diff --git a/cws/dumpsv1/activity_dump.pb.go b/cws/dumpsv1/activity_dump.pb.go index 7b3deb81..e480c801 100644 --- a/cws/dumpsv1/activity_dump.pb.go +++ b/cws/dumpsv1/activity_dump.pb.go @@ -429,6 +429,61 @@ func (x *Metadata) GetSerialization() string { return "" } +type ProfileSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ImageName string `protobuf:"bytes,1,opt,name=image_name,json=imageName,proto3" json:"image_name,omitempty"` + ImageTag string `protobuf:"bytes,2,opt,name=image_tag,json=imageTag,proto3" json:"image_tag,omitempty"` +} + +func (x *ProfileSelector) Reset() { + *x = ProfileSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProfileSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProfileSelector) ProtoMessage() {} + +func (x *ProfileSelector) ProtoReflect() protoreflect.Message { + mi := &file_proto_cws_dumpsv1_activity_dump_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 ProfileSelector.ProtoReflect.Descriptor instead. +func (*ProfileSelector) Descriptor() ([]byte, []int) { + return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{2} +} + +func (x *ProfileSelector) GetImageName() string { + if x != nil { + return x.ImageName + } + return "" +} + +func (x *ProfileSelector) GetImageTag() string { + if x != nil { + return x.ImageTag + } + return "" +} + type ProfileContext struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -444,7 +499,7 @@ type ProfileContext struct { func (x *ProfileContext) Reset() { *x = ProfileContext{} if protoimpl.UnsafeEnabled { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[2] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -457,7 +512,7 @@ func (x *ProfileContext) String() string { func (*ProfileContext) ProtoMessage() {} func (x *ProfileContext) ProtoReflect() protoreflect.Message { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[2] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -470,7 +525,7 @@ func (x *ProfileContext) ProtoReflect() protoreflect.Message { // Deprecated: Use ProfileContext.ProtoReflect.Descriptor instead. func (*ProfileContext) Descriptor() ([]byte, []int) { - return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{2} + return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{3} } func (x *ProfileContext) GetFirstSeen() uint64 { @@ -523,12 +578,13 @@ type SecurityProfile struct { Syscalls []uint32 `protobuf:"varint,5,rep,packed,name=syscalls,proto3" json:"syscalls,omitempty"` Tree []*ProcessActivityNode `protobuf:"bytes,6,rep,name=tree,proto3" json:"tree,omitempty"` ProfileContexts map[string]*ProfileContext `protobuf:"bytes,7,rep,name=profile_contexts,json=profileContexts,proto3" json:"profile_contexts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Selector *ProfileSelector `protobuf:"bytes,8,opt,name=selector,proto3" json:"selector,omitempty"` } func (x *SecurityProfile) Reset() { *x = SecurityProfile{} if protoimpl.UnsafeEnabled { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[3] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -541,7 +597,7 @@ func (x *SecurityProfile) String() string { func (*SecurityProfile) ProtoMessage() {} func (x *SecurityProfile) ProtoReflect() protoreflect.Message { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[3] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -554,7 +610,7 @@ func (x *SecurityProfile) ProtoReflect() protoreflect.Message { // Deprecated: Use SecurityProfile.ProtoReflect.Descriptor instead. func (*SecurityProfile) Descriptor() ([]byte, []int) { - return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{3} + return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{4} } func (x *SecurityProfile) GetStatus() uint32 { @@ -609,6 +665,13 @@ func (x *SecurityProfile) GetProfileContexts() map[string]*ProfileContext { return nil } +func (x *SecurityProfile) GetSelector() *ProfileSelector { + if x != nil { + return x.Selector + } + return nil +} + type ProcessActivityNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -628,7 +691,7 @@ type ProcessActivityNode struct { func (x *ProcessActivityNode) Reset() { *x = ProcessActivityNode{} if protoimpl.UnsafeEnabled { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[4] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -641,7 +704,7 @@ func (x *ProcessActivityNode) String() string { func (*ProcessActivityNode) ProtoMessage() {} func (x *ProcessActivityNode) ProtoReflect() protoreflect.Message { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[4] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -654,7 +717,7 @@ func (x *ProcessActivityNode) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessActivityNode.ProtoReflect.Descriptor instead. func (*ProcessActivityNode) Descriptor() ([]byte, []int) { - return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{4} + return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{5} } func (x *ProcessActivityNode) GetProcess() *ProcessInfo { @@ -753,7 +816,7 @@ type ProcessInfo struct { func (x *ProcessInfo) Reset() { *x = ProcessInfo{} if protoimpl.UnsafeEnabled { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[5] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -766,7 +829,7 @@ func (x *ProcessInfo) String() string { func (*ProcessInfo) ProtoMessage() {} func (x *ProcessInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[5] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -779,7 +842,7 @@ func (x *ProcessInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessInfo.ProtoReflect.Descriptor instead. func (*ProcessInfo) Descriptor() ([]byte, []int) { - return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{5} + return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{6} } func (x *ProcessInfo) GetPid() uint32 { @@ -956,7 +1019,7 @@ type FileActivityNode struct { func (x *FileActivityNode) Reset() { *x = FileActivityNode{} if protoimpl.UnsafeEnabled { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[6] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -969,7 +1032,7 @@ func (x *FileActivityNode) String() string { func (*FileActivityNode) ProtoMessage() {} func (x *FileActivityNode) ProtoReflect() protoreflect.Message { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[6] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -982,7 +1045,7 @@ func (x *FileActivityNode) ProtoReflect() protoreflect.Message { // Deprecated: Use FileActivityNode.ProtoReflect.Descriptor instead. func (*FileActivityNode) Descriptor() ([]byte, []int) { - return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{6} + return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{7} } func (x *FileActivityNode) GetMatchedRules() []*MatchedRule { @@ -1061,7 +1124,7 @@ type OpenNode struct { func (x *OpenNode) Reset() { *x = OpenNode{} if protoimpl.UnsafeEnabled { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[7] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1074,7 +1137,7 @@ func (x *OpenNode) String() string { func (*OpenNode) ProtoMessage() {} func (x *OpenNode) ProtoReflect() protoreflect.Message { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[7] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1087,7 +1150,7 @@ func (x *OpenNode) ProtoReflect() protoreflect.Message { // Deprecated: Use OpenNode.ProtoReflect.Descriptor instead. func (*OpenNode) Descriptor() ([]byte, []int) { - return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{7} + return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{8} } func (x *OpenNode) GetRetval() int64 { @@ -1124,7 +1187,7 @@ type DNSNode struct { func (x *DNSNode) Reset() { *x = DNSNode{} if protoimpl.UnsafeEnabled { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[8] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1137,7 +1200,7 @@ func (x *DNSNode) String() string { func (*DNSNode) ProtoMessage() {} func (x *DNSNode) ProtoReflect() protoreflect.Message { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[8] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1150,7 +1213,7 @@ func (x *DNSNode) ProtoReflect() protoreflect.Message { // Deprecated: Use DNSNode.ProtoReflect.Descriptor instead. func (*DNSNode) Descriptor() ([]byte, []int) { - return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{8} + return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{9} } func (x *DNSNode) GetMatchedRules() []*MatchedRule { @@ -1189,7 +1252,7 @@ type DNSInfo struct { func (x *DNSInfo) Reset() { *x = DNSInfo{} if protoimpl.UnsafeEnabled { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[9] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1202,7 +1265,7 @@ func (x *DNSInfo) String() string { func (*DNSInfo) ProtoMessage() {} func (x *DNSInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[9] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1215,7 +1278,7 @@ func (x *DNSInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use DNSInfo.ProtoReflect.Descriptor instead. func (*DNSInfo) Descriptor() ([]byte, []int) { - return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{9} + return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{10} } func (x *DNSInfo) GetName() string { @@ -1281,7 +1344,7 @@ type FileInfo struct { func (x *FileInfo) Reset() { *x = FileInfo{} if protoimpl.UnsafeEnabled { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[10] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1294,7 +1357,7 @@ func (x *FileInfo) String() string { func (*FileInfo) ProtoMessage() {} func (x *FileInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[10] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1307,7 +1370,7 @@ func (x *FileInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use FileInfo.ProtoReflect.Descriptor instead. func (*FileInfo) Descriptor() ([]byte, []int) { - return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{10} + return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{11} } func (x *FileInfo) GetUid() uint32 { @@ -1460,7 +1523,7 @@ type Credentials struct { func (x *Credentials) Reset() { *x = Credentials{} if protoimpl.UnsafeEnabled { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[11] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1473,7 +1536,7 @@ func (x *Credentials) String() string { func (*Credentials) ProtoMessage() {} func (x *Credentials) ProtoReflect() protoreflect.Message { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[11] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1486,7 +1549,7 @@ func (x *Credentials) ProtoReflect() protoreflect.Message { // Deprecated: Use Credentials.ProtoReflect.Descriptor instead. func (*Credentials) Descriptor() ([]byte, []int) { - return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{11} + return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{12} } func (x *Credentials) GetUid() uint32 { @@ -1599,7 +1662,7 @@ type SocketNode struct { func (x *SocketNode) Reset() { *x = SocketNode{} if protoimpl.UnsafeEnabled { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[12] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1612,7 +1675,7 @@ func (x *SocketNode) String() string { func (*SocketNode) ProtoMessage() {} func (x *SocketNode) ProtoReflect() protoreflect.Message { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[12] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1625,7 +1688,7 @@ func (x *SocketNode) ProtoReflect() protoreflect.Message { // Deprecated: Use SocketNode.ProtoReflect.Descriptor instead. func (*SocketNode) Descriptor() ([]byte, []int) { - return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{12} + return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{13} } func (x *SocketNode) GetFamily() string { @@ -1656,7 +1719,7 @@ type BindNode struct { func (x *BindNode) Reset() { *x = BindNode{} if protoimpl.UnsafeEnabled { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[13] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1669,7 +1732,7 @@ func (x *BindNode) String() string { func (*BindNode) ProtoMessage() {} func (x *BindNode) ProtoReflect() protoreflect.Message { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[13] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1682,7 +1745,7 @@ func (x *BindNode) ProtoReflect() protoreflect.Message { // Deprecated: Use BindNode.ProtoReflect.Descriptor instead. func (*BindNode) Descriptor() ([]byte, []int) { - return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{13} + return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{14} } func (x *BindNode) GetMatchedRules() []*MatchedRule { @@ -1728,7 +1791,7 @@ type MatchedRule struct { func (x *MatchedRule) Reset() { *x = MatchedRule{} if protoimpl.UnsafeEnabled { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[14] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1741,7 +1804,7 @@ func (x *MatchedRule) String() string { func (*MatchedRule) ProtoMessage() {} func (x *MatchedRule) ProtoReflect() protoreflect.Message { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[14] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1754,7 +1817,7 @@ func (x *MatchedRule) ProtoReflect() protoreflect.Message { // Deprecated: Use MatchedRule.ProtoReflect.Descriptor instead. func (*MatchedRule) Descriptor() ([]byte, []int) { - return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{14} + return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{15} } func (x *MatchedRule) GetRuleId() string { @@ -1804,7 +1867,7 @@ type EventTypeState struct { func (x *EventTypeState) Reset() { *x = EventTypeState{} if protoimpl.UnsafeEnabled { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[15] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1817,7 +1880,7 @@ func (x *EventTypeState) String() string { func (*EventTypeState) ProtoMessage() {} func (x *EventTypeState) ProtoReflect() protoreflect.Message { - mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[15] + mi := &file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1830,7 +1893,7 @@ func (x *EventTypeState) ProtoReflect() protoreflect.Message { // Deprecated: Use EventTypeState.ProtoReflect.Descriptor instead. func (*EventTypeState) Descriptor() ([]byte, []int) { - return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{15} + return file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP(), []int{16} } func (x *EventTypeState) GetLastAnomalyNano() uint64 { @@ -1896,316 +1959,325 @@ var file_proto_cws_dumpsv1_activity_dump_proto_rawDesc = []byte{ 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xc9, 0x02, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x73, 0x65, - 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x53, - 0x65, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, - 0x12, 0x61, 0x0a, 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, - 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x12, - 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, - 0x61, 0x67, 0x73, 0x1a, 0x68, 0x0a, 0x13, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, - 0x31, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc7, 0x03, - 0x0a, 0x0f, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x6e, 0x22, 0x4d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x67, + 0x22, 0xc9, 0x02, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x53, 0x65, + 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x12, + 0x61, 0x0a, 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x16, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, - 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1e, 0x0a, 0x08, 0x73, 0x79, - 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x02, 0x18, 0x01, - 0x52, 0x08, 0x73, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x3c, 0x0a, 0x04, 0x74, 0x72, - 0x65, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, - 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x50, - 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x04, 0x74, 0x72, 0x65, 0x65, 0x12, 0x64, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, - 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x70, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x1a, 0x67, - 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, + 0x67, 0x73, 0x1a, 0x68, 0x0a, 0x13, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, + 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x89, 0x04, 0x0a, + 0x0f, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, + 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x16, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, + 0x02, 0x18, 0x01, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1e, 0x0a, 0x08, 0x73, 0x79, 0x73, + 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x02, 0x18, 0x01, 0x52, + 0x08, 0x73, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x3c, 0x0a, 0x04, 0x74, 0x72, 0x65, + 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x50, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa0, 0x04, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x63, - 0x65, 0x73, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x12, - 0x3a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, - 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, - 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x0d, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, - 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x75, - 0x6c, 0x65, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x12, 0x44, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, - 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x68, - 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x3b, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, - 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x66, 0x69, - 0x6c, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x64, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, - 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x44, 0x4e, 0x53, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x39, - 0x0a, 0x07, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, - 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x07, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x79, 0x73, - 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x79, 0x73, - 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x54, 0x61, 0x67, 0x73, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x95, 0x05, 0x0a, 0x0b, 0x50, - 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, - 0x74, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x74, 0x69, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x70, 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x70, - 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x1b, - 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x08, 0x69, 0x73, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x12, 0x31, 0x0a, 0x04, 0x66, - 0x69, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, - 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x73, 0x70, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x74, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x6d, 0x6d, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x6d, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x66, - 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, - 0x66, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x65, 0x78, 0x69, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x65, 0x78, 0x65, 0x63, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, - 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x43, 0x72, - 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x10, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x72, - 0x67, 0x76, 0x30, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x72, 0x67, 0x76, 0x30, - 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x72, 0x67, 0x73, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, - 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x72, 0x67, 0x73, 0x54, 0x72, - 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x6e, 0x76, 0x73, 0x18, - 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x65, 0x6e, 0x76, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, - 0x6e, 0x76, 0x73, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x14, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x73, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, - 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x63, 0x68, - 0x69, 0x6c, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x45, 0x78, 0x65, - 0x63, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, - 0x36, 0x34, 0x18, 0x16, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, - 0x36, 0x34, 0x22, 0xc7, 0x03, 0x0a, 0x10, 0x46, 0x69, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x45, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, - 0x70, 0x73, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, - 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1d, - 0x0a, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, - 0x12, 0x31, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, - 0x70, 0x73, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x66, - 0x69, 0x6c, 0x65, 0x12, 0x4c, 0x0a, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, - 0x12, 0x31, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, - 0x70, 0x73, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6f, - 0x70, 0x65, 0x6e, 0x12, 0x41, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, - 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x68, - 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x4c, 0x0a, 0x08, - 0x4f, 0x70, 0x65, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x74, 0x76, - 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x72, 0x65, 0x74, 0x76, 0x61, 0x6c, - 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x07, 0x44, - 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x45, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x64, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x04, 0x74, 0x72, 0x65, 0x65, 0x12, 0x64, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, + 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x70, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x12, 0x40, 0x0a, + 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, + 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x1a, + 0x67, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, + 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa0, 0x04, 0x0a, 0x13, 0x50, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x64, 0x65, + 0x12, 0x3a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, + 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4c, 0x0a, 0x0f, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, + 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x0d, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, + 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, + 0x75, 0x6c, 0x65, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x12, 0x44, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, + 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, + 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x3b, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, + 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, + 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x66, + 0x69, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x64, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, + 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x44, 0x4e, + 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, + 0x39, 0x0a, 0x07, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, + 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x07, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x79, + 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x79, + 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x54, 0x61, 0x67, 0x73, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x95, 0x05, 0x0a, 0x0b, + 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x70, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x10, 0x0a, + 0x03, 0x74, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x74, 0x69, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x70, 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, + 0x70, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, + 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x12, 0x31, 0x0a, 0x04, + 0x66, 0x69, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, + 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, + 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x70, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, + 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, + 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x79, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x6d, 0x6d, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x6d, 0x6d, 0x12, 0x1b, 0x0a, 0x09, + 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x08, 0x66, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x65, 0x78, + 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x65, 0x78, 0x65, 0x63, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, + 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, + 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, + 0x72, 0x67, 0x76, 0x30, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x72, 0x67, 0x76, + 0x30, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x72, 0x67, 0x73, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, + 0x74, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x72, 0x67, 0x73, 0x54, + 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x6e, 0x76, 0x73, + 0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x65, 0x6e, 0x76, 0x73, 0x12, 0x25, 0x0a, 0x0e, + 0x65, 0x6e, 0x76, 0x73, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x14, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x73, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, + 0x74, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x63, + 0x68, 0x69, 0x6c, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x45, 0x78, + 0x65, 0x63, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6f, 0x6b, 0x69, + 0x65, 0x36, 0x34, 0x18, 0x16, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6f, 0x6f, 0x6b, 0x69, + 0x65, 0x36, 0x34, 0x22, 0xc7, 0x03, 0x0a, 0x10, 0x46, 0x69, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, + 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x45, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, + 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x75, 0x6c, + 0x65, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, + 0x1d, 0x0a, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x67, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x6e, 0x12, 0x31, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, + 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, + 0x66, 0x69, 0x6c, 0x65, 0x12, 0x4c, 0x0a, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, - 0x73, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x52, - 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1d, 0x0a, - 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x67, 0x73, 0x12, 0x38, 0x0a, 0x08, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, - 0x70, 0x73, 0x76, 0x31, 0x2e, 0x44, 0x4e, 0x53, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x71, 0x0a, 0x07, 0x44, 0x4e, 0x53, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, - 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, - 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x91, 0x04, 0x0a, 0x08, 0x46, 0x69, - 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, - 0x67, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x67, 0x69, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6d, - 0x74, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, - 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x6e, 0x5f, 0x75, 0x70, 0x70, 0x65, - 0x72, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, - 0x6e, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, - 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x73, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x66, - 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x70, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, - 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x5f, 0x73, 0x72, 0x63, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x72, 0x63, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, - 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x3d, - 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x12, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, - 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x09, 0x68, 0x61, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0xa1, 0x03, - 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x10, 0x0a, - 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, - 0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x67, 0x69, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x65, - 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x69, 0x64, - 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x69, - 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x47, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, - 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, - 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x66, 0x73, 0x5f, 0x75, 0x69, 0x64, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x73, 0x55, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x06, - 0x66, 0x73, 0x5f, 0x67, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x73, - 0x47, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x73, 0x55, 0x73, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, - 0x66, 0x73, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x66, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x70, 0x5f, 0x65, - 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, - 0x63, 0x61, 0x70, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x23, 0x0a, 0x0d, - 0x63, 0x61, 0x70, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x64, 0x22, 0x57, 0x0a, 0x0a, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x31, 0x0a, 0x04, 0x62, 0x69, 0x6e, 0x64, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, - 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x62, 0x69, 0x6e, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x08, 0x42, - 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x45, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, + 0x73, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x53, 0x65, 0x65, + 0x6e, 0x12, 0x31, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, + 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, + 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x41, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, + 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, + 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, + 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x4c, 0x0a, + 0x08, 0x4f, 0x70, 0x65, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x74, + 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x72, 0x65, 0x74, 0x76, 0x61, + 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x07, + 0x44, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x45, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1d, - 0x0a, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x70, 0x22, 0x9b, 0x02, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x75, 0x6c, - 0x65, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x75, - 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x72, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, - 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, - 0x0a, 0x0e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x09, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x61, - 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, - 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x54, - 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x54, 0x61, - 0x67, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x61, 0x67, 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, - 0x98, 0x01, 0x0a, 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x6e, 0x6f, - 0x6d, 0x61, 0x6c, 0x79, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x4e, 0x61, 0x6e, 0x6f, - 0x12, 0x58, 0x0a, 0x13, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, - 0x73, 0x76, 0x31, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x52, 0x11, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2a, 0xb9, 0x01, 0x0a, 0x09, 0x48, - 0x61, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x4f, 0x5f, 0x48, - 0x41, 0x53, 0x48, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, - 0x12, 0x0a, 0x0e, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, - 0x44, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x41, 0x54, 0x48, 0x4e, 0x41, 0x4d, 0x45, 0x5f, - 0x52, 0x45, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x42, - 0x49, 0x47, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x45, - 0x44, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x48, 0x41, 0x53, 0x48, 0x5f, 0x57, 0x41, 0x53, 0x5f, - 0x52, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x44, 0x10, 0x06, 0x12, 0x16, - 0x0a, 0x12, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x5f, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x10, 0x07, 0x2a, 0x38, 0x0a, 0x0e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, - 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, - 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x10, 0x02, - 0x2a, 0x90, 0x01, 0x0a, 0x13, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x5f, 0x50, - 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x52, 0x4f, 0x46, - 0x49, 0x4c, 0x45, 0x5f, 0x41, 0x54, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, - 0x01, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x50, 0x52, - 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x42, 0x4c, - 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x41, - 0x55, 0x54, 0x4f, 0x5f, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x13, - 0x0a, 0x0f, 0x57, 0x4f, 0x52, 0x4b, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x57, 0x41, 0x52, 0x4d, 0x55, - 0x50, 0x10, 0x05, 0x42, 0x55, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x64, 0x2e, 0x63, 0x77, - 0x73, 0x2e, 0x61, 0x64, 0x76, 0x31, 0x2e, 0x70, 0x62, 0x42, 0x0c, 0x53, 0x65, 0x63, 0x44, 0x75, - 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x00, 0x5a, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x44, 0x6f, 0x67, 0x2f, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x2d, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2f, 0x76, 0x35, 0x2f, 0x63, - 0x77, 0x73, 0x2f, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x0a, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x67, 0x73, 0x12, 0x38, 0x0a, + 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, + 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x44, 0x4e, 0x53, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x71, 0x0a, 0x07, 0x44, 0x4e, 0x53, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, + 0x73, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x91, 0x04, 0x0a, 0x08, 0x46, + 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x10, 0x0a, + 0x03, 0x67, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x67, 0x69, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, + 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x05, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x6e, 0x5f, 0x75, 0x70, 0x70, + 0x65, 0x72, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x69, 0x6e, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, + 0x70, 0x61, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, + 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x73, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x21, 0x0a, 0x0c, + 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x5f, 0x73, 0x72, 0x63, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x72, 0x63, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x61, 0x73, 0x68, 0x65, + 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, + 0x3d, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x12, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, + 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x52, 0x09, 0x68, 0x61, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0xa1, + 0x03, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, + 0x12, 0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x67, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x23, 0x0a, 0x0d, + 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x69, + 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, + 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x47, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x27, 0x0a, + 0x0f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x66, 0x73, 0x5f, 0x75, 0x69, 0x64, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x73, 0x55, 0x69, 0x64, 0x12, 0x15, 0x0a, + 0x06, 0x66, 0x73, 0x5f, 0x67, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, + 0x73, 0x47, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x73, 0x55, 0x73, 0x65, 0x72, 0x12, 0x19, 0x0a, + 0x08, 0x66, 0x73, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x66, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x70, 0x5f, + 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0c, 0x63, 0x61, 0x70, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x63, 0x61, 0x70, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x64, 0x22, 0x57, 0x0a, 0x0a, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x31, 0x0a, 0x04, 0x62, 0x69, 0x6e, 0x64, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, + 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x62, 0x69, 0x6e, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x08, + 0x42, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x45, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, + 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x75, 0x6c, + 0x65, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, + 0x1d, 0x0a, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x67, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x70, 0x22, 0x9b, 0x02, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x75, + 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, + 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x72, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, + 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x25, 0x0a, 0x0e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x09, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, + 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x2e, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, + 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x54, + 0x61, 0x67, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x61, 0x67, 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, 0x98, 0x01, 0x0a, 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x6e, + 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x4e, 0x61, 0x6e, + 0x6f, 0x12, 0x58, 0x0a, 0x13, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x63, 0x77, 0x73, 0x2e, 0x64, 0x75, 0x6d, + 0x70, 0x73, 0x76, 0x31, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x52, 0x11, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2a, 0xb9, 0x01, 0x0a, 0x09, + 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x4f, 0x5f, + 0x48, 0x41, 0x53, 0x48, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x01, + 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, + 0x4e, 0x44, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x41, 0x54, 0x48, 0x4e, 0x41, 0x4d, 0x45, + 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, + 0x42, 0x49, 0x47, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, + 0x45, 0x44, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x48, 0x41, 0x53, 0x48, 0x5f, 0x57, 0x41, 0x53, + 0x5f, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x44, 0x10, 0x06, 0x12, + 0x16, 0x0a, 0x12, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x5f, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x07, 0x2a, 0x38, 0x0a, 0x0e, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, + 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, + 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x10, + 0x02, 0x2a, 0x90, 0x01, 0x0a, 0x13, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x5f, + 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x52, 0x4f, + 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x41, 0x54, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x53, 0x49, 0x5a, 0x45, + 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x50, + 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x42, + 0x4c, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, + 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, + 0x13, 0x0a, 0x0f, 0x57, 0x4f, 0x52, 0x4b, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x57, 0x41, 0x52, 0x4d, + 0x55, 0x50, 0x10, 0x05, 0x42, 0x55, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x64, 0x2e, 0x63, + 0x77, 0x73, 0x2e, 0x61, 0x64, 0x76, 0x31, 0x2e, 0x70, 0x62, 0x42, 0x0c, 0x53, 0x65, 0x63, 0x44, + 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x00, 0x5a, 0x2f, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x44, 0x6f, 0x67, 0x2f, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x2d, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2f, 0x76, 0x35, 0x2f, + 0x63, 0x77, 0x73, 0x2f, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -2221,66 +2293,68 @@ func file_proto_cws_dumpsv1_activity_dump_proto_rawDescGZIP() []byte { } var file_proto_cws_dumpsv1_activity_dump_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_proto_cws_dumpsv1_activity_dump_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_proto_cws_dumpsv1_activity_dump_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_proto_cws_dumpsv1_activity_dump_proto_goTypes = []interface{}{ (HashState)(0), // 0: datadog.cws.dumpsv1.HashState (GenerationType)(0), // 1: datadog.cws.dumpsv1.GenerationType (EventProfileState)(0), // 2: datadog.cws.dumpsv1.event_profile_state (*SecDump)(nil), // 3: datadog.cws.dumpsv1.SecDump (*Metadata)(nil), // 4: datadog.cws.dumpsv1.Metadata - (*ProfileContext)(nil), // 5: datadog.cws.dumpsv1.ProfileContext - (*SecurityProfile)(nil), // 6: datadog.cws.dumpsv1.SecurityProfile - (*ProcessActivityNode)(nil), // 7: datadog.cws.dumpsv1.ProcessActivityNode - (*ProcessInfo)(nil), // 8: datadog.cws.dumpsv1.ProcessInfo - (*FileActivityNode)(nil), // 9: datadog.cws.dumpsv1.FileActivityNode - (*OpenNode)(nil), // 10: datadog.cws.dumpsv1.OpenNode - (*DNSNode)(nil), // 11: datadog.cws.dumpsv1.DNSNode - (*DNSInfo)(nil), // 12: datadog.cws.dumpsv1.DNSInfo - (*FileInfo)(nil), // 13: datadog.cws.dumpsv1.FileInfo - (*Credentials)(nil), // 14: datadog.cws.dumpsv1.Credentials - (*SocketNode)(nil), // 15: datadog.cws.dumpsv1.SocketNode - (*BindNode)(nil), // 16: datadog.cws.dumpsv1.BindNode - (*MatchedRule)(nil), // 17: datadog.cws.dumpsv1.MatchedRule - (*EventTypeState)(nil), // 18: datadog.cws.dumpsv1.event_type_state - nil, // 19: datadog.cws.dumpsv1.ProfileContext.EventTypeStateEntry - nil, // 20: datadog.cws.dumpsv1.SecurityProfile.ProfileContextsEntry - nil, // 21: datadog.cws.dumpsv1.MatchedRule.RuleTagsEntry + (*ProfileSelector)(nil), // 5: datadog.cws.dumpsv1.ProfileSelector + (*ProfileContext)(nil), // 6: datadog.cws.dumpsv1.ProfileContext + (*SecurityProfile)(nil), // 7: datadog.cws.dumpsv1.SecurityProfile + (*ProcessActivityNode)(nil), // 8: datadog.cws.dumpsv1.ProcessActivityNode + (*ProcessInfo)(nil), // 9: datadog.cws.dumpsv1.ProcessInfo + (*FileActivityNode)(nil), // 10: datadog.cws.dumpsv1.FileActivityNode + (*OpenNode)(nil), // 11: datadog.cws.dumpsv1.OpenNode + (*DNSNode)(nil), // 12: datadog.cws.dumpsv1.DNSNode + (*DNSInfo)(nil), // 13: datadog.cws.dumpsv1.DNSInfo + (*FileInfo)(nil), // 14: datadog.cws.dumpsv1.FileInfo + (*Credentials)(nil), // 15: datadog.cws.dumpsv1.Credentials + (*SocketNode)(nil), // 16: datadog.cws.dumpsv1.SocketNode + (*BindNode)(nil), // 17: datadog.cws.dumpsv1.BindNode + (*MatchedRule)(nil), // 18: datadog.cws.dumpsv1.MatchedRule + (*EventTypeState)(nil), // 19: datadog.cws.dumpsv1.event_type_state + nil, // 20: datadog.cws.dumpsv1.ProfileContext.EventTypeStateEntry + nil, // 21: datadog.cws.dumpsv1.SecurityProfile.ProfileContextsEntry + nil, // 22: datadog.cws.dumpsv1.MatchedRule.RuleTagsEntry } var file_proto_cws_dumpsv1_activity_dump_proto_depIdxs = []int32{ 4, // 0: datadog.cws.dumpsv1.SecDump.metadata:type_name -> datadog.cws.dumpsv1.Metadata - 7, // 1: datadog.cws.dumpsv1.SecDump.tree:type_name -> datadog.cws.dumpsv1.ProcessActivityNode - 19, // 2: datadog.cws.dumpsv1.ProfileContext.event_type_state:type_name -> datadog.cws.dumpsv1.ProfileContext.EventTypeStateEntry + 8, // 1: datadog.cws.dumpsv1.SecDump.tree:type_name -> datadog.cws.dumpsv1.ProcessActivityNode + 20, // 2: datadog.cws.dumpsv1.ProfileContext.event_type_state:type_name -> datadog.cws.dumpsv1.ProfileContext.EventTypeStateEntry 4, // 3: datadog.cws.dumpsv1.SecurityProfile.metadata:type_name -> datadog.cws.dumpsv1.Metadata - 7, // 4: datadog.cws.dumpsv1.SecurityProfile.tree:type_name -> datadog.cws.dumpsv1.ProcessActivityNode - 20, // 5: datadog.cws.dumpsv1.SecurityProfile.profile_contexts:type_name -> datadog.cws.dumpsv1.SecurityProfile.ProfileContextsEntry - 8, // 6: datadog.cws.dumpsv1.ProcessActivityNode.process:type_name -> datadog.cws.dumpsv1.ProcessInfo - 1, // 7: datadog.cws.dumpsv1.ProcessActivityNode.generation_type:type_name -> datadog.cws.dumpsv1.GenerationType - 17, // 8: datadog.cws.dumpsv1.ProcessActivityNode.matched_rules:type_name -> datadog.cws.dumpsv1.MatchedRule - 7, // 9: datadog.cws.dumpsv1.ProcessActivityNode.children:type_name -> datadog.cws.dumpsv1.ProcessActivityNode - 9, // 10: datadog.cws.dumpsv1.ProcessActivityNode.files:type_name -> datadog.cws.dumpsv1.FileActivityNode - 11, // 11: datadog.cws.dumpsv1.ProcessActivityNode.dns_names:type_name -> datadog.cws.dumpsv1.DNSNode - 15, // 12: datadog.cws.dumpsv1.ProcessActivityNode.sockets:type_name -> datadog.cws.dumpsv1.SocketNode - 13, // 13: datadog.cws.dumpsv1.ProcessInfo.file:type_name -> datadog.cws.dumpsv1.FileInfo - 14, // 14: datadog.cws.dumpsv1.ProcessInfo.credentials:type_name -> datadog.cws.dumpsv1.Credentials - 17, // 15: datadog.cws.dumpsv1.FileActivityNode.matched_rules:type_name -> datadog.cws.dumpsv1.MatchedRule - 13, // 16: datadog.cws.dumpsv1.FileActivityNode.file:type_name -> datadog.cws.dumpsv1.FileInfo - 1, // 17: datadog.cws.dumpsv1.FileActivityNode.generation_type:type_name -> datadog.cws.dumpsv1.GenerationType - 10, // 18: datadog.cws.dumpsv1.FileActivityNode.open:type_name -> datadog.cws.dumpsv1.OpenNode - 9, // 19: datadog.cws.dumpsv1.FileActivityNode.children:type_name -> datadog.cws.dumpsv1.FileActivityNode - 17, // 20: datadog.cws.dumpsv1.DNSNode.matched_rules:type_name -> datadog.cws.dumpsv1.MatchedRule - 12, // 21: datadog.cws.dumpsv1.DNSNode.requests:type_name -> datadog.cws.dumpsv1.DNSInfo - 0, // 22: datadog.cws.dumpsv1.FileInfo.hash_state:type_name -> datadog.cws.dumpsv1.HashState - 16, // 23: datadog.cws.dumpsv1.SocketNode.bind:type_name -> datadog.cws.dumpsv1.BindNode - 17, // 24: datadog.cws.dumpsv1.BindNode.matched_rules:type_name -> datadog.cws.dumpsv1.MatchedRule - 21, // 25: datadog.cws.dumpsv1.MatchedRule.rule_tags:type_name -> datadog.cws.dumpsv1.MatchedRule.RuleTagsEntry - 2, // 26: datadog.cws.dumpsv1.event_type_state.event_profile_state:type_name -> datadog.cws.dumpsv1.event_profile_state - 18, // 27: datadog.cws.dumpsv1.ProfileContext.EventTypeStateEntry.value:type_name -> datadog.cws.dumpsv1.event_type_state - 5, // 28: datadog.cws.dumpsv1.SecurityProfile.ProfileContextsEntry.value:type_name -> datadog.cws.dumpsv1.ProfileContext - 29, // [29:29] is the sub-list for method output_type - 29, // [29:29] 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 + 8, // 4: datadog.cws.dumpsv1.SecurityProfile.tree:type_name -> datadog.cws.dumpsv1.ProcessActivityNode + 21, // 5: datadog.cws.dumpsv1.SecurityProfile.profile_contexts:type_name -> datadog.cws.dumpsv1.SecurityProfile.ProfileContextsEntry + 5, // 6: datadog.cws.dumpsv1.SecurityProfile.selector:type_name -> datadog.cws.dumpsv1.ProfileSelector + 9, // 7: datadog.cws.dumpsv1.ProcessActivityNode.process:type_name -> datadog.cws.dumpsv1.ProcessInfo + 1, // 8: datadog.cws.dumpsv1.ProcessActivityNode.generation_type:type_name -> datadog.cws.dumpsv1.GenerationType + 18, // 9: datadog.cws.dumpsv1.ProcessActivityNode.matched_rules:type_name -> datadog.cws.dumpsv1.MatchedRule + 8, // 10: datadog.cws.dumpsv1.ProcessActivityNode.children:type_name -> datadog.cws.dumpsv1.ProcessActivityNode + 10, // 11: datadog.cws.dumpsv1.ProcessActivityNode.files:type_name -> datadog.cws.dumpsv1.FileActivityNode + 12, // 12: datadog.cws.dumpsv1.ProcessActivityNode.dns_names:type_name -> datadog.cws.dumpsv1.DNSNode + 16, // 13: datadog.cws.dumpsv1.ProcessActivityNode.sockets:type_name -> datadog.cws.dumpsv1.SocketNode + 14, // 14: datadog.cws.dumpsv1.ProcessInfo.file:type_name -> datadog.cws.dumpsv1.FileInfo + 15, // 15: datadog.cws.dumpsv1.ProcessInfo.credentials:type_name -> datadog.cws.dumpsv1.Credentials + 18, // 16: datadog.cws.dumpsv1.FileActivityNode.matched_rules:type_name -> datadog.cws.dumpsv1.MatchedRule + 14, // 17: datadog.cws.dumpsv1.FileActivityNode.file:type_name -> datadog.cws.dumpsv1.FileInfo + 1, // 18: datadog.cws.dumpsv1.FileActivityNode.generation_type:type_name -> datadog.cws.dumpsv1.GenerationType + 11, // 19: datadog.cws.dumpsv1.FileActivityNode.open:type_name -> datadog.cws.dumpsv1.OpenNode + 10, // 20: datadog.cws.dumpsv1.FileActivityNode.children:type_name -> datadog.cws.dumpsv1.FileActivityNode + 18, // 21: datadog.cws.dumpsv1.DNSNode.matched_rules:type_name -> datadog.cws.dumpsv1.MatchedRule + 13, // 22: datadog.cws.dumpsv1.DNSNode.requests:type_name -> datadog.cws.dumpsv1.DNSInfo + 0, // 23: datadog.cws.dumpsv1.FileInfo.hash_state:type_name -> datadog.cws.dumpsv1.HashState + 17, // 24: datadog.cws.dumpsv1.SocketNode.bind:type_name -> datadog.cws.dumpsv1.BindNode + 18, // 25: datadog.cws.dumpsv1.BindNode.matched_rules:type_name -> datadog.cws.dumpsv1.MatchedRule + 22, // 26: datadog.cws.dumpsv1.MatchedRule.rule_tags:type_name -> datadog.cws.dumpsv1.MatchedRule.RuleTagsEntry + 2, // 27: datadog.cws.dumpsv1.event_type_state.event_profile_state:type_name -> datadog.cws.dumpsv1.event_profile_state + 19, // 28: datadog.cws.dumpsv1.ProfileContext.EventTypeStateEntry.value:type_name -> datadog.cws.dumpsv1.event_type_state + 6, // 29: datadog.cws.dumpsv1.SecurityProfile.ProfileContextsEntry.value:type_name -> datadog.cws.dumpsv1.ProfileContext + 30, // [30:30] is the sub-list for method output_type + 30, // [30:30] 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_proto_cws_dumpsv1_activity_dump_proto_init() } @@ -2314,7 +2388,7 @@ func file_proto_cws_dumpsv1_activity_dump_proto_init() { } } file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProfileContext); i { + switch v := v.(*ProfileSelector); i { case 0: return &v.state case 1: @@ -2326,7 +2400,7 @@ func file_proto_cws_dumpsv1_activity_dump_proto_init() { } } file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SecurityProfile); i { + switch v := v.(*ProfileContext); i { case 0: return &v.state case 1: @@ -2338,7 +2412,7 @@ func file_proto_cws_dumpsv1_activity_dump_proto_init() { } } file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessActivityNode); i { + switch v := v.(*SecurityProfile); i { case 0: return &v.state case 1: @@ -2350,7 +2424,7 @@ func file_proto_cws_dumpsv1_activity_dump_proto_init() { } } file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessInfo); i { + switch v := v.(*ProcessActivityNode); i { case 0: return &v.state case 1: @@ -2362,7 +2436,7 @@ func file_proto_cws_dumpsv1_activity_dump_proto_init() { } } file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FileActivityNode); i { + switch v := v.(*ProcessInfo); i { case 0: return &v.state case 1: @@ -2374,7 +2448,7 @@ func file_proto_cws_dumpsv1_activity_dump_proto_init() { } } file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OpenNode); i { + switch v := v.(*FileActivityNode); i { case 0: return &v.state case 1: @@ -2386,7 +2460,7 @@ func file_proto_cws_dumpsv1_activity_dump_proto_init() { } } file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DNSNode); i { + switch v := v.(*OpenNode); i { case 0: return &v.state case 1: @@ -2398,7 +2472,7 @@ func file_proto_cws_dumpsv1_activity_dump_proto_init() { } } file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DNSInfo); i { + switch v := v.(*DNSNode); i { case 0: return &v.state case 1: @@ -2410,7 +2484,7 @@ func file_proto_cws_dumpsv1_activity_dump_proto_init() { } } file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FileInfo); i { + switch v := v.(*DNSInfo); i { case 0: return &v.state case 1: @@ -2422,7 +2496,7 @@ func file_proto_cws_dumpsv1_activity_dump_proto_init() { } } file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Credentials); i { + switch v := v.(*FileInfo); i { case 0: return &v.state case 1: @@ -2434,7 +2508,7 @@ func file_proto_cws_dumpsv1_activity_dump_proto_init() { } } file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SocketNode); i { + switch v := v.(*Credentials); i { case 0: return &v.state case 1: @@ -2446,7 +2520,7 @@ func file_proto_cws_dumpsv1_activity_dump_proto_init() { } } file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BindNode); i { + switch v := v.(*SocketNode); i { case 0: return &v.state case 1: @@ -2458,7 +2532,7 @@ func file_proto_cws_dumpsv1_activity_dump_proto_init() { } } file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MatchedRule); i { + switch v := v.(*BindNode); i { case 0: return &v.state case 1: @@ -2470,6 +2544,18 @@ func file_proto_cws_dumpsv1_activity_dump_proto_init() { } } file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MatchedRule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_cws_dumpsv1_activity_dump_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EventTypeState); i { case 0: return &v.state @@ -2488,7 +2574,7 @@ func file_proto_cws_dumpsv1_activity_dump_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_proto_cws_dumpsv1_activity_dump_proto_rawDesc, NumEnums: 3, - NumMessages: 19, + NumMessages: 20, NumExtensions: 0, NumServices: 0, }, diff --git a/cws/dumpsv1/activity_dump_vtproto.pb.go b/cws/dumpsv1/activity_dump_vtproto.pb.go index f168ca61..ca54f4c2 100644 --- a/cws/dumpsv1/activity_dump_vtproto.pb.go +++ b/cws/dumpsv1/activity_dump_vtproto.pb.go @@ -232,6 +232,53 @@ func (m *Metadata) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *ProfileSelector) 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 *ProfileSelector) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ProfileSelector) 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.ImageTag) > 0 { + i -= len(m.ImageTag) + copy(dAtA[i:], m.ImageTag) + i = encodeVarint(dAtA, i, uint64(len(m.ImageTag))) + i-- + dAtA[i] = 0x12 + } + if len(m.ImageName) > 0 { + i -= len(m.ImageName) + copy(dAtA[i:], m.ImageName) + i = encodeVarint(dAtA, i, uint64(len(m.ImageName))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *ProfileContext) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -354,6 +401,16 @@ func (m *SecurityProfile) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.Selector != nil { + size, err := m.Selector.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } if len(m.ProfileContexts) > 0 { for k := range m.ProfileContexts { v := m.ProfileContexts[k] @@ -1842,6 +1899,24 @@ func (m *Metadata) SizeVT() (n int) { return n } +func (m *ProfileSelector) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ImageName) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.ImageTag) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + func (m *ProfileContext) SizeVT() (n int) { if m == nil { return 0 @@ -1933,6 +2008,10 @@ func (m *SecurityProfile) SizeVT() (n int) { n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) } } + if m.Selector != nil { + l = m.Selector.SizeVT() + n += 1 + l + sov(uint64(l)) + } n += len(m.unknownFields) return n } @@ -3149,6 +3228,121 @@ func (m *Metadata) UnmarshalVT(dAtA []byte) error { } return nil } +func (m *ProfileSelector) 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 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: ProfileSelector: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ProfileSelector: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ImageName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ImageName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ImageTag", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ImageTag = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return 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 *ProfileContext) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -3848,6 +4042,42 @@ func (m *SecurityProfile) UnmarshalVT(dAtA []byte) error { } m.ProfileContexts[mapkey] = mapvalue iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Selector == nil { + m.Selector = &ProfileSelector{} + } + if err := m.Selector.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) diff --git a/java/com/dd/cws/adv1/pb/SecDumpProto.java b/java/com/dd/cws/adv1/pb/SecDumpProto.java index b61421d4..dded7714 100644 --- a/java/com/dd/cws/adv1/pb/SecDumpProto.java +++ b/java/com/dd/cws/adv1/pb/SecDumpProto.java @@ -4247,6 +4247,709 @@ public com.dd.cws.adv1.pb.SecDumpProto.Metadata getDefaultInstanceForType() { } + public interface ProfileSelectorOrBuilder extends + // @@protoc_insertion_point(interface_extends:datadog.cws.dumpsv1.ProfileSelector) + com.google.protobuf.MessageOrBuilder { + + /** + * string image_name = 1; + * @return The imageName. + */ + java.lang.String getImageName(); + /** + * string image_name = 1; + * @return The bytes for imageName. + */ + com.google.protobuf.ByteString + getImageNameBytes(); + + /** + * string image_tag = 2; + * @return The imageTag. + */ + java.lang.String getImageTag(); + /** + * string image_tag = 2; + * @return The bytes for imageTag. + */ + com.google.protobuf.ByteString + getImageTagBytes(); + } + /** + * Protobuf type {@code datadog.cws.dumpsv1.ProfileSelector} + */ + public static final class ProfileSelector extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:datadog.cws.dumpsv1.ProfileSelector) + ProfileSelectorOrBuilder { + private static final long serialVersionUID = 0L; + // Use ProfileSelector.newBuilder() to construct. + private ProfileSelector(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ProfileSelector() { + imageName_ = ""; + imageTag_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ProfileSelector(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.dd.cws.adv1.pb.SecDumpProto.internal_static_datadog_cws_dumpsv1_ProfileSelector_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.dd.cws.adv1.pb.SecDumpProto.internal_static_datadog_cws_dumpsv1_ProfileSelector_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector.class, com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector.Builder.class); + } + + public static final int IMAGE_NAME_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object imageName_ = ""; + /** + * string image_name = 1; + * @return The imageName. + */ + @java.lang.Override + public java.lang.String getImageName() { + java.lang.Object ref = imageName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + imageName_ = s; + return s; + } + } + /** + * string image_name = 1; + * @return The bytes for imageName. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getImageNameBytes() { + java.lang.Object ref = imageName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + imageName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int IMAGE_TAG_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object imageTag_ = ""; + /** + * string image_tag = 2; + * @return The imageTag. + */ + @java.lang.Override + public java.lang.String getImageTag() { + java.lang.Object ref = imageTag_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + imageTag_ = s; + return s; + } + } + /** + * string image_tag = 2; + * @return The bytes for imageTag. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getImageTagBytes() { + java.lang.Object ref = imageTag_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + imageTag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(imageName_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, imageName_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(imageTag_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, imageTag_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(imageName_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, imageName_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(imageTag_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, imageTag_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector)) { + return super.equals(obj); + } + com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector other = (com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector) obj; + + if (!getImageName() + .equals(other.getImageName())) return false; + if (!getImageTag() + .equals(other.getImageTag())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + IMAGE_NAME_FIELD_NUMBER; + hash = (53 * hash) + getImageName().hashCode(); + hash = (37 * hash) + IMAGE_TAG_FIELD_NUMBER; + hash = (53 * hash) + getImageTag().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code datadog.cws.dumpsv1.ProfileSelector} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:datadog.cws.dumpsv1.ProfileSelector) + com.dd.cws.adv1.pb.SecDumpProto.ProfileSelectorOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.dd.cws.adv1.pb.SecDumpProto.internal_static_datadog_cws_dumpsv1_ProfileSelector_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.dd.cws.adv1.pb.SecDumpProto.internal_static_datadog_cws_dumpsv1_ProfileSelector_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector.class, com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector.Builder.class); + } + + // Construct using com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + imageName_ = ""; + imageTag_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.dd.cws.adv1.pb.SecDumpProto.internal_static_datadog_cws_dumpsv1_ProfileSelector_descriptor; + } + + @java.lang.Override + public com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector getDefaultInstanceForType() { + return com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector.getDefaultInstance(); + } + + @java.lang.Override + public com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector build() { + com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector buildPartial() { + com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector result = new com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.imageName_ = imageName_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.imageTag_ = imageTag_; + } + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector) { + return mergeFrom((com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector other) { + if (other == com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector.getDefaultInstance()) return this; + if (!other.getImageName().isEmpty()) { + imageName_ = other.imageName_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getImageTag().isEmpty()) { + imageTag_ = other.imageTag_; + bitField0_ |= 0x00000002; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + imageName_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + imageTag_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object imageName_ = ""; + /** + * string image_name = 1; + * @return The imageName. + */ + public java.lang.String getImageName() { + java.lang.Object ref = imageName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + imageName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string image_name = 1; + * @return The bytes for imageName. + */ + public com.google.protobuf.ByteString + getImageNameBytes() { + java.lang.Object ref = imageName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + imageName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string image_name = 1; + * @param value The imageName to set. + * @return This builder for chaining. + */ + public Builder setImageName( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + imageName_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string image_name = 1; + * @return This builder for chaining. + */ + public Builder clearImageName() { + imageName_ = getDefaultInstance().getImageName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string image_name = 1; + * @param value The bytes for imageName to set. + * @return This builder for chaining. + */ + public Builder setImageNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + imageName_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object imageTag_ = ""; + /** + * string image_tag = 2; + * @return The imageTag. + */ + public java.lang.String getImageTag() { + java.lang.Object ref = imageTag_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + imageTag_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string image_tag = 2; + * @return The bytes for imageTag. + */ + public com.google.protobuf.ByteString + getImageTagBytes() { + java.lang.Object ref = imageTag_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + imageTag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string image_tag = 2; + * @param value The imageTag to set. + * @return This builder for chaining. + */ + public Builder setImageTag( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + imageTag_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * string image_tag = 2; + * @return This builder for chaining. + */ + public Builder clearImageTag() { + imageTag_ = getDefaultInstance().getImageTag(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + * string image_tag = 2; + * @param value The bytes for imageTag to set. + * @return This builder for chaining. + */ + public Builder setImageTagBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + imageTag_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:datadog.cws.dumpsv1.ProfileSelector) + } + + // @@protoc_insertion_point(class_scope:datadog.cws.dumpsv1.ProfileSelector) + private static final com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector(); + } + + public static com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ProfileSelector parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + public interface ProfileContextOrBuilder extends // @@protoc_insertion_point(interface_extends:datadog.cws.dumpsv1.ProfileContext) com.google.protobuf.MessageOrBuilder { @@ -5524,14 +6227,14 @@ public interface SecurityProfileOrBuilder extends /** * string version = 2 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.version is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=49 + * See proto/cws/dumpsv1/activity_dump.proto;l=54 * @return The version. */ @java.lang.Deprecated java.lang.String getVersion(); /** * string version = 2 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.version is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=49 + * See proto/cws/dumpsv1/activity_dump.proto;l=54 * @return The bytes for version. */ @java.lang.Deprecated com.google.protobuf.ByteString @@ -5555,7 +6258,7 @@ public interface SecurityProfileOrBuilder extends /** * repeated string tags = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.tags is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=51 + * See proto/cws/dumpsv1/activity_dump.proto;l=56 * @return A list containing the tags. */ @java.lang.Deprecated java.util.List @@ -5563,14 +6266,14 @@ public interface SecurityProfileOrBuilder extends /** * repeated string tags = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.tags is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=51 + * See proto/cws/dumpsv1/activity_dump.proto;l=56 * @return The count of tags. */ @java.lang.Deprecated int getTagsCount(); /** * repeated string tags = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.tags is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=51 + * See proto/cws/dumpsv1/activity_dump.proto;l=56 * @param index The index of the element to return. * @return The tags at the given index. */ @@ -5578,7 +6281,7 @@ public interface SecurityProfileOrBuilder extends /** * repeated string tags = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.tags is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=51 + * See proto/cws/dumpsv1/activity_dump.proto;l=56 * @param index The index of the value to return. * @return The bytes of the tags at the given index. */ @@ -5588,21 +6291,21 @@ public interface SecurityProfileOrBuilder extends /** * repeated uint32 syscalls = 5 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.syscalls is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=52 + * See proto/cws/dumpsv1/activity_dump.proto;l=57 * @return A list containing the syscalls. */ @java.lang.Deprecated java.util.List getSyscallsList(); /** * repeated uint32 syscalls = 5 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.syscalls is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=52 + * See proto/cws/dumpsv1/activity_dump.proto;l=57 * @return The count of syscalls. */ @java.lang.Deprecated int getSyscallsCount(); /** * repeated uint32 syscalls = 5 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.syscalls is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=52 + * See proto/cws/dumpsv1/activity_dump.proto;l=57 * @param index The index of the element to return. * @return The syscalls at the given index. */ @@ -5665,6 +6368,21 @@ com.dd.cws.adv1.pb.SecDumpProto.ProfileContext getProfileContextsOrDefault( */ com.dd.cws.adv1.pb.SecDumpProto.ProfileContext getProfileContextsOrThrow( java.lang.String key); + + /** + * .datadog.cws.dumpsv1.ProfileSelector selector = 8; + * @return Whether the selector field is set. + */ + boolean hasSelector(); + /** + * .datadog.cws.dumpsv1.ProfileSelector selector = 8; + * @return The selector. + */ + com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector getSelector(); + /** + * .datadog.cws.dumpsv1.ProfileSelector selector = 8; + */ + com.dd.cws.adv1.pb.SecDumpProto.ProfileSelectorOrBuilder getSelectorOrBuilder(); } /** * Protobuf type {@code datadog.cws.dumpsv1.SecurityProfile} @@ -5739,7 +6457,7 @@ public int getStatus() { /** * string version = 2 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.version is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=49 + * See proto/cws/dumpsv1/activity_dump.proto;l=54 * @return The version. */ @java.lang.Override @@ -5758,7 +6476,7 @@ public int getStatus() { /** * string version = 2 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.version is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=49 + * See proto/cws/dumpsv1/activity_dump.proto;l=54 * @return The bytes for version. */ @java.lang.Override @@ -5808,7 +6526,7 @@ public com.dd.cws.adv1.pb.SecDumpProto.MetadataOrBuilder getMetadataOrBuilder() /** * repeated string tags = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.tags is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=51 + * See proto/cws/dumpsv1/activity_dump.proto;l=56 * @return A list containing the tags. */ @java.lang.Deprecated public com.google.protobuf.ProtocolStringList @@ -5818,7 +6536,7 @@ public com.dd.cws.adv1.pb.SecDumpProto.MetadataOrBuilder getMetadataOrBuilder() /** * repeated string tags = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.tags is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=51 + * See proto/cws/dumpsv1/activity_dump.proto;l=56 * @return The count of tags. */ @java.lang.Deprecated public int getTagsCount() { @@ -5827,7 +6545,7 @@ public com.dd.cws.adv1.pb.SecDumpProto.MetadataOrBuilder getMetadataOrBuilder() /** * repeated string tags = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.tags is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=51 + * See proto/cws/dumpsv1/activity_dump.proto;l=56 * @param index The index of the element to return. * @return The tags at the given index. */ @@ -5837,7 +6555,7 @@ public com.dd.cws.adv1.pb.SecDumpProto.MetadataOrBuilder getMetadataOrBuilder() /** * repeated string tags = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.tags is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=51 + * See proto/cws/dumpsv1/activity_dump.proto;l=56 * @param index The index of the value to return. * @return The bytes of the tags at the given index. */ @@ -5852,7 +6570,7 @@ public com.dd.cws.adv1.pb.SecDumpProto.MetadataOrBuilder getMetadataOrBuilder() /** * repeated uint32 syscalls = 5 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.syscalls is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=52 + * See proto/cws/dumpsv1/activity_dump.proto;l=57 * @return A list containing the syscalls. */ @java.lang.Override @@ -5863,7 +6581,7 @@ public com.dd.cws.adv1.pb.SecDumpProto.MetadataOrBuilder getMetadataOrBuilder() /** * repeated uint32 syscalls = 5 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.syscalls is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=52 + * See proto/cws/dumpsv1/activity_dump.proto;l=57 * @return The count of syscalls. */ @java.lang.Deprecated public int getSyscallsCount() { @@ -5872,7 +6590,7 @@ public com.dd.cws.adv1.pb.SecDumpProto.MetadataOrBuilder getMetadataOrBuilder() /** * repeated uint32 syscalls = 5 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.syscalls is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=52 + * See proto/cws/dumpsv1/activity_dump.proto;l=57 * @param index The index of the element to return. * @return The syscalls at the given index. */ @@ -6001,6 +6719,32 @@ public com.dd.cws.adv1.pb.SecDumpProto.ProfileContext getProfileContextsOrThrow( return map.get(key); } + public static final int SELECTOR_FIELD_NUMBER = 8; + private com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector selector_; + /** + * .datadog.cws.dumpsv1.ProfileSelector selector = 8; + * @return Whether the selector field is set. + */ + @java.lang.Override + public boolean hasSelector() { + return selector_ != null; + } + /** + * .datadog.cws.dumpsv1.ProfileSelector selector = 8; + * @return The selector. + */ + @java.lang.Override + public com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector getSelector() { + return selector_ == null ? com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector.getDefaultInstance() : selector_; + } + /** + * .datadog.cws.dumpsv1.ProfileSelector selector = 8; + */ + @java.lang.Override + public com.dd.cws.adv1.pb.SecDumpProto.ProfileSelectorOrBuilder getSelectorOrBuilder() { + return selector_ == null ? com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector.getDefaultInstance() : selector_; + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -6044,6 +6788,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) internalGetProfileContexts(), ProfileContextsDefaultEntryHolder.defaultEntry, 7); + if (selector_ != null) { + output.writeMessage(8, getSelector()); + } getUnknownFields().writeTo(output); } @@ -6100,6 +6847,10 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(7, profileContexts__); } + if (selector_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(8, getSelector()); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -6132,6 +6883,11 @@ public boolean equals(final java.lang.Object obj) { .equals(other.getTreeList())) return false; if (!internalGetProfileContexts().equals( other.internalGetProfileContexts())) return false; + if (hasSelector() != other.hasSelector()) return false; + if (hasSelector()) { + if (!getSelector() + .equals(other.getSelector())) return false; + } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -6167,6 +6923,10 @@ public int hashCode() { hash = (37 * hash) + PROFILE_CONTEXTS_FIELD_NUMBER; hash = (53 * hash) + internalGetProfileContexts().hashCode(); } + if (hasSelector()) { + hash = (37 * hash) + SELECTOR_FIELD_NUMBER; + hash = (53 * hash) + getSelector().hashCode(); + } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -6336,6 +7096,11 @@ public Builder clear() { } bitField0_ = (bitField0_ & ~0x00000020); internalGetMutableProfileContexts().clear(); + selector_ = null; + if (selectorBuilder_ != null) { + selectorBuilder_.dispose(); + selectorBuilder_ = null; + } return this; } @@ -6407,6 +7172,11 @@ private void buildPartial0(com.dd.cws.adv1.pb.SecDumpProto.SecurityProfile resul result.profileContexts_ = internalGetProfileContexts(); result.profileContexts_.makeImmutable(); } + if (((from_bitField0_ & 0x00000080) != 0)) { + result.selector_ = selectorBuilder_ == null + ? selector_ + : selectorBuilder_.build(); + } } @java.lang.Override @@ -6513,6 +7283,9 @@ public Builder mergeFrom(com.dd.cws.adv1.pb.SecDumpProto.SecurityProfile other) internalGetMutableProfileContexts().mergeFrom( other.internalGetProfileContexts()); bitField0_ |= 0x00000040; + if (other.hasSelector()) { + mergeSelector(other.getSelector()); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -6600,6 +7373,13 @@ public Builder mergeFrom( bitField0_ |= 0x00000040; break; } // case 58 + case 66: { + input.readMessage( + getSelectorFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000080; + break; + } // case 66 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag @@ -6653,7 +7433,7 @@ public Builder clearStatus() { /** * string version = 2 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.version is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=49 + * See proto/cws/dumpsv1/activity_dump.proto;l=54 * @return The version. */ @java.lang.Deprecated public java.lang.String getVersion() { @@ -6671,7 +7451,7 @@ public Builder clearStatus() { /** * string version = 2 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.version is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=49 + * See proto/cws/dumpsv1/activity_dump.proto;l=54 * @return The bytes for version. */ @java.lang.Deprecated public com.google.protobuf.ByteString @@ -6690,7 +7470,7 @@ public Builder clearStatus() { /** * string version = 2 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.version is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=49 + * See proto/cws/dumpsv1/activity_dump.proto;l=54 * @param value The version to set. * @return This builder for chaining. */ @@ -6705,7 +7485,7 @@ public Builder clearStatus() { /** * string version = 2 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.version is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=49 + * See proto/cws/dumpsv1/activity_dump.proto;l=54 * @return This builder for chaining. */ @java.lang.Deprecated public Builder clearVersion() { @@ -6717,7 +7497,7 @@ public Builder clearStatus() { /** * string version = 2 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.version is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=49 + * See proto/cws/dumpsv1/activity_dump.proto;l=54 * @param value The bytes for version to set. * @return This builder for chaining. */ @@ -6860,7 +7640,7 @@ private void ensureTagsIsMutable() { /** * repeated string tags = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.tags is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=51 + * See proto/cws/dumpsv1/activity_dump.proto;l=56 * @return A list containing the tags. */ @java.lang.Deprecated public com.google.protobuf.ProtocolStringList @@ -6870,7 +7650,7 @@ private void ensureTagsIsMutable() { /** * repeated string tags = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.tags is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=51 + * See proto/cws/dumpsv1/activity_dump.proto;l=56 * @return The count of tags. */ @java.lang.Deprecated public int getTagsCount() { @@ -6879,7 +7659,7 @@ private void ensureTagsIsMutable() { /** * repeated string tags = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.tags is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=51 + * See proto/cws/dumpsv1/activity_dump.proto;l=56 * @param index The index of the element to return. * @return The tags at the given index. */ @@ -6889,7 +7669,7 @@ private void ensureTagsIsMutable() { /** * repeated string tags = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.tags is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=51 + * See proto/cws/dumpsv1/activity_dump.proto;l=56 * @param index The index of the value to return. * @return The bytes of the tags at the given index. */ @@ -6900,7 +7680,7 @@ private void ensureTagsIsMutable() { /** * repeated string tags = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.tags is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=51 + * See proto/cws/dumpsv1/activity_dump.proto;l=56 * @param index The index to set the value at. * @param value The tags to set. * @return This builder for chaining. @@ -6916,7 +7696,7 @@ private void ensureTagsIsMutable() { /** * repeated string tags = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.tags is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=51 + * See proto/cws/dumpsv1/activity_dump.proto;l=56 * @param value The tags to add. * @return This builder for chaining. */ @@ -6931,7 +7711,7 @@ private void ensureTagsIsMutable() { /** * repeated string tags = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.tags is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=51 + * See proto/cws/dumpsv1/activity_dump.proto;l=56 * @param values The tags to add. * @return This builder for chaining. */ @@ -6946,7 +7726,7 @@ private void ensureTagsIsMutable() { /** * repeated string tags = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.tags is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=51 + * See proto/cws/dumpsv1/activity_dump.proto;l=56 * @return This builder for chaining. */ @java.lang.Deprecated public Builder clearTags() { @@ -6958,7 +7738,7 @@ private void ensureTagsIsMutable() { /** * repeated string tags = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.tags is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=51 + * See proto/cws/dumpsv1/activity_dump.proto;l=56 * @param value The bytes of the tags to add. * @return This builder for chaining. */ @@ -6982,7 +7762,7 @@ private void ensureSyscallsIsMutable() { /** * repeated uint32 syscalls = 5 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.syscalls is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=52 + * See proto/cws/dumpsv1/activity_dump.proto;l=57 * @return A list containing the syscalls. */ @java.lang.Deprecated public java.util.List @@ -6993,7 +7773,7 @@ private void ensureSyscallsIsMutable() { /** * repeated uint32 syscalls = 5 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.syscalls is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=52 + * See proto/cws/dumpsv1/activity_dump.proto;l=57 * @return The count of syscalls. */ @java.lang.Deprecated public int getSyscallsCount() { @@ -7002,7 +7782,7 @@ private void ensureSyscallsIsMutable() { /** * repeated uint32 syscalls = 5 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.syscalls is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=52 + * See proto/cws/dumpsv1/activity_dump.proto;l=57 * @param index The index of the element to return. * @return The syscalls at the given index. */ @@ -7012,7 +7792,7 @@ private void ensureSyscallsIsMutable() { /** * repeated uint32 syscalls = 5 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.syscalls is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=52 + * See proto/cws/dumpsv1/activity_dump.proto;l=57 * @param index The index to set the value at. * @param value The syscalls to set. * @return This builder for chaining. @@ -7028,7 +7808,7 @@ private void ensureSyscallsIsMutable() { /** * repeated uint32 syscalls = 5 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.syscalls is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=52 + * See proto/cws/dumpsv1/activity_dump.proto;l=57 * @param value The syscalls to add. * @return This builder for chaining. */ @@ -7042,7 +7822,7 @@ private void ensureSyscallsIsMutable() { /** * repeated uint32 syscalls = 5 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.syscalls is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=52 + * See proto/cws/dumpsv1/activity_dump.proto;l=57 * @param values The syscalls to add. * @return This builder for chaining. */ @@ -7057,7 +7837,7 @@ private void ensureSyscallsIsMutable() { /** * repeated uint32 syscalls = 5 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.SecurityProfile.syscalls is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=52 + * See proto/cws/dumpsv1/activity_dump.proto;l=57 * @return This builder for chaining. */ @java.lang.Deprecated public Builder clearSyscalls() { @@ -7433,6 +8213,125 @@ public Builder putAllProfileContexts( bitField0_ |= 0x00000040; return this; } + + private com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector selector_; + private com.google.protobuf.SingleFieldBuilderV3< + com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector, com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector.Builder, com.dd.cws.adv1.pb.SecDumpProto.ProfileSelectorOrBuilder> selectorBuilder_; + /** + * .datadog.cws.dumpsv1.ProfileSelector selector = 8; + * @return Whether the selector field is set. + */ + public boolean hasSelector() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * .datadog.cws.dumpsv1.ProfileSelector selector = 8; + * @return The selector. + */ + public com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector getSelector() { + if (selectorBuilder_ == null) { + return selector_ == null ? com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector.getDefaultInstance() : selector_; + } else { + return selectorBuilder_.getMessage(); + } + } + /** + * .datadog.cws.dumpsv1.ProfileSelector selector = 8; + */ + public Builder setSelector(com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector value) { + if (selectorBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + selector_ = value; + } else { + selectorBuilder_.setMessage(value); + } + bitField0_ |= 0x00000080; + onChanged(); + return this; + } + /** + * .datadog.cws.dumpsv1.ProfileSelector selector = 8; + */ + public Builder setSelector( + com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector.Builder builderForValue) { + if (selectorBuilder_ == null) { + selector_ = builderForValue.build(); + } else { + selectorBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000080; + onChanged(); + return this; + } + /** + * .datadog.cws.dumpsv1.ProfileSelector selector = 8; + */ + public Builder mergeSelector(com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector value) { + if (selectorBuilder_ == null) { + if (((bitField0_ & 0x00000080) != 0) && + selector_ != null && + selector_ != com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector.getDefaultInstance()) { + getSelectorBuilder().mergeFrom(value); + } else { + selector_ = value; + } + } else { + selectorBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000080; + onChanged(); + return this; + } + /** + * .datadog.cws.dumpsv1.ProfileSelector selector = 8; + */ + public Builder clearSelector() { + bitField0_ = (bitField0_ & ~0x00000080); + selector_ = null; + if (selectorBuilder_ != null) { + selectorBuilder_.dispose(); + selectorBuilder_ = null; + } + onChanged(); + return this; + } + /** + * .datadog.cws.dumpsv1.ProfileSelector selector = 8; + */ + public com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector.Builder getSelectorBuilder() { + bitField0_ |= 0x00000080; + onChanged(); + return getSelectorFieldBuilder().getBuilder(); + } + /** + * .datadog.cws.dumpsv1.ProfileSelector selector = 8; + */ + public com.dd.cws.adv1.pb.SecDumpProto.ProfileSelectorOrBuilder getSelectorOrBuilder() { + if (selectorBuilder_ != null) { + return selectorBuilder_.getMessageOrBuilder(); + } else { + return selector_ == null ? + com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector.getDefaultInstance() : selector_; + } + } + /** + * .datadog.cws.dumpsv1.ProfileSelector selector = 8; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector, com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector.Builder, com.dd.cws.adv1.pb.SecDumpProto.ProfileSelectorOrBuilder> + getSelectorFieldBuilder() { + if (selectorBuilder_ == null) { + selectorBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector, com.dd.cws.adv1.pb.SecDumpProto.ProfileSelector.Builder, com.dd.cws.adv1.pb.SecDumpProto.ProfileSelectorOrBuilder>( + getSelector(), + getParentForChildren(), + isClean()); + selector_ = null; + } + return selectorBuilder_; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -10498,7 +11397,7 @@ public interface ProcessInfoOrBuilder extends /** * uint32 cookie = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.ProcessInfo.cookie is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=75 + * See proto/cws/dumpsv1/activity_dump.proto;l=81 * @return The cookie. */ @java.lang.Deprecated int getCookie(); @@ -10775,7 +11674,7 @@ public int getPpid() { /** * uint32 cookie = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.ProcessInfo.cookie is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=75 + * See proto/cws/dumpsv1/activity_dump.proto;l=81 * @return The cookie. */ @java.lang.Override @@ -12157,7 +13056,7 @@ public Builder clearPpid() { /** * uint32 cookie = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.ProcessInfo.cookie is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=75 + * See proto/cws/dumpsv1/activity_dump.proto;l=81 * @return The cookie. */ @java.lang.Override @@ -12167,7 +13066,7 @@ public Builder clearPpid() { /** * uint32 cookie = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.ProcessInfo.cookie is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=75 + * See proto/cws/dumpsv1/activity_dump.proto;l=81 * @param value The cookie to set. * @return This builder for chaining. */ @@ -12181,7 +13080,7 @@ public Builder clearPpid() { /** * uint32 cookie = 4 [deprecated = true]; * @deprecated datadog.cws.dumpsv1.ProcessInfo.cookie is deprecated. - * See proto/cws/dumpsv1/activity_dump.proto;l=75 + * See proto/cws/dumpsv1/activity_dump.proto;l=81 * @return This builder for chaining. */ @java.lang.Deprecated public Builder clearCookie() { @@ -26726,6 +27625,11 @@ public com.dd.cws.adv1.pb.SecDumpProto.event_type_state getDefaultInstanceForTyp private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_datadog_cws_dumpsv1_Metadata_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_datadog_cws_dumpsv1_ProfileSelector_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_datadog_cws_dumpsv1_ProfileSelector_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_datadog_cws_dumpsv1_ProfileContext_descriptor; private static final @@ -26833,103 +27737,106 @@ public com.dd.cws.adv1.pb.SecDumpProto.event_type_state getDefaultInstanceForTyp "(\t\022\032\n\022differentiate_args\030\007 \001(\010\022\014\n\004comm\030\010" + " \001(\t\022\024\n\014container_id\030\t \001(\t\022\r\n\005start\030\n \001(" + "\004\022\013\n\003end\030\013 \001(\004\022\014\n\004size\030\014 \001(\004\022\025\n\rserializ" + - "ation\030\016 \001(\t\"\210\002\n\016ProfileContext\022\022\n\nfirst_" + - "seen\030\001 \001(\004\022\021\n\tlast_seen\030\002 \001(\004\022Q\n\020event_t" + - "ype_state\030\003 \003(\01327.datadog.cws.dumpsv1.Pr" + - "ofileContext.EventTypeStateEntry\022\020\n\010sysc" + - "alls\030\004 \003(\r\022\014\n\004tags\030\005 \003(\t\032\\\n\023EventTypeSta" + - "teEntry\022\013\n\003key\030\001 \001(\r\0224\n\005value\030\002 \001(\0132%.da" + - "tadog.cws.dumpsv1.event_type_state:\0028\001\"\371" + - "\002\n\017SecurityProfile\022\016\n\006status\030\001 \001(\r\022\023\n\007ve" + - "rsion\030\002 \001(\tB\002\030\001\022/\n\010metadata\030\003 \001(\0132\035.data" + - "dog.cws.dumpsv1.Metadata\022\020\n\004tags\030\004 \003(\tB\002" + - "\030\001\022\024\n\010syscalls\030\005 \003(\rB\002\030\001\0226\n\004tree\030\006 \003(\0132(" + - ".datadog.cws.dumpsv1.ProcessActivityNode" + - "\022S\n\020profile_contexts\030\007 \003(\01329.datadog.cws" + - ".dumpsv1.SecurityProfile.ProfileContexts" + - "Entry\032[\n\024ProfileContextsEntry\022\013\n\003key\030\001 \001" + - "(\t\0222\n\005value\030\002 \001(\0132#.datadog.cws.dumpsv1." + - "ProfileContext:\0028\001\"\300\003\n\023ProcessActivityNo" + - "de\0221\n\007process\030\001 \001(\0132 .datadog.cws.dumpsv" + - "1.ProcessInfo\022<\n\017generation_type\030\010 \001(\0162#" + - ".datadog.cws.dumpsv1.GenerationType\0227\n\rm" + - "atched_rules\030\t \003(\0132 .datadog.cws.dumpsv1" + - ".MatchedRule\022:\n\010children\030\003 \003(\0132(.datadog" + - ".cws.dumpsv1.ProcessActivityNode\0224\n\005file" + - "s\030\004 \003(\0132%.datadog.cws.dumpsv1.FileActivi" + - "tyNode\022/\n\tdns_names\030\005 \003(\0132\034.datadog.cws." + - "dumpsv1.DNSNode\0220\n\007sockets\030\006 \003(\0132\037.datad" + - "og.cws.dumpsv1.SocketNode\022\020\n\010syscalls\030\007 " + - "\003(\r\022\022\n\nimage_tags\030\n \003(\tJ\004\010\002\020\003\"\321\003\n\013Proces" + - "sInfo\022\013\n\003pid\030\001 \001(\r\022\013\n\003tid\030\002 \001(\r\022\014\n\004ppid\030" + - "\003 \001(\r\022\022\n\006cookie\030\004 \001(\rB\002\030\001\022\021\n\tis_thread\030\005" + - " \001(\010\022+\n\004file\030\006 \001(\0132\035.datadog.cws.dumpsv1" + - ".FileInfo\022\024\n\014container_id\030\007 \001(\t\022\017\n\007span_" + - "id\030\010 \001(\004\022\020\n\010trace_id\030\t \001(\004\022\013\n\003tty\030\n \001(\t\022" + - "\014\n\004comm\030\013 \001(\t\022\021\n\tfork_time\030\014 \001(\004\022\021\n\texit" + - "_time\030\r \001(\004\022\021\n\texec_time\030\016 \001(\004\0225\n\013creden" + - "tials\030\017 \001(\0132 .datadog.cws.dumpsv1.Creden" + - "tials\022\014\n\004args\030\020 \003(\t\022\r\n\005argv0\030\021 \001(\t\022\026\n\016ar" + - "gs_truncated\030\022 \001(\010\022\014\n\004envs\030\023 \003(\t\022\026\n\016envs" + - "_truncated\030\024 \001(\010\022\025\n\ris_exec_child\030\025 \001(\010\022" + - "\020\n\010cookie64\030\026 \001(\004\"\354\002\n\020FileActivityNode\0227" + - "\n\rmatched_rules\030\t \003(\0132 .datadog.cws.dump" + - "sv1.MatchedRule\022\022\n\nimage_tags\030\n \003(\t\022\014\n\004n" + - "ame\030\001 \001(\t\022\022\n\nis_pattern\030\007 \001(\010\022+\n\004file\030\002 " + - "\001(\0132\035.datadog.cws.dumpsv1.FileInfo\022<\n\017ge" + - "neration_type\030\010 \001(\0162#.datadog.cws.dumpsv" + - "1.GenerationType\022\022\n\nfirst_seen\030\004 \001(\004\022+\n\004" + - "open\030\005 \001(\0132\035.datadog.cws.dumpsv1.OpenNod" + - "e\0227\n\010children\030\006 \003(\0132%.datadog.cws.dumpsv" + - "1.FileActivityNodeJ\004\010\003\020\004\"7\n\010OpenNode\022\016\n\006" + - "retval\030\001 \001(\022\022\r\n\005flags\030\002 \001(\r\022\014\n\004mode\030\003 \001(" + - "\r\"\206\001\n\007DNSNode\0227\n\rmatched_rules\030\002 \003(\0132 .d" + - "atadog.cws.dumpsv1.MatchedRule\022\022\n\nimage_" + - "tags\030\003 \003(\t\022.\n\010requests\030\001 \003(\0132\034.datadog.c" + - "ws.dumpsv1.DNSInfo\"Q\n\007DNSInfo\022\014\n\004name\030\001 " + - "\001(\t\022\014\n\004type\030\002 \001(\r\022\r\n\005class\030\003 \001(\r\022\014\n\004size" + - "\030\004 \001(\r\022\r\n\005count\030\005 \001(\r\"\351\002\n\010FileInfo\022\013\n\003ui" + - "d\030\001 \001(\r\022\014\n\004user\030\002 \001(\t\022\013\n\003gid\030\003 \001(\r\022\r\n\005gr" + - "oup\030\004 \001(\t\022\014\n\004mode\030\005 \001(\r\022\r\n\005ctime\030\006 \001(\004\022\r" + - "\n\005mtime\030\007 \001(\004\022\020\n\010mount_id\030\010 \001(\r\022\r\n\005inode" + - "\030\t \001(\004\022\026\n\016in_upper_layer\030\n \001(\010\022\014\n\004path\030\013" + - " \001(\t\022\020\n\010basename\030\014 \001(\t\022\022\n\nfilesystem\030\r \001" + - "(\t\022\024\n\014package_name\030\016 \001(\t\022\027\n\017package_vers" + - "ion\030\017 \001(\t\022\032\n\022package_srcversion\030\020 \001(\t\022\016\n" + - "\006hashes\030\021 \003(\t\0222\n\nhash_state\030\022 \001(\0162\036.data" + - "dog.cws.dumpsv1.HashState\"\224\002\n\013Credential" + - "s\022\013\n\003uid\030\001 \001(\r\022\013\n\003gid\030\002 \001(\r\022\014\n\004user\030\003 \001(" + - "\t\022\r\n\005group\030\004 \001(\t\022\025\n\reffective_uid\030\005 \001(\r\022" + - "\025\n\reffective_gid\030\006 \001(\r\022\026\n\016effective_user" + - "\030\007 \001(\t\022\027\n\017effective_group\030\010 \001(\t\022\016\n\006fs_ui" + - "d\030\t \001(\r\022\016\n\006fs_gid\030\n \001(\r\022\017\n\007fs_user\030\013 \001(\t" + - "\022\020\n\010fs_group\030\014 \001(\t\022\025\n\rcap_effective\030\r \001(" + - "\004\022\025\n\rcap_permitted\030\016 \001(\004\"I\n\nSocketNode\022\016" + - "\n\006family\030\001 \001(\t\022+\n\004bind\030\002 \003(\0132\035.datadog.c" + - "ws.dumpsv1.BindNode\"q\n\010BindNode\0227\n\rmatch" + - "ed_rules\030\003 \003(\0132 .datadog.cws.dumpsv1.Mat" + - "chedRule\022\022\n\nimage_tags\030\004 \003(\t\022\014\n\004port\030\001 \001" + - "(\r\022\n\n\002ip\030\002 \001(\t\"\325\001\n\013MatchedRule\022\017\n\007rule_i" + - "d\030\001 \001(\t\022\024\n\014rule_version\030\002 \001(\t\022\023\n\013policy_" + - "name\030\003 \001(\t\022\026\n\016policy_version\030\004 \001(\t\022A\n\tru" + - "le_tags\030\005 \003(\0132..datadog.cws.dumpsv1.Matc" + - "hedRule.RuleTagsEntry\032/\n\rRuleTagsEntry\022\013" + - "\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"t\n\020event_" + - "type_state\022\031\n\021last_anomaly_nano\030\001 \001(\004\022E\n" + - "\023event_profile_state\030\002 \001(\0162(.datadog.cws" + - ".dumpsv1.event_profile_state*\271\001\n\tHashSta" + - "te\022\013\n\007NO_HASH\020\000\022\010\n\004DONE\020\001\022\022\n\016FILE_NOT_FO" + - "UND\020\002\022\035\n\031PATHNAME_RESOLUTION_ERROR\020\003\022\020\n\014" + - "FILE_TOO_BIG\020\004\022\035\n\031EVENT_TYPE_NOT_CONFIGU" + - "RED\020\005\022\031\n\025HASH_WAS_RATE_LIMITED\020\006\022\026\n\022UNKN" + - "OWN_HASH_ERROR\020\007*8\n\016GenerationType\022\013\n\007UN" + - "KNOWN\020\000\022\013\n\007RUNTIME\020\001\022\014\n\010SNAPSHOT\020\002*\220\001\n\023e" + - "vent_profile_state\022\016\n\nNO_PROFILE\020\000\022\027\n\023PR" + - "OFILE_AT_MAX_SIZE\020\001\022\024\n\020UNSTABLE_PROFILE\020" + - "\002\022\022\n\016STABLE_PROFILE\020\003\022\021\n\rAUTO_LEARNING\020\004" + - "\022\023\n\017WORKLOAD_WARMUP\020\005BU\n\022com.dd.cws.adv1" + - ".pbB\014SecDumpProtoP\000Z/github.com/DataDog/" + - "agent-payload/v5/cws/dumpsv1b\006proto3" + "ation\030\016 \001(\t\"8\n\017ProfileSelector\022\022\n\nimage_" + + "name\030\001 \001(\t\022\021\n\timage_tag\030\002 \001(\t\"\210\002\n\016Profil" + + "eContext\022\022\n\nfirst_seen\030\001 \001(\004\022\021\n\tlast_see" + + "n\030\002 \001(\004\022Q\n\020event_type_state\030\003 \003(\01327.data" + + "dog.cws.dumpsv1.ProfileContext.EventType" + + "StateEntry\022\020\n\010syscalls\030\004 \003(\r\022\014\n\004tags\030\005 \003" + + "(\t\032\\\n\023EventTypeStateEntry\022\013\n\003key\030\001 \001(\r\0224" + + "\n\005value\030\002 \001(\0132%.datadog.cws.dumpsv1.even" + + "t_type_state:\0028\001\"\261\003\n\017SecurityProfile\022\016\n\006" + + "status\030\001 \001(\r\022\023\n\007version\030\002 \001(\tB\002\030\001\022/\n\010met" + + "adata\030\003 \001(\0132\035.datadog.cws.dumpsv1.Metada" + + "ta\022\020\n\004tags\030\004 \003(\tB\002\030\001\022\024\n\010syscalls\030\005 \003(\rB\002" + + "\030\001\0226\n\004tree\030\006 \003(\0132(.datadog.cws.dumpsv1.P" + + "rocessActivityNode\022S\n\020profile_contexts\030\007" + + " \003(\01329.datadog.cws.dumpsv1.SecurityProfi" + + "le.ProfileContextsEntry\0226\n\010selector\030\010 \001(" + + "\0132$.datadog.cws.dumpsv1.ProfileSelector\032" + + "[\n\024ProfileContextsEntry\022\013\n\003key\030\001 \001(\t\0222\n\005" + + "value\030\002 \001(\0132#.datadog.cws.dumpsv1.Profil" + + "eContext:\0028\001\"\300\003\n\023ProcessActivityNode\0221\n\007" + + "process\030\001 \001(\0132 .datadog.cws.dumpsv1.Proc" + + "essInfo\022<\n\017generation_type\030\010 \001(\0162#.datad" + + "og.cws.dumpsv1.GenerationType\0227\n\rmatched" + + "_rules\030\t \003(\0132 .datadog.cws.dumpsv1.Match" + + "edRule\022:\n\010children\030\003 \003(\0132(.datadog.cws.d" + + "umpsv1.ProcessActivityNode\0224\n\005files\030\004 \003(" + + "\0132%.datadog.cws.dumpsv1.FileActivityNode" + + "\022/\n\tdns_names\030\005 \003(\0132\034.datadog.cws.dumpsv" + + "1.DNSNode\0220\n\007sockets\030\006 \003(\0132\037.datadog.cws" + + ".dumpsv1.SocketNode\022\020\n\010syscalls\030\007 \003(\r\022\022\n" + + "\nimage_tags\030\n \003(\tJ\004\010\002\020\003\"\321\003\n\013ProcessInfo\022" + + "\013\n\003pid\030\001 \001(\r\022\013\n\003tid\030\002 \001(\r\022\014\n\004ppid\030\003 \001(\r\022" + + "\022\n\006cookie\030\004 \001(\rB\002\030\001\022\021\n\tis_thread\030\005 \001(\010\022+" + + "\n\004file\030\006 \001(\0132\035.datadog.cws.dumpsv1.FileI" + + "nfo\022\024\n\014container_id\030\007 \001(\t\022\017\n\007span_id\030\010 \001" + + "(\004\022\020\n\010trace_id\030\t \001(\004\022\013\n\003tty\030\n \001(\t\022\014\n\004com" + + "m\030\013 \001(\t\022\021\n\tfork_time\030\014 \001(\004\022\021\n\texit_time\030" + + "\r \001(\004\022\021\n\texec_time\030\016 \001(\004\0225\n\013credentials\030" + + "\017 \001(\0132 .datadog.cws.dumpsv1.Credentials\022" + + "\014\n\004args\030\020 \003(\t\022\r\n\005argv0\030\021 \001(\t\022\026\n\016args_tru" + + "ncated\030\022 \001(\010\022\014\n\004envs\030\023 \003(\t\022\026\n\016envs_trunc" + + "ated\030\024 \001(\010\022\025\n\ris_exec_child\030\025 \001(\010\022\020\n\010coo" + + "kie64\030\026 \001(\004\"\354\002\n\020FileActivityNode\0227\n\rmatc" + + "hed_rules\030\t \003(\0132 .datadog.cws.dumpsv1.Ma" + + "tchedRule\022\022\n\nimage_tags\030\n \003(\t\022\014\n\004name\030\001 " + + "\001(\t\022\022\n\nis_pattern\030\007 \001(\010\022+\n\004file\030\002 \001(\0132\035." + + "datadog.cws.dumpsv1.FileInfo\022<\n\017generati" + + "on_type\030\010 \001(\0162#.datadog.cws.dumpsv1.Gene" + + "rationType\022\022\n\nfirst_seen\030\004 \001(\004\022+\n\004open\030\005" + + " \001(\0132\035.datadog.cws.dumpsv1.OpenNode\0227\n\010c" + + "hildren\030\006 \003(\0132%.datadog.cws.dumpsv1.File" + + "ActivityNodeJ\004\010\003\020\004\"7\n\010OpenNode\022\016\n\006retval" + + "\030\001 \001(\022\022\r\n\005flags\030\002 \001(\r\022\014\n\004mode\030\003 \001(\r\"\206\001\n\007" + + "DNSNode\0227\n\rmatched_rules\030\002 \003(\0132 .datadog" + + ".cws.dumpsv1.MatchedRule\022\022\n\nimage_tags\030\003" + + " \003(\t\022.\n\010requests\030\001 \003(\0132\034.datadog.cws.dum" + + "psv1.DNSInfo\"Q\n\007DNSInfo\022\014\n\004name\030\001 \001(\t\022\014\n" + + "\004type\030\002 \001(\r\022\r\n\005class\030\003 \001(\r\022\014\n\004size\030\004 \001(\r" + + "\022\r\n\005count\030\005 \001(\r\"\351\002\n\010FileInfo\022\013\n\003uid\030\001 \001(" + + "\r\022\014\n\004user\030\002 \001(\t\022\013\n\003gid\030\003 \001(\r\022\r\n\005group\030\004 " + + "\001(\t\022\014\n\004mode\030\005 \001(\r\022\r\n\005ctime\030\006 \001(\004\022\r\n\005mtim" + + "e\030\007 \001(\004\022\020\n\010mount_id\030\010 \001(\r\022\r\n\005inode\030\t \001(\004" + + "\022\026\n\016in_upper_layer\030\n \001(\010\022\014\n\004path\030\013 \001(\t\022\020" + + "\n\010basename\030\014 \001(\t\022\022\n\nfilesystem\030\r \001(\t\022\024\n\014" + + "package_name\030\016 \001(\t\022\027\n\017package_version\030\017 " + + "\001(\t\022\032\n\022package_srcversion\030\020 \001(\t\022\016\n\006hashe" + + "s\030\021 \003(\t\0222\n\nhash_state\030\022 \001(\0162\036.datadog.cw" + + "s.dumpsv1.HashState\"\224\002\n\013Credentials\022\013\n\003u" + + "id\030\001 \001(\r\022\013\n\003gid\030\002 \001(\r\022\014\n\004user\030\003 \001(\t\022\r\n\005g" + + "roup\030\004 \001(\t\022\025\n\reffective_uid\030\005 \001(\r\022\025\n\reff" + + "ective_gid\030\006 \001(\r\022\026\n\016effective_user\030\007 \001(\t" + + "\022\027\n\017effective_group\030\010 \001(\t\022\016\n\006fs_uid\030\t \001(" + + "\r\022\016\n\006fs_gid\030\n \001(\r\022\017\n\007fs_user\030\013 \001(\t\022\020\n\010fs" + + "_group\030\014 \001(\t\022\025\n\rcap_effective\030\r \001(\004\022\025\n\rc" + + "ap_permitted\030\016 \001(\004\"I\n\nSocketNode\022\016\n\006fami" + + "ly\030\001 \001(\t\022+\n\004bind\030\002 \003(\0132\035.datadog.cws.dum" + + "psv1.BindNode\"q\n\010BindNode\0227\n\rmatched_rul" + + "es\030\003 \003(\0132 .datadog.cws.dumpsv1.MatchedRu" + + "le\022\022\n\nimage_tags\030\004 \003(\t\022\014\n\004port\030\001 \001(\r\022\n\n\002" + + "ip\030\002 \001(\t\"\325\001\n\013MatchedRule\022\017\n\007rule_id\030\001 \001(" + + "\t\022\024\n\014rule_version\030\002 \001(\t\022\023\n\013policy_name\030\003" + + " \001(\t\022\026\n\016policy_version\030\004 \001(\t\022A\n\trule_tag" + + "s\030\005 \003(\0132..datadog.cws.dumpsv1.MatchedRul" + + "e.RuleTagsEntry\032/\n\rRuleTagsEntry\022\013\n\003key\030" + + "\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"t\n\020event_type_s" + + "tate\022\031\n\021last_anomaly_nano\030\001 \001(\004\022E\n\023event" + + "_profile_state\030\002 \001(\0162(.datadog.cws.dumps" + + "v1.event_profile_state*\271\001\n\tHashState\022\013\n\007" + + "NO_HASH\020\000\022\010\n\004DONE\020\001\022\022\n\016FILE_NOT_FOUND\020\002\022" + + "\035\n\031PATHNAME_RESOLUTION_ERROR\020\003\022\020\n\014FILE_T" + + "OO_BIG\020\004\022\035\n\031EVENT_TYPE_NOT_CONFIGURED\020\005\022" + + "\031\n\025HASH_WAS_RATE_LIMITED\020\006\022\026\n\022UNKNOWN_HA" + + "SH_ERROR\020\007*8\n\016GenerationType\022\013\n\007UNKNOWN\020" + + "\000\022\013\n\007RUNTIME\020\001\022\014\n\010SNAPSHOT\020\002*\220\001\n\023event_p" + + "rofile_state\022\016\n\nNO_PROFILE\020\000\022\027\n\023PROFILE_" + + "AT_MAX_SIZE\020\001\022\024\n\020UNSTABLE_PROFILE\020\002\022\022\n\016S" + + "TABLE_PROFILE\020\003\022\021\n\rAUTO_LEARNING\020\004\022\023\n\017WO" + + "RKLOAD_WARMUP\020\005BU\n\022com.dd.cws.adv1.pbB\014S" + + "ecDumpProtoP\000Z/github.com/DataDog/agent-" + + "payload/v5/cws/dumpsv1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -26947,8 +27854,14 @@ public com.dd.cws.adv1.pb.SecDumpProto.event_type_state getDefaultInstanceForTyp com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_datadog_cws_dumpsv1_Metadata_descriptor, new java.lang.String[] { "AgentVersion", "AgentCommit", "KernelVersion", "LinuxDistribution", "Arch", "Name", "ProtobufVersion", "DifferentiateArgs", "Comm", "ContainerId", "Start", "End", "Size", "Serialization", }); - internal_static_datadog_cws_dumpsv1_ProfileContext_descriptor = + internal_static_datadog_cws_dumpsv1_ProfileSelector_descriptor = getDescriptor().getMessageTypes().get(2); + internal_static_datadog_cws_dumpsv1_ProfileSelector_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_datadog_cws_dumpsv1_ProfileSelector_descriptor, + new java.lang.String[] { "ImageName", "ImageTag", }); + internal_static_datadog_cws_dumpsv1_ProfileContext_descriptor = + getDescriptor().getMessageTypes().get(3); internal_static_datadog_cws_dumpsv1_ProfileContext_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_datadog_cws_dumpsv1_ProfileContext_descriptor, @@ -26960,11 +27873,11 @@ public com.dd.cws.adv1.pb.SecDumpProto.event_type_state getDefaultInstanceForTyp internal_static_datadog_cws_dumpsv1_ProfileContext_EventTypeStateEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_datadog_cws_dumpsv1_SecurityProfile_descriptor = - getDescriptor().getMessageTypes().get(3); + getDescriptor().getMessageTypes().get(4); internal_static_datadog_cws_dumpsv1_SecurityProfile_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_datadog_cws_dumpsv1_SecurityProfile_descriptor, - new java.lang.String[] { "Status", "Version", "Metadata", "Tags", "Syscalls", "Tree", "ProfileContexts", }); + new java.lang.String[] { "Status", "Version", "Metadata", "Tags", "Syscalls", "Tree", "ProfileContexts", "Selector", }); internal_static_datadog_cws_dumpsv1_SecurityProfile_ProfileContextsEntry_descriptor = internal_static_datadog_cws_dumpsv1_SecurityProfile_descriptor.getNestedTypes().get(0); internal_static_datadog_cws_dumpsv1_SecurityProfile_ProfileContextsEntry_fieldAccessorTable = new @@ -26972,67 +27885,67 @@ public com.dd.cws.adv1.pb.SecDumpProto.event_type_state getDefaultInstanceForTyp internal_static_datadog_cws_dumpsv1_SecurityProfile_ProfileContextsEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_datadog_cws_dumpsv1_ProcessActivityNode_descriptor = - getDescriptor().getMessageTypes().get(4); + getDescriptor().getMessageTypes().get(5); internal_static_datadog_cws_dumpsv1_ProcessActivityNode_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_datadog_cws_dumpsv1_ProcessActivityNode_descriptor, new java.lang.String[] { "Process", "GenerationType", "MatchedRules", "Children", "Files", "DnsNames", "Sockets", "Syscalls", "ImageTags", }); internal_static_datadog_cws_dumpsv1_ProcessInfo_descriptor = - getDescriptor().getMessageTypes().get(5); + getDescriptor().getMessageTypes().get(6); internal_static_datadog_cws_dumpsv1_ProcessInfo_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_datadog_cws_dumpsv1_ProcessInfo_descriptor, new java.lang.String[] { "Pid", "Tid", "Ppid", "Cookie", "IsThread", "File", "ContainerId", "SpanId", "TraceId", "Tty", "Comm", "ForkTime", "ExitTime", "ExecTime", "Credentials", "Args", "Argv0", "ArgsTruncated", "Envs", "EnvsTruncated", "IsExecChild", "Cookie64", }); internal_static_datadog_cws_dumpsv1_FileActivityNode_descriptor = - getDescriptor().getMessageTypes().get(6); + getDescriptor().getMessageTypes().get(7); internal_static_datadog_cws_dumpsv1_FileActivityNode_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_datadog_cws_dumpsv1_FileActivityNode_descriptor, new java.lang.String[] { "MatchedRules", "ImageTags", "Name", "IsPattern", "File", "GenerationType", "FirstSeen", "Open", "Children", }); internal_static_datadog_cws_dumpsv1_OpenNode_descriptor = - getDescriptor().getMessageTypes().get(7); + getDescriptor().getMessageTypes().get(8); internal_static_datadog_cws_dumpsv1_OpenNode_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_datadog_cws_dumpsv1_OpenNode_descriptor, new java.lang.String[] { "Retval", "Flags", "Mode", }); internal_static_datadog_cws_dumpsv1_DNSNode_descriptor = - getDescriptor().getMessageTypes().get(8); + getDescriptor().getMessageTypes().get(9); internal_static_datadog_cws_dumpsv1_DNSNode_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_datadog_cws_dumpsv1_DNSNode_descriptor, new java.lang.String[] { "MatchedRules", "ImageTags", "Requests", }); internal_static_datadog_cws_dumpsv1_DNSInfo_descriptor = - getDescriptor().getMessageTypes().get(9); + getDescriptor().getMessageTypes().get(10); internal_static_datadog_cws_dumpsv1_DNSInfo_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_datadog_cws_dumpsv1_DNSInfo_descriptor, new java.lang.String[] { "Name", "Type", "Class_", "Size", "Count", }); internal_static_datadog_cws_dumpsv1_FileInfo_descriptor = - getDescriptor().getMessageTypes().get(10); + getDescriptor().getMessageTypes().get(11); internal_static_datadog_cws_dumpsv1_FileInfo_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_datadog_cws_dumpsv1_FileInfo_descriptor, new java.lang.String[] { "Uid", "User", "Gid", "Group", "Mode", "Ctime", "Mtime", "MountId", "Inode", "InUpperLayer", "Path", "Basename", "Filesystem", "PackageName", "PackageVersion", "PackageSrcversion", "Hashes", "HashState", }); internal_static_datadog_cws_dumpsv1_Credentials_descriptor = - getDescriptor().getMessageTypes().get(11); + getDescriptor().getMessageTypes().get(12); internal_static_datadog_cws_dumpsv1_Credentials_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_datadog_cws_dumpsv1_Credentials_descriptor, new java.lang.String[] { "Uid", "Gid", "User", "Group", "EffectiveUid", "EffectiveGid", "EffectiveUser", "EffectiveGroup", "FsUid", "FsGid", "FsUser", "FsGroup", "CapEffective", "CapPermitted", }); internal_static_datadog_cws_dumpsv1_SocketNode_descriptor = - getDescriptor().getMessageTypes().get(12); + getDescriptor().getMessageTypes().get(13); internal_static_datadog_cws_dumpsv1_SocketNode_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_datadog_cws_dumpsv1_SocketNode_descriptor, new java.lang.String[] { "Family", "Bind", }); internal_static_datadog_cws_dumpsv1_BindNode_descriptor = - getDescriptor().getMessageTypes().get(13); + getDescriptor().getMessageTypes().get(14); internal_static_datadog_cws_dumpsv1_BindNode_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_datadog_cws_dumpsv1_BindNode_descriptor, new java.lang.String[] { "MatchedRules", "ImageTags", "Port", "Ip", }); internal_static_datadog_cws_dumpsv1_MatchedRule_descriptor = - getDescriptor().getMessageTypes().get(14); + getDescriptor().getMessageTypes().get(15); internal_static_datadog_cws_dumpsv1_MatchedRule_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_datadog_cws_dumpsv1_MatchedRule_descriptor, @@ -27044,7 +27957,7 @@ public com.dd.cws.adv1.pb.SecDumpProto.event_type_state getDefaultInstanceForTyp internal_static_datadog_cws_dumpsv1_MatchedRule_RuleTagsEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_datadog_cws_dumpsv1_event_type_state_descriptor = - getDescriptor().getMessageTypes().get(15); + getDescriptor().getMessageTypes().get(16); internal_static_datadog_cws_dumpsv1_event_type_state_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_datadog_cws_dumpsv1_event_type_state_descriptor, diff --git a/proto/cws/dumpsv1/activity_dump.proto b/proto/cws/dumpsv1/activity_dump.proto index 0cba5dac..f531ec3b 100644 --- a/proto/cws/dumpsv1/activity_dump.proto +++ b/proto/cws/dumpsv1/activity_dump.proto @@ -37,6 +37,11 @@ message Metadata { string serialization = 14; } +message ProfileSelector { + string image_name = 1; + string image_tag = 2; +} + message ProfileContext { uint64 first_seen = 1; uint64 last_seen = 2; @@ -53,6 +58,7 @@ message SecurityProfile { repeated uint32 syscalls = 5 [deprecated = true]; repeated ProcessActivityNode tree = 6; map profile_contexts = 7; + ProfileSelector selector = 8; } message ProcessActivityNode {