go-igdb/proto/igdbapi.pb.go
2025-04-05 01:02:56 +11:00

15681 lines
636 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.5
// protoc v6.30.1
// source: proto/igdbapi.proto
package proto
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
reflect "reflect"
sync "sync"
unsafe "unsafe"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type AgeRatingCategoryEnum int32
const (
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingCategoryEnum_AGERATING_CATEGORY_NULL AgeRatingCategoryEnum = 0
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingCategoryEnum_ESRB AgeRatingCategoryEnum = 1
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingCategoryEnum_PEGI AgeRatingCategoryEnum = 2
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingCategoryEnum_CERO AgeRatingCategoryEnum = 3
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingCategoryEnum_USK AgeRatingCategoryEnum = 4
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingCategoryEnum_GRAC AgeRatingCategoryEnum = 5
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingCategoryEnum_CLASS_IND AgeRatingCategoryEnum = 6
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingCategoryEnum_ACB AgeRatingCategoryEnum = 7
)
// Enum value maps for AgeRatingCategoryEnum.
var (
AgeRatingCategoryEnum_name = map[int32]string{
0: "AGERATING_CATEGORY_NULL",
1: "ESRB",
2: "PEGI",
3: "CERO",
4: "USK",
5: "GRAC",
6: "CLASS_IND",
7: "ACB",
}
AgeRatingCategoryEnum_value = map[string]int32{
"AGERATING_CATEGORY_NULL": 0,
"ESRB": 1,
"PEGI": 2,
"CERO": 3,
"USK": 4,
"GRAC": 5,
"CLASS_IND": 6,
"ACB": 7,
}
)
func (x AgeRatingCategoryEnum) Enum() *AgeRatingCategoryEnum {
p := new(AgeRatingCategoryEnum)
*p = x
return p
}
func (x AgeRatingCategoryEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (AgeRatingCategoryEnum) Descriptor() protoreflect.EnumDescriptor {
return file_proto_igdbapi_proto_enumTypes[0].Descriptor()
}
func (AgeRatingCategoryEnum) Type() protoreflect.EnumType {
return &file_proto_igdbapi_proto_enumTypes[0]
}
func (x AgeRatingCategoryEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use AgeRatingCategoryEnum.Descriptor instead.
func (AgeRatingCategoryEnum) EnumDescriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{0}
}
type AgeRatingRatingEnum int32
const (
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_AGERATING_RATING_NULL AgeRatingRatingEnum = 0
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_THREE AgeRatingRatingEnum = 1
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_SEVEN AgeRatingRatingEnum = 2
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_TWELVE AgeRatingRatingEnum = 3
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_SIXTEEN AgeRatingRatingEnum = 4
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_EIGHTEEN AgeRatingRatingEnum = 5
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_RP AgeRatingRatingEnum = 6
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_EC AgeRatingRatingEnum = 7
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_E AgeRatingRatingEnum = 8
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_E10 AgeRatingRatingEnum = 9
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_T AgeRatingRatingEnum = 10
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_M AgeRatingRatingEnum = 11
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_AO AgeRatingRatingEnum = 12
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_CERO_A AgeRatingRatingEnum = 13
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_CERO_B AgeRatingRatingEnum = 14
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_CERO_C AgeRatingRatingEnum = 15
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_CERO_D AgeRatingRatingEnum = 16
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_CERO_Z AgeRatingRatingEnum = 17
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_USK_0 AgeRatingRatingEnum = 18
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_USK_6 AgeRatingRatingEnum = 19
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_USK_12 AgeRatingRatingEnum = 20
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_USK_16 AgeRatingRatingEnum = 21
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_USK_18 AgeRatingRatingEnum = 22
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_GRAC_ALL AgeRatingRatingEnum = 23
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_GRAC_TWELVE AgeRatingRatingEnum = 24
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_GRAC_FIFTEEN AgeRatingRatingEnum = 25
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_GRAC_EIGHTEEN AgeRatingRatingEnum = 26
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_GRAC_TESTING AgeRatingRatingEnum = 27
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_CLASS_IND_L AgeRatingRatingEnum = 28
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_CLASS_IND_TEN AgeRatingRatingEnum = 29
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_CLASS_IND_TWELVE AgeRatingRatingEnum = 30
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_CLASS_IND_FOURTEEN AgeRatingRatingEnum = 31
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_CLASS_IND_SIXTEEN AgeRatingRatingEnum = 32
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_CLASS_IND_EIGHTEEN AgeRatingRatingEnum = 33
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_ACB_G AgeRatingRatingEnum = 34
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_ACB_PG AgeRatingRatingEnum = 35
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_ACB_M AgeRatingRatingEnum = 36
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_ACB_MA15 AgeRatingRatingEnum = 37
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_ACB_R18 AgeRatingRatingEnum = 38
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingRatingEnum_ACB_RC AgeRatingRatingEnum = 39
)
// Enum value maps for AgeRatingRatingEnum.
var (
AgeRatingRatingEnum_name = map[int32]string{
0: "AGERATING_RATING_NULL",
1: "THREE",
2: "SEVEN",
3: "TWELVE",
4: "SIXTEEN",
5: "EIGHTEEN",
6: "RP",
7: "EC",
8: "E",
9: "E10",
10: "T",
11: "M",
12: "AO",
13: "CERO_A",
14: "CERO_B",
15: "CERO_C",
16: "CERO_D",
17: "CERO_Z",
18: "USK_0",
19: "USK_6",
20: "USK_12",
21: "USK_16",
22: "USK_18",
23: "GRAC_ALL",
24: "GRAC_TWELVE",
25: "GRAC_FIFTEEN",
26: "GRAC_EIGHTEEN",
27: "GRAC_TESTING",
28: "CLASS_IND_L",
29: "CLASS_IND_TEN",
30: "CLASS_IND_TWELVE",
31: "CLASS_IND_FOURTEEN",
32: "CLASS_IND_SIXTEEN",
33: "CLASS_IND_EIGHTEEN",
34: "ACB_G",
35: "ACB_PG",
36: "ACB_M",
37: "ACB_MA15",
38: "ACB_R18",
39: "ACB_RC",
}
AgeRatingRatingEnum_value = map[string]int32{
"AGERATING_RATING_NULL": 0,
"THREE": 1,
"SEVEN": 2,
"TWELVE": 3,
"SIXTEEN": 4,
"EIGHTEEN": 5,
"RP": 6,
"EC": 7,
"E": 8,
"E10": 9,
"T": 10,
"M": 11,
"AO": 12,
"CERO_A": 13,
"CERO_B": 14,
"CERO_C": 15,
"CERO_D": 16,
"CERO_Z": 17,
"USK_0": 18,
"USK_6": 19,
"USK_12": 20,
"USK_16": 21,
"USK_18": 22,
"GRAC_ALL": 23,
"GRAC_TWELVE": 24,
"GRAC_FIFTEEN": 25,
"GRAC_EIGHTEEN": 26,
"GRAC_TESTING": 27,
"CLASS_IND_L": 28,
"CLASS_IND_TEN": 29,
"CLASS_IND_TWELVE": 30,
"CLASS_IND_FOURTEEN": 31,
"CLASS_IND_SIXTEEN": 32,
"CLASS_IND_EIGHTEEN": 33,
"ACB_G": 34,
"ACB_PG": 35,
"ACB_M": 36,
"ACB_MA15": 37,
"ACB_R18": 38,
"ACB_RC": 39,
}
)
func (x AgeRatingRatingEnum) Enum() *AgeRatingRatingEnum {
p := new(AgeRatingRatingEnum)
*p = x
return p
}
func (x AgeRatingRatingEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (AgeRatingRatingEnum) Descriptor() protoreflect.EnumDescriptor {
return file_proto_igdbapi_proto_enumTypes[1].Descriptor()
}
func (AgeRatingRatingEnum) Type() protoreflect.EnumType {
return &file_proto_igdbapi_proto_enumTypes[1]
}
func (x AgeRatingRatingEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use AgeRatingRatingEnum.Descriptor instead.
func (AgeRatingRatingEnum) EnumDescriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{1}
}
type AgeRatingContentDescriptionCategoryEnum int32
const (
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_AGERATINGCONTENTDESCRIPTION_CATEGORY_NULL AgeRatingContentDescriptionCategoryEnum = 0
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_ALCOHOL_REFERENCE AgeRatingContentDescriptionCategoryEnum = 1
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_ANIMATED_BLOOD AgeRatingContentDescriptionCategoryEnum = 2
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_BLOOD AgeRatingContentDescriptionCategoryEnum = 3
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_BLOOD_AND_GORE AgeRatingContentDescriptionCategoryEnum = 4
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_CARTOON_VIOLENCE AgeRatingContentDescriptionCategoryEnum = 5
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_COMIC_MISCHIEF AgeRatingContentDescriptionCategoryEnum = 6
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_CRUDE_HUMOR AgeRatingContentDescriptionCategoryEnum = 7
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_DRUG_REFERENCE AgeRatingContentDescriptionCategoryEnum = 8
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_FANTASY_VIOLENCE AgeRatingContentDescriptionCategoryEnum = 9
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_INTENSE_VIOLENCE AgeRatingContentDescriptionCategoryEnum = 10
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_LANGUAGE AgeRatingContentDescriptionCategoryEnum = 11
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_LYRICS AgeRatingContentDescriptionCategoryEnum = 12
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_MATURE_HUMOR AgeRatingContentDescriptionCategoryEnum = 13
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_NUDITY AgeRatingContentDescriptionCategoryEnum = 14
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_PARTIAL_NUDITY AgeRatingContentDescriptionCategoryEnum = 15
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_REAL_GAMBLING AgeRatingContentDescriptionCategoryEnum = 16
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_SEXUAL_CONTENT AgeRatingContentDescriptionCategoryEnum = 17
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_SEXUAL_THEMES AgeRatingContentDescriptionCategoryEnum = 18
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_SEXUAL_VIOLENCE AgeRatingContentDescriptionCategoryEnum = 19
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_SIMULATED_GAMBLING AgeRatingContentDescriptionCategoryEnum = 20
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_STRONG_LANGUAGE AgeRatingContentDescriptionCategoryEnum = 21
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_STRONG_LYRICS AgeRatingContentDescriptionCategoryEnum = 22
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_STRONG_SEXUAL_CONTENT AgeRatingContentDescriptionCategoryEnum = 23
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_SUGGESTIVE_THEMES AgeRatingContentDescriptionCategoryEnum = 24
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_TOBACCO_REFERENCE AgeRatingContentDescriptionCategoryEnum = 25
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_USE_OF_ALCOHOL AgeRatingContentDescriptionCategoryEnum = 26
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_USE_OF_DRUGS AgeRatingContentDescriptionCategoryEnum = 27
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_USE_OF_TOBACCO AgeRatingContentDescriptionCategoryEnum = 28
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_VIOLENCE AgeRatingContentDescriptionCategoryEnum = 29
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_VIOLENT_REFERENCES AgeRatingContentDescriptionCategoryEnum = 30
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_ANIMATED_VIOLENCE AgeRatingContentDescriptionCategoryEnum = 31
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_MILD_LANGUAGE AgeRatingContentDescriptionCategoryEnum = 32
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_MILD_VIOLENCE AgeRatingContentDescriptionCategoryEnum = 33
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_USE_OF_DRUGS_AND_ALCOHOL AgeRatingContentDescriptionCategoryEnum = 34
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_DRUG_AND_ALCOHOL_REFERENCE AgeRatingContentDescriptionCategoryEnum = 35
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_MILD_SUGGESTIVE_THEMES AgeRatingContentDescriptionCategoryEnum = 36
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_MILD_CARTOON_VIOLENCE AgeRatingContentDescriptionCategoryEnum = 37
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_MILD_BLOOD AgeRatingContentDescriptionCategoryEnum = 38
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_REALISTIC_BLOOD_AND_GORE AgeRatingContentDescriptionCategoryEnum = 39
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_REALISTIC_VIOLENCE AgeRatingContentDescriptionCategoryEnum = 40
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_ALCOHOL_AND_TOBACCO_REFERENCE AgeRatingContentDescriptionCategoryEnum = 41
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_MATURE_SEXUAL_THEMES AgeRatingContentDescriptionCategoryEnum = 42
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_MILD_ANIMATED_VIOLENCE AgeRatingContentDescriptionCategoryEnum = 43
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_MILD_SEXUAL_THEMES AgeRatingContentDescriptionCategoryEnum = 44
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_USE_OF_ALCOHOL_AND_TOBACCO AgeRatingContentDescriptionCategoryEnum = 45
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_ANIMATED_BLOOD_AND_GORE AgeRatingContentDescriptionCategoryEnum = 46
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_MILD_FANTASY_VIOLENCE AgeRatingContentDescriptionCategoryEnum = 47
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_MILD_LYRICS AgeRatingContentDescriptionCategoryEnum = 48
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_ESRB_REALISTIC_BLOOD AgeRatingContentDescriptionCategoryEnum = 49
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_PEGI_VIOLENCE AgeRatingContentDescriptionCategoryEnum = 50
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_PEGI_SEX AgeRatingContentDescriptionCategoryEnum = 51
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_PEGI_DRUGS AgeRatingContentDescriptionCategoryEnum = 52
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_PEGI_FEAR AgeRatingContentDescriptionCategoryEnum = 53
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_PEGI_DISCRIMINATION AgeRatingContentDescriptionCategoryEnum = 54
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_PEGI_BAD_LANGUAGE AgeRatingContentDescriptionCategoryEnum = 55
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_PEGI_GAMBLING AgeRatingContentDescriptionCategoryEnum = 56
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_PEGI_ONLINE_GAMEPLAY AgeRatingContentDescriptionCategoryEnum = 57
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_PEGI_IN_GAME_PURCHASES AgeRatingContentDescriptionCategoryEnum = 58
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_CERO_LOVE AgeRatingContentDescriptionCategoryEnum = 59
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_CERO_SEXUAL_CONTENT AgeRatingContentDescriptionCategoryEnum = 60
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_CERO_VIOLENCE AgeRatingContentDescriptionCategoryEnum = 61
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_CERO_HORROR AgeRatingContentDescriptionCategoryEnum = 62
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_CERO_DRINKING_SMOKING AgeRatingContentDescriptionCategoryEnum = 63
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_CERO_GAMBLING AgeRatingContentDescriptionCategoryEnum = 64
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_CERO_CRIME AgeRatingContentDescriptionCategoryEnum = 65
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_CERO_CONTROLLED_SUBSTANCES AgeRatingContentDescriptionCategoryEnum = 66
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_CERO_LANGUAGES_AND_OTHERS AgeRatingContentDescriptionCategoryEnum = 67
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_GRAC_SEXUALITY AgeRatingContentDescriptionCategoryEnum = 68
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_GRAC_VIOLENCE AgeRatingContentDescriptionCategoryEnum = 69
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_GRAC_FEAR_HORROR_THREATENING AgeRatingContentDescriptionCategoryEnum = 70
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_GRAC_LANGUAGE AgeRatingContentDescriptionCategoryEnum = 71
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_GRAC_ALCOHOL_TOBACCO_DRUG AgeRatingContentDescriptionCategoryEnum = 72
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_GRAC_CRIME_ANTI_SOCIAL AgeRatingContentDescriptionCategoryEnum = 73
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_GRAC_GAMBLING AgeRatingContentDescriptionCategoryEnum = 74
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_CLASS_IND_VIOLENCIA AgeRatingContentDescriptionCategoryEnum = 75
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_CLASS_IND_VIOLENCIA_EXTREMA AgeRatingContentDescriptionCategoryEnum = 76
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_CLASS_IND_CONTEUDO_SEXUAL AgeRatingContentDescriptionCategoryEnum = 77
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_CLASS_IND_NUDEZ AgeRatingContentDescriptionCategoryEnum = 78
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_CLASS_IND_SEXO AgeRatingContentDescriptionCategoryEnum = 79
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_CLASS_IND_SEXO_EXPLICITO AgeRatingContentDescriptionCategoryEnum = 80
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_CLASS_IND_DROGAS AgeRatingContentDescriptionCategoryEnum = 81
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_CLASS_IND_DROGAS_LICITAS AgeRatingContentDescriptionCategoryEnum = 82
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_CLASS_IND_DROGAS_ILICITAS AgeRatingContentDescriptionCategoryEnum = 83
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_CLASS_IND_LINGUAGEM_IMPROPRIA AgeRatingContentDescriptionCategoryEnum = 84
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
AgeRatingContentDescriptionCategoryEnum_CLASS_IND_ATOS_CRIMINOSOS AgeRatingContentDescriptionCategoryEnum = 85
)
// Enum value maps for AgeRatingContentDescriptionCategoryEnum.
var (
AgeRatingContentDescriptionCategoryEnum_name = map[int32]string{
0: "AGERATINGCONTENTDESCRIPTION_CATEGORY_NULL",
1: "ESRB_ALCOHOL_REFERENCE",
2: "ESRB_ANIMATED_BLOOD",
3: "ESRB_BLOOD",
4: "ESRB_BLOOD_AND_GORE",
5: "ESRB_CARTOON_VIOLENCE",
6: "ESRB_COMIC_MISCHIEF",
7: "ESRB_CRUDE_HUMOR",
8: "ESRB_DRUG_REFERENCE",
9: "ESRB_FANTASY_VIOLENCE",
10: "ESRB_INTENSE_VIOLENCE",
11: "ESRB_LANGUAGE",
12: "ESRB_LYRICS",
13: "ESRB_MATURE_HUMOR",
14: "ESRB_NUDITY",
15: "ESRB_PARTIAL_NUDITY",
16: "ESRB_REAL_GAMBLING",
17: "ESRB_SEXUAL_CONTENT",
18: "ESRB_SEXUAL_THEMES",
19: "ESRB_SEXUAL_VIOLENCE",
20: "ESRB_SIMULATED_GAMBLING",
21: "ESRB_STRONG_LANGUAGE",
22: "ESRB_STRONG_LYRICS",
23: "ESRB_STRONG_SEXUAL_CONTENT",
24: "ESRB_SUGGESTIVE_THEMES",
25: "ESRB_TOBACCO_REFERENCE",
26: "ESRB_USE_OF_ALCOHOL",
27: "ESRB_USE_OF_DRUGS",
28: "ESRB_USE_OF_TOBACCO",
29: "ESRB_VIOLENCE",
30: "ESRB_VIOLENT_REFERENCES",
31: "ESRB_ANIMATED_VIOLENCE",
32: "ESRB_MILD_LANGUAGE",
33: "ESRB_MILD_VIOLENCE",
34: "ESRB_USE_OF_DRUGS_AND_ALCOHOL",
35: "ESRB_DRUG_AND_ALCOHOL_REFERENCE",
36: "ESRB_MILD_SUGGESTIVE_THEMES",
37: "ESRB_MILD_CARTOON_VIOLENCE",
38: "ESRB_MILD_BLOOD",
39: "ESRB_REALISTIC_BLOOD_AND_GORE",
40: "ESRB_REALISTIC_VIOLENCE",
41: "ESRB_ALCOHOL_AND_TOBACCO_REFERENCE",
42: "ESRB_MATURE_SEXUAL_THEMES",
43: "ESRB_MILD_ANIMATED_VIOLENCE",
44: "ESRB_MILD_SEXUAL_THEMES",
45: "ESRB_USE_OF_ALCOHOL_AND_TOBACCO",
46: "ESRB_ANIMATED_BLOOD_AND_GORE",
47: "ESRB_MILD_FANTASY_VIOLENCE",
48: "ESRB_MILD_LYRICS",
49: "ESRB_REALISTIC_BLOOD",
50: "PEGI_VIOLENCE",
51: "PEGI_SEX",
52: "PEGI_DRUGS",
53: "PEGI_FEAR",
54: "PEGI_DISCRIMINATION",
55: "PEGI_BAD_LANGUAGE",
56: "PEGI_GAMBLING",
57: "PEGI_ONLINE_GAMEPLAY",
58: "PEGI_IN_GAME_PURCHASES",
59: "CERO_LOVE",
60: "CERO_SEXUAL_CONTENT",
61: "CERO_VIOLENCE",
62: "CERO_HORROR",
63: "CERO_DRINKING_SMOKING",
64: "CERO_GAMBLING",
65: "CERO_CRIME",
66: "CERO_CONTROLLED_SUBSTANCES",
67: "CERO_LANGUAGES_AND_OTHERS",
68: "GRAC_SEXUALITY",
69: "GRAC_VIOLENCE",
70: "GRAC_FEAR_HORROR_THREATENING",
71: "GRAC_LANGUAGE",
72: "GRAC_ALCOHOL_TOBACCO_DRUG",
73: "GRAC_CRIME_ANTI_SOCIAL",
74: "GRAC_GAMBLING",
75: "CLASS_IND_VIOLENCIA",
76: "CLASS_IND_VIOLENCIA_EXTREMA",
77: "CLASS_IND_CONTEUDO_SEXUAL",
78: "CLASS_IND_NUDEZ",
79: "CLASS_IND_SEXO",
80: "CLASS_IND_SEXO_EXPLICITO",
81: "CLASS_IND_DROGAS",
82: "CLASS_IND_DROGAS_LICITAS",
83: "CLASS_IND_DROGAS_ILICITAS",
84: "CLASS_IND_LINGUAGEM_IMPROPRIA",
85: "CLASS_IND_ATOS_CRIMINOSOS",
}
AgeRatingContentDescriptionCategoryEnum_value = map[string]int32{
"AGERATINGCONTENTDESCRIPTION_CATEGORY_NULL": 0,
"ESRB_ALCOHOL_REFERENCE": 1,
"ESRB_ANIMATED_BLOOD": 2,
"ESRB_BLOOD": 3,
"ESRB_BLOOD_AND_GORE": 4,
"ESRB_CARTOON_VIOLENCE": 5,
"ESRB_COMIC_MISCHIEF": 6,
"ESRB_CRUDE_HUMOR": 7,
"ESRB_DRUG_REFERENCE": 8,
"ESRB_FANTASY_VIOLENCE": 9,
"ESRB_INTENSE_VIOLENCE": 10,
"ESRB_LANGUAGE": 11,
"ESRB_LYRICS": 12,
"ESRB_MATURE_HUMOR": 13,
"ESRB_NUDITY": 14,
"ESRB_PARTIAL_NUDITY": 15,
"ESRB_REAL_GAMBLING": 16,
"ESRB_SEXUAL_CONTENT": 17,
"ESRB_SEXUAL_THEMES": 18,
"ESRB_SEXUAL_VIOLENCE": 19,
"ESRB_SIMULATED_GAMBLING": 20,
"ESRB_STRONG_LANGUAGE": 21,
"ESRB_STRONG_LYRICS": 22,
"ESRB_STRONG_SEXUAL_CONTENT": 23,
"ESRB_SUGGESTIVE_THEMES": 24,
"ESRB_TOBACCO_REFERENCE": 25,
"ESRB_USE_OF_ALCOHOL": 26,
"ESRB_USE_OF_DRUGS": 27,
"ESRB_USE_OF_TOBACCO": 28,
"ESRB_VIOLENCE": 29,
"ESRB_VIOLENT_REFERENCES": 30,
"ESRB_ANIMATED_VIOLENCE": 31,
"ESRB_MILD_LANGUAGE": 32,
"ESRB_MILD_VIOLENCE": 33,
"ESRB_USE_OF_DRUGS_AND_ALCOHOL": 34,
"ESRB_DRUG_AND_ALCOHOL_REFERENCE": 35,
"ESRB_MILD_SUGGESTIVE_THEMES": 36,
"ESRB_MILD_CARTOON_VIOLENCE": 37,
"ESRB_MILD_BLOOD": 38,
"ESRB_REALISTIC_BLOOD_AND_GORE": 39,
"ESRB_REALISTIC_VIOLENCE": 40,
"ESRB_ALCOHOL_AND_TOBACCO_REFERENCE": 41,
"ESRB_MATURE_SEXUAL_THEMES": 42,
"ESRB_MILD_ANIMATED_VIOLENCE": 43,
"ESRB_MILD_SEXUAL_THEMES": 44,
"ESRB_USE_OF_ALCOHOL_AND_TOBACCO": 45,
"ESRB_ANIMATED_BLOOD_AND_GORE": 46,
"ESRB_MILD_FANTASY_VIOLENCE": 47,
"ESRB_MILD_LYRICS": 48,
"ESRB_REALISTIC_BLOOD": 49,
"PEGI_VIOLENCE": 50,
"PEGI_SEX": 51,
"PEGI_DRUGS": 52,
"PEGI_FEAR": 53,
"PEGI_DISCRIMINATION": 54,
"PEGI_BAD_LANGUAGE": 55,
"PEGI_GAMBLING": 56,
"PEGI_ONLINE_GAMEPLAY": 57,
"PEGI_IN_GAME_PURCHASES": 58,
"CERO_LOVE": 59,
"CERO_SEXUAL_CONTENT": 60,
"CERO_VIOLENCE": 61,
"CERO_HORROR": 62,
"CERO_DRINKING_SMOKING": 63,
"CERO_GAMBLING": 64,
"CERO_CRIME": 65,
"CERO_CONTROLLED_SUBSTANCES": 66,
"CERO_LANGUAGES_AND_OTHERS": 67,
"GRAC_SEXUALITY": 68,
"GRAC_VIOLENCE": 69,
"GRAC_FEAR_HORROR_THREATENING": 70,
"GRAC_LANGUAGE": 71,
"GRAC_ALCOHOL_TOBACCO_DRUG": 72,
"GRAC_CRIME_ANTI_SOCIAL": 73,
"GRAC_GAMBLING": 74,
"CLASS_IND_VIOLENCIA": 75,
"CLASS_IND_VIOLENCIA_EXTREMA": 76,
"CLASS_IND_CONTEUDO_SEXUAL": 77,
"CLASS_IND_NUDEZ": 78,
"CLASS_IND_SEXO": 79,
"CLASS_IND_SEXO_EXPLICITO": 80,
"CLASS_IND_DROGAS": 81,
"CLASS_IND_DROGAS_LICITAS": 82,
"CLASS_IND_DROGAS_ILICITAS": 83,
"CLASS_IND_LINGUAGEM_IMPROPRIA": 84,
"CLASS_IND_ATOS_CRIMINOSOS": 85,
}
)
func (x AgeRatingContentDescriptionCategoryEnum) Enum() *AgeRatingContentDescriptionCategoryEnum {
p := new(AgeRatingContentDescriptionCategoryEnum)
*p = x
return p
}
func (x AgeRatingContentDescriptionCategoryEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (AgeRatingContentDescriptionCategoryEnum) Descriptor() protoreflect.EnumDescriptor {
return file_proto_igdbapi_proto_enumTypes[2].Descriptor()
}
func (AgeRatingContentDescriptionCategoryEnum) Type() protoreflect.EnumType {
return &file_proto_igdbapi_proto_enumTypes[2]
}
func (x AgeRatingContentDescriptionCategoryEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use AgeRatingContentDescriptionCategoryEnum.Descriptor instead.
func (AgeRatingContentDescriptionCategoryEnum) EnumDescriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{2}
}
type GenderGenderEnum int32
const (
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GenderGenderEnum_MALE GenderGenderEnum = 0
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GenderGenderEnum_FEMALE GenderGenderEnum = 1
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GenderGenderEnum_OTHER GenderGenderEnum = 2
)
// Enum value maps for GenderGenderEnum.
var (
GenderGenderEnum_name = map[int32]string{
0: "MALE",
1: "FEMALE",
2: "OTHER",
}
GenderGenderEnum_value = map[string]int32{
"MALE": 0,
"FEMALE": 1,
"OTHER": 2,
}
)
func (x GenderGenderEnum) Enum() *GenderGenderEnum {
p := new(GenderGenderEnum)
*p = x
return p
}
func (x GenderGenderEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (GenderGenderEnum) Descriptor() protoreflect.EnumDescriptor {
return file_proto_igdbapi_proto_enumTypes[3].Descriptor()
}
func (GenderGenderEnum) Type() protoreflect.EnumType {
return &file_proto_igdbapi_proto_enumTypes[3]
}
func (x GenderGenderEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use GenderGenderEnum.Descriptor instead.
func (GenderGenderEnum) EnumDescriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{3}
}
type CharacterSpeciesEnum int32
const (
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
CharacterSpeciesEnum_CHARACTER_SPECIES_NULL CharacterSpeciesEnum = 0
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
CharacterSpeciesEnum_HUMAN CharacterSpeciesEnum = 1
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
CharacterSpeciesEnum_ALIEN CharacterSpeciesEnum = 2
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
CharacterSpeciesEnum_ANIMAL CharacterSpeciesEnum = 3
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
CharacterSpeciesEnum_ANDROID CharacterSpeciesEnum = 4
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
CharacterSpeciesEnum_UNKNOWN CharacterSpeciesEnum = 5
)
// Enum value maps for CharacterSpeciesEnum.
var (
CharacterSpeciesEnum_name = map[int32]string{
0: "CHARACTER_SPECIES_NULL",
1: "HUMAN",
2: "ALIEN",
3: "ANIMAL",
4: "ANDROID",
5: "UNKNOWN",
}
CharacterSpeciesEnum_value = map[string]int32{
"CHARACTER_SPECIES_NULL": 0,
"HUMAN": 1,
"ALIEN": 2,
"ANIMAL": 3,
"ANDROID": 4,
"UNKNOWN": 5,
}
)
func (x CharacterSpeciesEnum) Enum() *CharacterSpeciesEnum {
p := new(CharacterSpeciesEnum)
*p = x
return p
}
func (x CharacterSpeciesEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (CharacterSpeciesEnum) Descriptor() protoreflect.EnumDescriptor {
return file_proto_igdbapi_proto_enumTypes[4].Descriptor()
}
func (CharacterSpeciesEnum) Type() protoreflect.EnumType {
return &file_proto_igdbapi_proto_enumTypes[4]
}
func (x CharacterSpeciesEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use CharacterSpeciesEnum.Descriptor instead.
func (CharacterSpeciesEnum) EnumDescriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{4}
}
type DateFormatChangeDateCategoryEnum int32
const (
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
DateFormatChangeDateCategoryEnum_YYYYMMMMDD DateFormatChangeDateCategoryEnum = 0
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
DateFormatChangeDateCategoryEnum_YYYYMMMM DateFormatChangeDateCategoryEnum = 1
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
DateFormatChangeDateCategoryEnum_YYYY DateFormatChangeDateCategoryEnum = 2
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
DateFormatChangeDateCategoryEnum_YYYYQ1 DateFormatChangeDateCategoryEnum = 3
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
DateFormatChangeDateCategoryEnum_YYYYQ2 DateFormatChangeDateCategoryEnum = 4
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
DateFormatChangeDateCategoryEnum_YYYYQ3 DateFormatChangeDateCategoryEnum = 5
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
DateFormatChangeDateCategoryEnum_YYYYQ4 DateFormatChangeDateCategoryEnum = 6
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
DateFormatChangeDateCategoryEnum_TBD DateFormatChangeDateCategoryEnum = 7
)
// Enum value maps for DateFormatChangeDateCategoryEnum.
var (
DateFormatChangeDateCategoryEnum_name = map[int32]string{
0: "YYYYMMMMDD",
1: "YYYYMMMM",
2: "YYYY",
3: "YYYYQ1",
4: "YYYYQ2",
5: "YYYYQ3",
6: "YYYYQ4",
7: "TBD",
}
DateFormatChangeDateCategoryEnum_value = map[string]int32{
"YYYYMMMMDD": 0,
"YYYYMMMM": 1,
"YYYY": 2,
"YYYYQ1": 3,
"YYYYQ2": 4,
"YYYYQ3": 5,
"YYYYQ4": 6,
"TBD": 7,
}
)
func (x DateFormatChangeDateCategoryEnum) Enum() *DateFormatChangeDateCategoryEnum {
p := new(DateFormatChangeDateCategoryEnum)
*p = x
return p
}
func (x DateFormatChangeDateCategoryEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (DateFormatChangeDateCategoryEnum) Descriptor() protoreflect.EnumDescriptor {
return file_proto_igdbapi_proto_enumTypes[5].Descriptor()
}
func (DateFormatChangeDateCategoryEnum) Type() protoreflect.EnumType {
return &file_proto_igdbapi_proto_enumTypes[5]
}
func (x DateFormatChangeDateCategoryEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use DateFormatChangeDateCategoryEnum.Descriptor instead.
func (DateFormatChangeDateCategoryEnum) EnumDescriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{5}
}
type WebsiteCategoryEnum int32
const (
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
WebsiteCategoryEnum_WEBSITE_CATEGORY_NULL WebsiteCategoryEnum = 0
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
WebsiteCategoryEnum_WEBSITE_OFFICIAL WebsiteCategoryEnum = 1
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
WebsiteCategoryEnum_WEBSITE_WIKIA WebsiteCategoryEnum = 2
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
WebsiteCategoryEnum_WEBSITE_WIKIPEDIA WebsiteCategoryEnum = 3
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
WebsiteCategoryEnum_WEBSITE_FACEBOOK WebsiteCategoryEnum = 4
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
WebsiteCategoryEnum_WEBSITE_TWITTER WebsiteCategoryEnum = 5
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
WebsiteCategoryEnum_WEBSITE_TWITCH WebsiteCategoryEnum = 6
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
WebsiteCategoryEnum_WEBSITE_INSTAGRAM WebsiteCategoryEnum = 8
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
WebsiteCategoryEnum_WEBSITE_YOUTUBE WebsiteCategoryEnum = 9
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
WebsiteCategoryEnum_WEBSITE_IPHONE WebsiteCategoryEnum = 10
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
WebsiteCategoryEnum_WEBSITE_IPAD WebsiteCategoryEnum = 11
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
WebsiteCategoryEnum_WEBSITE_ANDROID WebsiteCategoryEnum = 12
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
WebsiteCategoryEnum_WEBSITE_STEAM WebsiteCategoryEnum = 13
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
WebsiteCategoryEnum_WEBSITE_REDDIT WebsiteCategoryEnum = 14
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
WebsiteCategoryEnum_WEBSITE_ITCH WebsiteCategoryEnum = 15
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
WebsiteCategoryEnum_WEBSITE_EPICGAMES WebsiteCategoryEnum = 16
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
WebsiteCategoryEnum_WEBSITE_GOG WebsiteCategoryEnum = 17
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
WebsiteCategoryEnum_WEBSITE_DISCORD WebsiteCategoryEnum = 18
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
WebsiteCategoryEnum_WEBSITE_BLUESKY WebsiteCategoryEnum = 19
)
// Enum value maps for WebsiteCategoryEnum.
var (
WebsiteCategoryEnum_name = map[int32]string{
0: "WEBSITE_CATEGORY_NULL",
1: "WEBSITE_OFFICIAL",
2: "WEBSITE_WIKIA",
3: "WEBSITE_WIKIPEDIA",
4: "WEBSITE_FACEBOOK",
5: "WEBSITE_TWITTER",
6: "WEBSITE_TWITCH",
8: "WEBSITE_INSTAGRAM",
9: "WEBSITE_YOUTUBE",
10: "WEBSITE_IPHONE",
11: "WEBSITE_IPAD",
12: "WEBSITE_ANDROID",
13: "WEBSITE_STEAM",
14: "WEBSITE_REDDIT",
15: "WEBSITE_ITCH",
16: "WEBSITE_EPICGAMES",
17: "WEBSITE_GOG",
18: "WEBSITE_DISCORD",
19: "WEBSITE_BLUESKY",
}
WebsiteCategoryEnum_value = map[string]int32{
"WEBSITE_CATEGORY_NULL": 0,
"WEBSITE_OFFICIAL": 1,
"WEBSITE_WIKIA": 2,
"WEBSITE_WIKIPEDIA": 3,
"WEBSITE_FACEBOOK": 4,
"WEBSITE_TWITTER": 5,
"WEBSITE_TWITCH": 6,
"WEBSITE_INSTAGRAM": 8,
"WEBSITE_YOUTUBE": 9,
"WEBSITE_IPHONE": 10,
"WEBSITE_IPAD": 11,
"WEBSITE_ANDROID": 12,
"WEBSITE_STEAM": 13,
"WEBSITE_REDDIT": 14,
"WEBSITE_ITCH": 15,
"WEBSITE_EPICGAMES": 16,
"WEBSITE_GOG": 17,
"WEBSITE_DISCORD": 18,
"WEBSITE_BLUESKY": 19,
}
)
func (x WebsiteCategoryEnum) Enum() *WebsiteCategoryEnum {
p := new(WebsiteCategoryEnum)
*p = x
return p
}
func (x WebsiteCategoryEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (WebsiteCategoryEnum) Descriptor() protoreflect.EnumDescriptor {
return file_proto_igdbapi_proto_enumTypes[6].Descriptor()
}
func (WebsiteCategoryEnum) Type() protoreflect.EnumType {
return &file_proto_igdbapi_proto_enumTypes[6]
}
func (x WebsiteCategoryEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use WebsiteCategoryEnum.Descriptor instead.
func (WebsiteCategoryEnum) EnumDescriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{6}
}
type ExternalGameCategoryEnum int32
const (
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameCategoryEnum_EXTERNALGAME_CATEGORY_NULL ExternalGameCategoryEnum = 0
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameCategoryEnum_EXTERNALGAME_STEAM ExternalGameCategoryEnum = 1
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameCategoryEnum_EXTERNALGAME_GOG ExternalGameCategoryEnum = 5
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameCategoryEnum_EXTERNALGAME_YOUTUBE ExternalGameCategoryEnum = 10
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameCategoryEnum_EXTERNALGAME_MICROSOFT ExternalGameCategoryEnum = 11
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameCategoryEnum_EXTERNALGAME_APPLE ExternalGameCategoryEnum = 13
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameCategoryEnum_EXTERNALGAME_TWITCH ExternalGameCategoryEnum = 14
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameCategoryEnum_EXTERNALGAME_ANDROID ExternalGameCategoryEnum = 15
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameCategoryEnum_EXTERNALGAME_AMAZON_ASIN ExternalGameCategoryEnum = 20
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameCategoryEnum_EXTERNALGAME_AMAZON_LUNA ExternalGameCategoryEnum = 22
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameCategoryEnum_EXTERNALGAME_AMAZON_ADG ExternalGameCategoryEnum = 23
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameCategoryEnum_EXTERNALGAME_EPIC_GAME_STORE ExternalGameCategoryEnum = 26
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameCategoryEnum_EXTERNALGAME_OCULUS ExternalGameCategoryEnum = 28
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameCategoryEnum_EXTERNALGAME_UTOMIK ExternalGameCategoryEnum = 29
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameCategoryEnum_EXTERNALGAME_ITCH_IO ExternalGameCategoryEnum = 30
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameCategoryEnum_EXTERNALGAME_XBOX_MARKETPLACE ExternalGameCategoryEnum = 31
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameCategoryEnum_EXTERNALGAME_KARTRIDGE ExternalGameCategoryEnum = 32
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameCategoryEnum_EXTERNALGAME_PLAYSTATION_STORE_US ExternalGameCategoryEnum = 36
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameCategoryEnum_EXTERNALGAME_FOCUS_ENTERTAINMENT ExternalGameCategoryEnum = 37
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameCategoryEnum_EXTERNALGAME_XBOX_GAME_PASS_ULTIMATE_CLOUD ExternalGameCategoryEnum = 54
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameCategoryEnum_EXTERNALGAME_GAMEJOLT ExternalGameCategoryEnum = 55
)
// Enum value maps for ExternalGameCategoryEnum.
var (
ExternalGameCategoryEnum_name = map[int32]string{
0: "EXTERNALGAME_CATEGORY_NULL",
1: "EXTERNALGAME_STEAM",
5: "EXTERNALGAME_GOG",
10: "EXTERNALGAME_YOUTUBE",
11: "EXTERNALGAME_MICROSOFT",
13: "EXTERNALGAME_APPLE",
14: "EXTERNALGAME_TWITCH",
15: "EXTERNALGAME_ANDROID",
20: "EXTERNALGAME_AMAZON_ASIN",
22: "EXTERNALGAME_AMAZON_LUNA",
23: "EXTERNALGAME_AMAZON_ADG",
26: "EXTERNALGAME_EPIC_GAME_STORE",
28: "EXTERNALGAME_OCULUS",
29: "EXTERNALGAME_UTOMIK",
30: "EXTERNALGAME_ITCH_IO",
31: "EXTERNALGAME_XBOX_MARKETPLACE",
32: "EXTERNALGAME_KARTRIDGE",
36: "EXTERNALGAME_PLAYSTATION_STORE_US",
37: "EXTERNALGAME_FOCUS_ENTERTAINMENT",
54: "EXTERNALGAME_XBOX_GAME_PASS_ULTIMATE_CLOUD",
55: "EXTERNALGAME_GAMEJOLT",
}
ExternalGameCategoryEnum_value = map[string]int32{
"EXTERNALGAME_CATEGORY_NULL": 0,
"EXTERNALGAME_STEAM": 1,
"EXTERNALGAME_GOG": 5,
"EXTERNALGAME_YOUTUBE": 10,
"EXTERNALGAME_MICROSOFT": 11,
"EXTERNALGAME_APPLE": 13,
"EXTERNALGAME_TWITCH": 14,
"EXTERNALGAME_ANDROID": 15,
"EXTERNALGAME_AMAZON_ASIN": 20,
"EXTERNALGAME_AMAZON_LUNA": 22,
"EXTERNALGAME_AMAZON_ADG": 23,
"EXTERNALGAME_EPIC_GAME_STORE": 26,
"EXTERNALGAME_OCULUS": 28,
"EXTERNALGAME_UTOMIK": 29,
"EXTERNALGAME_ITCH_IO": 30,
"EXTERNALGAME_XBOX_MARKETPLACE": 31,
"EXTERNALGAME_KARTRIDGE": 32,
"EXTERNALGAME_PLAYSTATION_STORE_US": 36,
"EXTERNALGAME_FOCUS_ENTERTAINMENT": 37,
"EXTERNALGAME_XBOX_GAME_PASS_ULTIMATE_CLOUD": 54,
"EXTERNALGAME_GAMEJOLT": 55,
}
)
func (x ExternalGameCategoryEnum) Enum() *ExternalGameCategoryEnum {
p := new(ExternalGameCategoryEnum)
*p = x
return p
}
func (x ExternalGameCategoryEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ExternalGameCategoryEnum) Descriptor() protoreflect.EnumDescriptor {
return file_proto_igdbapi_proto_enumTypes[7].Descriptor()
}
func (ExternalGameCategoryEnum) Type() protoreflect.EnumType {
return &file_proto_igdbapi_proto_enumTypes[7]
}
func (x ExternalGameCategoryEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ExternalGameCategoryEnum.Descriptor instead.
func (ExternalGameCategoryEnum) EnumDescriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{7}
}
type ExternalGameMediaEnum int32
const (
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameMediaEnum_EXTERNALGAME_MEDIA_NULL ExternalGameMediaEnum = 0
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameMediaEnum_EXTERNALGAME_DIGITAL ExternalGameMediaEnum = 1
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ExternalGameMediaEnum_EXTERNALGAME_PHYSICAL ExternalGameMediaEnum = 2
)
// Enum value maps for ExternalGameMediaEnum.
var (
ExternalGameMediaEnum_name = map[int32]string{
0: "EXTERNALGAME_MEDIA_NULL",
1: "EXTERNALGAME_DIGITAL",
2: "EXTERNALGAME_PHYSICAL",
}
ExternalGameMediaEnum_value = map[string]int32{
"EXTERNALGAME_MEDIA_NULL": 0,
"EXTERNALGAME_DIGITAL": 1,
"EXTERNALGAME_PHYSICAL": 2,
}
)
func (x ExternalGameMediaEnum) Enum() *ExternalGameMediaEnum {
p := new(ExternalGameMediaEnum)
*p = x
return p
}
func (x ExternalGameMediaEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ExternalGameMediaEnum) Descriptor() protoreflect.EnumDescriptor {
return file_proto_igdbapi_proto_enumTypes[8].Descriptor()
}
func (ExternalGameMediaEnum) Type() protoreflect.EnumType {
return &file_proto_igdbapi_proto_enumTypes[8]
}
func (x ExternalGameMediaEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ExternalGameMediaEnum.Descriptor instead.
func (ExternalGameMediaEnum) EnumDescriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{8}
}
type GameCategoryEnum int32
const (
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameCategoryEnum_MAIN_GAME GameCategoryEnum = 0
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameCategoryEnum_DLC_ADDON GameCategoryEnum = 1
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameCategoryEnum_EXPANSION GameCategoryEnum = 2
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameCategoryEnum_BUNDLE GameCategoryEnum = 3
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameCategoryEnum_STANDALONE_EXPANSION GameCategoryEnum = 4
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameCategoryEnum_MOD GameCategoryEnum = 5
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameCategoryEnum_EPISODE GameCategoryEnum = 6
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameCategoryEnum_SEASON GameCategoryEnum = 7
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameCategoryEnum_REMAKE GameCategoryEnum = 8
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameCategoryEnum_REMASTER GameCategoryEnum = 9
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameCategoryEnum_EXPANDED_GAME GameCategoryEnum = 10
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameCategoryEnum_PORT GameCategoryEnum = 11
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameCategoryEnum_FORK GameCategoryEnum = 12
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameCategoryEnum_PACK GameCategoryEnum = 13
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameCategoryEnum_UPDATE GameCategoryEnum = 14
)
// Enum value maps for GameCategoryEnum.
var (
GameCategoryEnum_name = map[int32]string{
0: "MAIN_GAME",
1: "DLC_ADDON",
2: "EXPANSION",
3: "BUNDLE",
4: "STANDALONE_EXPANSION",
5: "MOD",
6: "EPISODE",
7: "SEASON",
8: "REMAKE",
9: "REMASTER",
10: "EXPANDED_GAME",
11: "PORT",
12: "FORK",
13: "PACK",
14: "UPDATE",
}
GameCategoryEnum_value = map[string]int32{
"MAIN_GAME": 0,
"DLC_ADDON": 1,
"EXPANSION": 2,
"BUNDLE": 3,
"STANDALONE_EXPANSION": 4,
"MOD": 5,
"EPISODE": 6,
"SEASON": 7,
"REMAKE": 8,
"REMASTER": 9,
"EXPANDED_GAME": 10,
"PORT": 11,
"FORK": 12,
"PACK": 13,
"UPDATE": 14,
}
)
func (x GameCategoryEnum) Enum() *GameCategoryEnum {
p := new(GameCategoryEnum)
*p = x
return p
}
func (x GameCategoryEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (GameCategoryEnum) Descriptor() protoreflect.EnumDescriptor {
return file_proto_igdbapi_proto_enumTypes[9].Descriptor()
}
func (GameCategoryEnum) Type() protoreflect.EnumType {
return &file_proto_igdbapi_proto_enumTypes[9]
}
func (x GameCategoryEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use GameCategoryEnum.Descriptor instead.
func (GameCategoryEnum) EnumDescriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{9}
}
type GameStatusEnum int32
const (
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameStatusEnum_RELEASED GameStatusEnum = 0
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameStatusEnum_ALPHA GameStatusEnum = 2
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameStatusEnum_BETA GameStatusEnum = 3
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameStatusEnum_EARLY_ACCESS GameStatusEnum = 4
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameStatusEnum_OFFLINE GameStatusEnum = 5
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameStatusEnum_CANCELLED GameStatusEnum = 6
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameStatusEnum_RUMORED GameStatusEnum = 7
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
GameStatusEnum_DELISTED GameStatusEnum = 8
)
// Enum value maps for GameStatusEnum.
var (
GameStatusEnum_name = map[int32]string{
0: "RELEASED",
2: "ALPHA",
3: "BETA",
4: "EARLY_ACCESS",
5: "OFFLINE",
6: "CANCELLED",
7: "RUMORED",
8: "DELISTED",
}
GameStatusEnum_value = map[string]int32{
"RELEASED": 0,
"ALPHA": 2,
"BETA": 3,
"EARLY_ACCESS": 4,
"OFFLINE": 5,
"CANCELLED": 6,
"RUMORED": 7,
"DELISTED": 8,
}
)
func (x GameStatusEnum) Enum() *GameStatusEnum {
p := new(GameStatusEnum)
*p = x
return p
}
func (x GameStatusEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (GameStatusEnum) Descriptor() protoreflect.EnumDescriptor {
return file_proto_igdbapi_proto_enumTypes[10].Descriptor()
}
func (GameStatusEnum) Type() protoreflect.EnumType {
return &file_proto_igdbapi_proto_enumTypes[10]
}
func (x GameStatusEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use GameStatusEnum.Descriptor instead.
func (GameStatusEnum) EnumDescriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{10}
}
type GameVersionFeatureCategoryEnum int32
const (
GameVersionFeatureCategoryEnum_BOOLEAN GameVersionFeatureCategoryEnum = 0
GameVersionFeatureCategoryEnum_DESCRIPTION GameVersionFeatureCategoryEnum = 1
)
// Enum value maps for GameVersionFeatureCategoryEnum.
var (
GameVersionFeatureCategoryEnum_name = map[int32]string{
0: "BOOLEAN",
1: "DESCRIPTION",
}
GameVersionFeatureCategoryEnum_value = map[string]int32{
"BOOLEAN": 0,
"DESCRIPTION": 1,
}
)
func (x GameVersionFeatureCategoryEnum) Enum() *GameVersionFeatureCategoryEnum {
p := new(GameVersionFeatureCategoryEnum)
*p = x
return p
}
func (x GameVersionFeatureCategoryEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (GameVersionFeatureCategoryEnum) Descriptor() protoreflect.EnumDescriptor {
return file_proto_igdbapi_proto_enumTypes[11].Descriptor()
}
func (GameVersionFeatureCategoryEnum) Type() protoreflect.EnumType {
return &file_proto_igdbapi_proto_enumTypes[11]
}
func (x GameVersionFeatureCategoryEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use GameVersionFeatureCategoryEnum.Descriptor instead.
func (GameVersionFeatureCategoryEnum) EnumDescriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{11}
}
type GameVersionFeatureValueIncludedFeatureEnum int32
const (
GameVersionFeatureValueIncludedFeatureEnum_NOT_INCLUDED GameVersionFeatureValueIncludedFeatureEnum = 0
GameVersionFeatureValueIncludedFeatureEnum_INCLUDED GameVersionFeatureValueIncludedFeatureEnum = 1
GameVersionFeatureValueIncludedFeatureEnum_PRE_ORDER_ONLY GameVersionFeatureValueIncludedFeatureEnum = 2
)
// Enum value maps for GameVersionFeatureValueIncludedFeatureEnum.
var (
GameVersionFeatureValueIncludedFeatureEnum_name = map[int32]string{
0: "NOT_INCLUDED",
1: "INCLUDED",
2: "PRE_ORDER_ONLY",
}
GameVersionFeatureValueIncludedFeatureEnum_value = map[string]int32{
"NOT_INCLUDED": 0,
"INCLUDED": 1,
"PRE_ORDER_ONLY": 2,
}
)
func (x GameVersionFeatureValueIncludedFeatureEnum) Enum() *GameVersionFeatureValueIncludedFeatureEnum {
p := new(GameVersionFeatureValueIncludedFeatureEnum)
*p = x
return p
}
func (x GameVersionFeatureValueIncludedFeatureEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (GameVersionFeatureValueIncludedFeatureEnum) Descriptor() protoreflect.EnumDescriptor {
return file_proto_igdbapi_proto_enumTypes[12].Descriptor()
}
func (GameVersionFeatureValueIncludedFeatureEnum) Type() protoreflect.EnumType {
return &file_proto_igdbapi_proto_enumTypes[12]
}
func (x GameVersionFeatureValueIncludedFeatureEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use GameVersionFeatureValueIncludedFeatureEnum.Descriptor instead.
func (GameVersionFeatureValueIncludedFeatureEnum) EnumDescriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{12}
}
type PlatformCategoryEnum int32
const (
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
PlatformCategoryEnum_PLATFORM_CATEGORY_NULL PlatformCategoryEnum = 0
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
PlatformCategoryEnum_CONSOLE PlatformCategoryEnum = 1
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
PlatformCategoryEnum_ARCADE PlatformCategoryEnum = 2
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
PlatformCategoryEnum_PLATFORM PlatformCategoryEnum = 3
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
PlatformCategoryEnum_OPERATING_SYSTEM PlatformCategoryEnum = 4
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
PlatformCategoryEnum_PORTABLE_CONSOLE PlatformCategoryEnum = 5
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
PlatformCategoryEnum_COMPUTER PlatformCategoryEnum = 6
)
// Enum value maps for PlatformCategoryEnum.
var (
PlatformCategoryEnum_name = map[int32]string{
0: "PLATFORM_CATEGORY_NULL",
1: "CONSOLE",
2: "ARCADE",
3: "PLATFORM",
4: "OPERATING_SYSTEM",
5: "PORTABLE_CONSOLE",
6: "COMPUTER",
}
PlatformCategoryEnum_value = map[string]int32{
"PLATFORM_CATEGORY_NULL": 0,
"CONSOLE": 1,
"ARCADE": 2,
"PLATFORM": 3,
"OPERATING_SYSTEM": 4,
"PORTABLE_CONSOLE": 5,
"COMPUTER": 6,
}
)
func (x PlatformCategoryEnum) Enum() *PlatformCategoryEnum {
p := new(PlatformCategoryEnum)
*p = x
return p
}
func (x PlatformCategoryEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (PlatformCategoryEnum) Descriptor() protoreflect.EnumDescriptor {
return file_proto_igdbapi_proto_enumTypes[13].Descriptor()
}
func (PlatformCategoryEnum) Type() protoreflect.EnumType {
return &file_proto_igdbapi_proto_enumTypes[13]
}
func (x PlatformCategoryEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use PlatformCategoryEnum.Descriptor instead.
func (PlatformCategoryEnum) EnumDescriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{13}
}
type RegionRegionEnum int32
const (
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
RegionRegionEnum_REGION_REGION_NULL RegionRegionEnum = 0
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
RegionRegionEnum_EUROPE RegionRegionEnum = 1
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
RegionRegionEnum_NORTH_AMERICA RegionRegionEnum = 2
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
RegionRegionEnum_AUSTRALIA RegionRegionEnum = 3
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
RegionRegionEnum_NEW_ZEALAND RegionRegionEnum = 4
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
RegionRegionEnum_JAPAN RegionRegionEnum = 5
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
RegionRegionEnum_CHINA RegionRegionEnum = 6
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
RegionRegionEnum_ASIA RegionRegionEnum = 7
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
RegionRegionEnum_WORLDWIDE RegionRegionEnum = 8
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
RegionRegionEnum_KOREA RegionRegionEnum = 9
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
RegionRegionEnum_BRAZIL RegionRegionEnum = 10
)
// Enum value maps for RegionRegionEnum.
var (
RegionRegionEnum_name = map[int32]string{
0: "REGION_REGION_NULL",
1: "EUROPE",
2: "NORTH_AMERICA",
3: "AUSTRALIA",
4: "NEW_ZEALAND",
5: "JAPAN",
6: "CHINA",
7: "ASIA",
8: "WORLDWIDE",
9: "KOREA",
10: "BRAZIL",
}
RegionRegionEnum_value = map[string]int32{
"REGION_REGION_NULL": 0,
"EUROPE": 1,
"NORTH_AMERICA": 2,
"AUSTRALIA": 3,
"NEW_ZEALAND": 4,
"JAPAN": 5,
"CHINA": 6,
"ASIA": 7,
"WORLDWIDE": 8,
"KOREA": 9,
"BRAZIL": 10,
}
)
func (x RegionRegionEnum) Enum() *RegionRegionEnum {
p := new(RegionRegionEnum)
*p = x
return p
}
func (x RegionRegionEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (RegionRegionEnum) Descriptor() protoreflect.EnumDescriptor {
return file_proto_igdbapi_proto_enumTypes[14].Descriptor()
}
func (RegionRegionEnum) Type() protoreflect.EnumType {
return &file_proto_igdbapi_proto_enumTypes[14]
}
func (x RegionRegionEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use RegionRegionEnum.Descriptor instead.
func (RegionRegionEnum) EnumDescriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{14}
}
type PopularitySourcePopularitySourceEnum int32
const (
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
PopularitySourcePopularitySourceEnum_POPULARITYSOURCE_POPULARITY_SOURCE_NULL PopularitySourcePopularitySourceEnum = 0
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
PopularitySourcePopularitySourceEnum_IGDB PopularitySourcePopularitySourceEnum = 121
)
// Enum value maps for PopularitySourcePopularitySourceEnum.
var (
PopularitySourcePopularitySourceEnum_name = map[int32]string{
0: "POPULARITYSOURCE_POPULARITY_SOURCE_NULL",
121: "IGDB",
}
PopularitySourcePopularitySourceEnum_value = map[string]int32{
"POPULARITYSOURCE_POPULARITY_SOURCE_NULL": 0,
"IGDB": 121,
}
)
func (x PopularitySourcePopularitySourceEnum) Enum() *PopularitySourcePopularitySourceEnum {
p := new(PopularitySourcePopularitySourceEnum)
*p = x
return p
}
func (x PopularitySourcePopularitySourceEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (PopularitySourcePopularitySourceEnum) Descriptor() protoreflect.EnumDescriptor {
return file_proto_igdbapi_proto_enumTypes[15].Descriptor()
}
func (PopularitySourcePopularitySourceEnum) Type() protoreflect.EnumType {
return &file_proto_igdbapi_proto_enumTypes[15]
}
func (x PopularitySourcePopularitySourceEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use PopularitySourcePopularitySourceEnum.Descriptor instead.
func (PopularitySourcePopularitySourceEnum) EnumDescriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{15}
}
type TestDummyEnumTestEnum int32
const (
TestDummyEnumTestEnum_TESTDUMMY_ENUM_TEST_NULL TestDummyEnumTestEnum = 0
TestDummyEnumTestEnum_ENUM1 TestDummyEnumTestEnum = 1
TestDummyEnumTestEnum_ENUM2 TestDummyEnumTestEnum = 2
)
// Enum value maps for TestDummyEnumTestEnum.
var (
TestDummyEnumTestEnum_name = map[int32]string{
0: "TESTDUMMY_ENUM_TEST_NULL",
1: "ENUM1",
2: "ENUM2",
}
TestDummyEnumTestEnum_value = map[string]int32{
"TESTDUMMY_ENUM_TEST_NULL": 0,
"ENUM1": 1,
"ENUM2": 2,
}
)
func (x TestDummyEnumTestEnum) Enum() *TestDummyEnumTestEnum {
p := new(TestDummyEnumTestEnum)
*p = x
return p
}
func (x TestDummyEnumTestEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (TestDummyEnumTestEnum) Descriptor() protoreflect.EnumDescriptor {
return file_proto_igdbapi_proto_enumTypes[16].Descriptor()
}
func (TestDummyEnumTestEnum) Type() protoreflect.EnumType {
return &file_proto_igdbapi_proto_enumTypes[16]
}
func (x TestDummyEnumTestEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use TestDummyEnumTestEnum.Descriptor instead.
func (TestDummyEnumTestEnum) EnumDescriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{16}
}
type Count struct {
state protoimpl.MessageState `protogen:"open.v1"`
Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Count) Reset() {
*x = Count{}
mi := &file_proto_igdbapi_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Count) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Count) ProtoMessage() {}
func (x *Count) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Count.ProtoReflect.Descriptor instead.
func (*Count) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{0}
}
func (x *Count) GetCount() int64 {
if x != nil {
return x.Count
}
return 0
}
type MultiQueryResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Results [][]byte `protobuf:"bytes,2,rep,name=results,proto3" json:"results,omitempty"`
Count int64 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *MultiQueryResult) Reset() {
*x = MultiQueryResult{}
mi := &file_proto_igdbapi_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MultiQueryResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MultiQueryResult) ProtoMessage() {}
func (x *MultiQueryResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MultiQueryResult.ProtoReflect.Descriptor instead.
func (*MultiQueryResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{1}
}
func (x *MultiQueryResult) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *MultiQueryResult) GetResults() [][]byte {
if x != nil {
return x.Results
}
return nil
}
func (x *MultiQueryResult) GetCount() int64 {
if x != nil {
return x.Count
}
return 0
}
type MultiQueryResultArray struct {
state protoimpl.MessageState `protogen:"open.v1"`
Result []*MultiQueryResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *MultiQueryResultArray) Reset() {
*x = MultiQueryResultArray{}
mi := &file_proto_igdbapi_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MultiQueryResultArray) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MultiQueryResultArray) ProtoMessage() {}
func (x *MultiQueryResultArray) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MultiQueryResultArray.ProtoReflect.Descriptor instead.
func (*MultiQueryResultArray) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{2}
}
func (x *MultiQueryResultArray) GetResult() []*MultiQueryResult {
if x != nil {
return x.Result
}
return nil
}
type AgeRatingResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Ageratings []*AgeRating `protobuf:"bytes,1,rep,name=ageratings,proto3" json:"ageratings,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AgeRatingResult) Reset() {
*x = AgeRatingResult{}
mi := &file_proto_igdbapi_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AgeRatingResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AgeRatingResult) ProtoMessage() {}
func (x *AgeRatingResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AgeRatingResult.ProtoReflect.Descriptor instead.
func (*AgeRatingResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{3}
}
func (x *AgeRatingResult) GetAgeratings() []*AgeRating {
if x != nil {
return x.Ageratings
}
return nil
}
type AgeRating struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
Category AgeRatingCategoryEnum `protobuf:"varint,2,opt,name=category,proto3,enum=proto.AgeRatingCategoryEnum" json:"category,omitempty"`
ContentDescriptions []*AgeRatingContentDescription `protobuf:"bytes,3,rep,name=content_descriptions,json=contentDescriptions,proto3" json:"content_descriptions,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
Rating AgeRatingRatingEnum `protobuf:"varint,4,opt,name=rating,proto3,enum=proto.AgeRatingRatingEnum" json:"rating,omitempty"`
RatingCoverUrl string `protobuf:"bytes,5,opt,name=rating_cover_url,json=ratingCoverUrl,proto3" json:"rating_cover_url,omitempty"`
Synopsis string `protobuf:"bytes,6,opt,name=synopsis,proto3" json:"synopsis,omitempty"`
Checksum string `protobuf:"bytes,7,opt,name=checksum,proto3" json:"checksum,omitempty"`
Organization *AgeRatingOrganization `protobuf:"bytes,8,opt,name=organization,proto3" json:"organization,omitempty"`
RatingCategory *AgeRatingCategory `protobuf:"bytes,9,opt,name=rating_category,json=ratingCategory,proto3" json:"rating_category,omitempty"`
RatingContentDescriptions []*AgeRatingContentDescriptionV2 `protobuf:"bytes,10,rep,name=rating_content_descriptions,json=ratingContentDescriptions,proto3" json:"rating_content_descriptions,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AgeRating) Reset() {
*x = AgeRating{}
mi := &file_proto_igdbapi_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AgeRating) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AgeRating) ProtoMessage() {}
func (x *AgeRating) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AgeRating.ProtoReflect.Descriptor instead.
func (*AgeRating) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{4}
}
func (x *AgeRating) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *AgeRating) GetCategory() AgeRatingCategoryEnum {
if x != nil {
return x.Category
}
return AgeRatingCategoryEnum_AGERATING_CATEGORY_NULL
}
func (x *AgeRating) GetContentDescriptions() []*AgeRatingContentDescription {
if x != nil {
return x.ContentDescriptions
}
return nil
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *AgeRating) GetRating() AgeRatingRatingEnum {
if x != nil {
return x.Rating
}
return AgeRatingRatingEnum_AGERATING_RATING_NULL
}
func (x *AgeRating) GetRatingCoverUrl() string {
if x != nil {
return x.RatingCoverUrl
}
return ""
}
func (x *AgeRating) GetSynopsis() string {
if x != nil {
return x.Synopsis
}
return ""
}
func (x *AgeRating) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
func (x *AgeRating) GetOrganization() *AgeRatingOrganization {
if x != nil {
return x.Organization
}
return nil
}
func (x *AgeRating) GetRatingCategory() *AgeRatingCategory {
if x != nil {
return x.RatingCategory
}
return nil
}
func (x *AgeRating) GetRatingContentDescriptions() []*AgeRatingContentDescriptionV2 {
if x != nil {
return x.RatingContentDescriptions
}
return nil
}
type AgeRatingCategoryResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Ageratingcategories []*AgeRatingCategory `protobuf:"bytes,1,rep,name=ageratingcategories,proto3" json:"ageratingcategories,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AgeRatingCategoryResult) Reset() {
*x = AgeRatingCategoryResult{}
mi := &file_proto_igdbapi_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AgeRatingCategoryResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AgeRatingCategoryResult) ProtoMessage() {}
func (x *AgeRatingCategoryResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AgeRatingCategoryResult.ProtoReflect.Descriptor instead.
func (*AgeRatingCategoryResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{5}
}
func (x *AgeRatingCategoryResult) GetAgeratingcategories() []*AgeRatingCategory {
if x != nil {
return x.Ageratingcategories
}
return nil
}
type AgeRatingCategory struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Rating string `protobuf:"bytes,2,opt,name=rating,proto3" json:"rating,omitempty"`
Organization *AgeRatingOrganization `protobuf:"bytes,3,opt,name=organization,proto3" json:"organization,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,6,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AgeRatingCategory) Reset() {
*x = AgeRatingCategory{}
mi := &file_proto_igdbapi_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AgeRatingCategory) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AgeRatingCategory) ProtoMessage() {}
func (x *AgeRatingCategory) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AgeRatingCategory.ProtoReflect.Descriptor instead.
func (*AgeRatingCategory) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{6}
}
func (x *AgeRatingCategory) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *AgeRatingCategory) GetRating() string {
if x != nil {
return x.Rating
}
return ""
}
func (x *AgeRatingCategory) GetOrganization() *AgeRatingOrganization {
if x != nil {
return x.Organization
}
return nil
}
func (x *AgeRatingCategory) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *AgeRatingCategory) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *AgeRatingCategory) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type AgeRatingContentDescriptionResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Ageratingcontentdescriptions []*AgeRatingContentDescription `protobuf:"bytes,1,rep,name=ageratingcontentdescriptions,proto3" json:"ageratingcontentdescriptions,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AgeRatingContentDescriptionResult) Reset() {
*x = AgeRatingContentDescriptionResult{}
mi := &file_proto_igdbapi_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AgeRatingContentDescriptionResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AgeRatingContentDescriptionResult) ProtoMessage() {}
func (x *AgeRatingContentDescriptionResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AgeRatingContentDescriptionResult.ProtoReflect.Descriptor instead.
func (*AgeRatingContentDescriptionResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{7}
}
func (x *AgeRatingContentDescriptionResult) GetAgeratingcontentdescriptions() []*AgeRatingContentDescription {
if x != nil {
return x.Ageratingcontentdescriptions
}
return nil
}
type AgeRatingContentDescription struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
Category AgeRatingContentDescriptionCategoryEnum `protobuf:"varint,2,opt,name=category,proto3,enum=proto.AgeRatingContentDescriptionCategoryEnum" json:"category,omitempty"`
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
Checksum string `protobuf:"bytes,4,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AgeRatingContentDescription) Reset() {
*x = AgeRatingContentDescription{}
mi := &file_proto_igdbapi_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AgeRatingContentDescription) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AgeRatingContentDescription) ProtoMessage() {}
func (x *AgeRatingContentDescription) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AgeRatingContentDescription.ProtoReflect.Descriptor instead.
func (*AgeRatingContentDescription) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{8}
}
func (x *AgeRatingContentDescription) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *AgeRatingContentDescription) GetCategory() AgeRatingContentDescriptionCategoryEnum {
if x != nil {
return x.Category
}
return AgeRatingContentDescriptionCategoryEnum_AGERATINGCONTENTDESCRIPTION_CATEGORY_NULL
}
func (x *AgeRatingContentDescription) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *AgeRatingContentDescription) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type AgeRatingContentDescriptionV2Result struct {
state protoimpl.MessageState `protogen:"open.v1"`
Ageratingcontentdescriptionsv2 []*AgeRatingContentDescriptionV2 `protobuf:"bytes,1,rep,name=ageratingcontentdescriptionsv2,proto3" json:"ageratingcontentdescriptionsv2,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AgeRatingContentDescriptionV2Result) Reset() {
*x = AgeRatingContentDescriptionV2Result{}
mi := &file_proto_igdbapi_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AgeRatingContentDescriptionV2Result) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AgeRatingContentDescriptionV2Result) ProtoMessage() {}
func (x *AgeRatingContentDescriptionV2Result) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[9]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AgeRatingContentDescriptionV2Result.ProtoReflect.Descriptor instead.
func (*AgeRatingContentDescriptionV2Result) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{9}
}
func (x *AgeRatingContentDescriptionV2Result) GetAgeratingcontentdescriptionsv2() []*AgeRatingContentDescriptionV2 {
if x != nil {
return x.Ageratingcontentdescriptionsv2
}
return nil
}
type AgeRatingContentDescriptionV2 struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
Organization *AgeRatingOrganization `protobuf:"bytes,3,opt,name=organization,proto3" json:"organization,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,6,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AgeRatingContentDescriptionV2) Reset() {
*x = AgeRatingContentDescriptionV2{}
mi := &file_proto_igdbapi_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AgeRatingContentDescriptionV2) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AgeRatingContentDescriptionV2) ProtoMessage() {}
func (x *AgeRatingContentDescriptionV2) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[10]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AgeRatingContentDescriptionV2.ProtoReflect.Descriptor instead.
func (*AgeRatingContentDescriptionV2) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{10}
}
func (x *AgeRatingContentDescriptionV2) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *AgeRatingContentDescriptionV2) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *AgeRatingContentDescriptionV2) GetOrganization() *AgeRatingOrganization {
if x != nil {
return x.Organization
}
return nil
}
func (x *AgeRatingContentDescriptionV2) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *AgeRatingContentDescriptionV2) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *AgeRatingContentDescriptionV2) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type AgeRatingOrganizationResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Ageratingorganizations []*AgeRatingOrganization `protobuf:"bytes,1,rep,name=ageratingorganizations,proto3" json:"ageratingorganizations,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AgeRatingOrganizationResult) Reset() {
*x = AgeRatingOrganizationResult{}
mi := &file_proto_igdbapi_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AgeRatingOrganizationResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AgeRatingOrganizationResult) ProtoMessage() {}
func (x *AgeRatingOrganizationResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[11]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AgeRatingOrganizationResult.ProtoReflect.Descriptor instead.
func (*AgeRatingOrganizationResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{11}
}
func (x *AgeRatingOrganizationResult) GetAgeratingorganizations() []*AgeRatingOrganization {
if x != nil {
return x.Ageratingorganizations
}
return nil
}
type AgeRatingOrganization struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,5,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AgeRatingOrganization) Reset() {
*x = AgeRatingOrganization{}
mi := &file_proto_igdbapi_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AgeRatingOrganization) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AgeRatingOrganization) ProtoMessage() {}
func (x *AgeRatingOrganization) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[12]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AgeRatingOrganization.ProtoReflect.Descriptor instead.
func (*AgeRatingOrganization) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{12}
}
func (x *AgeRatingOrganization) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *AgeRatingOrganization) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *AgeRatingOrganization) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *AgeRatingOrganization) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *AgeRatingOrganization) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type AlternativeNameResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Alternativenames []*AlternativeName `protobuf:"bytes,1,rep,name=alternativenames,proto3" json:"alternativenames,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AlternativeNameResult) Reset() {
*x = AlternativeNameResult{}
mi := &file_proto_igdbapi_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AlternativeNameResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AlternativeNameResult) ProtoMessage() {}
func (x *AlternativeNameResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[13]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AlternativeNameResult.ProtoReflect.Descriptor instead.
func (*AlternativeNameResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{13}
}
func (x *AlternativeNameResult) GetAlternativenames() []*AlternativeName {
if x != nil {
return x.Alternativenames
}
return nil
}
type AlternativeName struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment,omitempty"`
Game *Game `protobuf:"bytes,3,opt,name=game,proto3" json:"game,omitempty"`
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
Checksum string `protobuf:"bytes,5,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AlternativeName) Reset() {
*x = AlternativeName{}
mi := &file_proto_igdbapi_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AlternativeName) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AlternativeName) ProtoMessage() {}
func (x *AlternativeName) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[14]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AlternativeName.ProtoReflect.Descriptor instead.
func (*AlternativeName) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{14}
}
func (x *AlternativeName) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *AlternativeName) GetComment() string {
if x != nil {
return x.Comment
}
return ""
}
func (x *AlternativeName) GetGame() *Game {
if x != nil {
return x.Game
}
return nil
}
func (x *AlternativeName) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *AlternativeName) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type ArtworkResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Artworks []*Artwork `protobuf:"bytes,1,rep,name=artworks,proto3" json:"artworks,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ArtworkResult) Reset() {
*x = ArtworkResult{}
mi := &file_proto_igdbapi_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ArtworkResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ArtworkResult) ProtoMessage() {}
func (x *ArtworkResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[15]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ArtworkResult.ProtoReflect.Descriptor instead.
func (*ArtworkResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{15}
}
func (x *ArtworkResult) GetArtworks() []*Artwork {
if x != nil {
return x.Artworks
}
return nil
}
type Artwork struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
AlphaChannel bool `protobuf:"varint,2,opt,name=alpha_channel,json=alphaChannel,proto3" json:"alpha_channel,omitempty"`
Animated bool `protobuf:"varint,3,opt,name=animated,proto3" json:"animated,omitempty"`
Game *Game `protobuf:"bytes,4,opt,name=game,proto3" json:"game,omitempty"`
Height int32 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
ImageId string `protobuf:"bytes,6,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"`
Url string `protobuf:"bytes,7,opt,name=url,proto3" json:"url,omitempty"`
Width int32 `protobuf:"varint,8,opt,name=width,proto3" json:"width,omitempty"`
Checksum string `protobuf:"bytes,9,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Artwork) Reset() {
*x = Artwork{}
mi := &file_proto_igdbapi_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Artwork) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Artwork) ProtoMessage() {}
func (x *Artwork) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[16]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Artwork.ProtoReflect.Descriptor instead.
func (*Artwork) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{16}
}
func (x *Artwork) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *Artwork) GetAlphaChannel() bool {
if x != nil {
return x.AlphaChannel
}
return false
}
func (x *Artwork) GetAnimated() bool {
if x != nil {
return x.Animated
}
return false
}
func (x *Artwork) GetGame() *Game {
if x != nil {
return x.Game
}
return nil
}
func (x *Artwork) GetHeight() int32 {
if x != nil {
return x.Height
}
return 0
}
func (x *Artwork) GetImageId() string {
if x != nil {
return x.ImageId
}
return ""
}
func (x *Artwork) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *Artwork) GetWidth() int32 {
if x != nil {
return x.Width
}
return 0
}
func (x *Artwork) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type CharacterResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Characters []*Character `protobuf:"bytes,1,rep,name=characters,proto3" json:"characters,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CharacterResult) Reset() {
*x = CharacterResult{}
mi := &file_proto_igdbapi_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CharacterResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CharacterResult) ProtoMessage() {}
func (x *CharacterResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[17]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CharacterResult.ProtoReflect.Descriptor instead.
func (*CharacterResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{17}
}
func (x *CharacterResult) GetCharacters() []*Character {
if x != nil {
return x.Characters
}
return nil
}
type Character struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Akas []string `protobuf:"bytes,2,rep,name=akas,proto3" json:"akas,omitempty"`
CountryName string `protobuf:"bytes,3,opt,name=country_name,json=countryName,proto3" json:"country_name,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
Games []*Game `protobuf:"bytes,6,rep,name=games,proto3" json:"games,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
Gender GenderGenderEnum `protobuf:"varint,7,opt,name=gender,proto3,enum=proto.GenderGenderEnum" json:"gender,omitempty"`
MugShot *CharacterMugShot `protobuf:"bytes,8,opt,name=mug_shot,json=mugShot,proto3" json:"mug_shot,omitempty"`
Name string `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"`
Slug string `protobuf:"bytes,10,opt,name=slug,proto3" json:"slug,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
Species CharacterSpeciesEnum `protobuf:"varint,11,opt,name=species,proto3,enum=proto.CharacterSpeciesEnum" json:"species,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Url string `protobuf:"bytes,13,opt,name=url,proto3" json:"url,omitempty"`
Checksum string `protobuf:"bytes,14,opt,name=checksum,proto3" json:"checksum,omitempty"`
CharacterGender *CharacterGender `protobuf:"bytes,15,opt,name=character_gender,json=characterGender,proto3" json:"character_gender,omitempty"`
CharacterSpecies *CharacterSpecie `protobuf:"bytes,16,opt,name=character_species,json=characterSpecies,proto3" json:"character_species,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Character) Reset() {
*x = Character{}
mi := &file_proto_igdbapi_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Character) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Character) ProtoMessage() {}
func (x *Character) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[18]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Character.ProtoReflect.Descriptor instead.
func (*Character) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{18}
}
func (x *Character) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *Character) GetAkas() []string {
if x != nil {
return x.Akas
}
return nil
}
func (x *Character) GetCountryName() string {
if x != nil {
return x.CountryName
}
return ""
}
func (x *Character) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *Character) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *Character) GetGames() []*Game {
if x != nil {
return x.Games
}
return nil
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *Character) GetGender() GenderGenderEnum {
if x != nil {
return x.Gender
}
return GenderGenderEnum_MALE
}
func (x *Character) GetMugShot() *CharacterMugShot {
if x != nil {
return x.MugShot
}
return nil
}
func (x *Character) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Character) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *Character) GetSpecies() CharacterSpeciesEnum {
if x != nil {
return x.Species
}
return CharacterSpeciesEnum_CHARACTER_SPECIES_NULL
}
func (x *Character) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *Character) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *Character) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
func (x *Character) GetCharacterGender() *CharacterGender {
if x != nil {
return x.CharacterGender
}
return nil
}
func (x *Character) GetCharacterSpecies() *CharacterSpecie {
if x != nil {
return x.CharacterSpecies
}
return nil
}
type CharacterGenderResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Charactergenders []*CharacterGender `protobuf:"bytes,1,rep,name=charactergenders,proto3" json:"charactergenders,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CharacterGenderResult) Reset() {
*x = CharacterGenderResult{}
mi := &file_proto_igdbapi_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CharacterGenderResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CharacterGenderResult) ProtoMessage() {}
func (x *CharacterGenderResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[19]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CharacterGenderResult.ProtoReflect.Descriptor instead.
func (*CharacterGenderResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{19}
}
func (x *CharacterGenderResult) GetCharactergenders() []*CharacterGender {
if x != nil {
return x.Charactergenders
}
return nil
}
type CharacterGender struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,5,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CharacterGender) Reset() {
*x = CharacterGender{}
mi := &file_proto_igdbapi_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CharacterGender) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CharacterGender) ProtoMessage() {}
func (x *CharacterGender) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[20]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CharacterGender.ProtoReflect.Descriptor instead.
func (*CharacterGender) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{20}
}
func (x *CharacterGender) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *CharacterGender) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *CharacterGender) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *CharacterGender) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *CharacterGender) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type CharacterMugShotResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Charactermugshots []*CharacterMugShot `protobuf:"bytes,1,rep,name=charactermugshots,proto3" json:"charactermugshots,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CharacterMugShotResult) Reset() {
*x = CharacterMugShotResult{}
mi := &file_proto_igdbapi_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CharacterMugShotResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CharacterMugShotResult) ProtoMessage() {}
func (x *CharacterMugShotResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[21]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CharacterMugShotResult.ProtoReflect.Descriptor instead.
func (*CharacterMugShotResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{21}
}
func (x *CharacterMugShotResult) GetCharactermugshots() []*CharacterMugShot {
if x != nil {
return x.Charactermugshots
}
return nil
}
type CharacterMugShot struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
AlphaChannel bool `protobuf:"varint,2,opt,name=alpha_channel,json=alphaChannel,proto3" json:"alpha_channel,omitempty"`
Animated bool `protobuf:"varint,3,opt,name=animated,proto3" json:"animated,omitempty"`
Height int32 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
ImageId string `protobuf:"bytes,5,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"`
Url string `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"`
Width int32 `protobuf:"varint,7,opt,name=width,proto3" json:"width,omitempty"`
Checksum string `protobuf:"bytes,8,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CharacterMugShot) Reset() {
*x = CharacterMugShot{}
mi := &file_proto_igdbapi_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CharacterMugShot) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CharacterMugShot) ProtoMessage() {}
func (x *CharacterMugShot) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[22]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CharacterMugShot.ProtoReflect.Descriptor instead.
func (*CharacterMugShot) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{22}
}
func (x *CharacterMugShot) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *CharacterMugShot) GetAlphaChannel() bool {
if x != nil {
return x.AlphaChannel
}
return false
}
func (x *CharacterMugShot) GetAnimated() bool {
if x != nil {
return x.Animated
}
return false
}
func (x *CharacterMugShot) GetHeight() int32 {
if x != nil {
return x.Height
}
return 0
}
func (x *CharacterMugShot) GetImageId() string {
if x != nil {
return x.ImageId
}
return ""
}
func (x *CharacterMugShot) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *CharacterMugShot) GetWidth() int32 {
if x != nil {
return x.Width
}
return 0
}
func (x *CharacterMugShot) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type CharacterSpecieResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Characterspecies []*CharacterSpecie `protobuf:"bytes,1,rep,name=characterspecies,proto3" json:"characterspecies,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CharacterSpecieResult) Reset() {
*x = CharacterSpecieResult{}
mi := &file_proto_igdbapi_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CharacterSpecieResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CharacterSpecieResult) ProtoMessage() {}
func (x *CharacterSpecieResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[23]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CharacterSpecieResult.ProtoReflect.Descriptor instead.
func (*CharacterSpecieResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{23}
}
func (x *CharacterSpecieResult) GetCharacterspecies() []*CharacterSpecie {
if x != nil {
return x.Characterspecies
}
return nil
}
type CharacterSpecie struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,5,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CharacterSpecie) Reset() {
*x = CharacterSpecie{}
mi := &file_proto_igdbapi_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CharacterSpecie) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CharacterSpecie) ProtoMessage() {}
func (x *CharacterSpecie) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[24]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CharacterSpecie.ProtoReflect.Descriptor instead.
func (*CharacterSpecie) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{24}
}
func (x *CharacterSpecie) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *CharacterSpecie) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *CharacterSpecie) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *CharacterSpecie) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *CharacterSpecie) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type CollectionResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Collections []*Collection `protobuf:"bytes,1,rep,name=collections,proto3" json:"collections,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CollectionResult) Reset() {
*x = CollectionResult{}
mi := &file_proto_igdbapi_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CollectionResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionResult) ProtoMessage() {}
func (x *CollectionResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[25]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CollectionResult.ProtoReflect.Descriptor instead.
func (*CollectionResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{25}
}
func (x *CollectionResult) GetCollections() []*Collection {
if x != nil {
return x.Collections
}
return nil
}
type Collection struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Games []*Game `protobuf:"bytes,3,rep,name=games,proto3" json:"games,omitempty"`
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
Slug string `protobuf:"bytes,5,opt,name=slug,proto3" json:"slug,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Url string `protobuf:"bytes,7,opt,name=url,proto3" json:"url,omitempty"`
Checksum string `protobuf:"bytes,8,opt,name=checksum,proto3" json:"checksum,omitempty"`
Type *CollectionType `protobuf:"bytes,9,opt,name=type,proto3" json:"type,omitempty"`
AsParentRelations []*CollectionRelation `protobuf:"bytes,10,rep,name=as_parent_relations,json=asParentRelations,proto3" json:"as_parent_relations,omitempty"`
AsChildRelations []*CollectionRelation `protobuf:"bytes,11,rep,name=as_child_relations,json=asChildRelations,proto3" json:"as_child_relations,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Collection) Reset() {
*x = Collection{}
mi := &file_proto_igdbapi_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Collection) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Collection) ProtoMessage() {}
func (x *Collection) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[26]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Collection.ProtoReflect.Descriptor instead.
func (*Collection) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{26}
}
func (x *Collection) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *Collection) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *Collection) GetGames() []*Game {
if x != nil {
return x.Games
}
return nil
}
func (x *Collection) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Collection) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *Collection) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *Collection) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *Collection) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
func (x *Collection) GetType() *CollectionType {
if x != nil {
return x.Type
}
return nil
}
func (x *Collection) GetAsParentRelations() []*CollectionRelation {
if x != nil {
return x.AsParentRelations
}
return nil
}
func (x *Collection) GetAsChildRelations() []*CollectionRelation {
if x != nil {
return x.AsChildRelations
}
return nil
}
type CollectionMembershipResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Collectionmemberships []*CollectionMembership `protobuf:"bytes,1,rep,name=collectionmemberships,proto3" json:"collectionmemberships,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CollectionMembershipResult) Reset() {
*x = CollectionMembershipResult{}
mi := &file_proto_igdbapi_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CollectionMembershipResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionMembershipResult) ProtoMessage() {}
func (x *CollectionMembershipResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[27]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CollectionMembershipResult.ProtoReflect.Descriptor instead.
func (*CollectionMembershipResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{27}
}
func (x *CollectionMembershipResult) GetCollectionmemberships() []*CollectionMembership {
if x != nil {
return x.Collectionmemberships
}
return nil
}
type CollectionMembership struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Game *Game `protobuf:"bytes,2,opt,name=game,proto3" json:"game,omitempty"`
Collection *Collection `protobuf:"bytes,3,opt,name=collection,proto3" json:"collection,omitempty"`
Type *CollectionMembershipType `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Checksum string `protobuf:"bytes,7,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CollectionMembership) Reset() {
*x = CollectionMembership{}
mi := &file_proto_igdbapi_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CollectionMembership) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionMembership) ProtoMessage() {}
func (x *CollectionMembership) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[28]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CollectionMembership.ProtoReflect.Descriptor instead.
func (*CollectionMembership) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{28}
}
func (x *CollectionMembership) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *CollectionMembership) GetGame() *Game {
if x != nil {
return x.Game
}
return nil
}
func (x *CollectionMembership) GetCollection() *Collection {
if x != nil {
return x.Collection
}
return nil
}
func (x *CollectionMembership) GetType() *CollectionMembershipType {
if x != nil {
return x.Type
}
return nil
}
func (x *CollectionMembership) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *CollectionMembership) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *CollectionMembership) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type CollectionMembershipTypeResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Collectionmembershiptypes []*CollectionMembershipType `protobuf:"bytes,1,rep,name=collectionmembershiptypes,proto3" json:"collectionmembershiptypes,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CollectionMembershipTypeResult) Reset() {
*x = CollectionMembershipTypeResult{}
mi := &file_proto_igdbapi_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CollectionMembershipTypeResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionMembershipTypeResult) ProtoMessage() {}
func (x *CollectionMembershipTypeResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[29]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CollectionMembershipTypeResult.ProtoReflect.Descriptor instead.
func (*CollectionMembershipTypeResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{29}
}
func (x *CollectionMembershipTypeResult) GetCollectionmembershiptypes() []*CollectionMembershipType {
if x != nil {
return x.Collectionmembershiptypes
}
return nil
}
type CollectionMembershipType struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
AllowedCollectionType *CollectionType `protobuf:"bytes,4,opt,name=allowed_collection_type,json=allowedCollectionType,proto3" json:"allowed_collection_type,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Checksum string `protobuf:"bytes,7,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CollectionMembershipType) Reset() {
*x = CollectionMembershipType{}
mi := &file_proto_igdbapi_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CollectionMembershipType) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionMembershipType) ProtoMessage() {}
func (x *CollectionMembershipType) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[30]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CollectionMembershipType.ProtoReflect.Descriptor instead.
func (*CollectionMembershipType) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{30}
}
func (x *CollectionMembershipType) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *CollectionMembershipType) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *CollectionMembershipType) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *CollectionMembershipType) GetAllowedCollectionType() *CollectionType {
if x != nil {
return x.AllowedCollectionType
}
return nil
}
func (x *CollectionMembershipType) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *CollectionMembershipType) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *CollectionMembershipType) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type CollectionRelationResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Collectionrelations []*CollectionRelation `protobuf:"bytes,1,rep,name=collectionrelations,proto3" json:"collectionrelations,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CollectionRelationResult) Reset() {
*x = CollectionRelationResult{}
mi := &file_proto_igdbapi_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CollectionRelationResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionRelationResult) ProtoMessage() {}
func (x *CollectionRelationResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[31]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CollectionRelationResult.ProtoReflect.Descriptor instead.
func (*CollectionRelationResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{31}
}
func (x *CollectionRelationResult) GetCollectionrelations() []*CollectionRelation {
if x != nil {
return x.Collectionrelations
}
return nil
}
type CollectionRelation struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
ChildCollection *Collection `protobuf:"bytes,2,opt,name=child_collection,json=childCollection,proto3" json:"child_collection,omitempty"`
ParentCollection *Collection `protobuf:"bytes,3,opt,name=parent_collection,json=parentCollection,proto3" json:"parent_collection,omitempty"`
Type *CollectionRelationType `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Checksum string `protobuf:"bytes,7,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CollectionRelation) Reset() {
*x = CollectionRelation{}
mi := &file_proto_igdbapi_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CollectionRelation) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionRelation) ProtoMessage() {}
func (x *CollectionRelation) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[32]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CollectionRelation.ProtoReflect.Descriptor instead.
func (*CollectionRelation) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{32}
}
func (x *CollectionRelation) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *CollectionRelation) GetChildCollection() *Collection {
if x != nil {
return x.ChildCollection
}
return nil
}
func (x *CollectionRelation) GetParentCollection() *Collection {
if x != nil {
return x.ParentCollection
}
return nil
}
func (x *CollectionRelation) GetType() *CollectionRelationType {
if x != nil {
return x.Type
}
return nil
}
func (x *CollectionRelation) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *CollectionRelation) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *CollectionRelation) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type CollectionRelationTypeResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Collectionrelationtypes []*CollectionRelationType `protobuf:"bytes,1,rep,name=collectionrelationtypes,proto3" json:"collectionrelationtypes,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CollectionRelationTypeResult) Reset() {
*x = CollectionRelationTypeResult{}
mi := &file_proto_igdbapi_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CollectionRelationTypeResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionRelationTypeResult) ProtoMessage() {}
func (x *CollectionRelationTypeResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[33]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CollectionRelationTypeResult.ProtoReflect.Descriptor instead.
func (*CollectionRelationTypeResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{33}
}
func (x *CollectionRelationTypeResult) GetCollectionrelationtypes() []*CollectionRelationType {
if x != nil {
return x.Collectionrelationtypes
}
return nil
}
type CollectionRelationType struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
AllowedChildType *CollectionType `protobuf:"bytes,4,opt,name=allowed_child_type,json=allowedChildType,proto3" json:"allowed_child_type,omitempty"`
AllowedParentType *CollectionType `protobuf:"bytes,5,opt,name=allowed_parent_type,json=allowedParentType,proto3" json:"allowed_parent_type,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Checksum string `protobuf:"bytes,8,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CollectionRelationType) Reset() {
*x = CollectionRelationType{}
mi := &file_proto_igdbapi_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CollectionRelationType) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionRelationType) ProtoMessage() {}
func (x *CollectionRelationType) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[34]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CollectionRelationType.ProtoReflect.Descriptor instead.
func (*CollectionRelationType) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{34}
}
func (x *CollectionRelationType) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *CollectionRelationType) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *CollectionRelationType) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *CollectionRelationType) GetAllowedChildType() *CollectionType {
if x != nil {
return x.AllowedChildType
}
return nil
}
func (x *CollectionRelationType) GetAllowedParentType() *CollectionType {
if x != nil {
return x.AllowedParentType
}
return nil
}
func (x *CollectionRelationType) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *CollectionRelationType) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *CollectionRelationType) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type CollectionTypeResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Collectiontypes []*CollectionType `protobuf:"bytes,1,rep,name=collectiontypes,proto3" json:"collectiontypes,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CollectionTypeResult) Reset() {
*x = CollectionTypeResult{}
mi := &file_proto_igdbapi_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CollectionTypeResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionTypeResult) ProtoMessage() {}
func (x *CollectionTypeResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[35]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CollectionTypeResult.ProtoReflect.Descriptor instead.
func (*CollectionTypeResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{35}
}
func (x *CollectionTypeResult) GetCollectiontypes() []*CollectionType {
if x != nil {
return x.Collectiontypes
}
return nil
}
type CollectionType struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Checksum string `protobuf:"bytes,6,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CollectionType) Reset() {
*x = CollectionType{}
mi := &file_proto_igdbapi_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CollectionType) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectionType) ProtoMessage() {}
func (x *CollectionType) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[36]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CollectionType.ProtoReflect.Descriptor instead.
func (*CollectionType) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{36}
}
func (x *CollectionType) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *CollectionType) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *CollectionType) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *CollectionType) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *CollectionType) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *CollectionType) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type CompanyResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Companies []*Company `protobuf:"bytes,1,rep,name=companies,proto3" json:"companies,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CompanyResult) Reset() {
*x = CompanyResult{}
mi := &file_proto_igdbapi_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CompanyResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CompanyResult) ProtoMessage() {}
func (x *CompanyResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[37]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CompanyResult.ProtoReflect.Descriptor instead.
func (*CompanyResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{37}
}
func (x *CompanyResult) GetCompanies() []*Company {
if x != nil {
return x.Companies
}
return nil
}
type Company struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
ChangeDate *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
ChangeDateCategory DateFormatChangeDateCategoryEnum `protobuf:"varint,3,opt,name=change_date_category,json=changeDateCategory,proto3,enum=proto.DateFormatChangeDateCategoryEnum" json:"change_date_category,omitempty"`
ChangedCompanyId *Company `protobuf:"bytes,4,opt,name=changed_company_id,json=changedCompanyId,proto3" json:"changed_company_id,omitempty"`
Country int32 `protobuf:"varint,5,opt,name=country,proto3" json:"country,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"`
Developed []*Game `protobuf:"bytes,8,rep,name=developed,proto3" json:"developed,omitempty"`
Logo *CompanyLogo `protobuf:"bytes,9,opt,name=logo,proto3" json:"logo,omitempty"`
Name string `protobuf:"bytes,10,opt,name=name,proto3" json:"name,omitempty"`
Parent *Company `protobuf:"bytes,11,opt,name=parent,proto3" json:"parent,omitempty"`
Published []*Game `protobuf:"bytes,12,rep,name=published,proto3" json:"published,omitempty"`
Slug string `protobuf:"bytes,13,opt,name=slug,proto3" json:"slug,omitempty"`
StartDate *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
StartDateCategory DateFormatChangeDateCategoryEnum `protobuf:"varint,15,opt,name=start_date_category,json=startDateCategory,proto3,enum=proto.DateFormatChangeDateCategoryEnum" json:"start_date_category,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Url string `protobuf:"bytes,17,opt,name=url,proto3" json:"url,omitempty"`
Websites []*CompanyWebsite `protobuf:"bytes,18,rep,name=websites,proto3" json:"websites,omitempty"`
Checksum string `protobuf:"bytes,19,opt,name=checksum,proto3" json:"checksum,omitempty"`
Status *CompanyStatus `protobuf:"bytes,20,opt,name=status,proto3" json:"status,omitempty"`
StartDateFormat *DateFormat `protobuf:"bytes,21,opt,name=start_date_format,json=startDateFormat,proto3" json:"start_date_format,omitempty"`
ChangeDateFormat *DateFormat `protobuf:"bytes,22,opt,name=change_date_format,json=changeDateFormat,proto3" json:"change_date_format,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Company) Reset() {
*x = Company{}
mi := &file_proto_igdbapi_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Company) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Company) ProtoMessage() {}
func (x *Company) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[38]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Company.ProtoReflect.Descriptor instead.
func (*Company) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{38}
}
func (x *Company) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *Company) GetChangeDate() *timestamppb.Timestamp {
if x != nil {
return x.ChangeDate
}
return nil
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *Company) GetChangeDateCategory() DateFormatChangeDateCategoryEnum {
if x != nil {
return x.ChangeDateCategory
}
return DateFormatChangeDateCategoryEnum_YYYYMMMMDD
}
func (x *Company) GetChangedCompanyId() *Company {
if x != nil {
return x.ChangedCompanyId
}
return nil
}
func (x *Company) GetCountry() int32 {
if x != nil {
return x.Country
}
return 0
}
func (x *Company) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *Company) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *Company) GetDeveloped() []*Game {
if x != nil {
return x.Developed
}
return nil
}
func (x *Company) GetLogo() *CompanyLogo {
if x != nil {
return x.Logo
}
return nil
}
func (x *Company) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Company) GetParent() *Company {
if x != nil {
return x.Parent
}
return nil
}
func (x *Company) GetPublished() []*Game {
if x != nil {
return x.Published
}
return nil
}
func (x *Company) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *Company) GetStartDate() *timestamppb.Timestamp {
if x != nil {
return x.StartDate
}
return nil
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *Company) GetStartDateCategory() DateFormatChangeDateCategoryEnum {
if x != nil {
return x.StartDateCategory
}
return DateFormatChangeDateCategoryEnum_YYYYMMMMDD
}
func (x *Company) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *Company) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *Company) GetWebsites() []*CompanyWebsite {
if x != nil {
return x.Websites
}
return nil
}
func (x *Company) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
func (x *Company) GetStatus() *CompanyStatus {
if x != nil {
return x.Status
}
return nil
}
func (x *Company) GetStartDateFormat() *DateFormat {
if x != nil {
return x.StartDateFormat
}
return nil
}
func (x *Company) GetChangeDateFormat() *DateFormat {
if x != nil {
return x.ChangeDateFormat
}
return nil
}
type CompanyLogoResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Companylogos []*CompanyLogo `protobuf:"bytes,1,rep,name=companylogos,proto3" json:"companylogos,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CompanyLogoResult) Reset() {
*x = CompanyLogoResult{}
mi := &file_proto_igdbapi_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CompanyLogoResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CompanyLogoResult) ProtoMessage() {}
func (x *CompanyLogoResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[39]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CompanyLogoResult.ProtoReflect.Descriptor instead.
func (*CompanyLogoResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{39}
}
func (x *CompanyLogoResult) GetCompanylogos() []*CompanyLogo {
if x != nil {
return x.Companylogos
}
return nil
}
type CompanyLogo struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
AlphaChannel bool `protobuf:"varint,2,opt,name=alpha_channel,json=alphaChannel,proto3" json:"alpha_channel,omitempty"`
Animated bool `protobuf:"varint,3,opt,name=animated,proto3" json:"animated,omitempty"`
Height int32 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
ImageId string `protobuf:"bytes,5,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"`
Url string `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"`
Width int32 `protobuf:"varint,7,opt,name=width,proto3" json:"width,omitempty"`
Checksum string `protobuf:"bytes,8,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CompanyLogo) Reset() {
*x = CompanyLogo{}
mi := &file_proto_igdbapi_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CompanyLogo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CompanyLogo) ProtoMessage() {}
func (x *CompanyLogo) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[40]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CompanyLogo.ProtoReflect.Descriptor instead.
func (*CompanyLogo) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{40}
}
func (x *CompanyLogo) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *CompanyLogo) GetAlphaChannel() bool {
if x != nil {
return x.AlphaChannel
}
return false
}
func (x *CompanyLogo) GetAnimated() bool {
if x != nil {
return x.Animated
}
return false
}
func (x *CompanyLogo) GetHeight() int32 {
if x != nil {
return x.Height
}
return 0
}
func (x *CompanyLogo) GetImageId() string {
if x != nil {
return x.ImageId
}
return ""
}
func (x *CompanyLogo) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *CompanyLogo) GetWidth() int32 {
if x != nil {
return x.Width
}
return 0
}
func (x *CompanyLogo) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type CompanyStatusResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Companystatuses []*CompanyStatus `protobuf:"bytes,1,rep,name=companystatuses,proto3" json:"companystatuses,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CompanyStatusResult) Reset() {
*x = CompanyStatusResult{}
mi := &file_proto_igdbapi_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CompanyStatusResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CompanyStatusResult) ProtoMessage() {}
func (x *CompanyStatusResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[41]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CompanyStatusResult.ProtoReflect.Descriptor instead.
func (*CompanyStatusResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{41}
}
func (x *CompanyStatusResult) GetCompanystatuses() []*CompanyStatus {
if x != nil {
return x.Companystatuses
}
return nil
}
type CompanyStatus struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,5,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CompanyStatus) Reset() {
*x = CompanyStatus{}
mi := &file_proto_igdbapi_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CompanyStatus) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CompanyStatus) ProtoMessage() {}
func (x *CompanyStatus) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[42]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CompanyStatus.ProtoReflect.Descriptor instead.
func (*CompanyStatus) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{42}
}
func (x *CompanyStatus) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *CompanyStatus) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *CompanyStatus) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *CompanyStatus) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *CompanyStatus) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type CompanyWebsiteResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Companywebsites []*CompanyWebsite `protobuf:"bytes,1,rep,name=companywebsites,proto3" json:"companywebsites,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CompanyWebsiteResult) Reset() {
*x = CompanyWebsiteResult{}
mi := &file_proto_igdbapi_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CompanyWebsiteResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CompanyWebsiteResult) ProtoMessage() {}
func (x *CompanyWebsiteResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[43]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CompanyWebsiteResult.ProtoReflect.Descriptor instead.
func (*CompanyWebsiteResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{43}
}
func (x *CompanyWebsiteResult) GetCompanywebsites() []*CompanyWebsite {
if x != nil {
return x.Companywebsites
}
return nil
}
type CompanyWebsite struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
Category WebsiteCategoryEnum `protobuf:"varint,2,opt,name=category,proto3,enum=proto.WebsiteCategoryEnum" json:"category,omitempty"`
Trusted bool `protobuf:"varint,3,opt,name=trusted,proto3" json:"trusted,omitempty"`
Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"`
Checksum string `protobuf:"bytes,5,opt,name=checksum,proto3" json:"checksum,omitempty"`
Type *WebsiteType `protobuf:"bytes,6,opt,name=type,proto3" json:"type,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CompanyWebsite) Reset() {
*x = CompanyWebsite{}
mi := &file_proto_igdbapi_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CompanyWebsite) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CompanyWebsite) ProtoMessage() {}
func (x *CompanyWebsite) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[44]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CompanyWebsite.ProtoReflect.Descriptor instead.
func (*CompanyWebsite) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{44}
}
func (x *CompanyWebsite) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *CompanyWebsite) GetCategory() WebsiteCategoryEnum {
if x != nil {
return x.Category
}
return WebsiteCategoryEnum_WEBSITE_CATEGORY_NULL
}
func (x *CompanyWebsite) GetTrusted() bool {
if x != nil {
return x.Trusted
}
return false
}
func (x *CompanyWebsite) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *CompanyWebsite) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
func (x *CompanyWebsite) GetType() *WebsiteType {
if x != nil {
return x.Type
}
return nil
}
type CoverResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Covers []*Cover `protobuf:"bytes,1,rep,name=covers,proto3" json:"covers,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CoverResult) Reset() {
*x = CoverResult{}
mi := &file_proto_igdbapi_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CoverResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CoverResult) ProtoMessage() {}
func (x *CoverResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[45]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CoverResult.ProtoReflect.Descriptor instead.
func (*CoverResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{45}
}
func (x *CoverResult) GetCovers() []*Cover {
if x != nil {
return x.Covers
}
return nil
}
type Cover struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
AlphaChannel bool `protobuf:"varint,2,opt,name=alpha_channel,json=alphaChannel,proto3" json:"alpha_channel,omitempty"`
Animated bool `protobuf:"varint,3,opt,name=animated,proto3" json:"animated,omitempty"`
Game *Game `protobuf:"bytes,4,opt,name=game,proto3" json:"game,omitempty"`
Height int32 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
ImageId string `protobuf:"bytes,6,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"`
Url string `protobuf:"bytes,7,opt,name=url,proto3" json:"url,omitempty"`
Width int32 `protobuf:"varint,8,opt,name=width,proto3" json:"width,omitempty"`
Checksum string `protobuf:"bytes,9,opt,name=checksum,proto3" json:"checksum,omitempty"`
GameLocalization *GameLocalization `protobuf:"bytes,10,opt,name=game_localization,json=gameLocalization,proto3" json:"game_localization,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Cover) Reset() {
*x = Cover{}
mi := &file_proto_igdbapi_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Cover) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Cover) ProtoMessage() {}
func (x *Cover) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[46]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Cover.ProtoReflect.Descriptor instead.
func (*Cover) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{46}
}
func (x *Cover) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *Cover) GetAlphaChannel() bool {
if x != nil {
return x.AlphaChannel
}
return false
}
func (x *Cover) GetAnimated() bool {
if x != nil {
return x.Animated
}
return false
}
func (x *Cover) GetGame() *Game {
if x != nil {
return x.Game
}
return nil
}
func (x *Cover) GetHeight() int32 {
if x != nil {
return x.Height
}
return 0
}
func (x *Cover) GetImageId() string {
if x != nil {
return x.ImageId
}
return ""
}
func (x *Cover) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *Cover) GetWidth() int32 {
if x != nil {
return x.Width
}
return 0
}
func (x *Cover) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
func (x *Cover) GetGameLocalization() *GameLocalization {
if x != nil {
return x.GameLocalization
}
return nil
}
type DateFormatResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Dateformats []*DateFormat `protobuf:"bytes,1,rep,name=dateformats,proto3" json:"dateformats,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *DateFormatResult) Reset() {
*x = DateFormatResult{}
mi := &file_proto_igdbapi_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DateFormatResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DateFormatResult) ProtoMessage() {}
func (x *DateFormatResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[47]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DateFormatResult.ProtoReflect.Descriptor instead.
func (*DateFormatResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{47}
}
func (x *DateFormatResult) GetDateformats() []*DateFormat {
if x != nil {
return x.Dateformats
}
return nil
}
type DateFormat struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Format string `protobuf:"bytes,2,opt,name=format,proto3" json:"format,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,5,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *DateFormat) Reset() {
*x = DateFormat{}
mi := &file_proto_igdbapi_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DateFormat) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DateFormat) ProtoMessage() {}
func (x *DateFormat) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[48]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DateFormat.ProtoReflect.Descriptor instead.
func (*DateFormat) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{48}
}
func (x *DateFormat) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *DateFormat) GetFormat() string {
if x != nil {
return x.Format
}
return ""
}
func (x *DateFormat) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *DateFormat) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *DateFormat) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type EventResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Events []*Event `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *EventResult) Reset() {
*x = EventResult{}
mi := &file_proto_igdbapi_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *EventResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EventResult) ProtoMessage() {}
func (x *EventResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[49]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use EventResult.ProtoReflect.Descriptor instead.
func (*EventResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{49}
}
func (x *EventResult) GetEvents() []*Event {
if x != nil {
return x.Events
}
return nil
}
type Event struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
Slug string `protobuf:"bytes,4,opt,name=slug,proto3" json:"slug,omitempty"`
EventLogo *EventLogo `protobuf:"bytes,5,opt,name=event_logo,json=eventLogo,proto3" json:"event_logo,omitempty"`
StartTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
TimeZone string `protobuf:"bytes,7,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"`
EndTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
LiveStreamUrl string `protobuf:"bytes,9,opt,name=live_stream_url,json=liveStreamUrl,proto3" json:"live_stream_url,omitempty"`
Games []*Game `protobuf:"bytes,10,rep,name=games,proto3" json:"games,omitempty"`
Videos []*GameVideo `protobuf:"bytes,11,rep,name=videos,proto3" json:"videos,omitempty"`
EventNetworks []*EventNetwork `protobuf:"bytes,12,rep,name=event_networks,json=eventNetworks,proto3" json:"event_networks,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,15,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Event) Reset() {
*x = Event{}
mi := &file_proto_igdbapi_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Event) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Event) ProtoMessage() {}
func (x *Event) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[50]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Event.ProtoReflect.Descriptor instead.
func (*Event) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{50}
}
func (x *Event) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *Event) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Event) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *Event) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *Event) GetEventLogo() *EventLogo {
if x != nil {
return x.EventLogo
}
return nil
}
func (x *Event) GetStartTime() *timestamppb.Timestamp {
if x != nil {
return x.StartTime
}
return nil
}
func (x *Event) GetTimeZone() string {
if x != nil {
return x.TimeZone
}
return ""
}
func (x *Event) GetEndTime() *timestamppb.Timestamp {
if x != nil {
return x.EndTime
}
return nil
}
func (x *Event) GetLiveStreamUrl() string {
if x != nil {
return x.LiveStreamUrl
}
return ""
}
func (x *Event) GetGames() []*Game {
if x != nil {
return x.Games
}
return nil
}
func (x *Event) GetVideos() []*GameVideo {
if x != nil {
return x.Videos
}
return nil
}
func (x *Event) GetEventNetworks() []*EventNetwork {
if x != nil {
return x.EventNetworks
}
return nil
}
func (x *Event) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *Event) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *Event) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type EventLogoResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Eventlogos []*EventLogo `protobuf:"bytes,1,rep,name=eventlogos,proto3" json:"eventlogos,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *EventLogoResult) Reset() {
*x = EventLogoResult{}
mi := &file_proto_igdbapi_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *EventLogoResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EventLogoResult) ProtoMessage() {}
func (x *EventLogoResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[51]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use EventLogoResult.ProtoReflect.Descriptor instead.
func (*EventLogoResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{51}
}
func (x *EventLogoResult) GetEventlogos() []*EventLogo {
if x != nil {
return x.Eventlogos
}
return nil
}
type EventLogo struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Event *Event `protobuf:"bytes,2,opt,name=event,proto3" json:"event,omitempty"`
AlphaChannel bool `protobuf:"varint,3,opt,name=alpha_channel,json=alphaChannel,proto3" json:"alpha_channel,omitempty"`
Animated bool `protobuf:"varint,4,opt,name=animated,proto3" json:"animated,omitempty"`
Height int32 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
ImageId string `protobuf:"bytes,6,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"`
Url string `protobuf:"bytes,7,opt,name=url,proto3" json:"url,omitempty"`
Width int32 `protobuf:"varint,8,opt,name=width,proto3" json:"width,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,11,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *EventLogo) Reset() {
*x = EventLogo{}
mi := &file_proto_igdbapi_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *EventLogo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EventLogo) ProtoMessage() {}
func (x *EventLogo) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[52]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use EventLogo.ProtoReflect.Descriptor instead.
func (*EventLogo) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{52}
}
func (x *EventLogo) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *EventLogo) GetEvent() *Event {
if x != nil {
return x.Event
}
return nil
}
func (x *EventLogo) GetAlphaChannel() bool {
if x != nil {
return x.AlphaChannel
}
return false
}
func (x *EventLogo) GetAnimated() bool {
if x != nil {
return x.Animated
}
return false
}
func (x *EventLogo) GetHeight() int32 {
if x != nil {
return x.Height
}
return 0
}
func (x *EventLogo) GetImageId() string {
if x != nil {
return x.ImageId
}
return ""
}
func (x *EventLogo) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *EventLogo) GetWidth() int32 {
if x != nil {
return x.Width
}
return 0
}
func (x *EventLogo) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *EventLogo) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *EventLogo) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type EventNetworkResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Eventnetworks []*EventNetwork `protobuf:"bytes,1,rep,name=eventnetworks,proto3" json:"eventnetworks,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *EventNetworkResult) Reset() {
*x = EventNetworkResult{}
mi := &file_proto_igdbapi_proto_msgTypes[53]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *EventNetworkResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EventNetworkResult) ProtoMessage() {}
func (x *EventNetworkResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[53]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use EventNetworkResult.ProtoReflect.Descriptor instead.
func (*EventNetworkResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{53}
}
func (x *EventNetworkResult) GetEventnetworks() []*EventNetwork {
if x != nil {
return x.Eventnetworks
}
return nil
}
type EventNetwork struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Event *Event `protobuf:"bytes,2,opt,name=event,proto3" json:"event,omitempty"`
Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"`
NetworkType *NetworkType `protobuf:"bytes,4,opt,name=network_type,json=networkType,proto3" json:"network_type,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,7,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *EventNetwork) Reset() {
*x = EventNetwork{}
mi := &file_proto_igdbapi_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *EventNetwork) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EventNetwork) ProtoMessage() {}
func (x *EventNetwork) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[54]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use EventNetwork.ProtoReflect.Descriptor instead.
func (*EventNetwork) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{54}
}
func (x *EventNetwork) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *EventNetwork) GetEvent() *Event {
if x != nil {
return x.Event
}
return nil
}
func (x *EventNetwork) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *EventNetwork) GetNetworkType() *NetworkType {
if x != nil {
return x.NetworkType
}
return nil
}
func (x *EventNetwork) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *EventNetwork) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *EventNetwork) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type ExternalGameResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Externalgames []*ExternalGame `protobuf:"bytes,1,rep,name=externalgames,proto3" json:"externalgames,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ExternalGameResult) Reset() {
*x = ExternalGameResult{}
mi := &file_proto_igdbapi_proto_msgTypes[55]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ExternalGameResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExternalGameResult) ProtoMessage() {}
func (x *ExternalGameResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[55]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExternalGameResult.ProtoReflect.Descriptor instead.
func (*ExternalGameResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{55}
}
func (x *ExternalGameResult) GetExternalgames() []*ExternalGame {
if x != nil {
return x.Externalgames
}
return nil
}
type ExternalGame struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
Category ExternalGameCategoryEnum `protobuf:"varint,2,opt,name=category,proto3,enum=proto.ExternalGameCategoryEnum" json:"category,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Game *Game `protobuf:"bytes,4,opt,name=game,proto3" json:"game,omitempty"`
Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
Uid string `protobuf:"bytes,6,opt,name=uid,proto3" json:"uid,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Url string `protobuf:"bytes,8,opt,name=url,proto3" json:"url,omitempty"`
Year int32 `protobuf:"varint,9,opt,name=year,proto3" json:"year,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
Media ExternalGameMediaEnum `protobuf:"varint,10,opt,name=media,proto3,enum=proto.ExternalGameMediaEnum" json:"media,omitempty"`
Platform *Platform `protobuf:"bytes,11,opt,name=platform,proto3" json:"platform,omitempty"`
Countries []int32 `protobuf:"varint,12,rep,packed,name=countries,proto3" json:"countries,omitempty"`
Checksum string `protobuf:"bytes,13,opt,name=checksum,proto3" json:"checksum,omitempty"`
ExternalGameSource *ExternalGameSource `protobuf:"bytes,14,opt,name=external_game_source,json=externalGameSource,proto3" json:"external_game_source,omitempty"`
GameReleaseFormat *GameReleaseFormat `protobuf:"bytes,15,opt,name=game_release_format,json=gameReleaseFormat,proto3" json:"game_release_format,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ExternalGame) Reset() {
*x = ExternalGame{}
mi := &file_proto_igdbapi_proto_msgTypes[56]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ExternalGame) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExternalGame) ProtoMessage() {}
func (x *ExternalGame) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[56]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExternalGame.ProtoReflect.Descriptor instead.
func (*ExternalGame) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{56}
}
func (x *ExternalGame) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *ExternalGame) GetCategory() ExternalGameCategoryEnum {
if x != nil {
return x.Category
}
return ExternalGameCategoryEnum_EXTERNALGAME_CATEGORY_NULL
}
func (x *ExternalGame) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *ExternalGame) GetGame() *Game {
if x != nil {
return x.Game
}
return nil
}
func (x *ExternalGame) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ExternalGame) GetUid() string {
if x != nil {
return x.Uid
}
return ""
}
func (x *ExternalGame) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *ExternalGame) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *ExternalGame) GetYear() int32 {
if x != nil {
return x.Year
}
return 0
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *ExternalGame) GetMedia() ExternalGameMediaEnum {
if x != nil {
return x.Media
}
return ExternalGameMediaEnum_EXTERNALGAME_MEDIA_NULL
}
func (x *ExternalGame) GetPlatform() *Platform {
if x != nil {
return x.Platform
}
return nil
}
func (x *ExternalGame) GetCountries() []int32 {
if x != nil {
return x.Countries
}
return nil
}
func (x *ExternalGame) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
func (x *ExternalGame) GetExternalGameSource() *ExternalGameSource {
if x != nil {
return x.ExternalGameSource
}
return nil
}
func (x *ExternalGame) GetGameReleaseFormat() *GameReleaseFormat {
if x != nil {
return x.GameReleaseFormat
}
return nil
}
type ExternalGameSourceResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Externalgamesources []*ExternalGameSource `protobuf:"bytes,1,rep,name=externalgamesources,proto3" json:"externalgamesources,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ExternalGameSourceResult) Reset() {
*x = ExternalGameSourceResult{}
mi := &file_proto_igdbapi_proto_msgTypes[57]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ExternalGameSourceResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExternalGameSourceResult) ProtoMessage() {}
func (x *ExternalGameSourceResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[57]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExternalGameSourceResult.ProtoReflect.Descriptor instead.
func (*ExternalGameSourceResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{57}
}
func (x *ExternalGameSourceResult) GetExternalgamesources() []*ExternalGameSource {
if x != nil {
return x.Externalgamesources
}
return nil
}
type ExternalGameSource struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,6,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ExternalGameSource) Reset() {
*x = ExternalGameSource{}
mi := &file_proto_igdbapi_proto_msgTypes[58]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ExternalGameSource) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExternalGameSource) ProtoMessage() {}
func (x *ExternalGameSource) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[58]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExternalGameSource.ProtoReflect.Descriptor instead.
func (*ExternalGameSource) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{58}
}
func (x *ExternalGameSource) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *ExternalGameSource) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ExternalGameSource) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *ExternalGameSource) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *ExternalGameSource) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type FranchiseResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Franchises []*Franchise `protobuf:"bytes,1,rep,name=franchises,proto3" json:"franchises,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *FranchiseResult) Reset() {
*x = FranchiseResult{}
mi := &file_proto_igdbapi_proto_msgTypes[59]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *FranchiseResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FranchiseResult) ProtoMessage() {}
func (x *FranchiseResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[59]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FranchiseResult.ProtoReflect.Descriptor instead.
func (*FranchiseResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{59}
}
func (x *FranchiseResult) GetFranchises() []*Franchise {
if x != nil {
return x.Franchises
}
return nil
}
type Franchise struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Games []*Game `protobuf:"bytes,3,rep,name=games,proto3" json:"games,omitempty"`
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
Slug string `protobuf:"bytes,5,opt,name=slug,proto3" json:"slug,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Url string `protobuf:"bytes,7,opt,name=url,proto3" json:"url,omitempty"`
Checksum string `protobuf:"bytes,8,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Franchise) Reset() {
*x = Franchise{}
mi := &file_proto_igdbapi_proto_msgTypes[60]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Franchise) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Franchise) ProtoMessage() {}
func (x *Franchise) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[60]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Franchise.ProtoReflect.Descriptor instead.
func (*Franchise) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{60}
}
func (x *Franchise) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *Franchise) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *Franchise) GetGames() []*Game {
if x != nil {
return x.Games
}
return nil
}
func (x *Franchise) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Franchise) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *Franchise) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *Franchise) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *Franchise) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type GameResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Games []*Game `protobuf:"bytes,1,rep,name=games,proto3" json:"games,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameResult) Reset() {
*x = GameResult{}
mi := &file_proto_igdbapi_proto_msgTypes[61]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameResult) ProtoMessage() {}
func (x *GameResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[61]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameResult.ProtoReflect.Descriptor instead.
func (*GameResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{61}
}
func (x *GameResult) GetGames() []*Game {
if x != nil {
return x.Games
}
return nil
}
type Game struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
AgeRatings []*AgeRating `protobuf:"bytes,2,rep,name=age_ratings,json=ageRatings,proto3" json:"age_ratings,omitempty"`
AggregatedRating float64 `protobuf:"fixed64,3,opt,name=aggregated_rating,json=aggregatedRating,proto3" json:"aggregated_rating,omitempty"`
AggregatedRatingCount int32 `protobuf:"varint,4,opt,name=aggregated_rating_count,json=aggregatedRatingCount,proto3" json:"aggregated_rating_count,omitempty"`
AlternativeNames []*AlternativeName `protobuf:"bytes,5,rep,name=alternative_names,json=alternativeNames,proto3" json:"alternative_names,omitempty"`
Artworks []*Artwork `protobuf:"bytes,6,rep,name=artworks,proto3" json:"artworks,omitempty"`
Bundles []*Game `protobuf:"bytes,7,rep,name=bundles,proto3" json:"bundles,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
Category GameCategoryEnum `protobuf:"varint,8,opt,name=category,proto3,enum=proto.GameCategoryEnum" json:"category,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
Collection *Collection `protobuf:"bytes,9,opt,name=collection,proto3" json:"collection,omitempty"`
Cover *Cover `protobuf:"bytes,10,opt,name=cover,proto3" json:"cover,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Dlcs []*Game `protobuf:"bytes,12,rep,name=dlcs,proto3" json:"dlcs,omitempty"`
Expansions []*Game `protobuf:"bytes,13,rep,name=expansions,proto3" json:"expansions,omitempty"`
ExternalGames []*ExternalGame `protobuf:"bytes,14,rep,name=external_games,json=externalGames,proto3" json:"external_games,omitempty"`
FirstReleaseDate *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=first_release_date,json=firstReleaseDate,proto3" json:"first_release_date,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
Follows int32 `protobuf:"varint,16,opt,name=follows,proto3" json:"follows,omitempty"`
Franchise *Franchise `protobuf:"bytes,17,opt,name=franchise,proto3" json:"franchise,omitempty"`
Franchises []*Franchise `protobuf:"bytes,18,rep,name=franchises,proto3" json:"franchises,omitempty"`
GameEngines []*GameEngine `protobuf:"bytes,19,rep,name=game_engines,json=gameEngines,proto3" json:"game_engines,omitempty"`
GameModes []*GameMode `protobuf:"bytes,20,rep,name=game_modes,json=gameModes,proto3" json:"game_modes,omitempty"`
Genres []*Genre `protobuf:"bytes,21,rep,name=genres,proto3" json:"genres,omitempty"`
Hypes int32 `protobuf:"varint,22,opt,name=hypes,proto3" json:"hypes,omitempty"`
InvolvedCompanies []*InvolvedCompany `protobuf:"bytes,23,rep,name=involved_companies,json=involvedCompanies,proto3" json:"involved_companies,omitempty"`
Keywords []*Keyword `protobuf:"bytes,24,rep,name=keywords,proto3" json:"keywords,omitempty"`
MultiplayerModes []*MultiplayerMode `protobuf:"bytes,25,rep,name=multiplayer_modes,json=multiplayerModes,proto3" json:"multiplayer_modes,omitempty"`
Name string `protobuf:"bytes,26,opt,name=name,proto3" json:"name,omitempty"`
ParentGame *Game `protobuf:"bytes,27,opt,name=parent_game,json=parentGame,proto3" json:"parent_game,omitempty"`
Platforms []*Platform `protobuf:"bytes,28,rep,name=platforms,proto3" json:"platforms,omitempty"`
PlayerPerspectives []*PlayerPerspective `protobuf:"bytes,29,rep,name=player_perspectives,json=playerPerspectives,proto3" json:"player_perspectives,omitempty"`
Rating float64 `protobuf:"fixed64,30,opt,name=rating,proto3" json:"rating,omitempty"`
RatingCount int32 `protobuf:"varint,31,opt,name=rating_count,json=ratingCount,proto3" json:"rating_count,omitempty"`
ReleaseDates []*ReleaseDate `protobuf:"bytes,32,rep,name=release_dates,json=releaseDates,proto3" json:"release_dates,omitempty"`
Screenshots []*Screenshot `protobuf:"bytes,33,rep,name=screenshots,proto3" json:"screenshots,omitempty"`
SimilarGames []*Game `protobuf:"bytes,34,rep,name=similar_games,json=similarGames,proto3" json:"similar_games,omitempty"`
Slug string `protobuf:"bytes,35,opt,name=slug,proto3" json:"slug,omitempty"`
StandaloneExpansions []*Game `protobuf:"bytes,36,rep,name=standalone_expansions,json=standaloneExpansions,proto3" json:"standalone_expansions,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
Status GameStatusEnum `protobuf:"varint,37,opt,name=status,proto3,enum=proto.GameStatusEnum" json:"status,omitempty"`
Storyline string `protobuf:"bytes,38,opt,name=storyline,proto3" json:"storyline,omitempty"`
Summary string `protobuf:"bytes,39,opt,name=summary,proto3" json:"summary,omitempty"`
Tags []int32 `protobuf:"varint,40,rep,packed,name=tags,proto3" json:"tags,omitempty"`
Themes []*Theme `protobuf:"bytes,41,rep,name=themes,proto3" json:"themes,omitempty"`
TotalRating float64 `protobuf:"fixed64,42,opt,name=total_rating,json=totalRating,proto3" json:"total_rating,omitempty"`
TotalRatingCount int32 `protobuf:"varint,43,opt,name=total_rating_count,json=totalRatingCount,proto3" json:"total_rating_count,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,44,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Url string `protobuf:"bytes,45,opt,name=url,proto3" json:"url,omitempty"`
VersionParent *Game `protobuf:"bytes,46,opt,name=version_parent,json=versionParent,proto3" json:"version_parent,omitempty"`
VersionTitle string `protobuf:"bytes,47,opt,name=version_title,json=versionTitle,proto3" json:"version_title,omitempty"`
Videos []*GameVideo `protobuf:"bytes,48,rep,name=videos,proto3" json:"videos,omitempty"`
Websites []*Website `protobuf:"bytes,49,rep,name=websites,proto3" json:"websites,omitempty"`
Checksum string `protobuf:"bytes,50,opt,name=checksum,proto3" json:"checksum,omitempty"`
Remakes []*Game `protobuf:"bytes,51,rep,name=remakes,proto3" json:"remakes,omitempty"`
Remasters []*Game `protobuf:"bytes,52,rep,name=remasters,proto3" json:"remasters,omitempty"`
ExpandedGames []*Game `protobuf:"bytes,53,rep,name=expanded_games,json=expandedGames,proto3" json:"expanded_games,omitempty"`
Ports []*Game `protobuf:"bytes,54,rep,name=ports,proto3" json:"ports,omitempty"`
Forks []*Game `protobuf:"bytes,55,rep,name=forks,proto3" json:"forks,omitempty"`
LanguageSupports []*LanguageSupport `protobuf:"bytes,56,rep,name=language_supports,json=languageSupports,proto3" json:"language_supports,omitempty"`
GameLocalizations []*GameLocalization `protobuf:"bytes,57,rep,name=game_localizations,json=gameLocalizations,proto3" json:"game_localizations,omitempty"`
Collections []*Collection `protobuf:"bytes,58,rep,name=collections,proto3" json:"collections,omitempty"`
GameStatus *GameStatus `protobuf:"bytes,59,opt,name=game_status,json=gameStatus,proto3" json:"game_status,omitempty"`
GameType *GameType `protobuf:"bytes,60,opt,name=game_type,json=gameType,proto3" json:"game_type,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Game) Reset() {
*x = Game{}
mi := &file_proto_igdbapi_proto_msgTypes[62]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Game) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Game) ProtoMessage() {}
func (x *Game) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[62]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Game.ProtoReflect.Descriptor instead.
func (*Game) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{62}
}
func (x *Game) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *Game) GetAgeRatings() []*AgeRating {
if x != nil {
return x.AgeRatings
}
return nil
}
func (x *Game) GetAggregatedRating() float64 {
if x != nil {
return x.AggregatedRating
}
return 0
}
func (x *Game) GetAggregatedRatingCount() int32 {
if x != nil {
return x.AggregatedRatingCount
}
return 0
}
func (x *Game) GetAlternativeNames() []*AlternativeName {
if x != nil {
return x.AlternativeNames
}
return nil
}
func (x *Game) GetArtworks() []*Artwork {
if x != nil {
return x.Artworks
}
return nil
}
func (x *Game) GetBundles() []*Game {
if x != nil {
return x.Bundles
}
return nil
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *Game) GetCategory() GameCategoryEnum {
if x != nil {
return x.Category
}
return GameCategoryEnum_MAIN_GAME
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *Game) GetCollection() *Collection {
if x != nil {
return x.Collection
}
return nil
}
func (x *Game) GetCover() *Cover {
if x != nil {
return x.Cover
}
return nil
}
func (x *Game) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *Game) GetDlcs() []*Game {
if x != nil {
return x.Dlcs
}
return nil
}
func (x *Game) GetExpansions() []*Game {
if x != nil {
return x.Expansions
}
return nil
}
func (x *Game) GetExternalGames() []*ExternalGame {
if x != nil {
return x.ExternalGames
}
return nil
}
func (x *Game) GetFirstReleaseDate() *timestamppb.Timestamp {
if x != nil {
return x.FirstReleaseDate
}
return nil
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *Game) GetFollows() int32 {
if x != nil {
return x.Follows
}
return 0
}
func (x *Game) GetFranchise() *Franchise {
if x != nil {
return x.Franchise
}
return nil
}
func (x *Game) GetFranchises() []*Franchise {
if x != nil {
return x.Franchises
}
return nil
}
func (x *Game) GetGameEngines() []*GameEngine {
if x != nil {
return x.GameEngines
}
return nil
}
func (x *Game) GetGameModes() []*GameMode {
if x != nil {
return x.GameModes
}
return nil
}
func (x *Game) GetGenres() []*Genre {
if x != nil {
return x.Genres
}
return nil
}
func (x *Game) GetHypes() int32 {
if x != nil {
return x.Hypes
}
return 0
}
func (x *Game) GetInvolvedCompanies() []*InvolvedCompany {
if x != nil {
return x.InvolvedCompanies
}
return nil
}
func (x *Game) GetKeywords() []*Keyword {
if x != nil {
return x.Keywords
}
return nil
}
func (x *Game) GetMultiplayerModes() []*MultiplayerMode {
if x != nil {
return x.MultiplayerModes
}
return nil
}
func (x *Game) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Game) GetParentGame() *Game {
if x != nil {
return x.ParentGame
}
return nil
}
func (x *Game) GetPlatforms() []*Platform {
if x != nil {
return x.Platforms
}
return nil
}
func (x *Game) GetPlayerPerspectives() []*PlayerPerspective {
if x != nil {
return x.PlayerPerspectives
}
return nil
}
func (x *Game) GetRating() float64 {
if x != nil {
return x.Rating
}
return 0
}
func (x *Game) GetRatingCount() int32 {
if x != nil {
return x.RatingCount
}
return 0
}
func (x *Game) GetReleaseDates() []*ReleaseDate {
if x != nil {
return x.ReleaseDates
}
return nil
}
func (x *Game) GetScreenshots() []*Screenshot {
if x != nil {
return x.Screenshots
}
return nil
}
func (x *Game) GetSimilarGames() []*Game {
if x != nil {
return x.SimilarGames
}
return nil
}
func (x *Game) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *Game) GetStandaloneExpansions() []*Game {
if x != nil {
return x.StandaloneExpansions
}
return nil
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *Game) GetStatus() GameStatusEnum {
if x != nil {
return x.Status
}
return GameStatusEnum_RELEASED
}
func (x *Game) GetStoryline() string {
if x != nil {
return x.Storyline
}
return ""
}
func (x *Game) GetSummary() string {
if x != nil {
return x.Summary
}
return ""
}
func (x *Game) GetTags() []int32 {
if x != nil {
return x.Tags
}
return nil
}
func (x *Game) GetThemes() []*Theme {
if x != nil {
return x.Themes
}
return nil
}
func (x *Game) GetTotalRating() float64 {
if x != nil {
return x.TotalRating
}
return 0
}
func (x *Game) GetTotalRatingCount() int32 {
if x != nil {
return x.TotalRatingCount
}
return 0
}
func (x *Game) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *Game) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *Game) GetVersionParent() *Game {
if x != nil {
return x.VersionParent
}
return nil
}
func (x *Game) GetVersionTitle() string {
if x != nil {
return x.VersionTitle
}
return ""
}
func (x *Game) GetVideos() []*GameVideo {
if x != nil {
return x.Videos
}
return nil
}
func (x *Game) GetWebsites() []*Website {
if x != nil {
return x.Websites
}
return nil
}
func (x *Game) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
func (x *Game) GetRemakes() []*Game {
if x != nil {
return x.Remakes
}
return nil
}
func (x *Game) GetRemasters() []*Game {
if x != nil {
return x.Remasters
}
return nil
}
func (x *Game) GetExpandedGames() []*Game {
if x != nil {
return x.ExpandedGames
}
return nil
}
func (x *Game) GetPorts() []*Game {
if x != nil {
return x.Ports
}
return nil
}
func (x *Game) GetForks() []*Game {
if x != nil {
return x.Forks
}
return nil
}
func (x *Game) GetLanguageSupports() []*LanguageSupport {
if x != nil {
return x.LanguageSupports
}
return nil
}
func (x *Game) GetGameLocalizations() []*GameLocalization {
if x != nil {
return x.GameLocalizations
}
return nil
}
func (x *Game) GetCollections() []*Collection {
if x != nil {
return x.Collections
}
return nil
}
func (x *Game) GetGameStatus() *GameStatus {
if x != nil {
return x.GameStatus
}
return nil
}
func (x *Game) GetGameType() *GameType {
if x != nil {
return x.GameType
}
return nil
}
type GameEngineResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Gameengines []*GameEngine `protobuf:"bytes,1,rep,name=gameengines,proto3" json:"gameengines,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameEngineResult) Reset() {
*x = GameEngineResult{}
mi := &file_proto_igdbapi_proto_msgTypes[63]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameEngineResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameEngineResult) ProtoMessage() {}
func (x *GameEngineResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[63]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameEngineResult.ProtoReflect.Descriptor instead.
func (*GameEngineResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{63}
}
func (x *GameEngineResult) GetGameengines() []*GameEngine {
if x != nil {
return x.Gameengines
}
return nil
}
type GameEngine struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Companies []*Company `protobuf:"bytes,2,rep,name=companies,proto3" json:"companies,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
Logo *GameEngineLogo `protobuf:"bytes,5,opt,name=logo,proto3" json:"logo,omitempty"`
Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
Platforms []*Platform `protobuf:"bytes,7,rep,name=platforms,proto3" json:"platforms,omitempty"`
Slug string `protobuf:"bytes,8,opt,name=slug,proto3" json:"slug,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Url string `protobuf:"bytes,10,opt,name=url,proto3" json:"url,omitempty"`
Checksum string `protobuf:"bytes,11,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameEngine) Reset() {
*x = GameEngine{}
mi := &file_proto_igdbapi_proto_msgTypes[64]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameEngine) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameEngine) ProtoMessage() {}
func (x *GameEngine) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[64]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameEngine.ProtoReflect.Descriptor instead.
func (*GameEngine) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{64}
}
func (x *GameEngine) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *GameEngine) GetCompanies() []*Company {
if x != nil {
return x.Companies
}
return nil
}
func (x *GameEngine) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *GameEngine) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *GameEngine) GetLogo() *GameEngineLogo {
if x != nil {
return x.Logo
}
return nil
}
func (x *GameEngine) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *GameEngine) GetPlatforms() []*Platform {
if x != nil {
return x.Platforms
}
return nil
}
func (x *GameEngine) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *GameEngine) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *GameEngine) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *GameEngine) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type GameEngineLogoResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Gameenginelogos []*GameEngineLogo `protobuf:"bytes,1,rep,name=gameenginelogos,proto3" json:"gameenginelogos,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameEngineLogoResult) Reset() {
*x = GameEngineLogoResult{}
mi := &file_proto_igdbapi_proto_msgTypes[65]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameEngineLogoResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameEngineLogoResult) ProtoMessage() {}
func (x *GameEngineLogoResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[65]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameEngineLogoResult.ProtoReflect.Descriptor instead.
func (*GameEngineLogoResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{65}
}
func (x *GameEngineLogoResult) GetGameenginelogos() []*GameEngineLogo {
if x != nil {
return x.Gameenginelogos
}
return nil
}
type GameEngineLogo struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
AlphaChannel bool `protobuf:"varint,2,opt,name=alpha_channel,json=alphaChannel,proto3" json:"alpha_channel,omitempty"`
Animated bool `protobuf:"varint,3,opt,name=animated,proto3" json:"animated,omitempty"`
Height int32 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
ImageId string `protobuf:"bytes,5,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"`
Url string `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"`
Width int32 `protobuf:"varint,7,opt,name=width,proto3" json:"width,omitempty"`
Checksum string `protobuf:"bytes,8,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameEngineLogo) Reset() {
*x = GameEngineLogo{}
mi := &file_proto_igdbapi_proto_msgTypes[66]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameEngineLogo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameEngineLogo) ProtoMessage() {}
func (x *GameEngineLogo) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[66]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameEngineLogo.ProtoReflect.Descriptor instead.
func (*GameEngineLogo) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{66}
}
func (x *GameEngineLogo) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *GameEngineLogo) GetAlphaChannel() bool {
if x != nil {
return x.AlphaChannel
}
return false
}
func (x *GameEngineLogo) GetAnimated() bool {
if x != nil {
return x.Animated
}
return false
}
func (x *GameEngineLogo) GetHeight() int32 {
if x != nil {
return x.Height
}
return 0
}
func (x *GameEngineLogo) GetImageId() string {
if x != nil {
return x.ImageId
}
return ""
}
func (x *GameEngineLogo) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *GameEngineLogo) GetWidth() int32 {
if x != nil {
return x.Width
}
return 0
}
func (x *GameEngineLogo) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type GameLocalizationResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Gamelocalizations []*GameLocalization `protobuf:"bytes,1,rep,name=gamelocalizations,proto3" json:"gamelocalizations,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameLocalizationResult) Reset() {
*x = GameLocalizationResult{}
mi := &file_proto_igdbapi_proto_msgTypes[67]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameLocalizationResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameLocalizationResult) ProtoMessage() {}
func (x *GameLocalizationResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[67]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameLocalizationResult.ProtoReflect.Descriptor instead.
func (*GameLocalizationResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{67}
}
func (x *GameLocalizationResult) GetGamelocalizations() []*GameLocalization {
if x != nil {
return x.Gamelocalizations
}
return nil
}
type GameLocalization struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Cover *Cover `protobuf:"bytes,3,opt,name=cover,proto3" json:"cover,omitempty"`
Game *Game `protobuf:"bytes,4,opt,name=game,proto3" json:"game,omitempty"`
Region *Region `protobuf:"bytes,5,opt,name=region,proto3" json:"region,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,8,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameLocalization) Reset() {
*x = GameLocalization{}
mi := &file_proto_igdbapi_proto_msgTypes[68]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameLocalization) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameLocalization) ProtoMessage() {}
func (x *GameLocalization) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[68]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameLocalization.ProtoReflect.Descriptor instead.
func (*GameLocalization) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{68}
}
func (x *GameLocalization) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *GameLocalization) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *GameLocalization) GetCover() *Cover {
if x != nil {
return x.Cover
}
return nil
}
func (x *GameLocalization) GetGame() *Game {
if x != nil {
return x.Game
}
return nil
}
func (x *GameLocalization) GetRegion() *Region {
if x != nil {
return x.Region
}
return nil
}
func (x *GameLocalization) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *GameLocalization) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *GameLocalization) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type GameModeResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Gamemodes []*GameMode `protobuf:"bytes,1,rep,name=gamemodes,proto3" json:"gamemodes,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameModeResult) Reset() {
*x = GameModeResult{}
mi := &file_proto_igdbapi_proto_msgTypes[69]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameModeResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameModeResult) ProtoMessage() {}
func (x *GameModeResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[69]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameModeResult.ProtoReflect.Descriptor instead.
func (*GameModeResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{69}
}
func (x *GameModeResult) GetGamemodes() []*GameMode {
if x != nil {
return x.Gamemodes
}
return nil
}
type GameMode struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
Slug string `protobuf:"bytes,4,opt,name=slug,proto3" json:"slug,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Url string `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"`
Checksum string `protobuf:"bytes,7,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameMode) Reset() {
*x = GameMode{}
mi := &file_proto_igdbapi_proto_msgTypes[70]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameMode) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameMode) ProtoMessage() {}
func (x *GameMode) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[70]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameMode.ProtoReflect.Descriptor instead.
func (*GameMode) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{70}
}
func (x *GameMode) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *GameMode) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *GameMode) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *GameMode) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *GameMode) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *GameMode) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *GameMode) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type GameReleaseFormatResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Gamereleaseformats []*GameReleaseFormat `protobuf:"bytes,1,rep,name=gamereleaseformats,proto3" json:"gamereleaseformats,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameReleaseFormatResult) Reset() {
*x = GameReleaseFormatResult{}
mi := &file_proto_igdbapi_proto_msgTypes[71]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameReleaseFormatResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameReleaseFormatResult) ProtoMessage() {}
func (x *GameReleaseFormatResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[71]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameReleaseFormatResult.ProtoReflect.Descriptor instead.
func (*GameReleaseFormatResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{71}
}
func (x *GameReleaseFormatResult) GetGamereleaseformats() []*GameReleaseFormat {
if x != nil {
return x.Gamereleaseformats
}
return nil
}
type GameReleaseFormat struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Format string `protobuf:"bytes,2,opt,name=format,proto3" json:"format,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,5,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameReleaseFormat) Reset() {
*x = GameReleaseFormat{}
mi := &file_proto_igdbapi_proto_msgTypes[72]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameReleaseFormat) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameReleaseFormat) ProtoMessage() {}
func (x *GameReleaseFormat) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[72]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameReleaseFormat.ProtoReflect.Descriptor instead.
func (*GameReleaseFormat) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{72}
}
func (x *GameReleaseFormat) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *GameReleaseFormat) GetFormat() string {
if x != nil {
return x.Format
}
return ""
}
func (x *GameReleaseFormat) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *GameReleaseFormat) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *GameReleaseFormat) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type GameStatusResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Gamestatuses []*GameStatus `protobuf:"bytes,1,rep,name=gamestatuses,proto3" json:"gamestatuses,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameStatusResult) Reset() {
*x = GameStatusResult{}
mi := &file_proto_igdbapi_proto_msgTypes[73]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameStatusResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameStatusResult) ProtoMessage() {}
func (x *GameStatusResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[73]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameStatusResult.ProtoReflect.Descriptor instead.
func (*GameStatusResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{73}
}
func (x *GameStatusResult) GetGamestatuses() []*GameStatus {
if x != nil {
return x.Gamestatuses
}
return nil
}
type GameStatus struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,5,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameStatus) Reset() {
*x = GameStatus{}
mi := &file_proto_igdbapi_proto_msgTypes[74]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameStatus) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameStatus) ProtoMessage() {}
func (x *GameStatus) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[74]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameStatus.ProtoReflect.Descriptor instead.
func (*GameStatus) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{74}
}
func (x *GameStatus) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *GameStatus) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *GameStatus) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *GameStatus) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *GameStatus) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type GameTimeToBeatResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Gametimetobeats []*GameTimeToBeat `protobuf:"bytes,1,rep,name=gametimetobeats,proto3" json:"gametimetobeats,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameTimeToBeatResult) Reset() {
*x = GameTimeToBeatResult{}
mi := &file_proto_igdbapi_proto_msgTypes[75]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameTimeToBeatResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameTimeToBeatResult) ProtoMessage() {}
func (x *GameTimeToBeatResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[75]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameTimeToBeatResult.ProtoReflect.Descriptor instead.
func (*GameTimeToBeatResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{75}
}
func (x *GameTimeToBeatResult) GetGametimetobeats() []*GameTimeToBeat {
if x != nil {
return x.Gametimetobeats
}
return nil
}
type GameTimeToBeat struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
GameId int32 `protobuf:"varint,2,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
Hastily int32 `protobuf:"varint,3,opt,name=hastily,proto3" json:"hastily,omitempty"`
Normally int32 `protobuf:"varint,4,opt,name=normally,proto3" json:"normally,omitempty"`
Completely int32 `protobuf:"varint,5,opt,name=completely,proto3" json:"completely,omitempty"`
Count int32 `protobuf:"varint,6,opt,name=count,proto3" json:"count,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,9,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameTimeToBeat) Reset() {
*x = GameTimeToBeat{}
mi := &file_proto_igdbapi_proto_msgTypes[76]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameTimeToBeat) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameTimeToBeat) ProtoMessage() {}
func (x *GameTimeToBeat) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[76]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameTimeToBeat.ProtoReflect.Descriptor instead.
func (*GameTimeToBeat) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{76}
}
func (x *GameTimeToBeat) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *GameTimeToBeat) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
func (x *GameTimeToBeat) GetHastily() int32 {
if x != nil {
return x.Hastily
}
return 0
}
func (x *GameTimeToBeat) GetNormally() int32 {
if x != nil {
return x.Normally
}
return 0
}
func (x *GameTimeToBeat) GetCompletely() int32 {
if x != nil {
return x.Completely
}
return 0
}
func (x *GameTimeToBeat) GetCount() int32 {
if x != nil {
return x.Count
}
return 0
}
func (x *GameTimeToBeat) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *GameTimeToBeat) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *GameTimeToBeat) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type GameTypeResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Gametypes []*GameType `protobuf:"bytes,1,rep,name=gametypes,proto3" json:"gametypes,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameTypeResult) Reset() {
*x = GameTypeResult{}
mi := &file_proto_igdbapi_proto_msgTypes[77]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameTypeResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameTypeResult) ProtoMessage() {}
func (x *GameTypeResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[77]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameTypeResult.ProtoReflect.Descriptor instead.
func (*GameTypeResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{77}
}
func (x *GameTypeResult) GetGametypes() []*GameType {
if x != nil {
return x.Gametypes
}
return nil
}
type GameType struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,5,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameType) Reset() {
*x = GameType{}
mi := &file_proto_igdbapi_proto_msgTypes[78]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameType) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameType) ProtoMessage() {}
func (x *GameType) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[78]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameType.ProtoReflect.Descriptor instead.
func (*GameType) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{78}
}
func (x *GameType) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *GameType) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *GameType) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *GameType) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *GameType) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type GameVersionResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Gameversions []*GameVersion `protobuf:"bytes,1,rep,name=gameversions,proto3" json:"gameversions,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameVersionResult) Reset() {
*x = GameVersionResult{}
mi := &file_proto_igdbapi_proto_msgTypes[79]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameVersionResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameVersionResult) ProtoMessage() {}
func (x *GameVersionResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[79]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameVersionResult.ProtoReflect.Descriptor instead.
func (*GameVersionResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{79}
}
func (x *GameVersionResult) GetGameversions() []*GameVersion {
if x != nil {
return x.Gameversions
}
return nil
}
type GameVersion struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Features []*GameVersionFeature `protobuf:"bytes,3,rep,name=features,proto3" json:"features,omitempty"`
Game *Game `protobuf:"bytes,4,opt,name=game,proto3" json:"game,omitempty"`
Games []*Game `protobuf:"bytes,5,rep,name=games,proto3" json:"games,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Url string `protobuf:"bytes,7,opt,name=url,proto3" json:"url,omitempty"`
Checksum string `protobuf:"bytes,8,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameVersion) Reset() {
*x = GameVersion{}
mi := &file_proto_igdbapi_proto_msgTypes[80]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameVersion) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameVersion) ProtoMessage() {}
func (x *GameVersion) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[80]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameVersion.ProtoReflect.Descriptor instead.
func (*GameVersion) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{80}
}
func (x *GameVersion) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *GameVersion) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *GameVersion) GetFeatures() []*GameVersionFeature {
if x != nil {
return x.Features
}
return nil
}
func (x *GameVersion) GetGame() *Game {
if x != nil {
return x.Game
}
return nil
}
func (x *GameVersion) GetGames() []*Game {
if x != nil {
return x.Games
}
return nil
}
func (x *GameVersion) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *GameVersion) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *GameVersion) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type GameVersionFeatureResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Gameversionfeatures []*GameVersionFeature `protobuf:"bytes,1,rep,name=gameversionfeatures,proto3" json:"gameversionfeatures,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameVersionFeatureResult) Reset() {
*x = GameVersionFeatureResult{}
mi := &file_proto_igdbapi_proto_msgTypes[81]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameVersionFeatureResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameVersionFeatureResult) ProtoMessage() {}
func (x *GameVersionFeatureResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[81]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameVersionFeatureResult.ProtoReflect.Descriptor instead.
func (*GameVersionFeatureResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{81}
}
func (x *GameVersionFeatureResult) GetGameversionfeatures() []*GameVersionFeature {
if x != nil {
return x.Gameversionfeatures
}
return nil
}
type GameVersionFeature struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Category GameVersionFeatureCategoryEnum `protobuf:"varint,2,opt,name=category,proto3,enum=proto.GameVersionFeatureCategoryEnum" json:"category,omitempty"`
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
Position int32 `protobuf:"varint,4,opt,name=position,proto3" json:"position,omitempty"`
Title string `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"`
Values []*GameVersionFeatureValue `protobuf:"bytes,6,rep,name=values,proto3" json:"values,omitempty"`
Checksum string `protobuf:"bytes,7,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameVersionFeature) Reset() {
*x = GameVersionFeature{}
mi := &file_proto_igdbapi_proto_msgTypes[82]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameVersionFeature) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameVersionFeature) ProtoMessage() {}
func (x *GameVersionFeature) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[82]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameVersionFeature.ProtoReflect.Descriptor instead.
func (*GameVersionFeature) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{82}
}
func (x *GameVersionFeature) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *GameVersionFeature) GetCategory() GameVersionFeatureCategoryEnum {
if x != nil {
return x.Category
}
return GameVersionFeatureCategoryEnum_BOOLEAN
}
func (x *GameVersionFeature) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *GameVersionFeature) GetPosition() int32 {
if x != nil {
return x.Position
}
return 0
}
func (x *GameVersionFeature) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *GameVersionFeature) GetValues() []*GameVersionFeatureValue {
if x != nil {
return x.Values
}
return nil
}
func (x *GameVersionFeature) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type GameVersionFeatureValueResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Gameversionfeaturevalues []*GameVersionFeatureValue `protobuf:"bytes,1,rep,name=gameversionfeaturevalues,proto3" json:"gameversionfeaturevalues,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameVersionFeatureValueResult) Reset() {
*x = GameVersionFeatureValueResult{}
mi := &file_proto_igdbapi_proto_msgTypes[83]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameVersionFeatureValueResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameVersionFeatureValueResult) ProtoMessage() {}
func (x *GameVersionFeatureValueResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[83]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameVersionFeatureValueResult.ProtoReflect.Descriptor instead.
func (*GameVersionFeatureValueResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{83}
}
func (x *GameVersionFeatureValueResult) GetGameversionfeaturevalues() []*GameVersionFeatureValue {
if x != nil {
return x.Gameversionfeaturevalues
}
return nil
}
type GameVersionFeatureValue struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Game *Game `protobuf:"bytes,2,opt,name=game,proto3" json:"game,omitempty"`
GameFeature *GameVersionFeature `protobuf:"bytes,3,opt,name=game_feature,json=gameFeature,proto3" json:"game_feature,omitempty"`
IncludedFeature GameVersionFeatureValueIncludedFeatureEnum `protobuf:"varint,4,opt,name=included_feature,json=includedFeature,proto3,enum=proto.GameVersionFeatureValueIncludedFeatureEnum" json:"included_feature,omitempty"`
Note string `protobuf:"bytes,5,opt,name=note,proto3" json:"note,omitempty"`
Checksum string `protobuf:"bytes,6,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameVersionFeatureValue) Reset() {
*x = GameVersionFeatureValue{}
mi := &file_proto_igdbapi_proto_msgTypes[84]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameVersionFeatureValue) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameVersionFeatureValue) ProtoMessage() {}
func (x *GameVersionFeatureValue) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[84]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameVersionFeatureValue.ProtoReflect.Descriptor instead.
func (*GameVersionFeatureValue) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{84}
}
func (x *GameVersionFeatureValue) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *GameVersionFeatureValue) GetGame() *Game {
if x != nil {
return x.Game
}
return nil
}
func (x *GameVersionFeatureValue) GetGameFeature() *GameVersionFeature {
if x != nil {
return x.GameFeature
}
return nil
}
func (x *GameVersionFeatureValue) GetIncludedFeature() GameVersionFeatureValueIncludedFeatureEnum {
if x != nil {
return x.IncludedFeature
}
return GameVersionFeatureValueIncludedFeatureEnum_NOT_INCLUDED
}
func (x *GameVersionFeatureValue) GetNote() string {
if x != nil {
return x.Note
}
return ""
}
func (x *GameVersionFeatureValue) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type GameVideoResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Gamevideos []*GameVideo `protobuf:"bytes,1,rep,name=gamevideos,proto3" json:"gamevideos,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameVideoResult) Reset() {
*x = GameVideoResult{}
mi := &file_proto_igdbapi_proto_msgTypes[85]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameVideoResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameVideoResult) ProtoMessage() {}
func (x *GameVideoResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[85]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameVideoResult.ProtoReflect.Descriptor instead.
func (*GameVideoResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{85}
}
func (x *GameVideoResult) GetGamevideos() []*GameVideo {
if x != nil {
return x.Gamevideos
}
return nil
}
type GameVideo struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Game *Game `protobuf:"bytes,2,opt,name=game,proto3" json:"game,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
VideoId string `protobuf:"bytes,4,opt,name=video_id,json=videoId,proto3" json:"video_id,omitempty"`
Checksum string `protobuf:"bytes,5,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GameVideo) Reset() {
*x = GameVideo{}
mi := &file_proto_igdbapi_proto_msgTypes[86]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameVideo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameVideo) ProtoMessage() {}
func (x *GameVideo) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[86]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameVideo.ProtoReflect.Descriptor instead.
func (*GameVideo) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{86}
}
func (x *GameVideo) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *GameVideo) GetGame() *Game {
if x != nil {
return x.Game
}
return nil
}
func (x *GameVideo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *GameVideo) GetVideoId() string {
if x != nil {
return x.VideoId
}
return ""
}
func (x *GameVideo) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type GenreResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Genres []*Genre `protobuf:"bytes,1,rep,name=genres,proto3" json:"genres,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GenreResult) Reset() {
*x = GenreResult{}
mi := &file_proto_igdbapi_proto_msgTypes[87]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GenreResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GenreResult) ProtoMessage() {}
func (x *GenreResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[87]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GenreResult.ProtoReflect.Descriptor instead.
func (*GenreResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{87}
}
func (x *GenreResult) GetGenres() []*Genre {
if x != nil {
return x.Genres
}
return nil
}
type Genre struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
Slug string `protobuf:"bytes,4,opt,name=slug,proto3" json:"slug,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Url string `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"`
Checksum string `protobuf:"bytes,7,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Genre) Reset() {
*x = Genre{}
mi := &file_proto_igdbapi_proto_msgTypes[88]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Genre) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Genre) ProtoMessage() {}
func (x *Genre) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[88]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Genre.ProtoReflect.Descriptor instead.
func (*Genre) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{88}
}
func (x *Genre) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *Genre) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *Genre) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Genre) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *Genre) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *Genre) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *Genre) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type InvolvedCompanyResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Involvedcompanies []*InvolvedCompany `protobuf:"bytes,1,rep,name=involvedcompanies,proto3" json:"involvedcompanies,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *InvolvedCompanyResult) Reset() {
*x = InvolvedCompanyResult{}
mi := &file_proto_igdbapi_proto_msgTypes[89]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *InvolvedCompanyResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InvolvedCompanyResult) ProtoMessage() {}
func (x *InvolvedCompanyResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[89]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InvolvedCompanyResult.ProtoReflect.Descriptor instead.
func (*InvolvedCompanyResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{89}
}
func (x *InvolvedCompanyResult) GetInvolvedcompanies() []*InvolvedCompany {
if x != nil {
return x.Involvedcompanies
}
return nil
}
type InvolvedCompany struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Company *Company `protobuf:"bytes,2,opt,name=company,proto3" json:"company,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Developer bool `protobuf:"varint,4,opt,name=developer,proto3" json:"developer,omitempty"`
Game *Game `protobuf:"bytes,5,opt,name=game,proto3" json:"game,omitempty"`
Porting bool `protobuf:"varint,6,opt,name=porting,proto3" json:"porting,omitempty"`
Publisher bool `protobuf:"varint,7,opt,name=publisher,proto3" json:"publisher,omitempty"`
Supporting bool `protobuf:"varint,8,opt,name=supporting,proto3" json:"supporting,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,10,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *InvolvedCompany) Reset() {
*x = InvolvedCompany{}
mi := &file_proto_igdbapi_proto_msgTypes[90]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *InvolvedCompany) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InvolvedCompany) ProtoMessage() {}
func (x *InvolvedCompany) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[90]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InvolvedCompany.ProtoReflect.Descriptor instead.
func (*InvolvedCompany) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{90}
}
func (x *InvolvedCompany) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *InvolvedCompany) GetCompany() *Company {
if x != nil {
return x.Company
}
return nil
}
func (x *InvolvedCompany) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *InvolvedCompany) GetDeveloper() bool {
if x != nil {
return x.Developer
}
return false
}
func (x *InvolvedCompany) GetGame() *Game {
if x != nil {
return x.Game
}
return nil
}
func (x *InvolvedCompany) GetPorting() bool {
if x != nil {
return x.Porting
}
return false
}
func (x *InvolvedCompany) GetPublisher() bool {
if x != nil {
return x.Publisher
}
return false
}
func (x *InvolvedCompany) GetSupporting() bool {
if x != nil {
return x.Supporting
}
return false
}
func (x *InvolvedCompany) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *InvolvedCompany) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type KeywordResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Keywords []*Keyword `protobuf:"bytes,1,rep,name=keywords,proto3" json:"keywords,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *KeywordResult) Reset() {
*x = KeywordResult{}
mi := &file_proto_igdbapi_proto_msgTypes[91]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *KeywordResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*KeywordResult) ProtoMessage() {}
func (x *KeywordResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[91]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use KeywordResult.ProtoReflect.Descriptor instead.
func (*KeywordResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{91}
}
func (x *KeywordResult) GetKeywords() []*Keyword {
if x != nil {
return x.Keywords
}
return nil
}
type Keyword struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
Slug string `protobuf:"bytes,4,opt,name=slug,proto3" json:"slug,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Url string `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"`
Checksum string `protobuf:"bytes,7,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Keyword) Reset() {
*x = Keyword{}
mi := &file_proto_igdbapi_proto_msgTypes[92]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Keyword) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Keyword) ProtoMessage() {}
func (x *Keyword) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[92]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Keyword.ProtoReflect.Descriptor instead.
func (*Keyword) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{92}
}
func (x *Keyword) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *Keyword) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *Keyword) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Keyword) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *Keyword) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *Keyword) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *Keyword) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type LanguageResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Languages []*Language `protobuf:"bytes,1,rep,name=languages,proto3" json:"languages,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LanguageResult) Reset() {
*x = LanguageResult{}
mi := &file_proto_igdbapi_proto_msgTypes[93]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LanguageResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LanguageResult) ProtoMessage() {}
func (x *LanguageResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[93]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LanguageResult.ProtoReflect.Descriptor instead.
func (*LanguageResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{93}
}
func (x *LanguageResult) GetLanguages() []*Language {
if x != nil {
return x.Languages
}
return nil
}
type Language struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
NativeName string `protobuf:"bytes,3,opt,name=native_name,json=nativeName,proto3" json:"native_name,omitempty"`
Locale string `protobuf:"bytes,4,opt,name=locale,proto3" json:"locale,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,7,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Language) Reset() {
*x = Language{}
mi := &file_proto_igdbapi_proto_msgTypes[94]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Language) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Language) ProtoMessage() {}
func (x *Language) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[94]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Language.ProtoReflect.Descriptor instead.
func (*Language) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{94}
}
func (x *Language) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *Language) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Language) GetNativeName() string {
if x != nil {
return x.NativeName
}
return ""
}
func (x *Language) GetLocale() string {
if x != nil {
return x.Locale
}
return ""
}
func (x *Language) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *Language) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *Language) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type LanguageSupportResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Languagesupports []*LanguageSupport `protobuf:"bytes,1,rep,name=languagesupports,proto3" json:"languagesupports,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LanguageSupportResult) Reset() {
*x = LanguageSupportResult{}
mi := &file_proto_igdbapi_proto_msgTypes[95]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LanguageSupportResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LanguageSupportResult) ProtoMessage() {}
func (x *LanguageSupportResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[95]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LanguageSupportResult.ProtoReflect.Descriptor instead.
func (*LanguageSupportResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{95}
}
func (x *LanguageSupportResult) GetLanguagesupports() []*LanguageSupport {
if x != nil {
return x.Languagesupports
}
return nil
}
type LanguageSupport struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Game *Game `protobuf:"bytes,2,opt,name=game,proto3" json:"game,omitempty"`
Language *Language `protobuf:"bytes,3,opt,name=language,proto3" json:"language,omitempty"`
LanguageSupportType *LanguageSupportType `protobuf:"bytes,4,opt,name=language_support_type,json=languageSupportType,proto3" json:"language_support_type,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,7,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LanguageSupport) Reset() {
*x = LanguageSupport{}
mi := &file_proto_igdbapi_proto_msgTypes[96]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LanguageSupport) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LanguageSupport) ProtoMessage() {}
func (x *LanguageSupport) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[96]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LanguageSupport.ProtoReflect.Descriptor instead.
func (*LanguageSupport) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{96}
}
func (x *LanguageSupport) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *LanguageSupport) GetGame() *Game {
if x != nil {
return x.Game
}
return nil
}
func (x *LanguageSupport) GetLanguage() *Language {
if x != nil {
return x.Language
}
return nil
}
func (x *LanguageSupport) GetLanguageSupportType() *LanguageSupportType {
if x != nil {
return x.LanguageSupportType
}
return nil
}
func (x *LanguageSupport) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *LanguageSupport) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *LanguageSupport) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type LanguageSupportTypeResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Languagesupporttypes []*LanguageSupportType `protobuf:"bytes,1,rep,name=languagesupporttypes,proto3" json:"languagesupporttypes,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LanguageSupportTypeResult) Reset() {
*x = LanguageSupportTypeResult{}
mi := &file_proto_igdbapi_proto_msgTypes[97]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LanguageSupportTypeResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LanguageSupportTypeResult) ProtoMessage() {}
func (x *LanguageSupportTypeResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[97]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LanguageSupportTypeResult.ProtoReflect.Descriptor instead.
func (*LanguageSupportTypeResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{97}
}
func (x *LanguageSupportTypeResult) GetLanguagesupporttypes() []*LanguageSupportType {
if x != nil {
return x.Languagesupporttypes
}
return nil
}
type LanguageSupportType struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,5,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LanguageSupportType) Reset() {
*x = LanguageSupportType{}
mi := &file_proto_igdbapi_proto_msgTypes[98]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LanguageSupportType) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LanguageSupportType) ProtoMessage() {}
func (x *LanguageSupportType) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[98]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LanguageSupportType.ProtoReflect.Descriptor instead.
func (*LanguageSupportType) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{98}
}
func (x *LanguageSupportType) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *LanguageSupportType) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *LanguageSupportType) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *LanguageSupportType) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *LanguageSupportType) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type MultiplayerModeResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Multiplayermodes []*MultiplayerMode `protobuf:"bytes,1,rep,name=multiplayermodes,proto3" json:"multiplayermodes,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *MultiplayerModeResult) Reset() {
*x = MultiplayerModeResult{}
mi := &file_proto_igdbapi_proto_msgTypes[99]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MultiplayerModeResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MultiplayerModeResult) ProtoMessage() {}
func (x *MultiplayerModeResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[99]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MultiplayerModeResult.ProtoReflect.Descriptor instead.
func (*MultiplayerModeResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{99}
}
func (x *MultiplayerModeResult) GetMultiplayermodes() []*MultiplayerMode {
if x != nil {
return x.Multiplayermodes
}
return nil
}
type MultiplayerMode struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Campaigncoop bool `protobuf:"varint,2,opt,name=campaigncoop,proto3" json:"campaigncoop,omitempty"`
Dropin bool `protobuf:"varint,3,opt,name=dropin,proto3" json:"dropin,omitempty"`
Game *Game `protobuf:"bytes,4,opt,name=game,proto3" json:"game,omitempty"`
Lancoop bool `protobuf:"varint,5,opt,name=lancoop,proto3" json:"lancoop,omitempty"`
Offlinecoop bool `protobuf:"varint,6,opt,name=offlinecoop,proto3" json:"offlinecoop,omitempty"`
Offlinecoopmax int32 `protobuf:"varint,7,opt,name=offlinecoopmax,proto3" json:"offlinecoopmax,omitempty"`
Offlinemax int32 `protobuf:"varint,8,opt,name=offlinemax,proto3" json:"offlinemax,omitempty"`
Onlinecoop bool `protobuf:"varint,9,opt,name=onlinecoop,proto3" json:"onlinecoop,omitempty"`
Onlinecoopmax int32 `protobuf:"varint,10,opt,name=onlinecoopmax,proto3" json:"onlinecoopmax,omitempty"`
Onlinemax int32 `protobuf:"varint,11,opt,name=onlinemax,proto3" json:"onlinemax,omitempty"`
Platform *Platform `protobuf:"bytes,12,opt,name=platform,proto3" json:"platform,omitempty"`
Splitscreen bool `protobuf:"varint,13,opt,name=splitscreen,proto3" json:"splitscreen,omitempty"`
Splitscreenonline bool `protobuf:"varint,14,opt,name=splitscreenonline,proto3" json:"splitscreenonline,omitempty"`
Checksum string `protobuf:"bytes,15,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *MultiplayerMode) Reset() {
*x = MultiplayerMode{}
mi := &file_proto_igdbapi_proto_msgTypes[100]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MultiplayerMode) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MultiplayerMode) ProtoMessage() {}
func (x *MultiplayerMode) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[100]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MultiplayerMode.ProtoReflect.Descriptor instead.
func (*MultiplayerMode) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{100}
}
func (x *MultiplayerMode) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *MultiplayerMode) GetCampaigncoop() bool {
if x != nil {
return x.Campaigncoop
}
return false
}
func (x *MultiplayerMode) GetDropin() bool {
if x != nil {
return x.Dropin
}
return false
}
func (x *MultiplayerMode) GetGame() *Game {
if x != nil {
return x.Game
}
return nil
}
func (x *MultiplayerMode) GetLancoop() bool {
if x != nil {
return x.Lancoop
}
return false
}
func (x *MultiplayerMode) GetOfflinecoop() bool {
if x != nil {
return x.Offlinecoop
}
return false
}
func (x *MultiplayerMode) GetOfflinecoopmax() int32 {
if x != nil {
return x.Offlinecoopmax
}
return 0
}
func (x *MultiplayerMode) GetOfflinemax() int32 {
if x != nil {
return x.Offlinemax
}
return 0
}
func (x *MultiplayerMode) GetOnlinecoop() bool {
if x != nil {
return x.Onlinecoop
}
return false
}
func (x *MultiplayerMode) GetOnlinecoopmax() int32 {
if x != nil {
return x.Onlinecoopmax
}
return 0
}
func (x *MultiplayerMode) GetOnlinemax() int32 {
if x != nil {
return x.Onlinemax
}
return 0
}
func (x *MultiplayerMode) GetPlatform() *Platform {
if x != nil {
return x.Platform
}
return nil
}
func (x *MultiplayerMode) GetSplitscreen() bool {
if x != nil {
return x.Splitscreen
}
return false
}
func (x *MultiplayerMode) GetSplitscreenonline() bool {
if x != nil {
return x.Splitscreenonline
}
return false
}
func (x *MultiplayerMode) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type NetworkTypeResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Networktypes []*NetworkType `protobuf:"bytes,1,rep,name=networktypes,proto3" json:"networktypes,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NetworkTypeResult) Reset() {
*x = NetworkTypeResult{}
mi := &file_proto_igdbapi_proto_msgTypes[101]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NetworkTypeResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NetworkTypeResult) ProtoMessage() {}
func (x *NetworkTypeResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[101]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NetworkTypeResult.ProtoReflect.Descriptor instead.
func (*NetworkTypeResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{101}
}
func (x *NetworkTypeResult) GetNetworktypes() []*NetworkType {
if x != nil {
return x.Networktypes
}
return nil
}
type NetworkType struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
EventNetworks []*EventNetwork `protobuf:"bytes,3,rep,name=event_networks,json=eventNetworks,proto3" json:"event_networks,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,6,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NetworkType) Reset() {
*x = NetworkType{}
mi := &file_proto_igdbapi_proto_msgTypes[102]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NetworkType) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NetworkType) ProtoMessage() {}
func (x *NetworkType) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[102]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NetworkType.ProtoReflect.Descriptor instead.
func (*NetworkType) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{102}
}
func (x *NetworkType) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *NetworkType) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *NetworkType) GetEventNetworks() []*EventNetwork {
if x != nil {
return x.EventNetworks
}
return nil
}
func (x *NetworkType) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *NetworkType) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *NetworkType) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type PlatformResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Platforms []*Platform `protobuf:"bytes,1,rep,name=platforms,proto3" json:"platforms,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PlatformResult) Reset() {
*x = PlatformResult{}
mi := &file_proto_igdbapi_proto_msgTypes[103]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PlatformResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlatformResult) ProtoMessage() {}
func (x *PlatformResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[103]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlatformResult.ProtoReflect.Descriptor instead.
func (*PlatformResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{103}
}
func (x *PlatformResult) GetPlatforms() []*Platform {
if x != nil {
return x.Platforms
}
return nil
}
type Platform struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Abbreviation string `protobuf:"bytes,2,opt,name=abbreviation,proto3" json:"abbreviation,omitempty"`
AlternativeName string `protobuf:"bytes,3,opt,name=alternative_name,json=alternativeName,proto3" json:"alternative_name,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
Category PlatformCategoryEnum `protobuf:"varint,4,opt,name=category,proto3,enum=proto.PlatformCategoryEnum" json:"category,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Generation int32 `protobuf:"varint,6,opt,name=generation,proto3" json:"generation,omitempty"`
Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
PlatformLogo *PlatformLogo `protobuf:"bytes,8,opt,name=platform_logo,json=platformLogo,proto3" json:"platform_logo,omitempty"`
PlatformFamily *PlatformFamily `protobuf:"bytes,9,opt,name=platform_family,json=platformFamily,proto3" json:"platform_family,omitempty"`
Slug string `protobuf:"bytes,10,opt,name=slug,proto3" json:"slug,omitempty"`
Summary string `protobuf:"bytes,11,opt,name=summary,proto3" json:"summary,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Url string `protobuf:"bytes,13,opt,name=url,proto3" json:"url,omitempty"`
Versions []*PlatformVersion `protobuf:"bytes,14,rep,name=versions,proto3" json:"versions,omitempty"`
Websites []*PlatformWebsite `protobuf:"bytes,15,rep,name=websites,proto3" json:"websites,omitempty"`
Checksum string `protobuf:"bytes,16,opt,name=checksum,proto3" json:"checksum,omitempty"`
PlatformType *PlatformType `protobuf:"bytes,17,opt,name=platform_type,json=platformType,proto3" json:"platform_type,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Platform) Reset() {
*x = Platform{}
mi := &file_proto_igdbapi_proto_msgTypes[104]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Platform) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Platform) ProtoMessage() {}
func (x *Platform) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[104]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Platform.ProtoReflect.Descriptor instead.
func (*Platform) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{104}
}
func (x *Platform) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *Platform) GetAbbreviation() string {
if x != nil {
return x.Abbreviation
}
return ""
}
func (x *Platform) GetAlternativeName() string {
if x != nil {
return x.AlternativeName
}
return ""
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *Platform) GetCategory() PlatformCategoryEnum {
if x != nil {
return x.Category
}
return PlatformCategoryEnum_PLATFORM_CATEGORY_NULL
}
func (x *Platform) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *Platform) GetGeneration() int32 {
if x != nil {
return x.Generation
}
return 0
}
func (x *Platform) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Platform) GetPlatformLogo() *PlatformLogo {
if x != nil {
return x.PlatformLogo
}
return nil
}
func (x *Platform) GetPlatformFamily() *PlatformFamily {
if x != nil {
return x.PlatformFamily
}
return nil
}
func (x *Platform) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *Platform) GetSummary() string {
if x != nil {
return x.Summary
}
return ""
}
func (x *Platform) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *Platform) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *Platform) GetVersions() []*PlatformVersion {
if x != nil {
return x.Versions
}
return nil
}
func (x *Platform) GetWebsites() []*PlatformWebsite {
if x != nil {
return x.Websites
}
return nil
}
func (x *Platform) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
func (x *Platform) GetPlatformType() *PlatformType {
if x != nil {
return x.PlatformType
}
return nil
}
type PlatformFamilyResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Platformfamilies []*PlatformFamily `protobuf:"bytes,1,rep,name=platformfamilies,proto3" json:"platformfamilies,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PlatformFamilyResult) Reset() {
*x = PlatformFamilyResult{}
mi := &file_proto_igdbapi_proto_msgTypes[105]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PlatformFamilyResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlatformFamilyResult) ProtoMessage() {}
func (x *PlatformFamilyResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[105]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlatformFamilyResult.ProtoReflect.Descriptor instead.
func (*PlatformFamilyResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{105}
}
func (x *PlatformFamilyResult) GetPlatformfamilies() []*PlatformFamily {
if x != nil {
return x.Platformfamilies
}
return nil
}
type PlatformFamily struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"`
Checksum string `protobuf:"bytes,4,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PlatformFamily) Reset() {
*x = PlatformFamily{}
mi := &file_proto_igdbapi_proto_msgTypes[106]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PlatformFamily) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlatformFamily) ProtoMessage() {}
func (x *PlatformFamily) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[106]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlatformFamily.ProtoReflect.Descriptor instead.
func (*PlatformFamily) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{106}
}
func (x *PlatformFamily) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *PlatformFamily) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *PlatformFamily) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *PlatformFamily) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type PlatformLogoResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Platformlogos []*PlatformLogo `protobuf:"bytes,1,rep,name=platformlogos,proto3" json:"platformlogos,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PlatformLogoResult) Reset() {
*x = PlatformLogoResult{}
mi := &file_proto_igdbapi_proto_msgTypes[107]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PlatformLogoResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlatformLogoResult) ProtoMessage() {}
func (x *PlatformLogoResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[107]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlatformLogoResult.ProtoReflect.Descriptor instead.
func (*PlatformLogoResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{107}
}
func (x *PlatformLogoResult) GetPlatformlogos() []*PlatformLogo {
if x != nil {
return x.Platformlogos
}
return nil
}
type PlatformLogo struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
AlphaChannel bool `protobuf:"varint,2,opt,name=alpha_channel,json=alphaChannel,proto3" json:"alpha_channel,omitempty"`
Animated bool `protobuf:"varint,3,opt,name=animated,proto3" json:"animated,omitempty"`
Height int32 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
ImageId string `protobuf:"bytes,5,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"`
Url string `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"`
Width int32 `protobuf:"varint,7,opt,name=width,proto3" json:"width,omitempty"`
Checksum string `protobuf:"bytes,8,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PlatformLogo) Reset() {
*x = PlatformLogo{}
mi := &file_proto_igdbapi_proto_msgTypes[108]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PlatformLogo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlatformLogo) ProtoMessage() {}
func (x *PlatformLogo) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[108]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlatformLogo.ProtoReflect.Descriptor instead.
func (*PlatformLogo) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{108}
}
func (x *PlatformLogo) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *PlatformLogo) GetAlphaChannel() bool {
if x != nil {
return x.AlphaChannel
}
return false
}
func (x *PlatformLogo) GetAnimated() bool {
if x != nil {
return x.Animated
}
return false
}
func (x *PlatformLogo) GetHeight() int32 {
if x != nil {
return x.Height
}
return 0
}
func (x *PlatformLogo) GetImageId() string {
if x != nil {
return x.ImageId
}
return ""
}
func (x *PlatformLogo) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *PlatformLogo) GetWidth() int32 {
if x != nil {
return x.Width
}
return 0
}
func (x *PlatformLogo) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type PlatformTypeResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Platformtypes []*PlatformType `protobuf:"bytes,1,rep,name=platformtypes,proto3" json:"platformtypes,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PlatformTypeResult) Reset() {
*x = PlatformTypeResult{}
mi := &file_proto_igdbapi_proto_msgTypes[109]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PlatformTypeResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlatformTypeResult) ProtoMessage() {}
func (x *PlatformTypeResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[109]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlatformTypeResult.ProtoReflect.Descriptor instead.
func (*PlatformTypeResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{109}
}
func (x *PlatformTypeResult) GetPlatformtypes() []*PlatformType {
if x != nil {
return x.Platformtypes
}
return nil
}
type PlatformType struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,5,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PlatformType) Reset() {
*x = PlatformType{}
mi := &file_proto_igdbapi_proto_msgTypes[110]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PlatformType) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlatformType) ProtoMessage() {}
func (x *PlatformType) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[110]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlatformType.ProtoReflect.Descriptor instead.
func (*PlatformType) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{110}
}
func (x *PlatformType) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *PlatformType) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *PlatformType) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *PlatformType) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *PlatformType) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type PlatformVersionResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Platformversions []*PlatformVersion `protobuf:"bytes,1,rep,name=platformversions,proto3" json:"platformversions,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PlatformVersionResult) Reset() {
*x = PlatformVersionResult{}
mi := &file_proto_igdbapi_proto_msgTypes[111]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PlatformVersionResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlatformVersionResult) ProtoMessage() {}
func (x *PlatformVersionResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[111]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlatformVersionResult.ProtoReflect.Descriptor instead.
func (*PlatformVersionResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{111}
}
func (x *PlatformVersionResult) GetPlatformversions() []*PlatformVersion {
if x != nil {
return x.Platformversions
}
return nil
}
type PlatformVersion struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Companies []*PlatformVersionCompany `protobuf:"bytes,2,rep,name=companies,proto3" json:"companies,omitempty"`
Connectivity string `protobuf:"bytes,3,opt,name=connectivity,proto3" json:"connectivity,omitempty"`
Cpu string `protobuf:"bytes,4,opt,name=cpu,proto3" json:"cpu,omitempty"`
Graphics string `protobuf:"bytes,5,opt,name=graphics,proto3" json:"graphics,omitempty"`
MainManufacturer *PlatformVersionCompany `protobuf:"bytes,6,opt,name=main_manufacturer,json=mainManufacturer,proto3" json:"main_manufacturer,omitempty"`
Media string `protobuf:"bytes,7,opt,name=media,proto3" json:"media,omitempty"`
Memory string `protobuf:"bytes,8,opt,name=memory,proto3" json:"memory,omitempty"`
Name string `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"`
Os string `protobuf:"bytes,11,opt,name=os,proto3" json:"os,omitempty"`
Output string `protobuf:"bytes,12,opt,name=output,proto3" json:"output,omitempty"`
PlatformLogo *PlatformLogo `protobuf:"bytes,13,opt,name=platform_logo,json=platformLogo,proto3" json:"platform_logo,omitempty"`
PlatformVersionReleaseDates []*PlatformVersionReleaseDate `protobuf:"bytes,14,rep,name=platform_version_release_dates,json=platformVersionReleaseDates,proto3" json:"platform_version_release_dates,omitempty"`
Resolutions string `protobuf:"bytes,15,opt,name=resolutions,proto3" json:"resolutions,omitempty"`
Slug string `protobuf:"bytes,16,opt,name=slug,proto3" json:"slug,omitempty"`
Sound string `protobuf:"bytes,17,opt,name=sound,proto3" json:"sound,omitempty"`
Storage string `protobuf:"bytes,18,opt,name=storage,proto3" json:"storage,omitempty"`
Summary string `protobuf:"bytes,19,opt,name=summary,proto3" json:"summary,omitempty"`
Url string `protobuf:"bytes,20,opt,name=url,proto3" json:"url,omitempty"`
Checksum string `protobuf:"bytes,21,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PlatformVersion) Reset() {
*x = PlatformVersion{}
mi := &file_proto_igdbapi_proto_msgTypes[112]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PlatformVersion) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlatformVersion) ProtoMessage() {}
func (x *PlatformVersion) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[112]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlatformVersion.ProtoReflect.Descriptor instead.
func (*PlatformVersion) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{112}
}
func (x *PlatformVersion) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *PlatformVersion) GetCompanies() []*PlatformVersionCompany {
if x != nil {
return x.Companies
}
return nil
}
func (x *PlatformVersion) GetConnectivity() string {
if x != nil {
return x.Connectivity
}
return ""
}
func (x *PlatformVersion) GetCpu() string {
if x != nil {
return x.Cpu
}
return ""
}
func (x *PlatformVersion) GetGraphics() string {
if x != nil {
return x.Graphics
}
return ""
}
func (x *PlatformVersion) GetMainManufacturer() *PlatformVersionCompany {
if x != nil {
return x.MainManufacturer
}
return nil
}
func (x *PlatformVersion) GetMedia() string {
if x != nil {
return x.Media
}
return ""
}
func (x *PlatformVersion) GetMemory() string {
if x != nil {
return x.Memory
}
return ""
}
func (x *PlatformVersion) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *PlatformVersion) GetOs() string {
if x != nil {
return x.Os
}
return ""
}
func (x *PlatformVersion) GetOutput() string {
if x != nil {
return x.Output
}
return ""
}
func (x *PlatformVersion) GetPlatformLogo() *PlatformLogo {
if x != nil {
return x.PlatformLogo
}
return nil
}
func (x *PlatformVersion) GetPlatformVersionReleaseDates() []*PlatformVersionReleaseDate {
if x != nil {
return x.PlatformVersionReleaseDates
}
return nil
}
func (x *PlatformVersion) GetResolutions() string {
if x != nil {
return x.Resolutions
}
return ""
}
func (x *PlatformVersion) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *PlatformVersion) GetSound() string {
if x != nil {
return x.Sound
}
return ""
}
func (x *PlatformVersion) GetStorage() string {
if x != nil {
return x.Storage
}
return ""
}
func (x *PlatformVersion) GetSummary() string {
if x != nil {
return x.Summary
}
return ""
}
func (x *PlatformVersion) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *PlatformVersion) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type PlatformVersionCompanyResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Platformversioncompanies []*PlatformVersionCompany `protobuf:"bytes,1,rep,name=platformversioncompanies,proto3" json:"platformversioncompanies,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PlatformVersionCompanyResult) Reset() {
*x = PlatformVersionCompanyResult{}
mi := &file_proto_igdbapi_proto_msgTypes[113]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PlatformVersionCompanyResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlatformVersionCompanyResult) ProtoMessage() {}
func (x *PlatformVersionCompanyResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[113]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlatformVersionCompanyResult.ProtoReflect.Descriptor instead.
func (*PlatformVersionCompanyResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{113}
}
func (x *PlatformVersionCompanyResult) GetPlatformversioncompanies() []*PlatformVersionCompany {
if x != nil {
return x.Platformversioncompanies
}
return nil
}
type PlatformVersionCompany struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment,omitempty"`
Company *Company `protobuf:"bytes,3,opt,name=company,proto3" json:"company,omitempty"`
Developer bool `protobuf:"varint,4,opt,name=developer,proto3" json:"developer,omitempty"`
Manufacturer bool `protobuf:"varint,5,opt,name=manufacturer,proto3" json:"manufacturer,omitempty"`
Checksum string `protobuf:"bytes,6,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PlatformVersionCompany) Reset() {
*x = PlatformVersionCompany{}
mi := &file_proto_igdbapi_proto_msgTypes[114]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PlatformVersionCompany) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlatformVersionCompany) ProtoMessage() {}
func (x *PlatformVersionCompany) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[114]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlatformVersionCompany.ProtoReflect.Descriptor instead.
func (*PlatformVersionCompany) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{114}
}
func (x *PlatformVersionCompany) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *PlatformVersionCompany) GetComment() string {
if x != nil {
return x.Comment
}
return ""
}
func (x *PlatformVersionCompany) GetCompany() *Company {
if x != nil {
return x.Company
}
return nil
}
func (x *PlatformVersionCompany) GetDeveloper() bool {
if x != nil {
return x.Developer
}
return false
}
func (x *PlatformVersionCompany) GetManufacturer() bool {
if x != nil {
return x.Manufacturer
}
return false
}
func (x *PlatformVersionCompany) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type PlatformVersionReleaseDateResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Platformversionreleasedates []*PlatformVersionReleaseDate `protobuf:"bytes,1,rep,name=platformversionreleasedates,proto3" json:"platformversionreleasedates,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PlatformVersionReleaseDateResult) Reset() {
*x = PlatformVersionReleaseDateResult{}
mi := &file_proto_igdbapi_proto_msgTypes[115]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PlatformVersionReleaseDateResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlatformVersionReleaseDateResult) ProtoMessage() {}
func (x *PlatformVersionReleaseDateResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[115]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlatformVersionReleaseDateResult.ProtoReflect.Descriptor instead.
func (*PlatformVersionReleaseDateResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{115}
}
func (x *PlatformVersionReleaseDateResult) GetPlatformversionreleasedates() []*PlatformVersionReleaseDate {
if x != nil {
return x.Platformversionreleasedates
}
return nil
}
type PlatformVersionReleaseDate struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
Category DateFormatChangeDateCategoryEnum `protobuf:"varint,2,opt,name=category,proto3,enum=proto.DateFormatChangeDateCategoryEnum" json:"category,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Date *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=date,proto3" json:"date,omitempty"`
Human string `protobuf:"bytes,5,opt,name=human,proto3" json:"human,omitempty"`
M int32 `protobuf:"varint,6,opt,name=m,proto3" json:"m,omitempty"`
PlatformVersion *PlatformVersion `protobuf:"bytes,7,opt,name=platform_version,json=platformVersion,proto3" json:"platform_version,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
Region RegionRegionEnum `protobuf:"varint,8,opt,name=region,proto3,enum=proto.RegionRegionEnum" json:"region,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Y int32 `protobuf:"varint,10,opt,name=y,proto3" json:"y,omitempty"`
Checksum string `protobuf:"bytes,11,opt,name=checksum,proto3" json:"checksum,omitempty"`
DateFormat *DateFormat `protobuf:"bytes,12,opt,name=date_format,json=dateFormat,proto3" json:"date_format,omitempty"`
ReleaseRegion *ReleaseDateRegion `protobuf:"bytes,13,opt,name=release_region,json=releaseRegion,proto3" json:"release_region,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PlatformVersionReleaseDate) Reset() {
*x = PlatformVersionReleaseDate{}
mi := &file_proto_igdbapi_proto_msgTypes[116]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PlatformVersionReleaseDate) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlatformVersionReleaseDate) ProtoMessage() {}
func (x *PlatformVersionReleaseDate) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[116]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlatformVersionReleaseDate.ProtoReflect.Descriptor instead.
func (*PlatformVersionReleaseDate) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{116}
}
func (x *PlatformVersionReleaseDate) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *PlatformVersionReleaseDate) GetCategory() DateFormatChangeDateCategoryEnum {
if x != nil {
return x.Category
}
return DateFormatChangeDateCategoryEnum_YYYYMMMMDD
}
func (x *PlatformVersionReleaseDate) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *PlatformVersionReleaseDate) GetDate() *timestamppb.Timestamp {
if x != nil {
return x.Date
}
return nil
}
func (x *PlatformVersionReleaseDate) GetHuman() string {
if x != nil {
return x.Human
}
return ""
}
func (x *PlatformVersionReleaseDate) GetM() int32 {
if x != nil {
return x.M
}
return 0
}
func (x *PlatformVersionReleaseDate) GetPlatformVersion() *PlatformVersion {
if x != nil {
return x.PlatformVersion
}
return nil
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *PlatformVersionReleaseDate) GetRegion() RegionRegionEnum {
if x != nil {
return x.Region
}
return RegionRegionEnum_REGION_REGION_NULL
}
func (x *PlatformVersionReleaseDate) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *PlatformVersionReleaseDate) GetY() int32 {
if x != nil {
return x.Y
}
return 0
}
func (x *PlatformVersionReleaseDate) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
func (x *PlatformVersionReleaseDate) GetDateFormat() *DateFormat {
if x != nil {
return x.DateFormat
}
return nil
}
func (x *PlatformVersionReleaseDate) GetReleaseRegion() *ReleaseDateRegion {
if x != nil {
return x.ReleaseRegion
}
return nil
}
type PlatformWebsiteResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Platformwebsites []*PlatformWebsite `protobuf:"bytes,1,rep,name=platformwebsites,proto3" json:"platformwebsites,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PlatformWebsiteResult) Reset() {
*x = PlatformWebsiteResult{}
mi := &file_proto_igdbapi_proto_msgTypes[117]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PlatformWebsiteResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlatformWebsiteResult) ProtoMessage() {}
func (x *PlatformWebsiteResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[117]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlatformWebsiteResult.ProtoReflect.Descriptor instead.
func (*PlatformWebsiteResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{117}
}
func (x *PlatformWebsiteResult) GetPlatformwebsites() []*PlatformWebsite {
if x != nil {
return x.Platformwebsites
}
return nil
}
type PlatformWebsite struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
Category WebsiteCategoryEnum `protobuf:"varint,2,opt,name=category,proto3,enum=proto.WebsiteCategoryEnum" json:"category,omitempty"`
Trusted bool `protobuf:"varint,3,opt,name=trusted,proto3" json:"trusted,omitempty"`
Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"`
Checksum string `protobuf:"bytes,5,opt,name=checksum,proto3" json:"checksum,omitempty"`
Type *WebsiteType `protobuf:"bytes,6,opt,name=type,proto3" json:"type,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PlatformWebsite) Reset() {
*x = PlatformWebsite{}
mi := &file_proto_igdbapi_proto_msgTypes[118]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PlatformWebsite) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlatformWebsite) ProtoMessage() {}
func (x *PlatformWebsite) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[118]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlatformWebsite.ProtoReflect.Descriptor instead.
func (*PlatformWebsite) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{118}
}
func (x *PlatformWebsite) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *PlatformWebsite) GetCategory() WebsiteCategoryEnum {
if x != nil {
return x.Category
}
return WebsiteCategoryEnum_WEBSITE_CATEGORY_NULL
}
func (x *PlatformWebsite) GetTrusted() bool {
if x != nil {
return x.Trusted
}
return false
}
func (x *PlatformWebsite) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *PlatformWebsite) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
func (x *PlatformWebsite) GetType() *WebsiteType {
if x != nil {
return x.Type
}
return nil
}
type PlayerPerspectiveResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Playerperspectives []*PlayerPerspective `protobuf:"bytes,1,rep,name=playerperspectives,proto3" json:"playerperspectives,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PlayerPerspectiveResult) Reset() {
*x = PlayerPerspectiveResult{}
mi := &file_proto_igdbapi_proto_msgTypes[119]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PlayerPerspectiveResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlayerPerspectiveResult) ProtoMessage() {}
func (x *PlayerPerspectiveResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[119]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlayerPerspectiveResult.ProtoReflect.Descriptor instead.
func (*PlayerPerspectiveResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{119}
}
func (x *PlayerPerspectiveResult) GetPlayerperspectives() []*PlayerPerspective {
if x != nil {
return x.Playerperspectives
}
return nil
}
type PlayerPerspective struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
Slug string `protobuf:"bytes,4,opt,name=slug,proto3" json:"slug,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Url string `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"`
Checksum string `protobuf:"bytes,7,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PlayerPerspective) Reset() {
*x = PlayerPerspective{}
mi := &file_proto_igdbapi_proto_msgTypes[120]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PlayerPerspective) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlayerPerspective) ProtoMessage() {}
func (x *PlayerPerspective) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[120]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlayerPerspective.ProtoReflect.Descriptor instead.
func (*PlayerPerspective) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{120}
}
func (x *PlayerPerspective) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *PlayerPerspective) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *PlayerPerspective) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *PlayerPerspective) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *PlayerPerspective) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *PlayerPerspective) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *PlayerPerspective) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type PopularityPrimitiveResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Popularityprimitives []*PopularityPrimitive `protobuf:"bytes,1,rep,name=popularityprimitives,proto3" json:"popularityprimitives,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PopularityPrimitiveResult) Reset() {
*x = PopularityPrimitiveResult{}
mi := &file_proto_igdbapi_proto_msgTypes[121]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PopularityPrimitiveResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PopularityPrimitiveResult) ProtoMessage() {}
func (x *PopularityPrimitiveResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[121]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PopularityPrimitiveResult.ProtoReflect.Descriptor instead.
func (*PopularityPrimitiveResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{121}
}
func (x *PopularityPrimitiveResult) GetPopularityprimitives() []*PopularityPrimitive {
if x != nil {
return x.Popularityprimitives
}
return nil
}
type PopularityPrimitive struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
GameId int32 `protobuf:"varint,2,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
PopularityType *PopularityType `protobuf:"bytes,3,opt,name=popularity_type,json=popularityType,proto3" json:"popularity_type,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
PopularitySource PopularitySourcePopularitySourceEnum `protobuf:"varint,4,opt,name=popularity_source,json=popularitySource,proto3,enum=proto.PopularitySourcePopularitySourceEnum" json:"popularity_source,omitempty"`
Value float64 `protobuf:"fixed64,5,opt,name=value,proto3" json:"value,omitempty"`
CalculatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=calculated_at,json=calculatedAt,proto3" json:"calculated_at,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,9,opt,name=checksum,proto3" json:"checksum,omitempty"`
ExternalPopularitySource *ExternalGameSource `protobuf:"bytes,10,opt,name=external_popularity_source,json=externalPopularitySource,proto3" json:"external_popularity_source,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PopularityPrimitive) Reset() {
*x = PopularityPrimitive{}
mi := &file_proto_igdbapi_proto_msgTypes[122]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PopularityPrimitive) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PopularityPrimitive) ProtoMessage() {}
func (x *PopularityPrimitive) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[122]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PopularityPrimitive.ProtoReflect.Descriptor instead.
func (*PopularityPrimitive) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{122}
}
func (x *PopularityPrimitive) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *PopularityPrimitive) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
func (x *PopularityPrimitive) GetPopularityType() *PopularityType {
if x != nil {
return x.PopularityType
}
return nil
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *PopularityPrimitive) GetPopularitySource() PopularitySourcePopularitySourceEnum {
if x != nil {
return x.PopularitySource
}
return PopularitySourcePopularitySourceEnum_POPULARITYSOURCE_POPULARITY_SOURCE_NULL
}
func (x *PopularityPrimitive) GetValue() float64 {
if x != nil {
return x.Value
}
return 0
}
func (x *PopularityPrimitive) GetCalculatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CalculatedAt
}
return nil
}
func (x *PopularityPrimitive) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *PopularityPrimitive) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *PopularityPrimitive) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
func (x *PopularityPrimitive) GetExternalPopularitySource() *ExternalGameSource {
if x != nil {
return x.ExternalPopularitySource
}
return nil
}
type PopularityTypeResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Popularitytypes []*PopularityType `protobuf:"bytes,1,rep,name=popularitytypes,proto3" json:"popularitytypes,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PopularityTypeResult) Reset() {
*x = PopularityTypeResult{}
mi := &file_proto_igdbapi_proto_msgTypes[123]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PopularityTypeResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PopularityTypeResult) ProtoMessage() {}
func (x *PopularityTypeResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[123]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PopularityTypeResult.ProtoReflect.Descriptor instead.
func (*PopularityTypeResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{123}
}
func (x *PopularityTypeResult) GetPopularitytypes() []*PopularityType {
if x != nil {
return x.Popularitytypes
}
return nil
}
type PopularityType struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
PopularitySource PopularitySourcePopularitySourceEnum `protobuf:"varint,2,opt,name=popularity_source,json=popularitySource,proto3,enum=proto.PopularitySourcePopularitySourceEnum" json:"popularity_source,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,6,opt,name=checksum,proto3" json:"checksum,omitempty"`
ExternalPopularitySource *ExternalGameSource `protobuf:"bytes,7,opt,name=external_popularity_source,json=externalPopularitySource,proto3" json:"external_popularity_source,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PopularityType) Reset() {
*x = PopularityType{}
mi := &file_proto_igdbapi_proto_msgTypes[124]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PopularityType) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PopularityType) ProtoMessage() {}
func (x *PopularityType) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[124]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PopularityType.ProtoReflect.Descriptor instead.
func (*PopularityType) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{124}
}
func (x *PopularityType) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *PopularityType) GetPopularitySource() PopularitySourcePopularitySourceEnum {
if x != nil {
return x.PopularitySource
}
return PopularitySourcePopularitySourceEnum_POPULARITYSOURCE_POPULARITY_SOURCE_NULL
}
func (x *PopularityType) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *PopularityType) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *PopularityType) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *PopularityType) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
func (x *PopularityType) GetExternalPopularitySource() *ExternalGameSource {
if x != nil {
return x.ExternalPopularitySource
}
return nil
}
type RegionResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Regions []*Region `protobuf:"bytes,1,rep,name=regions,proto3" json:"regions,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RegionResult) Reset() {
*x = RegionResult{}
mi := &file_proto_igdbapi_proto_msgTypes[125]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RegionResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RegionResult) ProtoMessage() {}
func (x *RegionResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[125]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RegionResult.ProtoReflect.Descriptor instead.
func (*RegionResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{125}
}
func (x *RegionResult) GetRegions() []*Region {
if x != nil {
return x.Regions
}
return nil
}
type Region struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Category string `protobuf:"bytes,3,opt,name=category,proto3" json:"category,omitempty"`
Identifier string `protobuf:"bytes,4,opt,name=identifier,proto3" json:"identifier,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,7,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Region) Reset() {
*x = Region{}
mi := &file_proto_igdbapi_proto_msgTypes[126]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Region) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Region) ProtoMessage() {}
func (x *Region) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[126]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Region.ProtoReflect.Descriptor instead.
func (*Region) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{126}
}
func (x *Region) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *Region) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Region) GetCategory() string {
if x != nil {
return x.Category
}
return ""
}
func (x *Region) GetIdentifier() string {
if x != nil {
return x.Identifier
}
return ""
}
func (x *Region) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *Region) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *Region) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type ReleaseDateResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Releasedates []*ReleaseDate `protobuf:"bytes,1,rep,name=releasedates,proto3" json:"releasedates,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ReleaseDateResult) Reset() {
*x = ReleaseDateResult{}
mi := &file_proto_igdbapi_proto_msgTypes[127]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ReleaseDateResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReleaseDateResult) ProtoMessage() {}
func (x *ReleaseDateResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[127]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ReleaseDateResult.ProtoReflect.Descriptor instead.
func (*ReleaseDateResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{127}
}
func (x *ReleaseDateResult) GetReleasedates() []*ReleaseDate {
if x != nil {
return x.Releasedates
}
return nil
}
type ReleaseDate struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
Category DateFormatChangeDateCategoryEnum `protobuf:"varint,2,opt,name=category,proto3,enum=proto.DateFormatChangeDateCategoryEnum" json:"category,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Date *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=date,proto3" json:"date,omitempty"`
Game *Game `protobuf:"bytes,5,opt,name=game,proto3" json:"game,omitempty"`
Human string `protobuf:"bytes,6,opt,name=human,proto3" json:"human,omitempty"`
M int32 `protobuf:"varint,7,opt,name=m,proto3" json:"m,omitempty"`
Platform *Platform `protobuf:"bytes,8,opt,name=platform,proto3" json:"platform,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
Region RegionRegionEnum `protobuf:"varint,9,opt,name=region,proto3,enum=proto.RegionRegionEnum" json:"region,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Y int32 `protobuf:"varint,11,opt,name=y,proto3" json:"y,omitempty"`
Checksum string `protobuf:"bytes,12,opt,name=checksum,proto3" json:"checksum,omitempty"`
Status *ReleaseDateStatus `protobuf:"bytes,13,opt,name=status,proto3" json:"status,omitempty"`
DateFormat *DateFormat `protobuf:"bytes,14,opt,name=date_format,json=dateFormat,proto3" json:"date_format,omitempty"`
ReleaseRegion *ReleaseDateRegion `protobuf:"bytes,15,opt,name=release_region,json=releaseRegion,proto3" json:"release_region,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ReleaseDate) Reset() {
*x = ReleaseDate{}
mi := &file_proto_igdbapi_proto_msgTypes[128]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ReleaseDate) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReleaseDate) ProtoMessage() {}
func (x *ReleaseDate) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[128]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ReleaseDate.ProtoReflect.Descriptor instead.
func (*ReleaseDate) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{128}
}
func (x *ReleaseDate) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *ReleaseDate) GetCategory() DateFormatChangeDateCategoryEnum {
if x != nil {
return x.Category
}
return DateFormatChangeDateCategoryEnum_YYYYMMMMDD
}
func (x *ReleaseDate) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *ReleaseDate) GetDate() *timestamppb.Timestamp {
if x != nil {
return x.Date
}
return nil
}
func (x *ReleaseDate) GetGame() *Game {
if x != nil {
return x.Game
}
return nil
}
func (x *ReleaseDate) GetHuman() string {
if x != nil {
return x.Human
}
return ""
}
func (x *ReleaseDate) GetM() int32 {
if x != nil {
return x.M
}
return 0
}
func (x *ReleaseDate) GetPlatform() *Platform {
if x != nil {
return x.Platform
}
return nil
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *ReleaseDate) GetRegion() RegionRegionEnum {
if x != nil {
return x.Region
}
return RegionRegionEnum_REGION_REGION_NULL
}
func (x *ReleaseDate) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *ReleaseDate) GetY() int32 {
if x != nil {
return x.Y
}
return 0
}
func (x *ReleaseDate) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
func (x *ReleaseDate) GetStatus() *ReleaseDateStatus {
if x != nil {
return x.Status
}
return nil
}
func (x *ReleaseDate) GetDateFormat() *DateFormat {
if x != nil {
return x.DateFormat
}
return nil
}
func (x *ReleaseDate) GetReleaseRegion() *ReleaseDateRegion {
if x != nil {
return x.ReleaseRegion
}
return nil
}
type ReleaseDateRegionResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Releasedateregions []*ReleaseDateRegion `protobuf:"bytes,1,rep,name=releasedateregions,proto3" json:"releasedateregions,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ReleaseDateRegionResult) Reset() {
*x = ReleaseDateRegionResult{}
mi := &file_proto_igdbapi_proto_msgTypes[129]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ReleaseDateRegionResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReleaseDateRegionResult) ProtoMessage() {}
func (x *ReleaseDateRegionResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[129]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ReleaseDateRegionResult.ProtoReflect.Descriptor instead.
func (*ReleaseDateRegionResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{129}
}
func (x *ReleaseDateRegionResult) GetReleasedateregions() []*ReleaseDateRegion {
if x != nil {
return x.Releasedateregions
}
return nil
}
type ReleaseDateRegion struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Region string `protobuf:"bytes,2,opt,name=region,proto3" json:"region,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,5,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ReleaseDateRegion) Reset() {
*x = ReleaseDateRegion{}
mi := &file_proto_igdbapi_proto_msgTypes[130]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ReleaseDateRegion) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReleaseDateRegion) ProtoMessage() {}
func (x *ReleaseDateRegion) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[130]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ReleaseDateRegion.ProtoReflect.Descriptor instead.
func (*ReleaseDateRegion) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{130}
}
func (x *ReleaseDateRegion) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *ReleaseDateRegion) GetRegion() string {
if x != nil {
return x.Region
}
return ""
}
func (x *ReleaseDateRegion) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *ReleaseDateRegion) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *ReleaseDateRegion) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type ReleaseDateStatusResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Releasedatestatuses []*ReleaseDateStatus `protobuf:"bytes,1,rep,name=releasedatestatuses,proto3" json:"releasedatestatuses,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ReleaseDateStatusResult) Reset() {
*x = ReleaseDateStatusResult{}
mi := &file_proto_igdbapi_proto_msgTypes[131]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ReleaseDateStatusResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReleaseDateStatusResult) ProtoMessage() {}
func (x *ReleaseDateStatusResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[131]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ReleaseDateStatusResult.ProtoReflect.Descriptor instead.
func (*ReleaseDateStatusResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{131}
}
func (x *ReleaseDateStatusResult) GetReleasedatestatuses() []*ReleaseDateStatus {
if x != nil {
return x.Releasedatestatuses
}
return nil
}
type ReleaseDateStatus struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,6,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ReleaseDateStatus) Reset() {
*x = ReleaseDateStatus{}
mi := &file_proto_igdbapi_proto_msgTypes[132]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ReleaseDateStatus) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReleaseDateStatus) ProtoMessage() {}
func (x *ReleaseDateStatus) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[132]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ReleaseDateStatus.ProtoReflect.Descriptor instead.
func (*ReleaseDateStatus) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{132}
}
func (x *ReleaseDateStatus) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *ReleaseDateStatus) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ReleaseDateStatus) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *ReleaseDateStatus) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *ReleaseDateStatus) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *ReleaseDateStatus) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type ScreenshotResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Screenshots []*Screenshot `protobuf:"bytes,1,rep,name=screenshots,proto3" json:"screenshots,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ScreenshotResult) Reset() {
*x = ScreenshotResult{}
mi := &file_proto_igdbapi_proto_msgTypes[133]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ScreenshotResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ScreenshotResult) ProtoMessage() {}
func (x *ScreenshotResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[133]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ScreenshotResult.ProtoReflect.Descriptor instead.
func (*ScreenshotResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{133}
}
func (x *ScreenshotResult) GetScreenshots() []*Screenshot {
if x != nil {
return x.Screenshots
}
return nil
}
type Screenshot struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
AlphaChannel bool `protobuf:"varint,2,opt,name=alpha_channel,json=alphaChannel,proto3" json:"alpha_channel,omitempty"`
Animated bool `protobuf:"varint,3,opt,name=animated,proto3" json:"animated,omitempty"`
Game *Game `protobuf:"bytes,4,opt,name=game,proto3" json:"game,omitempty"`
Height int32 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
ImageId string `protobuf:"bytes,6,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"`
Url string `protobuf:"bytes,7,opt,name=url,proto3" json:"url,omitempty"`
Width int32 `protobuf:"varint,8,opt,name=width,proto3" json:"width,omitempty"`
Checksum string `protobuf:"bytes,9,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Screenshot) Reset() {
*x = Screenshot{}
mi := &file_proto_igdbapi_proto_msgTypes[134]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Screenshot) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Screenshot) ProtoMessage() {}
func (x *Screenshot) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[134]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Screenshot.ProtoReflect.Descriptor instead.
func (*Screenshot) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{134}
}
func (x *Screenshot) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *Screenshot) GetAlphaChannel() bool {
if x != nil {
return x.AlphaChannel
}
return false
}
func (x *Screenshot) GetAnimated() bool {
if x != nil {
return x.Animated
}
return false
}
func (x *Screenshot) GetGame() *Game {
if x != nil {
return x.Game
}
return nil
}
func (x *Screenshot) GetHeight() int32 {
if x != nil {
return x.Height
}
return 0
}
func (x *Screenshot) GetImageId() string {
if x != nil {
return x.ImageId
}
return ""
}
func (x *Screenshot) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *Screenshot) GetWidth() int32 {
if x != nil {
return x.Width
}
return 0
}
func (x *Screenshot) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type SearchResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Searches []*Search `protobuf:"bytes,1,rep,name=searches,proto3" json:"searches,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SearchResult) Reset() {
*x = SearchResult{}
mi := &file_proto_igdbapi_proto_msgTypes[135]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SearchResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SearchResult) ProtoMessage() {}
func (x *SearchResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[135]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SearchResult.ProtoReflect.Descriptor instead.
func (*SearchResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{135}
}
func (x *SearchResult) GetSearches() []*Search {
if x != nil {
return x.Searches
}
return nil
}
type Search struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
AlternativeName string `protobuf:"bytes,2,opt,name=alternative_name,json=alternativeName,proto3" json:"alternative_name,omitempty"`
Character *Character `protobuf:"bytes,3,opt,name=character,proto3" json:"character,omitempty"`
Collection *Collection `protobuf:"bytes,4,opt,name=collection,proto3" json:"collection,omitempty"`
Company *Company `protobuf:"bytes,5,opt,name=company,proto3" json:"company,omitempty"`
Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
Game *Game `protobuf:"bytes,7,opt,name=game,proto3" json:"game,omitempty"`
Name string `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"`
Platform *Platform `protobuf:"bytes,9,opt,name=platform,proto3" json:"platform,omitempty"`
PublishedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=published_at,json=publishedAt,proto3" json:"published_at,omitempty"`
TestDummy *TestDummy `protobuf:"bytes,11,opt,name=test_dummy,json=testDummy,proto3" json:"test_dummy,omitempty"`
Theme *Theme `protobuf:"bytes,12,opt,name=theme,proto3" json:"theme,omitempty"`
Checksum string `protobuf:"bytes,13,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Search) Reset() {
*x = Search{}
mi := &file_proto_igdbapi_proto_msgTypes[136]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Search) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Search) ProtoMessage() {}
func (x *Search) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[136]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Search.ProtoReflect.Descriptor instead.
func (*Search) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{136}
}
func (x *Search) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *Search) GetAlternativeName() string {
if x != nil {
return x.AlternativeName
}
return ""
}
func (x *Search) GetCharacter() *Character {
if x != nil {
return x.Character
}
return nil
}
func (x *Search) GetCollection() *Collection {
if x != nil {
return x.Collection
}
return nil
}
func (x *Search) GetCompany() *Company {
if x != nil {
return x.Company
}
return nil
}
func (x *Search) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *Search) GetGame() *Game {
if x != nil {
return x.Game
}
return nil
}
func (x *Search) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Search) GetPlatform() *Platform {
if x != nil {
return x.Platform
}
return nil
}
func (x *Search) GetPublishedAt() *timestamppb.Timestamp {
if x != nil {
return x.PublishedAt
}
return nil
}
func (x *Search) GetTestDummy() *TestDummy {
if x != nil {
return x.TestDummy
}
return nil
}
func (x *Search) GetTheme() *Theme {
if x != nil {
return x.Theme
}
return nil
}
func (x *Search) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type TestDummyResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Testdummies []*TestDummy `protobuf:"bytes,1,rep,name=testdummies,proto3" json:"testdummies,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TestDummyResult) Reset() {
*x = TestDummyResult{}
mi := &file_proto_igdbapi_proto_msgTypes[137]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TestDummyResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestDummyResult) ProtoMessage() {}
func (x *TestDummyResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[137]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestDummyResult.ProtoReflect.Descriptor instead.
func (*TestDummyResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{137}
}
func (x *TestDummyResult) GetTestdummies() []*TestDummy {
if x != nil {
return x.Testdummies
}
return nil
}
type TestDummy struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
BoolValue bool `protobuf:"varint,2,opt,name=bool_value,json=boolValue,proto3" json:"bool_value,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
EnumTest TestDummyEnumTestEnum `protobuf:"varint,4,opt,name=enum_test,json=enumTest,proto3,enum=proto.TestDummyEnumTestEnum" json:"enum_test,omitempty"`
FloatValue float64 `protobuf:"fixed64,5,opt,name=float_value,json=floatValue,proto3" json:"float_value,omitempty"`
Game *Game `protobuf:"bytes,6,opt,name=game,proto3" json:"game,omitempty"`
IntegerArray []int32 `protobuf:"varint,7,rep,packed,name=integer_array,json=integerArray,proto3" json:"integer_array,omitempty"`
IntegerValue int32 `protobuf:"varint,8,opt,name=integer_value,json=integerValue,proto3" json:"integer_value,omitempty"`
Name string `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"`
NewIntegerValue int32 `protobuf:"varint,10,opt,name=new_integer_value,json=newIntegerValue,proto3" json:"new_integer_value,omitempty"`
Private bool `protobuf:"varint,11,opt,name=private,proto3" json:"private,omitempty"`
Slug string `protobuf:"bytes,12,opt,name=slug,proto3" json:"slug,omitempty"`
StringArray []string `protobuf:"bytes,13,rep,name=string_array,json=stringArray,proto3" json:"string_array,omitempty"`
TestDummies []*TestDummy `protobuf:"bytes,14,rep,name=test_dummies,json=testDummies,proto3" json:"test_dummies,omitempty"`
TestDummy *TestDummy `protobuf:"bytes,15,opt,name=test_dummy,json=testDummy,proto3" json:"test_dummy,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Url string `protobuf:"bytes,17,opt,name=url,proto3" json:"url,omitempty"`
Checksum string `protobuf:"bytes,18,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TestDummy) Reset() {
*x = TestDummy{}
mi := &file_proto_igdbapi_proto_msgTypes[138]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TestDummy) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestDummy) ProtoMessage() {}
func (x *TestDummy) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[138]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestDummy.ProtoReflect.Descriptor instead.
func (*TestDummy) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{138}
}
func (x *TestDummy) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *TestDummy) GetBoolValue() bool {
if x != nil {
return x.BoolValue
}
return false
}
func (x *TestDummy) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *TestDummy) GetEnumTest() TestDummyEnumTestEnum {
if x != nil {
return x.EnumTest
}
return TestDummyEnumTestEnum_TESTDUMMY_ENUM_TEST_NULL
}
func (x *TestDummy) GetFloatValue() float64 {
if x != nil {
return x.FloatValue
}
return 0
}
func (x *TestDummy) GetGame() *Game {
if x != nil {
return x.Game
}
return nil
}
func (x *TestDummy) GetIntegerArray() []int32 {
if x != nil {
return x.IntegerArray
}
return nil
}
func (x *TestDummy) GetIntegerValue() int32 {
if x != nil {
return x.IntegerValue
}
return 0
}
func (x *TestDummy) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *TestDummy) GetNewIntegerValue() int32 {
if x != nil {
return x.NewIntegerValue
}
return 0
}
func (x *TestDummy) GetPrivate() bool {
if x != nil {
return x.Private
}
return false
}
func (x *TestDummy) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *TestDummy) GetStringArray() []string {
if x != nil {
return x.StringArray
}
return nil
}
func (x *TestDummy) GetTestDummies() []*TestDummy {
if x != nil {
return x.TestDummies
}
return nil
}
func (x *TestDummy) GetTestDummy() *TestDummy {
if x != nil {
return x.TestDummy
}
return nil
}
func (x *TestDummy) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *TestDummy) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *TestDummy) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type ThemeResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Themes []*Theme `protobuf:"bytes,1,rep,name=themes,proto3" json:"themes,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ThemeResult) Reset() {
*x = ThemeResult{}
mi := &file_proto_igdbapi_proto_msgTypes[139]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ThemeResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ThemeResult) ProtoMessage() {}
func (x *ThemeResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[139]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ThemeResult.ProtoReflect.Descriptor instead.
func (*ThemeResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{139}
}
func (x *ThemeResult) GetThemes() []*Theme {
if x != nil {
return x.Themes
}
return nil
}
type Theme struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
Slug string `protobuf:"bytes,4,opt,name=slug,proto3" json:"slug,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Url string `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"`
Checksum string `protobuf:"bytes,7,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Theme) Reset() {
*x = Theme{}
mi := &file_proto_igdbapi_proto_msgTypes[140]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Theme) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Theme) ProtoMessage() {}
func (x *Theme) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[140]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Theme.ProtoReflect.Descriptor instead.
func (*Theme) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{140}
}
func (x *Theme) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *Theme) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *Theme) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Theme) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *Theme) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *Theme) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *Theme) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
type WebsiteResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Websites []*Website `protobuf:"bytes,1,rep,name=websites,proto3" json:"websites,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *WebsiteResult) Reset() {
*x = WebsiteResult{}
mi := &file_proto_igdbapi_proto_msgTypes[141]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *WebsiteResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WebsiteResult) ProtoMessage() {}
func (x *WebsiteResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[141]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use WebsiteResult.ProtoReflect.Descriptor instead.
func (*WebsiteResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{141}
}
func (x *WebsiteResult) GetWebsites() []*Website {
if x != nil {
return x.Websites
}
return nil
}
type Website struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
Category WebsiteCategoryEnum `protobuf:"varint,2,opt,name=category,proto3,enum=proto.WebsiteCategoryEnum" json:"category,omitempty"`
Game *Game `protobuf:"bytes,3,opt,name=game,proto3" json:"game,omitempty"`
Trusted bool `protobuf:"varint,4,opt,name=trusted,proto3" json:"trusted,omitempty"`
Url string `protobuf:"bytes,5,opt,name=url,proto3" json:"url,omitempty"`
Checksum string `protobuf:"bytes,6,opt,name=checksum,proto3" json:"checksum,omitempty"`
Type *WebsiteType `protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Website) Reset() {
*x = Website{}
mi := &file_proto_igdbapi_proto_msgTypes[142]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Website) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Website) ProtoMessage() {}
func (x *Website) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[142]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Website.ProtoReflect.Descriptor instead.
func (*Website) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{142}
}
func (x *Website) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
// Deprecated: Marked as deprecated in proto/igdbapi.proto.
func (x *Website) GetCategory() WebsiteCategoryEnum {
if x != nil {
return x.Category
}
return WebsiteCategoryEnum_WEBSITE_CATEGORY_NULL
}
func (x *Website) GetGame() *Game {
if x != nil {
return x.Game
}
return nil
}
func (x *Website) GetTrusted() bool {
if x != nil {
return x.Trusted
}
return false
}
func (x *Website) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *Website) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
func (x *Website) GetType() *WebsiteType {
if x != nil {
return x.Type
}
return nil
}
type WebsiteTypeResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Websitetypes []*WebsiteType `protobuf:"bytes,1,rep,name=websitetypes,proto3" json:"websitetypes,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *WebsiteTypeResult) Reset() {
*x = WebsiteTypeResult{}
mi := &file_proto_igdbapi_proto_msgTypes[143]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *WebsiteTypeResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WebsiteTypeResult) ProtoMessage() {}
func (x *WebsiteTypeResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[143]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use WebsiteTypeResult.ProtoReflect.Descriptor instead.
func (*WebsiteTypeResult) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{143}
}
func (x *WebsiteTypeResult) GetWebsitetypes() []*WebsiteType {
if x != nil {
return x.Websitetypes
}
return nil
}
type WebsiteType struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Checksum string `protobuf:"bytes,5,opt,name=checksum,proto3" json:"checksum,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *WebsiteType) Reset() {
*x = WebsiteType{}
mi := &file_proto_igdbapi_proto_msgTypes[144]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *WebsiteType) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WebsiteType) ProtoMessage() {}
func (x *WebsiteType) ProtoReflect() protoreflect.Message {
mi := &file_proto_igdbapi_proto_msgTypes[144]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use WebsiteType.ProtoReflect.Descriptor instead.
func (*WebsiteType) Descriptor() ([]byte, []int) {
return file_proto_igdbapi_proto_rawDescGZIP(), []int{144}
}
func (x *WebsiteType) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *WebsiteType) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *WebsiteType) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *WebsiteType) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *WebsiteType) GetChecksum() string {
if x != nil {
return x.Checksum
}
return ""
}
var File_proto_igdbapi_proto protoreflect.FileDescriptor
var file_proto_igdbapi_proto_rawDesc = string([]byte{
0x0a, 0x13, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x69, 0x67, 0x64, 0x62, 0x61, 0x70, 0x69, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1d, 0x0a,
0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x56, 0x0a, 0x10,
0x4d, 0x75, 0x6c, 0x74, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18,
0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x14,
0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x22, 0x48, 0x0a, 0x15, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x51, 0x75, 0x65,
0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2f, 0x0a,
0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79,
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x43,
0x0a, 0x0f, 0x41, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x12, 0x30, 0x0a, 0x0a, 0x61, 0x67, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67,
0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x61, 0x67, 0x65, 0x72, 0x61, 0x74, 0x69,
0x6e, 0x67, 0x73, 0x22, 0xb5, 0x04, 0x0a, 0x09, 0x41, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e,
0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69,
0x64, 0x12, 0x3c, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x52,
0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x75,
0x6d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12,
0x55, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43,
0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41,
0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x6e,
0x75, 0x6d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x28,
0x0a, 0x10, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x75,
0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67,
0x43, 0x6f, 0x76, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x79, 0x6e, 0x6f,
0x70, 0x73, 0x69, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x79, 0x6e, 0x6f,
0x70, 0x73, 0x69, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
0x12, 0x40, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41,
0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x74,
0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x74,
0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x74,
0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x64, 0x0a, 0x1b, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f,
0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74,
0x65, 0x6e, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32,
0x52, 0x19, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x44,
0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x65, 0x0a, 0x17, 0x41,
0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x4a, 0x0a, 0x13, 0x61, 0x67, 0x65, 0x72, 0x61, 0x74,
0x69, 0x6e, 0x67, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x52,
0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x13, 0x61,
0x67, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69,
0x65, 0x73, 0x22, 0x8f, 0x02, 0x0a, 0x11, 0x41, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67,
0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69,
0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67,
0x12, 0x40, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41,
0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a,
0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x73, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x73, 0x75, 0x6d, 0x22, 0x8b, 0x01, 0x0a, 0x21, 0x41, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69,
0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x66, 0x0a, 0x1c, 0x61, 0x67,
0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x64, 0x65,
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69,
0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1c, 0x61, 0x67, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x63,
0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x22, 0xbb, 0x01, 0x0a, 0x1b, 0x41, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67,
0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02,
0x69, 0x64, 0x12, 0x4e, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65,
0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
0x45, 0x6e, 0x75, 0x6d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
0x22, 0x93, 0x01, 0x0a, 0x23, 0x41, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f,
0x6e, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x56, 0x32, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x6c, 0x0a, 0x1e, 0x61, 0x67, 0x65, 0x72,
0x61, 0x74, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x64, 0x65, 0x73, 0x63,
0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x76, 0x32, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69,
0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x1e, 0x61, 0x67, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e,
0x67, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x76, 0x32, 0x22, 0xa5, 0x02, 0x0a, 0x1d, 0x41, 0x67, 0x65, 0x52, 0x61,
0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,
0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0c, 0x6f, 0x72,
0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69,
0x6e, 0x67, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c,
0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x0a,
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72,
0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x73,
0x0a, 0x1b, 0x41, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x67, 0x61, 0x6e,
0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x54, 0x0a,
0x16, 0x61, 0x67, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69,
0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4f,
0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x61, 0x67, 0x65,
0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x22, 0xcd, 0x01, 0x0a, 0x15, 0x41, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e,
0x67, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a,
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x73, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x73, 0x75, 0x6d, 0x22, 0x5b, 0x0a, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69,
0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x42, 0x0a, 0x10,
0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x73,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41,
0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x10,
0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x73,
0x22, 0x8c, 0x01, 0x0a, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65,
0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f,
0x0a, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x12,
0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22,
0x3b, 0x0a, 0x0d, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x12, 0x2a, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f,
0x72, 0x6b, 0x52, 0x08, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x22, 0xf2, 0x01, 0x0a,
0x07, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x70, 0x68,
0x61, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
0x0c, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1a, 0x0a,
0x08, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
0x08, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x04, 0x67, 0x61, 0x6d,
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
0x47, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65,
0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67,
0x68, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a,
0x03, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12,
0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
0x6d, 0x22, 0x43, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x52, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65,
0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2e, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x72,
0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x22, 0x8f, 0x05, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x72, 0x61,
0x63, 0x74, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x6b, 0x61, 0x73, 0x18, 0x02, 0x20, 0x03,
0x28, 0x09, 0x52, 0x04, 0x61, 0x6b, 0x61, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65,
0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x05, 0x67, 0x61, 0x6d, 0x65,
0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
0x47, 0x61, 0x6d, 0x65, 0x52, 0x05, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x67,
0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72,
0x45, 0x6e, 0x75, 0x6d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72,
0x12, 0x32, 0x0a, 0x08, 0x6d, 0x75, 0x67, 0x5f, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x08, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x61,
0x63, 0x74, 0x65, 0x72, 0x4d, 0x75, 0x67, 0x53, 0x68, 0x6f, 0x74, 0x52, 0x07, 0x6d, 0x75, 0x67,
0x53, 0x68, 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x12, 0x39, 0x0a, 0x07,
0x73, 0x70, 0x65, 0x63, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x53,
0x70, 0x65, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07,
0x73, 0x70, 0x65, 0x63, 0x69, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
0x41, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
0x12, 0x41, 0x0a, 0x10, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x5f, 0x67, 0x65,
0x6e, 0x64, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x47, 0x65, 0x6e, 0x64,
0x65, 0x72, 0x52, 0x0f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x47, 0x65, 0x6e,
0x64, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72,
0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x65, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72,
0x53, 0x70, 0x65, 0x63, 0x69, 0x65, 0x52, 0x10, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65,
0x72, 0x53, 0x70, 0x65, 0x63, 0x69, 0x65, 0x73, 0x22, 0x5b, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x72,
0x61, 0x63, 0x74, 0x65, 0x72, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x12, 0x42, 0x0a, 0x10, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x67, 0x65,
0x6e, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x47, 0x65, 0x6e,
0x64, 0x65, 0x72, 0x52, 0x10, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x67, 0x65,
0x6e, 0x64, 0x65, 0x72, 0x73, 0x22, 0xc7, 0x01, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63,
0x74, 0x65, 0x72, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a,
0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22,
0x5f, 0x0a, 0x16, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x4d, 0x75, 0x67, 0x53,
0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x45, 0x0a, 0x11, 0x63, 0x68, 0x61,
0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x6d, 0x75, 0x67, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61,
0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x4d, 0x75, 0x67, 0x53, 0x68, 0x6f, 0x74, 0x52, 0x11, 0x63,
0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x6d, 0x75, 0x67, 0x73, 0x68, 0x6f, 0x74, 0x73,
0x22, 0xda, 0x01, 0x0a, 0x10, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x4d, 0x75,
0x67, 0x53, 0x68, 0x6f, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x5f, 0x63,
0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c,
0x70, 0x68, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x6e,
0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x6e,
0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74,
0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x19,
0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c,
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x77,
0x69, 0x64, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74,
0x68, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x08, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x5b, 0x0a,
0x15, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x69, 0x65,
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x42, 0x0a, 0x10, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63,
0x74, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74,
0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x69, 0x65, 0x52, 0x10, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63,
0x74, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x69, 0x65, 0x73, 0x22, 0xc7, 0x01, 0x0a, 0x0f, 0x43,
0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x69, 0x65, 0x12, 0x0e,
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a,
0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x73, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x73, 0x75, 0x6d, 0x22, 0x47, 0x0a, 0x10, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6c,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xca, 0x03,
0x0a, 0x0a, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a,
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72,
0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x05, 0x67, 0x61, 0x6d, 0x65, 0x73,
0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47,
0x61, 0x6d, 0x65, 0x52, 0x05, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c,
0x75, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74,
0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x10, 0x0a,
0x03, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12,
0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x29, 0x0a, 0x04, 0x74,
0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65,
0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x49, 0x0a, 0x13, 0x61, 0x73, 0x5f, 0x70, 0x61, 0x72,
0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6c, 0x6c,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11,
0x61, 0x73, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x12, 0x47, 0x0a, 0x12, 0x61, 0x73, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x72, 0x65,
0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x61, 0x73, 0x43, 0x68, 0x69, 0x6c,
0x64, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x6f, 0x0a, 0x1a, 0x43, 0x6f,
0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68,
0x69, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x51, 0x0a, 0x15, 0x63, 0x6f, 0x6c, 0x6c,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72,
0x73, 0x68, 0x69, 0x70, 0x52, 0x15, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x73, 0x22, 0xc1, 0x02, 0x0a, 0x14,
0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72,
0x73, 0x68, 0x69, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52,
0x04, 0x67, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f,
0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73,
0x68, 0x69, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a,
0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18,
0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22,
0x7f, 0x0a, 0x1e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d,
0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x12, 0x5d, 0x0a, 0x19, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x6d,
0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6c,
0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69,
0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x19, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x74, 0x79, 0x70, 0x65, 0x73,
0x22, 0xc1, 0x02, 0x0a, 0x18, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a,
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x17, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x63,
0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6c,
0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x15, 0x61, 0x6c, 0x6c,
0x6f, 0x77, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79,
0x70, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74,
0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a,
0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x73, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x73, 0x75, 0x6d, 0x22, 0x67, 0x0a, 0x18, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x12, 0x4b, 0x0a, 0x13, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x72, 0x65,
0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe7, 0x02,
0x0a, 0x12, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
0x52, 0x02, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x10, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x6f,
0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x52, 0x0f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6c,
0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52,
0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63,
0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63,
0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x77, 0x0a, 0x1c, 0x43, 0x6f, 0x6c, 0x6c, 0x65,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70,
0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x57, 0x0a, 0x17, 0x63, 0x6f, 0x6c, 0x6c, 0x65,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x79, 0x70,
0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x17, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x73,
0x22, 0xfc, 0x02, 0x0a, 0x16, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x43, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x69,
0x6c, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x54, 0x79, 0x70, 0x65, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x68, 0x69,
0x6c, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65,
0x64, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6c, 0x6c,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x11, 0x61, 0x6c, 0x6c, 0x6f,
0x77, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a,
0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18,
0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22,
0x57, 0x0a, 0x14, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70,
0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3f, 0x0a, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0xe8, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6c,
0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a,
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72,
0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x73, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x73, 0x75, 0x6d, 0x22, 0x3d, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x52, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x65,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69,
0x65, 0x73, 0x22, 0x9a, 0x08, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x12, 0x0e,
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3b,
0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x5d, 0x0a, 0x14, 0x63,
0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67,
0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e,
0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e,
0x75, 0x6d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61,
0x74, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x3c, 0x0a, 0x12, 0x63, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x5f, 0x69, 0x64,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x43,
0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74,
0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x20, 0x0a,
0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12,
0x29, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x64, 0x18, 0x08, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52,
0x09, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x6c, 0x6f,
0x67, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x4c, 0x6f, 0x67, 0x6f, 0x52, 0x04, 0x6c, 0x6f,
0x67, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x29,
0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x09,
0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75,
0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x12, 0x39, 0x0a,
0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73,
0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x5b, 0x0a, 0x13, 0x73, 0x74, 0x61, 0x72,
0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18,
0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x61,
0x74, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61,
0x74, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x02,
0x18, 0x01, 0x52, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x43, 0x61, 0x74,
0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
0x5f, 0x61, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
0x72, 0x6c, 0x12, 0x31, 0x0a, 0x08, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x73, 0x18, 0x12,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d,
0x70, 0x61, 0x6e, 0x79, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x52, 0x08, 0x77, 0x65, 0x62,
0x73, 0x69, 0x74, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
0x6d, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
0x6d, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e,
0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
0x3d, 0x0a, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0f, 0x73,
0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x3f,
0x0a, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x10, 0x63,
0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22,
0x4b, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x4c, 0x6f, 0x67, 0x6f, 0x52, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x12, 0x36, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x6c,
0x6f, 0x67, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x4c, 0x6f, 0x67, 0x6f, 0x52, 0x0c,
0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x6c, 0x6f, 0x67, 0x6f, 0x73, 0x22, 0xd5, 0x01, 0x0a,
0x0b, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x0e, 0x0a, 0x02,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d,
0x61, 0x6c, 0x70, 0x68, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20,
0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20,
0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x12, 0x16, 0x0a,
0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68,
0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69,
0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64,
0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x73, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x73, 0x75, 0x6d, 0x22, 0x55, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x53,
0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3e, 0x0a, 0x0f, 0x63,
0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d,
0x70, 0x61, 0x6e, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70,
0x61, 0x6e, 0x79, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x22, 0xc5, 0x01, 0x0a, 0x0d,
0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a,
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x73, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x73, 0x75, 0x6d, 0x22, 0x57, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x57, 0x65,
0x62, 0x73, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3f, 0x0a, 0x0f, 0x63,
0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x73, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d,
0x70, 0x61, 0x6e, 0x79, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6d,
0x70, 0x61, 0x6e, 0x79, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x73, 0x22, 0xcc, 0x01, 0x0a,
0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12,
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12,
0x3a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74,
0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x02, 0x18,
0x01, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x74,
0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x74, 0x72,
0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x73, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x73, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74,
0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x33, 0x0a, 0x0b, 0x43,
0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x24, 0x0a, 0x06, 0x63, 0x6f,
0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x06, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x73,
0x22, 0xb6, 0x02, 0x0a, 0x05, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c,
0x70, 0x68, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
0x08, 0x52, 0x0c, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12,
0x1a, 0x0a, 0x08, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
0x08, 0x52, 0x08, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x04, 0x67,
0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06,
0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65,
0x69, 0x67, 0x68, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64,
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12,
0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72,
0x6c, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05,
0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x73, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x73, 0x75, 0x6d, 0x12, 0x44, 0x0a, 0x11, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61,
0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c,
0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x67, 0x61, 0x6d, 0x65, 0x4c, 0x6f, 0x63,
0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x47, 0x0a, 0x10, 0x44, 0x61, 0x74,
0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a,
0x0b, 0x64, 0x61, 0x74, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x46,
0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x74, 0x73, 0x22, 0xc6, 0x01, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61,
0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69,
0x64, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65,
0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74,
0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f,
0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12,
0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x33, 0x0a, 0x0b, 0x45,
0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x24, 0x0a, 0x06, 0x65, 0x76,
0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73,
0x22, 0xe4, 0x04, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20,
0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x73, 0x6c, 0x75, 0x67, 0x12, 0x2f, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f,
0x67, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x6f, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e,
0x74, 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74,
0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65,
0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x07, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x35, 0x0a,
0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64,
0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x74, 0x72,
0x65, 0x61, 0x6d, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c,
0x69, 0x76, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x55, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x05,
0x67, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x05, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x12,
0x28, 0x0a, 0x06, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x56, 0x69, 0x64, 0x65,
0x6f, 0x52, 0x06, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x12, 0x3a, 0x0a, 0x0e, 0x65, 0x76, 0x65,
0x6e, 0x74, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e,
0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x74,
0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63,
0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63,
0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x43, 0x0a, 0x0f, 0x45, 0x76, 0x65, 0x6e, 0x74,
0x4c, 0x6f, 0x67, 0x6f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x30, 0x0a, 0x0a, 0x65, 0x76,
0x65, 0x6e, 0x74, 0x6c, 0x6f, 0x67, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x6f,
0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x6c, 0x6f, 0x67, 0x6f, 0x73, 0x22, 0xed, 0x02, 0x0a,
0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x05, 0x65, 0x76,
0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x23,
0x0a, 0x0d, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18,
0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x43, 0x68, 0x61, 0x6e,
0x6e, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x18,
0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x12,
0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65,
0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65,
0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x08, 0x20,
0x01, 0x28, 0x05, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72,
0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x4f, 0x0a, 0x12,
0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x12, 0x39, 0x0a, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x6e, 0x65, 0x74, 0x77, 0x6f,
0x72, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x0d,
0x65, 0x76, 0x65, 0x6e, 0x74, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x22, 0x9d, 0x02,
0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x0e,
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x22,
0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65,
0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x75, 0x72, 0x6c, 0x12, 0x35, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f,
0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b,
0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65,
0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41,
0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x07, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x4f, 0x0a,
0x12, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x12, 0x39, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x67,
0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x52,
0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xf8,
0x04, 0x0a, 0x0c, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x12,
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12,
0x3f, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e,
0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e,
0x75, 0x6d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x04, 0x67,
0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74,
0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x10, 0x0a,
0x03, 0x75, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12,
0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x79,
0x65, 0x61, 0x72, 0x12, 0x36, 0x0a, 0x05, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x18, 0x0a, 0x20, 0x01,
0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72,
0x6e, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x45, 0x6e, 0x75, 0x6d,
0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x2b, 0x0a, 0x08, 0x70,
0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08,
0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73,
0x75, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73,
0x75, 0x6d, 0x12, 0x4b, 0x0a, 0x14, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67,
0x61, 0x6d, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61,
0x6c, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x12, 0x65, 0x78, 0x74,
0x65, 0x72, 0x6e, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
0x48, 0x0a, 0x13, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65,
0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x11, 0x67, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x6c, 0x65,
0x61, 0x73, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x67, 0x0a, 0x18, 0x45, 0x78, 0x74,
0x65, 0x72, 0x6e, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x4b, 0x0a, 0x13, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61,
0x6c, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72,
0x6e, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x13, 0x65,
0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x73, 0x22, 0xca, 0x01, 0x0a, 0x12, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x47,
0x61, 0x6d, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a,
0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18,
0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22,
0x43, 0x0a, 0x0f, 0x46, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x69, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x12, 0x30, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x69, 0x73, 0x65, 0x73,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46,
0x72, 0x61, 0x6e, 0x63, 0x68, 0x69, 0x73, 0x65, 0x52, 0x0a, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x68,
0x69, 0x73, 0x65, 0x73, 0x22, 0x8a, 0x02, 0x0a, 0x09, 0x46, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x69,
0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02,
0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a,
0x05, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x05, 0x67, 0x61, 0x6d, 0x65, 0x73,
0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x64, 0x41, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
0x6d, 0x22, 0x2f, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
0x21, 0x0a, 0x05, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x05, 0x67, 0x61, 0x6d,
0x65, 0x73, 0x22, 0xae, 0x15, 0x0a, 0x04, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x0b, 0x61,
0x67, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69,
0x6e, 0x67, 0x52, 0x0a, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2b,
0x0a, 0x11, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x61, 0x74,
0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x61, 0x67, 0x67, 0x72, 0x65,
0x67, 0x61, 0x74, 0x65, 0x64, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x36, 0x0a, 0x17, 0x61,
0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67,
0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x61, 0x67,
0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x11, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69,
0x76, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69,
0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x10, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74,
0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x77,
0x6f, 0x72, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x08, 0x61, 0x72, 0x74, 0x77,
0x6f, 0x72, 0x6b, 0x73, 0x12, 0x25, 0x0a, 0x07, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x18,
0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61,
0x6d, 0x65, 0x52, 0x07, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x63,
0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
0x72, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65,
0x67, 0x6f, 0x72, 0x79, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52,
0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x05, 0x63,
0x6f, 0x76, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x05, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12,
0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x04, 0x64, 0x6c,
0x63, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x64, 0x6c, 0x63, 0x73, 0x12, 0x2b, 0x0a, 0x0a, 0x65,
0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x0a, 0x65, 0x78,
0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x0e, 0x65, 0x78, 0x74, 0x65,
0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61,
0x6c, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x47,
0x61, 0x6d, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x12, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x72, 0x65,
0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x66, 0x69,
0x72, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1c,
0x0a, 0x07, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x42,
0x02, 0x18, 0x01, 0x52, 0x07, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x12, 0x2e, 0x0a, 0x09,
0x66, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x69, 0x73, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x69, 0x73,
0x65, 0x52, 0x09, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x69, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x0a,
0x66, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x69, 0x73, 0x65, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x69,
0x73, 0x65, 0x52, 0x0a, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x69, 0x73, 0x65, 0x73, 0x12, 0x34,
0x0a, 0x0c, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x13,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d,
0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x0b, 0x67, 0x61, 0x6d, 0x65, 0x45, 0x6e, 0x67,
0x69, 0x6e, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64,
0x65, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2e, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x4d,
0x6f, 0x64, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x73, 0x18, 0x15,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x6e,
0x72, 0x65, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x79,
0x70, 0x65, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x68, 0x79, 0x70, 0x65, 0x73,
0x12, 0x45, 0x0a, 0x12, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d,
0x70, 0x61, 0x6e, 0x69, 0x65, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x6f, 0x6d,
0x70, 0x61, 0x6e, 0x79, 0x52, 0x11, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x6f,
0x6d, 0x70, 0x61, 0x6e, 0x69, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x77, 0x6f,
0x72, 0x64, 0x73, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x77, 0x6f,
0x72, 0x64, 0x73, 0x12, 0x43, 0x0a, 0x11, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x61, 0x79,
0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x61, 0x79,
0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x10, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x61,
0x79, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x0b,
0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x0a,
0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x09, 0x70, 0x6c,
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x09,
0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, 0x49, 0x0a, 0x13, 0x70, 0x6c, 0x61,
0x79, 0x65, 0x72, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73,
0x18, 0x1d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50,
0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
0x52, 0x12, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74,
0x69, 0x76, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x1e,
0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c,
0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1f, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0b, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
0x37, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x73,
0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52,
0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x65,
0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x0b, 0x73, 0x63, 0x72, 0x65,
0x65, 0x6e, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x6f, 0x74,
0x52, 0x0b, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x30, 0x0a,
0x0d, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x22,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d,
0x65, 0x52, 0x0c, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x12,
0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73,
0x6c, 0x75, 0x67, 0x12, 0x40, 0x0a, 0x15, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x6c, 0x6f, 0x6e,
0x65, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x24, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52,
0x14, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x6c, 0x6f, 0x6e, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e,
0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
0x25, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61,
0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x02, 0x18, 0x01,
0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x72,
0x79, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x6f,
0x72, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72,
0x79, 0x18, 0x27, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79,
0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x28, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04,
0x74, 0x61, 0x67, 0x73, 0x12, 0x24, 0x0a, 0x06, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x18, 0x29,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x68, 0x65,
0x6d, 0x65, 0x52, 0x06, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f,
0x74, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x01,
0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a,
0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c,
0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64,
0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x2d, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x32, 0x0a, 0x0e, 0x76, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x0d, 0x76,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d,
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x2f, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x74, 0x6c,
0x65, 0x12, 0x28, 0x0a, 0x06, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x30, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x56, 0x69,
0x64, 0x65, 0x6f, 0x52, 0x06, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x77,
0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x73, 0x18, 0x31, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x52, 0x08, 0x77,
0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x73, 0x75, 0x6d, 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x73, 0x75, 0x6d, 0x12, 0x25, 0x0a, 0x07, 0x72, 0x65, 0x6d, 0x61, 0x6b, 0x65, 0x73, 0x18, 0x33,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d,
0x65, 0x52, 0x07, 0x72, 0x65, 0x6d, 0x61, 0x6b, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x09, 0x72, 0x65,
0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x34, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x72, 0x65, 0x6d, 0x61,
0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x0e, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65,
0x64, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x35, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x61,
0x6e, 0x64, 0x65, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x05, 0x70, 0x6f, 0x72,
0x74, 0x73, 0x18, 0x36, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x05,
0x66, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x37, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x6b, 0x73, 0x12,
0x43, 0x0a, 0x11, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x75, 0x70, 0x70,
0x6f, 0x72, 0x74, 0x73, 0x18, 0x38, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6f,
0x72, 0x74, 0x52, 0x10, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x53, 0x75, 0x70, 0x70,
0x6f, 0x72, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x12, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63,
0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x39, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x4c, 0x6f, 0x63,
0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x67, 0x61, 0x6d, 0x65, 0x4c,
0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x0b,
0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x3a, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x12, 0x32, 0x0a, 0x0b, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
0x18, 0x3b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47,
0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x53,
0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x79,
0x70, 0x65, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2e, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54,
0x79, 0x70, 0x65, 0x22, 0x47, 0x0a, 0x10, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e,
0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x67, 0x61, 0x6d, 0x65, 0x65,
0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52,
0x0b, 0x67, 0x61, 0x6d, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x22, 0x92, 0x03, 0x0a,
0x0a, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x09, 0x63,
0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x52, 0x09,
0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65,
0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74,
0x65, 0x64, 0x41, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x05,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d,
0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4c, 0x6f, 0x67, 0x6f, 0x52, 0x04, 0x6c, 0x6f, 0x67,
0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66,
0x6f, 0x72, 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x08, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x64, 0x41, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
0x6d, 0x22, 0x57, 0x0a, 0x14, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4c,
0x6f, 0x67, 0x6f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3f, 0x0a, 0x0f, 0x67, 0x61, 0x6d,
0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x6c, 0x6f, 0x67, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x45,
0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4c, 0x6f, 0x67, 0x6f, 0x52, 0x0f, 0x67, 0x61, 0x6d, 0x65, 0x65,
0x6e, 0x67, 0x69, 0x6e, 0x65, 0x6c, 0x6f, 0x67, 0x6f, 0x73, 0x22, 0xd8, 0x01, 0x0a, 0x0e, 0x47,
0x61, 0x6d, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x0e, 0x0a,
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a,
0x0d, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02,
0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x6e,
0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03,
0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x12, 0x16,
0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f,
0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49,
0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01,
0x28, 0x05, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65,
0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65,
0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x5f, 0x0a, 0x16, 0x47, 0x61, 0x6d, 0x65, 0x4c, 0x6f, 0x63,
0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
0x45, 0x0a, 0x11, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x11, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb4, 0x02, 0x0a, 0x10, 0x47, 0x61, 0x6d, 0x65, 0x4c,
0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0x22, 0x0a, 0x05, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x05, 0x63, 0x6f,
0x76, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x04,
0x67, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x05,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x67,
0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65,
0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41,
0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x08, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x3f, 0x0a,
0x0e, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
0x2d, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x6d, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x4d,
0x6f, 0x64, 0x65, 0x52, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x6d, 0x6f, 0x64, 0x65, 0x73, 0x22, 0xe6,
0x01, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65,
0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c,
0x75, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x12, 0x39,
0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c,
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63,
0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63,
0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x63, 0x0a, 0x17, 0x47, 0x61, 0x6d, 0x65, 0x52,
0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x12, 0x48, 0x0a, 0x12, 0x67, 0x61, 0x6d, 0x65, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73,
0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61,
0x73, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x12, 0x67, 0x61, 0x6d, 0x65, 0x72, 0x65,
0x6c, 0x65, 0x61, 0x73, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x73, 0x22, 0xcd, 0x01, 0x0a,
0x11, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x46, 0x6f, 0x72, 0x6d,
0x61, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02,
0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72,
0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x49, 0x0a, 0x10,
0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x12, 0x35, 0x0a, 0x0c, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47,
0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x67, 0x61, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x22, 0xc6, 0x01, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65,
0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x39,
0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09,
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64,
0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
0x22, 0x57, 0x0a, 0x14, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x42, 0x65,
0x61, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3f, 0x0a, 0x0f, 0x67, 0x61, 0x6d, 0x65,
0x74, 0x69, 0x6d, 0x65, 0x74, 0x6f, 0x62, 0x65, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69,
0x6d, 0x65, 0x54, 0x6f, 0x42, 0x65, 0x61, 0x74, 0x52, 0x0f, 0x67, 0x61, 0x6d, 0x65, 0x74, 0x69,
0x6d, 0x65, 0x74, 0x6f, 0x62, 0x65, 0x61, 0x74, 0x73, 0x22, 0xb7, 0x02, 0x0a, 0x0e, 0x47, 0x61,
0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x42, 0x65, 0x61, 0x74, 0x12, 0x0e, 0x0a, 0x02,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07,
0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67,
0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x74, 0x69, 0x6c, 0x79,
0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x68, 0x61, 0x73, 0x74, 0x69, 0x6c, 0x79, 0x12,
0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28,
0x05, 0x52, 0x08, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x6c, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x63,
0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18,
0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x73, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x73, 0x75, 0x6d, 0x22, 0x3f, 0x0a, 0x0e, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x74, 0x79, 0x70,
0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2e, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x74,
0x79, 0x70, 0x65, 0x73, 0x22, 0xc0, 0x01, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70,
0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69,
0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63,
0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63,
0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x4b, 0x0a, 0x11, 0x47, 0x61, 0x6d, 0x65, 0x56,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x36, 0x0a, 0x0c,
0x67, 0x61, 0x6d, 0x65, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x56,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x67, 0x61, 0x6d, 0x65, 0x76, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbc, 0x02, 0x0a, 0x0b, 0x47, 0x61, 0x6d, 0x65, 0x56, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12,
0x35, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65,
0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d,
0x65, 0x52, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x05, 0x67, 0x61, 0x6d, 0x65, 0x73,
0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47,
0x61, 0x6d, 0x65, 0x52, 0x05, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x73, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x73, 0x75, 0x6d, 0x22, 0x67, 0x0a, 0x18, 0x47, 0x61, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
0x4b, 0x0a, 0x13, 0x67, 0x61, 0x6d, 0x65, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x66, 0x65,
0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x13, 0x67, 0x61, 0x6d, 0x65, 0x76, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x8f, 0x02, 0x0a,
0x12, 0x47, 0x61, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74,
0x75, 0x72, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
0x02, 0x69, 0x64, 0x12, 0x41, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61,
0x6d, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x08, 0x63, 0x61,
0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x05, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x65,
0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x07,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x7b,
0x0a, 0x1d, 0x47, 0x61, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x61,
0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
0x5a, 0x0a, 0x18, 0x67, 0x61, 0x6d, 0x65, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x66, 0x65,
0x61, 0x74, 0x75, 0x72, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x52, 0x18, 0x67, 0x61, 0x6d, 0x65, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x66, 0x65,
0x61, 0x74, 0x75, 0x72, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x96, 0x02, 0x0a, 0x17,
0x47, 0x61, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75,
0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61,
0x6d, 0x65, 0x52, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x67, 0x61, 0x6d, 0x65,
0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0b, 0x67, 0x61, 0x6d, 0x65, 0x46,
0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x5c, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x56, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x45,
0x6e, 0x75, 0x6d, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x46, 0x65, 0x61,
0x74, 0x75, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x73, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x73, 0x75, 0x6d, 0x22, 0x43, 0x0a, 0x0f, 0x47, 0x61, 0x6d, 0x65, 0x56, 0x69, 0x64, 0x65,
0x6f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x30, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x76,
0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x0a, 0x67,
0x61, 0x6d, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x09, 0x47, 0x61,
0x6d, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61,
0x6d, 0x65, 0x52, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08,
0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x76, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x73, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x73, 0x75, 0x6d, 0x22, 0x33, 0x0a, 0x0b, 0x47, 0x65, 0x6e, 0x72, 0x65, 0x52, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x12, 0x24, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x6e, 0x72, 0x65,
0x52, 0x06, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x73, 0x22, 0xe3, 0x01, 0x0a, 0x05, 0x47, 0x65, 0x6e,
0x72, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02,
0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x73, 0x6c, 0x75, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x07,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x5d,
0x0a, 0x15, 0x49, 0x6e, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e,
0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x44, 0x0a, 0x11, 0x69, 0x6e, 0x76, 0x6f, 0x6c,
0x76, 0x65, 0x64, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x6c,
0x76, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x52, 0x11, 0x69, 0x6e, 0x76, 0x6f,
0x6c, 0x76, 0x65, 0x64, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x65, 0x73, 0x22, 0xf4, 0x02,
0x0a, 0x0f, 0x49, 0x6e, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e,
0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69,
0x64, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61,
0x6e, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x12, 0x39, 0x0a, 0x0a, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65,
0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f,
0x70, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x64, 0x65, 0x76, 0x65, 0x6c,
0x6f, 0x70, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52,
0x04, 0x67, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67,
0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x12,
0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01,
0x28, 0x08, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x12, 0x1e, 0x0a,
0x0a, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28,
0x08, 0x52, 0x0a, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x39, 0x0a,
0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x73, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x73, 0x75, 0x6d, 0x22, 0x3b, 0x0a, 0x0d, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x52,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64,
0x73, 0x22, 0xe5, 0x01, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a,
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a,
0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04,
0x73, 0x6c, 0x75, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67,
0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75,
0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a,
0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x3f, 0x0a, 0x0e, 0x4c, 0x61, 0x6e,
0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x09, 0x6c,
0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52,
0x09, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x22, 0xf9, 0x01, 0x0a, 0x08, 0x4c,
0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e,
0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0a, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06,
0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f,
0x63, 0x61, 0x6c, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12,
0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68,
0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68,
0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x5b, 0x0a, 0x15, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61,
0x67, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
0x42, 0x0a, 0x10, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x75, 0x70, 0x70, 0x6f,
0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72,
0x74, 0x52, 0x10, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x75, 0x70, 0x70, 0x6f,
0x72, 0x74, 0x73, 0x22, 0xd1, 0x02, 0x0a, 0x0f, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65,
0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61,
0x6d, 0x65, 0x52, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67,
0x75, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6c, 0x61, 0x6e,
0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x4e, 0x0a, 0x15, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
0x65, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x61, 0x6e,
0x67, 0x75, 0x61, 0x67, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65,
0x52, 0x13, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72,
0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63,
0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63,
0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x6b, 0x0a, 0x19, 0x4c, 0x61, 0x6e, 0x67, 0x75,
0x61, 0x67, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x12, 0x4e, 0x0a, 0x14, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65,
0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75,
0x61, 0x67, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x14,
0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x74,
0x79, 0x70, 0x65, 0x73, 0x22, 0xcb, 0x01, 0x0a, 0x13, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
0x65, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64,
0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73,
0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73,
0x75, 0x6d, 0x22, 0x5b, 0x0a, 0x15, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x61, 0x79, 0x65,
0x72, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x42, 0x0a, 0x10, 0x6d,
0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x6d, 0x6f, 0x64, 0x65, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x75,
0x6c, 0x74, 0x69, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x10, 0x6d,
0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x6d, 0x6f, 0x64, 0x65, 0x73, 0x22,
0xff, 0x03, 0x0a, 0x0f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d,
0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
0x02, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x63,
0x6f, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x61, 0x6d, 0x70, 0x61,
0x69, 0x67, 0x6e, 0x63, 0x6f, 0x6f, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x72, 0x6f, 0x70, 0x69,
0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x6f, 0x70, 0x69, 0x6e, 0x12,
0x1f, 0x0a, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x67, 0x61, 0x6d, 0x65,
0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x6e, 0x63, 0x6f, 0x6f, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28,
0x08, 0x52, 0x07, 0x6c, 0x61, 0x6e, 0x63, 0x6f, 0x6f, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x66,
0x66, 0x6c, 0x69, 0x6e, 0x65, 0x63, 0x6f, 0x6f, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
0x0b, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x63, 0x6f, 0x6f, 0x70, 0x12, 0x26, 0x0a, 0x0e,
0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x63, 0x6f, 0x6f, 0x70, 0x6d, 0x61, 0x78, 0x18, 0x07,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x63, 0x6f, 0x6f,
0x70, 0x6d, 0x61, 0x78, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x6d,
0x61, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e,
0x65, 0x6d, 0x61, 0x78, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x63, 0x6f,
0x6f, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
0x63, 0x6f, 0x6f, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x63, 0x6f,
0x6f, 0x70, 0x6d, 0x61, 0x78, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6f, 0x6e, 0x6c,
0x69, 0x6e, 0x65, 0x63, 0x6f, 0x6f, 0x70, 0x6d, 0x61, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x6e,
0x6c, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f,
0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x78, 0x12, 0x2b, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74,
0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x63,
0x72, 0x65, 0x65, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x70, 0x6c, 0x69,
0x74, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x70, 0x6c, 0x69, 0x74,
0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0e, 0x20, 0x01,
0x28, 0x08, 0x52, 0x11, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x6f,
0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
0x6d, 0x22, 0x4b, 0x0a, 0x11, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x79, 0x70, 0x65,
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x36, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
0x6b, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x79, 0x70, 0x65,
0x52, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0xff,
0x01, 0x0a, 0x0b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e,
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x65, 0x74, 0x77,
0x6f, 0x72, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52,
0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x39,
0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09,
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64,
0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
0x22, 0x3f, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c,
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
0x73, 0x22, 0xc8, 0x05, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e,
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x22,
0x0a, 0x0c, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76,
0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x6c,
0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a,
0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x02, 0x18, 0x01,
0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72,
0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x0d, 0x70, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
0x6d, 0x4c, 0x6f, 0x67, 0x6f, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4c,
0x6f, 0x67, 0x6f, 0x12, 0x3e, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f,
0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x61, 0x6d,
0x69, 0x6c, 0x79, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x61, 0x6d,
0x69, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61,
0x72, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72,
0x79, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18,
0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x10, 0x0a, 0x03,
0x75, 0x72, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x32,
0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x73, 0x18, 0x0f,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x52, 0x08, 0x77, 0x65,
0x62, 0x73, 0x69, 0x74, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73,
0x75, 0x6d, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73,
0x75, 0x6d, 0x12, 0x38, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x74,
0x79, 0x70, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c,
0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x22, 0x59, 0x0a, 0x14,
0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x12, 0x41, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x46,
0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x66,
0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x22, 0x64, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x74, 0x66,
0x6f, 0x72, 0x6d, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a,
0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75,
0x67, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x04, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x4f, 0x0a,
0x12, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4c, 0x6f, 0x67, 0x6f, 0x52, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x12, 0x39, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x6c,
0x6f, 0x67, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4c, 0x6f, 0x67, 0x6f, 0x52,
0x0d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x6c, 0x6f, 0x67, 0x6f, 0x73, 0x22, 0xd6,
0x01, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4c, 0x6f, 0x67, 0x6f, 0x12,
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12,
0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x43, 0x68, 0x61,
0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64,
0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64,
0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67,
0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67,
0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x07,
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x63,
0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63,
0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x4f, 0x0a, 0x12, 0x50, 0x6c, 0x61, 0x74, 0x66,
0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x39, 0x0a,
0x0d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x70, 0x6c, 0x61, 0x74, 0x66,
0x6f, 0x72, 0x6d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0xc4, 0x01, 0x0a, 0x0c, 0x50, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a,
0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22,
0x5b, 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x42, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x74,
0x66, 0x6f, 0x72, 0x6d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66,
0x6f, 0x72, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x74,
0x66, 0x6f, 0x72, 0x6d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb6, 0x05, 0x0a,
0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64,
0x12, 0x3b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74,
0x66, 0x6f, 0x72, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x61,
0x6e, 0x79, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x65, 0x73, 0x12, 0x22, 0x0a,
0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x63, 0x70, 0x75, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x12,
0x4a, 0x0a, 0x11, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74,
0x75, 0x72, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x52, 0x10, 0x6d, 0x61, 0x69, 0x6e, 0x4d,
0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d,
0x65, 0x64, 0x69, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x65, 0x64, 0x69,
0x61, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a,
0x02, 0x6f, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x16, 0x0a,
0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f,
0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x38, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4c, 0x6f, 0x67,
0x6f, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4c, 0x6f, 0x67, 0x6f, 0x12,
0x66, 0x0a, 0x1e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x76, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65,
0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x1b, 0x70, 0x6c, 0x61, 0x74,
0x66, 0x6f, 0x72, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x65, 0x61,
0x73, 0x65, 0x44, 0x61, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x6c,
0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65,
0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75,
0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x12, 0x14, 0x0a,
0x05, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x6f,
0x75, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x12,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a,
0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x14,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65,
0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65,
0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x79, 0x0a, 0x1c, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x52,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x59, 0x0a, 0x18, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
0x6d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x65,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43,
0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x52, 0x18, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x65, 0x73,
0x22, 0xca, 0x01, 0x0a, 0x16, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x56, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63,
0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f,
0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x12,
0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01,
0x28, 0x08, 0x52, 0x09, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x12, 0x22, 0x0a,
0x0c, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, 0x72, 0x18, 0x05, 0x20,
0x01, 0x28, 0x08, 0x52, 0x0c, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65,
0x72, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x06, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x87, 0x01,
0x0a, 0x20, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x12, 0x63, 0x0a, 0x1b, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x76, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x61, 0x74, 0x65,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x1b, 0x70, 0x6c, 0x61, 0x74,
0x66, 0x6f, 0x72, 0x6d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x6c, 0x65, 0x61,
0x73, 0x65, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0xd6, 0x04, 0x0a, 0x1a, 0x50, 0x6c, 0x61, 0x74,
0x66, 0x6f, 0x72, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x65, 0x61,
0x73, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x47, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2e, 0x44, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67,
0x65, 0x44, 0x61, 0x74, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x75,
0x6d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12,
0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61,
0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x75,
0x6d, 0x61, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x68, 0x75, 0x6d, 0x61, 0x6e,
0x12, 0x0c, 0x0a, 0x01, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x6d, 0x12, 0x41,
0x0a, 0x10, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x52, 0x0f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x12, 0x33, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06,
0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41,
0x74, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x79, 0x12,
0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x32, 0x0a, 0x0b, 0x64,
0x61, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72,
0x6d, 0x61, 0x74, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12,
0x3f, 0x0a, 0x0e, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f,
0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f,
0x6e, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
0x22, 0x5b, 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x57, 0x65, 0x62, 0x73,
0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x42, 0x0a, 0x10, 0x70, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74,
0x66, 0x6f, 0x72, 0x6d, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x52, 0x10, 0x70, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x73, 0x22, 0xcd, 0x01,
0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74,
0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69,
0x64, 0x12, 0x3a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x73,
0x69, 0x74, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x42,
0x02, 0x18, 0x01, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x18, 0x0a,
0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65,
0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65,
0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x73,
0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x63, 0x0a,
0x17, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69,
0x76, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x48, 0x0a, 0x12, 0x70, 0x6c, 0x61, 0x79,
0x65, 0x72, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61,
0x79, 0x65, 0x72, 0x50, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x12,
0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76,
0x65, 0x73, 0x22, 0xef, 0x01, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x65, 0x72,
0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64,
0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x73, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x73, 0x75, 0x6d, 0x22, 0x6b, 0x0a, 0x19, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69,
0x74, 0x79, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x12, 0x4e, 0x0a, 0x14, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x70,
0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69,
0x74, 0x79, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x52, 0x14, 0x70, 0x6f, 0x70,
0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65,
0x73, 0x22, 0x9e, 0x04, 0x0a, 0x13, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79,
0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d,
0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65,
0x49, 0x64, 0x12, 0x3e, 0x0a, 0x0f, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79,
0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x79,
0x70, 0x65, 0x52, 0x0e, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x79,
0x70, 0x65, 0x12, 0x5c, 0x0a, 0x11, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79,
0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79,
0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79,
0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10,
0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c,
0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x61, 0x6c, 0x63, 0x75,
0x6c, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74,
0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a,
0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x57, 0x0a, 0x1a, 0x65, 0x78, 0x74,
0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79,
0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x47, 0x61,
0x6d, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x18, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e,
0x61, 0x6c, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x22, 0x57, 0x0a, 0x14, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79,
0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3f, 0x0a, 0x0f, 0x70, 0x6f,
0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6f, 0x70, 0x75,
0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x70, 0x6f, 0x70, 0x75,
0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0xfd, 0x02, 0x0a, 0x0e,
0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e,
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x5c,
0x0a, 0x11, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2e, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x70, 0x6f, 0x70, 0x75,
0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64,
0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73,
0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73,
0x75, 0x6d, 0x12, 0x57, 0x0a, 0x1a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70,
0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45,
0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x52, 0x18, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6f, 0x70, 0x75, 0x6c,
0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x37, 0x0a, 0x0c, 0x52,
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x07, 0x72,
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x72, 0x65, 0x67,
0x69, 0x6f, 0x6e, 0x73, 0x22, 0xfa, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12,
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12,
0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12,
0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x04, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12,
0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
0x6d, 0x22, 0x4b, 0x0a, 0x11, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x65,
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x36, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73,
0x65, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x65,
0x52, 0x0c, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0x84,
0x05, 0x0a, 0x0b, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x0e,
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x47,
0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72,
0x6d, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x43, 0x61, 0x74,
0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x63,
0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
0x41, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x64, 0x61,
0x74, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x67,
0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x18, 0x06, 0x20, 0x01,
0x28, 0x09, 0x52, 0x05, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x12, 0x0c, 0x0a, 0x01, 0x6d, 0x18, 0x07,
0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x6d, 0x12, 0x2b, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66,
0x6f, 0x72, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74,
0x66, 0x6f, 0x72, 0x6d, 0x12, 0x33, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x09,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x67,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x02, 0x18,
0x01, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64,
0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x64, 0x41, 0x74, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52,
0x01, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x0c,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x30,
0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61,
0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
0x12, 0x32, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18,
0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x61,
0x74, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6f,
0x72, 0x6d, 0x61, 0x74, 0x12, 0x3f, 0x0a, 0x0e, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f,
0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x65,
0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52,
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x63, 0x0a, 0x17, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65,
0x44, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x12, 0x48, 0x0a, 0x12, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x61, 0x74, 0x65, 0x72,
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x65,
0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64,
0x61, 0x74, 0x65, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xcd, 0x01, 0x0a, 0x11, 0x52,
0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64,
0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61,
0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a,
0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x65, 0x0a, 0x17, 0x52, 0x65,
0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x4a, 0x0a, 0x13, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65,
0x64, 0x61, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61,
0x73, 0x65, 0x44, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x13, 0x72, 0x65,
0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x61, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65,
0x73, 0x22, 0xeb, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74,
0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64,
0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a,
0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18,
0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22,
0x47, 0x0a, 0x10, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x6f,
0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x0b, 0x73, 0x63, 0x72,
0x65, 0x65, 0x6e, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x22, 0xf5, 0x01, 0x0a, 0x0a, 0x53, 0x63, 0x72,
0x65, 0x65, 0x6e, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c,
0x61, 0x6c, 0x70, 0x68, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08,
0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x04, 0x67, 0x61, 0x6d, 0x65,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47,
0x61, 0x6d, 0x65, 0x52, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69,
0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68,
0x74, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03,
0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14,
0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x77,
0x69, 0x64, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
0x22, 0x39, 0x0a, 0x0c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x12, 0x29, 0x0a, 0x08, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63,
0x68, 0x52, 0x08, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x22, 0x84, 0x04, 0x0a, 0x06,
0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e,
0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0f, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d,
0x65, 0x12, 0x2e, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61,
0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x52, 0x09, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65,
0x72, 0x12, 0x31, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f,
0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x18,
0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f,
0x6d, 0x70, 0x61, 0x6e, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x12, 0x20,
0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x1f, 0x0a, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x67, 0x61, 0x6d,
0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
0x72, 0x6d, 0x12, 0x3d, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f,
0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x41,
0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x18,
0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x52, 0x09, 0x74, 0x65, 0x73, 0x74, 0x44, 0x75, 0x6d,
0x6d, 0x79, 0x12, 0x22, 0x0a, 0x05, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x52,
0x05, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73,
0x75, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73,
0x75, 0x6d, 0x22, 0x45, 0x0a, 0x0f, 0x54, 0x65, 0x73, 0x74, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x52,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x32, 0x0a, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x64, 0x75, 0x6d,
0x6d, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x52, 0x0b, 0x74, 0x65,
0x73, 0x74, 0x64, 0x75, 0x6d, 0x6d, 0x69, 0x65, 0x73, 0x22, 0x9c, 0x05, 0x0a, 0x09, 0x54, 0x65,
0x73, 0x74, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x62, 0x6f, 0x6f,
0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41,
0x74, 0x12, 0x39, 0x0a, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e,
0x75, 0x6d, 0x52, 0x08, 0x65, 0x6e, 0x75, 0x6d, 0x54, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b,
0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
0x01, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a,
0x04, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x12, 0x23,
0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x18,
0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x41, 0x72,
0x72, 0x61, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x5f, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65,
0x67, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11,
0x6e, 0x65, 0x77, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6e, 0x65, 0x77, 0x49, 0x6e, 0x74, 0x65,
0x67, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76,
0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61,
0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x33, 0x0a, 0x0c, 0x74, 0x65, 0x73,
0x74, 0x5f, 0x64, 0x75, 0x6d, 0x6d, 0x69, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x44, 0x75, 0x6d, 0x6d,
0x79, 0x52, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x44, 0x75, 0x6d, 0x6d, 0x69, 0x65, 0x73, 0x12, 0x2f,
0x0a, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x18, 0x0f, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x44,
0x75, 0x6d, 0x6d, 0x79, 0x52, 0x09, 0x74, 0x65, 0x73, 0x74, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x12,
0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x10, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72,
0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08,
0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x33, 0x0a, 0x0b, 0x54, 0x68, 0x65, 0x6d,
0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x24, 0x0a, 0x06, 0x74, 0x68, 0x65, 0x6d, 0x65,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
0x54, 0x68, 0x65, 0x6d, 0x65, 0x52, 0x06, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x22, 0xe3, 0x01,
0x0a, 0x05, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x73, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x73, 0x75, 0x6d, 0x22, 0x3b, 0x0a, 0x0d, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x52, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x73,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57,
0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x52, 0x08, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x73,
0x22, 0xe6, 0x01, 0x0a, 0x07, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x08,
0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x43, 0x61,
0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08,
0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x04, 0x67, 0x61, 0x6d, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47,
0x61, 0x6d, 0x65, 0x52, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x75,
0x73, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x74, 0x72, 0x75, 0x73,
0x74, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
0x6d, 0x12, 0x26, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x54,
0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x4b, 0x0a, 0x11, 0x57, 0x65, 0x62,
0x73, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x36,
0x0a, 0x0c, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62,
0x73, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74,
0x65, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0xc3, 0x01, 0x0a, 0x0b, 0x57, 0x65, 0x62, 0x73, 0x69,
0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72,
0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2a, 0x9d, 0x01, 0x0a,
0x15, 0x41, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
0x72, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x1f, 0x0a, 0x17, 0x41, 0x47, 0x45, 0x52, 0x41, 0x54,
0x49, 0x4e, 0x47, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x4e, 0x55, 0x4c,
0x4c, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0c, 0x0a, 0x04, 0x45, 0x53, 0x52, 0x42, 0x10,
0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0c, 0x0a, 0x04, 0x50, 0x45, 0x47, 0x49, 0x10, 0x02, 0x1a,
0x02, 0x08, 0x01, 0x12, 0x0c, 0x0a, 0x04, 0x43, 0x45, 0x52, 0x4f, 0x10, 0x03, 0x1a, 0x02, 0x08,
0x01, 0x12, 0x0b, 0x0a, 0x03, 0x55, 0x53, 0x4b, 0x10, 0x04, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0c,
0x0a, 0x04, 0x47, 0x52, 0x41, 0x43, 0x10, 0x05, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x11, 0x0a, 0x09,
0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x49, 0x4e, 0x44, 0x10, 0x06, 0x1a, 0x02, 0x08, 0x01, 0x12,
0x0b, 0x0a, 0x03, 0x41, 0x43, 0x42, 0x10, 0x07, 0x1a, 0x02, 0x08, 0x01, 0x2a, 0xd9, 0x05, 0x0a,
0x13, 0x41, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67,
0x45, 0x6e, 0x75, 0x6d, 0x12, 0x1d, 0x0a, 0x15, 0x41, 0x47, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4e,
0x47, 0x5f, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x00, 0x1a,
0x02, 0x08, 0x01, 0x12, 0x0d, 0x0a, 0x05, 0x54, 0x48, 0x52, 0x45, 0x45, 0x10, 0x01, 0x1a, 0x02,
0x08, 0x01, 0x12, 0x0d, 0x0a, 0x05, 0x53, 0x45, 0x56, 0x45, 0x4e, 0x10, 0x02, 0x1a, 0x02, 0x08,
0x01, 0x12, 0x0e, 0x0a, 0x06, 0x54, 0x57, 0x45, 0x4c, 0x56, 0x45, 0x10, 0x03, 0x1a, 0x02, 0x08,
0x01, 0x12, 0x0f, 0x0a, 0x07, 0x53, 0x49, 0x58, 0x54, 0x45, 0x45, 0x4e, 0x10, 0x04, 0x1a, 0x02,
0x08, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x45, 0x49, 0x47, 0x48, 0x54, 0x45, 0x45, 0x4e, 0x10, 0x05,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x0a, 0x0a, 0x02, 0x52, 0x50, 0x10, 0x06, 0x1a, 0x02, 0x08, 0x01,
0x12, 0x0a, 0x0a, 0x02, 0x45, 0x43, 0x10, 0x07, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x09, 0x0a, 0x01,
0x45, 0x10, 0x08, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0b, 0x0a, 0x03, 0x45, 0x31, 0x30, 0x10, 0x09,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x09, 0x0a, 0x01, 0x54, 0x10, 0x0a, 0x1a, 0x02, 0x08, 0x01, 0x12,
0x09, 0x0a, 0x01, 0x4d, 0x10, 0x0b, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0a, 0x0a, 0x02, 0x41, 0x4f,
0x10, 0x0c, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x43, 0x45, 0x52, 0x4f, 0x5f, 0x41,
0x10, 0x0d, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x43, 0x45, 0x52, 0x4f, 0x5f, 0x42,
0x10, 0x0e, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x43, 0x45, 0x52, 0x4f, 0x5f, 0x43,
0x10, 0x0f, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x43, 0x45, 0x52, 0x4f, 0x5f, 0x44,
0x10, 0x10, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x43, 0x45, 0x52, 0x4f, 0x5f, 0x5a,
0x10, 0x11, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0d, 0x0a, 0x05, 0x55, 0x53, 0x4b, 0x5f, 0x30, 0x10,
0x12, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0d, 0x0a, 0x05, 0x55, 0x53, 0x4b, 0x5f, 0x36, 0x10, 0x13,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x55, 0x53, 0x4b, 0x5f, 0x31, 0x32, 0x10, 0x14,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x55, 0x53, 0x4b, 0x5f, 0x31, 0x36, 0x10, 0x15,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x55, 0x53, 0x4b, 0x5f, 0x31, 0x38, 0x10, 0x16,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x47, 0x52, 0x41, 0x43, 0x5f, 0x41, 0x4c, 0x4c,
0x10, 0x17, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x13, 0x0a, 0x0b, 0x47, 0x52, 0x41, 0x43, 0x5f, 0x54,
0x57, 0x45, 0x4c, 0x56, 0x45, 0x10, 0x18, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x14, 0x0a, 0x0c, 0x47,
0x52, 0x41, 0x43, 0x5f, 0x46, 0x49, 0x46, 0x54, 0x45, 0x45, 0x4e, 0x10, 0x19, 0x1a, 0x02, 0x08,
0x01, 0x12, 0x15, 0x0a, 0x0d, 0x47, 0x52, 0x41, 0x43, 0x5f, 0x45, 0x49, 0x47, 0x48, 0x54, 0x45,
0x45, 0x4e, 0x10, 0x1a, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x14, 0x0a, 0x0c, 0x47, 0x52, 0x41, 0x43,
0x5f, 0x54, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x1b, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x13,
0x0a, 0x0b, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x49, 0x4e, 0x44, 0x5f, 0x4c, 0x10, 0x1c, 0x1a,
0x02, 0x08, 0x01, 0x12, 0x15, 0x0a, 0x0d, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x49, 0x4e, 0x44,
0x5f, 0x54, 0x45, 0x4e, 0x10, 0x1d, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x43, 0x4c,
0x41, 0x53, 0x53, 0x5f, 0x49, 0x4e, 0x44, 0x5f, 0x54, 0x57, 0x45, 0x4c, 0x56, 0x45, 0x10, 0x1e,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x49, 0x4e,
0x44, 0x5f, 0x46, 0x4f, 0x55, 0x52, 0x54, 0x45, 0x45, 0x4e, 0x10, 0x1f, 0x1a, 0x02, 0x08, 0x01,
0x12, 0x19, 0x0a, 0x11, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x49, 0x4e, 0x44, 0x5f, 0x53, 0x49,
0x58, 0x54, 0x45, 0x45, 0x4e, 0x10, 0x20, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x43,
0x4c, 0x41, 0x53, 0x53, 0x5f, 0x49, 0x4e, 0x44, 0x5f, 0x45, 0x49, 0x47, 0x48, 0x54, 0x45, 0x45,
0x4e, 0x10, 0x21, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0d, 0x0a, 0x05, 0x41, 0x43, 0x42, 0x5f, 0x47,
0x10, 0x22, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x42, 0x5f, 0x50, 0x47,
0x10, 0x23, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0d, 0x0a, 0x05, 0x41, 0x43, 0x42, 0x5f, 0x4d, 0x10,
0x24, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x41, 0x43, 0x42, 0x5f, 0x4d, 0x41, 0x31,
0x35, 0x10, 0x25, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x41, 0x43, 0x42, 0x5f, 0x52,
0x31, 0x38, 0x10, 0x26, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x42, 0x5f,
0x52, 0x43, 0x10, 0x27, 0x1a, 0x02, 0x08, 0x01, 0x2a, 0xb6, 0x14, 0x0a, 0x27, 0x41, 0x67, 0x65,
0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
0x45, 0x6e, 0x75, 0x6d, 0x12, 0x31, 0x0a, 0x29, 0x41, 0x47, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4e,
0x47, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x44, 0x45, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54,
0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x4e, 0x55, 0x4c,
0x4c, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1e, 0x0a, 0x16, 0x45, 0x53, 0x52, 0x42, 0x5f,
0x41, 0x4c, 0x43, 0x4f, 0x48, 0x4f, 0x4c, 0x5f, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43,
0x45, 0x10, 0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1b, 0x0a, 0x13, 0x45, 0x53, 0x52, 0x42, 0x5f,
0x41, 0x4e, 0x49, 0x4d, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, 0x44, 0x10, 0x02,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x12, 0x0a, 0x0a, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x42, 0x4c, 0x4f,
0x4f, 0x44, 0x10, 0x03, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1b, 0x0a, 0x13, 0x45, 0x53, 0x52, 0x42,
0x5f, 0x42, 0x4c, 0x4f, 0x4f, 0x44, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x47, 0x4f, 0x52, 0x45, 0x10,
0x04, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1d, 0x0a, 0x15, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x43, 0x41,
0x52, 0x54, 0x4f, 0x4f, 0x4e, 0x5f, 0x56, 0x49, 0x4f, 0x4c, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x05,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x1b, 0x0a, 0x13, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x43, 0x4f, 0x4d,
0x49, 0x43, 0x5f, 0x4d, 0x49, 0x53, 0x43, 0x48, 0x49, 0x45, 0x46, 0x10, 0x06, 0x1a, 0x02, 0x08,
0x01, 0x12, 0x18, 0x0a, 0x10, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x43, 0x52, 0x55, 0x44, 0x45, 0x5f,
0x48, 0x55, 0x4d, 0x4f, 0x52, 0x10, 0x07, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1b, 0x0a, 0x13, 0x45,
0x53, 0x52, 0x42, 0x5f, 0x44, 0x52, 0x55, 0x47, 0x5f, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e,
0x43, 0x45, 0x10, 0x08, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1d, 0x0a, 0x15, 0x45, 0x53, 0x52, 0x42,
0x5f, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x56, 0x49, 0x4f, 0x4c, 0x45, 0x4e, 0x43,
0x45, 0x10, 0x09, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1d, 0x0a, 0x15, 0x45, 0x53, 0x52, 0x42, 0x5f,
0x49, 0x4e, 0x54, 0x45, 0x4e, 0x53, 0x45, 0x5f, 0x56, 0x49, 0x4f, 0x4c, 0x45, 0x4e, 0x43, 0x45,
0x10, 0x0a, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x15, 0x0a, 0x0d, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x4c,
0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x10, 0x0b, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x13, 0x0a,
0x0b, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x4c, 0x59, 0x52, 0x49, 0x43, 0x53, 0x10, 0x0c, 0x1a, 0x02,
0x08, 0x01, 0x12, 0x19, 0x0a, 0x11, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x4d, 0x41, 0x54, 0x55, 0x52,
0x45, 0x5f, 0x48, 0x55, 0x4d, 0x4f, 0x52, 0x10, 0x0d, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x13, 0x0a,
0x0b, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x4e, 0x55, 0x44, 0x49, 0x54, 0x59, 0x10, 0x0e, 0x1a, 0x02,
0x08, 0x01, 0x12, 0x1b, 0x0a, 0x13, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49,
0x41, 0x4c, 0x5f, 0x4e, 0x55, 0x44, 0x49, 0x54, 0x59, 0x10, 0x0f, 0x1a, 0x02, 0x08, 0x01, 0x12,
0x1a, 0x0a, 0x12, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x52, 0x45, 0x41, 0x4c, 0x5f, 0x47, 0x41, 0x4d,
0x42, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x10, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1b, 0x0a, 0x13, 0x45,
0x53, 0x52, 0x42, 0x5f, 0x53, 0x45, 0x58, 0x55, 0x41, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45,
0x4e, 0x54, 0x10, 0x11, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x45, 0x53, 0x52, 0x42,
0x5f, 0x53, 0x45, 0x58, 0x55, 0x41, 0x4c, 0x5f, 0x54, 0x48, 0x45, 0x4d, 0x45, 0x53, 0x10, 0x12,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x1c, 0x0a, 0x14, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x53, 0x45, 0x58,
0x55, 0x41, 0x4c, 0x5f, 0x56, 0x49, 0x4f, 0x4c, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x13, 0x1a, 0x02,
0x08, 0x01, 0x12, 0x1f, 0x0a, 0x17, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x53, 0x49, 0x4d, 0x55, 0x4c,
0x41, 0x54, 0x45, 0x44, 0x5f, 0x47, 0x41, 0x4d, 0x42, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x14, 0x1a,
0x02, 0x08, 0x01, 0x12, 0x1c, 0x0a, 0x14, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x53, 0x54, 0x52, 0x4f,
0x4e, 0x47, 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x10, 0x15, 0x1a, 0x02, 0x08,
0x01, 0x12, 0x1a, 0x0a, 0x12, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x53, 0x54, 0x52, 0x4f, 0x4e, 0x47,
0x5f, 0x4c, 0x59, 0x52, 0x49, 0x43, 0x53, 0x10, 0x16, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x22, 0x0a,
0x1a, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x53, 0x54, 0x52, 0x4f, 0x4e, 0x47, 0x5f, 0x53, 0x45, 0x58,
0x55, 0x41, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x17, 0x1a, 0x02, 0x08,
0x01, 0x12, 0x1e, 0x0a, 0x16, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x53, 0x55, 0x47, 0x47, 0x45, 0x53,
0x54, 0x49, 0x56, 0x45, 0x5f, 0x54, 0x48, 0x45, 0x4d, 0x45, 0x53, 0x10, 0x18, 0x1a, 0x02, 0x08,
0x01, 0x12, 0x1e, 0x0a, 0x16, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x54, 0x4f, 0x42, 0x41, 0x43, 0x43,
0x4f, 0x5f, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x19, 0x1a, 0x02, 0x08,
0x01, 0x12, 0x1b, 0x0a, 0x13, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x4f, 0x46,
0x5f, 0x41, 0x4c, 0x43, 0x4f, 0x48, 0x4f, 0x4c, 0x10, 0x1a, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x19,
0x0a, 0x11, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x4f, 0x46, 0x5f, 0x44, 0x52,
0x55, 0x47, 0x53, 0x10, 0x1b, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1b, 0x0a, 0x13, 0x45, 0x53, 0x52,
0x42, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x4f, 0x46, 0x5f, 0x54, 0x4f, 0x42, 0x41, 0x43, 0x43, 0x4f,
0x10, 0x1c, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x15, 0x0a, 0x0d, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x56,
0x49, 0x4f, 0x4c, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x1d, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1f, 0x0a,
0x17, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x56, 0x49, 0x4f, 0x4c, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45,
0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x53, 0x10, 0x1e, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1e,
0x0a, 0x16, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x41, 0x4e, 0x49, 0x4d, 0x41, 0x54, 0x45, 0x44, 0x5f,
0x56, 0x49, 0x4f, 0x4c, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x1f, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1a,
0x0a, 0x12, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x4d, 0x49, 0x4c, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x47,
0x55, 0x41, 0x47, 0x45, 0x10, 0x20, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x45, 0x53,
0x52, 0x42, 0x5f, 0x4d, 0x49, 0x4c, 0x44, 0x5f, 0x56, 0x49, 0x4f, 0x4c, 0x45, 0x4e, 0x43, 0x45,
0x10, 0x21, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x25, 0x0a, 0x1d, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x55,
0x53, 0x45, 0x5f, 0x4f, 0x46, 0x5f, 0x44, 0x52, 0x55, 0x47, 0x53, 0x5f, 0x41, 0x4e, 0x44, 0x5f,
0x41, 0x4c, 0x43, 0x4f, 0x48, 0x4f, 0x4c, 0x10, 0x22, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x27, 0x0a,
0x1f, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x44, 0x52, 0x55, 0x47, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x41,
0x4c, 0x43, 0x4f, 0x48, 0x4f, 0x4c, 0x5f, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45,
0x10, 0x23, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x23, 0x0a, 0x1b, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x4d,
0x49, 0x4c, 0x44, 0x5f, 0x53, 0x55, 0x47, 0x47, 0x45, 0x53, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x54,
0x48, 0x45, 0x4d, 0x45, 0x53, 0x10, 0x24, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x22, 0x0a, 0x1a, 0x45,
0x53, 0x52, 0x42, 0x5f, 0x4d, 0x49, 0x4c, 0x44, 0x5f, 0x43, 0x41, 0x52, 0x54, 0x4f, 0x4f, 0x4e,
0x5f, 0x56, 0x49, 0x4f, 0x4c, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x25, 0x1a, 0x02, 0x08, 0x01, 0x12,
0x17, 0x0a, 0x0f, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x4d, 0x49, 0x4c, 0x44, 0x5f, 0x42, 0x4c, 0x4f,
0x4f, 0x44, 0x10, 0x26, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x25, 0x0a, 0x1d, 0x45, 0x53, 0x52, 0x42,
0x5f, 0x52, 0x45, 0x41, 0x4c, 0x49, 0x53, 0x54, 0x49, 0x43, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, 0x44,
0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x47, 0x4f, 0x52, 0x45, 0x10, 0x27, 0x1a, 0x02, 0x08, 0x01, 0x12,
0x1f, 0x0a, 0x17, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x52, 0x45, 0x41, 0x4c, 0x49, 0x53, 0x54, 0x49,
0x43, 0x5f, 0x56, 0x49, 0x4f, 0x4c, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x28, 0x1a, 0x02, 0x08, 0x01,
0x12, 0x2a, 0x0a, 0x22, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x41, 0x4c, 0x43, 0x4f, 0x48, 0x4f, 0x4c,
0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x54, 0x4f, 0x42, 0x41, 0x43, 0x43, 0x4f, 0x5f, 0x52, 0x45, 0x46,
0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x29, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x21, 0x0a, 0x19,
0x45, 0x53, 0x52, 0x42, 0x5f, 0x4d, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x53, 0x45, 0x58, 0x55,
0x41, 0x4c, 0x5f, 0x54, 0x48, 0x45, 0x4d, 0x45, 0x53, 0x10, 0x2a, 0x1a, 0x02, 0x08, 0x01, 0x12,
0x23, 0x0a, 0x1b, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x4d, 0x49, 0x4c, 0x44, 0x5f, 0x41, 0x4e, 0x49,
0x4d, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x56, 0x49, 0x4f, 0x4c, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x2b,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x1f, 0x0a, 0x17, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x4d, 0x49, 0x4c,
0x44, 0x5f, 0x53, 0x45, 0x58, 0x55, 0x41, 0x4c, 0x5f, 0x54, 0x48, 0x45, 0x4d, 0x45, 0x53, 0x10,
0x2c, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x27, 0x0a, 0x1f, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x55, 0x53,
0x45, 0x5f, 0x4f, 0x46, 0x5f, 0x41, 0x4c, 0x43, 0x4f, 0x48, 0x4f, 0x4c, 0x5f, 0x41, 0x4e, 0x44,
0x5f, 0x54, 0x4f, 0x42, 0x41, 0x43, 0x43, 0x4f, 0x10, 0x2d, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x24,
0x0a, 0x1c, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x41, 0x4e, 0x49, 0x4d, 0x41, 0x54, 0x45, 0x44, 0x5f,
0x42, 0x4c, 0x4f, 0x4f, 0x44, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x47, 0x4f, 0x52, 0x45, 0x10, 0x2e,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x22, 0x0a, 0x1a, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x4d, 0x49, 0x4c,
0x44, 0x5f, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x56, 0x49, 0x4f, 0x4c, 0x45, 0x4e,
0x43, 0x45, 0x10, 0x2f, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x45, 0x53, 0x52, 0x42,
0x5f, 0x4d, 0x49, 0x4c, 0x44, 0x5f, 0x4c, 0x59, 0x52, 0x49, 0x43, 0x53, 0x10, 0x30, 0x1a, 0x02,
0x08, 0x01, 0x12, 0x1c, 0x0a, 0x14, 0x45, 0x53, 0x52, 0x42, 0x5f, 0x52, 0x45, 0x41, 0x4c, 0x49,
0x53, 0x54, 0x49, 0x43, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, 0x44, 0x10, 0x31, 0x1a, 0x02, 0x08, 0x01,
0x12, 0x15, 0x0a, 0x0d, 0x50, 0x45, 0x47, 0x49, 0x5f, 0x56, 0x49, 0x4f, 0x4c, 0x45, 0x4e, 0x43,
0x45, 0x10, 0x32, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x50, 0x45, 0x47, 0x49, 0x5f,
0x53, 0x45, 0x58, 0x10, 0x33, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x12, 0x0a, 0x0a, 0x50, 0x45, 0x47,
0x49, 0x5f, 0x44, 0x52, 0x55, 0x47, 0x53, 0x10, 0x34, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x11, 0x0a,
0x09, 0x50, 0x45, 0x47, 0x49, 0x5f, 0x46, 0x45, 0x41, 0x52, 0x10, 0x35, 0x1a, 0x02, 0x08, 0x01,
0x12, 0x1b, 0x0a, 0x13, 0x50, 0x45, 0x47, 0x49, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x52, 0x49, 0x4d,
0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x36, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x19, 0x0a,
0x11, 0x50, 0x45, 0x47, 0x49, 0x5f, 0x42, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41,
0x47, 0x45, 0x10, 0x37, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x15, 0x0a, 0x0d, 0x50, 0x45, 0x47, 0x49,
0x5f, 0x47, 0x41, 0x4d, 0x42, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x38, 0x1a, 0x02, 0x08, 0x01, 0x12,
0x1c, 0x0a, 0x14, 0x50, 0x45, 0x47, 0x49, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x47,
0x41, 0x4d, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x10, 0x39, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1e, 0x0a,
0x16, 0x50, 0x45, 0x47, 0x49, 0x5f, 0x49, 0x4e, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x55,
0x52, 0x43, 0x48, 0x41, 0x53, 0x45, 0x53, 0x10, 0x3a, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x11, 0x0a,
0x09, 0x43, 0x45, 0x52, 0x4f, 0x5f, 0x4c, 0x4f, 0x56, 0x45, 0x10, 0x3b, 0x1a, 0x02, 0x08, 0x01,
0x12, 0x1b, 0x0a, 0x13, 0x43, 0x45, 0x52, 0x4f, 0x5f, 0x53, 0x45, 0x58, 0x55, 0x41, 0x4c, 0x5f,
0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x3c, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x15, 0x0a,
0x0d, 0x43, 0x45, 0x52, 0x4f, 0x5f, 0x56, 0x49, 0x4f, 0x4c, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x3d,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x13, 0x0a, 0x0b, 0x43, 0x45, 0x52, 0x4f, 0x5f, 0x48, 0x4f, 0x52,
0x52, 0x4f, 0x52, 0x10, 0x3e, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1d, 0x0a, 0x15, 0x43, 0x45, 0x52,
0x4f, 0x5f, 0x44, 0x52, 0x49, 0x4e, 0x4b, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x4d, 0x4f, 0x4b, 0x49,
0x4e, 0x47, 0x10, 0x3f, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x15, 0x0a, 0x0d, 0x43, 0x45, 0x52, 0x4f,
0x5f, 0x47, 0x41, 0x4d, 0x42, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x40, 0x1a, 0x02, 0x08, 0x01, 0x12,
0x12, 0x0a, 0x0a, 0x43, 0x45, 0x52, 0x4f, 0x5f, 0x43, 0x52, 0x49, 0x4d, 0x45, 0x10, 0x41, 0x1a,
0x02, 0x08, 0x01, 0x12, 0x22, 0x0a, 0x1a, 0x43, 0x45, 0x52, 0x4f, 0x5f, 0x43, 0x4f, 0x4e, 0x54,
0x52, 0x4f, 0x4c, 0x4c, 0x45, 0x44, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45,
0x53, 0x10, 0x42, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x21, 0x0a, 0x19, 0x43, 0x45, 0x52, 0x4f, 0x5f,
0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x53, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x4f, 0x54,
0x48, 0x45, 0x52, 0x53, 0x10, 0x43, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x16, 0x0a, 0x0e, 0x47, 0x52,
0x41, 0x43, 0x5f, 0x53, 0x45, 0x58, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x44, 0x1a, 0x02,
0x08, 0x01, 0x12, 0x15, 0x0a, 0x0d, 0x47, 0x52, 0x41, 0x43, 0x5f, 0x56, 0x49, 0x4f, 0x4c, 0x45,
0x4e, 0x43, 0x45, 0x10, 0x45, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x24, 0x0a, 0x1c, 0x47, 0x52, 0x41,
0x43, 0x5f, 0x46, 0x45, 0x41, 0x52, 0x5f, 0x48, 0x4f, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x54, 0x48,
0x52, 0x45, 0x41, 0x54, 0x45, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x46, 0x1a, 0x02, 0x08, 0x01, 0x12,
0x15, 0x0a, 0x0d, 0x47, 0x52, 0x41, 0x43, 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45,
0x10, 0x47, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x21, 0x0a, 0x19, 0x47, 0x52, 0x41, 0x43, 0x5f, 0x41,
0x4c, 0x43, 0x4f, 0x48, 0x4f, 0x4c, 0x5f, 0x54, 0x4f, 0x42, 0x41, 0x43, 0x43, 0x4f, 0x5f, 0x44,
0x52, 0x55, 0x47, 0x10, 0x48, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1e, 0x0a, 0x16, 0x47, 0x52, 0x41,
0x43, 0x5f, 0x43, 0x52, 0x49, 0x4d, 0x45, 0x5f, 0x41, 0x4e, 0x54, 0x49, 0x5f, 0x53, 0x4f, 0x43,
0x49, 0x41, 0x4c, 0x10, 0x49, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x15, 0x0a, 0x0d, 0x47, 0x52, 0x41,
0x43, 0x5f, 0x47, 0x41, 0x4d, 0x42, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x4a, 0x1a, 0x02, 0x08, 0x01,
0x12, 0x1b, 0x0a, 0x13, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x49, 0x4e, 0x44, 0x5f, 0x56, 0x49,
0x4f, 0x4c, 0x45, 0x4e, 0x43, 0x49, 0x41, 0x10, 0x4b, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x23, 0x0a,
0x1b, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x49, 0x4e, 0x44, 0x5f, 0x56, 0x49, 0x4f, 0x4c, 0x45,
0x4e, 0x43, 0x49, 0x41, 0x5f, 0x45, 0x58, 0x54, 0x52, 0x45, 0x4d, 0x41, 0x10, 0x4c, 0x1a, 0x02,
0x08, 0x01, 0x12, 0x21, 0x0a, 0x19, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x49, 0x4e, 0x44, 0x5f,
0x43, 0x4f, 0x4e, 0x54, 0x45, 0x55, 0x44, 0x4f, 0x5f, 0x53, 0x45, 0x58, 0x55, 0x41, 0x4c, 0x10,
0x4d, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x49,
0x4e, 0x44, 0x5f, 0x4e, 0x55, 0x44, 0x45, 0x5a, 0x10, 0x4e, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x16,
0x0a, 0x0e, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x49, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x58, 0x4f,
0x10, 0x4f, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x20, 0x0a, 0x18, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f,
0x49, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x58, 0x4f, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x49, 0x43, 0x49,
0x54, 0x4f, 0x10, 0x50, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x43, 0x4c, 0x41, 0x53,
0x53, 0x5f, 0x49, 0x4e, 0x44, 0x5f, 0x44, 0x52, 0x4f, 0x47, 0x41, 0x53, 0x10, 0x51, 0x1a, 0x02,
0x08, 0x01, 0x12, 0x20, 0x0a, 0x18, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x49, 0x4e, 0x44, 0x5f,
0x44, 0x52, 0x4f, 0x47, 0x41, 0x53, 0x5f, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x41, 0x53, 0x10, 0x52,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x21, 0x0a, 0x19, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x49, 0x4e,
0x44, 0x5f, 0x44, 0x52, 0x4f, 0x47, 0x41, 0x53, 0x5f, 0x49, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x41,
0x53, 0x10, 0x53, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x25, 0x0a, 0x1d, 0x43, 0x4c, 0x41, 0x53, 0x53,
0x5f, 0x49, 0x4e, 0x44, 0x5f, 0x4c, 0x49, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x4d, 0x5f, 0x49,
0x4d, 0x50, 0x52, 0x4f, 0x50, 0x52, 0x49, 0x41, 0x10, 0x54, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x21,
0x0a, 0x19, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x49, 0x4e, 0x44, 0x5f, 0x41, 0x54, 0x4f, 0x53,
0x5f, 0x43, 0x52, 0x49, 0x4d, 0x49, 0x4e, 0x4f, 0x53, 0x4f, 0x53, 0x10, 0x55, 0x1a, 0x02, 0x08,
0x01, 0x2a, 0x3f, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x47, 0x65, 0x6e, 0x64, 0x65,
0x72, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0c, 0x0a, 0x04, 0x4d, 0x41, 0x4c, 0x45, 0x10, 0x00, 0x1a,
0x02, 0x08, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x46, 0x45, 0x4d, 0x41, 0x4c, 0x45, 0x10, 0x01, 0x1a,
0x02, 0x08, 0x01, 0x12, 0x0d, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x02, 0x1a, 0x02,
0x08, 0x01, 0x2a, 0x86, 0x01, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72,
0x53, 0x70, 0x65, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x16, 0x43,
0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x45, 0x53,
0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0d, 0x0a, 0x05, 0x48,
0x55, 0x4d, 0x41, 0x4e, 0x10, 0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0d, 0x0a, 0x05, 0x41, 0x4c,
0x49, 0x45, 0x4e, 0x10, 0x02, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x4e, 0x49,
0x4d, 0x41, 0x4c, 0x10, 0x03, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x41, 0x4e, 0x44,
0x52, 0x4f, 0x49, 0x44, 0x10, 0x04, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x55, 0x4e,
0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x05, 0x1a, 0x02, 0x08, 0x01, 0x2a, 0xa3, 0x01, 0x0a, 0x20,
0x44, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
0x44, 0x61, 0x74, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x75, 0x6d,
0x12, 0x12, 0x0a, 0x0a, 0x59, 0x59, 0x59, 0x59, 0x4d, 0x4d, 0x4d, 0x4d, 0x44, 0x44, 0x10, 0x00,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x59, 0x59, 0x59, 0x59, 0x4d, 0x4d, 0x4d, 0x4d,
0x10, 0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0c, 0x0a, 0x04, 0x59, 0x59, 0x59, 0x59, 0x10, 0x02,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x59, 0x59, 0x59, 0x59, 0x51, 0x31, 0x10, 0x03,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x59, 0x59, 0x59, 0x59, 0x51, 0x32, 0x10, 0x04,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x59, 0x59, 0x59, 0x59, 0x51, 0x33, 0x10, 0x05,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x59, 0x59, 0x59, 0x59, 0x51, 0x34, 0x10, 0x06,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x0b, 0x0a, 0x03, 0x54, 0x42, 0x44, 0x10, 0x07, 0x1a, 0x02, 0x08,
0x01, 0x2a, 0xed, 0x03, 0x0a, 0x13, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x43, 0x61, 0x74,
0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x1d, 0x0a, 0x15, 0x57, 0x45, 0x42,
0x53, 0x49, 0x54, 0x45, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x4e, 0x55,
0x4c, 0x4c, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x57, 0x45, 0x42, 0x53,
0x49, 0x54, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x49, 0x43, 0x49, 0x41, 0x4c, 0x10, 0x01, 0x1a, 0x02,
0x08, 0x01, 0x12, 0x15, 0x0a, 0x0d, 0x57, 0x45, 0x42, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x57, 0x49,
0x4b, 0x49, 0x41, 0x10, 0x02, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x19, 0x0a, 0x11, 0x57, 0x45, 0x42,
0x53, 0x49, 0x54, 0x45, 0x5f, 0x57, 0x49, 0x4b, 0x49, 0x50, 0x45, 0x44, 0x49, 0x41, 0x10, 0x03,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x57, 0x45, 0x42, 0x53, 0x49, 0x54, 0x45, 0x5f,
0x46, 0x41, 0x43, 0x45, 0x42, 0x4f, 0x4f, 0x4b, 0x10, 0x04, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x17,
0x0a, 0x0f, 0x57, 0x45, 0x42, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x54, 0x57, 0x49, 0x54, 0x54, 0x45,
0x52, 0x10, 0x05, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x16, 0x0a, 0x0e, 0x57, 0x45, 0x42, 0x53, 0x49,
0x54, 0x45, 0x5f, 0x54, 0x57, 0x49, 0x54, 0x43, 0x48, 0x10, 0x06, 0x1a, 0x02, 0x08, 0x01, 0x12,
0x19, 0x0a, 0x11, 0x57, 0x45, 0x42, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41,
0x47, 0x52, 0x41, 0x4d, 0x10, 0x08, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x57, 0x45,
0x42, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x59, 0x4f, 0x55, 0x54, 0x55, 0x42, 0x45, 0x10, 0x09, 0x1a,
0x02, 0x08, 0x01, 0x12, 0x16, 0x0a, 0x0e, 0x57, 0x45, 0x42, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x49,
0x50, 0x48, 0x4f, 0x4e, 0x45, 0x10, 0x0a, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x14, 0x0a, 0x0c, 0x57,
0x45, 0x42, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x41, 0x44, 0x10, 0x0b, 0x1a, 0x02, 0x08,
0x01, 0x12, 0x17, 0x0a, 0x0f, 0x57, 0x45, 0x42, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x41, 0x4e, 0x44,
0x52, 0x4f, 0x49, 0x44, 0x10, 0x0c, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x15, 0x0a, 0x0d, 0x57, 0x45,
0x42, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x0d, 0x1a, 0x02, 0x08,
0x01, 0x12, 0x16, 0x0a, 0x0e, 0x57, 0x45, 0x42, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x44,
0x44, 0x49, 0x54, 0x10, 0x0e, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x14, 0x0a, 0x0c, 0x57, 0x45, 0x42,
0x53, 0x49, 0x54, 0x45, 0x5f, 0x49, 0x54, 0x43, 0x48, 0x10, 0x0f, 0x1a, 0x02, 0x08, 0x01, 0x12,
0x19, 0x0a, 0x11, 0x57, 0x45, 0x42, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x45, 0x50, 0x49, 0x43, 0x47,
0x41, 0x4d, 0x45, 0x53, 0x10, 0x10, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x13, 0x0a, 0x0b, 0x57, 0x45,
0x42, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x47, 0x4f, 0x47, 0x10, 0x11, 0x1a, 0x02, 0x08, 0x01, 0x12,
0x17, 0x0a, 0x0f, 0x57, 0x45, 0x42, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f,
0x52, 0x44, 0x10, 0x12, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x57, 0x45, 0x42, 0x53,
0x49, 0x54, 0x45, 0x5f, 0x42, 0x4c, 0x55, 0x45, 0x53, 0x4b, 0x59, 0x10, 0x13, 0x1a, 0x02, 0x08,
0x01, 0x2a, 0xdb, 0x05, 0x0a, 0x18, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x47, 0x61,
0x6d, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x22,
0x0a, 0x1a, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x43,
0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x00, 0x1a, 0x02,
0x08, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x47, 0x41,
0x4d, 0x45, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x18,
0x0a, 0x10, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x47,
0x4f, 0x47, 0x10, 0x05, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1c, 0x0a, 0x14, 0x45, 0x58, 0x54, 0x45,
0x52, 0x4e, 0x41, 0x4c, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x59, 0x4f, 0x55, 0x54, 0x55, 0x42, 0x45,
0x10, 0x0a, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1e, 0x0a, 0x16, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e,
0x41, 0x4c, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x43, 0x52, 0x4f, 0x53, 0x4f, 0x46, 0x54,
0x10, 0x0b, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e,
0x41, 0x4c, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x10, 0x0d, 0x1a, 0x02,
0x08, 0x01, 0x12, 0x1b, 0x0a, 0x13, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x47, 0x41,
0x4d, 0x45, 0x5f, 0x54, 0x57, 0x49, 0x54, 0x43, 0x48, 0x10, 0x0e, 0x1a, 0x02, 0x08, 0x01, 0x12,
0x1c, 0x0a, 0x14, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x47, 0x41, 0x4d, 0x45, 0x5f,
0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x0f, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x20, 0x0a,
0x18, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x41, 0x4d,
0x41, 0x5a, 0x4f, 0x4e, 0x5f, 0x41, 0x53, 0x49, 0x4e, 0x10, 0x14, 0x1a, 0x02, 0x08, 0x01, 0x12,
0x20, 0x0a, 0x18, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x47, 0x41, 0x4d, 0x45, 0x5f,
0x41, 0x4d, 0x41, 0x5a, 0x4f, 0x4e, 0x5f, 0x4c, 0x55, 0x4e, 0x41, 0x10, 0x16, 0x1a, 0x02, 0x08,
0x01, 0x12, 0x1f, 0x0a, 0x17, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x47, 0x41, 0x4d,
0x45, 0x5f, 0x41, 0x4d, 0x41, 0x5a, 0x4f, 0x4e, 0x5f, 0x41, 0x44, 0x47, 0x10, 0x17, 0x1a, 0x02,
0x08, 0x01, 0x12, 0x24, 0x0a, 0x1c, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x47, 0x41,
0x4d, 0x45, 0x5f, 0x45, 0x50, 0x49, 0x43, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x53, 0x54, 0x4f,
0x52, 0x45, 0x10, 0x1a, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1b, 0x0a, 0x13, 0x45, 0x58, 0x54, 0x45,
0x52, 0x4e, 0x41, 0x4c, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x4f, 0x43, 0x55, 0x4c, 0x55, 0x53, 0x10,
0x1c, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1b, 0x0a, 0x13, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41,
0x4c, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x55, 0x54, 0x4f, 0x4d, 0x49, 0x4b, 0x10, 0x1d, 0x1a, 0x02,
0x08, 0x01, 0x12, 0x1c, 0x0a, 0x14, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x47, 0x41,
0x4d, 0x45, 0x5f, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x49, 0x4f, 0x10, 0x1e, 0x1a, 0x02, 0x08, 0x01,
0x12, 0x25, 0x0a, 0x1d, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x47, 0x41, 0x4d, 0x45,
0x5f, 0x58, 0x42, 0x4f, 0x58, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x45, 0x54, 0x50, 0x4c, 0x41, 0x43,
0x45, 0x10, 0x1f, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1e, 0x0a, 0x16, 0x45, 0x58, 0x54, 0x45, 0x52,
0x4e, 0x41, 0x4c, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x4b, 0x41, 0x52, 0x54, 0x52, 0x49, 0x44, 0x47,
0x45, 0x10, 0x20, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x29, 0x0a, 0x21, 0x45, 0x58, 0x54, 0x45, 0x52,
0x4e, 0x41, 0x4c, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x53, 0x54, 0x41, 0x54,
0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x55, 0x53, 0x10, 0x24, 0x1a, 0x02,
0x08, 0x01, 0x12, 0x28, 0x0a, 0x20, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x47, 0x41,
0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x43, 0x55, 0x53, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x54, 0x41,
0x49, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x25, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x32, 0x0a, 0x2a,
0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x58, 0x42, 0x4f,
0x58, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x5f, 0x55, 0x4c, 0x54, 0x49,
0x4d, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x10, 0x36, 0x1a, 0x02, 0x08, 0x01,
0x12, 0x1d, 0x0a, 0x15, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x47, 0x41, 0x4d, 0x45,
0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4a, 0x4f, 0x4c, 0x54, 0x10, 0x37, 0x1a, 0x02, 0x08, 0x01, 0x2a,
0x75, 0x0a, 0x15, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x4d,
0x65, 0x64, 0x69, 0x61, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x1f, 0x0a, 0x17, 0x45, 0x58, 0x54, 0x45,
0x52, 0x4e, 0x41, 0x4c, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f, 0x4e,
0x55, 0x4c, 0x4c, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1c, 0x0a, 0x14, 0x45, 0x58, 0x54,
0x45, 0x52, 0x4e, 0x41, 0x4c, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x44, 0x49, 0x47, 0x49, 0x54, 0x41,
0x4c, 0x10, 0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1d, 0x0a, 0x15, 0x45, 0x58, 0x54, 0x45, 0x52,
0x4e, 0x41, 0x4c, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x48, 0x59, 0x53, 0x49, 0x43, 0x41, 0x4c,
0x10, 0x02, 0x1a, 0x02, 0x08, 0x01, 0x2a, 0x9a, 0x02, 0x0a, 0x10, 0x47, 0x61, 0x6d, 0x65, 0x43,
0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x11, 0x0a, 0x09, 0x4d,
0x41, 0x49, 0x4e, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x11,
0x0a, 0x09, 0x44, 0x4c, 0x43, 0x5f, 0x41, 0x44, 0x44, 0x4f, 0x4e, 0x10, 0x01, 0x1a, 0x02, 0x08,
0x01, 0x12, 0x11, 0x0a, 0x09, 0x45, 0x58, 0x50, 0x41, 0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x10, 0x03,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x1c, 0x0a, 0x14, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x4c, 0x4f,
0x4e, 0x45, 0x5f, 0x45, 0x58, 0x50, 0x41, 0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x1a, 0x02,
0x08, 0x01, 0x12, 0x0b, 0x0a, 0x03, 0x4d, 0x4f, 0x44, 0x10, 0x05, 0x1a, 0x02, 0x08, 0x01, 0x12,
0x0f, 0x0a, 0x07, 0x45, 0x50, 0x49, 0x53, 0x4f, 0x44, 0x45, 0x10, 0x06, 0x1a, 0x02, 0x08, 0x01,
0x12, 0x0e, 0x0a, 0x06, 0x53, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x10, 0x07, 0x1a, 0x02, 0x08, 0x01,
0x12, 0x0e, 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x41, 0x4b, 0x45, 0x10, 0x08, 0x1a, 0x02, 0x08, 0x01,
0x12, 0x10, 0x0a, 0x08, 0x52, 0x45, 0x4d, 0x41, 0x53, 0x54, 0x45, 0x52, 0x10, 0x09, 0x1a, 0x02,
0x08, 0x01, 0x12, 0x15, 0x0a, 0x0d, 0x45, 0x58, 0x50, 0x41, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x47,
0x41, 0x4d, 0x45, 0x10, 0x0a, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0c, 0x0a, 0x04, 0x50, 0x4f, 0x52,
0x54, 0x10, 0x0b, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0c, 0x0a, 0x04, 0x46, 0x4f, 0x52, 0x4b, 0x10,
0x0c, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0c, 0x0a, 0x04, 0x50, 0x41, 0x43, 0x4b, 0x10, 0x0d, 0x1a,
0x02, 0x08, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x0e, 0x1a,
0x02, 0x08, 0x01, 0x2a, 0x9c, 0x01, 0x0a, 0x0e, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74,
0x75, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x08, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53,
0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0d, 0x0a, 0x05, 0x41, 0x4c, 0x50, 0x48,
0x41, 0x10, 0x02, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0c, 0x0a, 0x04, 0x42, 0x45, 0x54, 0x41, 0x10,
0x03, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x14, 0x0a, 0x0c, 0x45, 0x41, 0x52, 0x4c, 0x59, 0x5f, 0x41,
0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x04, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x4f,
0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x05, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x11, 0x0a, 0x09,
0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x1a, 0x02, 0x08, 0x01, 0x12,
0x0f, 0x0a, 0x07, 0x52, 0x55, 0x4d, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x07, 0x1a, 0x02, 0x08, 0x01,
0x12, 0x10, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x49, 0x53, 0x54, 0x45, 0x44, 0x10, 0x08, 0x1a, 0x02,
0x08, 0x01, 0x2a, 0x3e, 0x0a, 0x1e, 0x47, 0x61, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10,
0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e,
0x10, 0x01, 0x2a, 0x60, 0x0a, 0x2a, 0x47, 0x61, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x63,
0x6c, 0x75, 0x64, 0x65, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x45, 0x6e, 0x75, 0x6d,
0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x44,
0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x44, 0x10, 0x01,
0x12, 0x12, 0x0a, 0x0e, 0x50, 0x52, 0x45, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x4f, 0x4e,
0x4c, 0x59, 0x10, 0x02, 0x2a, 0xaf, 0x01, 0x0a, 0x14, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
0x6d, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x1e, 0x0a,
0x16, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f,
0x52, 0x59, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0f, 0x0a,
0x07, 0x43, 0x4f, 0x4e, 0x53, 0x4f, 0x4c, 0x45, 0x10, 0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0e,
0x0a, 0x06, 0x41, 0x52, 0x43, 0x41, 0x44, 0x45, 0x10, 0x02, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x10,
0x0a, 0x08, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x10, 0x03, 0x1a, 0x02, 0x08, 0x01,
0x12, 0x18, 0x0a, 0x10, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x59,
0x53, 0x54, 0x45, 0x4d, 0x10, 0x04, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x50, 0x4f,
0x52, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x4f, 0x4c, 0x45, 0x10, 0x05,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x55, 0x54, 0x45, 0x52,
0x10, 0x06, 0x1a, 0x02, 0x08, 0x01, 0x2a, 0xdb, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f,
0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x12, 0x52,
0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x55, 0x4c,
0x4c, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x45, 0x55, 0x52, 0x4f, 0x50,
0x45, 0x10, 0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x15, 0x0a, 0x0d, 0x4e, 0x4f, 0x52, 0x54, 0x48,
0x5f, 0x41, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x41, 0x10, 0x02, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x11,
0x0a, 0x09, 0x41, 0x55, 0x53, 0x54, 0x52, 0x41, 0x4c, 0x49, 0x41, 0x10, 0x03, 0x1a, 0x02, 0x08,
0x01, 0x12, 0x13, 0x0a, 0x0b, 0x4e, 0x45, 0x57, 0x5f, 0x5a, 0x45, 0x41, 0x4c, 0x41, 0x4e, 0x44,
0x10, 0x04, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0d, 0x0a, 0x05, 0x4a, 0x41, 0x50, 0x41, 0x4e, 0x10,
0x05, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0d, 0x0a, 0x05, 0x43, 0x48, 0x49, 0x4e, 0x41, 0x10, 0x06,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x0c, 0x0a, 0x04, 0x41, 0x53, 0x49, 0x41, 0x10, 0x07, 0x1a, 0x02,
0x08, 0x01, 0x12, 0x11, 0x0a, 0x09, 0x57, 0x4f, 0x52, 0x4c, 0x44, 0x57, 0x49, 0x44, 0x45, 0x10,
0x08, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0d, 0x0a, 0x05, 0x4b, 0x4f, 0x52, 0x45, 0x41, 0x10, 0x09,
0x1a, 0x02, 0x08, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x42, 0x52, 0x41, 0x5a, 0x49, 0x4c, 0x10, 0x0a,
0x1a, 0x02, 0x08, 0x01, 0x2a, 0x65, 0x0a, 0x24, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69,
0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69,
0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x2f, 0x0a, 0x27,
0x50, 0x4f, 0x50, 0x55, 0x4c, 0x41, 0x52, 0x49, 0x54, 0x59, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45,
0x5f, 0x50, 0x4f, 0x50, 0x55, 0x4c, 0x41, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x4f, 0x55, 0x52,
0x43, 0x45, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0c, 0x0a,
0x04, 0x49, 0x47, 0x44, 0x42, 0x10, 0x79, 0x1a, 0x02, 0x08, 0x01, 0x2a, 0x4b, 0x0a, 0x15, 0x54,
0x65, 0x73, 0x74, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x54, 0x65, 0x73, 0x74,
0x45, 0x6e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x18, 0x54, 0x45, 0x53, 0x54, 0x44, 0x55, 0x4d, 0x4d,
0x59, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x4e, 0x55, 0x4c, 0x4c,
0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x4e, 0x55, 0x4d, 0x31, 0x10, 0x01, 0x12, 0x09, 0x0a,
0x05, 0x45, 0x4e, 0x55, 0x4d, 0x32, 0x10, 0x02, 0x42, 0x04, 0x48, 0x02, 0x50, 0x01, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
})
var (
file_proto_igdbapi_proto_rawDescOnce sync.Once
file_proto_igdbapi_proto_rawDescData []byte
)
func file_proto_igdbapi_proto_rawDescGZIP() []byte {
file_proto_igdbapi_proto_rawDescOnce.Do(func() {
file_proto_igdbapi_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_proto_igdbapi_proto_rawDesc), len(file_proto_igdbapi_proto_rawDesc)))
})
return file_proto_igdbapi_proto_rawDescData
}
var file_proto_igdbapi_proto_enumTypes = make([]protoimpl.EnumInfo, 17)
var file_proto_igdbapi_proto_msgTypes = make([]protoimpl.MessageInfo, 145)
var file_proto_igdbapi_proto_goTypes = []any{
(AgeRatingCategoryEnum)(0), // 0: proto.AgeRatingCategoryEnum
(AgeRatingRatingEnum)(0), // 1: proto.AgeRatingRatingEnum
(AgeRatingContentDescriptionCategoryEnum)(0), // 2: proto.AgeRatingContentDescriptionCategoryEnum
(GenderGenderEnum)(0), // 3: proto.GenderGenderEnum
(CharacterSpeciesEnum)(0), // 4: proto.CharacterSpeciesEnum
(DateFormatChangeDateCategoryEnum)(0), // 5: proto.DateFormatChangeDateCategoryEnum
(WebsiteCategoryEnum)(0), // 6: proto.WebsiteCategoryEnum
(ExternalGameCategoryEnum)(0), // 7: proto.ExternalGameCategoryEnum
(ExternalGameMediaEnum)(0), // 8: proto.ExternalGameMediaEnum
(GameCategoryEnum)(0), // 9: proto.GameCategoryEnum
(GameStatusEnum)(0), // 10: proto.GameStatusEnum
(GameVersionFeatureCategoryEnum)(0), // 11: proto.GameVersionFeatureCategoryEnum
(GameVersionFeatureValueIncludedFeatureEnum)(0), // 12: proto.GameVersionFeatureValueIncludedFeatureEnum
(PlatformCategoryEnum)(0), // 13: proto.PlatformCategoryEnum
(RegionRegionEnum)(0), // 14: proto.RegionRegionEnum
(PopularitySourcePopularitySourceEnum)(0), // 15: proto.PopularitySourcePopularitySourceEnum
(TestDummyEnumTestEnum)(0), // 16: proto.TestDummyEnumTestEnum
(*Count)(nil), // 17: proto.Count
(*MultiQueryResult)(nil), // 18: proto.MultiQueryResult
(*MultiQueryResultArray)(nil), // 19: proto.MultiQueryResultArray
(*AgeRatingResult)(nil), // 20: proto.AgeRatingResult
(*AgeRating)(nil), // 21: proto.AgeRating
(*AgeRatingCategoryResult)(nil), // 22: proto.AgeRatingCategoryResult
(*AgeRatingCategory)(nil), // 23: proto.AgeRatingCategory
(*AgeRatingContentDescriptionResult)(nil), // 24: proto.AgeRatingContentDescriptionResult
(*AgeRatingContentDescription)(nil), // 25: proto.AgeRatingContentDescription
(*AgeRatingContentDescriptionV2Result)(nil), // 26: proto.AgeRatingContentDescriptionV2Result
(*AgeRatingContentDescriptionV2)(nil), // 27: proto.AgeRatingContentDescriptionV2
(*AgeRatingOrganizationResult)(nil), // 28: proto.AgeRatingOrganizationResult
(*AgeRatingOrganization)(nil), // 29: proto.AgeRatingOrganization
(*AlternativeNameResult)(nil), // 30: proto.AlternativeNameResult
(*AlternativeName)(nil), // 31: proto.AlternativeName
(*ArtworkResult)(nil), // 32: proto.ArtworkResult
(*Artwork)(nil), // 33: proto.Artwork
(*CharacterResult)(nil), // 34: proto.CharacterResult
(*Character)(nil), // 35: proto.Character
(*CharacterGenderResult)(nil), // 36: proto.CharacterGenderResult
(*CharacterGender)(nil), // 37: proto.CharacterGender
(*CharacterMugShotResult)(nil), // 38: proto.CharacterMugShotResult
(*CharacterMugShot)(nil), // 39: proto.CharacterMugShot
(*CharacterSpecieResult)(nil), // 40: proto.CharacterSpecieResult
(*CharacterSpecie)(nil), // 41: proto.CharacterSpecie
(*CollectionResult)(nil), // 42: proto.CollectionResult
(*Collection)(nil), // 43: proto.Collection
(*CollectionMembershipResult)(nil), // 44: proto.CollectionMembershipResult
(*CollectionMembership)(nil), // 45: proto.CollectionMembership
(*CollectionMembershipTypeResult)(nil), // 46: proto.CollectionMembershipTypeResult
(*CollectionMembershipType)(nil), // 47: proto.CollectionMembershipType
(*CollectionRelationResult)(nil), // 48: proto.CollectionRelationResult
(*CollectionRelation)(nil), // 49: proto.CollectionRelation
(*CollectionRelationTypeResult)(nil), // 50: proto.CollectionRelationTypeResult
(*CollectionRelationType)(nil), // 51: proto.CollectionRelationType
(*CollectionTypeResult)(nil), // 52: proto.CollectionTypeResult
(*CollectionType)(nil), // 53: proto.CollectionType
(*CompanyResult)(nil), // 54: proto.CompanyResult
(*Company)(nil), // 55: proto.Company
(*CompanyLogoResult)(nil), // 56: proto.CompanyLogoResult
(*CompanyLogo)(nil), // 57: proto.CompanyLogo
(*CompanyStatusResult)(nil), // 58: proto.CompanyStatusResult
(*CompanyStatus)(nil), // 59: proto.CompanyStatus
(*CompanyWebsiteResult)(nil), // 60: proto.CompanyWebsiteResult
(*CompanyWebsite)(nil), // 61: proto.CompanyWebsite
(*CoverResult)(nil), // 62: proto.CoverResult
(*Cover)(nil), // 63: proto.Cover
(*DateFormatResult)(nil), // 64: proto.DateFormatResult
(*DateFormat)(nil), // 65: proto.DateFormat
(*EventResult)(nil), // 66: proto.EventResult
(*Event)(nil), // 67: proto.Event
(*EventLogoResult)(nil), // 68: proto.EventLogoResult
(*EventLogo)(nil), // 69: proto.EventLogo
(*EventNetworkResult)(nil), // 70: proto.EventNetworkResult
(*EventNetwork)(nil), // 71: proto.EventNetwork
(*ExternalGameResult)(nil), // 72: proto.ExternalGameResult
(*ExternalGame)(nil), // 73: proto.ExternalGame
(*ExternalGameSourceResult)(nil), // 74: proto.ExternalGameSourceResult
(*ExternalGameSource)(nil), // 75: proto.ExternalGameSource
(*FranchiseResult)(nil), // 76: proto.FranchiseResult
(*Franchise)(nil), // 77: proto.Franchise
(*GameResult)(nil), // 78: proto.GameResult
(*Game)(nil), // 79: proto.Game
(*GameEngineResult)(nil), // 80: proto.GameEngineResult
(*GameEngine)(nil), // 81: proto.GameEngine
(*GameEngineLogoResult)(nil), // 82: proto.GameEngineLogoResult
(*GameEngineLogo)(nil), // 83: proto.GameEngineLogo
(*GameLocalizationResult)(nil), // 84: proto.GameLocalizationResult
(*GameLocalization)(nil), // 85: proto.GameLocalization
(*GameModeResult)(nil), // 86: proto.GameModeResult
(*GameMode)(nil), // 87: proto.GameMode
(*GameReleaseFormatResult)(nil), // 88: proto.GameReleaseFormatResult
(*GameReleaseFormat)(nil), // 89: proto.GameReleaseFormat
(*GameStatusResult)(nil), // 90: proto.GameStatusResult
(*GameStatus)(nil), // 91: proto.GameStatus
(*GameTimeToBeatResult)(nil), // 92: proto.GameTimeToBeatResult
(*GameTimeToBeat)(nil), // 93: proto.GameTimeToBeat
(*GameTypeResult)(nil), // 94: proto.GameTypeResult
(*GameType)(nil), // 95: proto.GameType
(*GameVersionResult)(nil), // 96: proto.GameVersionResult
(*GameVersion)(nil), // 97: proto.GameVersion
(*GameVersionFeatureResult)(nil), // 98: proto.GameVersionFeatureResult
(*GameVersionFeature)(nil), // 99: proto.GameVersionFeature
(*GameVersionFeatureValueResult)(nil), // 100: proto.GameVersionFeatureValueResult
(*GameVersionFeatureValue)(nil), // 101: proto.GameVersionFeatureValue
(*GameVideoResult)(nil), // 102: proto.GameVideoResult
(*GameVideo)(nil), // 103: proto.GameVideo
(*GenreResult)(nil), // 104: proto.GenreResult
(*Genre)(nil), // 105: proto.Genre
(*InvolvedCompanyResult)(nil), // 106: proto.InvolvedCompanyResult
(*InvolvedCompany)(nil), // 107: proto.InvolvedCompany
(*KeywordResult)(nil), // 108: proto.KeywordResult
(*Keyword)(nil), // 109: proto.Keyword
(*LanguageResult)(nil), // 110: proto.LanguageResult
(*Language)(nil), // 111: proto.Language
(*LanguageSupportResult)(nil), // 112: proto.LanguageSupportResult
(*LanguageSupport)(nil), // 113: proto.LanguageSupport
(*LanguageSupportTypeResult)(nil), // 114: proto.LanguageSupportTypeResult
(*LanguageSupportType)(nil), // 115: proto.LanguageSupportType
(*MultiplayerModeResult)(nil), // 116: proto.MultiplayerModeResult
(*MultiplayerMode)(nil), // 117: proto.MultiplayerMode
(*NetworkTypeResult)(nil), // 118: proto.NetworkTypeResult
(*NetworkType)(nil), // 119: proto.NetworkType
(*PlatformResult)(nil), // 120: proto.PlatformResult
(*Platform)(nil), // 121: proto.Platform
(*PlatformFamilyResult)(nil), // 122: proto.PlatformFamilyResult
(*PlatformFamily)(nil), // 123: proto.PlatformFamily
(*PlatformLogoResult)(nil), // 124: proto.PlatformLogoResult
(*PlatformLogo)(nil), // 125: proto.PlatformLogo
(*PlatformTypeResult)(nil), // 126: proto.PlatformTypeResult
(*PlatformType)(nil), // 127: proto.PlatformType
(*PlatformVersionResult)(nil), // 128: proto.PlatformVersionResult
(*PlatformVersion)(nil), // 129: proto.PlatformVersion
(*PlatformVersionCompanyResult)(nil), // 130: proto.PlatformVersionCompanyResult
(*PlatformVersionCompany)(nil), // 131: proto.PlatformVersionCompany
(*PlatformVersionReleaseDateResult)(nil), // 132: proto.PlatformVersionReleaseDateResult
(*PlatformVersionReleaseDate)(nil), // 133: proto.PlatformVersionReleaseDate
(*PlatformWebsiteResult)(nil), // 134: proto.PlatformWebsiteResult
(*PlatformWebsite)(nil), // 135: proto.PlatformWebsite
(*PlayerPerspectiveResult)(nil), // 136: proto.PlayerPerspectiveResult
(*PlayerPerspective)(nil), // 137: proto.PlayerPerspective
(*PopularityPrimitiveResult)(nil), // 138: proto.PopularityPrimitiveResult
(*PopularityPrimitive)(nil), // 139: proto.PopularityPrimitive
(*PopularityTypeResult)(nil), // 140: proto.PopularityTypeResult
(*PopularityType)(nil), // 141: proto.PopularityType
(*RegionResult)(nil), // 142: proto.RegionResult
(*Region)(nil), // 143: proto.Region
(*ReleaseDateResult)(nil), // 144: proto.ReleaseDateResult
(*ReleaseDate)(nil), // 145: proto.ReleaseDate
(*ReleaseDateRegionResult)(nil), // 146: proto.ReleaseDateRegionResult
(*ReleaseDateRegion)(nil), // 147: proto.ReleaseDateRegion
(*ReleaseDateStatusResult)(nil), // 148: proto.ReleaseDateStatusResult
(*ReleaseDateStatus)(nil), // 149: proto.ReleaseDateStatus
(*ScreenshotResult)(nil), // 150: proto.ScreenshotResult
(*Screenshot)(nil), // 151: proto.Screenshot
(*SearchResult)(nil), // 152: proto.SearchResult
(*Search)(nil), // 153: proto.Search
(*TestDummyResult)(nil), // 154: proto.TestDummyResult
(*TestDummy)(nil), // 155: proto.TestDummy
(*ThemeResult)(nil), // 156: proto.ThemeResult
(*Theme)(nil), // 157: proto.Theme
(*WebsiteResult)(nil), // 158: proto.WebsiteResult
(*Website)(nil), // 159: proto.Website
(*WebsiteTypeResult)(nil), // 160: proto.WebsiteTypeResult
(*WebsiteType)(nil), // 161: proto.WebsiteType
(*timestamppb.Timestamp)(nil), // 162: google.protobuf.Timestamp
}
var file_proto_igdbapi_proto_depIdxs = []int32{
18, // 0: proto.MultiQueryResultArray.result:type_name -> proto.MultiQueryResult
21, // 1: proto.AgeRatingResult.ageratings:type_name -> proto.AgeRating
0, // 2: proto.AgeRating.category:type_name -> proto.AgeRatingCategoryEnum
25, // 3: proto.AgeRating.content_descriptions:type_name -> proto.AgeRatingContentDescription
1, // 4: proto.AgeRating.rating:type_name -> proto.AgeRatingRatingEnum
29, // 5: proto.AgeRating.organization:type_name -> proto.AgeRatingOrganization
23, // 6: proto.AgeRating.rating_category:type_name -> proto.AgeRatingCategory
27, // 7: proto.AgeRating.rating_content_descriptions:type_name -> proto.AgeRatingContentDescriptionV2
23, // 8: proto.AgeRatingCategoryResult.ageratingcategories:type_name -> proto.AgeRatingCategory
29, // 9: proto.AgeRatingCategory.organization:type_name -> proto.AgeRatingOrganization
162, // 10: proto.AgeRatingCategory.created_at:type_name -> google.protobuf.Timestamp
162, // 11: proto.AgeRatingCategory.updated_at:type_name -> google.protobuf.Timestamp
25, // 12: proto.AgeRatingContentDescriptionResult.ageratingcontentdescriptions:type_name -> proto.AgeRatingContentDescription
2, // 13: proto.AgeRatingContentDescription.category:type_name -> proto.AgeRatingContentDescriptionCategoryEnum
27, // 14: proto.AgeRatingContentDescriptionV2Result.ageratingcontentdescriptionsv2:type_name -> proto.AgeRatingContentDescriptionV2
29, // 15: proto.AgeRatingContentDescriptionV2.organization:type_name -> proto.AgeRatingOrganization
162, // 16: proto.AgeRatingContentDescriptionV2.created_at:type_name -> google.protobuf.Timestamp
162, // 17: proto.AgeRatingContentDescriptionV2.updated_at:type_name -> google.protobuf.Timestamp
29, // 18: proto.AgeRatingOrganizationResult.ageratingorganizations:type_name -> proto.AgeRatingOrganization
162, // 19: proto.AgeRatingOrganization.created_at:type_name -> google.protobuf.Timestamp
162, // 20: proto.AgeRatingOrganization.updated_at:type_name -> google.protobuf.Timestamp
31, // 21: proto.AlternativeNameResult.alternativenames:type_name -> proto.AlternativeName
79, // 22: proto.AlternativeName.game:type_name -> proto.Game
33, // 23: proto.ArtworkResult.artworks:type_name -> proto.Artwork
79, // 24: proto.Artwork.game:type_name -> proto.Game
35, // 25: proto.CharacterResult.characters:type_name -> proto.Character
162, // 26: proto.Character.created_at:type_name -> google.protobuf.Timestamp
79, // 27: proto.Character.games:type_name -> proto.Game
3, // 28: proto.Character.gender:type_name -> proto.GenderGenderEnum
39, // 29: proto.Character.mug_shot:type_name -> proto.CharacterMugShot
4, // 30: proto.Character.species:type_name -> proto.CharacterSpeciesEnum
162, // 31: proto.Character.updated_at:type_name -> google.protobuf.Timestamp
37, // 32: proto.Character.character_gender:type_name -> proto.CharacterGender
41, // 33: proto.Character.character_species:type_name -> proto.CharacterSpecie
37, // 34: proto.CharacterGenderResult.charactergenders:type_name -> proto.CharacterGender
162, // 35: proto.CharacterGender.created_at:type_name -> google.protobuf.Timestamp
162, // 36: proto.CharacterGender.updated_at:type_name -> google.protobuf.Timestamp
39, // 37: proto.CharacterMugShotResult.charactermugshots:type_name -> proto.CharacterMugShot
41, // 38: proto.CharacterSpecieResult.characterspecies:type_name -> proto.CharacterSpecie
162, // 39: proto.CharacterSpecie.created_at:type_name -> google.protobuf.Timestamp
162, // 40: proto.CharacterSpecie.updated_at:type_name -> google.protobuf.Timestamp
43, // 41: proto.CollectionResult.collections:type_name -> proto.Collection
162, // 42: proto.Collection.created_at:type_name -> google.protobuf.Timestamp
79, // 43: proto.Collection.games:type_name -> proto.Game
162, // 44: proto.Collection.updated_at:type_name -> google.protobuf.Timestamp
53, // 45: proto.Collection.type:type_name -> proto.CollectionType
49, // 46: proto.Collection.as_parent_relations:type_name -> proto.CollectionRelation
49, // 47: proto.Collection.as_child_relations:type_name -> proto.CollectionRelation
45, // 48: proto.CollectionMembershipResult.collectionmemberships:type_name -> proto.CollectionMembership
79, // 49: proto.CollectionMembership.game:type_name -> proto.Game
43, // 50: proto.CollectionMembership.collection:type_name -> proto.Collection
47, // 51: proto.CollectionMembership.type:type_name -> proto.CollectionMembershipType
162, // 52: proto.CollectionMembership.updated_at:type_name -> google.protobuf.Timestamp
162, // 53: proto.CollectionMembership.created_at:type_name -> google.protobuf.Timestamp
47, // 54: proto.CollectionMembershipTypeResult.collectionmembershiptypes:type_name -> proto.CollectionMembershipType
53, // 55: proto.CollectionMembershipType.allowed_collection_type:type_name -> proto.CollectionType
162, // 56: proto.CollectionMembershipType.updated_at:type_name -> google.protobuf.Timestamp
162, // 57: proto.CollectionMembershipType.created_at:type_name -> google.protobuf.Timestamp
49, // 58: proto.CollectionRelationResult.collectionrelations:type_name -> proto.CollectionRelation
43, // 59: proto.CollectionRelation.child_collection:type_name -> proto.Collection
43, // 60: proto.CollectionRelation.parent_collection:type_name -> proto.Collection
51, // 61: proto.CollectionRelation.type:type_name -> proto.CollectionRelationType
162, // 62: proto.CollectionRelation.updated_at:type_name -> google.protobuf.Timestamp
162, // 63: proto.CollectionRelation.created_at:type_name -> google.protobuf.Timestamp
51, // 64: proto.CollectionRelationTypeResult.collectionrelationtypes:type_name -> proto.CollectionRelationType
53, // 65: proto.CollectionRelationType.allowed_child_type:type_name -> proto.CollectionType
53, // 66: proto.CollectionRelationType.allowed_parent_type:type_name -> proto.CollectionType
162, // 67: proto.CollectionRelationType.updated_at:type_name -> google.protobuf.Timestamp
162, // 68: proto.CollectionRelationType.created_at:type_name -> google.protobuf.Timestamp
53, // 69: proto.CollectionTypeResult.collectiontypes:type_name -> proto.CollectionType
162, // 70: proto.CollectionType.updated_at:type_name -> google.protobuf.Timestamp
162, // 71: proto.CollectionType.created_at:type_name -> google.protobuf.Timestamp
55, // 72: proto.CompanyResult.companies:type_name -> proto.Company
162, // 73: proto.Company.change_date:type_name -> google.protobuf.Timestamp
5, // 74: proto.Company.change_date_category:type_name -> proto.DateFormatChangeDateCategoryEnum
55, // 75: proto.Company.changed_company_id:type_name -> proto.Company
162, // 76: proto.Company.created_at:type_name -> google.protobuf.Timestamp
79, // 77: proto.Company.developed:type_name -> proto.Game
57, // 78: proto.Company.logo:type_name -> proto.CompanyLogo
55, // 79: proto.Company.parent:type_name -> proto.Company
79, // 80: proto.Company.published:type_name -> proto.Game
162, // 81: proto.Company.start_date:type_name -> google.protobuf.Timestamp
5, // 82: proto.Company.start_date_category:type_name -> proto.DateFormatChangeDateCategoryEnum
162, // 83: proto.Company.updated_at:type_name -> google.protobuf.Timestamp
61, // 84: proto.Company.websites:type_name -> proto.CompanyWebsite
59, // 85: proto.Company.status:type_name -> proto.CompanyStatus
65, // 86: proto.Company.start_date_format:type_name -> proto.DateFormat
65, // 87: proto.Company.change_date_format:type_name -> proto.DateFormat
57, // 88: proto.CompanyLogoResult.companylogos:type_name -> proto.CompanyLogo
59, // 89: proto.CompanyStatusResult.companystatuses:type_name -> proto.CompanyStatus
162, // 90: proto.CompanyStatus.created_at:type_name -> google.protobuf.Timestamp
162, // 91: proto.CompanyStatus.updated_at:type_name -> google.protobuf.Timestamp
61, // 92: proto.CompanyWebsiteResult.companywebsites:type_name -> proto.CompanyWebsite
6, // 93: proto.CompanyWebsite.category:type_name -> proto.WebsiteCategoryEnum
161, // 94: proto.CompanyWebsite.type:type_name -> proto.WebsiteType
63, // 95: proto.CoverResult.covers:type_name -> proto.Cover
79, // 96: proto.Cover.game:type_name -> proto.Game
85, // 97: proto.Cover.game_localization:type_name -> proto.GameLocalization
65, // 98: proto.DateFormatResult.dateformats:type_name -> proto.DateFormat
162, // 99: proto.DateFormat.created_at:type_name -> google.protobuf.Timestamp
162, // 100: proto.DateFormat.updated_at:type_name -> google.protobuf.Timestamp
67, // 101: proto.EventResult.events:type_name -> proto.Event
69, // 102: proto.Event.event_logo:type_name -> proto.EventLogo
162, // 103: proto.Event.start_time:type_name -> google.protobuf.Timestamp
162, // 104: proto.Event.end_time:type_name -> google.protobuf.Timestamp
79, // 105: proto.Event.games:type_name -> proto.Game
103, // 106: proto.Event.videos:type_name -> proto.GameVideo
71, // 107: proto.Event.event_networks:type_name -> proto.EventNetwork
162, // 108: proto.Event.created_at:type_name -> google.protobuf.Timestamp
162, // 109: proto.Event.updated_at:type_name -> google.protobuf.Timestamp
69, // 110: proto.EventLogoResult.eventlogos:type_name -> proto.EventLogo
67, // 111: proto.EventLogo.event:type_name -> proto.Event
162, // 112: proto.EventLogo.created_at:type_name -> google.protobuf.Timestamp
162, // 113: proto.EventLogo.updated_at:type_name -> google.protobuf.Timestamp
71, // 114: proto.EventNetworkResult.eventnetworks:type_name -> proto.EventNetwork
67, // 115: proto.EventNetwork.event:type_name -> proto.Event
119, // 116: proto.EventNetwork.network_type:type_name -> proto.NetworkType
162, // 117: proto.EventNetwork.created_at:type_name -> google.protobuf.Timestamp
162, // 118: proto.EventNetwork.updated_at:type_name -> google.protobuf.Timestamp
73, // 119: proto.ExternalGameResult.externalgames:type_name -> proto.ExternalGame
7, // 120: proto.ExternalGame.category:type_name -> proto.ExternalGameCategoryEnum
162, // 121: proto.ExternalGame.created_at:type_name -> google.protobuf.Timestamp
79, // 122: proto.ExternalGame.game:type_name -> proto.Game
162, // 123: proto.ExternalGame.updated_at:type_name -> google.protobuf.Timestamp
8, // 124: proto.ExternalGame.media:type_name -> proto.ExternalGameMediaEnum
121, // 125: proto.ExternalGame.platform:type_name -> proto.Platform
75, // 126: proto.ExternalGame.external_game_source:type_name -> proto.ExternalGameSource
89, // 127: proto.ExternalGame.game_release_format:type_name -> proto.GameReleaseFormat
75, // 128: proto.ExternalGameSourceResult.externalgamesources:type_name -> proto.ExternalGameSource
162, // 129: proto.ExternalGameSource.created_at:type_name -> google.protobuf.Timestamp
162, // 130: proto.ExternalGameSource.updated_at:type_name -> google.protobuf.Timestamp
77, // 131: proto.FranchiseResult.franchises:type_name -> proto.Franchise
162, // 132: proto.Franchise.created_at:type_name -> google.protobuf.Timestamp
79, // 133: proto.Franchise.games:type_name -> proto.Game
162, // 134: proto.Franchise.updated_at:type_name -> google.protobuf.Timestamp
79, // 135: proto.GameResult.games:type_name -> proto.Game
21, // 136: proto.Game.age_ratings:type_name -> proto.AgeRating
31, // 137: proto.Game.alternative_names:type_name -> proto.AlternativeName
33, // 138: proto.Game.artworks:type_name -> proto.Artwork
79, // 139: proto.Game.bundles:type_name -> proto.Game
9, // 140: proto.Game.category:type_name -> proto.GameCategoryEnum
43, // 141: proto.Game.collection:type_name -> proto.Collection
63, // 142: proto.Game.cover:type_name -> proto.Cover
162, // 143: proto.Game.created_at:type_name -> google.protobuf.Timestamp
79, // 144: proto.Game.dlcs:type_name -> proto.Game
79, // 145: proto.Game.expansions:type_name -> proto.Game
73, // 146: proto.Game.external_games:type_name -> proto.ExternalGame
162, // 147: proto.Game.first_release_date:type_name -> google.protobuf.Timestamp
77, // 148: proto.Game.franchise:type_name -> proto.Franchise
77, // 149: proto.Game.franchises:type_name -> proto.Franchise
81, // 150: proto.Game.game_engines:type_name -> proto.GameEngine
87, // 151: proto.Game.game_modes:type_name -> proto.GameMode
105, // 152: proto.Game.genres:type_name -> proto.Genre
107, // 153: proto.Game.involved_companies:type_name -> proto.InvolvedCompany
109, // 154: proto.Game.keywords:type_name -> proto.Keyword
117, // 155: proto.Game.multiplayer_modes:type_name -> proto.MultiplayerMode
79, // 156: proto.Game.parent_game:type_name -> proto.Game
121, // 157: proto.Game.platforms:type_name -> proto.Platform
137, // 158: proto.Game.player_perspectives:type_name -> proto.PlayerPerspective
145, // 159: proto.Game.release_dates:type_name -> proto.ReleaseDate
151, // 160: proto.Game.screenshots:type_name -> proto.Screenshot
79, // 161: proto.Game.similar_games:type_name -> proto.Game
79, // 162: proto.Game.standalone_expansions:type_name -> proto.Game
10, // 163: proto.Game.status:type_name -> proto.GameStatusEnum
157, // 164: proto.Game.themes:type_name -> proto.Theme
162, // 165: proto.Game.updated_at:type_name -> google.protobuf.Timestamp
79, // 166: proto.Game.version_parent:type_name -> proto.Game
103, // 167: proto.Game.videos:type_name -> proto.GameVideo
159, // 168: proto.Game.websites:type_name -> proto.Website
79, // 169: proto.Game.remakes:type_name -> proto.Game
79, // 170: proto.Game.remasters:type_name -> proto.Game
79, // 171: proto.Game.expanded_games:type_name -> proto.Game
79, // 172: proto.Game.ports:type_name -> proto.Game
79, // 173: proto.Game.forks:type_name -> proto.Game
113, // 174: proto.Game.language_supports:type_name -> proto.LanguageSupport
85, // 175: proto.Game.game_localizations:type_name -> proto.GameLocalization
43, // 176: proto.Game.collections:type_name -> proto.Collection
91, // 177: proto.Game.game_status:type_name -> proto.GameStatus
95, // 178: proto.Game.game_type:type_name -> proto.GameType
81, // 179: proto.GameEngineResult.gameengines:type_name -> proto.GameEngine
55, // 180: proto.GameEngine.companies:type_name -> proto.Company
162, // 181: proto.GameEngine.created_at:type_name -> google.protobuf.Timestamp
83, // 182: proto.GameEngine.logo:type_name -> proto.GameEngineLogo
121, // 183: proto.GameEngine.platforms:type_name -> proto.Platform
162, // 184: proto.GameEngine.updated_at:type_name -> google.protobuf.Timestamp
83, // 185: proto.GameEngineLogoResult.gameenginelogos:type_name -> proto.GameEngineLogo
85, // 186: proto.GameLocalizationResult.gamelocalizations:type_name -> proto.GameLocalization
63, // 187: proto.GameLocalization.cover:type_name -> proto.Cover
79, // 188: proto.GameLocalization.game:type_name -> proto.Game
143, // 189: proto.GameLocalization.region:type_name -> proto.Region
162, // 190: proto.GameLocalization.created_at:type_name -> google.protobuf.Timestamp
162, // 191: proto.GameLocalization.updated_at:type_name -> google.protobuf.Timestamp
87, // 192: proto.GameModeResult.gamemodes:type_name -> proto.GameMode
162, // 193: proto.GameMode.created_at:type_name -> google.protobuf.Timestamp
162, // 194: proto.GameMode.updated_at:type_name -> google.protobuf.Timestamp
89, // 195: proto.GameReleaseFormatResult.gamereleaseformats:type_name -> proto.GameReleaseFormat
162, // 196: proto.GameReleaseFormat.created_at:type_name -> google.protobuf.Timestamp
162, // 197: proto.GameReleaseFormat.updated_at:type_name -> google.protobuf.Timestamp
91, // 198: proto.GameStatusResult.gamestatuses:type_name -> proto.GameStatus
162, // 199: proto.GameStatus.created_at:type_name -> google.protobuf.Timestamp
162, // 200: proto.GameStatus.updated_at:type_name -> google.protobuf.Timestamp
93, // 201: proto.GameTimeToBeatResult.gametimetobeats:type_name -> proto.GameTimeToBeat
162, // 202: proto.GameTimeToBeat.created_at:type_name -> google.protobuf.Timestamp
162, // 203: proto.GameTimeToBeat.updated_at:type_name -> google.protobuf.Timestamp
95, // 204: proto.GameTypeResult.gametypes:type_name -> proto.GameType
162, // 205: proto.GameType.created_at:type_name -> google.protobuf.Timestamp
162, // 206: proto.GameType.updated_at:type_name -> google.protobuf.Timestamp
97, // 207: proto.GameVersionResult.gameversions:type_name -> proto.GameVersion
162, // 208: proto.GameVersion.created_at:type_name -> google.protobuf.Timestamp
99, // 209: proto.GameVersion.features:type_name -> proto.GameVersionFeature
79, // 210: proto.GameVersion.game:type_name -> proto.Game
79, // 211: proto.GameVersion.games:type_name -> proto.Game
162, // 212: proto.GameVersion.updated_at:type_name -> google.protobuf.Timestamp
99, // 213: proto.GameVersionFeatureResult.gameversionfeatures:type_name -> proto.GameVersionFeature
11, // 214: proto.GameVersionFeature.category:type_name -> proto.GameVersionFeatureCategoryEnum
101, // 215: proto.GameVersionFeature.values:type_name -> proto.GameVersionFeatureValue
101, // 216: proto.GameVersionFeatureValueResult.gameversionfeaturevalues:type_name -> proto.GameVersionFeatureValue
79, // 217: proto.GameVersionFeatureValue.game:type_name -> proto.Game
99, // 218: proto.GameVersionFeatureValue.game_feature:type_name -> proto.GameVersionFeature
12, // 219: proto.GameVersionFeatureValue.included_feature:type_name -> proto.GameVersionFeatureValueIncludedFeatureEnum
103, // 220: proto.GameVideoResult.gamevideos:type_name -> proto.GameVideo
79, // 221: proto.GameVideo.game:type_name -> proto.Game
105, // 222: proto.GenreResult.genres:type_name -> proto.Genre
162, // 223: proto.Genre.created_at:type_name -> google.protobuf.Timestamp
162, // 224: proto.Genre.updated_at:type_name -> google.protobuf.Timestamp
107, // 225: proto.InvolvedCompanyResult.involvedcompanies:type_name -> proto.InvolvedCompany
55, // 226: proto.InvolvedCompany.company:type_name -> proto.Company
162, // 227: proto.InvolvedCompany.created_at:type_name -> google.protobuf.Timestamp
79, // 228: proto.InvolvedCompany.game:type_name -> proto.Game
162, // 229: proto.InvolvedCompany.updated_at:type_name -> google.protobuf.Timestamp
109, // 230: proto.KeywordResult.keywords:type_name -> proto.Keyword
162, // 231: proto.Keyword.created_at:type_name -> google.protobuf.Timestamp
162, // 232: proto.Keyword.updated_at:type_name -> google.protobuf.Timestamp
111, // 233: proto.LanguageResult.languages:type_name -> proto.Language
162, // 234: proto.Language.created_at:type_name -> google.protobuf.Timestamp
162, // 235: proto.Language.updated_at:type_name -> google.protobuf.Timestamp
113, // 236: proto.LanguageSupportResult.languagesupports:type_name -> proto.LanguageSupport
79, // 237: proto.LanguageSupport.game:type_name -> proto.Game
111, // 238: proto.LanguageSupport.language:type_name -> proto.Language
115, // 239: proto.LanguageSupport.language_support_type:type_name -> proto.LanguageSupportType
162, // 240: proto.LanguageSupport.created_at:type_name -> google.protobuf.Timestamp
162, // 241: proto.LanguageSupport.updated_at:type_name -> google.protobuf.Timestamp
115, // 242: proto.LanguageSupportTypeResult.languagesupporttypes:type_name -> proto.LanguageSupportType
162, // 243: proto.LanguageSupportType.created_at:type_name -> google.protobuf.Timestamp
162, // 244: proto.LanguageSupportType.updated_at:type_name -> google.protobuf.Timestamp
117, // 245: proto.MultiplayerModeResult.multiplayermodes:type_name -> proto.MultiplayerMode
79, // 246: proto.MultiplayerMode.game:type_name -> proto.Game
121, // 247: proto.MultiplayerMode.platform:type_name -> proto.Platform
119, // 248: proto.NetworkTypeResult.networktypes:type_name -> proto.NetworkType
71, // 249: proto.NetworkType.event_networks:type_name -> proto.EventNetwork
162, // 250: proto.NetworkType.created_at:type_name -> google.protobuf.Timestamp
162, // 251: proto.NetworkType.updated_at:type_name -> google.protobuf.Timestamp
121, // 252: proto.PlatformResult.platforms:type_name -> proto.Platform
13, // 253: proto.Platform.category:type_name -> proto.PlatformCategoryEnum
162, // 254: proto.Platform.created_at:type_name -> google.protobuf.Timestamp
125, // 255: proto.Platform.platform_logo:type_name -> proto.PlatformLogo
123, // 256: proto.Platform.platform_family:type_name -> proto.PlatformFamily
162, // 257: proto.Platform.updated_at:type_name -> google.protobuf.Timestamp
129, // 258: proto.Platform.versions:type_name -> proto.PlatformVersion
135, // 259: proto.Platform.websites:type_name -> proto.PlatformWebsite
127, // 260: proto.Platform.platform_type:type_name -> proto.PlatformType
123, // 261: proto.PlatformFamilyResult.platformfamilies:type_name -> proto.PlatformFamily
125, // 262: proto.PlatformLogoResult.platformlogos:type_name -> proto.PlatformLogo
127, // 263: proto.PlatformTypeResult.platformtypes:type_name -> proto.PlatformType
162, // 264: proto.PlatformType.created_at:type_name -> google.protobuf.Timestamp
162, // 265: proto.PlatformType.updated_at:type_name -> google.protobuf.Timestamp
129, // 266: proto.PlatformVersionResult.platformversions:type_name -> proto.PlatformVersion
131, // 267: proto.PlatformVersion.companies:type_name -> proto.PlatformVersionCompany
131, // 268: proto.PlatformVersion.main_manufacturer:type_name -> proto.PlatformVersionCompany
125, // 269: proto.PlatformVersion.platform_logo:type_name -> proto.PlatformLogo
133, // 270: proto.PlatformVersion.platform_version_release_dates:type_name -> proto.PlatformVersionReleaseDate
131, // 271: proto.PlatformVersionCompanyResult.platformversioncompanies:type_name -> proto.PlatformVersionCompany
55, // 272: proto.PlatformVersionCompany.company:type_name -> proto.Company
133, // 273: proto.PlatformVersionReleaseDateResult.platformversionreleasedates:type_name -> proto.PlatformVersionReleaseDate
5, // 274: proto.PlatformVersionReleaseDate.category:type_name -> proto.DateFormatChangeDateCategoryEnum
162, // 275: proto.PlatformVersionReleaseDate.created_at:type_name -> google.protobuf.Timestamp
162, // 276: proto.PlatformVersionReleaseDate.date:type_name -> google.protobuf.Timestamp
129, // 277: proto.PlatformVersionReleaseDate.platform_version:type_name -> proto.PlatformVersion
14, // 278: proto.PlatformVersionReleaseDate.region:type_name -> proto.RegionRegionEnum
162, // 279: proto.PlatformVersionReleaseDate.updated_at:type_name -> google.protobuf.Timestamp
65, // 280: proto.PlatformVersionReleaseDate.date_format:type_name -> proto.DateFormat
147, // 281: proto.PlatformVersionReleaseDate.release_region:type_name -> proto.ReleaseDateRegion
135, // 282: proto.PlatformWebsiteResult.platformwebsites:type_name -> proto.PlatformWebsite
6, // 283: proto.PlatformWebsite.category:type_name -> proto.WebsiteCategoryEnum
161, // 284: proto.PlatformWebsite.type:type_name -> proto.WebsiteType
137, // 285: proto.PlayerPerspectiveResult.playerperspectives:type_name -> proto.PlayerPerspective
162, // 286: proto.PlayerPerspective.created_at:type_name -> google.protobuf.Timestamp
162, // 287: proto.PlayerPerspective.updated_at:type_name -> google.protobuf.Timestamp
139, // 288: proto.PopularityPrimitiveResult.popularityprimitives:type_name -> proto.PopularityPrimitive
141, // 289: proto.PopularityPrimitive.popularity_type:type_name -> proto.PopularityType
15, // 290: proto.PopularityPrimitive.popularity_source:type_name -> proto.PopularitySourcePopularitySourceEnum
162, // 291: proto.PopularityPrimitive.calculated_at:type_name -> google.protobuf.Timestamp
162, // 292: proto.PopularityPrimitive.created_at:type_name -> google.protobuf.Timestamp
162, // 293: proto.PopularityPrimitive.updated_at:type_name -> google.protobuf.Timestamp
75, // 294: proto.PopularityPrimitive.external_popularity_source:type_name -> proto.ExternalGameSource
141, // 295: proto.PopularityTypeResult.popularitytypes:type_name -> proto.PopularityType
15, // 296: proto.PopularityType.popularity_source:type_name -> proto.PopularitySourcePopularitySourceEnum
162, // 297: proto.PopularityType.created_at:type_name -> google.protobuf.Timestamp
162, // 298: proto.PopularityType.updated_at:type_name -> google.protobuf.Timestamp
75, // 299: proto.PopularityType.external_popularity_source:type_name -> proto.ExternalGameSource
143, // 300: proto.RegionResult.regions:type_name -> proto.Region
162, // 301: proto.Region.created_at:type_name -> google.protobuf.Timestamp
162, // 302: proto.Region.updated_at:type_name -> google.protobuf.Timestamp
145, // 303: proto.ReleaseDateResult.releasedates:type_name -> proto.ReleaseDate
5, // 304: proto.ReleaseDate.category:type_name -> proto.DateFormatChangeDateCategoryEnum
162, // 305: proto.ReleaseDate.created_at:type_name -> google.protobuf.Timestamp
162, // 306: proto.ReleaseDate.date:type_name -> google.protobuf.Timestamp
79, // 307: proto.ReleaseDate.game:type_name -> proto.Game
121, // 308: proto.ReleaseDate.platform:type_name -> proto.Platform
14, // 309: proto.ReleaseDate.region:type_name -> proto.RegionRegionEnum
162, // 310: proto.ReleaseDate.updated_at:type_name -> google.protobuf.Timestamp
149, // 311: proto.ReleaseDate.status:type_name -> proto.ReleaseDateStatus
65, // 312: proto.ReleaseDate.date_format:type_name -> proto.DateFormat
147, // 313: proto.ReleaseDate.release_region:type_name -> proto.ReleaseDateRegion
147, // 314: proto.ReleaseDateRegionResult.releasedateregions:type_name -> proto.ReleaseDateRegion
162, // 315: proto.ReleaseDateRegion.created_at:type_name -> google.protobuf.Timestamp
162, // 316: proto.ReleaseDateRegion.updated_at:type_name -> google.protobuf.Timestamp
149, // 317: proto.ReleaseDateStatusResult.releasedatestatuses:type_name -> proto.ReleaseDateStatus
162, // 318: proto.ReleaseDateStatus.created_at:type_name -> google.protobuf.Timestamp
162, // 319: proto.ReleaseDateStatus.updated_at:type_name -> google.protobuf.Timestamp
151, // 320: proto.ScreenshotResult.screenshots:type_name -> proto.Screenshot
79, // 321: proto.Screenshot.game:type_name -> proto.Game
153, // 322: proto.SearchResult.searches:type_name -> proto.Search
35, // 323: proto.Search.character:type_name -> proto.Character
43, // 324: proto.Search.collection:type_name -> proto.Collection
55, // 325: proto.Search.company:type_name -> proto.Company
79, // 326: proto.Search.game:type_name -> proto.Game
121, // 327: proto.Search.platform:type_name -> proto.Platform
162, // 328: proto.Search.published_at:type_name -> google.protobuf.Timestamp
155, // 329: proto.Search.test_dummy:type_name -> proto.TestDummy
157, // 330: proto.Search.theme:type_name -> proto.Theme
155, // 331: proto.TestDummyResult.testdummies:type_name -> proto.TestDummy
162, // 332: proto.TestDummy.created_at:type_name -> google.protobuf.Timestamp
16, // 333: proto.TestDummy.enum_test:type_name -> proto.TestDummyEnumTestEnum
79, // 334: proto.TestDummy.game:type_name -> proto.Game
155, // 335: proto.TestDummy.test_dummies:type_name -> proto.TestDummy
155, // 336: proto.TestDummy.test_dummy:type_name -> proto.TestDummy
162, // 337: proto.TestDummy.updated_at:type_name -> google.protobuf.Timestamp
157, // 338: proto.ThemeResult.themes:type_name -> proto.Theme
162, // 339: proto.Theme.created_at:type_name -> google.protobuf.Timestamp
162, // 340: proto.Theme.updated_at:type_name -> google.protobuf.Timestamp
159, // 341: proto.WebsiteResult.websites:type_name -> proto.Website
6, // 342: proto.Website.category:type_name -> proto.WebsiteCategoryEnum
79, // 343: proto.Website.game:type_name -> proto.Game
161, // 344: proto.Website.type:type_name -> proto.WebsiteType
161, // 345: proto.WebsiteTypeResult.websitetypes:type_name -> proto.WebsiteType
162, // 346: proto.WebsiteType.created_at:type_name -> google.protobuf.Timestamp
162, // 347: proto.WebsiteType.updated_at:type_name -> google.protobuf.Timestamp
348, // [348:348] is the sub-list for method output_type
348, // [348:348] is the sub-list for method input_type
348, // [348:348] is the sub-list for extension type_name
348, // [348:348] is the sub-list for extension extendee
0, // [0:348] is the sub-list for field type_name
}
func init() { file_proto_igdbapi_proto_init() }
func file_proto_igdbapi_proto_init() {
if File_proto_igdbapi_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_proto_igdbapi_proto_rawDesc), len(file_proto_igdbapi_proto_rawDesc)),
NumEnums: 17,
NumMessages: 145,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_proto_igdbapi_proto_goTypes,
DependencyIndexes: file_proto_igdbapi_proto_depIdxs,
EnumInfos: file_proto_igdbapi_proto_enumTypes,
MessageInfos: file_proto_igdbapi_proto_msgTypes,
}.Build()
File_proto_igdbapi_proto = out.File
file_proto_igdbapi_proto_goTypes = nil
file_proto_igdbapi_proto_depIdxs = nil
}