// Copyright (c) 2025 Gitpod GmbH. All rights reserved. // Licensed under the GNU Affero General Public License (AGPL). // See License.AGPL.txt in the project root for license information. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 // protoc (unknown) // source: gitpod/v1/organization.proto package v1 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" durationpb "google.golang.org/protobuf/types/known/durationpb" timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type OrganizationRole int32 const ( OrganizationRole_ORGANIZATION_ROLE_UNSPECIFIED OrganizationRole = 0 OrganizationRole_ORGANIZATION_ROLE_OWNER OrganizationRole = 1 OrganizationRole_ORGANIZATION_ROLE_MEMBER OrganizationRole = 2 OrganizationRole_ORGANIZATION_ROLE_COLLABORATOR OrganizationRole = 3 ) // Enum value maps for OrganizationRole. var ( OrganizationRole_name = map[int32]string{ 0: "ORGANIZATION_ROLE_UNSPECIFIED", 1: "ORGANIZATION_ROLE_OWNER", 2: "ORGANIZATION_ROLE_MEMBER", 3: "ORGANIZATION_ROLE_COLLABORATOR", } OrganizationRole_value = map[string]int32{ "ORGANIZATION_ROLE_UNSPECIFIED": 0, "ORGANIZATION_ROLE_OWNER": 1, "ORGANIZATION_ROLE_MEMBER": 2, "ORGANIZATION_ROLE_COLLABORATOR": 3, } ) func (x OrganizationRole) Enum() *OrganizationRole { p := new(OrganizationRole) *p = x return p } func (x OrganizationRole) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OrganizationRole) Descriptor() protoreflect.EnumDescriptor { return file_gitpod_v1_organization_proto_enumTypes[0].Descriptor() } func (OrganizationRole) Type() protoreflect.EnumType { return &file_gitpod_v1_organization_proto_enumTypes[0] } func (x OrganizationRole) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OrganizationRole.Descriptor instead. func (OrganizationRole) EnumDescriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{0} } // OrganizationPermissions define permissions that are restrictable using // RoleRestrictions type OrganizationPermission int32 const ( OrganizationPermission_ORGANIZATION_PERMISSION_UNSPECIFIED OrganizationPermission = 0 OrganizationPermission_ORGANIZATION_PERMISSION_START_ARBITRARY_REPOS OrganizationPermission = 1 ) // Enum value maps for OrganizationPermission. var ( OrganizationPermission_name = map[int32]string{ 0: "ORGANIZATION_PERMISSION_UNSPECIFIED", 1: "ORGANIZATION_PERMISSION_START_ARBITRARY_REPOS", } OrganizationPermission_value = map[string]int32{ "ORGANIZATION_PERMISSION_UNSPECIFIED": 0, "ORGANIZATION_PERMISSION_START_ARBITRARY_REPOS": 1, } ) func (x OrganizationPermission) Enum() *OrganizationPermission { p := new(OrganizationPermission) *p = x return p } func (x OrganizationPermission) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OrganizationPermission) Descriptor() protoreflect.EnumDescriptor { return file_gitpod_v1_organization_proto_enumTypes[1].Descriptor() } func (OrganizationPermission) Type() protoreflect.EnumType { return &file_gitpod_v1_organization_proto_enumTypes[1] } func (x OrganizationPermission) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OrganizationPermission.Descriptor instead. func (OrganizationPermission) EnumDescriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{1} } type ListOrganizationsRequest_Scope int32 const ( ListOrganizationsRequest_SCOPE_UNSPECIFIED ListOrganizationsRequest_Scope = 0 ListOrganizationsRequest_SCOPE_MEMBER ListOrganizationsRequest_Scope = 1 ListOrganizationsRequest_SCOPE_ALL ListOrganizationsRequest_Scope = 2 ) // Enum value maps for ListOrganizationsRequest_Scope. var ( ListOrganizationsRequest_Scope_name = map[int32]string{ 0: "SCOPE_UNSPECIFIED", 1: "SCOPE_MEMBER", 2: "SCOPE_ALL", } ListOrganizationsRequest_Scope_value = map[string]int32{ "SCOPE_UNSPECIFIED": 0, "SCOPE_MEMBER": 1, "SCOPE_ALL": 2, } ) func (x ListOrganizationsRequest_Scope) Enum() *ListOrganizationsRequest_Scope { p := new(ListOrganizationsRequest_Scope) *p = x return p } func (x ListOrganizationsRequest_Scope) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ListOrganizationsRequest_Scope) Descriptor() protoreflect.EnumDescriptor { return file_gitpod_v1_organization_proto_enumTypes[2].Descriptor() } func (ListOrganizationsRequest_Scope) Type() protoreflect.EnumType { return &file_gitpod_v1_organization_proto_enumTypes[2] } func (x ListOrganizationsRequest_Scope) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ListOrganizationsRequest_Scope.Descriptor instead. func (ListOrganizationsRequest_Scope) EnumDescriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{18, 0} } type Organization struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` CreationTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"` Slug string `protobuf:"bytes,4,opt,name=slug,proto3" json:"slug,omitempty"` } func (x *Organization) Reset() { *x = Organization{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Organization) String() string { return protoimpl.X.MessageStringOf(x) } func (*Organization) ProtoMessage() {} func (x *Organization) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 Organization.ProtoReflect.Descriptor instead. func (*Organization) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{0} } func (x *Organization) GetId() string { if x != nil { return x.Id } return "" } func (x *Organization) GetName() string { if x != nil { return x.Name } return "" } func (x *Organization) GetCreationTime() *timestamppb.Timestamp { if x != nil { return x.CreationTime } return nil } func (x *Organization) GetSlug() string { if x != nil { return x.Slug } return "" } type OrganizationMember struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` Role OrganizationRole `protobuf:"varint,2,opt,name=role,proto3,enum=gitpod.v1.OrganizationRole" json:"role,omitempty"` MemberSince *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=member_since,json=memberSince,proto3" json:"member_since,omitempty"` AvatarUrl string `protobuf:"bytes,4,opt,name=avatar_url,json=avatarUrl,proto3" json:"avatar_url,omitempty"` FullName string `protobuf:"bytes,5,opt,name=full_name,json=fullName,proto3" json:"full_name,omitempty"` Email string `protobuf:"bytes,6,opt,name=email,proto3" json:"email,omitempty"` OwnedByOrganization bool `protobuf:"varint,7,opt,name=owned_by_organization,json=ownedByOrganization,proto3" json:"owned_by_organization,omitempty"` } func (x *OrganizationMember) Reset() { *x = OrganizationMember{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrganizationMember) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrganizationMember) ProtoMessage() {} func (x *OrganizationMember) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 OrganizationMember.ProtoReflect.Descriptor instead. func (*OrganizationMember) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{1} } func (x *OrganizationMember) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *OrganizationMember) GetRole() OrganizationRole { if x != nil { return x.Role } return OrganizationRole_ORGANIZATION_ROLE_UNSPECIFIED } func (x *OrganizationMember) GetMemberSince() *timestamppb.Timestamp { if x != nil { return x.MemberSince } return nil } func (x *OrganizationMember) GetAvatarUrl() string { if x != nil { return x.AvatarUrl } return "" } func (x *OrganizationMember) GetFullName() string { if x != nil { return x.FullName } return "" } func (x *OrganizationMember) GetEmail() string { if x != nil { return x.Email } return "" } func (x *OrganizationMember) GetOwnedByOrganization() bool { if x != nil { return x.OwnedByOrganization } return false } type RoleRestrictionEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // role is the role that is restricted Role OrganizationRole `protobuf:"varint,1,opt,name=role,proto3,enum=gitpod.v1.OrganizationRole" json:"role,omitempty"` // permissions are the permissions that are restricted Permissions []OrganizationPermission `protobuf:"varint,2,rep,packed,name=permissions,proto3,enum=gitpod.v1.OrganizationPermission" json:"permissions,omitempty"` } func (x *RoleRestrictionEntry) Reset() { *x = RoleRestrictionEntry{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RoleRestrictionEntry) String() string { return protoimpl.X.MessageStringOf(x) } func (*RoleRestrictionEntry) ProtoMessage() {} func (x *RoleRestrictionEntry) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 RoleRestrictionEntry.ProtoReflect.Descriptor instead. func (*RoleRestrictionEntry) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{2} } func (x *RoleRestrictionEntry) GetRole() OrganizationRole { if x != nil { return x.Role } return OrganizationRole_ORGANIZATION_ROLE_UNSPECIFIED } func (x *RoleRestrictionEntry) GetPermissions() []OrganizationPermission { if x != nil { return x.Permissions } return nil } // onboarding_settings are the settings for the organization's onboarding type OnboardingSettings struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // internal_link is the link to an internal onboarding page for the // organization, possibly featuring a custom onboarding guide and other // resources InternalLink *string `protobuf:"bytes,1,opt,name=internal_link,json=internalLink,proto3,oneof" json:"internal_link,omitempty"` // recommended_repositories are the repositories that are recommended for new // org members RecommendedRepositories []string `protobuf:"bytes,2,rep,name=recommended_repositories,json=recommendedRepositories,proto3" json:"recommended_repositories,omitempty"` // update_recommended_repositories specifies whether recommended_repositories // should be updated. // This field **will not** be specified in server responses. UpdateRecommendedRepositories *bool `protobuf:"varint,3,opt,name=update_recommended_repositories,json=updateRecommendedRepositories,proto3,oneof" json:"update_recommended_repositories,omitempty"` // welcome_message is the welcome message for the organization WelcomeMessage *OnboardingSettings_WelcomeMessage `protobuf:"bytes,4,opt,name=welcome_message,json=welcomeMessage,proto3,oneof" json:"welcome_message,omitempty"` } func (x *OnboardingSettings) Reset() { *x = OnboardingSettings{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OnboardingSettings) String() string { return protoimpl.X.MessageStringOf(x) } func (*OnboardingSettings) ProtoMessage() {} func (x *OnboardingSettings) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 OnboardingSettings.ProtoReflect.Descriptor instead. func (*OnboardingSettings) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{3} } func (x *OnboardingSettings) GetInternalLink() string { if x != nil && x.InternalLink != nil { return *x.InternalLink } return "" } func (x *OnboardingSettings) GetRecommendedRepositories() []string { if x != nil { return x.RecommendedRepositories } return nil } func (x *OnboardingSettings) GetUpdateRecommendedRepositories() bool { if x != nil && x.UpdateRecommendedRepositories != nil { return *x.UpdateRecommendedRepositories } return false } func (x *OnboardingSettings) GetWelcomeMessage() *OnboardingSettings_WelcomeMessage { if x != nil { return x.WelcomeMessage } return nil } // KEEP ALIGNED WITH UpdateOrganizationSettingsRequest shape below!!! type OrganizationSettings struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields WorkspaceSharingDisabled *bool `protobuf:"varint,1,opt,name=workspace_sharing_disabled,json=workspaceSharingDisabled,proto3,oneof" json:"workspace_sharing_disabled,omitempty"` DefaultWorkspaceImage *string `protobuf:"bytes,2,opt,name=default_workspace_image,json=defaultWorkspaceImage,proto3,oneof" json:"default_workspace_image,omitempty"` AllowedWorkspaceClasses []string `protobuf:"bytes,3,rep,name=allowed_workspace_classes,json=allowedWorkspaceClasses,proto3" json:"allowed_workspace_classes,omitempty"` RestrictedEditorNames []string `protobuf:"bytes,4,rep,name=restricted_editor_names,json=restrictedEditorNames,proto3" json:"restricted_editor_names,omitempty"` PinnedEditorVersions map[string]string `protobuf:"bytes,5,rep,name=pinned_editor_versions,json=pinnedEditorVersions,proto3" json:"pinned_editor_versions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` DefaultRole *string `protobuf:"bytes,6,opt,name=default_role,json=defaultRole,proto3,oneof" json:"default_role,omitempty"` TimeoutSettings *TimeoutSettings `protobuf:"bytes,7,opt,name=timeout_settings,json=timeoutSettings,proto3,oneof" json:"timeout_settings,omitempty"` RoleRestrictions []*RoleRestrictionEntry `protobuf:"bytes,8,rep,name=role_restrictions,json=roleRestrictions,proto3" json:"role_restrictions,omitempty"` // max_parallel_running_workspaces is the maximum number of workspaces that a // single user can run in parallel. 0 resets to the default, which depends on // the org plan MaxParallelRunningWorkspaces *int32 `protobuf:"varint,9,opt,name=max_parallel_running_workspaces,json=maxParallelRunningWorkspaces,proto3,oneof" json:"max_parallel_running_workspaces,omitempty"` OnboardingSettings *OnboardingSettings `protobuf:"bytes,10,opt,name=onboarding_settings,json=onboardingSettings,proto3,oneof" json:"onboarding_settings,omitempty"` AnnotateGitCommits *bool `protobuf:"varint,11,opt,name=annotate_git_commits,json=annotateGitCommits,proto3,oneof" json:"annotate_git_commits,omitempty"` } func (x *OrganizationSettings) Reset() { *x = OrganizationSettings{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrganizationSettings) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrganizationSettings) ProtoMessage() {} func (x *OrganizationSettings) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 OrganizationSettings.ProtoReflect.Descriptor instead. func (*OrganizationSettings) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{4} } func (x *OrganizationSettings) GetWorkspaceSharingDisabled() bool { if x != nil && x.WorkspaceSharingDisabled != nil { return *x.WorkspaceSharingDisabled } return false } func (x *OrganizationSettings) GetDefaultWorkspaceImage() string { if x != nil && x.DefaultWorkspaceImage != nil { return *x.DefaultWorkspaceImage } return "" } func (x *OrganizationSettings) GetAllowedWorkspaceClasses() []string { if x != nil { return x.AllowedWorkspaceClasses } return nil } func (x *OrganizationSettings) GetRestrictedEditorNames() []string { if x != nil { return x.RestrictedEditorNames } return nil } func (x *OrganizationSettings) GetPinnedEditorVersions() map[string]string { if x != nil { return x.PinnedEditorVersions } return nil } func (x *OrganizationSettings) GetDefaultRole() string { if x != nil && x.DefaultRole != nil { return *x.DefaultRole } return "" } func (x *OrganizationSettings) GetTimeoutSettings() *TimeoutSettings { if x != nil { return x.TimeoutSettings } return nil } func (x *OrganizationSettings) GetRoleRestrictions() []*RoleRestrictionEntry { if x != nil { return x.RoleRestrictions } return nil } func (x *OrganizationSettings) GetMaxParallelRunningWorkspaces() int32 { if x != nil && x.MaxParallelRunningWorkspaces != nil { return *x.MaxParallelRunningWorkspaces } return 0 } func (x *OrganizationSettings) GetOnboardingSettings() *OnboardingSettings { if x != nil { return x.OnboardingSettings } return nil } func (x *OrganizationSettings) GetAnnotateGitCommits() bool { if x != nil && x.AnnotateGitCommits != nil { return *x.AnnotateGitCommits } return false } type ListOrganizationWorkspaceClassesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Pagination *PaginationRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` // organization_id is the ID of the organization. OrganizationId string `protobuf:"bytes,2,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` } func (x *ListOrganizationWorkspaceClassesRequest) Reset() { *x = ListOrganizationWorkspaceClassesRequest{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListOrganizationWorkspaceClassesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListOrganizationWorkspaceClassesRequest) ProtoMessage() {} func (x *ListOrganizationWorkspaceClassesRequest) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 ListOrganizationWorkspaceClassesRequest.ProtoReflect.Descriptor instead. func (*ListOrganizationWorkspaceClassesRequest) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{5} } func (x *ListOrganizationWorkspaceClassesRequest) GetPagination() *PaginationRequest { if x != nil { return x.Pagination } return nil } func (x *ListOrganizationWorkspaceClassesRequest) GetOrganizationId() string { if x != nil { return x.OrganizationId } return "" } type ListOrganizationWorkspaceClassesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Pagination *PaginationResponse `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` WorkspaceClasses []*WorkspaceClass `protobuf:"bytes,2,rep,name=workspace_classes,json=workspaceClasses,proto3" json:"workspace_classes,omitempty"` } func (x *ListOrganizationWorkspaceClassesResponse) Reset() { *x = ListOrganizationWorkspaceClassesResponse{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListOrganizationWorkspaceClassesResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListOrganizationWorkspaceClassesResponse) ProtoMessage() {} func (x *ListOrganizationWorkspaceClassesResponse) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 ListOrganizationWorkspaceClassesResponse.ProtoReflect.Descriptor instead. func (*ListOrganizationWorkspaceClassesResponse) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{6} } func (x *ListOrganizationWorkspaceClassesResponse) GetPagination() *PaginationResponse { if x != nil { return x.Pagination } return nil } func (x *ListOrganizationWorkspaceClassesResponse) GetWorkspaceClasses() []*WorkspaceClass { if x != nil { return x.WorkspaceClasses } return nil } type UpdateOrganizationRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // organization_id is the ID of the organization to update the settings for. OrganizationId string `protobuf:"bytes,1,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` // name is the new name of the organization Name *string `protobuf:"bytes,2,opt,name=name,proto3,oneof" json:"name,omitempty"` } func (x *UpdateOrganizationRequest) Reset() { *x = UpdateOrganizationRequest{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateOrganizationRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateOrganizationRequest) ProtoMessage() {} func (x *UpdateOrganizationRequest) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 UpdateOrganizationRequest.ProtoReflect.Descriptor instead. func (*UpdateOrganizationRequest) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{7} } func (x *UpdateOrganizationRequest) GetOrganizationId() string { if x != nil { return x.OrganizationId } return "" } func (x *UpdateOrganizationRequest) GetName() string { if x != nil && x.Name != nil { return *x.Name } return "" } type UpdateOrganizationResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // organization is the updated organization Organization *Organization `protobuf:"bytes,1,opt,name=organization,proto3" json:"organization,omitempty"` } func (x *UpdateOrganizationResponse) Reset() { *x = UpdateOrganizationResponse{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateOrganizationResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateOrganizationResponse) ProtoMessage() {} func (x *UpdateOrganizationResponse) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 UpdateOrganizationResponse.ProtoReflect.Descriptor instead. func (*UpdateOrganizationResponse) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{8} } func (x *UpdateOrganizationResponse) GetOrganization() *Organization { if x != nil { return x.Organization } return nil } type TimeoutSettings struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // inactivity is the duration of inactivity after which a workspace is stopped Inactivity *durationpb.Duration `protobuf:"bytes,1,opt,name=inactivity,proto3,oneof" json:"inactivity,omitempty"` // deny_user_timeout specifies whether applying custom timeouts is denied for // organization members DenyUserTimeouts *bool `protobuf:"varint,2,opt,name=deny_user_timeouts,json=denyUserTimeouts,proto3,oneof" json:"deny_user_timeouts,omitempty"` } func (x *TimeoutSettings) Reset() { *x = TimeoutSettings{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TimeoutSettings) String() string { return protoimpl.X.MessageStringOf(x) } func (*TimeoutSettings) ProtoMessage() {} func (x *TimeoutSettings) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 TimeoutSettings.ProtoReflect.Descriptor instead. func (*TimeoutSettings) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{9} } func (x *TimeoutSettings) GetInactivity() *durationpb.Duration { if x != nil { return x.Inactivity } return nil } func (x *TimeoutSettings) GetDenyUserTimeouts() bool { if x != nil && x.DenyUserTimeouts != nil { return *x.DenyUserTimeouts } return false } type UpdateOrganizationSettingsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // organization_id is the ID of the organization to update the settings for OrganizationId string `protobuf:"bytes,1,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` WorkspaceSharingDisabled *bool `protobuf:"varint,3,opt,name=workspace_sharing_disabled,json=workspaceSharingDisabled,proto3,oneof" json:"workspace_sharing_disabled,omitempty"` // pass empty string to reset to the installation default workspace image DefaultWorkspaceImage *string `protobuf:"bytes,4,opt,name=default_workspace_image,json=defaultWorkspaceImage,proto3,oneof" json:"default_workspace_image,omitempty"` // allowed_workspace_classes are the IDs of classes, which can be used by // workspaces in an organization. Pass an empty array to allow all workspace // classes. // Only updates if update_allowed_workspace_classes is true. AllowedWorkspaceClasses []string `protobuf:"bytes,5,rep,name=allowed_workspace_classes,json=allowedWorkspaceClasses,proto3" json:"allowed_workspace_classes,omitempty"` // restricted_editor_names updates the list of restricted editor names that // are not allowed to be used by workspaces in an organization. If empty, all // editors are allowed. // Only updates if update_restricted_editor_names is true. RestrictedEditorNames []string `protobuf:"bytes,6,rep,name=restricted_editor_names,json=restrictedEditorNames,proto3" json:"restricted_editor_names,omitempty"` // Specifies whether restricted_workspace_classes should be updated UpdateRestrictedEditorNames *bool `protobuf:"varint,7,opt,name=update_restricted_editor_names,json=updateRestrictedEditorNames,proto3,oneof" json:"update_restricted_editor_names,omitempty"` // pinned_editor_versions updates the pinned version for the corresponding // editor. // Only updates if update_pinned_editor_versions is true. PinnedEditorVersions map[string]string `protobuf:"bytes,8,rep,name=pinned_editor_versions,json=pinnedEditorVersions,proto3" json:"pinned_editor_versions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Specifies whether pinned_editor_versions should be updated UpdatePinnedEditorVersions *bool `protobuf:"varint,9,opt,name=update_pinned_editor_versions,json=updatePinnedEditorVersions,proto3,oneof" json:"update_pinned_editor_versions,omitempty"` // default_role is the default role for new members in the organization DefaultRole *string `protobuf:"bytes,10,opt,name=default_role,json=defaultRole,proto3,oneof" json:"default_role,omitempty"` // timeout_settings are the settings for workspace timeouts TimeoutSettings *TimeoutSettings `protobuf:"bytes,11,opt,name=timeout_settings,json=timeoutSettings,proto3,oneof" json:"timeout_settings,omitempty"` // Only updates if update_role_restrictions is true. RoleRestrictions []*RoleRestrictionEntry `protobuf:"bytes,12,rep,name=role_restrictions,json=roleRestrictions,proto3" json:"role_restrictions,omitempty"` // update_role_restrictions specifies whether role_restrictions should be // updated UpdateRoleRestrictions *bool `protobuf:"varint,13,opt,name=update_role_restrictions,json=updateRoleRestrictions,proto3,oneof" json:"update_role_restrictions,omitempty"` // max_parallel_running_workspaces is the maximum number of workspaces that a // single user can run in parallel. 0 resets to the default, which depends on // the org plan MaxParallelRunningWorkspaces *int32 `protobuf:"varint,15,opt,name=max_parallel_running_workspaces,json=maxParallelRunningWorkspaces,proto3,oneof" json:"max_parallel_running_workspaces,omitempty"` // onboarding_settings are the settings for the organization's onboarding OnboardingSettings *OnboardingSettings `protobuf:"bytes,16,opt,name=onboarding_settings,json=onboardingSettings,proto3,oneof" json:"onboarding_settings,omitempty"` // annotate_git_commits specifies whether to annotate git commits created in // Gitpod workspaces with the gitpod host AnnotateGitCommits *bool `protobuf:"varint,17,opt,name=annotate_git_commits,json=annotateGitCommits,proto3,oneof" json:"annotate_git_commits,omitempty"` // update_role_restrictions specifies whether role_restrictions should be // updated UpdateAllowedWorkspaceClasses *bool `protobuf:"varint,18,opt,name=update_allowed_workspace_classes,json=updateAllowedWorkspaceClasses,proto3,oneof" json:"update_allowed_workspace_classes,omitempty"` } func (x *UpdateOrganizationSettingsRequest) Reset() { *x = UpdateOrganizationSettingsRequest{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateOrganizationSettingsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateOrganizationSettingsRequest) ProtoMessage() {} func (x *UpdateOrganizationSettingsRequest) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 UpdateOrganizationSettingsRequest.ProtoReflect.Descriptor instead. func (*UpdateOrganizationSettingsRequest) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{10} } func (x *UpdateOrganizationSettingsRequest) GetOrganizationId() string { if x != nil { return x.OrganizationId } return "" } func (x *UpdateOrganizationSettingsRequest) GetWorkspaceSharingDisabled() bool { if x != nil && x.WorkspaceSharingDisabled != nil { return *x.WorkspaceSharingDisabled } return false } func (x *UpdateOrganizationSettingsRequest) GetDefaultWorkspaceImage() string { if x != nil && x.DefaultWorkspaceImage != nil { return *x.DefaultWorkspaceImage } return "" } func (x *UpdateOrganizationSettingsRequest) GetAllowedWorkspaceClasses() []string { if x != nil { return x.AllowedWorkspaceClasses } return nil } func (x *UpdateOrganizationSettingsRequest) GetRestrictedEditorNames() []string { if x != nil { return x.RestrictedEditorNames } return nil } func (x *UpdateOrganizationSettingsRequest) GetUpdateRestrictedEditorNames() bool { if x != nil && x.UpdateRestrictedEditorNames != nil { return *x.UpdateRestrictedEditorNames } return false } func (x *UpdateOrganizationSettingsRequest) GetPinnedEditorVersions() map[string]string { if x != nil { return x.PinnedEditorVersions } return nil } func (x *UpdateOrganizationSettingsRequest) GetUpdatePinnedEditorVersions() bool { if x != nil && x.UpdatePinnedEditorVersions != nil { return *x.UpdatePinnedEditorVersions } return false } func (x *UpdateOrganizationSettingsRequest) GetDefaultRole() string { if x != nil && x.DefaultRole != nil { return *x.DefaultRole } return "" } func (x *UpdateOrganizationSettingsRequest) GetTimeoutSettings() *TimeoutSettings { if x != nil { return x.TimeoutSettings } return nil } func (x *UpdateOrganizationSettingsRequest) GetRoleRestrictions() []*RoleRestrictionEntry { if x != nil { return x.RoleRestrictions } return nil } func (x *UpdateOrganizationSettingsRequest) GetUpdateRoleRestrictions() bool { if x != nil && x.UpdateRoleRestrictions != nil { return *x.UpdateRoleRestrictions } return false } func (x *UpdateOrganizationSettingsRequest) GetMaxParallelRunningWorkspaces() int32 { if x != nil && x.MaxParallelRunningWorkspaces != nil { return *x.MaxParallelRunningWorkspaces } return 0 } func (x *UpdateOrganizationSettingsRequest) GetOnboardingSettings() *OnboardingSettings { if x != nil { return x.OnboardingSettings } return nil } func (x *UpdateOrganizationSettingsRequest) GetAnnotateGitCommits() bool { if x != nil && x.AnnotateGitCommits != nil { return *x.AnnotateGitCommits } return false } func (x *UpdateOrganizationSettingsRequest) GetUpdateAllowedWorkspaceClasses() bool { if x != nil && x.UpdateAllowedWorkspaceClasses != nil { return *x.UpdateAllowedWorkspaceClasses } return false } type UpdateOrganizationSettingsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // settings are the updated settings Settings *OrganizationSettings `protobuf:"bytes,1,opt,name=settings,proto3" json:"settings,omitempty"` } func (x *UpdateOrganizationSettingsResponse) Reset() { *x = UpdateOrganizationSettingsResponse{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateOrganizationSettingsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateOrganizationSettingsResponse) ProtoMessage() {} func (x *UpdateOrganizationSettingsResponse) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 UpdateOrganizationSettingsResponse.ProtoReflect.Descriptor instead. func (*UpdateOrganizationSettingsResponse) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{11} } func (x *UpdateOrganizationSettingsResponse) GetSettings() *OrganizationSettings { if x != nil { return x.Settings } return nil } type GetOrganizationSettingsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // organization_id is the ID of the organization to retrieve the settings for. OrganizationId string `protobuf:"bytes,1,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` } func (x *GetOrganizationSettingsRequest) Reset() { *x = GetOrganizationSettingsRequest{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetOrganizationSettingsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetOrganizationSettingsRequest) ProtoMessage() {} func (x *GetOrganizationSettingsRequest) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 GetOrganizationSettingsRequest.ProtoReflect.Descriptor instead. func (*GetOrganizationSettingsRequest) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{12} } func (x *GetOrganizationSettingsRequest) GetOrganizationId() string { if x != nil { return x.OrganizationId } return "" } type GetOrganizationSettingsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // settings are the settings of the organization Settings *OrganizationSettings `protobuf:"bytes,1,opt,name=settings,proto3" json:"settings,omitempty"` } func (x *GetOrganizationSettingsResponse) Reset() { *x = GetOrganizationSettingsResponse{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetOrganizationSettingsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetOrganizationSettingsResponse) ProtoMessage() {} func (x *GetOrganizationSettingsResponse) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 GetOrganizationSettingsResponse.ProtoReflect.Descriptor instead. func (*GetOrganizationSettingsResponse) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{13} } func (x *GetOrganizationSettingsResponse) GetSettings() *OrganizationSettings { if x != nil { return x.Settings } return nil } type CreateOrganizationRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // name is the organization name Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } func (x *CreateOrganizationRequest) Reset() { *x = CreateOrganizationRequest{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateOrganizationRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateOrganizationRequest) ProtoMessage() {} func (x *CreateOrganizationRequest) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 CreateOrganizationRequest.ProtoReflect.Descriptor instead. func (*CreateOrganizationRequest) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{14} } func (x *CreateOrganizationRequest) GetName() string { if x != nil { return x.Name } return "" } type CreateOrganizationResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // organization is the created organization Organization *Organization `protobuf:"bytes,1,opt,name=organization,proto3" json:"organization,omitempty"` } func (x *CreateOrganizationResponse) Reset() { *x = CreateOrganizationResponse{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateOrganizationResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateOrganizationResponse) ProtoMessage() {} func (x *CreateOrganizationResponse) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 CreateOrganizationResponse.ProtoReflect.Descriptor instead. func (*CreateOrganizationResponse) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{15} } func (x *CreateOrganizationResponse) GetOrganization() *Organization { if x != nil { return x.Organization } return nil } type GetOrganizationRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // organization_id is the unique identifier of the Organization to retrieve. OrganizationId string `protobuf:"bytes,1,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` } func (x *GetOrganizationRequest) Reset() { *x = GetOrganizationRequest{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetOrganizationRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetOrganizationRequest) ProtoMessage() {} func (x *GetOrganizationRequest) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 GetOrganizationRequest.ProtoReflect.Descriptor instead. func (*GetOrganizationRequest) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{16} } func (x *GetOrganizationRequest) GetOrganizationId() string { if x != nil { return x.OrganizationId } return "" } type GetOrganizationResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // organization is the requested organization Organization *Organization `protobuf:"bytes,1,opt,name=organization,proto3" json:"organization,omitempty"` } func (x *GetOrganizationResponse) Reset() { *x = GetOrganizationResponse{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetOrganizationResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetOrganizationResponse) ProtoMessage() {} func (x *GetOrganizationResponse) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 GetOrganizationResponse.ProtoReflect.Descriptor instead. func (*GetOrganizationResponse) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{17} } func (x *GetOrganizationResponse) GetOrganization() *Organization { if x != nil { return x.Organization } return nil } type ListOrganizationsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // pagination contains the pagination options for listing organizations Pagination *PaginationRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` // scope is the scope of the organizations to list Scope ListOrganizationsRequest_Scope `protobuf:"varint,2,opt,name=scope,proto3,enum=gitpod.v1.ListOrganizationsRequest_Scope" json:"scope,omitempty"` } func (x *ListOrganizationsRequest) Reset() { *x = ListOrganizationsRequest{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListOrganizationsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListOrganizationsRequest) ProtoMessage() {} func (x *ListOrganizationsRequest) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 ListOrganizationsRequest.ProtoReflect.Descriptor instead. func (*ListOrganizationsRequest) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{18} } func (x *ListOrganizationsRequest) GetPagination() *PaginationRequest { if x != nil { return x.Pagination } return nil } func (x *ListOrganizationsRequest) GetScope() ListOrganizationsRequest_Scope { if x != nil { return x.Scope } return ListOrganizationsRequest_SCOPE_UNSPECIFIED } type ListOrganizationsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // organizations are the organizations that matched the query Organizations []*Organization `protobuf:"bytes,1,rep,name=organizations,proto3" json:"organizations,omitempty"` // pagination contains the pagination options for listing organizations Pagination *PaginationResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } func (x *ListOrganizationsResponse) Reset() { *x = ListOrganizationsResponse{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListOrganizationsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListOrganizationsResponse) ProtoMessage() {} func (x *ListOrganizationsResponse) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 ListOrganizationsResponse.ProtoReflect.Descriptor instead. func (*ListOrganizationsResponse) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{19} } func (x *ListOrganizationsResponse) GetOrganizations() []*Organization { if x != nil { return x.Organizations } return nil } func (x *ListOrganizationsResponse) GetPagination() *PaginationResponse { if x != nil { return x.Pagination } return nil } type DeleteOrganizationRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // organization_id is the ID of the organization to delete OrganizationId string `protobuf:"bytes,1,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` } func (x *DeleteOrganizationRequest) Reset() { *x = DeleteOrganizationRequest{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteOrganizationRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteOrganizationRequest) ProtoMessage() {} func (x *DeleteOrganizationRequest) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 DeleteOrganizationRequest.ProtoReflect.Descriptor instead. func (*DeleteOrganizationRequest) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{20} } func (x *DeleteOrganizationRequest) GetOrganizationId() string { if x != nil { return x.OrganizationId } return "" } type DeleteOrganizationResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *DeleteOrganizationResponse) Reset() { *x = DeleteOrganizationResponse{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteOrganizationResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteOrganizationResponse) ProtoMessage() {} func (x *DeleteOrganizationResponse) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 DeleteOrganizationResponse.ProtoReflect.Descriptor instead. func (*DeleteOrganizationResponse) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{21} } type GetOrganizationInvitationRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // organization_id is the ID of the organization to retrieve the invitation OrganizationId string `protobuf:"bytes,1,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` } func (x *GetOrganizationInvitationRequest) Reset() { *x = GetOrganizationInvitationRequest{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetOrganizationInvitationRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetOrganizationInvitationRequest) ProtoMessage() {} func (x *GetOrganizationInvitationRequest) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 GetOrganizationInvitationRequest.ProtoReflect.Descriptor instead. func (*GetOrganizationInvitationRequest) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{22} } func (x *GetOrganizationInvitationRequest) GetOrganizationId() string { if x != nil { return x.OrganizationId } return "" } type GetOrganizationInvitationResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // invitation_id is the invitation ID for an Organization InvitationId string `protobuf:"bytes,1,opt,name=invitation_id,json=invitationId,proto3" json:"invitation_id,omitempty"` } func (x *GetOrganizationInvitationResponse) Reset() { *x = GetOrganizationInvitationResponse{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetOrganizationInvitationResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetOrganizationInvitationResponse) ProtoMessage() {} func (x *GetOrganizationInvitationResponse) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 GetOrganizationInvitationResponse.ProtoReflect.Descriptor instead. func (*GetOrganizationInvitationResponse) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{23} } func (x *GetOrganizationInvitationResponse) GetInvitationId() string { if x != nil { return x.InvitationId } return "" } type JoinOrganizationRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // invitation_id is the invitation ID for an Organization InvitationId string `protobuf:"bytes,1,opt,name=invitation_id,json=invitationId,proto3" json:"invitation_id,omitempty"` } func (x *JoinOrganizationRequest) Reset() { *x = JoinOrganizationRequest{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JoinOrganizationRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*JoinOrganizationRequest) ProtoMessage() {} func (x *JoinOrganizationRequest) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 JoinOrganizationRequest.ProtoReflect.Descriptor instead. func (*JoinOrganizationRequest) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{24} } func (x *JoinOrganizationRequest) GetInvitationId() string { if x != nil { return x.InvitationId } return "" } type JoinOrganizationResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // organization_id is the id of the organization the user has just joined OrganizationId string `protobuf:"bytes,1,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` } func (x *JoinOrganizationResponse) Reset() { *x = JoinOrganizationResponse{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JoinOrganizationResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*JoinOrganizationResponse) ProtoMessage() {} func (x *JoinOrganizationResponse) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 JoinOrganizationResponse.ProtoReflect.Descriptor instead. func (*JoinOrganizationResponse) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{25} } func (x *JoinOrganizationResponse) GetOrganizationId() string { if x != nil { return x.OrganizationId } return "" } type ResetOrganizationInvitationRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // organization_id is the ID of the organization to reset the invitation for. OrganizationId string `protobuf:"bytes,1,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` } func (x *ResetOrganizationInvitationRequest) Reset() { *x = ResetOrganizationInvitationRequest{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResetOrganizationInvitationRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResetOrganizationInvitationRequest) ProtoMessage() {} func (x *ResetOrganizationInvitationRequest) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 ResetOrganizationInvitationRequest.ProtoReflect.Descriptor instead. func (*ResetOrganizationInvitationRequest) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{26} } func (x *ResetOrganizationInvitationRequest) GetOrganizationId() string { if x != nil { return x.OrganizationId } return "" } type ResetOrganizationInvitationResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // invitation_id is the new invitation id for the organization. InvitationId string `protobuf:"bytes,1,opt,name=invitation_id,json=invitationId,proto3" json:"invitation_id,omitempty"` } func (x *ResetOrganizationInvitationResponse) Reset() { *x = ResetOrganizationInvitationResponse{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResetOrganizationInvitationResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResetOrganizationInvitationResponse) ProtoMessage() {} func (x *ResetOrganizationInvitationResponse) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 ResetOrganizationInvitationResponse.ProtoReflect.Descriptor instead. func (*ResetOrganizationInvitationResponse) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{27} } func (x *ResetOrganizationInvitationResponse) GetInvitationId() string { if x != nil { return x.InvitationId } return "" } type ListOrganizationMembersRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // organization_id is the ID of the organization that contains the members to // list OrganizationId string `protobuf:"bytes,1,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` Pagination *PaginationRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } func (x *ListOrganizationMembersRequest) Reset() { *x = ListOrganizationMembersRequest{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListOrganizationMembersRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListOrganizationMembersRequest) ProtoMessage() {} func (x *ListOrganizationMembersRequest) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 ListOrganizationMembersRequest.ProtoReflect.Descriptor instead. func (*ListOrganizationMembersRequest) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{28} } func (x *ListOrganizationMembersRequest) GetOrganizationId() string { if x != nil { return x.OrganizationId } return "" } func (x *ListOrganizationMembersRequest) GetPagination() *PaginationRequest { if x != nil { return x.Pagination } return nil } type ListOrganizationMembersResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // members are the organization members of this Organization Members []*OrganizationMember `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty"` Pagination *PaginationResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } func (x *ListOrganizationMembersResponse) Reset() { *x = ListOrganizationMembersResponse{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListOrganizationMembersResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListOrganizationMembersResponse) ProtoMessage() {} func (x *ListOrganizationMembersResponse) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 ListOrganizationMembersResponse.ProtoReflect.Descriptor instead. func (*ListOrganizationMembersResponse) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{29} } func (x *ListOrganizationMembersResponse) GetMembers() []*OrganizationMember { if x != nil { return x.Members } return nil } func (x *ListOrganizationMembersResponse) GetPagination() *PaginationResponse { if x != nil { return x.Pagination } return nil } type UpdateOrganizationMemberRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // organization_id is the ID of the organization in which the role is to be // updated OrganizationId string `protobuf:"bytes,1,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` // user_id is the user for which the membership shall be updated. UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` // role is the new role for the user in the organization Role *OrganizationRole `protobuf:"varint,3,opt,name=role,proto3,enum=gitpod.v1.OrganizationRole,oneof" json:"role,omitempty"` } func (x *UpdateOrganizationMemberRequest) Reset() { *x = UpdateOrganizationMemberRequest{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateOrganizationMemberRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateOrganizationMemberRequest) ProtoMessage() {} func (x *UpdateOrganizationMemberRequest) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 UpdateOrganizationMemberRequest.ProtoReflect.Descriptor instead. func (*UpdateOrganizationMemberRequest) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{30} } func (x *UpdateOrganizationMemberRequest) GetOrganizationId() string { if x != nil { return x.OrganizationId } return "" } func (x *UpdateOrganizationMemberRequest) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *UpdateOrganizationMemberRequest) GetRole() OrganizationRole { if x != nil && x.Role != nil { return *x.Role } return OrganizationRole_ORGANIZATION_ROLE_UNSPECIFIED } type UpdateOrganizationMemberResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // member is the updated organization member Member *OrganizationMember `protobuf:"bytes,1,opt,name=member,proto3" json:"member,omitempty"` } func (x *UpdateOrganizationMemberResponse) Reset() { *x = UpdateOrganizationMemberResponse{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateOrganizationMemberResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateOrganizationMemberResponse) ProtoMessage() {} func (x *UpdateOrganizationMemberResponse) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 UpdateOrganizationMemberResponse.ProtoReflect.Descriptor instead. func (*UpdateOrganizationMemberResponse) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{31} } func (x *UpdateOrganizationMemberResponse) GetMember() *OrganizationMember { if x != nil { return x.Member } return nil } type DeleteOrganizationMemberRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // organization_id is the ID of the organization in which a member should be // deleted. OrganizationId string `protobuf:"bytes,1,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` // user_id is the ID of the user that should be deleted from the organization. UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` } func (x *DeleteOrganizationMemberRequest) Reset() { *x = DeleteOrganizationMemberRequest{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteOrganizationMemberRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteOrganizationMemberRequest) ProtoMessage() {} func (x *DeleteOrganizationMemberRequest) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 DeleteOrganizationMemberRequest.ProtoReflect.Descriptor instead. func (*DeleteOrganizationMemberRequest) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{32} } func (x *DeleteOrganizationMemberRequest) GetOrganizationId() string { if x != nil { return x.OrganizationId } return "" } func (x *DeleteOrganizationMemberRequest) GetUserId() string { if x != nil { return x.UserId } return "" } type DeleteOrganizationMemberResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *DeleteOrganizationMemberResponse) Reset() { *x = DeleteOrganizationMemberResponse{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteOrganizationMemberResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteOrganizationMemberResponse) ProtoMessage() {} func (x *DeleteOrganizationMemberResponse) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 DeleteOrganizationMemberResponse.ProtoReflect.Descriptor instead. func (*DeleteOrganizationMemberResponse) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{33} } type GetOrganizationMaintenanceModeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // organization_id is the ID of the organization to retrieve the maintenance mode status for. OrganizationId string `protobuf:"bytes,1,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` } func (x *GetOrganizationMaintenanceModeRequest) Reset() { *x = GetOrganizationMaintenanceModeRequest{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetOrganizationMaintenanceModeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetOrganizationMaintenanceModeRequest) ProtoMessage() {} func (x *GetOrganizationMaintenanceModeRequest) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 GetOrganizationMaintenanceModeRequest.ProtoReflect.Descriptor instead. func (*GetOrganizationMaintenanceModeRequest) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{34} } func (x *GetOrganizationMaintenanceModeRequest) GetOrganizationId() string { if x != nil { return x.OrganizationId } return "" } type GetOrganizationMaintenanceModeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // enabled indicates whether maintenance mode is enabled for the organization. Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` } func (x *GetOrganizationMaintenanceModeResponse) Reset() { *x = GetOrganizationMaintenanceModeResponse{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetOrganizationMaintenanceModeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetOrganizationMaintenanceModeResponse) ProtoMessage() {} func (x *GetOrganizationMaintenanceModeResponse) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 GetOrganizationMaintenanceModeResponse.ProtoReflect.Descriptor instead. func (*GetOrganizationMaintenanceModeResponse) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{35} } func (x *GetOrganizationMaintenanceModeResponse) GetEnabled() bool { if x != nil { return x.Enabled } return false } type SetOrganizationMaintenanceModeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // organization_id is the ID of the organization to set the maintenance mode status for. OrganizationId string `protobuf:"bytes,1,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` // enabled indicates whether maintenance mode should be enabled or disabled. Enabled bool `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled,omitempty"` } func (x *SetOrganizationMaintenanceModeRequest) Reset() { *x = SetOrganizationMaintenanceModeRequest{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetOrganizationMaintenanceModeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetOrganizationMaintenanceModeRequest) ProtoMessage() {} func (x *SetOrganizationMaintenanceModeRequest) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 SetOrganizationMaintenanceModeRequest.ProtoReflect.Descriptor instead. func (*SetOrganizationMaintenanceModeRequest) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{36} } func (x *SetOrganizationMaintenanceModeRequest) GetOrganizationId() string { if x != nil { return x.OrganizationId } return "" } func (x *SetOrganizationMaintenanceModeRequest) GetEnabled() bool { if x != nil { return x.Enabled } return false } type SetOrganizationMaintenanceModeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // enabled indicates the new maintenance mode status after the update. Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` } func (x *SetOrganizationMaintenanceModeResponse) Reset() { *x = SetOrganizationMaintenanceModeResponse{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetOrganizationMaintenanceModeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetOrganizationMaintenanceModeResponse) ProtoMessage() {} func (x *SetOrganizationMaintenanceModeResponse) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 SetOrganizationMaintenanceModeResponse.ProtoReflect.Descriptor instead. func (*SetOrganizationMaintenanceModeResponse) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{37} } func (x *SetOrganizationMaintenanceModeResponse) GetEnabled() bool { if x != nil { return x.Enabled } return false } type GetMaintenanceNotificationRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // organization_id is the ID of the organization to retrieve the notification settings for. OrganizationId string `protobuf:"bytes,1,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` } func (x *GetMaintenanceNotificationRequest) Reset() { *x = GetMaintenanceNotificationRequest{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetMaintenanceNotificationRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetMaintenanceNotificationRequest) ProtoMessage() {} func (x *GetMaintenanceNotificationRequest) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 GetMaintenanceNotificationRequest.ProtoReflect.Descriptor instead. func (*GetMaintenanceNotificationRequest) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{38} } func (x *GetMaintenanceNotificationRequest) GetOrganizationId() string { if x != nil { return x.OrganizationId } return "" } type GetMaintenanceNotificationResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // is_enabled indicates whether the maintenance notification is enabled. IsEnabled bool `protobuf:"varint,1,opt,name=is_enabled,json=isEnabled,proto3" json:"is_enabled,omitempty"` // message is the custom message stored, if any. Empty or not present if no custom message is set. // The frontend will use its own default if this is empty/undefined and is_enabled is true. Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` } func (x *GetMaintenanceNotificationResponse) Reset() { *x = GetMaintenanceNotificationResponse{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetMaintenanceNotificationResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetMaintenanceNotificationResponse) ProtoMessage() {} func (x *GetMaintenanceNotificationResponse) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 GetMaintenanceNotificationResponse.ProtoReflect.Descriptor instead. func (*GetMaintenanceNotificationResponse) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{39} } func (x *GetMaintenanceNotificationResponse) GetIsEnabled() bool { if x != nil { return x.IsEnabled } return false } func (x *GetMaintenanceNotificationResponse) GetMessage() string { if x != nil { return x.Message } return "" } type SetMaintenanceNotificationRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // organization_id is the ID of the organization to set the notification settings for. OrganizationId string `protobuf:"bytes,1,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` // is_enabled indicates whether the maintenance notification should be enabled or disabled. IsEnabled bool `protobuf:"varint,2,opt,name=is_enabled,json=isEnabled,proto3" json:"is_enabled,omitempty"` // custom_message is the user-provided custom message for the notification. // If not provided or empty, the backend stores undefined/empty for the message. CustomMessage *string `protobuf:"bytes,3,opt,name=custom_message,json=customMessage,proto3,oneof" json:"custom_message,omitempty"` } func (x *SetMaintenanceNotificationRequest) Reset() { *x = SetMaintenanceNotificationRequest{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetMaintenanceNotificationRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetMaintenanceNotificationRequest) ProtoMessage() {} func (x *SetMaintenanceNotificationRequest) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_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 SetMaintenanceNotificationRequest.ProtoReflect.Descriptor instead. func (*SetMaintenanceNotificationRequest) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{40} } func (x *SetMaintenanceNotificationRequest) GetOrganizationId() string { if x != nil { return x.OrganizationId } return "" } func (x *SetMaintenanceNotificationRequest) GetIsEnabled() bool { if x != nil { return x.IsEnabled } return false } func (x *SetMaintenanceNotificationRequest) GetCustomMessage() string { if x != nil && x.CustomMessage != nil { return *x.CustomMessage } return "" } type SetMaintenanceNotificationResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // is_enabled indicates the new notification enabled status after the update. IsEnabled bool `protobuf:"varint,1,opt,name=is_enabled,json=isEnabled,proto3" json:"is_enabled,omitempty"` // message is the custom message that is now stored, if any. Message *string `protobuf:"bytes,2,opt,name=message,proto3,oneof" json:"message,omitempty"` } func (x *SetMaintenanceNotificationResponse) Reset() { *x = SetMaintenanceNotificationResponse{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetMaintenanceNotificationResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetMaintenanceNotificationResponse) ProtoMessage() {} func (x *SetMaintenanceNotificationResponse) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SetMaintenanceNotificationResponse.ProtoReflect.Descriptor instead. func (*SetMaintenanceNotificationResponse) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{41} } func (x *SetMaintenanceNotificationResponse) GetIsEnabled() bool { if x != nil { return x.IsEnabled } return false } func (x *SetMaintenanceNotificationResponse) GetMessage() string { if x != nil && x.Message != nil { return *x.Message } return "" } type OnboardingSettings_WelcomeMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // enabled specifies whether the welcome message is enabled Enabled *bool `protobuf:"varint,1,opt,name=enabled,proto3,oneof" json:"enabled,omitempty"` // message is the welcome message for the organization Message *string `protobuf:"bytes,2,opt,name=message,proto3,oneof" json:"message,omitempty"` // featured_member_id is the ID of the member to show in the welcome message FeaturedMemberId *string `protobuf:"bytes,4,opt,name=featured_member_id,json=featuredMemberId,proto3,oneof" json:"featured_member_id,omitempty"` // featured_member_resolved_avatar_url is the avatar URL that is resolved // from the featured_member_id by the server // This field **can not** be set in the request. FeaturedMemberResolvedAvatarUrl *string `protobuf:"bytes,5,opt,name=featured_member_resolved_avatar_url,json=featuredMemberResolvedAvatarUrl,proto3,oneof" json:"featured_member_resolved_avatar_url,omitempty"` } func (x *OnboardingSettings_WelcomeMessage) Reset() { *x = OnboardingSettings_WelcomeMessage{} if protoimpl.UnsafeEnabled { mi := &file_gitpod_v1_organization_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OnboardingSettings_WelcomeMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*OnboardingSettings_WelcomeMessage) ProtoMessage() {} func (x *OnboardingSettings_WelcomeMessage) ProtoReflect() protoreflect.Message { mi := &file_gitpod_v1_organization_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OnboardingSettings_WelcomeMessage.ProtoReflect.Descriptor instead. func (*OnboardingSettings_WelcomeMessage) Descriptor() ([]byte, []int) { return file_gitpod_v1_organization_proto_rawDescGZIP(), []int{3, 0} } func (x *OnboardingSettings_WelcomeMessage) GetEnabled() bool { if x != nil && x.Enabled != nil { return *x.Enabled } return false } func (x *OnboardingSettings_WelcomeMessage) GetMessage() string { if x != nil && x.Message != nil { return *x.Message } return "" } func (x *OnboardingSettings_WelcomeMessage) GetFeaturedMemberId() string { if x != nil && x.FeaturedMemberId != nil { return *x.FeaturedMemberId } return "" } func (x *OnboardingSettings_WelcomeMessage) GetFeaturedMemberResolvedAvatarUrl() string { if x != nil && x.FeaturedMemberResolvedAvatarUrl != nil { return *x.FeaturedMemberResolvedAvatarUrl } return "" } var File_gitpod_v1_organization_proto protoreflect.FileDescriptor var file_gitpod_v1_organization_proto_rawDesc = []byte{ 0x0a, 0x1c, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x1a, 0x1a, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x01, 0x0a, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x22, 0xa3, 0x02, 0x0a, 0x12, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x32, 0x0a, 0x15, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x42, 0x79, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8c, 0x01, 0x0a, 0x14, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x9a, 0x05, 0x0a, 0x12, 0x4f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x18, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x1f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x1d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x5a, 0x0a, 0x0f, 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x02, 0x52, 0x0e, 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x1a, 0xab, 0x02, 0x0a, 0x0e, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, 0x23, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x1f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x26, 0x0a, 0x24, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x94, 0x08, 0x0a, 0x14, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x41, 0x0a, 0x1a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x18, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x19, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x6f, 0x0a, 0x16, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4a, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x03, 0x52, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x88, 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x11, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x72, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4a, 0x0a, 0x1f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x1c, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x13, 0x6f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x05, 0x52, 0x12, 0x6f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x14, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x06, 0x52, 0x12, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x47, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x88, 0x01, 0x01, 0x1a, 0x47, 0x0a, 0x19, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x22, 0x90, 0x01, 0x0a, 0x27, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xb1, 0x01, 0x0a, 0x28, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x22, 0x66, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x59, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaa, 0x01, 0x0a, 0x0f, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x64, 0x65, 0x6e, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x64, 0x65, 0x6e, 0x79, 0x55, 0x73, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x64, 0x65, 0x6e, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x73, 0x22, 0xfd, 0x0b, 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x1a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x18, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x19, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x1e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x1b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x7c, 0x0a, 0x16, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x1d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x1a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4a, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x05, 0x52, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x88, 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x11, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x72, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x18, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x06, 0x52, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x4a, 0x0a, 0x1f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x48, 0x07, 0x52, 0x1c, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x13, 0x6f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x08, 0x52, 0x12, 0x6f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x14, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x48, 0x09, 0x52, 0x12, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x47, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0a, 0x52, 0x1d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x88, 0x01, 0x01, 0x1a, 0x47, 0x0a, 0x19, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x22, 0x61, 0x0a, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x49, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x5e, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x2f, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x59, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x41, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xda, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x3f, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x22, 0x99, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x44, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x48, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x3e, 0x0a, 0x17, 0x4a, 0x6f, 0x69, 0x6e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x18, 0x4a, 0x6f, 0x69, 0x6e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x22, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x23, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x87, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa2, 0x01, 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x59, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x63, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x22, 0x0a, 0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x50, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x42, 0x0a, 0x26, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x6a, 0x0a, 0x25, 0x53, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x42, 0x0a, 0x26, 0x53, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x4c, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x21, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x6e, 0x0a, 0x22, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0x94, 0x01, 0x0a, 0x10, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x4f, 0x52, 0x47, 0x41, 0x4e, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x4f, 0x52, 0x47, 0x41, 0x4e, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x52, 0x47, 0x41, 0x4e, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x4f, 0x52, 0x47, 0x41, 0x4e, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x41, 0x42, 0x4f, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x10, 0x03, 0x2a, 0x74, 0x0a, 0x16, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x23, 0x4f, 0x52, 0x47, 0x41, 0x4e, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x31, 0x0a, 0x2d, 0x4f, 0x52, 0x47, 0x41, 0x4e, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x41, 0x52, 0x42, 0x49, 0x54, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x53, 0x10, 0x01, 0x32, 0xcc, 0x10, 0x0a, 0x13, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x63, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x4a, 0x6f, 0x69, 0x6e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x1b, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x29, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x29, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2c, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8d, 0x01, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, 0x1e, 0x53, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x51, 0x0a, 0x16, 0x69, 0x6f, 0x2e, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_gitpod_v1_organization_proto_rawDescOnce sync.Once file_gitpod_v1_organization_proto_rawDescData = file_gitpod_v1_organization_proto_rawDesc ) func file_gitpod_v1_organization_proto_rawDescGZIP() []byte { file_gitpod_v1_organization_proto_rawDescOnce.Do(func() { file_gitpod_v1_organization_proto_rawDescData = protoimpl.X.CompressGZIP(file_gitpod_v1_organization_proto_rawDescData) }) return file_gitpod_v1_organization_proto_rawDescData } var file_gitpod_v1_organization_proto_enumTypes = make([]protoimpl.EnumInfo, 3) var file_gitpod_v1_organization_proto_msgTypes = make([]protoimpl.MessageInfo, 45) var file_gitpod_v1_organization_proto_goTypes = []interface{}{ (OrganizationRole)(0), // 0: gitpod.v1.OrganizationRole (OrganizationPermission)(0), // 1: gitpod.v1.OrganizationPermission (ListOrganizationsRequest_Scope)(0), // 2: gitpod.v1.ListOrganizationsRequest.Scope (*Organization)(nil), // 3: gitpod.v1.Organization (*OrganizationMember)(nil), // 4: gitpod.v1.OrganizationMember (*RoleRestrictionEntry)(nil), // 5: gitpod.v1.RoleRestrictionEntry (*OnboardingSettings)(nil), // 6: gitpod.v1.OnboardingSettings (*OrganizationSettings)(nil), // 7: gitpod.v1.OrganizationSettings (*ListOrganizationWorkspaceClassesRequest)(nil), // 8: gitpod.v1.ListOrganizationWorkspaceClassesRequest (*ListOrganizationWorkspaceClassesResponse)(nil), // 9: gitpod.v1.ListOrganizationWorkspaceClassesResponse (*UpdateOrganizationRequest)(nil), // 10: gitpod.v1.UpdateOrganizationRequest (*UpdateOrganizationResponse)(nil), // 11: gitpod.v1.UpdateOrganizationResponse (*TimeoutSettings)(nil), // 12: gitpod.v1.TimeoutSettings (*UpdateOrganizationSettingsRequest)(nil), // 13: gitpod.v1.UpdateOrganizationSettingsRequest (*UpdateOrganizationSettingsResponse)(nil), // 14: gitpod.v1.UpdateOrganizationSettingsResponse (*GetOrganizationSettingsRequest)(nil), // 15: gitpod.v1.GetOrganizationSettingsRequest (*GetOrganizationSettingsResponse)(nil), // 16: gitpod.v1.GetOrganizationSettingsResponse (*CreateOrganizationRequest)(nil), // 17: gitpod.v1.CreateOrganizationRequest (*CreateOrganizationResponse)(nil), // 18: gitpod.v1.CreateOrganizationResponse (*GetOrganizationRequest)(nil), // 19: gitpod.v1.GetOrganizationRequest (*GetOrganizationResponse)(nil), // 20: gitpod.v1.GetOrganizationResponse (*ListOrganizationsRequest)(nil), // 21: gitpod.v1.ListOrganizationsRequest (*ListOrganizationsResponse)(nil), // 22: gitpod.v1.ListOrganizationsResponse (*DeleteOrganizationRequest)(nil), // 23: gitpod.v1.DeleteOrganizationRequest (*DeleteOrganizationResponse)(nil), // 24: gitpod.v1.DeleteOrganizationResponse (*GetOrganizationInvitationRequest)(nil), // 25: gitpod.v1.GetOrganizationInvitationRequest (*GetOrganizationInvitationResponse)(nil), // 26: gitpod.v1.GetOrganizationInvitationResponse (*JoinOrganizationRequest)(nil), // 27: gitpod.v1.JoinOrganizationRequest (*JoinOrganizationResponse)(nil), // 28: gitpod.v1.JoinOrganizationResponse (*ResetOrganizationInvitationRequest)(nil), // 29: gitpod.v1.ResetOrganizationInvitationRequest (*ResetOrganizationInvitationResponse)(nil), // 30: gitpod.v1.ResetOrganizationInvitationResponse (*ListOrganizationMembersRequest)(nil), // 31: gitpod.v1.ListOrganizationMembersRequest (*ListOrganizationMembersResponse)(nil), // 32: gitpod.v1.ListOrganizationMembersResponse (*UpdateOrganizationMemberRequest)(nil), // 33: gitpod.v1.UpdateOrganizationMemberRequest (*UpdateOrganizationMemberResponse)(nil), // 34: gitpod.v1.UpdateOrganizationMemberResponse (*DeleteOrganizationMemberRequest)(nil), // 35: gitpod.v1.DeleteOrganizationMemberRequest (*DeleteOrganizationMemberResponse)(nil), // 36: gitpod.v1.DeleteOrganizationMemberResponse (*GetOrganizationMaintenanceModeRequest)(nil), // 37: gitpod.v1.GetOrganizationMaintenanceModeRequest (*GetOrganizationMaintenanceModeResponse)(nil), // 38: gitpod.v1.GetOrganizationMaintenanceModeResponse (*SetOrganizationMaintenanceModeRequest)(nil), // 39: gitpod.v1.SetOrganizationMaintenanceModeRequest (*SetOrganizationMaintenanceModeResponse)(nil), // 40: gitpod.v1.SetOrganizationMaintenanceModeResponse (*GetMaintenanceNotificationRequest)(nil), // 41: gitpod.v1.GetMaintenanceNotificationRequest (*GetMaintenanceNotificationResponse)(nil), // 42: gitpod.v1.GetMaintenanceNotificationResponse (*SetMaintenanceNotificationRequest)(nil), // 43: gitpod.v1.SetMaintenanceNotificationRequest (*SetMaintenanceNotificationResponse)(nil), // 44: gitpod.v1.SetMaintenanceNotificationResponse (*OnboardingSettings_WelcomeMessage)(nil), // 45: gitpod.v1.OnboardingSettings.WelcomeMessage nil, // 46: gitpod.v1.OrganizationSettings.PinnedEditorVersionsEntry nil, // 47: gitpod.v1.UpdateOrganizationSettingsRequest.PinnedEditorVersionsEntry (*timestamppb.Timestamp)(nil), // 48: google.protobuf.Timestamp (*PaginationRequest)(nil), // 49: gitpod.v1.PaginationRequest (*PaginationResponse)(nil), // 50: gitpod.v1.PaginationResponse (*WorkspaceClass)(nil), // 51: gitpod.v1.WorkspaceClass (*durationpb.Duration)(nil), // 52: google.protobuf.Duration } var file_gitpod_v1_organization_proto_depIdxs = []int32{ 48, // 0: gitpod.v1.Organization.creation_time:type_name -> google.protobuf.Timestamp 0, // 1: gitpod.v1.OrganizationMember.role:type_name -> gitpod.v1.OrganizationRole 48, // 2: gitpod.v1.OrganizationMember.member_since:type_name -> google.protobuf.Timestamp 0, // 3: gitpod.v1.RoleRestrictionEntry.role:type_name -> gitpod.v1.OrganizationRole 1, // 4: gitpod.v1.RoleRestrictionEntry.permissions:type_name -> gitpod.v1.OrganizationPermission 45, // 5: gitpod.v1.OnboardingSettings.welcome_message:type_name -> gitpod.v1.OnboardingSettings.WelcomeMessage 46, // 6: gitpod.v1.OrganizationSettings.pinned_editor_versions:type_name -> gitpod.v1.OrganizationSettings.PinnedEditorVersionsEntry 12, // 7: gitpod.v1.OrganizationSettings.timeout_settings:type_name -> gitpod.v1.TimeoutSettings 5, // 8: gitpod.v1.OrganizationSettings.role_restrictions:type_name -> gitpod.v1.RoleRestrictionEntry 6, // 9: gitpod.v1.OrganizationSettings.onboarding_settings:type_name -> gitpod.v1.OnboardingSettings 49, // 10: gitpod.v1.ListOrganizationWorkspaceClassesRequest.pagination:type_name -> gitpod.v1.PaginationRequest 50, // 11: gitpod.v1.ListOrganizationWorkspaceClassesResponse.pagination:type_name -> gitpod.v1.PaginationResponse 51, // 12: gitpod.v1.ListOrganizationWorkspaceClassesResponse.workspace_classes:type_name -> gitpod.v1.WorkspaceClass 3, // 13: gitpod.v1.UpdateOrganizationResponse.organization:type_name -> gitpod.v1.Organization 52, // 14: gitpod.v1.TimeoutSettings.inactivity:type_name -> google.protobuf.Duration 47, // 15: gitpod.v1.UpdateOrganizationSettingsRequest.pinned_editor_versions:type_name -> gitpod.v1.UpdateOrganizationSettingsRequest.PinnedEditorVersionsEntry 12, // 16: gitpod.v1.UpdateOrganizationSettingsRequest.timeout_settings:type_name -> gitpod.v1.TimeoutSettings 5, // 17: gitpod.v1.UpdateOrganizationSettingsRequest.role_restrictions:type_name -> gitpod.v1.RoleRestrictionEntry 6, // 18: gitpod.v1.UpdateOrganizationSettingsRequest.onboarding_settings:type_name -> gitpod.v1.OnboardingSettings 7, // 19: gitpod.v1.UpdateOrganizationSettingsResponse.settings:type_name -> gitpod.v1.OrganizationSettings 7, // 20: gitpod.v1.GetOrganizationSettingsResponse.settings:type_name -> gitpod.v1.OrganizationSettings 3, // 21: gitpod.v1.CreateOrganizationResponse.organization:type_name -> gitpod.v1.Organization 3, // 22: gitpod.v1.GetOrganizationResponse.organization:type_name -> gitpod.v1.Organization 49, // 23: gitpod.v1.ListOrganizationsRequest.pagination:type_name -> gitpod.v1.PaginationRequest 2, // 24: gitpod.v1.ListOrganizationsRequest.scope:type_name -> gitpod.v1.ListOrganizationsRequest.Scope 3, // 25: gitpod.v1.ListOrganizationsResponse.organizations:type_name -> gitpod.v1.Organization 50, // 26: gitpod.v1.ListOrganizationsResponse.pagination:type_name -> gitpod.v1.PaginationResponse 49, // 27: gitpod.v1.ListOrganizationMembersRequest.pagination:type_name -> gitpod.v1.PaginationRequest 4, // 28: gitpod.v1.ListOrganizationMembersResponse.members:type_name -> gitpod.v1.OrganizationMember 50, // 29: gitpod.v1.ListOrganizationMembersResponse.pagination:type_name -> gitpod.v1.PaginationResponse 0, // 30: gitpod.v1.UpdateOrganizationMemberRequest.role:type_name -> gitpod.v1.OrganizationRole 4, // 31: gitpod.v1.UpdateOrganizationMemberResponse.member:type_name -> gitpod.v1.OrganizationMember 17, // 32: gitpod.v1.OrganizationService.CreateOrganization:input_type -> gitpod.v1.CreateOrganizationRequest 19, // 33: gitpod.v1.OrganizationService.GetOrganization:input_type -> gitpod.v1.GetOrganizationRequest 10, // 34: gitpod.v1.OrganizationService.UpdateOrganization:input_type -> gitpod.v1.UpdateOrganizationRequest 21, // 35: gitpod.v1.OrganizationService.ListOrganizations:input_type -> gitpod.v1.ListOrganizationsRequest 23, // 36: gitpod.v1.OrganizationService.DeleteOrganization:input_type -> gitpod.v1.DeleteOrganizationRequest 25, // 37: gitpod.v1.OrganizationService.GetOrganizationInvitation:input_type -> gitpod.v1.GetOrganizationInvitationRequest 27, // 38: gitpod.v1.OrganizationService.JoinOrganization:input_type -> gitpod.v1.JoinOrganizationRequest 29, // 39: gitpod.v1.OrganizationService.ResetOrganizationInvitation:input_type -> gitpod.v1.ResetOrganizationInvitationRequest 31, // 40: gitpod.v1.OrganizationService.ListOrganizationMembers:input_type -> gitpod.v1.ListOrganizationMembersRequest 33, // 41: gitpod.v1.OrganizationService.UpdateOrganizationMember:input_type -> gitpod.v1.UpdateOrganizationMemberRequest 35, // 42: gitpod.v1.OrganizationService.DeleteOrganizationMember:input_type -> gitpod.v1.DeleteOrganizationMemberRequest 15, // 43: gitpod.v1.OrganizationService.GetOrganizationSettings:input_type -> gitpod.v1.GetOrganizationSettingsRequest 13, // 44: gitpod.v1.OrganizationService.UpdateOrganizationSettings:input_type -> gitpod.v1.UpdateOrganizationSettingsRequest 8, // 45: gitpod.v1.OrganizationService.ListOrganizationWorkspaceClasses:input_type -> gitpod.v1.ListOrganizationWorkspaceClassesRequest 37, // 46: gitpod.v1.OrganizationService.GetOrganizationMaintenanceMode:input_type -> gitpod.v1.GetOrganizationMaintenanceModeRequest 39, // 47: gitpod.v1.OrganizationService.SetOrganizationMaintenanceMode:input_type -> gitpod.v1.SetOrganizationMaintenanceModeRequest 41, // 48: gitpod.v1.OrganizationService.GetMaintenanceNotification:input_type -> gitpod.v1.GetMaintenanceNotificationRequest 43, // 49: gitpod.v1.OrganizationService.SetMaintenanceNotification:input_type -> gitpod.v1.SetMaintenanceNotificationRequest 18, // 50: gitpod.v1.OrganizationService.CreateOrganization:output_type -> gitpod.v1.CreateOrganizationResponse 20, // 51: gitpod.v1.OrganizationService.GetOrganization:output_type -> gitpod.v1.GetOrganizationResponse 11, // 52: gitpod.v1.OrganizationService.UpdateOrganization:output_type -> gitpod.v1.UpdateOrganizationResponse 22, // 53: gitpod.v1.OrganizationService.ListOrganizations:output_type -> gitpod.v1.ListOrganizationsResponse 24, // 54: gitpod.v1.OrganizationService.DeleteOrganization:output_type -> gitpod.v1.DeleteOrganizationResponse 26, // 55: gitpod.v1.OrganizationService.GetOrganizationInvitation:output_type -> gitpod.v1.GetOrganizationInvitationResponse 28, // 56: gitpod.v1.OrganizationService.JoinOrganization:output_type -> gitpod.v1.JoinOrganizationResponse 30, // 57: gitpod.v1.OrganizationService.ResetOrganizationInvitation:output_type -> gitpod.v1.ResetOrganizationInvitationResponse 32, // 58: gitpod.v1.OrganizationService.ListOrganizationMembers:output_type -> gitpod.v1.ListOrganizationMembersResponse 34, // 59: gitpod.v1.OrganizationService.UpdateOrganizationMember:output_type -> gitpod.v1.UpdateOrganizationMemberResponse 36, // 60: gitpod.v1.OrganizationService.DeleteOrganizationMember:output_type -> gitpod.v1.DeleteOrganizationMemberResponse 16, // 61: gitpod.v1.OrganizationService.GetOrganizationSettings:output_type -> gitpod.v1.GetOrganizationSettingsResponse 14, // 62: gitpod.v1.OrganizationService.UpdateOrganizationSettings:output_type -> gitpod.v1.UpdateOrganizationSettingsResponse 9, // 63: gitpod.v1.OrganizationService.ListOrganizationWorkspaceClasses:output_type -> gitpod.v1.ListOrganizationWorkspaceClassesResponse 38, // 64: gitpod.v1.OrganizationService.GetOrganizationMaintenanceMode:output_type -> gitpod.v1.GetOrganizationMaintenanceModeResponse 40, // 65: gitpod.v1.OrganizationService.SetOrganizationMaintenanceMode:output_type -> gitpod.v1.SetOrganizationMaintenanceModeResponse 42, // 66: gitpod.v1.OrganizationService.GetMaintenanceNotification:output_type -> gitpod.v1.GetMaintenanceNotificationResponse 44, // 67: gitpod.v1.OrganizationService.SetMaintenanceNotification:output_type -> gitpod.v1.SetMaintenanceNotificationResponse 50, // [50:68] is the sub-list for method output_type 32, // [32:50] is the sub-list for method input_type 32, // [32:32] is the sub-list for extension type_name 32, // [32:32] is the sub-list for extension extendee 0, // [0:32] is the sub-list for field type_name } func init() { file_gitpod_v1_organization_proto_init() } func file_gitpod_v1_organization_proto_init() { if File_gitpod_v1_organization_proto != nil { return } file_gitpod_v1_pagination_proto_init() file_gitpod_v1_workspace_proto_init() if !protoimpl.UnsafeEnabled { file_gitpod_v1_organization_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Organization); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrganizationMember); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RoleRestrictionEntry); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OnboardingSettings); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrganizationSettings); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListOrganizationWorkspaceClassesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListOrganizationWorkspaceClassesResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateOrganizationRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateOrganizationResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TimeoutSettings); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateOrganizationSettingsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateOrganizationSettingsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetOrganizationSettingsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetOrganizationSettingsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateOrganizationRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateOrganizationResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetOrganizationRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetOrganizationResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListOrganizationsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListOrganizationsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteOrganizationRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteOrganizationResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetOrganizationInvitationRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetOrganizationInvitationResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JoinOrganizationRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JoinOrganizationResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResetOrganizationInvitationRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResetOrganizationInvitationResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListOrganizationMembersRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListOrganizationMembersResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateOrganizationMemberRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateOrganizationMemberResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteOrganizationMemberRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteOrganizationMemberResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetOrganizationMaintenanceModeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetOrganizationMaintenanceModeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetOrganizationMaintenanceModeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetOrganizationMaintenanceModeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetMaintenanceNotificationRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetMaintenanceNotificationResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetMaintenanceNotificationRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetMaintenanceNotificationResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gitpod_v1_organization_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OnboardingSettings_WelcomeMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_gitpod_v1_organization_proto_msgTypes[3].OneofWrappers = []interface{}{} file_gitpod_v1_organization_proto_msgTypes[4].OneofWrappers = []interface{}{} file_gitpod_v1_organization_proto_msgTypes[7].OneofWrappers = []interface{}{} file_gitpod_v1_organization_proto_msgTypes[9].OneofWrappers = []interface{}{} file_gitpod_v1_organization_proto_msgTypes[10].OneofWrappers = []interface{}{} file_gitpod_v1_organization_proto_msgTypes[30].OneofWrappers = []interface{}{} file_gitpod_v1_organization_proto_msgTypes[40].OneofWrappers = []interface{}{} file_gitpod_v1_organization_proto_msgTypes[41].OneofWrappers = []interface{}{} file_gitpod_v1_organization_proto_msgTypes[42].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_gitpod_v1_organization_proto_rawDesc, NumEnums: 3, NumMessages: 45, NumExtensions: 0, NumServices: 1, }, GoTypes: file_gitpod_v1_organization_proto_goTypes, DependencyIndexes: file_gitpod_v1_organization_proto_depIdxs, EnumInfos: file_gitpod_v1_organization_proto_enumTypes, MessageInfos: file_gitpod_v1_organization_proto_msgTypes, }.Build() File_gitpod_v1_organization_proto = out.File file_gitpod_v1_organization_proto_rawDesc = nil file_gitpod_v1_organization_proto_goTypes = nil file_gitpod_v1_organization_proto_depIdxs = nil }