Files
trufflehog/pkg/pb/sourcespb/sources.pb.go
Shahzad Haider 54ff78b9a8 Object filtering in S3 (#5286)
* Add S3 object filtering fields to the sources proto

* Skip S3 objects by key prefix or file extension before downloading them

* Document the S3 source and how to narrow a scan to specific objects

* Trim filter entries and report when a filter excludes every object

* Document the S3 object filter edge cases and listing cost

* Align S3 object filter logging with the logging RFC

* Simplify S3 extension matching and always log a fully filtered bucket
2026-09-09 14:31:29 +05:00

6996 lines
253 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.33.0
// protoc v4.25.3
// source: sources.proto
package sourcespb
import (
_ "github.com/envoyproxy/protoc-gen-validate/validate"
credentialspb "github.com/trufflesecurity/trufflehog/v3/pkg/pb/credentialspb"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
anypb "google.golang.org/protobuf/types/known/anypb"
durationpb "google.golang.org/protobuf/types/known/durationpb"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type SourceType int32
const (
SourceType_SOURCE_TYPE_AZURE_STORAGE SourceType = 0
SourceType_SOURCE_TYPE_BITBUCKET SourceType = 1
SourceType_SOURCE_TYPE_CIRCLECI SourceType = 2
SourceType_SOURCE_TYPE_CONFLUENCE SourceType = 3
SourceType_SOURCE_TYPE_DOCKER SourceType = 4
SourceType_SOURCE_TYPE_ECR SourceType = 5
SourceType_SOURCE_TYPE_GCS SourceType = 6
SourceType_SOURCE_TYPE_GITHUB SourceType = 7
SourceType_SOURCE_TYPE_PUBLIC_GIT SourceType = 8
SourceType_SOURCE_TYPE_GITLAB SourceType = 9
SourceType_SOURCE_TYPE_JIRA SourceType = 10
SourceType_SOURCE_TYPE_NPM_UNAUTHD_PACKAGES SourceType = 11
SourceType_SOURCE_TYPE_PYPI_UNAUTHD_PACKAGES SourceType = 12
SourceType_SOURCE_TYPE_S3 SourceType = 13
SourceType_SOURCE_TYPE_SLACK SourceType = 14
SourceType_SOURCE_TYPE_FILESYSTEM SourceType = 15
SourceType_SOURCE_TYPE_GIT SourceType = 16
SourceType_SOURCE_TYPE_TEST SourceType = 17
SourceType_SOURCE_TYPE_S3_UNAUTHED SourceType = 18
SourceType_SOURCE_TYPE_GITHUB_UNAUTHENTICATED_ORG SourceType = 19
SourceType_SOURCE_TYPE_BUILDKITE SourceType = 20
SourceType_SOURCE_TYPE_GERRIT SourceType = 21
SourceType_SOURCE_TYPE_JENKINS SourceType = 22
SourceType_SOURCE_TYPE_TEAMS SourceType = 23
SourceType_SOURCE_TYPE_JFROG_ARTIFACTORY SourceType = 24
SourceType_SOURCE_TYPE_SYSLOG SourceType = 25
SourceType_SOURCE_TYPE_PUBLIC_EVENT_MONITORING SourceType = 26
SourceType_SOURCE_TYPE_SLACK_REALTIME SourceType = 27
SourceType_SOURCE_TYPE_GOOGLE_DRIVE SourceType = 28
SourceType_SOURCE_TYPE_SHAREPOINT SourceType = 29
SourceType_SOURCE_TYPE_GCS_UNAUTHED SourceType = 30
SourceType_SOURCE_TYPE_AZURE_REPOS SourceType = 31
SourceType_SOURCE_TYPE_TRAVISCI SourceType = 32
SourceType_SOURCE_TYPE_POSTMAN SourceType = 33
SourceType_SOURCE_TYPE_WEBHOOK SourceType = 34
SourceType_SOURCE_TYPE_ELASTICSEARCH SourceType = 35
SourceType_SOURCE_TYPE_HUGGINGFACE SourceType = 36
SourceType_SOURCE_TYPE_GITHUB_EXPERIMENTAL SourceType = 37
SourceType_SOURCE_TYPE_SENTRY SourceType = 38
SourceType_SOURCE_TYPE_GITHUB_REALTIME SourceType = 39
SourceType_SOURCE_TYPE_STDIN SourceType = 40
SourceType_SOURCE_TYPE_SLACK_CONTINUOUS SourceType = 41
SourceType_SOURCE_TYPE_JSON_ENUMERATOR SourceType = 42
SourceType_SOURCE_TYPE_AWS_SECRETS_MANAGER SourceType = 43
)
// Enum value maps for SourceType.
var (
SourceType_name = map[int32]string{
0: "SOURCE_TYPE_AZURE_STORAGE",
1: "SOURCE_TYPE_BITBUCKET",
2: "SOURCE_TYPE_CIRCLECI",
3: "SOURCE_TYPE_CONFLUENCE",
4: "SOURCE_TYPE_DOCKER",
5: "SOURCE_TYPE_ECR",
6: "SOURCE_TYPE_GCS",
7: "SOURCE_TYPE_GITHUB",
8: "SOURCE_TYPE_PUBLIC_GIT",
9: "SOURCE_TYPE_GITLAB",
10: "SOURCE_TYPE_JIRA",
11: "SOURCE_TYPE_NPM_UNAUTHD_PACKAGES",
12: "SOURCE_TYPE_PYPI_UNAUTHD_PACKAGES",
13: "SOURCE_TYPE_S3",
14: "SOURCE_TYPE_SLACK",
15: "SOURCE_TYPE_FILESYSTEM",
16: "SOURCE_TYPE_GIT",
17: "SOURCE_TYPE_TEST",
18: "SOURCE_TYPE_S3_UNAUTHED",
19: "SOURCE_TYPE_GITHUB_UNAUTHENTICATED_ORG",
20: "SOURCE_TYPE_BUILDKITE",
21: "SOURCE_TYPE_GERRIT",
22: "SOURCE_TYPE_JENKINS",
23: "SOURCE_TYPE_TEAMS",
24: "SOURCE_TYPE_JFROG_ARTIFACTORY",
25: "SOURCE_TYPE_SYSLOG",
26: "SOURCE_TYPE_PUBLIC_EVENT_MONITORING",
27: "SOURCE_TYPE_SLACK_REALTIME",
28: "SOURCE_TYPE_GOOGLE_DRIVE",
29: "SOURCE_TYPE_SHAREPOINT",
30: "SOURCE_TYPE_GCS_UNAUTHED",
31: "SOURCE_TYPE_AZURE_REPOS",
32: "SOURCE_TYPE_TRAVISCI",
33: "SOURCE_TYPE_POSTMAN",
34: "SOURCE_TYPE_WEBHOOK",
35: "SOURCE_TYPE_ELASTICSEARCH",
36: "SOURCE_TYPE_HUGGINGFACE",
37: "SOURCE_TYPE_GITHUB_EXPERIMENTAL",
38: "SOURCE_TYPE_SENTRY",
39: "SOURCE_TYPE_GITHUB_REALTIME",
40: "SOURCE_TYPE_STDIN",
41: "SOURCE_TYPE_SLACK_CONTINUOUS",
42: "SOURCE_TYPE_JSON_ENUMERATOR",
43: "SOURCE_TYPE_AWS_SECRETS_MANAGER",
}
SourceType_value = map[string]int32{
"SOURCE_TYPE_AZURE_STORAGE": 0,
"SOURCE_TYPE_BITBUCKET": 1,
"SOURCE_TYPE_CIRCLECI": 2,
"SOURCE_TYPE_CONFLUENCE": 3,
"SOURCE_TYPE_DOCKER": 4,
"SOURCE_TYPE_ECR": 5,
"SOURCE_TYPE_GCS": 6,
"SOURCE_TYPE_GITHUB": 7,
"SOURCE_TYPE_PUBLIC_GIT": 8,
"SOURCE_TYPE_GITLAB": 9,
"SOURCE_TYPE_JIRA": 10,
"SOURCE_TYPE_NPM_UNAUTHD_PACKAGES": 11,
"SOURCE_TYPE_PYPI_UNAUTHD_PACKAGES": 12,
"SOURCE_TYPE_S3": 13,
"SOURCE_TYPE_SLACK": 14,
"SOURCE_TYPE_FILESYSTEM": 15,
"SOURCE_TYPE_GIT": 16,
"SOURCE_TYPE_TEST": 17,
"SOURCE_TYPE_S3_UNAUTHED": 18,
"SOURCE_TYPE_GITHUB_UNAUTHENTICATED_ORG": 19,
"SOURCE_TYPE_BUILDKITE": 20,
"SOURCE_TYPE_GERRIT": 21,
"SOURCE_TYPE_JENKINS": 22,
"SOURCE_TYPE_TEAMS": 23,
"SOURCE_TYPE_JFROG_ARTIFACTORY": 24,
"SOURCE_TYPE_SYSLOG": 25,
"SOURCE_TYPE_PUBLIC_EVENT_MONITORING": 26,
"SOURCE_TYPE_SLACK_REALTIME": 27,
"SOURCE_TYPE_GOOGLE_DRIVE": 28,
"SOURCE_TYPE_SHAREPOINT": 29,
"SOURCE_TYPE_GCS_UNAUTHED": 30,
"SOURCE_TYPE_AZURE_REPOS": 31,
"SOURCE_TYPE_TRAVISCI": 32,
"SOURCE_TYPE_POSTMAN": 33,
"SOURCE_TYPE_WEBHOOK": 34,
"SOURCE_TYPE_ELASTICSEARCH": 35,
"SOURCE_TYPE_HUGGINGFACE": 36,
"SOURCE_TYPE_GITHUB_EXPERIMENTAL": 37,
"SOURCE_TYPE_SENTRY": 38,
"SOURCE_TYPE_GITHUB_REALTIME": 39,
"SOURCE_TYPE_STDIN": 40,
"SOURCE_TYPE_SLACK_CONTINUOUS": 41,
"SOURCE_TYPE_JSON_ENUMERATOR": 42,
"SOURCE_TYPE_AWS_SECRETS_MANAGER": 43,
}
)
func (x SourceType) Enum() *SourceType {
p := new(SourceType)
*p = x
return p
}
func (x SourceType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (SourceType) Descriptor() protoreflect.EnumDescriptor {
return file_sources_proto_enumTypes[0].Descriptor()
}
func (SourceType) Type() protoreflect.EnumType {
return &file_sources_proto_enumTypes[0]
}
func (x SourceType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use SourceType.Descriptor instead.
func (SourceType) EnumDescriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{0}
}
type BitbucketInstallationType int32
const (
BitbucketInstallationType_AUTODETECT BitbucketInstallationType = 0
BitbucketInstallationType_CLOUD BitbucketInstallationType = 1
BitbucketInstallationType_DATA_CENTER BitbucketInstallationType = 2
)
// Enum value maps for BitbucketInstallationType.
var (
BitbucketInstallationType_name = map[int32]string{
0: "AUTODETECT",
1: "CLOUD",
2: "DATA_CENTER",
}
BitbucketInstallationType_value = map[string]int32{
"AUTODETECT": 0,
"CLOUD": 1,
"DATA_CENTER": 2,
}
)
func (x BitbucketInstallationType) Enum() *BitbucketInstallationType {
p := new(BitbucketInstallationType)
*p = x
return p
}
func (x BitbucketInstallationType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (BitbucketInstallationType) Descriptor() protoreflect.EnumDescriptor {
return file_sources_proto_enumTypes[1].Descriptor()
}
func (BitbucketInstallationType) Type() protoreflect.EnumType {
return &file_sources_proto_enumTypes[1]
}
func (x BitbucketInstallationType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use BitbucketInstallationType.Descriptor instead.
func (BitbucketInstallationType) EnumDescriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{1}
}
type JiraInstallationType int32
const (
JiraInstallationType_JIRA_INSTALLATION_TYPE_AUTODETECT JiraInstallationType = 0
JiraInstallationType_JIRA_INSTALLATION_TYPE_CLOUD JiraInstallationType = 1
JiraInstallationType_JIRA_INSTALLATION_TYPE_DATA_CENTER JiraInstallationType = 2
)
// Enum value maps for JiraInstallationType.
var (
JiraInstallationType_name = map[int32]string{
0: "JIRA_INSTALLATION_TYPE_AUTODETECT",
1: "JIRA_INSTALLATION_TYPE_CLOUD",
2: "JIRA_INSTALLATION_TYPE_DATA_CENTER",
}
JiraInstallationType_value = map[string]int32{
"JIRA_INSTALLATION_TYPE_AUTODETECT": 0,
"JIRA_INSTALLATION_TYPE_CLOUD": 1,
"JIRA_INSTALLATION_TYPE_DATA_CENTER": 2,
}
)
func (x JiraInstallationType) Enum() *JiraInstallationType {
p := new(JiraInstallationType)
*p = x
return p
}
func (x JiraInstallationType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (JiraInstallationType) Descriptor() protoreflect.EnumDescriptor {
return file_sources_proto_enumTypes[2].Descriptor()
}
func (JiraInstallationType) Type() protoreflect.EnumType {
return &file_sources_proto_enumTypes[2]
}
func (x JiraInstallationType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use JiraInstallationType.Descriptor instead.
func (JiraInstallationType) EnumDescriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{2}
}
type Confluence_GetAllSpacesScope int32
const (
Confluence_ALL Confluence_GetAllSpacesScope = 0
Confluence_GLOBAL Confluence_GetAllSpacesScope = 1
Confluence_PERSONAL Confluence_GetAllSpacesScope = 2
)
// Enum value maps for Confluence_GetAllSpacesScope.
var (
Confluence_GetAllSpacesScope_name = map[int32]string{
0: "ALL",
1: "GLOBAL",
2: "PERSONAL",
}
Confluence_GetAllSpacesScope_value = map[string]int32{
"ALL": 0,
"GLOBAL": 1,
"PERSONAL": 2,
}
)
func (x Confluence_GetAllSpacesScope) Enum() *Confluence_GetAllSpacesScope {
p := new(Confluence_GetAllSpacesScope)
*p = x
return p
}
func (x Confluence_GetAllSpacesScope) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Confluence_GetAllSpacesScope) Descriptor() protoreflect.EnumDescriptor {
return file_sources_proto_enumTypes[3].Descriptor()
}
func (Confluence_GetAllSpacesScope) Type() protoreflect.EnumType {
return &file_sources_proto_enumTypes[3]
}
func (x Confluence_GetAllSpacesScope) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Confluence_GetAllSpacesScope.Descriptor instead.
func (Confluence_GetAllSpacesScope) EnumDescriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{6, 0}
}
type LocalSource struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
// DEPRECATED: scan_interval is deprecated and can be removed when we no longer depend on the name.
// Deprecating in favor of scan_period due to the fact that scan_interval is a duration
// which is a fixed-length span of time represented as a count of seconds and fractions of seconds
// at nanosecond resolution. Most of the time, we want to be able to specify a scan interval in
// human-readable format (e.g. 45s, 30m, 12h, etc.) which is not possible with a duration.
// https://protobuf.dev/reference/protobuf/google.protobuf/#duration
//
// Deprecated: Marked as deprecated in sources.proto.
ScanInterval *durationpb.Duration `protobuf:"bytes,3,opt,name=scan_interval,json=scanInterval,proto3" json:"scan_interval,omitempty"`
Verify bool `protobuf:"varint,4,opt,name=verify,proto3" json:"verify,omitempty"`
Connection *anypb.Any `protobuf:"bytes,5,opt,name=connection,proto3" json:"connection,omitempty"`
ScanPeriod string `protobuf:"bytes,6,opt,name=scan_period,json=scanPeriod,proto3" json:"scan_period,omitempty"`
}
func (x *LocalSource) Reset() {
*x = LocalSource{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LocalSource) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LocalSource) ProtoMessage() {}
func (x *LocalSource) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LocalSource.ProtoReflect.Descriptor instead.
func (*LocalSource) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{0}
}
func (x *LocalSource) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *LocalSource) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Deprecated: Marked as deprecated in sources.proto.
func (x *LocalSource) GetScanInterval() *durationpb.Duration {
if x != nil {
return x.ScanInterval
}
return nil
}
func (x *LocalSource) GetVerify() bool {
if x != nil {
return x.Verify
}
return false
}
func (x *LocalSource) GetConnection() *anypb.Any {
if x != nil {
return x.Connection
}
return nil
}
func (x *LocalSource) GetScanPeriod() string {
if x != nil {
return x.ScanPeriod
}
return ""
}
// https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-RetrieveFolderorRepositoryArchive
type Artifactory struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
// Types that are assignable to Credential:
//
// *Artifactory_BasicAuth
// *Artifactory_AccessToken
// *Artifactory_Unauthenticated
Credential isArtifactory_Credential `protobuf_oneof:"credential"`
Repositories []string `protobuf:"bytes,4,rep,name=repositories,proto3" json:"repositories,omitempty"`
IncludePaths []string `protobuf:"bytes,5,rep,name=include_paths,json=includePaths,proto3" json:"include_paths,omitempty"`
IgnorePaths []string `protobuf:"bytes,6,rep,name=ignore_paths,json=ignorePaths,proto3" json:"ignore_paths,omitempty"`
}
func (x *Artifactory) Reset() {
*x = Artifactory{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Artifactory) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Artifactory) ProtoMessage() {}
func (x *Artifactory) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Artifactory.ProtoReflect.Descriptor instead.
func (*Artifactory) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{1}
}
func (x *Artifactory) GetEndpoint() string {
if x != nil {
return x.Endpoint
}
return ""
}
func (m *Artifactory) GetCredential() isArtifactory_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *Artifactory) GetBasicAuth() *credentialspb.BasicAuth {
if x, ok := x.GetCredential().(*Artifactory_BasicAuth); ok {
return x.BasicAuth
}
return nil
}
func (x *Artifactory) GetAccessToken() string {
if x, ok := x.GetCredential().(*Artifactory_AccessToken); ok {
return x.AccessToken
}
return ""
}
func (x *Artifactory) GetUnauthenticated() *credentialspb.Unauthenticated {
if x, ok := x.GetCredential().(*Artifactory_Unauthenticated); ok {
return x.Unauthenticated
}
return nil
}
func (x *Artifactory) GetRepositories() []string {
if x != nil {
return x.Repositories
}
return nil
}
func (x *Artifactory) GetIncludePaths() []string {
if x != nil {
return x.IncludePaths
}
return nil
}
func (x *Artifactory) GetIgnorePaths() []string {
if x != nil {
return x.IgnorePaths
}
return nil
}
type isArtifactory_Credential interface {
isArtifactory_Credential()
}
type Artifactory_BasicAuth struct {
BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,2,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}
type Artifactory_AccessToken struct {
AccessToken string `protobuf:"bytes,3,opt,name=access_token,json=accessToken,proto3,oneof"`
}
type Artifactory_Unauthenticated struct {
Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,7,opt,name=unauthenticated,proto3,oneof"`
}
func (*Artifactory_BasicAuth) isArtifactory_Credential() {}
func (*Artifactory_AccessToken) isArtifactory_Credential() {}
func (*Artifactory_Unauthenticated) isArtifactory_Credential() {}
type AzureStorage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Credential:
//
// *AzureStorage_ConnectionString
// *AzureStorage_BasicAuth
// *AzureStorage_ClientCertificate
// *AzureStorage_Unauthenticated
Credential isAzureStorage_Credential `protobuf_oneof:"credential"`
StorageContainers []string `protobuf:"bytes,5,rep,name=storage_containers,json=storageContainers,proto3" json:"storage_containers,omitempty"`
}
func (x *AzureStorage) Reset() {
*x = AzureStorage{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AzureStorage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AzureStorage) ProtoMessage() {}
func (x *AzureStorage) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AzureStorage.ProtoReflect.Descriptor instead.
func (*AzureStorage) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{2}
}
func (m *AzureStorage) GetCredential() isAzureStorage_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *AzureStorage) GetConnectionString() string {
if x, ok := x.GetCredential().(*AzureStorage_ConnectionString); ok {
return x.ConnectionString
}
return ""
}
func (x *AzureStorage) GetBasicAuth() *credentialspb.BasicAuth {
if x, ok := x.GetCredential().(*AzureStorage_BasicAuth); ok {
return x.BasicAuth
}
return nil
}
func (x *AzureStorage) GetClientCertificate() string {
if x, ok := x.GetCredential().(*AzureStorage_ClientCertificate); ok {
return x.ClientCertificate
}
return ""
}
func (x *AzureStorage) GetUnauthenticated() *credentialspb.Unauthenticated {
if x, ok := x.GetCredential().(*AzureStorage_Unauthenticated); ok {
return x.Unauthenticated
}
return nil
}
func (x *AzureStorage) GetStorageContainers() []string {
if x != nil {
return x.StorageContainers
}
return nil
}
type isAzureStorage_Credential interface {
isAzureStorage_Credential()
}
type AzureStorage_ConnectionString struct {
ConnectionString string `protobuf:"bytes,1,opt,name=connection_string,json=connectionString,proto3,oneof"`
}
type AzureStorage_BasicAuth struct {
BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,2,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}
type AzureStorage_ClientCertificate struct {
ClientCertificate string `protobuf:"bytes,3,opt,name=client_certificate,json=clientCertificate,proto3,oneof"`
}
type AzureStorage_Unauthenticated struct {
Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,4,opt,name=unauthenticated,proto3,oneof"`
}
func (*AzureStorage_ConnectionString) isAzureStorage_Credential() {}
func (*AzureStorage_BasicAuth) isAzureStorage_Credential() {}
func (*AzureStorage_ClientCertificate) isAzureStorage_Credential() {}
func (*AzureStorage_Unauthenticated) isAzureStorage_Credential() {}
type Bitbucket struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
// Types that are assignable to Credential:
//
// *Bitbucket_Token
// *Bitbucket_Oauth
// *Bitbucket_BasicAuth
// *Bitbucket_ApiToken
Credential isBitbucket_Credential `protobuf_oneof:"credential"`
Repositories []string `protobuf:"bytes,5,rep,name=repositories,proto3" json:"repositories,omitempty"`
IgnoreRepos []string `protobuf:"bytes,6,rep,name=ignore_repos,json=ignoreRepos,proto3" json:"ignore_repos,omitempty"`
SkipBinaries bool `protobuf:"varint,7,opt,name=skip_binaries,json=skipBinaries,proto3" json:"skip_binaries,omitempty"`
SkipArchives bool `protobuf:"varint,8,opt,name=skip_archives,json=skipArchives,proto3" json:"skip_archives,omitempty"`
InstallationType BitbucketInstallationType `protobuf:"varint,9,opt,name=installation_type,json=installationType,proto3,enum=sources.BitbucketInstallationType" json:"installation_type,omitempty"`
OauthAuthorizationEndpoint string `protobuf:"bytes,10,opt,name=oauth_authorization_endpoint,json=oauthAuthorizationEndpoint,proto3" json:"oauth_authorization_endpoint,omitempty"` // endpoint for OAuth authorization flow in Bitbucket Data Center application links
OauthTokenEndpoint string `protobuf:"bytes,11,opt,name=oauth_token_endpoint,json=oauthTokenEndpoint,proto3" json:"oauth_token_endpoint,omitempty"` // endpoint for getting OAuth access/refresh tokens in Bitbucket Data Center application links
OauthScopes []string `protobuf:"bytes,12,rep,name=oauth_scopes,json=oauthScopes,proto3" json:"oauth_scopes,omitempty"` // list of OAuth scopes that the access token is provided
AllowSecretsManagerWrite bool `protobuf:"varint,13,opt,name=allow_secrets_manager_write,json=allowSecretsManagerWrite,proto3" json:"allow_secrets_manager_write,omitempty"` // flag to explicitly allow TruffleHog to write to the user's secrets manager
}
func (x *Bitbucket) Reset() {
*x = Bitbucket{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Bitbucket) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Bitbucket) ProtoMessage() {}
func (x *Bitbucket) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Bitbucket.ProtoReflect.Descriptor instead.
func (*Bitbucket) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{3}
}
func (x *Bitbucket) GetEndpoint() string {
if x != nil {
return x.Endpoint
}
return ""
}
func (m *Bitbucket) GetCredential() isBitbucket_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *Bitbucket) GetToken() string {
if x, ok := x.GetCredential().(*Bitbucket_Token); ok {
return x.Token
}
return ""
}
func (x *Bitbucket) GetOauth() *credentialspb.Oauth2 {
if x, ok := x.GetCredential().(*Bitbucket_Oauth); ok {
return x.Oauth
}
return nil
}
func (x *Bitbucket) GetBasicAuth() *credentialspb.BasicAuth {
if x, ok := x.GetCredential().(*Bitbucket_BasicAuth); ok {
return x.BasicAuth
}
return nil
}
func (x *Bitbucket) GetApiToken() *credentialspb.BitbucketApiToken {
if x, ok := x.GetCredential().(*Bitbucket_ApiToken); ok {
return x.ApiToken
}
return nil
}
func (x *Bitbucket) GetRepositories() []string {
if x != nil {
return x.Repositories
}
return nil
}
func (x *Bitbucket) GetIgnoreRepos() []string {
if x != nil {
return x.IgnoreRepos
}
return nil
}
func (x *Bitbucket) GetSkipBinaries() bool {
if x != nil {
return x.SkipBinaries
}
return false
}
func (x *Bitbucket) GetSkipArchives() bool {
if x != nil {
return x.SkipArchives
}
return false
}
func (x *Bitbucket) GetInstallationType() BitbucketInstallationType {
if x != nil {
return x.InstallationType
}
return BitbucketInstallationType_AUTODETECT
}
func (x *Bitbucket) GetOauthAuthorizationEndpoint() string {
if x != nil {
return x.OauthAuthorizationEndpoint
}
return ""
}
func (x *Bitbucket) GetOauthTokenEndpoint() string {
if x != nil {
return x.OauthTokenEndpoint
}
return ""
}
func (x *Bitbucket) GetOauthScopes() []string {
if x != nil {
return x.OauthScopes
}
return nil
}
func (x *Bitbucket) GetAllowSecretsManagerWrite() bool {
if x != nil {
return x.AllowSecretsManagerWrite
}
return false
}
type isBitbucket_Credential interface {
isBitbucket_Credential()
}
type Bitbucket_Token struct {
Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}
type Bitbucket_Oauth struct {
Oauth *credentialspb.Oauth2 `protobuf:"bytes,3,opt,name=oauth,proto3,oneof"`
}
type Bitbucket_BasicAuth struct {
BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,4,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}
type Bitbucket_ApiToken struct {
ApiToken *credentialspb.BitbucketApiToken `protobuf:"bytes,14,opt,name=api_token,json=apiToken,proto3,oneof"`
}
func (*Bitbucket_Token) isBitbucket_Credential() {}
func (*Bitbucket_Oauth) isBitbucket_Credential() {}
func (*Bitbucket_BasicAuth) isBitbucket_Credential() {}
func (*Bitbucket_ApiToken) isBitbucket_Credential() {}
type CircleCI struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
// Types that are assignable to Credential:
//
// *CircleCI_Token
Credential isCircleCI_Credential `protobuf_oneof:"credential"`
}
func (x *CircleCI) Reset() {
*x = CircleCI{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CircleCI) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CircleCI) ProtoMessage() {}
func (x *CircleCI) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CircleCI.ProtoReflect.Descriptor instead.
func (*CircleCI) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{4}
}
func (x *CircleCI) GetEndpoint() string {
if x != nil {
return x.Endpoint
}
return ""
}
func (m *CircleCI) GetCredential() isCircleCI_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *CircleCI) GetToken() string {
if x, ok := x.GetCredential().(*CircleCI_Token); ok {
return x.Token
}
return ""
}
type isCircleCI_Credential interface {
isCircleCI_Credential()
}
type CircleCI_Token struct {
Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}
func (*CircleCI_Token) isCircleCI_Credential() {}
type TravisCI struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
// Types that are assignable to Credential:
//
// *TravisCI_Token
Credential isTravisCI_Credential `protobuf_oneof:"credential"`
}
func (x *TravisCI) Reset() {
*x = TravisCI{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TravisCI) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TravisCI) ProtoMessage() {}
func (x *TravisCI) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TravisCI.ProtoReflect.Descriptor instead.
func (*TravisCI) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{5}
}
func (x *TravisCI) GetEndpoint() string {
if x != nil {
return x.Endpoint
}
return ""
}
func (m *TravisCI) GetCredential() isTravisCI_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *TravisCI) GetToken() string {
if x, ok := x.GetCredential().(*TravisCI_Token); ok {
return x.Token
}
return ""
}
type isTravisCI_Credential interface {
isTravisCI_Credential()
}
type TravisCI_Token struct {
Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}
func (*TravisCI_Token) isTravisCI_Credential() {}
type Confluence struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
// Types that are assignable to Credential:
//
// *Confluence_Unauthenticated
// *Confluence_BasicAuth
// *Confluence_Token
Credential isConfluence_Credential `protobuf_oneof:"credential"`
SpacesScope Confluence_GetAllSpacesScope `protobuf:"varint,5,opt,name=spaces_scope,json=spacesScope,proto3,enum=sources.Confluence_GetAllSpacesScope" json:"spaces_scope,omitempty"`
InsecureSkipVerifyTls bool `protobuf:"varint,6,opt,name=insecure_skip_verify_tls,json=insecureSkipVerifyTls,proto3" json:"insecure_skip_verify_tls,omitempty"`
Spaces []string `protobuf:"bytes,7,rep,name=spaces,proto3" json:"spaces,omitempty"`
IgnoreSpaces []string `protobuf:"bytes,8,rep,name=ignore_spaces,json=ignoreSpaces,proto3" json:"ignore_spaces,omitempty"`
IncludeAttachments bool `protobuf:"varint,9,opt,name=include_attachments,json=includeAttachments,proto3" json:"include_attachments,omitempty"`
SkipHistory bool `protobuf:"varint,10,opt,name=skip_history,json=skipHistory,proto3" json:"skip_history,omitempty"`
IncludeComments bool `protobuf:"varint,11,opt,name=include_comments,json=includeComments,proto3" json:"include_comments,omitempty"`
}
func (x *Confluence) Reset() {
*x = Confluence{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Confluence) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Confluence) ProtoMessage() {}
func (x *Confluence) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Confluence.ProtoReflect.Descriptor instead.
func (*Confluence) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{6}
}
func (x *Confluence) GetEndpoint() string {
if x != nil {
return x.Endpoint
}
return ""
}
func (m *Confluence) GetCredential() isConfluence_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *Confluence) GetUnauthenticated() *credentialspb.Unauthenticated {
if x, ok := x.GetCredential().(*Confluence_Unauthenticated); ok {
return x.Unauthenticated
}
return nil
}
func (x *Confluence) GetBasicAuth() *credentialspb.BasicAuth {
if x, ok := x.GetCredential().(*Confluence_BasicAuth); ok {
return x.BasicAuth
}
return nil
}
func (x *Confluence) GetToken() string {
if x, ok := x.GetCredential().(*Confluence_Token); ok {
return x.Token
}
return ""
}
func (x *Confluence) GetSpacesScope() Confluence_GetAllSpacesScope {
if x != nil {
return x.SpacesScope
}
return Confluence_ALL
}
func (x *Confluence) GetInsecureSkipVerifyTls() bool {
if x != nil {
return x.InsecureSkipVerifyTls
}
return false
}
func (x *Confluence) GetSpaces() []string {
if x != nil {
return x.Spaces
}
return nil
}
func (x *Confluence) GetIgnoreSpaces() []string {
if x != nil {
return x.IgnoreSpaces
}
return nil
}
func (x *Confluence) GetIncludeAttachments() bool {
if x != nil {
return x.IncludeAttachments
}
return false
}
func (x *Confluence) GetSkipHistory() bool {
if x != nil {
return x.SkipHistory
}
return false
}
func (x *Confluence) GetIncludeComments() bool {
if x != nil {
return x.IncludeComments
}
return false
}
type isConfluence_Credential interface {
isConfluence_Credential()
}
type Confluence_Unauthenticated struct {
Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,2,opt,name=unauthenticated,proto3,oneof"`
}
type Confluence_BasicAuth struct {
BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,3,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}
type Confluence_Token struct {
Token string `protobuf:"bytes,4,opt,name=token,proto3,oneof"`
}
func (*Confluence_Unauthenticated) isConfluence_Credential() {}
func (*Confluence_BasicAuth) isConfluence_Credential() {}
func (*Confluence_Token) isConfluence_Credential() {}
type Docker struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Credential:
//
// *Docker_Unauthenticated
// *Docker_BasicAuth
// *Docker_BearerToken
// *Docker_DockerKeychain
Credential isDocker_Credential `protobuf_oneof:"credential"`
Images []string `protobuf:"bytes,5,rep,name=images,proto3" json:"images,omitempty"`
ExcludePaths []string `protobuf:"bytes,6,rep,name=exclude_paths,json=excludePaths,proto3" json:"exclude_paths,omitempty"`
Namespace string `protobuf:"bytes,7,opt,name=namespace,proto3" json:"namespace,omitempty"`
RegistryToken string `protobuf:"bytes,8,opt,name=registry_token,json=registryToken,proto3" json:"registry_token,omitempty"`
}
func (x *Docker) Reset() {
*x = Docker{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Docker) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Docker) ProtoMessage() {}
func (x *Docker) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Docker.ProtoReflect.Descriptor instead.
func (*Docker) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{7}
}
func (m *Docker) GetCredential() isDocker_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *Docker) GetUnauthenticated() *credentialspb.Unauthenticated {
if x, ok := x.GetCredential().(*Docker_Unauthenticated); ok {
return x.Unauthenticated
}
return nil
}
func (x *Docker) GetBasicAuth() *credentialspb.BasicAuth {
if x, ok := x.GetCredential().(*Docker_BasicAuth); ok {
return x.BasicAuth
}
return nil
}
func (x *Docker) GetBearerToken() string {
if x, ok := x.GetCredential().(*Docker_BearerToken); ok {
return x.BearerToken
}
return ""
}
func (x *Docker) GetDockerKeychain() bool {
if x, ok := x.GetCredential().(*Docker_DockerKeychain); ok {
return x.DockerKeychain
}
return false
}
func (x *Docker) GetImages() []string {
if x != nil {
return x.Images
}
return nil
}
func (x *Docker) GetExcludePaths() []string {
if x != nil {
return x.ExcludePaths
}
return nil
}
func (x *Docker) GetNamespace() string {
if x != nil {
return x.Namespace
}
return ""
}
func (x *Docker) GetRegistryToken() string {
if x != nil {
return x.RegistryToken
}
return ""
}
type isDocker_Credential interface {
isDocker_Credential()
}
type Docker_Unauthenticated struct {
Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,1,opt,name=unauthenticated,proto3,oneof"`
}
type Docker_BasicAuth struct {
BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,2,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}
type Docker_BearerToken struct {
BearerToken string `protobuf:"bytes,3,opt,name=bearer_token,json=bearerToken,proto3,oneof"`
}
type Docker_DockerKeychain struct {
DockerKeychain bool `protobuf:"varint,4,opt,name=docker_keychain,json=dockerKeychain,proto3,oneof"`
}
func (*Docker_Unauthenticated) isDocker_Credential() {}
func (*Docker_BasicAuth) isDocker_Credential() {}
func (*Docker_BearerToken) isDocker_Credential() {}
func (*Docker_DockerKeychain) isDocker_Credential() {}
type ECR struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Credential:
//
// *ECR_AccessKey
Credential isECR_Credential `protobuf_oneof:"credential"`
Registries []string `protobuf:"bytes,2,rep,name=registries,proto3" json:"registries,omitempty"`
}
func (x *ECR) Reset() {
*x = ECR{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ECR) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ECR) ProtoMessage() {}
func (x *ECR) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ECR.ProtoReflect.Descriptor instead.
func (*ECR) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{8}
}
func (m *ECR) GetCredential() isECR_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *ECR) GetAccessKey() *credentialspb.KeySecret {
if x, ok := x.GetCredential().(*ECR_AccessKey); ok {
return x.AccessKey
}
return nil
}
func (x *ECR) GetRegistries() []string {
if x != nil {
return x.Registries
}
return nil
}
type isECR_Credential interface {
isECR_Credential()
}
type ECR_AccessKey struct {
AccessKey *credentialspb.KeySecret `protobuf:"bytes,1,opt,name=access_key,json=accessKey,proto3,oneof"`
}
func (*ECR_AccessKey) isECR_Credential() {}
type Filesystem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// DEPRECATED: directories is deprecated and can be removed / renamed to
// paths when we no longer depend on the name in enterprise configs.
Directories []string `protobuf:"bytes,1,rep,name=directories,proto3" json:"directories,omitempty"`
Paths []string `protobuf:"bytes,2,rep,name=paths,proto3" json:"paths,omitempty"`
IncludePathsFile string `protobuf:"bytes,3,opt,name=include_paths_file,json=includePathsFile,proto3" json:"include_paths_file,omitempty"` // path to file containing newline separated list of paths
ExcludePathsFile string `protobuf:"bytes,4,opt,name=exclude_paths_file,json=excludePathsFile,proto3" json:"exclude_paths_file,omitempty"` // path to file containing newline separated list of paths
SkipBinaries bool `protobuf:"varint,5,opt,name=skip_binaries,json=skipBinaries,proto3" json:"skip_binaries,omitempty"` // allows skipping binary files from the scan
MaxSymlinkDepth int32 `protobuf:"varint,6,opt,name=max_symlink_depth,json=maxSymlinkDepth,proto3" json:"max_symlink_depth,omitempty"` // allows following symlinks upto specified max depth
}
func (x *Filesystem) Reset() {
*x = Filesystem{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Filesystem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Filesystem) ProtoMessage() {}
func (x *Filesystem) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Filesystem.ProtoReflect.Descriptor instead.
func (*Filesystem) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{9}
}
func (x *Filesystem) GetDirectories() []string {
if x != nil {
return x.Directories
}
return nil
}
func (x *Filesystem) GetPaths() []string {
if x != nil {
return x.Paths
}
return nil
}
func (x *Filesystem) GetIncludePathsFile() string {
if x != nil {
return x.IncludePathsFile
}
return ""
}
func (x *Filesystem) GetExcludePathsFile() string {
if x != nil {
return x.ExcludePathsFile
}
return ""
}
func (x *Filesystem) GetSkipBinaries() bool {
if x != nil {
return x.SkipBinaries
}
return false
}
func (x *Filesystem) GetMaxSymlinkDepth() int32 {
if x != nil {
return x.MaxSymlinkDepth
}
return 0
}
type GCS struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Credential:
//
// *GCS_JsonServiceAccount
// *GCS_ApiKey
// *GCS_Unauthenticated
// *GCS_Adc
// *GCS_ServiceAccountFile
// *GCS_Oauth
Credential isGCS_Credential `protobuf_oneof:"credential"`
ProjectId string `protobuf:"bytes,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
IncludeBuckets []string `protobuf:"bytes,6,rep,name=include_buckets,json=includeBuckets,proto3" json:"include_buckets,omitempty"`
ExcludeBuckets []string `protobuf:"bytes,7,rep,name=exclude_buckets,json=excludeBuckets,proto3" json:"exclude_buckets,omitempty"`
IncludeObjects []string `protobuf:"bytes,8,rep,name=include_objects,json=includeObjects,proto3" json:"include_objects,omitempty"`
ExcludeObjects []string `protobuf:"bytes,9,rep,name=exclude_objects,json=excludeObjects,proto3" json:"exclude_objects,omitempty"`
MaxObjectSize int64 `protobuf:"varint,10,opt,name=max_object_size,json=maxObjectSize,proto3" json:"max_object_size,omitempty"`
}
func (x *GCS) Reset() {
*x = GCS{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GCS) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GCS) ProtoMessage() {}
func (x *GCS) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GCS.ProtoReflect.Descriptor instead.
func (*GCS) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{10}
}
func (m *GCS) GetCredential() isGCS_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *GCS) GetJsonServiceAccount() string {
if x, ok := x.GetCredential().(*GCS_JsonServiceAccount); ok {
return x.JsonServiceAccount
}
return ""
}
func (x *GCS) GetApiKey() string {
if x, ok := x.GetCredential().(*GCS_ApiKey); ok {
return x.ApiKey
}
return ""
}
func (x *GCS) GetUnauthenticated() *credentialspb.Unauthenticated {
if x, ok := x.GetCredential().(*GCS_Unauthenticated); ok {
return x.Unauthenticated
}
return nil
}
func (x *GCS) GetAdc() *credentialspb.CloudEnvironment {
if x, ok := x.GetCredential().(*GCS_Adc); ok {
return x.Adc
}
return nil
}
func (x *GCS) GetServiceAccountFile() string {
if x, ok := x.GetCredential().(*GCS_ServiceAccountFile); ok {
return x.ServiceAccountFile
}
return ""
}
func (x *GCS) GetOauth() *credentialspb.Oauth2 {
if x, ok := x.GetCredential().(*GCS_Oauth); ok {
return x.Oauth
}
return nil
}
func (x *GCS) GetProjectId() string {
if x != nil {
return x.ProjectId
}
return ""
}
func (x *GCS) GetIncludeBuckets() []string {
if x != nil {
return x.IncludeBuckets
}
return nil
}
func (x *GCS) GetExcludeBuckets() []string {
if x != nil {
return x.ExcludeBuckets
}
return nil
}
func (x *GCS) GetIncludeObjects() []string {
if x != nil {
return x.IncludeObjects
}
return nil
}
func (x *GCS) GetExcludeObjects() []string {
if x != nil {
return x.ExcludeObjects
}
return nil
}
func (x *GCS) GetMaxObjectSize() int64 {
if x != nil {
return x.MaxObjectSize
}
return 0
}
type isGCS_Credential interface {
isGCS_Credential()
}
type GCS_JsonServiceAccount struct {
JsonServiceAccount string `protobuf:"bytes,1,opt,name=json_service_account,json=jsonServiceAccount,proto3,oneof"`
}
type GCS_ApiKey struct {
ApiKey string `protobuf:"bytes,2,opt,name=api_key,json=apiKey,proto3,oneof"`
}
type GCS_Unauthenticated struct {
Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,3,opt,name=unauthenticated,proto3,oneof"`
}
type GCS_Adc struct {
Adc *credentialspb.CloudEnvironment `protobuf:"bytes,4,opt,name=adc,proto3,oneof"`
}
type GCS_ServiceAccountFile struct {
ServiceAccountFile string `protobuf:"bytes,11,opt,name=service_account_file,json=serviceAccountFile,proto3,oneof"`
}
type GCS_Oauth struct {
Oauth *credentialspb.Oauth2 `protobuf:"bytes,12,opt,name=oauth,proto3,oneof"`
}
func (*GCS_JsonServiceAccount) isGCS_Credential() {}
func (*GCS_ApiKey) isGCS_Credential() {}
func (*GCS_Unauthenticated) isGCS_Credential() {}
func (*GCS_Adc) isGCS_Credential() {}
func (*GCS_ServiceAccountFile) isGCS_Credential() {}
func (*GCS_Oauth) isGCS_Credential() {}
type Git struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Credential:
//
// *Git_BasicAuth
// *Git_Unauthenticated
// *Git_SshAuth
Credential isGit_Credential `protobuf_oneof:"credential"`
Directories []string `protobuf:"bytes,3,rep,name=directories,proto3" json:"directories,omitempty"`
Repositories []string `protobuf:"bytes,4,rep,name=repositories,proto3" json:"repositories,omitempty"`
Head string `protobuf:"bytes,6,opt,name=head,proto3" json:"head,omitempty"`
Base string `protobuf:"bytes,7,opt,name=base,proto3" json:"base,omitempty"`
Bare bool `protobuf:"varint,8,opt,name=bare,proto3" json:"bare,omitempty"`
IncludePathsFile string `protobuf:"bytes,9,opt,name=include_paths_file,json=includePathsFile,proto3" json:"include_paths_file,omitempty"` // path to file containing newline separated list of paths
ExcludePathsFile string `protobuf:"bytes,10,opt,name=exclude_paths_file,json=excludePathsFile,proto3" json:"exclude_paths_file,omitempty"` // path to file containing newline separated list of paths
ExcludeGlobs string `protobuf:"bytes,11,opt,name=exclude_globs,json=excludeGlobs,proto3" json:"exclude_globs,omitempty"` // comma separated list of globs
MaxDepth int64 `protobuf:"varint,12,opt,name=max_depth,json=maxDepth,proto3" json:"max_depth,omitempty"`
// This field is generally used by the CLI or within CI/CD systems to specify a single repository,
// whereas the repositories field is used by the enterprise config to specify multiple repositories.
// Passing a single repository via the uri field also allows for additional options to be specified
// like head, base, bare, etc.
Uri string `protobuf:"bytes,13,opt,name=uri,proto3" json:"uri,omitempty"` // repository URL. https://, file://, or ssh://
SkipBinaries bool `protobuf:"varint,14,opt,name=skip_binaries,json=skipBinaries,proto3" json:"skip_binaries,omitempty"`
SkipArchives bool `protobuf:"varint,15,opt,name=skip_archives,json=skipArchives,proto3" json:"skip_archives,omitempty"`
ClonePath string `protobuf:"bytes,16,opt,name=clone_path,json=clonePath,proto3" json:"clone_path,omitempty"`
NoCleanup bool `protobuf:"varint,17,opt,name=no_cleanup,json=noCleanup,proto3" json:"no_cleanup,omitempty"`
PrintLegacyJson bool `protobuf:"varint,18,opt,name=print_legacy_json,json=printLegacyJson,proto3" json:"print_legacy_json,omitempty"`
TrustLocalGitConfig bool `protobuf:"varint,19,opt,name=trust_local_git_config,json=trustLocalGitConfig,proto3" json:"trust_local_git_config,omitempty"` // Trust local git configurations
}
func (x *Git) Reset() {
*x = Git{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Git) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Git) ProtoMessage() {}
func (x *Git) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Git.ProtoReflect.Descriptor instead.
func (*Git) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{11}
}
func (m *Git) GetCredential() isGit_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *Git) GetBasicAuth() *credentialspb.BasicAuth {
if x, ok := x.GetCredential().(*Git_BasicAuth); ok {
return x.BasicAuth
}
return nil
}
func (x *Git) GetUnauthenticated() *credentialspb.Unauthenticated {
if x, ok := x.GetCredential().(*Git_Unauthenticated); ok {
return x.Unauthenticated
}
return nil
}
func (x *Git) GetSshAuth() *credentialspb.SSHAuth {
if x, ok := x.GetCredential().(*Git_SshAuth); ok {
return x.SshAuth
}
return nil
}
func (x *Git) GetDirectories() []string {
if x != nil {
return x.Directories
}
return nil
}
func (x *Git) GetRepositories() []string {
if x != nil {
return x.Repositories
}
return nil
}
func (x *Git) GetHead() string {
if x != nil {
return x.Head
}
return ""
}
func (x *Git) GetBase() string {
if x != nil {
return x.Base
}
return ""
}
func (x *Git) GetBare() bool {
if x != nil {
return x.Bare
}
return false
}
func (x *Git) GetIncludePathsFile() string {
if x != nil {
return x.IncludePathsFile
}
return ""
}
func (x *Git) GetExcludePathsFile() string {
if x != nil {
return x.ExcludePathsFile
}
return ""
}
func (x *Git) GetExcludeGlobs() string {
if x != nil {
return x.ExcludeGlobs
}
return ""
}
func (x *Git) GetMaxDepth() int64 {
if x != nil {
return x.MaxDepth
}
return 0
}
func (x *Git) GetUri() string {
if x != nil {
return x.Uri
}
return ""
}
func (x *Git) GetSkipBinaries() bool {
if x != nil {
return x.SkipBinaries
}
return false
}
func (x *Git) GetSkipArchives() bool {
if x != nil {
return x.SkipArchives
}
return false
}
func (x *Git) GetClonePath() string {
if x != nil {
return x.ClonePath
}
return ""
}
func (x *Git) GetNoCleanup() bool {
if x != nil {
return x.NoCleanup
}
return false
}
func (x *Git) GetPrintLegacyJson() bool {
if x != nil {
return x.PrintLegacyJson
}
return false
}
func (x *Git) GetTrustLocalGitConfig() bool {
if x != nil {
return x.TrustLocalGitConfig
}
return false
}
type isGit_Credential interface {
isGit_Credential()
}
type Git_BasicAuth struct {
BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,1,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}
type Git_Unauthenticated struct {
Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,2,opt,name=unauthenticated,proto3,oneof"`
}
type Git_SshAuth struct {
SshAuth *credentialspb.SSHAuth `protobuf:"bytes,5,opt,name=ssh_auth,json=sshAuth,proto3,oneof"`
}
func (*Git_BasicAuth) isGit_Credential() {}
func (*Git_Unauthenticated) isGit_Credential() {}
func (*Git_SshAuth) isGit_Credential() {}
type GitLab struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
// Types that are assignable to Credential:
//
// *GitLab_Token
// *GitLab_Oauth
// *GitLab_BasicAuth
Credential isGitLab_Credential `protobuf_oneof:"credential"`
Repositories []string `protobuf:"bytes,5,rep,name=repositories,proto3" json:"repositories,omitempty"`
IgnoreRepos []string `protobuf:"bytes,6,rep,name=ignore_repos,json=ignoreRepos,proto3" json:"ignore_repos,omitempty"`
SkipBinaries bool `protobuf:"varint,7,opt,name=skip_binaries,json=skipBinaries,proto3" json:"skip_binaries,omitempty"`
SkipArchives bool `protobuf:"varint,8,opt,name=skip_archives,json=skipArchives,proto3" json:"skip_archives,omitempty"`
IncludeRepos []string `protobuf:"bytes,9,rep,name=include_repos,json=includeRepos,proto3" json:"include_repos,omitempty"`
ExcludeProjectsSharedIntoGroups bool `protobuf:"varint,10,opt,name=exclude_projects_shared_into_groups,json=excludeProjectsSharedIntoGroups,proto3" json:"exclude_projects_shared_into_groups,omitempty"`
RemoveAuthInUrl bool `protobuf:"varint,11,opt,name=remove_auth_in_url,json=removeAuthInUrl,proto3" json:"remove_auth_in_url,omitempty"`
GroupIds []string `protobuf:"bytes,12,rep,name=group_ids,json=groupIds,proto3" json:"group_ids,omitempty"`
ClonePath string `protobuf:"bytes,13,opt,name=clone_path,json=clonePath,proto3" json:"clone_path,omitempty"`
NoCleanup bool `protobuf:"varint,14,opt,name=no_cleanup,json=noCleanup,proto3" json:"no_cleanup,omitempty"`
PrintLegacyJson bool `protobuf:"varint,15,opt,name=print_legacy_json,json=printLegacyJson,proto3" json:"print_legacy_json,omitempty"`
}
func (x *GitLab) Reset() {
*x = GitLab{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GitLab) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GitLab) ProtoMessage() {}
func (x *GitLab) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GitLab.ProtoReflect.Descriptor instead.
func (*GitLab) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{12}
}
func (x *GitLab) GetEndpoint() string {
if x != nil {
return x.Endpoint
}
return ""
}
func (m *GitLab) GetCredential() isGitLab_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *GitLab) GetToken() string {
if x, ok := x.GetCredential().(*GitLab_Token); ok {
return x.Token
}
return ""
}
func (x *GitLab) GetOauth() *credentialspb.Oauth2 {
if x, ok := x.GetCredential().(*GitLab_Oauth); ok {
return x.Oauth
}
return nil
}
func (x *GitLab) GetBasicAuth() *credentialspb.BasicAuth {
if x, ok := x.GetCredential().(*GitLab_BasicAuth); ok {
return x.BasicAuth
}
return nil
}
func (x *GitLab) GetRepositories() []string {
if x != nil {
return x.Repositories
}
return nil
}
func (x *GitLab) GetIgnoreRepos() []string {
if x != nil {
return x.IgnoreRepos
}
return nil
}
func (x *GitLab) GetSkipBinaries() bool {
if x != nil {
return x.SkipBinaries
}
return false
}
func (x *GitLab) GetSkipArchives() bool {
if x != nil {
return x.SkipArchives
}
return false
}
func (x *GitLab) GetIncludeRepos() []string {
if x != nil {
return x.IncludeRepos
}
return nil
}
func (x *GitLab) GetExcludeProjectsSharedIntoGroups() bool {
if x != nil {
return x.ExcludeProjectsSharedIntoGroups
}
return false
}
func (x *GitLab) GetRemoveAuthInUrl() bool {
if x != nil {
return x.RemoveAuthInUrl
}
return false
}
func (x *GitLab) GetGroupIds() []string {
if x != nil {
return x.GroupIds
}
return nil
}
func (x *GitLab) GetClonePath() string {
if x != nil {
return x.ClonePath
}
return ""
}
func (x *GitLab) GetNoCleanup() bool {
if x != nil {
return x.NoCleanup
}
return false
}
func (x *GitLab) GetPrintLegacyJson() bool {
if x != nil {
return x.PrintLegacyJson
}
return false
}
type isGitLab_Credential interface {
isGitLab_Credential()
}
type GitLab_Token struct {
Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}
type GitLab_Oauth struct {
Oauth *credentialspb.Oauth2 `protobuf:"bytes,3,opt,name=oauth,proto3,oneof"`
}
type GitLab_BasicAuth struct {
BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,4,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}
func (*GitLab_Token) isGitLab_Credential() {}
func (*GitLab_Oauth) isGitLab_Credential() {}
func (*GitLab_BasicAuth) isGitLab_Credential() {}
type GitHub struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
// Types that are assignable to Credential:
//
// *GitHub_GithubApp
// *GitHub_Token
// *GitHub_Unauthenticated
// *GitHub_BasicAuth
Credential isGitHub_Credential `protobuf_oneof:"credential"`
Repositories []string `protobuf:"bytes,5,rep,name=repositories,proto3" json:"repositories,omitempty"`
Organizations []string `protobuf:"bytes,6,rep,name=organizations,proto3" json:"organizations,omitempty"`
ScanUsers bool `protobuf:"varint,7,opt,name=scanUsers,proto3" json:"scanUsers,omitempty"`
IncludeForks bool `protobuf:"varint,8,opt,name=includeForks,proto3" json:"includeForks,omitempty"`
Head string `protobuf:"bytes,9,opt,name=head,proto3" json:"head,omitempty"`
Base string `protobuf:"bytes,10,opt,name=base,proto3" json:"base,omitempty"`
IgnoreRepos []string `protobuf:"bytes,11,rep,name=ignore_repos,json=ignoreRepos,proto3" json:"ignore_repos,omitempty"`
IncludeRepos []string `protobuf:"bytes,12,rep,name=include_repos,json=includeRepos,proto3" json:"include_repos,omitempty"`
IncludePullRequestComments bool `protobuf:"varint,14,opt,name=include_pull_request_comments,json=includePullRequestComments,proto3" json:"include_pull_request_comments,omitempty"`
IncludeIssueComments bool `protobuf:"varint,15,opt,name=include_issue_comments,json=includeIssueComments,proto3" json:"include_issue_comments,omitempty"`
IncludeGistComments bool `protobuf:"varint,16,opt,name=include_gist_comments,json=includeGistComments,proto3" json:"include_gist_comments,omitempty"`
SkipBinaries bool `protobuf:"varint,17,opt,name=skip_binaries,json=skipBinaries,proto3" json:"skip_binaries,omitempty"`
SkipArchives bool `protobuf:"varint,18,opt,name=skip_archives,json=skipArchives,proto3" json:"skip_archives,omitempty"`
IncludeWikis bool `protobuf:"varint,19,opt,name=include_wikis,json=includeWikis,proto3" json:"include_wikis,omitempty"`
CommentsTimeframeDays uint32 `protobuf:"varint,20,opt,name=comments_timeframe_days,json=commentsTimeframeDays,proto3" json:"comments_timeframe_days,omitempty"`
RemoveAuthInUrl bool `protobuf:"varint,21,opt,name=remove_auth_in_url,json=removeAuthInUrl,proto3" json:"remove_auth_in_url,omitempty"`
ClonePath string `protobuf:"bytes,22,opt,name=clone_path,json=clonePath,proto3" json:"clone_path,omitempty"`
NoCleanup bool `protobuf:"varint,23,opt,name=no_cleanup,json=noCleanup,proto3" json:"no_cleanup,omitempty"`
IgnoreGists bool `protobuf:"varint,24,opt,name=ignore_gists,json=ignoreGists,proto3" json:"ignore_gists,omitempty"`
PrintLegacyJson bool `protobuf:"varint,25,opt,name=print_legacy_json,json=printLegacyJson,proto3" json:"print_legacy_json,omitempty"`
// When using GitHub App credentials, enumerate repositories from every app installation.
ScanAllInstallations bool `protobuf:"varint,26,opt,name=scan_all_installations,json=scanAllInstallations,proto3" json:"scan_all_installations,omitempty"`
ExcludeArchived bool `protobuf:"varint,27,opt,name=exclude_archived,json=excludeArchived,proto3" json:"exclude_archived,omitempty"`
}
func (x *GitHub) Reset() {
*x = GitHub{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GitHub) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GitHub) ProtoMessage() {}
func (x *GitHub) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GitHub.ProtoReflect.Descriptor instead.
func (*GitHub) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{13}
}
func (x *GitHub) GetEndpoint() string {
if x != nil {
return x.Endpoint
}
return ""
}
func (m *GitHub) GetCredential() isGitHub_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *GitHub) GetGithubApp() *credentialspb.GitHubApp {
if x, ok := x.GetCredential().(*GitHub_GithubApp); ok {
return x.GithubApp
}
return nil
}
func (x *GitHub) GetToken() string {
if x, ok := x.GetCredential().(*GitHub_Token); ok {
return x.Token
}
return ""
}
func (x *GitHub) GetUnauthenticated() *credentialspb.Unauthenticated {
if x, ok := x.GetCredential().(*GitHub_Unauthenticated); ok {
return x.Unauthenticated
}
return nil
}
func (x *GitHub) GetBasicAuth() *credentialspb.BasicAuth {
if x, ok := x.GetCredential().(*GitHub_BasicAuth); ok {
return x.BasicAuth
}
return nil
}
func (x *GitHub) GetRepositories() []string {
if x != nil {
return x.Repositories
}
return nil
}
func (x *GitHub) GetOrganizations() []string {
if x != nil {
return x.Organizations
}
return nil
}
func (x *GitHub) GetScanUsers() bool {
if x != nil {
return x.ScanUsers
}
return false
}
func (x *GitHub) GetIncludeForks() bool {
if x != nil {
return x.IncludeForks
}
return false
}
func (x *GitHub) GetHead() string {
if x != nil {
return x.Head
}
return ""
}
func (x *GitHub) GetBase() string {
if x != nil {
return x.Base
}
return ""
}
func (x *GitHub) GetIgnoreRepos() []string {
if x != nil {
return x.IgnoreRepos
}
return nil
}
func (x *GitHub) GetIncludeRepos() []string {
if x != nil {
return x.IncludeRepos
}
return nil
}
func (x *GitHub) GetIncludePullRequestComments() bool {
if x != nil {
return x.IncludePullRequestComments
}
return false
}
func (x *GitHub) GetIncludeIssueComments() bool {
if x != nil {
return x.IncludeIssueComments
}
return false
}
func (x *GitHub) GetIncludeGistComments() bool {
if x != nil {
return x.IncludeGistComments
}
return false
}
func (x *GitHub) GetSkipBinaries() bool {
if x != nil {
return x.SkipBinaries
}
return false
}
func (x *GitHub) GetSkipArchives() bool {
if x != nil {
return x.SkipArchives
}
return false
}
func (x *GitHub) GetIncludeWikis() bool {
if x != nil {
return x.IncludeWikis
}
return false
}
func (x *GitHub) GetCommentsTimeframeDays() uint32 {
if x != nil {
return x.CommentsTimeframeDays
}
return 0
}
func (x *GitHub) GetRemoveAuthInUrl() bool {
if x != nil {
return x.RemoveAuthInUrl
}
return false
}
func (x *GitHub) GetClonePath() string {
if x != nil {
return x.ClonePath
}
return ""
}
func (x *GitHub) GetNoCleanup() bool {
if x != nil {
return x.NoCleanup
}
return false
}
func (x *GitHub) GetIgnoreGists() bool {
if x != nil {
return x.IgnoreGists
}
return false
}
func (x *GitHub) GetPrintLegacyJson() bool {
if x != nil {
return x.PrintLegacyJson
}
return false
}
func (x *GitHub) GetScanAllInstallations() bool {
if x != nil {
return x.ScanAllInstallations
}
return false
}
func (x *GitHub) GetExcludeArchived() bool {
if x != nil {
return x.ExcludeArchived
}
return false
}
type isGitHub_Credential interface {
isGitHub_Credential()
}
type GitHub_GithubApp struct {
GithubApp *credentialspb.GitHubApp `protobuf:"bytes,2,opt,name=github_app,json=githubApp,proto3,oneof"`
}
type GitHub_Token struct {
Token string `protobuf:"bytes,3,opt,name=token,proto3,oneof"`
}
type GitHub_Unauthenticated struct {
Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,4,opt,name=unauthenticated,proto3,oneof"`
}
type GitHub_BasicAuth struct {
BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,13,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}
func (*GitHub_GithubApp) isGitHub_Credential() {}
func (*GitHub_Token) isGitHub_Credential() {}
func (*GitHub_Unauthenticated) isGitHub_Credential() {}
func (*GitHub_BasicAuth) isGitHub_Credential() {}
type GitHubExperimental struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Repository string `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"`
// Types that are assignable to Credential:
//
// *GitHubExperimental_Token
Credential isGitHubExperimental_Credential `protobuf_oneof:"credential"`
ObjectDiscovery bool `protobuf:"varint,3,opt,name=object_discovery,json=objectDiscovery,proto3" json:"object_discovery,omitempty"`
CollisionThreshold int64 `protobuf:"varint,4,opt,name=collision_threshold,json=collisionThreshold,proto3" json:"collision_threshold,omitempty"`
DeleteCachedData bool `protobuf:"varint,5,opt,name=delete_cached_data,json=deleteCachedData,proto3" json:"delete_cached_data,omitempty"`
}
func (x *GitHubExperimental) Reset() {
*x = GitHubExperimental{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GitHubExperimental) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GitHubExperimental) ProtoMessage() {}
func (x *GitHubExperimental) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GitHubExperimental.ProtoReflect.Descriptor instead.
func (*GitHubExperimental) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{14}
}
func (x *GitHubExperimental) GetRepository() string {
if x != nil {
return x.Repository
}
return ""
}
func (m *GitHubExperimental) GetCredential() isGitHubExperimental_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *GitHubExperimental) GetToken() string {
if x, ok := x.GetCredential().(*GitHubExperimental_Token); ok {
return x.Token
}
return ""
}
func (x *GitHubExperimental) GetObjectDiscovery() bool {
if x != nil {
return x.ObjectDiscovery
}
return false
}
func (x *GitHubExperimental) GetCollisionThreshold() int64 {
if x != nil {
return x.CollisionThreshold
}
return 0
}
func (x *GitHubExperimental) GetDeleteCachedData() bool {
if x != nil {
return x.DeleteCachedData
}
return false
}
type isGitHubExperimental_Credential interface {
isGitHubExperimental_Credential()
}
type GitHubExperimental_Token struct {
Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}
func (*GitHubExperimental_Token) isGitHubExperimental_Credential() {}
type GitHubRealtime struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ListenerPort uint32 `protobuf:"varint,1,opt,name=listener_port,json=listenerPort,proto3" json:"listener_port,omitempty"`
WebhookSecret string `protobuf:"bytes,2,opt,name=webhook_secret,json=webhookSecret,proto3" json:"webhook_secret,omitempty"`
Endpoint string `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
// Types that are assignable to Credential:
//
// *GitHubRealtime_GithubApp
// *GitHubRealtime_Token
// *GitHubRealtime_Unauthenticated
// *GitHubRealtime_BasicAuth
Credential isGitHubRealtime_Credential `protobuf_oneof:"credential"`
}
func (x *GitHubRealtime) Reset() {
*x = GitHubRealtime{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GitHubRealtime) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GitHubRealtime) ProtoMessage() {}
func (x *GitHubRealtime) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GitHubRealtime.ProtoReflect.Descriptor instead.
func (*GitHubRealtime) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{15}
}
func (x *GitHubRealtime) GetListenerPort() uint32 {
if x != nil {
return x.ListenerPort
}
return 0
}
func (x *GitHubRealtime) GetWebhookSecret() string {
if x != nil {
return x.WebhookSecret
}
return ""
}
func (x *GitHubRealtime) GetEndpoint() string {
if x != nil {
return x.Endpoint
}
return ""
}
func (m *GitHubRealtime) GetCredential() isGitHubRealtime_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *GitHubRealtime) GetGithubApp() *credentialspb.GitHubApp {
if x, ok := x.GetCredential().(*GitHubRealtime_GithubApp); ok {
return x.GithubApp
}
return nil
}
func (x *GitHubRealtime) GetToken() string {
if x, ok := x.GetCredential().(*GitHubRealtime_Token); ok {
return x.Token
}
return ""
}
func (x *GitHubRealtime) GetUnauthenticated() *credentialspb.Unauthenticated {
if x, ok := x.GetCredential().(*GitHubRealtime_Unauthenticated); ok {
return x.Unauthenticated
}
return nil
}
func (x *GitHubRealtime) GetBasicAuth() *credentialspb.BasicAuth {
if x, ok := x.GetCredential().(*GitHubRealtime_BasicAuth); ok {
return x.BasicAuth
}
return nil
}
type isGitHubRealtime_Credential interface {
isGitHubRealtime_Credential()
}
type GitHubRealtime_GithubApp struct {
GithubApp *credentialspb.GitHubApp `protobuf:"bytes,4,opt,name=github_app,json=githubApp,proto3,oneof"`
}
type GitHubRealtime_Token struct {
Token string `protobuf:"bytes,5,opt,name=token,proto3,oneof"`
}
type GitHubRealtime_Unauthenticated struct {
Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,6,opt,name=unauthenticated,proto3,oneof"`
}
type GitHubRealtime_BasicAuth struct {
BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,7,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}
func (*GitHubRealtime_GithubApp) isGitHubRealtime_Credential() {}
func (*GitHubRealtime_Token) isGitHubRealtime_Credential() {}
func (*GitHubRealtime_Unauthenticated) isGitHubRealtime_Credential() {}
func (*GitHubRealtime_BasicAuth) isGitHubRealtime_Credential() {}
type GoogleDrive struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Credential:
//
// *GoogleDrive_RefreshToken
// *GoogleDrive_UseTokenService
// *GoogleDrive_Oauth
// *GoogleDrive_Dwd
Credential isGoogleDrive_Credential `protobuf_oneof:"credential"`
}
func (x *GoogleDrive) Reset() {
*x = GoogleDrive{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GoogleDrive) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GoogleDrive) ProtoMessage() {}
func (x *GoogleDrive) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GoogleDrive.ProtoReflect.Descriptor instead.
func (*GoogleDrive) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{16}
}
func (m *GoogleDrive) GetCredential() isGoogleDrive_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *GoogleDrive) GetRefreshToken() string {
if x, ok := x.GetCredential().(*GoogleDrive_RefreshToken); ok {
return x.RefreshToken
}
return ""
}
func (x *GoogleDrive) GetUseTokenService() bool {
if x, ok := x.GetCredential().(*GoogleDrive_UseTokenService); ok {
return x.UseTokenService
}
return false
}
func (x *GoogleDrive) GetOauth() *credentialspb.Oauth2 {
if x, ok := x.GetCredential().(*GoogleDrive_Oauth); ok {
return x.Oauth
}
return nil
}
func (x *GoogleDrive) GetDwd() *credentialspb.GoogleDriveDWD {
if x, ok := x.GetCredential().(*GoogleDrive_Dwd); ok {
return x.Dwd
}
return nil
}
type isGoogleDrive_Credential interface {
isGoogleDrive_Credential()
}
type GoogleDrive_RefreshToken struct {
RefreshToken string `protobuf:"bytes,1,opt,name=refresh_token,json=refreshToken,proto3,oneof"`
}
type GoogleDrive_UseTokenService struct {
UseTokenService bool `protobuf:"varint,2,opt,name=use_token_service,json=useTokenService,proto3,oneof"`
}
type GoogleDrive_Oauth struct {
Oauth *credentialspb.Oauth2 `protobuf:"bytes,3,opt,name=oauth,proto3,oneof"` // on-prem scanning
}
type GoogleDrive_Dwd struct {
Dwd *credentialspb.GoogleDriveDWD `protobuf:"bytes,4,opt,name=dwd,proto3,oneof"` // Domain-Wide Delegation
}
func (*GoogleDrive_RefreshToken) isGoogleDrive_Credential() {}
func (*GoogleDrive_UseTokenService) isGoogleDrive_Credential() {}
func (*GoogleDrive_Oauth) isGoogleDrive_Credential() {}
func (*GoogleDrive_Dwd) isGoogleDrive_Credential() {}
type Huggingface struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
// Types that are assignable to Credential:
//
// *Huggingface_Token
// *Huggingface_Unauthenticated
Credential isHuggingface_Credential `protobuf_oneof:"credential"`
Models []string `protobuf:"bytes,4,rep,name=models,proto3" json:"models,omitempty"`
Spaces []string `protobuf:"bytes,5,rep,name=spaces,proto3" json:"spaces,omitempty"`
Datasets []string `protobuf:"bytes,12,rep,name=datasets,proto3" json:"datasets,omitempty"`
Organizations []string `protobuf:"bytes,6,rep,name=organizations,proto3" json:"organizations,omitempty"`
Users []string `protobuf:"bytes,15,rep,name=users,proto3" json:"users,omitempty"`
IgnoreModels []string `protobuf:"bytes,7,rep,name=ignore_models,json=ignoreModels,proto3" json:"ignore_models,omitempty"`
IncludeModels []string `protobuf:"bytes,8,rep,name=include_models,json=includeModels,proto3" json:"include_models,omitempty"`
IgnoreSpaces []string `protobuf:"bytes,9,rep,name=ignore_spaces,json=ignoreSpaces,proto3" json:"ignore_spaces,omitempty"`
IncludeSpaces []string `protobuf:"bytes,10,rep,name=include_spaces,json=includeSpaces,proto3" json:"include_spaces,omitempty"`
IgnoreDatasets []string `protobuf:"bytes,13,rep,name=ignore_datasets,json=ignoreDatasets,proto3" json:"ignore_datasets,omitempty"`
IncludeDatasets []string `protobuf:"bytes,14,rep,name=include_datasets,json=includeDatasets,proto3" json:"include_datasets,omitempty"`
SkipAllModels bool `protobuf:"varint,16,opt,name=skip_all_models,json=skipAllModels,proto3" json:"skip_all_models,omitempty"`
SkipAllSpaces bool `protobuf:"varint,17,opt,name=skip_all_spaces,json=skipAllSpaces,proto3" json:"skip_all_spaces,omitempty"`
SkipAllDatasets bool `protobuf:"varint,18,opt,name=skip_all_datasets,json=skipAllDatasets,proto3" json:"skip_all_datasets,omitempty"`
IncludeDiscussions bool `protobuf:"varint,11,opt,name=include_discussions,json=includeDiscussions,proto3" json:"include_discussions,omitempty"`
IncludePrs bool `protobuf:"varint,19,opt,name=include_prs,json=includePrs,proto3" json:"include_prs,omitempty"`
Buckets []string `protobuf:"bytes,20,rep,name=buckets,proto3" json:"buckets,omitempty"`
IgnoreBuckets []string `protobuf:"bytes,21,rep,name=ignore_buckets,json=ignoreBuckets,proto3" json:"ignore_buckets,omitempty"`
IncludeBuckets []string `protobuf:"bytes,22,rep,name=include_buckets,json=includeBuckets,proto3" json:"include_buckets,omitempty"`
SkipAllBuckets bool `protobuf:"varint,23,opt,name=skip_all_buckets,json=skipAllBuckets,proto3" json:"skip_all_buckets,omitempty"`
}
func (x *Huggingface) Reset() {
*x = Huggingface{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Huggingface) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Huggingface) ProtoMessage() {}
func (x *Huggingface) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Huggingface.ProtoReflect.Descriptor instead.
func (*Huggingface) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{17}
}
func (x *Huggingface) GetEndpoint() string {
if x != nil {
return x.Endpoint
}
return ""
}
func (m *Huggingface) GetCredential() isHuggingface_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *Huggingface) GetToken() string {
if x, ok := x.GetCredential().(*Huggingface_Token); ok {
return x.Token
}
return ""
}
func (x *Huggingface) GetUnauthenticated() *credentialspb.Unauthenticated {
if x, ok := x.GetCredential().(*Huggingface_Unauthenticated); ok {
return x.Unauthenticated
}
return nil
}
func (x *Huggingface) GetModels() []string {
if x != nil {
return x.Models
}
return nil
}
func (x *Huggingface) GetSpaces() []string {
if x != nil {
return x.Spaces
}
return nil
}
func (x *Huggingface) GetDatasets() []string {
if x != nil {
return x.Datasets
}
return nil
}
func (x *Huggingface) GetOrganizations() []string {
if x != nil {
return x.Organizations
}
return nil
}
func (x *Huggingface) GetUsers() []string {
if x != nil {
return x.Users
}
return nil
}
func (x *Huggingface) GetIgnoreModels() []string {
if x != nil {
return x.IgnoreModels
}
return nil
}
func (x *Huggingface) GetIncludeModels() []string {
if x != nil {
return x.IncludeModels
}
return nil
}
func (x *Huggingface) GetIgnoreSpaces() []string {
if x != nil {
return x.IgnoreSpaces
}
return nil
}
func (x *Huggingface) GetIncludeSpaces() []string {
if x != nil {
return x.IncludeSpaces
}
return nil
}
func (x *Huggingface) GetIgnoreDatasets() []string {
if x != nil {
return x.IgnoreDatasets
}
return nil
}
func (x *Huggingface) GetIncludeDatasets() []string {
if x != nil {
return x.IncludeDatasets
}
return nil
}
func (x *Huggingface) GetSkipAllModels() bool {
if x != nil {
return x.SkipAllModels
}
return false
}
func (x *Huggingface) GetSkipAllSpaces() bool {
if x != nil {
return x.SkipAllSpaces
}
return false
}
func (x *Huggingface) GetSkipAllDatasets() bool {
if x != nil {
return x.SkipAllDatasets
}
return false
}
func (x *Huggingface) GetIncludeDiscussions() bool {
if x != nil {
return x.IncludeDiscussions
}
return false
}
func (x *Huggingface) GetIncludePrs() bool {
if x != nil {
return x.IncludePrs
}
return false
}
func (x *Huggingface) GetBuckets() []string {
if x != nil {
return x.Buckets
}
return nil
}
func (x *Huggingface) GetIgnoreBuckets() []string {
if x != nil {
return x.IgnoreBuckets
}
return nil
}
func (x *Huggingface) GetIncludeBuckets() []string {
if x != nil {
return x.IncludeBuckets
}
return nil
}
func (x *Huggingface) GetSkipAllBuckets() bool {
if x != nil {
return x.SkipAllBuckets
}
return false
}
type isHuggingface_Credential interface {
isHuggingface_Credential()
}
type Huggingface_Token struct {
Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}
type Huggingface_Unauthenticated struct {
Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,3,opt,name=unauthenticated,proto3,oneof"`
}
func (*Huggingface_Token) isHuggingface_Credential() {}
func (*Huggingface_Unauthenticated) isHuggingface_Credential() {}
type JIRA struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
// Types that are assignable to Credential:
//
// *JIRA_BasicAuth
// *JIRA_Unauthenticated
// *JIRA_Oauth
// *JIRA_Token
Credential isJIRA_Credential `protobuf_oneof:"credential"`
Projects []string `protobuf:"bytes,5,rep,name=projects,proto3" json:"projects,omitempty"`
IgnoreProjects []string `protobuf:"bytes,7,rep,name=ignore_projects,json=ignoreProjects,proto3" json:"ignore_projects,omitempty"`
InsecureSkipVerifyTls bool `protobuf:"varint,8,opt,name=insecure_skip_verify_tls,json=insecureSkipVerifyTls,proto3" json:"insecure_skip_verify_tls,omitempty"`
// Override autodetection of Jira installation type.
// Defaults to AUTODETECT which checks for cloud-only endpoints.
InstallationType JiraInstallationType `protobuf:"varint,9,opt,name=installation_type,json=installationType,proto3,enum=sources.JiraInstallationType" json:"installation_type,omitempty"`
}
func (x *JIRA) Reset() {
*x = JIRA{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *JIRA) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*JIRA) ProtoMessage() {}
func (x *JIRA) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use JIRA.ProtoReflect.Descriptor instead.
func (*JIRA) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{18}
}
func (x *JIRA) GetEndpoint() string {
if x != nil {
return x.Endpoint
}
return ""
}
func (m *JIRA) GetCredential() isJIRA_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *JIRA) GetBasicAuth() *credentialspb.BasicAuth {
if x, ok := x.GetCredential().(*JIRA_BasicAuth); ok {
return x.BasicAuth
}
return nil
}
func (x *JIRA) GetUnauthenticated() *credentialspb.Unauthenticated {
if x, ok := x.GetCredential().(*JIRA_Unauthenticated); ok {
return x.Unauthenticated
}
return nil
}
func (x *JIRA) GetOauth() *credentialspb.Oauth2 {
if x, ok := x.GetCredential().(*JIRA_Oauth); ok {
return x.Oauth
}
return nil
}
func (x *JIRA) GetToken() string {
if x, ok := x.GetCredential().(*JIRA_Token); ok {
return x.Token
}
return ""
}
func (x *JIRA) GetProjects() []string {
if x != nil {
return x.Projects
}
return nil
}
func (x *JIRA) GetIgnoreProjects() []string {
if x != nil {
return x.IgnoreProjects
}
return nil
}
func (x *JIRA) GetInsecureSkipVerifyTls() bool {
if x != nil {
return x.InsecureSkipVerifyTls
}
return false
}
func (x *JIRA) GetInstallationType() JiraInstallationType {
if x != nil {
return x.InstallationType
}
return JiraInstallationType_JIRA_INSTALLATION_TYPE_AUTODETECT
}
type isJIRA_Credential interface {
isJIRA_Credential()
}
type JIRA_BasicAuth struct {
BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,2,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}
type JIRA_Unauthenticated struct {
Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,3,opt,name=unauthenticated,proto3,oneof"`
}
type JIRA_Oauth struct {
Oauth *credentialspb.Oauth2 `protobuf:"bytes,4,opt,name=oauth,proto3,oneof"`
}
type JIRA_Token struct {
Token string `protobuf:"bytes,6,opt,name=token,proto3,oneof"`
}
func (*JIRA_BasicAuth) isJIRA_Credential() {}
func (*JIRA_Unauthenticated) isJIRA_Credential() {}
func (*JIRA_Oauth) isJIRA_Credential() {}
func (*JIRA_Token) isJIRA_Credential() {}
type NPMUnauthenticatedPackage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Credential:
//
// *NPMUnauthenticatedPackage_Unauthenticated
Credential isNPMUnauthenticatedPackage_Credential `protobuf_oneof:"credential"`
}
func (x *NPMUnauthenticatedPackage) Reset() {
*x = NPMUnauthenticatedPackage{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NPMUnauthenticatedPackage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NPMUnauthenticatedPackage) ProtoMessage() {}
func (x *NPMUnauthenticatedPackage) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NPMUnauthenticatedPackage.ProtoReflect.Descriptor instead.
func (*NPMUnauthenticatedPackage) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{19}
}
func (m *NPMUnauthenticatedPackage) GetCredential() isNPMUnauthenticatedPackage_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *NPMUnauthenticatedPackage) GetUnauthenticated() *credentialspb.Unauthenticated {
if x, ok := x.GetCredential().(*NPMUnauthenticatedPackage_Unauthenticated); ok {
return x.Unauthenticated
}
return nil
}
type isNPMUnauthenticatedPackage_Credential interface {
isNPMUnauthenticatedPackage_Credential()
}
type NPMUnauthenticatedPackage_Unauthenticated struct {
Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,1,opt,name=unauthenticated,proto3,oneof"`
}
func (*NPMUnauthenticatedPackage_Unauthenticated) isNPMUnauthenticatedPackage_Credential() {}
type PyPIUnauthenticatedPackage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Credential:
//
// *PyPIUnauthenticatedPackage_Unauthenticated
Credential isPyPIUnauthenticatedPackage_Credential `protobuf_oneof:"credential"`
}
func (x *PyPIUnauthenticatedPackage) Reset() {
*x = PyPIUnauthenticatedPackage{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PyPIUnauthenticatedPackage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PyPIUnauthenticatedPackage) ProtoMessage() {}
func (x *PyPIUnauthenticatedPackage) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PyPIUnauthenticatedPackage.ProtoReflect.Descriptor instead.
func (*PyPIUnauthenticatedPackage) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{20}
}
func (m *PyPIUnauthenticatedPackage) GetCredential() isPyPIUnauthenticatedPackage_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *PyPIUnauthenticatedPackage) GetUnauthenticated() *credentialspb.Unauthenticated {
if x, ok := x.GetCredential().(*PyPIUnauthenticatedPackage_Unauthenticated); ok {
return x.Unauthenticated
}
return nil
}
type isPyPIUnauthenticatedPackage_Credential interface {
isPyPIUnauthenticatedPackage_Credential()
}
type PyPIUnauthenticatedPackage_Unauthenticated struct {
Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,1,opt,name=unauthenticated,proto3,oneof"`
}
func (*PyPIUnauthenticatedPackage_Unauthenticated) isPyPIUnauthenticatedPackage_Credential() {}
type S3 struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Credential:
//
// *S3_AccessKey
// *S3_Unauthenticated
// *S3_CloudEnvironment
// *S3_SessionToken
Credential isS3_Credential `protobuf_oneof:"credential"`
Buckets []string `protobuf:"bytes,3,rep,name=buckets,proto3" json:"buckets,omitempty"`
MaxObjectSize int64 `protobuf:"varint,6,opt,name=max_object_size,json=maxObjectSize,proto3" json:"max_object_size,omitempty"`
Roles []string `protobuf:"bytes,7,rep,name=roles,proto3" json:"roles,omitempty"`
IgnoreBuckets []string `protobuf:"bytes,8,rep,name=ignore_buckets,json=ignoreBuckets,proto3" json:"ignore_buckets,omitempty"`
// Deprecated: Marked as deprecated in sources.proto.
EnableResumption bool `protobuf:"varint,9,opt,name=enable_resumption,json=enableResumption,proto3" json:"enable_resumption,omitempty"`
// endpoint targets an S3-compatible service other than AWS S3. When set,
// per-bucket region discovery is skipped because it is an AWS-only API.
Endpoint string `protobuf:"bytes,10,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
// region is the region used to sign requests. Defaults to us-east-1.
Region string `protobuf:"bytes,11,opt,name=region,proto3" json:"region,omitempty"`
// include_prefixes limits the scan to objects whose key matches one of these
// key prefixes. Leave empty to consider every object in the bucket.
IncludePrefixes []string `protobuf:"bytes,12,rep,name=include_prefixes,json=includePrefixes,proto3" json:"include_prefixes,omitempty"`
// exclude_prefixes skips objects whose key matches one of these key prefixes.
ExcludePrefixes []string `protobuf:"bytes,13,rep,name=exclude_prefixes,json=excludePrefixes,proto3" json:"exclude_prefixes,omitempty"`
// include_extensions limits the scan to objects whose key ends in one of these
// file extensions, written without a leading dot (e.g. "tf", "yaml"). Leave
// empty to consider every extension. Cannot be combined with
// exclude_extensions.
IncludeExtensions []string `protobuf:"bytes,14,rep,name=include_extensions,json=includeExtensions,proto3" json:"include_extensions,omitempty"`
// exclude_extensions skips objects whose key ends in one of these file
// extensions, written without a leading dot (e.g. "zip", "mp4"). Cannot be
// combined with include_extensions.
ExcludeExtensions []string `protobuf:"bytes,15,rep,name=exclude_extensions,json=excludeExtensions,proto3" json:"exclude_extensions,omitempty"`
}
func (x *S3) Reset() {
*x = S3{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *S3) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*S3) ProtoMessage() {}
func (x *S3) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use S3.ProtoReflect.Descriptor instead.
func (*S3) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{21}
}
func (m *S3) GetCredential() isS3_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *S3) GetAccessKey() *credentialspb.KeySecret {
if x, ok := x.GetCredential().(*S3_AccessKey); ok {
return x.AccessKey
}
return nil
}
func (x *S3) GetUnauthenticated() *credentialspb.Unauthenticated {
if x, ok := x.GetCredential().(*S3_Unauthenticated); ok {
return x.Unauthenticated
}
return nil
}
func (x *S3) GetCloudEnvironment() *credentialspb.CloudEnvironment {
if x, ok := x.GetCredential().(*S3_CloudEnvironment); ok {
return x.CloudEnvironment
}
return nil
}
func (x *S3) GetSessionToken() *credentialspb.AWSSessionTokenSecret {
if x, ok := x.GetCredential().(*S3_SessionToken); ok {
return x.SessionToken
}
return nil
}
func (x *S3) GetBuckets() []string {
if x != nil {
return x.Buckets
}
return nil
}
func (x *S3) GetMaxObjectSize() int64 {
if x != nil {
return x.MaxObjectSize
}
return 0
}
func (x *S3) GetRoles() []string {
if x != nil {
return x.Roles
}
return nil
}
func (x *S3) GetIgnoreBuckets() []string {
if x != nil {
return x.IgnoreBuckets
}
return nil
}
// Deprecated: Marked as deprecated in sources.proto.
func (x *S3) GetEnableResumption() bool {
if x != nil {
return x.EnableResumption
}
return false
}
func (x *S3) GetEndpoint() string {
if x != nil {
return x.Endpoint
}
return ""
}
func (x *S3) GetRegion() string {
if x != nil {
return x.Region
}
return ""
}
func (x *S3) GetIncludePrefixes() []string {
if x != nil {
return x.IncludePrefixes
}
return nil
}
func (x *S3) GetExcludePrefixes() []string {
if x != nil {
return x.ExcludePrefixes
}
return nil
}
func (x *S3) GetIncludeExtensions() []string {
if x != nil {
return x.IncludeExtensions
}
return nil
}
func (x *S3) GetExcludeExtensions() []string {
if x != nil {
return x.ExcludeExtensions
}
return nil
}
type isS3_Credential interface {
isS3_Credential()
}
type S3_AccessKey struct {
AccessKey *credentialspb.KeySecret `protobuf:"bytes,1,opt,name=access_key,json=accessKey,proto3,oneof"`
}
type S3_Unauthenticated struct {
Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,2,opt,name=unauthenticated,proto3,oneof"`
}
type S3_CloudEnvironment struct {
CloudEnvironment *credentialspb.CloudEnvironment `protobuf:"bytes,4,opt,name=cloud_environment,json=cloudEnvironment,proto3,oneof"`
}
type S3_SessionToken struct {
SessionToken *credentialspb.AWSSessionTokenSecret `protobuf:"bytes,5,opt,name=session_token,json=sessionToken,proto3,oneof"`
}
func (*S3_AccessKey) isS3_Credential() {}
func (*S3_Unauthenticated) isS3_Credential() {}
func (*S3_CloudEnvironment) isS3_Credential() {}
func (*S3_SessionToken) isS3_Credential() {}
type Slack struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
// Types that are assignable to Credential:
//
// *Slack_Token
// *Slack_Tokens
Credential isSlack_Credential `protobuf_oneof:"credential"`
Channels []string `protobuf:"bytes,3,rep,name=channels,proto3" json:"channels,omitempty"`
IgnoreList []string `protobuf:"bytes,4,rep,name=ignore_list,json=ignoreList,proto3" json:"ignore_list,omitempty"`
}
func (x *Slack) Reset() {
*x = Slack{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Slack) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Slack) ProtoMessage() {}
func (x *Slack) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Slack.ProtoReflect.Descriptor instead.
func (*Slack) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{22}
}
func (x *Slack) GetEndpoint() string {
if x != nil {
return x.Endpoint
}
return ""
}
func (m *Slack) GetCredential() isSlack_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *Slack) GetToken() string {
if x, ok := x.GetCredential().(*Slack_Token); ok {
return x.Token
}
return ""
}
func (x *Slack) GetTokens() *credentialspb.SlackTokens {
if x, ok := x.GetCredential().(*Slack_Tokens); ok {
return x.Tokens
}
return nil
}
func (x *Slack) GetChannels() []string {
if x != nil {
return x.Channels
}
return nil
}
func (x *Slack) GetIgnoreList() []string {
if x != nil {
return x.IgnoreList
}
return nil
}
type isSlack_Credential interface {
isSlack_Credential()
}
type Slack_Token struct {
Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}
type Slack_Tokens struct {
Tokens *credentialspb.SlackTokens `protobuf:"bytes,5,opt,name=tokens,proto3,oneof"`
}
func (*Slack_Token) isSlack_Credential() {}
func (*Slack_Tokens) isSlack_Credential() {}
type Test struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *Test) Reset() {
*x = Test{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Test) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Test) ProtoMessage() {}
func (x *Test) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Test.ProtoReflect.Descriptor instead.
func (*Test) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{23}
}
type Buildkite struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Credential:
//
// *Buildkite_Token
Credential isBuildkite_Credential `protobuf_oneof:"credential"`
}
func (x *Buildkite) Reset() {
*x = Buildkite{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Buildkite) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Buildkite) ProtoMessage() {}
func (x *Buildkite) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Buildkite.ProtoReflect.Descriptor instead.
func (*Buildkite) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{24}
}
func (m *Buildkite) GetCredential() isBuildkite_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *Buildkite) GetToken() string {
if x, ok := x.GetCredential().(*Buildkite_Token); ok {
return x.Token
}
return ""
}
type isBuildkite_Credential interface {
isBuildkite_Credential()
}
type Buildkite_Token struct {
Token string `protobuf:"bytes,1,opt,name=token,proto3,oneof"`
}
func (*Buildkite_Token) isBuildkite_Credential() {}
type Gerrit struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
// Types that are assignable to Credential:
//
// *Gerrit_BasicAuth
// *Gerrit_Unauthenticated
Credential isGerrit_Credential `protobuf_oneof:"credential"`
Projects []string `protobuf:"bytes,4,rep,name=projects,proto3" json:"projects,omitempty"`
SkipBinaries bool `protobuf:"varint,5,opt,name=skip_binaries,json=skipBinaries,proto3" json:"skip_binaries,omitempty"`
SkipArchives bool `protobuf:"varint,6,opt,name=skip_archives,json=skipArchives,proto3" json:"skip_archives,omitempty"`
}
func (x *Gerrit) Reset() {
*x = Gerrit{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Gerrit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Gerrit) ProtoMessage() {}
func (x *Gerrit) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Gerrit.ProtoReflect.Descriptor instead.
func (*Gerrit) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{25}
}
func (x *Gerrit) GetEndpoint() string {
if x != nil {
return x.Endpoint
}
return ""
}
func (m *Gerrit) GetCredential() isGerrit_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *Gerrit) GetBasicAuth() *credentialspb.BasicAuth {
if x, ok := x.GetCredential().(*Gerrit_BasicAuth); ok {
return x.BasicAuth
}
return nil
}
func (x *Gerrit) GetUnauthenticated() *credentialspb.Unauthenticated {
if x, ok := x.GetCredential().(*Gerrit_Unauthenticated); ok {
return x.Unauthenticated
}
return nil
}
func (x *Gerrit) GetProjects() []string {
if x != nil {
return x.Projects
}
return nil
}
func (x *Gerrit) GetSkipBinaries() bool {
if x != nil {
return x.SkipBinaries
}
return false
}
func (x *Gerrit) GetSkipArchives() bool {
if x != nil {
return x.SkipArchives
}
return false
}
type isGerrit_Credential interface {
isGerrit_Credential()
}
type Gerrit_BasicAuth struct {
BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,2,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}
type Gerrit_Unauthenticated struct {
Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,3,opt,name=unauthenticated,proto3,oneof"`
}
func (*Gerrit_BasicAuth) isGerrit_Credential() {}
func (*Gerrit_Unauthenticated) isGerrit_Credential() {}
type Jenkins struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
// Types that are assignable to Credential:
//
// *Jenkins_BasicAuth
// *Jenkins_Header
// *Jenkins_Unauthenticated
Credential isJenkins_Credential `protobuf_oneof:"credential"`
InsecureSkipVerifyTls bool `protobuf:"varint,4,opt,name=insecure_skip_verify_tls,json=insecureSkipVerifyTls,proto3" json:"insecure_skip_verify_tls,omitempty"`
}
func (x *Jenkins) Reset() {
*x = Jenkins{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Jenkins) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Jenkins) ProtoMessage() {}
func (x *Jenkins) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Jenkins.ProtoReflect.Descriptor instead.
func (*Jenkins) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{26}
}
func (x *Jenkins) GetEndpoint() string {
if x != nil {
return x.Endpoint
}
return ""
}
func (m *Jenkins) GetCredential() isJenkins_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *Jenkins) GetBasicAuth() *credentialspb.BasicAuth {
if x, ok := x.GetCredential().(*Jenkins_BasicAuth); ok {
return x.BasicAuth
}
return nil
}
func (x *Jenkins) GetHeader() *credentialspb.Header {
if x, ok := x.GetCredential().(*Jenkins_Header); ok {
return x.Header
}
return nil
}
func (x *Jenkins) GetUnauthenticated() *credentialspb.Unauthenticated {
if x, ok := x.GetCredential().(*Jenkins_Unauthenticated); ok {
return x.Unauthenticated
}
return nil
}
func (x *Jenkins) GetInsecureSkipVerifyTls() bool {
if x != nil {
return x.InsecureSkipVerifyTls
}
return false
}
type isJenkins_Credential interface {
isJenkins_Credential()
}
type Jenkins_BasicAuth struct {
BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,2,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}
type Jenkins_Header struct {
Header *credentialspb.Header `protobuf:"bytes,3,opt,name=header,proto3,oneof"`
}
type Jenkins_Unauthenticated struct {
Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,5,opt,name=unauthenticated,proto3,oneof"`
}
func (*Jenkins_BasicAuth) isJenkins_Credential() {}
func (*Jenkins_Header) isJenkins_Credential() {}
func (*Jenkins_Unauthenticated) isJenkins_Credential() {}
type Teams struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
// Types that are assignable to Credential:
//
// *Teams_Token
// *Teams_Authenticated
// *Teams_Oauth
Credential isTeams_Credential `protobuf_oneof:"credential"`
Channels []string `protobuf:"bytes,4,rep,name=channels,proto3" json:"channels,omitempty"`
IgnoreList []string `protobuf:"bytes,5,rep,name=ignore_list,json=ignoreList,proto3" json:"ignore_list,omitempty"`
TeamIds []string `protobuf:"bytes,6,rep,name=team_ids,json=teamIds,proto3" json:"team_ids,omitempty"`
TenantId string `protobuf:"bytes,8,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
}
func (x *Teams) Reset() {
*x = Teams{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Teams) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Teams) ProtoMessage() {}
func (x *Teams) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Teams.ProtoReflect.Descriptor instead.
func (*Teams) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{27}
}
func (x *Teams) GetEndpoint() string {
if x != nil {
return x.Endpoint
}
return ""
}
func (m *Teams) GetCredential() isTeams_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *Teams) GetToken() string {
if x, ok := x.GetCredential().(*Teams_Token); ok {
return x.Token
}
return ""
}
func (x *Teams) GetAuthenticated() *credentialspb.ClientCredentials {
if x, ok := x.GetCredential().(*Teams_Authenticated); ok {
return x.Authenticated
}
return nil
}
func (x *Teams) GetOauth() *credentialspb.Oauth2 {
if x, ok := x.GetCredential().(*Teams_Oauth); ok {
return x.Oauth
}
return nil
}
func (x *Teams) GetChannels() []string {
if x != nil {
return x.Channels
}
return nil
}
func (x *Teams) GetIgnoreList() []string {
if x != nil {
return x.IgnoreList
}
return nil
}
func (x *Teams) GetTeamIds() []string {
if x != nil {
return x.TeamIds
}
return nil
}
func (x *Teams) GetTenantId() string {
if x != nil {
return x.TenantId
}
return ""
}
type isTeams_Credential interface {
isTeams_Credential()
}
type Teams_Token struct {
Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}
type Teams_Authenticated struct {
Authenticated *credentialspb.ClientCredentials `protobuf:"bytes,3,opt,name=authenticated,proto3,oneof"`
}
type Teams_Oauth struct {
Oauth *credentialspb.Oauth2 `protobuf:"bytes,7,opt,name=oauth,proto3,oneof"`
}
func (*Teams_Token) isTeams_Credential() {}
func (*Teams_Authenticated) isTeams_Credential() {}
func (*Teams_Oauth) isTeams_Credential() {}
type Syslog struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Protocol string `protobuf:"bytes,1,opt,name=protocol,proto3" json:"protocol,omitempty"`
ListenAddress string `protobuf:"bytes,2,opt,name=listen_address,json=listenAddress,proto3" json:"listen_address,omitempty"`
TlsCert string `protobuf:"bytes,3,opt,name=tlsCert,proto3" json:"tlsCert,omitempty"`
TlsKey string `protobuf:"bytes,4,opt,name=tlsKey,proto3" json:"tlsKey,omitempty"`
Format string `protobuf:"bytes,5,opt,name=format,proto3" json:"format,omitempty"`
}
func (x *Syslog) Reset() {
*x = Syslog{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Syslog) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Syslog) ProtoMessage() {}
func (x *Syslog) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[28]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Syslog.ProtoReflect.Descriptor instead.
func (*Syslog) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{28}
}
func (x *Syslog) GetProtocol() string {
if x != nil {
return x.Protocol
}
return ""
}
func (x *Syslog) GetListenAddress() string {
if x != nil {
return x.ListenAddress
}
return ""
}
func (x *Syslog) GetTlsCert() string {
if x != nil {
return x.TlsCert
}
return ""
}
func (x *Syslog) GetTlsKey() string {
if x != nil {
return x.TlsKey
}
return ""
}
func (x *Syslog) GetFormat() string {
if x != nil {
return x.Format
}
return ""
}
type Forager struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Credential:
//
// *Forager_Unauthenticated
Credential isForager_Credential `protobuf_oneof:"credential"`
Domains []string `protobuf:"bytes,2,rep,name=domains,proto3" json:"domains,omitempty"`
MaxDepth int64 `protobuf:"varint,3,opt,name=max_depth,json=maxDepth,proto3" json:"max_depth,omitempty"`
Since *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=since,proto3" json:"since,omitempty"`
}
func (x *Forager) Reset() {
*x = Forager{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Forager) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Forager) ProtoMessage() {}
func (x *Forager) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[29]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Forager.ProtoReflect.Descriptor instead.
func (*Forager) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{29}
}
func (m *Forager) GetCredential() isForager_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *Forager) GetUnauthenticated() *credentialspb.Unauthenticated {
if x, ok := x.GetCredential().(*Forager_Unauthenticated); ok {
return x.Unauthenticated
}
return nil
}
func (x *Forager) GetDomains() []string {
if x != nil {
return x.Domains
}
return nil
}
func (x *Forager) GetMaxDepth() int64 {
if x != nil {
return x.MaxDepth
}
return 0
}
func (x *Forager) GetSince() *timestamppb.Timestamp {
if x != nil {
return x.Since
}
return nil
}
type isForager_Credential interface {
isForager_Credential()
}
type Forager_Unauthenticated struct {
Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,1,opt,name=unauthenticated,proto3,oneof"`
}
func (*Forager_Unauthenticated) isForager_Credential() {}
type SlackRealtime struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Credential:
//
// *SlackRealtime_Tokens
Credential isSlackRealtime_Credential `protobuf_oneof:"credential"`
}
func (x *SlackRealtime) Reset() {
*x = SlackRealtime{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SlackRealtime) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SlackRealtime) ProtoMessage() {}
func (x *SlackRealtime) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[30]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SlackRealtime.ProtoReflect.Descriptor instead.
func (*SlackRealtime) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{30}
}
func (m *SlackRealtime) GetCredential() isSlackRealtime_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *SlackRealtime) GetTokens() *credentialspb.SlackTokens {
if x, ok := x.GetCredential().(*SlackRealtime_Tokens); ok {
return x.Tokens
}
return nil
}
type isSlackRealtime_Credential interface {
isSlackRealtime_Credential()
}
type SlackRealtime_Tokens struct {
Tokens *credentialspb.SlackTokens `protobuf:"bytes,1,opt,name=tokens,proto3,oneof"`
}
func (*SlackRealtime_Tokens) isSlackRealtime_Credential() {}
type Sharepoint struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Credential:
//
// *Sharepoint_Oauth
Credential isSharepoint_Credential `protobuf_oneof:"credential"`
SiteUrl string `protobuf:"bytes,2,opt,name=site_url,json=siteUrl,proto3" json:"site_url,omitempty"`
IncludeVersions bool `protobuf:"varint,3,opt,name=include_versions,json=includeVersions,proto3" json:"include_versions,omitempty"`
IncludeComments bool `protobuf:"varint,4,opt,name=include_comments,json=includeComments,proto3" json:"include_comments,omitempty"`
IncludeAttachments bool `protobuf:"varint,5,opt,name=include_attachments,json=includeAttachments,proto3" json:"include_attachments,omitempty"`
}
func (x *Sharepoint) Reset() {
*x = Sharepoint{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Sharepoint) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Sharepoint) ProtoMessage() {}
func (x *Sharepoint) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[31]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Sharepoint.ProtoReflect.Descriptor instead.
func (*Sharepoint) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{31}
}
func (m *Sharepoint) GetCredential() isSharepoint_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *Sharepoint) GetOauth() *credentialspb.Oauth2 {
if x, ok := x.GetCredential().(*Sharepoint_Oauth); ok {
return x.Oauth
}
return nil
}
func (x *Sharepoint) GetSiteUrl() string {
if x != nil {
return x.SiteUrl
}
return ""
}
func (x *Sharepoint) GetIncludeVersions() bool {
if x != nil {
return x.IncludeVersions
}
return false
}
func (x *Sharepoint) GetIncludeComments() bool {
if x != nil {
return x.IncludeComments
}
return false
}
func (x *Sharepoint) GetIncludeAttachments() bool {
if x != nil {
return x.IncludeAttachments
}
return false
}
type isSharepoint_Credential interface {
isSharepoint_Credential()
}
type Sharepoint_Oauth struct {
Oauth *credentialspb.Oauth2 `protobuf:"bytes,1,opt,name=oauth,proto3,oneof"`
}
func (*Sharepoint_Oauth) isSharepoint_Credential() {}
type AzureRepos struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
// Types that are assignable to Credential:
//
// *AzureRepos_Token
// *AzureRepos_Oauth
Credential isAzureRepos_Credential `protobuf_oneof:"credential"`
Repositories []string `protobuf:"bytes,4,rep,name=repositories,proto3" json:"repositories,omitempty"`
Organizations []string `protobuf:"bytes,5,rep,name=organizations,proto3" json:"organizations,omitempty"`
Projects []string `protobuf:"bytes,6,rep,name=projects,proto3" json:"projects,omitempty"`
IncludeForks bool `protobuf:"varint,7,opt,name=include_forks,json=includeForks,proto3" json:"include_forks,omitempty"`
IgnoreRepos []string `protobuf:"bytes,8,rep,name=ignore_repos,json=ignoreRepos,proto3" json:"ignore_repos,omitempty"`
IncludeRepos []string `protobuf:"bytes,9,rep,name=include_repos,json=includeRepos,proto3" json:"include_repos,omitempty"`
IncludeProjects []string `protobuf:"bytes,10,rep,name=include_projects,json=includeProjects,proto3" json:"include_projects,omitempty"`
IgnoreProjects []string `protobuf:"bytes,11,rep,name=ignore_projects,json=ignoreProjects,proto3" json:"ignore_projects,omitempty"`
SkipBinaries bool `protobuf:"varint,12,opt,name=skip_binaries,json=skipBinaries,proto3" json:"skip_binaries,omitempty"`
SkipArchives bool `protobuf:"varint,13,opt,name=skip_archives,json=skipArchives,proto3" json:"skip_archives,omitempty"`
}
func (x *AzureRepos) Reset() {
*x = AzureRepos{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AzureRepos) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AzureRepos) ProtoMessage() {}
func (x *AzureRepos) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[32]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AzureRepos.ProtoReflect.Descriptor instead.
func (*AzureRepos) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{32}
}
func (x *AzureRepos) GetEndpoint() string {
if x != nil {
return x.Endpoint
}
return ""
}
func (m *AzureRepos) GetCredential() isAzureRepos_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *AzureRepos) GetToken() string {
if x, ok := x.GetCredential().(*AzureRepos_Token); ok {
return x.Token
}
return ""
}
func (x *AzureRepos) GetOauth() *credentialspb.Oauth2 {
if x, ok := x.GetCredential().(*AzureRepos_Oauth); ok {
return x.Oauth
}
return nil
}
func (x *AzureRepos) GetRepositories() []string {
if x != nil {
return x.Repositories
}
return nil
}
func (x *AzureRepos) GetOrganizations() []string {
if x != nil {
return x.Organizations
}
return nil
}
func (x *AzureRepos) GetProjects() []string {
if x != nil {
return x.Projects
}
return nil
}
func (x *AzureRepos) GetIncludeForks() bool {
if x != nil {
return x.IncludeForks
}
return false
}
func (x *AzureRepos) GetIgnoreRepos() []string {
if x != nil {
return x.IgnoreRepos
}
return nil
}
func (x *AzureRepos) GetIncludeRepos() []string {
if x != nil {
return x.IncludeRepos
}
return nil
}
func (x *AzureRepos) GetIncludeProjects() []string {
if x != nil {
return x.IncludeProjects
}
return nil
}
func (x *AzureRepos) GetIgnoreProjects() []string {
if x != nil {
return x.IgnoreProjects
}
return nil
}
func (x *AzureRepos) GetSkipBinaries() bool {
if x != nil {
return x.SkipBinaries
}
return false
}
func (x *AzureRepos) GetSkipArchives() bool {
if x != nil {
return x.SkipArchives
}
return false
}
type isAzureRepos_Credential interface {
isAzureRepos_Credential()
}
type AzureRepos_Token struct {
Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}
type AzureRepos_Oauth struct {
Oauth *credentialspb.Oauth2 `protobuf:"bytes,3,opt,name=oauth,proto3,oneof"`
}
func (*AzureRepos_Token) isAzureRepos_Credential() {}
func (*AzureRepos_Oauth) isAzureRepos_Credential() {}
type Postman struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Credential:
//
// *Postman_Unauthenticated
// *Postman_Token
Credential isPostman_Credential `protobuf_oneof:"credential"`
Workspaces []string `protobuf:"bytes,3,rep,name=workspaces,proto3" json:"workspaces,omitempty"`
Collections []string `protobuf:"bytes,4,rep,name=collections,proto3" json:"collections,omitempty"`
Environments []string `protobuf:"bytes,5,rep,name=environments,proto3" json:"environments,omitempty"`
ExcludeCollections []string `protobuf:"bytes,6,rep,name=exclude_collections,json=excludeCollections,proto3" json:"exclude_collections,omitempty"`
ExcludeEnvironments []string `protobuf:"bytes,7,rep,name=exclude_environments,json=excludeEnvironments,proto3" json:"exclude_environments,omitempty"`
IncludeCollections []string `protobuf:"bytes,8,rep,name=include_collections,json=includeCollections,proto3" json:"include_collections,omitempty"`
IncludeEnvironments []string `protobuf:"bytes,9,rep,name=include_environments,json=includeEnvironments,proto3" json:"include_environments,omitempty"`
DetectorKeywords []string `protobuf:"bytes,10,rep,name=detector_keywords,json=detectorKeywords,proto3" json:"detector_keywords,omitempty"`
WorkspacePaths []string `protobuf:"bytes,11,rep,name=workspace_paths,json=workspacePaths,proto3" json:"workspace_paths,omitempty"`
CollectionPaths []string `protobuf:"bytes,12,rep,name=collection_paths,json=collectionPaths,proto3" json:"collection_paths,omitempty"`
EnvironmentPaths []string `protobuf:"bytes,13,rep,name=environment_paths,json=environmentPaths,proto3" json:"environment_paths,omitempty"`
}
func (x *Postman) Reset() {
*x = Postman{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Postman) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Postman) ProtoMessage() {}
func (x *Postman) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[33]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Postman.ProtoReflect.Descriptor instead.
func (*Postman) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{33}
}
func (m *Postman) GetCredential() isPostman_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *Postman) GetUnauthenticated() *credentialspb.Unauthenticated {
if x, ok := x.GetCredential().(*Postman_Unauthenticated); ok {
return x.Unauthenticated
}
return nil
}
func (x *Postman) GetToken() string {
if x, ok := x.GetCredential().(*Postman_Token); ok {
return x.Token
}
return ""
}
func (x *Postman) GetWorkspaces() []string {
if x != nil {
return x.Workspaces
}
return nil
}
func (x *Postman) GetCollections() []string {
if x != nil {
return x.Collections
}
return nil
}
func (x *Postman) GetEnvironments() []string {
if x != nil {
return x.Environments
}
return nil
}
func (x *Postman) GetExcludeCollections() []string {
if x != nil {
return x.ExcludeCollections
}
return nil
}
func (x *Postman) GetExcludeEnvironments() []string {
if x != nil {
return x.ExcludeEnvironments
}
return nil
}
func (x *Postman) GetIncludeCollections() []string {
if x != nil {
return x.IncludeCollections
}
return nil
}
func (x *Postman) GetIncludeEnvironments() []string {
if x != nil {
return x.IncludeEnvironments
}
return nil
}
func (x *Postman) GetDetectorKeywords() []string {
if x != nil {
return x.DetectorKeywords
}
return nil
}
func (x *Postman) GetWorkspacePaths() []string {
if x != nil {
return x.WorkspacePaths
}
return nil
}
func (x *Postman) GetCollectionPaths() []string {
if x != nil {
return x.CollectionPaths
}
return nil
}
func (x *Postman) GetEnvironmentPaths() []string {
if x != nil {
return x.EnvironmentPaths
}
return nil
}
type isPostman_Credential interface {
isPostman_Credential()
}
type Postman_Unauthenticated struct {
Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,1,opt,name=unauthenticated,proto3,oneof"`
}
type Postman_Token struct {
Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}
func (*Postman_Unauthenticated) isPostman_Credential() {}
func (*Postman_Token) isPostman_Credential() {}
type Webhook struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ListenAddress string `protobuf:"bytes,1,opt,name=listen_address,json=listenAddress,proto3" json:"listen_address,omitempty"`
// Types that are assignable to Credential:
//
// *Webhook_Header
Credential isWebhook_Credential `protobuf_oneof:"credential"`
// Types that are assignable to Variant:
//
// *Webhook_Vector
Variant isWebhook_Variant `protobuf_oneof:"variant"`
}
func (x *Webhook) Reset() {
*x = Webhook{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Webhook) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Webhook) ProtoMessage() {}
func (x *Webhook) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[34]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Webhook.ProtoReflect.Descriptor instead.
func (*Webhook) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{34}
}
func (x *Webhook) GetListenAddress() string {
if x != nil {
return x.ListenAddress
}
return ""
}
func (m *Webhook) GetCredential() isWebhook_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *Webhook) GetHeader() *credentialspb.Header {
if x, ok := x.GetCredential().(*Webhook_Header); ok {
return x.Header
}
return nil
}
func (m *Webhook) GetVariant() isWebhook_Variant {
if m != nil {
return m.Variant
}
return nil
}
func (x *Webhook) GetVector() *Vector {
if x, ok := x.GetVariant().(*Webhook_Vector); ok {
return x.Vector
}
return nil
}
type isWebhook_Credential interface {
isWebhook_Credential()
}
type Webhook_Header struct {
Header *credentialspb.Header `protobuf:"bytes,2,opt,name=header,proto3,oneof"`
}
func (*Webhook_Header) isWebhook_Credential() {}
type isWebhook_Variant interface {
isWebhook_Variant()
}
type Webhook_Vector struct {
Vector *Vector `protobuf:"bytes,4,opt,name=vector,proto3,oneof"`
}
func (*Webhook_Vector) isWebhook_Variant() {}
type Vector struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
LocatorField string `protobuf:"bytes,1,opt,name=locator_field,json=locatorField,proto3" json:"locator_field,omitempty"`
LinkFormat string `protobuf:"bytes,2,opt,name=link_format,json=linkFormat,proto3" json:"link_format,omitempty"`
}
func (x *Vector) Reset() {
*x = Vector{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Vector) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Vector) ProtoMessage() {}
func (x *Vector) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[35]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Vector.ProtoReflect.Descriptor instead.
func (*Vector) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{35}
}
func (x *Vector) GetLocatorField() string {
if x != nil {
return x.LocatorField
}
return ""
}
func (x *Vector) GetLinkFormat() string {
if x != nil {
return x.LinkFormat
}
return ""
}
type Elasticsearch struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Nodes []string `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
Password string `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"`
CloudId string `protobuf:"bytes,4,opt,name=cloud_id,json=cloudId,proto3" json:"cloud_id,omitempty"`
ApiKey string `protobuf:"bytes,5,opt,name=api_key,json=apiKey,proto3" json:"api_key,omitempty"`
ServiceToken string `protobuf:"bytes,6,opt,name=service_token,json=serviceToken,proto3" json:"service_token,omitempty"`
IndexPattern string `protobuf:"bytes,7,opt,name=index_pattern,json=indexPattern,proto3" json:"index_pattern,omitempty"`
QueryJson string `protobuf:"bytes,8,opt,name=query_json,json=queryJson,proto3" json:"query_json,omitempty"`
SinceTimestamp string `protobuf:"bytes,9,opt,name=since_timestamp,json=sinceTimestamp,proto3" json:"since_timestamp,omitempty"`
BestEffortScan bool `protobuf:"varint,10,opt,name=best_effort_scan,json=bestEffortScan,proto3" json:"best_effort_scan,omitempty"`
}
func (x *Elasticsearch) Reset() {
*x = Elasticsearch{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Elasticsearch) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Elasticsearch) ProtoMessage() {}
func (x *Elasticsearch) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[36]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Elasticsearch.ProtoReflect.Descriptor instead.
func (*Elasticsearch) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{36}
}
func (x *Elasticsearch) GetNodes() []string {
if x != nil {
return x.Nodes
}
return nil
}
func (x *Elasticsearch) GetUsername() string {
if x != nil {
return x.Username
}
return ""
}
func (x *Elasticsearch) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
func (x *Elasticsearch) GetCloudId() string {
if x != nil {
return x.CloudId
}
return ""
}
func (x *Elasticsearch) GetApiKey() string {
if x != nil {
return x.ApiKey
}
return ""
}
func (x *Elasticsearch) GetServiceToken() string {
if x != nil {
return x.ServiceToken
}
return ""
}
func (x *Elasticsearch) GetIndexPattern() string {
if x != nil {
return x.IndexPattern
}
return ""
}
func (x *Elasticsearch) GetQueryJson() string {
if x != nil {
return x.QueryJson
}
return ""
}
func (x *Elasticsearch) GetSinceTimestamp() string {
if x != nil {
return x.SinceTimestamp
}
return ""
}
func (x *Elasticsearch) GetBestEffortScan() bool {
if x != nil {
return x.BestEffortScan
}
return false
}
type Sentry struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
// Types that are assignable to Credential:
//
// *Sentry_AuthToken
// *Sentry_DsnKey
// *Sentry_ApiKey
Credential isSentry_Credential `protobuf_oneof:"credential"`
InsecureSkipVerifyTls bool `protobuf:"varint,5,opt,name=insecure_skip_verify_tls,json=insecureSkipVerifyTls,proto3" json:"insecure_skip_verify_tls,omitempty"`
Projects string `protobuf:"bytes,6,opt,name=projects,proto3" json:"projects,omitempty"`
}
func (x *Sentry) Reset() {
*x = Sentry{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Sentry) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Sentry) ProtoMessage() {}
func (x *Sentry) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[37]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Sentry.ProtoReflect.Descriptor instead.
func (*Sentry) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{37}
}
func (x *Sentry) GetEndpoint() string {
if x != nil {
return x.Endpoint
}
return ""
}
func (m *Sentry) GetCredential() isSentry_Credential {
if m != nil {
return m.Credential
}
return nil
}
func (x *Sentry) GetAuthToken() string {
if x, ok := x.GetCredential().(*Sentry_AuthToken); ok {
return x.AuthToken
}
return ""
}
func (x *Sentry) GetDsnKey() string {
if x, ok := x.GetCredential().(*Sentry_DsnKey); ok {
return x.DsnKey
}
return ""
}
func (x *Sentry) GetApiKey() string {
if x, ok := x.GetCredential().(*Sentry_ApiKey); ok {
return x.ApiKey
}
return ""
}
func (x *Sentry) GetInsecureSkipVerifyTls() bool {
if x != nil {
return x.InsecureSkipVerifyTls
}
return false
}
func (x *Sentry) GetProjects() string {
if x != nil {
return x.Projects
}
return ""
}
type isSentry_Credential interface {
isSentry_Credential()
}
type Sentry_AuthToken struct {
AuthToken string `protobuf:"bytes,2,opt,name=auth_token,json=authToken,proto3,oneof"`
}
type Sentry_DsnKey struct {
DsnKey string `protobuf:"bytes,3,opt,name=dsn_key,json=dsnKey,proto3,oneof"`
}
type Sentry_ApiKey struct {
ApiKey string `protobuf:"bytes,4,opt,name=api_key,json=apiKey,proto3,oneof"`
}
func (*Sentry_AuthToken) isSentry_Credential() {}
func (*Sentry_DsnKey) isSentry_Credential() {}
func (*Sentry_ApiKey) isSentry_Credential() {}
type Stdin struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *Stdin) Reset() {
*x = Stdin{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Stdin) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Stdin) ProtoMessage() {}
func (x *Stdin) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[38]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Stdin.ProtoReflect.Descriptor instead.
func (*Stdin) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{38}
}
type SlackContinuous struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}
func (x *SlackContinuous) Reset() {
*x = SlackContinuous{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SlackContinuous) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SlackContinuous) ProtoMessage() {}
func (x *SlackContinuous) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[39]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SlackContinuous.ProtoReflect.Descriptor instead.
func (*SlackContinuous) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{39}
}
func (x *SlackContinuous) GetNamespace() string {
if x != nil {
return x.Namespace
}
return ""
}
func (x *SlackContinuous) GetProjectId() string {
if x != nil {
return x.ProjectId
}
return ""
}
type JSONEnumerator struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Paths []string `protobuf:"bytes,1,rep,name=paths,proto3" json:"paths,omitempty"`
}
func (x *JSONEnumerator) Reset() {
*x = JSONEnumerator{}
if protoimpl.UnsafeEnabled {
mi := &file_sources_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *JSONEnumerator) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*JSONEnumerator) ProtoMessage() {}
func (x *JSONEnumerator) ProtoReflect() protoreflect.Message {
mi := &file_sources_proto_msgTypes[40]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use JSONEnumerator.ProtoReflect.Descriptor instead.
func (*JSONEnumerator) Descriptor() ([]byte, []int) {
return file_sources_proto_rawDescGZIP(), []int{40}
}
func (x *JSONEnumerator) GetPaths() []string {
if x != nil {
return x.Paths
}
return nil
}
var File_sources_proto protoreflect.FileDescriptor
var file_sources_proto_rawDesc = []byte{
0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x1a, 0x11, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x22, 0xe8, 0x01, 0x0a, 0x0b, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x73, 0x63, 0x61, 0x6e,
0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c,
0x73, 0x63, 0x61, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06,
0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x76, 0x65,
0x72, 0x69, 0x66, 0x79, 0x12, 0x34, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0a,
0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63,
0x61, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x73, 0x63, 0x61, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 0xd5, 0x02, 0x0a, 0x0b,
0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x08, 0x65,
0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa,
0x42, 0x05, 0x72, 0x03, 0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
0x74, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
0x61, 0x6c, 0x73, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52,
0x09, 0x62, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0c, 0x61, 0x63,
0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x48, 0x00, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65,
0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74,
0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68,
0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x70,
0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52,
0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x23, 0x0a,
0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x05,
0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x61, 0x74,
0x68, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x61, 0x74,
0x68, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65,
0x50, 0x61, 0x74, 0x68, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
0x69, 0x61, 0x6c, 0x22, 0xae, 0x02, 0x0a, 0x0c, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x53, 0x74, 0x6f,
0x72, 0x61, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48,
0x00, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74,
0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e,
0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x48,
0x00, 0x52, 0x09, 0x62, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x2f, 0x0a, 0x12,
0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65,
0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x48, 0x0a,
0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e,
0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x74, 0x6f, 0x72, 0x61,
0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20,
0x03, 0x28, 0x09, 0x52, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74,
0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e,
0x74, 0x69, 0x61, 0x6c, 0x22, 0xb4, 0x05, 0x0a, 0x09, 0x42, 0x69, 0x74, 0x62, 0x75, 0x63, 0x6b,
0x65, 0x74, 0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x90, 0x01, 0x01, 0x52, 0x08,
0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65,
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
0x12, 0x2b, 0x0a, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x13, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x4f, 0x61,
0x75, 0x74, 0x68, 0x32, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x12, 0x37, 0x0a,
0x0a, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e,
0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x09, 0x62, 0x61, 0x73,
0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x3d, 0x0a, 0x09, 0x61, 0x70, 0x69, 0x5f, 0x74, 0x6f,
0x6b, 0x65, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x72, 0x65, 0x64,
0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x42, 0x69, 0x74, 0x62, 0x75, 0x63, 0x6b, 0x65,
0x74, 0x41, 0x70, 0x69, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x61, 0x70, 0x69,
0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x70,
0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e,
0x6f, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52,
0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x23, 0x0a, 0x0d,
0x73, 0x6b, 0x69, 0x70, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20,
0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65,
0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76,
0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x41, 0x72,
0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c,
0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x22, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x42, 0x69, 0x74, 0x62,
0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x40, 0x0a, 0x1c, 0x6f, 0x61, 0x75, 0x74, 0x68,
0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65,
0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x6f,
0x61, 0x75, 0x74, 0x68, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x6f, 0x61, 0x75,
0x74, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x54, 0x6f,
0x6b, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f,
0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28,
0x09, 0x52, 0x0b, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x3d,
0x0a, 0x1b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x5f,
0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x0d, 0x20,
0x01, 0x28, 0x08, 0x52, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74,
0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x57, 0x72, 0x69, 0x74, 0x65, 0x42, 0x0c, 0x0a,
0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0x56, 0x0a, 0x08, 0x43,
0x69, 0x72, 0x63, 0x6c, 0x65, 0x43, 0x49, 0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f,
0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03,
0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a,
0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05,
0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
0x69, 0x61, 0x6c, 0x22, 0x56, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x76, 0x69, 0x73, 0x43, 0x49, 0x12,
0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64,
0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a,
0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xd2, 0x04, 0x0a, 0x0a,
0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e,
0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42,
0x05, 0x72, 0x03, 0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x12, 0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61,
0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64,
0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e,
0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74,
0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x61,
0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x42, 0x61, 0x73,
0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x09, 0x62, 0x61, 0x73, 0x69, 0x63, 0x41,
0x75, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x48, 0x0a, 0x0c, 0x73,
0x70, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x25, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66,
0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x53, 0x70, 0x61,
0x63, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x0b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73,
0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72,
0x65, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x6c,
0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72,
0x65, 0x53, 0x6b, 0x69, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x6c, 0x73, 0x12, 0x16,
0x0a, 0x06, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06,
0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65,
0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x69,
0x67, 0x6e, 0x6f, 0x72, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x69,
0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e,
0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c,
0x73, 0x6b, 0x69, 0x70, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01,
0x28, 0x08, 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12,
0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65,
0x6e, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75,
0x64, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x36, 0x0a, 0x11, 0x47, 0x65,
0x74, 0x41, 0x6c, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12,
0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x4c, 0x4f, 0x42,
0x41, 0x4c, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x45, 0x52, 0x53, 0x4f, 0x4e, 0x41, 0x4c,
0x10, 0x02, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
0x22, 0xeb, 0x02, 0x0a, 0x06, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x48, 0x0a, 0x0f, 0x75,
0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69,
0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61,
0x75, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65, 0x64,
0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74,
0x68, 0x48, 0x00, 0x52, 0x09, 0x62, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x23,
0x0a, 0x0c, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54, 0x6f,
0x6b, 0x65, 0x6e, 0x12, 0x29, 0x0a, 0x0f, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x6b, 0x65,
0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e,
0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x16,
0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06,
0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x65,
0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e,
0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x67,
0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0x6c,
0x0a, 0x03, 0x45, 0x43, 0x52, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65, 0x64,
0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65,
0x74, 0x48, 0x00, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1e,
0x0a, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x69, 0x65, 0x73, 0x42, 0x0c,
0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xf1, 0x01, 0x0a,
0x0a, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x64,
0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
0x52, 0x0b, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x14, 0x0a,
0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61,
0x74, 0x68, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70,
0x61, 0x74, 0x68, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x46, 0x69, 0x6c,
0x65, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x61, 0x74,
0x68, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x65,
0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x12,
0x23, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73,
0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x42, 0x69, 0x6e, 0x61,
0x72, 0x69, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x79, 0x6d, 0x6c,
0x69, 0x6e, 0x6b, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0f, 0x6d, 0x61, 0x78, 0x53, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x70, 0x74, 0x68,
0x22, 0xab, 0x04, 0x0a, 0x03, 0x47, 0x43, 0x53, 0x12, 0x32, 0x0a, 0x14, 0x6a, 0x73, 0x6f, 0x6e,
0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12, 0x6a, 0x73, 0x6f, 0x6e, 0x53, 0x65,
0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x07,
0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74,
0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55,
0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00,
0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65,
0x64, 0x12, 0x31, 0x0a, 0x03, 0x61, 0x64, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x43, 0x6c, 0x6f,
0x75, 0x64, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52,
0x03, 0x61, 0x64, 0x63, 0x12, 0x32, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f,
0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x09, 0x48, 0x00, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2b, 0x0a, 0x05, 0x6f, 0x61, 0x75, 0x74,
0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e,
0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x48, 0x00, 0x52, 0x05,
0x6f, 0x61, 0x75, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65,
0x63, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f,
0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69,
0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x27, 0x0a,
0x0f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73,
0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42,
0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52,
0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12,
0x27, 0x0a, 0x0f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63,
0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f,
0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x69, 0x7a, 0x65,
0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xe4,
0x05, 0x0a, 0x03, 0x47, 0x69, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f,
0x61, 0x75, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65,
0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75,
0x74, 0x68, 0x48, 0x00, 0x52, 0x09, 0x62, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12,
0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65,
0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74,
0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68,
0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x08, 0x73, 0x73, 0x68,
0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x72,
0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x53, 0x53, 0x48, 0x41, 0x75, 0x74,
0x68, 0x48, 0x00, 0x52, 0x07, 0x73, 0x73, 0x68, 0x41, 0x75, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0b,
0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
0x09, 0x52, 0x0b, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x22,
0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04,
0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69,
0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x68, 0x65, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x07,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x61,
0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x62, 0x61, 0x72, 0x65, 0x12, 0x2c,
0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x5f,
0x66, 0x69, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c,
0x75, 0x64, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x12,
0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x5f, 0x66, 0x69,
0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78,
0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x73, 0x12,
0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x0c, 0x20, 0x01,
0x28, 0x03, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x44, 0x65, 0x70, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03,
0x75, 0x72, 0x69, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x23,
0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18,
0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x42, 0x69, 0x6e, 0x61, 0x72,
0x69, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x61, 0x72, 0x63, 0x68,
0x69, 0x76, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70,
0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x6e,
0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c,
0x6f, 0x6e, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x6f, 0x5f, 0x63, 0x6c,
0x65, 0x61, 0x6e, 0x75, 0x70, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6e, 0x6f, 0x43,
0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f,
0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28,
0x08, 0x52, 0x0f, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x4a, 0x73,
0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x16, 0x74, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61,
0x6c, 0x5f, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x13, 0x20, 0x01,
0x28, 0x08, 0x52, 0x13, 0x74, 0x72, 0x75, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x47, 0x69,
0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65,
0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xf2, 0x04, 0x0a, 0x06, 0x47, 0x69, 0x74, 0x4c, 0x61, 0x62,
0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e,
0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2b,
0x0a, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x4f, 0x61, 0x75, 0x74,
0x68, 0x32, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x12, 0x37, 0x0a, 0x0a, 0x62,
0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x42, 0x61,
0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x09, 0x62, 0x61, 0x73, 0x69, 0x63,
0x41, 0x75, 0x74, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f,
0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f,
0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f,
0x72, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b,
0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73,
0x6b, 0x69, 0x70, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01,
0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73,
0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65,
0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x41, 0x72, 0x63,
0x68, 0x69, 0x76, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65,
0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e,
0x63, 0x6c, 0x75, 0x64, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x4c, 0x0a, 0x23, 0x65, 0x78,
0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x73,
0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x6f, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65,
0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x49, 0x6e,
0x74, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x2b, 0x0a, 0x12, 0x72, 0x65, 0x6d, 0x6f,
0x76, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x69, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0b,
0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68,
0x49, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69,
0x64, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49,
0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68,
0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x50, 0x61, 0x74,
0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x6f, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x18,
0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6e, 0x6f, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70,
0x12, 0x2a, 0x0a, 0x11, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79,
0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70, 0x72, 0x69,
0x6e, 0x74, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a,
0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xfb, 0x08, 0x0a, 0x06, 0x47,
0x69, 0x74, 0x48, 0x75, 0x62, 0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x90, 0x01,
0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x67,
0x69, 0x74, 0x68, 0x75, 0x62, 0x5f, 0x61, 0x70, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x47, 0x69,
0x74, 0x48, 0x75, 0x62, 0x41, 0x70, 0x70, 0x48, 0x00, 0x52, 0x09, 0x67, 0x69, 0x74, 0x68, 0x75,
0x62, 0x41, 0x70, 0x70, 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x48, 0x0a, 0x0f,
0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61,
0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74,
0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f,
0x61, 0x75, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65,
0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75,
0x74, 0x68, 0x48, 0x00, 0x52, 0x09, 0x62, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12,
0x22, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18,
0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
0x69, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x72, 0x67, 0x61,
0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x63, 0x61,
0x6e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x63,
0x61, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75,
0x64, 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69,
0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68,
0x65, 0x61, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x61, 0x64, 0x12,
0x12, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62,
0x61, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x65,
0x70, 0x6f, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72,
0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x69,
0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x69,
0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01,
0x28, 0x08, 0x52, 0x1a, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x34,
0x0a, 0x16, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f,
0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14,
0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x43, 0x6f, 0x6d, 0x6d,
0x65, 0x6e, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f,
0x67, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x10, 0x20,
0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x47, 0x69, 0x73, 0x74,
0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70,
0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52,
0x0c, 0x73, 0x6b, 0x69, 0x70, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x23, 0x0a,
0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x18, 0x12,
0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76,
0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x77, 0x69,
0x6b, 0x69, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75,
0x64, 0x65, 0x57, 0x69, 0x6b, 0x69, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x6d, 0x65,
0x6e, 0x74, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x61,
0x79, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e,
0x74, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x79, 0x73, 0x12,
0x2b, 0x0a, 0x12, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x69,
0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x6d,
0x6f, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, 0x49, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a,
0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6e,
0x6f, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52,
0x09, 0x6e, 0x6f, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67,
0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x67, 0x69, 0x73, 0x74, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08,
0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x47, 0x69, 0x73, 0x74, 0x73, 0x12, 0x2a, 0x0a,
0x11, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x6a, 0x73,
0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x4c,
0x65, 0x67, 0x61, 0x63, 0x79, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x63, 0x61,
0x6e, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x63, 0x61, 0x6e, 0x41,
0x6c, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
0x29, 0x0a, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69,
0x76, 0x65, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x65, 0x78, 0x63, 0x6c, 0x75,
0x64, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72,
0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xe4, 0x01, 0x0a, 0x12, 0x47, 0x69, 0x74,
0x48, 0x75, 0x62, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x12,
0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12,
0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63,
0x74, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28,
0x08, 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65,
0x72, 0x79, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
0x12, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68,
0x6f, 0x6c, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x63, 0x61,
0x63, 0x68, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
0x10, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, 0x61, 0x74,
0x61, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22,
0xe4, 0x02, 0x0a, 0x0e, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69,
0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x70,
0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65,
0x6e, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x65, 0x62, 0x68, 0x6f,
0x6f, 0x6b, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0d, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x24,
0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70,
0x6f, 0x69, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x5f, 0x61,
0x70, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65,
0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x41, 0x70, 0x70,
0x48, 0x00, 0x52, 0x09, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x41, 0x70, 0x70, 0x12, 0x16, 0x0a,
0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05,
0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65,
0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61,
0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f,
0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12,
0x37, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x07, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
0x73, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x09, 0x62,
0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64,
0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xce, 0x01, 0x0a, 0x0b, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73,
0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2c, 0x0a,
0x11, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x73, 0x65, 0x54,
0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x05, 0x6f,
0x61, 0x75, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x72, 0x65,
0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x48,
0x00, 0x52, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x12, 0x2f, 0x0a, 0x03, 0x64, 0x77, 0x64, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
0x61, 0x6c, 0x73, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x44,
0x57, 0x44, 0x48, 0x00, 0x52, 0x03, 0x64, 0x77, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65,
0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xf9, 0x06, 0x0a, 0x0b, 0x48, 0x75, 0x67, 0x67,
0x69, 0x6e, 0x67, 0x66, 0x61, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f,
0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03,
0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a,
0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05,
0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65,
0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61,
0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f,
0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12,
0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52,
0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x70, 0x61, 0x63, 0x65,
0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12,
0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28,
0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6f,
0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03,
0x28, 0x09, 0x52, 0x0d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09,
0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72,
0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c,
0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x0e,
0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x08,
0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4d, 0x6f, 0x64,
0x65, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x70,
0x61, 0x63, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x67, 0x6e, 0x6f,
0x72, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c,
0x75, 0x64, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09,
0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12,
0x27, 0x0a, 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65,
0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65,
0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c,
0x75, 0x64, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x03,
0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73,
0x65, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x61, 0x6c, 0x6c, 0x5f,
0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x6b,
0x69, 0x70, 0x41, 0x6c, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x73,
0x6b, 0x69, 0x70, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x11,
0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x41, 0x6c, 0x6c, 0x53, 0x70, 0x61,
0x63, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x61, 0x6c, 0x6c, 0x5f,
0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f,
0x73, 0x6b, 0x69, 0x70, 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x12,
0x2f, 0x0a, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x75,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x6e,
0x63, 0x6c, 0x75, 0x64, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x73, 0x18,
0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72,
0x73, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x14, 0x20, 0x03,
0x28, 0x09, 0x52, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69,
0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x15, 0x20,
0x03, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65,
0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x62, 0x75,
0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x63,
0x6c, 0x75, 0x64, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x73,
0x6b, 0x69, 0x70, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18,
0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x41, 0x6c, 0x6c, 0x42, 0x75,
0x63, 0x6b, 0x65, 0x74, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
0x69, 0x61, 0x6c, 0x22, 0xcc, 0x03, 0x0a, 0x04, 0x4a, 0x49, 0x52, 0x41, 0x12, 0x24, 0x0a, 0x08,
0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08,
0xfa, 0x42, 0x05, 0x72, 0x03, 0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69,
0x6e, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
0x69, 0x61, 0x6c, 0x73, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00,
0x52, 0x09, 0x62, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x48, 0x0a, 0x0f, 0x75,
0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69,
0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
0x6c, 0x73, 0x2e, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x61, 0x75,
0x74, 0x68, 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28,
0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72,
0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72,
0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65,
0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52,
0x0e, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12,
0x37, 0x0a, 0x18, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x70,
0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28,
0x08, 0x52, 0x15, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x56,
0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x6c, 0x73, 0x12, 0x4a, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74,
0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x4a, 0x69,
0x72, 0x61, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79,
0x70, 0x65, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x54, 0x79, 0x70, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
0x61, 0x6c, 0x22, 0x73, 0x0a, 0x19, 0x4e, 0x50, 0x4d, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65,
0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12,
0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65,
0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74,
0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68,
0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65,
0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0x74, 0x0a, 0x1a, 0x50, 0x79, 0x50, 0x49, 0x55,
0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x50, 0x61,
0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65,
0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61,
0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f,
0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x42,
0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xd0, 0x05,
0x0a, 0x02, 0x53, 0x33, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65,
0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74,
0x48, 0x00, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x48, 0x0a,
0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e,
0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x4c, 0x0a, 0x11, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x5f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73,
0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
0x74, 0x48, 0x00, 0x52, 0x10, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f,
0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x0d, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63,
0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x41, 0x57, 0x53, 0x53, 0x65,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74,
0x48, 0x00, 0x52, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
0x09, 0x52, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61,
0x78, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x69,
0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28,
0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x67, 0x6e, 0x6f,
0x72, 0x65, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09,
0x52, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12,
0x2f, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10,
0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01,
0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e,
0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e,
0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x29,
0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78,
0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x63,
0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x0d, 0x20,
0x03, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72, 0x65, 0x66,
0x69, 0x78, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f,
0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09,
0x52, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
0x6f, 0x6e, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x65,
0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09, 0x52,
0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
0x6e, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
0x22, 0xc4, 0x01, 0x0a, 0x05, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e,
0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42,
0x05, 0x72, 0x03, 0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48,
0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x32, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65,
0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65,
0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x6b, 0x65,
0x6e, 0x73, 0x48, 0x00, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08,
0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08,
0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x67, 0x6e, 0x6f,
0x72, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x69,
0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65,
0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0x06, 0x0a, 0x04, 0x54, 0x65, 0x73, 0x74, 0x22,
0x31, 0x0a, 0x09, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x6b, 0x69, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x05,
0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74,
0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
0x61, 0x6c, 0x22, 0xa5, 0x02, 0x0a, 0x06, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x12, 0x24, 0x0a,
0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f,
0x69, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74,
0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e,
0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x48,
0x00, 0x52, 0x09, 0x62, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x48, 0x0a, 0x0f,
0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61,
0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74,
0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72,
0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x42,
0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f,
0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c,
0x73, 0x6b, 0x69, 0x70, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x42, 0x0c, 0x0a, 0x0a,
0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xa8, 0x02, 0x0a, 0x07, 0x4a,
0x65, 0x6e, 0x6b, 0x69, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69,
0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x90,
0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x0a,
0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x42,
0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x09, 0x62, 0x61, 0x73, 0x69,
0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x2d, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
0x61, 0x6c, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x68, 0x65,
0x61, 0x64, 0x65, 0x72, 0x12, 0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e,
0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75,
0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75,
0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x37,
0x0a, 0x18, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f,
0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
0x52, 0x15, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x56, 0x65,
0x72, 0x69, 0x66, 0x79, 0x54, 0x6c, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65,
0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xbd, 0x02, 0x0a, 0x05, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x12,
0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64,
0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x46, 0x0a,
0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
0x6c, 0x73, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69,
0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x07,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
0x6c, 0x73, 0x2e, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x61, 0x75,
0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x04,
0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1f,
0x0a, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20,
0x03, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12,
0x19, 0x0a, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28,
0x09, 0x52, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65,
0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74,
0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65,
0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0x95, 0x01, 0x0a, 0x06, 0x53, 0x79, 0x73, 0x6c, 0x6f, 0x67,
0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x25, 0x0a, 0x0e,
0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x41, 0x64, 0x64, 0x72,
0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x12, 0x16, 0x0a,
0x06, 0x74, 0x6c, 0x73, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74,
0x6c, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xca, 0x01,
0x0a, 0x07, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x72, 0x12, 0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61,
0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73,
0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64,
0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61,
0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x02,
0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x1b, 0x0a,
0x09, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
0x52, 0x08, 0x6d, 0x61, 0x78, 0x44, 0x65, 0x70, 0x74, 0x68, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x69,
0x6e, 0x63, 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, 0x05, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a,
0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0x51, 0x0a, 0x0d, 0x53, 0x6c,
0x61, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x74,
0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x72,
0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x54,
0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42,
0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xe9, 0x01,
0x0a, 0x0a, 0x53, 0x68, 0x61, 0x72, 0x65, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x05,
0x6f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x72,
0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x32,
0x48, 0x00, 0x52, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x69, 0x74,
0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x69, 0x74,
0x65, 0x55, 0x72, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f,
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f,
0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12,
0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65,
0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75,
0x64, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x69, 0x6e,
0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74,
0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65,
0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x63,
0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xf6, 0x03, 0x0a, 0x0a, 0x41, 0x7a,
0x75, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70,
0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72,
0x03, 0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16,
0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2b, 0x0a, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
0x61, 0x6c, 0x73, 0x2e, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x61,
0x75, 0x74, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73,
0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x72, 0x67, 0x61, 0x6e,
0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d,
0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a,
0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52,
0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63,
0x6c, 0x75, 0x64, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08,
0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x21,
0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x18, 0x08,
0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f,
0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x70,
0x6f, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09,
0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
0x73, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a,
0x65, 0x63, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x67, 0x6e, 0x6f,
0x72, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6b,
0x69, 0x70, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28,
0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12,
0x23, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73,
0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x41, 0x72, 0x63, 0x68,
0x69, 0x76, 0x65, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
0x61, 0x6c, 0x22, 0xd5, 0x04, 0x0a, 0x07, 0x50, 0x6f, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x12, 0x48,
0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e,
0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69,
0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65,
0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65,
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x03,
0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73,
0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f,
0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20,
0x03, 0x28, 0x09, 0x52, 0x12, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x43, 0x6f, 0x6c, 0x6c,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x78, 0x63, 0x6c, 0x75,
0x64, 0x65, 0x5f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18,
0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x45, 0x6e,
0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x69, 0x6e,
0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65,
0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x69,
0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75,
0x64, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2b,
0x0a, 0x11, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x77, 0x6f,
0x72, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x64, 0x65, 0x74, 0x65, 0x63,
0x74, 0x6f, 0x72, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x77,
0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x0b,
0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50,
0x61, 0x74, 0x68, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f,
0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12,
0x2b, 0x0a, 0x11, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70,
0x61, 0x74, 0x68, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x65, 0x6e, 0x76, 0x69,
0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x73, 0x42, 0x0c, 0x0a, 0x0a,
0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xac, 0x01, 0x0a, 0x07, 0x57,
0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, 0x2e, 0x0a, 0x0e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e,
0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07,
0xfa, 0x42, 0x04, 0x72, 0x02, 0x68, 0x01, 0x52, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x41,
0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2d, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
0x69, 0x61, 0x6c, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x68,
0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e,
0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x01, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72,
0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x09,
0x0a, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0x4e, 0x0a, 0x06, 0x56, 0x65, 0x63,
0x74, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x66,
0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61,
0x74, 0x6f, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x6e, 0x6b,
0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c,
0x69, 0x6e, 0x6b, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xcd, 0x02, 0x0a, 0x0d, 0x45, 0x6c,
0x61, 0x73, 0x74, 0x69, 0x63, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x6e,
0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65,
0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a,
0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a,
0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x6f, 0x6b,
0x65, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x70, 0x61, 0x74, 0x74,
0x65, 0x72, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78,
0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79,
0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65,
0x72, 0x79, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f,
0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0e, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12,
0x28, 0x0a, 0x10, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x66, 0x66, 0x6f, 0x72, 0x74, 0x5f, 0x73,
0x63, 0x61, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x62, 0x65, 0x73, 0x74, 0x45,
0x66, 0x66, 0x6f, 0x72, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x22, 0xde, 0x01, 0x0a, 0x06, 0x53, 0x65,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x12, 0x1f, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65,
0x6e, 0x12, 0x19, 0x0a, 0x07, 0x64, 0x73, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x64, 0x73, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x19, 0x0a, 0x07,
0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, 0x73, 0x65, 0x63,
0x75, 0x72, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f,
0x74, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x6e, 0x73, 0x65, 0x63,
0x75, 0x72, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x6c, 0x73,
0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x0c, 0x0a, 0x0a,
0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0x07, 0x0a, 0x05, 0x53, 0x74,
0x64, 0x69, 0x6e, 0x22, 0x4e, 0x0a, 0x0f, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x74,
0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73,
0x70, 0x61, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f,
0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
0x74, 0x49, 0x64, 0x22, 0x26, 0x0a, 0x0e, 0x4a, 0x53, 0x4f, 0x4e, 0x45, 0x6e, 0x75, 0x6d, 0x65,
0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01,
0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x2a, 0xe9, 0x09, 0x0a, 0x0a,
0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x4f,
0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x5a, 0x55, 0x52, 0x45, 0x5f,
0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x4f, 0x55,
0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x42, 0x55, 0x43, 0x4b,
0x45, 0x54, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54,
0x59, 0x50, 0x45, 0x5f, 0x43, 0x49, 0x52, 0x43, 0x4c, 0x45, 0x43, 0x49, 0x10, 0x02, 0x12, 0x1a,
0x0a, 0x16, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f,
0x4e, 0x46, 0x4c, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x4f,
0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x4b, 0x45, 0x52,
0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50,
0x45, 0x5f, 0x45, 0x43, 0x52, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x4f, 0x55, 0x52, 0x43,
0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x43, 0x53, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12,
0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x49, 0x54, 0x48,
0x55, 0x42, 0x10, 0x07, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54,
0x59, 0x50, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x47, 0x49, 0x54, 0x10, 0x08,
0x12, 0x16, 0x0a, 0x12, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
0x47, 0x49, 0x54, 0x4c, 0x41, 0x42, 0x10, 0x09, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x4f, 0x55, 0x52,
0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4a, 0x49, 0x52, 0x41, 0x10, 0x0a, 0x12, 0x24,
0x0a, 0x20, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x50,
0x4d, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x44, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x41, 0x47,
0x45, 0x53, 0x10, 0x0b, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54,
0x59, 0x50, 0x45, 0x5f, 0x50, 0x59, 0x50, 0x49, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x44,
0x5f, 0x50, 0x41, 0x43, 0x4b, 0x41, 0x47, 0x45, 0x53, 0x10, 0x0c, 0x12, 0x12, 0x0a, 0x0e, 0x53,
0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x33, 0x10, 0x0d, 0x12,
0x15, 0x0a, 0x11, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53,
0x4c, 0x41, 0x43, 0x4b, 0x10, 0x0e, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45,
0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d,
0x10, 0x0f, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50,
0x45, 0x5f, 0x47, 0x49, 0x54, 0x10, 0x10, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x4f, 0x55, 0x52, 0x43,
0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x10, 0x11, 0x12, 0x1b, 0x0a,
0x17, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x33, 0x5f,
0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, 0x44, 0x10, 0x12, 0x12, 0x2a, 0x0a, 0x26, 0x53, 0x4f,
0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42,
0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44,
0x5f, 0x4f, 0x52, 0x47, 0x10, 0x13, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45,
0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x4b, 0x49, 0x54, 0x45, 0x10,
0x14, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45,
0x5f, 0x47, 0x45, 0x52, 0x52, 0x49, 0x54, 0x10, 0x15, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4f, 0x55,
0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4a, 0x45, 0x4e, 0x4b, 0x49, 0x4e, 0x53,
0x10, 0x16, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50,
0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x53, 0x10, 0x17, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x4f, 0x55,
0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4a, 0x46, 0x52, 0x4f, 0x47, 0x5f, 0x41,
0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x4f, 0x52, 0x59, 0x10, 0x18, 0x12, 0x16, 0x0a, 0x12,
0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x59, 0x53, 0x4c,
0x4f, 0x47, 0x10, 0x19, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54,
0x59, 0x50, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54,
0x5f, 0x4d, 0x4f, 0x4e, 0x49, 0x54, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x1a, 0x12, 0x1e, 0x0a,
0x1a, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x4c, 0x41,
0x43, 0x4b, 0x5f, 0x52, 0x45, 0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x1b, 0x12, 0x1c, 0x0a,
0x18, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x4f, 0x4f,
0x47, 0x4c, 0x45, 0x5f, 0x44, 0x52, 0x49, 0x56, 0x45, 0x10, 0x1c, 0x12, 0x1a, 0x0a, 0x16, 0x53,
0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45,
0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x1d, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x4f, 0x55, 0x52, 0x43,
0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x43, 0x53, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54,
0x48, 0x45, 0x44, 0x10, 0x1e, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f,
0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x5a, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x53,
0x10, 0x1f, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50,
0x45, 0x5f, 0x54, 0x52, 0x41, 0x56, 0x49, 0x53, 0x43, 0x49, 0x10, 0x20, 0x12, 0x17, 0x0a, 0x13,
0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4f, 0x53, 0x54,
0x4d, 0x41, 0x4e, 0x10, 0x21, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f,
0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x45, 0x42, 0x48, 0x4f, 0x4f, 0x4b, 0x10, 0x22, 0x12, 0x1d,
0x0a, 0x19, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4c,
0x41, 0x53, 0x54, 0x49, 0x43, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x10, 0x23, 0x12, 0x1b, 0x0a,
0x17, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x48, 0x55, 0x47,
0x47, 0x49, 0x4e, 0x47, 0x46, 0x41, 0x43, 0x45, 0x10, 0x24, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x4f,
0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42,
0x5f, 0x45, 0x58, 0x50, 0x45, 0x52, 0x49, 0x4d, 0x45, 0x4e, 0x54, 0x41, 0x4c, 0x10, 0x25, 0x12,
0x16, 0x0a, 0x12, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53,
0x45, 0x4e, 0x54, 0x52, 0x59, 0x10, 0x26, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x4f, 0x55, 0x52, 0x43,
0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x5f, 0x52, 0x45,
0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x27, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x4f, 0x55, 0x52,
0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x44, 0x49, 0x4e, 0x10, 0x28, 0x12,
0x20, 0x0a, 0x1c, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53,
0x4c, 0x41, 0x43, 0x4b, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x4f, 0x55, 0x53, 0x10,
0x29, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45,
0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52,
0x10, 0x2a, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50,
0x45, 0x5f, 0x41, 0x57, 0x53, 0x5f, 0x53, 0x45, 0x43, 0x52, 0x45, 0x54, 0x53, 0x5f, 0x4d, 0x41,
0x4e, 0x41, 0x47, 0x45, 0x52, 0x10, 0x2b, 0x2a, 0x47, 0x0a, 0x19, 0x42, 0x69, 0x74, 0x62, 0x75,
0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x55, 0x54, 0x4f, 0x44, 0x45, 0x54, 0x45,
0x43, 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x10, 0x01, 0x12,
0x0f, 0x0a, 0x0b, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0x02,
0x2a, 0x87, 0x01, 0x0a, 0x14, 0x4a, 0x69, 0x72, 0x61, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x4a, 0x49, 0x52,
0x41, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54,
0x59, 0x50, 0x45, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x10, 0x00,
0x12, 0x20, 0x0a, 0x1c, 0x4a, 0x49, 0x52, 0x41, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c,
0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x55, 0x44,
0x10, 0x01, 0x12, 0x26, 0x0a, 0x22, 0x4a, 0x49, 0x52, 0x41, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41,
0x4c, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x41, 0x54,
0x41, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0x02, 0x42, 0x3b, 0x5a, 0x39, 0x67, 0x69,
0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x72, 0x75, 0x66, 0x66, 0x6c, 0x65,
0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x74, 0x72, 0x75, 0x66, 0x66, 0x6c, 0x65,
0x68, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x62, 0x2f, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_sources_proto_rawDescOnce sync.Once
file_sources_proto_rawDescData = file_sources_proto_rawDesc
)
func file_sources_proto_rawDescGZIP() []byte {
file_sources_proto_rawDescOnce.Do(func() {
file_sources_proto_rawDescData = protoimpl.X.CompressGZIP(file_sources_proto_rawDescData)
})
return file_sources_proto_rawDescData
}
var file_sources_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
var file_sources_proto_msgTypes = make([]protoimpl.MessageInfo, 41)
var file_sources_proto_goTypes = []interface{}{
(SourceType)(0), // 0: sources.SourceType
(BitbucketInstallationType)(0), // 1: sources.BitbucketInstallationType
(JiraInstallationType)(0), // 2: sources.JiraInstallationType
(Confluence_GetAllSpacesScope)(0), // 3: sources.Confluence.GetAllSpacesScope
(*LocalSource)(nil), // 4: sources.LocalSource
(*Artifactory)(nil), // 5: sources.Artifactory
(*AzureStorage)(nil), // 6: sources.AzureStorage
(*Bitbucket)(nil), // 7: sources.Bitbucket
(*CircleCI)(nil), // 8: sources.CircleCI
(*TravisCI)(nil), // 9: sources.TravisCI
(*Confluence)(nil), // 10: sources.Confluence
(*Docker)(nil), // 11: sources.Docker
(*ECR)(nil), // 12: sources.ECR
(*Filesystem)(nil), // 13: sources.Filesystem
(*GCS)(nil), // 14: sources.GCS
(*Git)(nil), // 15: sources.Git
(*GitLab)(nil), // 16: sources.GitLab
(*GitHub)(nil), // 17: sources.GitHub
(*GitHubExperimental)(nil), // 18: sources.GitHubExperimental
(*GitHubRealtime)(nil), // 19: sources.GitHubRealtime
(*GoogleDrive)(nil), // 20: sources.GoogleDrive
(*Huggingface)(nil), // 21: sources.Huggingface
(*JIRA)(nil), // 22: sources.JIRA
(*NPMUnauthenticatedPackage)(nil), // 23: sources.NPMUnauthenticatedPackage
(*PyPIUnauthenticatedPackage)(nil), // 24: sources.PyPIUnauthenticatedPackage
(*S3)(nil), // 25: sources.S3
(*Slack)(nil), // 26: sources.Slack
(*Test)(nil), // 27: sources.Test
(*Buildkite)(nil), // 28: sources.Buildkite
(*Gerrit)(nil), // 29: sources.Gerrit
(*Jenkins)(nil), // 30: sources.Jenkins
(*Teams)(nil), // 31: sources.Teams
(*Syslog)(nil), // 32: sources.Syslog
(*Forager)(nil), // 33: sources.Forager
(*SlackRealtime)(nil), // 34: sources.SlackRealtime
(*Sharepoint)(nil), // 35: sources.Sharepoint
(*AzureRepos)(nil), // 36: sources.AzureRepos
(*Postman)(nil), // 37: sources.Postman
(*Webhook)(nil), // 38: sources.Webhook
(*Vector)(nil), // 39: sources.Vector
(*Elasticsearch)(nil), // 40: sources.Elasticsearch
(*Sentry)(nil), // 41: sources.Sentry
(*Stdin)(nil), // 42: sources.Stdin
(*SlackContinuous)(nil), // 43: sources.SlackContinuous
(*JSONEnumerator)(nil), // 44: sources.JSONEnumerator
(*durationpb.Duration)(nil), // 45: google.protobuf.Duration
(*anypb.Any)(nil), // 46: google.protobuf.Any
(*credentialspb.BasicAuth)(nil), // 47: credentials.BasicAuth
(*credentialspb.Unauthenticated)(nil), // 48: credentials.Unauthenticated
(*credentialspb.Oauth2)(nil), // 49: credentials.Oauth2
(*credentialspb.BitbucketApiToken)(nil), // 50: credentials.BitbucketApiToken
(*credentialspb.KeySecret)(nil), // 51: credentials.KeySecret
(*credentialspb.CloudEnvironment)(nil), // 52: credentials.CloudEnvironment
(*credentialspb.SSHAuth)(nil), // 53: credentials.SSHAuth
(*credentialspb.GitHubApp)(nil), // 54: credentials.GitHubApp
(*credentialspb.GoogleDriveDWD)(nil), // 55: credentials.GoogleDriveDWD
(*credentialspb.AWSSessionTokenSecret)(nil), // 56: credentials.AWSSessionTokenSecret
(*credentialspb.SlackTokens)(nil), // 57: credentials.SlackTokens
(*credentialspb.Header)(nil), // 58: credentials.Header
(*credentialspb.ClientCredentials)(nil), // 59: credentials.ClientCredentials
(*timestamppb.Timestamp)(nil), // 60: google.protobuf.Timestamp
}
var file_sources_proto_depIdxs = []int32{
45, // 0: sources.LocalSource.scan_interval:type_name -> google.protobuf.Duration
46, // 1: sources.LocalSource.connection:type_name -> google.protobuf.Any
47, // 2: sources.Artifactory.basic_auth:type_name -> credentials.BasicAuth
48, // 3: sources.Artifactory.unauthenticated:type_name -> credentials.Unauthenticated
47, // 4: sources.AzureStorage.basic_auth:type_name -> credentials.BasicAuth
48, // 5: sources.AzureStorage.unauthenticated:type_name -> credentials.Unauthenticated
49, // 6: sources.Bitbucket.oauth:type_name -> credentials.Oauth2
47, // 7: sources.Bitbucket.basic_auth:type_name -> credentials.BasicAuth
50, // 8: sources.Bitbucket.api_token:type_name -> credentials.BitbucketApiToken
1, // 9: sources.Bitbucket.installation_type:type_name -> sources.BitbucketInstallationType
48, // 10: sources.Confluence.unauthenticated:type_name -> credentials.Unauthenticated
47, // 11: sources.Confluence.basic_auth:type_name -> credentials.BasicAuth
3, // 12: sources.Confluence.spaces_scope:type_name -> sources.Confluence.GetAllSpacesScope
48, // 13: sources.Docker.unauthenticated:type_name -> credentials.Unauthenticated
47, // 14: sources.Docker.basic_auth:type_name -> credentials.BasicAuth
51, // 15: sources.ECR.access_key:type_name -> credentials.KeySecret
48, // 16: sources.GCS.unauthenticated:type_name -> credentials.Unauthenticated
52, // 17: sources.GCS.adc:type_name -> credentials.CloudEnvironment
49, // 18: sources.GCS.oauth:type_name -> credentials.Oauth2
47, // 19: sources.Git.basic_auth:type_name -> credentials.BasicAuth
48, // 20: sources.Git.unauthenticated:type_name -> credentials.Unauthenticated
53, // 21: sources.Git.ssh_auth:type_name -> credentials.SSHAuth
49, // 22: sources.GitLab.oauth:type_name -> credentials.Oauth2
47, // 23: sources.GitLab.basic_auth:type_name -> credentials.BasicAuth
54, // 24: sources.GitHub.github_app:type_name -> credentials.GitHubApp
48, // 25: sources.GitHub.unauthenticated:type_name -> credentials.Unauthenticated
47, // 26: sources.GitHub.basic_auth:type_name -> credentials.BasicAuth
54, // 27: sources.GitHubRealtime.github_app:type_name -> credentials.GitHubApp
48, // 28: sources.GitHubRealtime.unauthenticated:type_name -> credentials.Unauthenticated
47, // 29: sources.GitHubRealtime.basic_auth:type_name -> credentials.BasicAuth
49, // 30: sources.GoogleDrive.oauth:type_name -> credentials.Oauth2
55, // 31: sources.GoogleDrive.dwd:type_name -> credentials.GoogleDriveDWD
48, // 32: sources.Huggingface.unauthenticated:type_name -> credentials.Unauthenticated
47, // 33: sources.JIRA.basic_auth:type_name -> credentials.BasicAuth
48, // 34: sources.JIRA.unauthenticated:type_name -> credentials.Unauthenticated
49, // 35: sources.JIRA.oauth:type_name -> credentials.Oauth2
2, // 36: sources.JIRA.installation_type:type_name -> sources.JiraInstallationType
48, // 37: sources.NPMUnauthenticatedPackage.unauthenticated:type_name -> credentials.Unauthenticated
48, // 38: sources.PyPIUnauthenticatedPackage.unauthenticated:type_name -> credentials.Unauthenticated
51, // 39: sources.S3.access_key:type_name -> credentials.KeySecret
48, // 40: sources.S3.unauthenticated:type_name -> credentials.Unauthenticated
52, // 41: sources.S3.cloud_environment:type_name -> credentials.CloudEnvironment
56, // 42: sources.S3.session_token:type_name -> credentials.AWSSessionTokenSecret
57, // 43: sources.Slack.tokens:type_name -> credentials.SlackTokens
47, // 44: sources.Gerrit.basic_auth:type_name -> credentials.BasicAuth
48, // 45: sources.Gerrit.unauthenticated:type_name -> credentials.Unauthenticated
47, // 46: sources.Jenkins.basic_auth:type_name -> credentials.BasicAuth
58, // 47: sources.Jenkins.header:type_name -> credentials.Header
48, // 48: sources.Jenkins.unauthenticated:type_name -> credentials.Unauthenticated
59, // 49: sources.Teams.authenticated:type_name -> credentials.ClientCredentials
49, // 50: sources.Teams.oauth:type_name -> credentials.Oauth2
48, // 51: sources.Forager.unauthenticated:type_name -> credentials.Unauthenticated
60, // 52: sources.Forager.since:type_name -> google.protobuf.Timestamp
57, // 53: sources.SlackRealtime.tokens:type_name -> credentials.SlackTokens
49, // 54: sources.Sharepoint.oauth:type_name -> credentials.Oauth2
49, // 55: sources.AzureRepos.oauth:type_name -> credentials.Oauth2
48, // 56: sources.Postman.unauthenticated:type_name -> credentials.Unauthenticated
58, // 57: sources.Webhook.header:type_name -> credentials.Header
39, // 58: sources.Webhook.vector:type_name -> sources.Vector
59, // [59:59] is the sub-list for method output_type
59, // [59:59] is the sub-list for method input_type
59, // [59:59] is the sub-list for extension type_name
59, // [59:59] is the sub-list for extension extendee
0, // [0:59] is the sub-list for field type_name
}
func init() { file_sources_proto_init() }
func file_sources_proto_init() {
if File_sources_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_sources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LocalSource); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Artifactory); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AzureStorage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Bitbucket); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CircleCI); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TravisCI); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Confluence); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Docker); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ECR); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Filesystem); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GCS); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Git); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GitLab); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GitHub); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GitHubExperimental); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GitHubRealtime); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GoogleDrive); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Huggingface); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*JIRA); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NPMUnauthenticatedPackage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PyPIUnauthenticatedPackage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*S3); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Slack); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Test); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Buildkite); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Gerrit); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Jenkins); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Teams); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Syslog); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Forager); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SlackRealtime); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Sharepoint); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AzureRepos); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Postman); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Webhook); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Vector); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Elasticsearch); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Sentry); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Stdin); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SlackContinuous); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sources_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*JSONEnumerator); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_sources_proto_msgTypes[1].OneofWrappers = []interface{}{
(*Artifactory_BasicAuth)(nil),
(*Artifactory_AccessToken)(nil),
(*Artifactory_Unauthenticated)(nil),
}
file_sources_proto_msgTypes[2].OneofWrappers = []interface{}{
(*AzureStorage_ConnectionString)(nil),
(*AzureStorage_BasicAuth)(nil),
(*AzureStorage_ClientCertificate)(nil),
(*AzureStorage_Unauthenticated)(nil),
}
file_sources_proto_msgTypes[3].OneofWrappers = []interface{}{
(*Bitbucket_Token)(nil),
(*Bitbucket_Oauth)(nil),
(*Bitbucket_BasicAuth)(nil),
(*Bitbucket_ApiToken)(nil),
}
file_sources_proto_msgTypes[4].OneofWrappers = []interface{}{
(*CircleCI_Token)(nil),
}
file_sources_proto_msgTypes[5].OneofWrappers = []interface{}{
(*TravisCI_Token)(nil),
}
file_sources_proto_msgTypes[6].OneofWrappers = []interface{}{
(*Confluence_Unauthenticated)(nil),
(*Confluence_BasicAuth)(nil),
(*Confluence_Token)(nil),
}
file_sources_proto_msgTypes[7].OneofWrappers = []interface{}{
(*Docker_Unauthenticated)(nil),
(*Docker_BasicAuth)(nil),
(*Docker_BearerToken)(nil),
(*Docker_DockerKeychain)(nil),
}
file_sources_proto_msgTypes[8].OneofWrappers = []interface{}{
(*ECR_AccessKey)(nil),
}
file_sources_proto_msgTypes[10].OneofWrappers = []interface{}{
(*GCS_JsonServiceAccount)(nil),
(*GCS_ApiKey)(nil),
(*GCS_Unauthenticated)(nil),
(*GCS_Adc)(nil),
(*GCS_ServiceAccountFile)(nil),
(*GCS_Oauth)(nil),
}
file_sources_proto_msgTypes[11].OneofWrappers = []interface{}{
(*Git_BasicAuth)(nil),
(*Git_Unauthenticated)(nil),
(*Git_SshAuth)(nil),
}
file_sources_proto_msgTypes[12].OneofWrappers = []interface{}{
(*GitLab_Token)(nil),
(*GitLab_Oauth)(nil),
(*GitLab_BasicAuth)(nil),
}
file_sources_proto_msgTypes[13].OneofWrappers = []interface{}{
(*GitHub_GithubApp)(nil),
(*GitHub_Token)(nil),
(*GitHub_Unauthenticated)(nil),
(*GitHub_BasicAuth)(nil),
}
file_sources_proto_msgTypes[14].OneofWrappers = []interface{}{
(*GitHubExperimental_Token)(nil),
}
file_sources_proto_msgTypes[15].OneofWrappers = []interface{}{
(*GitHubRealtime_GithubApp)(nil),
(*GitHubRealtime_Token)(nil),
(*GitHubRealtime_Unauthenticated)(nil),
(*GitHubRealtime_BasicAuth)(nil),
}
file_sources_proto_msgTypes[16].OneofWrappers = []interface{}{
(*GoogleDrive_RefreshToken)(nil),
(*GoogleDrive_UseTokenService)(nil),
(*GoogleDrive_Oauth)(nil),
(*GoogleDrive_Dwd)(nil),
}
file_sources_proto_msgTypes[17].OneofWrappers = []interface{}{
(*Huggingface_Token)(nil),
(*Huggingface_Unauthenticated)(nil),
}
file_sources_proto_msgTypes[18].OneofWrappers = []interface{}{
(*JIRA_BasicAuth)(nil),
(*JIRA_Unauthenticated)(nil),
(*JIRA_Oauth)(nil),
(*JIRA_Token)(nil),
}
file_sources_proto_msgTypes[19].OneofWrappers = []interface{}{
(*NPMUnauthenticatedPackage_Unauthenticated)(nil),
}
file_sources_proto_msgTypes[20].OneofWrappers = []interface{}{
(*PyPIUnauthenticatedPackage_Unauthenticated)(nil),
}
file_sources_proto_msgTypes[21].OneofWrappers = []interface{}{
(*S3_AccessKey)(nil),
(*S3_Unauthenticated)(nil),
(*S3_CloudEnvironment)(nil),
(*S3_SessionToken)(nil),
}
file_sources_proto_msgTypes[22].OneofWrappers = []interface{}{
(*Slack_Token)(nil),
(*Slack_Tokens)(nil),
}
file_sources_proto_msgTypes[24].OneofWrappers = []interface{}{
(*Buildkite_Token)(nil),
}
file_sources_proto_msgTypes[25].OneofWrappers = []interface{}{
(*Gerrit_BasicAuth)(nil),
(*Gerrit_Unauthenticated)(nil),
}
file_sources_proto_msgTypes[26].OneofWrappers = []interface{}{
(*Jenkins_BasicAuth)(nil),
(*Jenkins_Header)(nil),
(*Jenkins_Unauthenticated)(nil),
}
file_sources_proto_msgTypes[27].OneofWrappers = []interface{}{
(*Teams_Token)(nil),
(*Teams_Authenticated)(nil),
(*Teams_Oauth)(nil),
}
file_sources_proto_msgTypes[29].OneofWrappers = []interface{}{
(*Forager_Unauthenticated)(nil),
}
file_sources_proto_msgTypes[30].OneofWrappers = []interface{}{
(*SlackRealtime_Tokens)(nil),
}
file_sources_proto_msgTypes[31].OneofWrappers = []interface{}{
(*Sharepoint_Oauth)(nil),
}
file_sources_proto_msgTypes[32].OneofWrappers = []interface{}{
(*AzureRepos_Token)(nil),
(*AzureRepos_Oauth)(nil),
}
file_sources_proto_msgTypes[33].OneofWrappers = []interface{}{
(*Postman_Unauthenticated)(nil),
(*Postman_Token)(nil),
}
file_sources_proto_msgTypes[34].OneofWrappers = []interface{}{
(*Webhook_Header)(nil),
(*Webhook_Vector)(nil),
}
file_sources_proto_msgTypes[37].OneofWrappers = []interface{}{
(*Sentry_AuthToken)(nil),
(*Sentry_DsnKey)(nil),
(*Sentry_ApiKey)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_sources_proto_rawDesc,
NumEnums: 4,
NumMessages: 41,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_sources_proto_goTypes,
DependencyIndexes: file_sources_proto_depIdxs,
EnumInfos: file_sources_proto_enumTypes,
MessageInfos: file_sources_proto_msgTypes,
}.Build()
File_sources_proto = out.File
file_sources_proto_rawDesc = nil
file_sources_proto_goTypes = nil
file_sources_proto_depIdxs = nil
}