From d26292ab0ef3e1ae0523254605600f5492da130e Mon Sep 17 00:00:00 2001 From: royendo <67675319+royendo@users.noreply.github.com> Date: Thu, 12 Mar 2026 16:31:20 -0400 Subject: [PATCH 01/47] Slots, Manage Slots --- .../status/overview/DeploymentSection.svelte | 41 +++ .../status/overview/ManageSlotsModal.svelte | 261 ++++++++++++++++++ 2 files changed, 302 insertions(+) create mode 100644 web-admin/src/features/projects/status/overview/ManageSlotsModal.svelte diff --git a/web-admin/src/features/projects/status/overview/DeploymentSection.svelte b/web-admin/src/features/projects/status/overview/DeploymentSection.svelte index c7c45aa5872..af91e13bb29 100644 --- a/web-admin/src/features/projects/status/overview/DeploymentSection.svelte +++ b/web-admin/src/features/projects/status/overview/DeploymentSection.svelte @@ -16,6 +16,7 @@ } from "../display-utils"; import { getGitUrlFromRemote } from "@rilldata/web-common/features/project/deploy/github-utils"; import ProjectClone from "./ProjectClone.svelte"; + import ManageSlotsModal from "./ManageSlotsModal.svelte"; import OverviewCard from "./OverviewCard.svelte"; export let organization: string; @@ -64,6 +65,17 @@ $: aiConnector = instance?.projectConnectors?.find( (c) => c.name === instance?.aiConnector, ); + + // Slots + $: currentSlots = Number(projectData?.prodSlots) || 0; + // Live Connect only when a non-DuckDB connector explicitly has provision=false. + // DuckDB is always Rill-managed (including local dev where provision=false). + $: isRillManaged = + !olapConnector || + olapConnector.type === "duckdb" || + olapConnector.provision === true; + $: canManage = $proj.data?.projectPermissions?.manageProject ?? false; + let slotsModalOpen = false; @@ -160,9 +172,32 @@ {/if} + +
+ Slots + + {currentSlots} + {#if canManage} + + {/if} + +
+ + diff --git a/web-admin/src/features/projects/status/overview/ManageSlotsModal.svelte b/web-admin/src/features/projects/status/overview/ManageSlotsModal.svelte new file mode 100644 index 00000000000..72cbdbddbd9 --- /dev/null +++ b/web-admin/src/features/projects/status/overview/ManageSlotsModal.svelte @@ -0,0 +1,261 @@ + + + + + + Manage Slots + + {#if isRillManaged} + Rill-managed projects are billed at ${SLOT_RATE_PER_HR}/slot/hr. + Data storage is charged separately based on usage. + Monthly estimates assume ~{HOURS_PER_MONTH} hours/month. + {:else} + We provide minimum slots based on your ClickHouse Cloud / Self Managed cluster settings. You're + free to increase if required but cannot go below your cluster's + minimum specs. + {/if} + + + + {#if isRillManaged && projectUsageBytes > 0} +
+ Data usage + {formatMemorySize(projectUsageBytes)} +
+ {/if} + + {#if isRillManaged} + +
+
+ Slots + $/slot/hr + Est. $/mo +
+ {#each RILL_MANAGED_TIERS as tier} + + {/each} +
+ {:else} + +
+
+ CHC Cluster + Rill Slots + Rill $/mo +
+ {#each LIVE_CONNECT_TIERS as tier} + + {/each} +
+

+ Cluster specs shown for ClickHouse Cloud reference. Self-managed users + can ignore cluster details. +

+ {/if} + + +
+
+ + From 0ddc0005d6972dd256961acfa98bdcfbbfe84fd6 Mon Sep 17 00:00:00 2001 From: royendo <67675319+royendo@users.noreply.github.com> Date: Thu, 12 Mar 2026 16:38:02 -0400 Subject: [PATCH 02/47] prodSlots --- .../status/overview/DeploymentSection.svelte | 35 +++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/web-admin/src/features/projects/status/overview/DeploymentSection.svelte b/web-admin/src/features/projects/status/overview/DeploymentSection.svelte index af91e13bb29..7171edf5b06 100644 --- a/web-admin/src/features/projects/status/overview/DeploymentSection.svelte +++ b/web-admin/src/features/projects/status/overview/DeploymentSection.svelte @@ -76,6 +76,11 @@ olapConnector.provision === true; $: canManage = $proj.data?.projectPermissions?.manageProject ?? false; let slotsModalOpen = false; + + // Slot usage breakdown (dev edit modes coming soon; each consumes 1 slot) + $: prodSlots = currentSlots; // today all slots go to prod + $: devSlots = 0; // will increase when dev edit modes are active + $: usedSlots = prodSlots + devSlots; @@ -175,8 +180,22 @@
Slots - - {currentSlots} + + {#if currentSlots > 0} +
+
+
+
+ {usedSlots}/{currentSlots} + {:else} + 0 + {/if} {#if canManage} {/each} From 7f7d7a1672c4878c171500d331e124dc8c2f7e8c Mon Sep 17 00:00:00 2001 From: royendo <67675319+royendo@users.noreply.github.com> Date: Fri, 13 Mar 2026 17:48:33 -0400 Subject: [PATCH 04/47] CHC cluster size detection and Auto prompt for API key when on Free plan, view only Cluster size costs, CTA Upgrade to Grwoth Plan Once upgraded, CHC cannot rquset a tier less than detected. but free to change at any time. SCH can change to any tier at any time RMDuck likewise can change to any tier at any time. DATA OVERAGES ALSO CHARGED - add rill_min_slots and chc_cluster_size to postgres export for telemetry - add API endpoint to hit CHC cluster for Cluster info - oka --- admin/database/database.go | 6 + admin/database/postgres/migrations/0093.sql | 2 + admin/database/postgres/postgres.go | 6 +- admin/server/clickhouse_cloud.go | 147 +++++++++++ admin/server/projects.go | 10 +- admin/server/server.go | 3 + proto/rill/admin/v1/api.proto | 4 + runtime/drivers/clickhouse/clickhouse.go | 117 +++++++++ runtime/drivers/clickhouse/cloud_api.go | 190 ++++++++++++++ runtime/server/instances.go | 57 ++++- .../ClickHouseCloudDetailsModal.svelte | 102 ++++++++ .../overview/ClickHouseCloudKeyModal.svelte | 184 ++++++++++++++ .../status/overview/DeploymentSection.svelte | 237 +++++++++++++++--- .../status/overview/ManageSlotsModal.svelte | 121 +++++++-- 14 files changed, 1124 insertions(+), 62 deletions(-) create mode 100644 admin/database/postgres/migrations/0093.sql create mode 100644 admin/server/clickhouse_cloud.go create mode 100644 runtime/drivers/clickhouse/cloud_api.go create mode 100644 web-admin/src/features/projects/status/overview/ClickHouseCloudDetailsModal.svelte create mode 100644 web-admin/src/features/projects/status/overview/ClickHouseCloudKeyModal.svelte diff --git a/admin/database/database.go b/admin/database/database.go index c9926331db8..31ab6bf005a 100644 --- a/admin/database/database.go +++ b/admin/database/database.go @@ -506,6 +506,10 @@ type Project struct { // Annotations are internally configured key-value metadata about the project. // They propagate to the project's deployments and telemetry. Annotations map[string]string `db:"annotations"` + // ChcClusterSize is the detected ClickHouse Cloud cluster memory in GB (per replica). + ChcClusterSize *float64 `db:"chc_cluster_size"` + // RillMinSlots is the minimum number of Rill slots required, derived from ChcClusterSize. + RillMinSlots *int64 `db:"rill_min_slots"` // CreatedOn is the time the project was created. CreatedOn time.Time `db:"created_on"` // UpdatedOn is the time the project was last updated. @@ -556,6 +560,8 @@ type UpdateProjectOptions struct { DevSlots int DevTTLSeconds int64 Annotations map[string]string + ChcClusterSize *float64 + RillMinSlots *int64 } // DeploymentStatus is an enum representing the state of a deployment diff --git a/admin/database/postgres/migrations/0093.sql b/admin/database/postgres/migrations/0093.sql new file mode 100644 index 00000000000..ea9ea8090a0 --- /dev/null +++ b/admin/database/postgres/migrations/0093.sql @@ -0,0 +1,2 @@ +ALTER TABLE projects ADD COLUMN chc_cluster_size DOUBLE PRECISION; +ALTER TABLE projects ADD COLUMN rill_min_slots BIGINT; diff --git a/admin/database/postgres/postgres.go b/admin/database/postgres/postgres.go index 3e0bb40aae9..f44ad04015f 100644 --- a/admin/database/postgres/postgres.go +++ b/admin/database/postgres/postgres.go @@ -530,8 +530,10 @@ func (c *connection) UpdateProject(ctx context.Context, id string, opts *databas prod_version = $17, dev_slots = $18, dev_ttl_seconds = $19, + chc_cluster_size = $20, + rill_min_slots = $21, updated_on = now() - WHERE id = $20 + WHERE id = $22 RETURNING * `, opts.Name, @@ -553,6 +555,8 @@ func (c *connection) UpdateProject(ctx context.Context, id string, opts *databas opts.ProdVersion, opts.DevSlots, opts.DevTTLSeconds, + opts.ChcClusterSize, + opts.RillMinSlots, id, ).StructScan(res) if err != nil { diff --git a/admin/server/clickhouse_cloud.go b/admin/server/clickhouse_cloud.go new file mode 100644 index 00000000000..8fa7f32be8b --- /dev/null +++ b/admin/server/clickhouse_cloud.go @@ -0,0 +1,147 @@ +package server + +import ( + "encoding/json" + "net/http" + + "github.com/rilldata/rill/admin/database" + chdriver "github.com/rilldata/rill/runtime/drivers/clickhouse" + "github.com/rilldata/rill/runtime/pkg/httputil" + "github.com/rilldata/rill/runtime/pkg/observability" + "github.com/rs/cors" +) + +// Live Connect tier mapping: cluster memory (GB per replica) → minimum Rill slots. +// Each tier's memory = slots * 2 GB. +var chcTiers = []struct { + memoryGB int + slots int +}{ + {8, 4}, + {12, 6}, + {16, 8}, + {32, 16}, + {64, 32}, + {120, 60}, +} + +// chcMinSlotsForMemory returns the minimum Rill slots for a given CHC cluster memory (GB per replica). +// It picks the smallest tier whose memory is >= the cluster memory. +func chcMinSlotsForMemory(memoryGB float64) int { + for _, t := range chcTiers { + if memoryGB <= float64(t.memoryGB) { + return t.slots + } + } + // Larger than any tier: use the biggest + return chcTiers[len(chcTiers)-1].slots +} + +type chcLookupRequest struct { + KeyID string `json:"key_id"` + KeySecret string `json:"key_secret"` + Host string `json:"host"` + // Org and Project are optional; when set, the lookup persists cluster info on the project. + Org string `json:"org"` + Project string `json:"project"` +} + +type chcLookupResponse struct { + ServiceName string `json:"service_name"` + Status string `json:"status"` + CloudProvider string `json:"cloud_provider"` + Region string `json:"region"` + Tier string `json:"tier"` + IdleScaling bool `json:"idle_scaling"` + MinMemoryGB float64 `json:"min_memory_gb"` + MaxMemoryGB float64 `json:"max_memory_gb"` + NumReplicas int `json:"num_replicas"` + RillMinSlots int `json:"rill_min_slots"` +} + +func (s *Server) registerClickHouseCloudEndpoints(mux *http.ServeMux) { + corsMiddleware := cors.New(newCORSOptions(s.opts.AllowedOrigins, true)).Handler + handler := observability.Middleware("admin", s.logger, corsMiddleware(s.authenticator.HTTPMiddleware(httputil.Handler(s.clickhouseCloudLookup)))) + observability.MuxHandle(mux, "/v1/clickhouse-cloud/lookup", handler) +} + +func (s *Server) clickhouseCloudLookup(w http.ResponseWriter, r *http.Request) error { + if r.Method != http.MethodPost { + http.Error(w, "method not allowed", http.StatusMethodNotAllowed) + return nil + } + + var req chcLookupRequest + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + http.Error(w, "invalid request body", http.StatusBadRequest) + return nil + } + + if req.KeyID == "" || req.KeySecret == "" || req.Host == "" { + http.Error(w, "key_id, key_secret, and host are required", http.StatusBadRequest) + return nil + } + + client := chdriver.NewCloudAPIClient(req.KeyID, req.KeySecret) + if client == nil { + http.Error(w, "failed to create CHC API client", http.StatusInternalServerError) + return nil + } + + info, err := client.FindServiceByHost(r.Context(), req.Host) + if err != nil { + http.Error(w, err.Error(), http.StatusBadGateway) + return nil + } + + // info.MaxMemoryGB is already per-replica (from minReplicaMemoryGb/maxReplicaMemoryGb) + minSlots := chcMinSlotsForMemory(info.MaxMemoryGB) + + // Persist cluster info on the project if org/project are provided + if req.Org != "" && req.Project != "" { + proj, err := s.admin.DB.FindProjectByName(r.Context(), req.Org, req.Project) + if err == nil { + clusterSize := info.MaxMemoryGB + minSlotsInt64 := int64(minSlots) + _, _ = s.admin.DB.UpdateProject(r.Context(), proj.ID, &database.UpdateProjectOptions{ + Name: proj.Name, + Description: proj.Description, + Public: proj.Public, + DirectoryName: proj.DirectoryName, + ArchiveAssetID: proj.ArchiveAssetID, + GitRemote: proj.GitRemote, + GithubInstallationID: proj.GithubInstallationID, + GithubRepoID: proj.GithubRepoID, + ManagedGitRepoID: proj.ManagedGitRepoID, + Subpath: proj.Subpath, + ProdVersion: proj.ProdVersion, + PrimaryBranch: proj.PrimaryBranch, + PrimaryDeploymentID: proj.PrimaryDeploymentID, + ProdSlots: proj.ProdSlots, + ProdTTLSeconds: proj.ProdTTLSeconds, + DevSlots: proj.DevSlots, + DevTTLSeconds: proj.DevTTLSeconds, + Provisioner: proj.Provisioner, + Annotations: proj.Annotations, + ChcClusterSize: &clusterSize, + RillMinSlots: &minSlotsInt64, + }) + } + } + + resp := chcLookupResponse{ + ServiceName: info.Name, + Status: info.Status, + CloudProvider: info.CloudProvider, + Region: info.Region, + Tier: info.Tier, + IdleScaling: info.IdleScaling, + MinMemoryGB: info.MinMemoryGB, + MaxMemoryGB: info.MaxMemoryGB, + NumReplicas: info.NumReplicas, + RillMinSlots: minSlots, + } + + w.Header().Set("Content-Type", "application/json") + return json.NewEncoder(w).Encode(resp) +} diff --git a/admin/server/projects.go b/admin/server/projects.go index 99618b65495..f6a815ef2c2 100644 --- a/admin/server/projects.go +++ b/admin/server/projects.go @@ -890,6 +890,12 @@ func (s *Server) UpdateProject(ctx context.Context, req *adminv1.UpdateProjectRe } } + // Enforce minimum slots if rill_min_slots is set on the project + prodSlots := int(valOrDefault(req.ProdSlots, int64(proj.ProdSlots))) + if proj.RillMinSlots != nil && prodSlots < int(*proj.RillMinSlots) { + return nil, status.Errorf(codes.InvalidArgument, "prod_slots cannot be less than %d (minimum required for this ClickHouse Cloud cluster)", *proj.RillMinSlots) + } + opts := &database.UpdateProjectOptions{ Name: valOrDefault(req.NewName, proj.Name), Description: valOrDefault(req.Description, proj.Description), @@ -904,12 +910,14 @@ func (s *Server) UpdateProject(ctx context.Context, req *adminv1.UpdateProjectRe ProdVersion: valOrDefault(req.ProdVersion, proj.ProdVersion), PrimaryBranch: primaryBranch, PrimaryDeploymentID: proj.PrimaryDeploymentID, - ProdSlots: int(valOrDefault(req.ProdSlots, int64(proj.ProdSlots))), + ProdSlots: prodSlots, ProdTTLSeconds: prodTTLSeconds, DevSlots: proj.DevSlots, DevTTLSeconds: proj.DevTTLSeconds, Provisioner: valOrDefault(req.Provisioner, proj.Provisioner), Annotations: proj.Annotations, + ChcClusterSize: proj.ChcClusterSize, + RillMinSlots: proj.RillMinSlots, } proj, err = s.admin.UpdateProject(ctx, proj, opts) if err != nil { diff --git a/admin/server/server.go b/admin/server/server.go index 52ea1433173..7a7127fb048 100644 --- a/admin/server/server.go +++ b/admin/server/server.go @@ -237,6 +237,9 @@ func (s *Server) HTTPHandler(ctx context.Context) (http.Handler, error) { // Add Github-related endpoints (not gRPC handlers, just regular endpoints on /github/*) s.registerGithubEndpoints(mux) + // Add ClickHouse Cloud lookup endpoint + s.registerClickHouseCloudEndpoints(mux) + // Add project assets endpoint. mux.Handle("/v1/assets/{asset_id}/download", observability.Middleware("assets", s.logger, s.authenticator.HTTPMiddleware(httputil.Handler(s.assetHandler)))) diff --git a/proto/rill/admin/v1/api.proto b/proto/rill/admin/v1/api.proto index ccd313d24c5..0a6d1dcb194 100644 --- a/proto/rill/admin/v1/api.proto +++ b/proto/rill/admin/v1/api.proto @@ -3234,6 +3234,10 @@ message Project { string prod_version = 21; google.protobuf.Timestamp created_on = 14; google.protobuf.Timestamp updated_on = 15; + // ChcClusterSize is the detected ClickHouse Cloud cluster memory in GB (per replica). + optional double chc_cluster_size = 27; + // RillMinSlots is the minimum number of Rill slots required, derived from the CHC cluster size. + optional int64 rill_min_slots = 28; // Reserved for backwards compatibility (prod_olap_driver and prod_olap_dsn) reserved 10, 11; } diff --git a/runtime/drivers/clickhouse/clickhouse.go b/runtime/drivers/clickhouse/clickhouse.go index 9818fdba1a6..2ac4187b9a6 100644 --- a/runtime/drivers/clickhouse/clickhouse.go +++ b/runtime/drivers/clickhouse/clickhouse.go @@ -199,6 +199,10 @@ type configProperties struct { ConnMaxLifetime string `mapstructure:"conn_max_lifetime"` // ReadTimeout is the maximum amount of time a connection may be reused. Default is 300s. ReadTimeout string `mapstructure:"read_timeout"` + // ClickHouseCloudAPIKeyID is the key ID for the ClickHouse Cloud Admin API. + ClickHouseCloudAPIKeyID string `mapstructure:"clickhouse_cloud_api_key_id"` + // ClickHouseCloudAPIKeySecret is the key secret for the ClickHouse Cloud Admin API. + ClickHouseCloudAPIKeySecret string `mapstructure:"clickhouse_cloud_api_key_secret"` } func (c *configProperties) validate() error { @@ -380,6 +384,16 @@ func (d driver) Open(connectorName, instanceID string, config map[string]any, st embed: embed, } + // Initialize ClickHouse Cloud API client if credentials are provided and host looks like CHC + if c.isClickHouseCloud() { + c.cloudClient = NewCloudAPIClient(conf.ClickHouseCloudAPIKeyID, conf.ClickHouseCloudAPIKeySecret) + if c.cloudClient != nil { + logger.Info("ClickHouse Cloud detected; API client initialized", zap.String("host", c.resolvedHost())) + } else { + logger.Info("ClickHouse Cloud detected but no API key configured", zap.String("host", c.resolvedHost())) + } + } + c.used() go c.periodicallyEmitStats() @@ -432,6 +446,10 @@ type Connection struct { embed *embedClickHouse // billingTableExists cached state of whether the billing.events table exists in the database billingTableExists *bool + // cloudInfo holds metadata fetched from the ClickHouse Cloud API (nil if not CHC or no API key) + cloudInfo *CloudServiceInfo + // cloudClient is the CHC API client (nil if no API keys configured) + cloudClient *CloudAPIClient } // Ping implements drivers.Handle. @@ -462,6 +480,23 @@ func (c *Connection) Driver() string { func (c *Connection) Config() map[string]any { m := make(map[string]any, 0) _ = mapstructure.Decode(c.config, &m) + // Inject ClickHouse Cloud info if available (for frontend consumption) + m["is_clickhouse_cloud"] = c.isClickHouseCloud() + if host := c.resolvedHost(); host != "" { + m["resolved_host"] = host + } + if c.cloudInfo != nil { + m["cloud_service_id"] = c.cloudInfo.ID + m["cloud_service_name"] = c.cloudInfo.Name + m["cloud_status"] = c.cloudInfo.Status + m["cloud_provider"] = c.cloudInfo.CloudProvider + m["cloud_region"] = c.cloudInfo.Region + m["cloud_tier"] = c.cloudInfo.Tier + m["cloud_idle_scaling"] = c.cloudInfo.IdleScaling + m["cloud_min_memory_gb"] = c.cloudInfo.MinMemoryGB + m["cloud_max_memory_gb"] = c.cloudInfo.MaxMemoryGB + m["cloud_num_replicas"] = c.cloudInfo.NumReplicas + } return m } @@ -596,6 +631,64 @@ func (c *Connection) lastUsedOn() time.Time { return time.Unix(c.lastUsedUnixTime.Load(), 0) } +// isClickHouseCloud returns true if the connected host looks like a ClickHouse Cloud endpoint. +func (c *Connection) isClickHouseCloud() bool { + host := c.resolvedHost() + return strings.HasSuffix(strings.ToLower(host), ".clickhouse.cloud") +} + +// resolvedHost returns the host this connection targets, checking config, parsed opts, and DSN. +func (c *Connection) resolvedHost() string { + if c.config.Host != "" { + return c.config.Host + } + // Try parsed opts (populated after Open via ParseDSN or manual config) + if c.opts != nil && len(c.opts.Addr) > 0 { + host, _, err := net.SplitHostPort(c.opts.Addr[0]) + if err == nil && host != "" { + return host + } + return c.opts.Addr[0] + } + // Fallback: parse DSN directly (handles https:// and clickhouse:// schemes) + if c.config.DSN != "" { + return hostFromDSN(c.config.DSN) + } + return "" +} + +// hostFromDSN extracts the hostname from a DSN string. +// Handles schemes like clickhouse://, https://, http://. +func hostFromDSN(dsn string) string { + // Strip scheme + if idx := strings.Index(dsn, "://"); idx >= 0 { + dsn = dsn[idx+3:] + } + // Strip userinfo + if idx := strings.Index(dsn, "@"); idx >= 0 { + dsn = dsn[idx+1:] + } + // Strip query params + if idx := strings.Index(dsn, "?"); idx >= 0 { + dsn = dsn[:idx] + } + // Strip path + if idx := strings.Index(dsn, "/"); idx >= 0 { + dsn = dsn[:idx] + } + // Strip port + host, _, err := net.SplitHostPort(dsn) + if err == nil && host != "" { + return host + } + return dsn +} + +// CloudInfo returns the cached ClickHouse Cloud service info, or nil if unavailable. +func (c *Connection) CloudInfo() *CloudServiceInfo { + return c.cloudInfo +} + // Periodically collects stats about the database and emit them as activity events. func (c *Connection) periodicallyEmitStats() { if c.activity == nil { @@ -643,6 +736,30 @@ func (c *Connection) periodicallyEmitStats() { c.logger.Log(lvl, "failed to estimate clickhouse size", zap.Error(err), zap.Bool("managed", c.config.Managed)) } + + // Fetch ClickHouse Cloud service info (on sensitiveTicker for testing; move to regularTicker later) + if c.cloudClient != nil { + info, err := c.cloudClient.FindServiceByHost(c.ctx, c.resolvedHost()) + if err != nil { + c.logger.Warn("failed to fetch ClickHouse Cloud service info", zap.Error(err)) + } else { + c.cloudInfo = info + c.logger.Info("ClickHouse Cloud service info", + zap.String("service_id", info.ID), + zap.String("service_name", info.Name), + zap.String("status", info.Status), + zap.String("cloud_provider", info.CloudProvider), + zap.String("region", info.Region), + zap.String("tier", info.Tier), + zap.Bool("idle_scaling", info.IdleScaling), + zap.Float64("min_memory_gb", info.MinMemoryGB), + zap.Float64("max_memory_gb", info.MaxMemoryGB), + zap.Int("num_replicas", info.NumReplicas), + ) + // Auto-update canScaleToZero based on CHC idle scaling setting + c.config.CanScaleToZero = info.IdleScaling + } + } case <-regularTicker.C: // Skip if it hasn't been used recently and may be scaled to zero. if !(c.config.CanScaleToZero && time.Since(c.lastUsedOn()) > 2*time.Minute) && !skipEstimatedSizeEmission { diff --git a/runtime/drivers/clickhouse/cloud_api.go b/runtime/drivers/clickhouse/cloud_api.go new file mode 100644 index 00000000000..c03efefafef --- /dev/null +++ b/runtime/drivers/clickhouse/cloud_api.go @@ -0,0 +1,190 @@ +package clickhouse + +import ( + "context" + "encoding/json" + "fmt" + "io" + "net/http" + "strings" + "time" +) + +const cloudAPIBaseURL = "https://api.clickhouse.cloud/v1" + +// CloudAPIClient provides access to the ClickHouse Cloud REST API. +type CloudAPIClient struct { + keyID string + keySecret string + httpClient *http.Client +} + +// CloudServiceInfo holds metadata about a ClickHouse Cloud service. +type CloudServiceInfo struct { + ID string `json:"id"` + Name string `json:"name"` + Status string `json:"status"` // "running", "idle", "stopped", "provisioning" + CloudProvider string `json:"cloudProvider"` + Region string `json:"region"` + Tier string `json:"tier"` // "development", "production" + IdleScaling bool `json:"idleScaling"` + MinMemoryGB float64 `json:"minTotalMemoryGb"` + MaxMemoryGB float64 `json:"maxTotalMemoryGb"` + NumReplicas int `json:"numReplicas"` +} + +// NewCloudAPIClient creates a client for the ClickHouse Cloud API. +// Returns nil if either credential is empty. +func NewCloudAPIClient(keyID, keySecret string) *CloudAPIClient { + if keyID == "" || keySecret == "" { + return nil + } + return &CloudAPIClient{ + keyID: keyID, + keySecret: keySecret, + httpClient: &http.Client{ + Timeout: 30 * time.Second, + }, + } +} + +// FindServiceByHost looks up the CHC service whose endpoint matches the given host. +// It iterates all organizations the API key has access to and all services in each. +func (c *CloudAPIClient) FindServiceByHost(ctx context.Context, host string) (*CloudServiceInfo, error) { + orgs, err := c.listOrganizations(ctx) + if err != nil { + return nil, fmt.Errorf("listing organizations: %w", err) + } + + for _, orgID := range orgs { + svc, err := c.findServiceInOrg(ctx, orgID, host) + if err != nil { + continue // try next org + } + if svc != nil { + return svc, nil + } + } + + return nil, fmt.Errorf("no ClickHouse Cloud service found matching host %q", host) +} + +// GetServiceInfo fetches info for a known org + service ID pair. +func (c *CloudAPIClient) GetServiceInfo(ctx context.Context, orgID, serviceID string) (*CloudServiceInfo, error) { + path := fmt.Sprintf("/organizations/%s/services/%s", orgID, serviceID) + var resp struct { + Result serviceResponse `json:"result"` + } + if err := c.doGet(ctx, path, &resp); err != nil { + return nil, err + } + return mapServiceResponse(&resp.Result), nil +} + +func (c *CloudAPIClient) listOrganizations(ctx context.Context) ([]string, error) { + var resp struct { + Result []orgResponse `json:"result"` + } + if err := c.doGet(ctx, "/organizations", &resp); err != nil { + return nil, err + } + ids := make([]string, len(resp.Result)) + for i, o := range resp.Result { + ids[i] = o.ID + } + return ids, nil +} + +func (c *CloudAPIClient) findServiceInOrg(ctx context.Context, orgID, host string) (*CloudServiceInfo, error) { + path := fmt.Sprintf("/organizations/%s/services", orgID) + var resp struct { + Result []serviceResponse `json:"result"` + } + if err := c.doGet(ctx, path, &resp); err != nil { + return nil, err + } + + // Normalize the target host: strip port if present + targetHost := strings.Split(host, ":")[0] + targetHost = strings.ToLower(targetHost) + + for _, svc := range resp.Result { + for _, ep := range svc.Endpoints { + epHost := strings.ToLower(ep.Host) + if epHost == targetHost || strings.HasPrefix(targetHost, strings.Split(epHost, ".")[0]) { + return mapServiceResponse(&svc), nil + } + } + } + return nil, nil +} + +func (c *CloudAPIClient) doGet(ctx context.Context, path string, result any) error { + url := cloudAPIBaseURL + path + req, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) + if err != nil { + return fmt.Errorf("creating request: %w", err) + } + req.SetBasicAuth(c.keyID, c.keySecret) + req.Header.Set("Accept", "application/json") + + resp, err := c.httpClient.Do(req) + if err != nil { + return fmt.Errorf("executing request: %w", err) + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + body, _ := io.ReadAll(resp.Body) + return fmt.Errorf("ClickHouse Cloud API returned %d: %s", resp.StatusCode, string(body)) + } + + if err := json.NewDecoder(resp.Body).Decode(result); err != nil { + return fmt.Errorf("decoding response: %w", err) + } + return nil +} + +// API response types + +type orgResponse struct { + ID string `json:"id"` + Name string `json:"name"` +} + +type serviceResponse struct { + ID string `json:"id"` + Name string `json:"name"` + State string `json:"state"` + CloudProvider string `json:"provider"` + Region string `json:"region"` + Tier string `json:"tier"` + Endpoints []endpointResponse `json:"endpoints"` + IdleScaling bool `json:"idleScaling"` + MinReplicaMemoryGB float64 `json:"minReplicaMemoryGb"` + MaxReplicaMemoryGB float64 `json:"maxReplicaMemoryGb"` + MinTotalMemoryGB float64 `json:"minTotalMemoryGb"` + MaxTotalMemoryGB float64 `json:"maxTotalMemoryGb"` + NumReplicas int `json:"numReplicas"` +} + +type endpointResponse struct { + Protocol string `json:"protocol"` + Host string `json:"host"` + Port int `json:"port"` +} + +func mapServiceResponse(svc *serviceResponse) *CloudServiceInfo { + return &CloudServiceInfo{ + ID: svc.ID, + Name: svc.Name, + Status: svc.State, + CloudProvider: svc.CloudProvider, + Region: svc.Region, + Tier: svc.Tier, + IdleScaling: svc.IdleScaling, + MinMemoryGB: svc.MinReplicaMemoryGB, + MaxMemoryGB: svc.MaxReplicaMemoryGB, + NumReplicas: svc.NumReplicas, + } +} diff --git a/runtime/server/instances.go b/runtime/server/instances.go index da9883b5774..9133314a2f9 100644 --- a/runtime/server/instances.go +++ b/runtime/server/instances.go @@ -14,6 +14,7 @@ import ( "go.uber.org/zap" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" + "google.golang.org/protobuf/types/known/structpb" "google.golang.org/protobuf/types/known/timestamppb" ) @@ -76,8 +77,15 @@ func (s *Server) GetInstance(ctx context.Context, req *runtimev1.GetInstanceRequ return nil, status.Error(codes.InvalidArgument, err.Error()) } + pb := instanceToPB(inst, featureFlags, req.Sensitive) + + // Enrich OLAP connector with runtime metadata (e.g. ClickHouse Cloud info) + if req.Sensitive && pb.OlapConnector != "" { + s.enrichConnectorWithRuntimeMetadata(ctx, req.InstanceId, pb) + } + return &runtimev1.GetInstanceResponse{ - Instance: instanceToPB(inst, featureFlags, req.Sensitive), + Instance: pb, }, nil } @@ -300,6 +308,53 @@ func (s *Server) ReloadConfig(ctx context.Context, req *runtimev1.ReloadConfigRe return &runtimev1.ReloadConfigResponse{}, nil } +// enrichConnectorWithRuntimeMetadata merges dynamic fields from the live OLAP connector handle +// into the proto connector config. This lets the frontend access runtime-derived metadata +// (e.g. ClickHouse Cloud service info) that isn't in the static YAML config. +func (s *Server) enrichConnectorWithRuntimeMetadata(ctx context.Context, instanceID string, pb *runtimev1.Instance) { + handle, release, err := s.runtime.AcquireHandle(ctx, instanceID, pb.OlapConnector) + if err != nil { + return + } + defer release() + + runtimeConfig := handle.Config() + + // Find the OLAP connector in ProjectConnectors and merge runtime fields + for _, conn := range pb.ProjectConnectors { + if conn.Name != pb.OlapConnector { + continue + } + if conn.Config == nil { + conn.Config = &structpb.Struct{Fields: make(map[string]*structpb.Value)} + } + // Inject runtime-derived fields + for k, v := range runtimeConfig { + if k == "is_clickhouse_cloud" || k == "resolved_host" { + switch val := v.(type) { + case bool: + conn.Config.Fields[k] = structpb.NewBoolValue(val) + case string: + conn.Config.Fields[k] = structpb.NewStringValue(val) + } + } + if len(k) > 6 && k[:6] == "cloud_" { + switch val := v.(type) { + case string: + conn.Config.Fields[k] = structpb.NewStringValue(val) + case bool: + conn.Config.Fields[k] = structpb.NewBoolValue(val) + case float64: + conn.Config.Fields[k] = structpb.NewNumberValue(val) + case int: + conn.Config.Fields[k] = structpb.NewNumberValue(float64(val)) + } + } + } + break + } +} + func instanceToPB(inst *drivers.Instance, featureFlags map[string]bool, sensitive bool) *runtimev1.Instance { pb := &runtimev1.Instance{ InstanceId: inst.ID, diff --git a/web-admin/src/features/projects/status/overview/ClickHouseCloudDetailsModal.svelte b/web-admin/src/features/projects/status/overview/ClickHouseCloudDetailsModal.svelte new file mode 100644 index 00000000000..3a56d7162ba --- /dev/null +++ b/web-admin/src/features/projects/status/overview/ClickHouseCloudDetailsModal.svelte @@ -0,0 +1,102 @@ + + + + + + ClickHouse Cloud Service Details + + +
+
+ Service + {serviceName ?? "—"} +
+
+ Status + + {status ?? "—"} + +
+
+ Provider + {provider ?? "—"} +
+
+ Region + {region ?? "—"} +
+
+ Tier + {tier ?? "—"} +
+
+ Memory + + {#if minMemoryGb != null && maxMemoryGb != null} + {minMemoryGb} GB – {maxMemoryGb} GB + {:else} + — + {/if} + +
+
+ Replicas + {replicas ?? "—"} +
+
+ + + + +
+
+ + diff --git a/web-admin/src/features/projects/status/overview/ClickHouseCloudKeyModal.svelte b/web-admin/src/features/projects/status/overview/ClickHouseCloudKeyModal.svelte new file mode 100644 index 00000000000..0a805f4a49c --- /dev/null +++ b/web-admin/src/features/projects/status/overview/ClickHouseCloudKeyModal.svelte @@ -0,0 +1,184 @@ + + + { + if (!isOpen) { + keyId = ""; + keySecret = ""; + } + }} +> + + + Connect to ClickHouse Cloud + + + We detected your project is using ClickHouse Cloud. Enter your Admin API + key to unlock cluster monitoring, auto-detect scaling settings, and view + service status directly in Rill. + + +
+ + +

+ You can create an API key in your ClickHouse Cloud console. The key needs read access to the Cloud API. +

+
+ + + + + +
+
diff --git a/web-admin/src/features/projects/status/overview/DeploymentSection.svelte b/web-admin/src/features/projects/status/overview/DeploymentSection.svelte index 7171edf5b06..5225dd55ae0 100644 --- a/web-admin/src/features/projects/status/overview/DeploymentSection.svelte +++ b/web-admin/src/features/projects/status/overview/DeploymentSection.svelte @@ -1,8 +1,14 @@ @@ -155,13 +279,25 @@
OLAP Engine - + {olapConnector ? formatConnectorName(olapConnector.type) : "DuckDB"} {#if olapConnector && (olapConnector.provision || olapConnector.type !== "duckdb")} - - ({olapConnector.provision ? "Rill-managed" : "Self-managed"}) + + ({olapConnector.provision + ? "Rill-managed" + : isClickHouseCloud + ? "ClickHouse Cloud" + : "Self-managed"}) {/if} + {#if hasCloudDetails} + + {/if}
@@ -178,34 +314,43 @@
-
- Slots - - {#if currentSlots > 0} -
-
-
-
- {usedSlots}/{currentSlots} - {:else} - 0 - {/if} - {#if canManage} - - {/if} -
-
+ {#if !isEnterprise} +
+ Slots + + {#if currentSlots > 0} +
+
+
+
+ {usedSlots}/{currentSlots} + {:else} + 0 + {/if} + {#if canManage && isTrial} + + Upgrade to Growth Plan + + {:else if canManage} + + {/if} +
+
+ {/if}
@@ -215,8 +360,36 @@ {project} {currentSlots} {isRillManaged} + required={slotsRequiredMode} + viewOnly={isTrial} + detectedMemoryGb={chcDetectedMemoryGb ?? cloudMaxMemory} /> +{#if isClickHouseCloud && canManage} + +{/if} + +{#if hasCloudDetails} + +{/if} + diff --git a/web-admin/src/features/projects/status/overview/slots-utils.ts b/web-admin/src/features/projects/status/overview/slots-utils.ts index 2992580eca4..2d6014abe10 100644 --- a/web-admin/src/features/projects/status/overview/slots-utils.ts +++ b/web-admin/src/features/projects/status/overview/slots-utils.ts @@ -1,17 +1,25 @@ +// Legacy rate for existing Team plan customers export const SLOT_RATE_PER_HR = 0.06; export const HOURS_PER_MONTH = 730; +// New pricing rates (PRD v10) +export const MANAGED_SLOT_RATE_PER_HR = 0.15; +export const CLUSTER_SLOT_RATE_PER_HR = 0.06; +export const RILL_SLOT_RATE_PER_HR = 0.15; +export const STORAGE_RATE_PER_GB_PER_MONTH = 1.0; +export const INCLUDED_STORAGE_GB = 1; + export interface SlotTier { slots: number; instance: string; rillBill: number; } -function tier(slots: number): SlotTier { +function tier(slots: number, rate = SLOT_RATE_PER_HR): SlotTier { return { slots, instance: `${slots * 4}GiB / ${slots}vCPU`, - rillBill: Math.round(slots * SLOT_RATE_PER_HR * HOURS_PER_MONTH), + rillBill: Math.round(slots * rate * HOURS_PER_MONTH), }; } @@ -21,11 +29,26 @@ export const POPULAR_SLOTS = [2, 3, 4, 8, 16, 30]; // All available slot values including intermediate sizes export const ALL_SLOTS = [2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 30]; -// Popular tiers shown by default -export const POPULAR_LIVE_CONNECT_TIERS: SlotTier[] = POPULAR_SLOTS.map(tier); +// Legacy tiers at $0.06/slot/hr (for existing Team plan customers) +export const POPULAR_LIVE_CONNECT_TIERS: SlotTier[] = POPULAR_SLOTS.map((s) => + tier(s), +); +export const LIVE_CONNECT_TIERS: SlotTier[] = ALL_SLOTS.map((s) => tier(s)); + +// New pricing tiers: Cluster Slots at $0.06/hr (auto-calculated, read-only for Live Connect) +export const CLUSTER_SLOT_TIERS: SlotTier[] = ALL_SLOTS.map((s) => + tier(s, CLUSTER_SLOT_RATE_PER_HR), +); + +// New pricing tiers: Rill Slots at $0.15/hr (user-controlled for Live Connect) +export const RILL_SLOT_TIERS: SlotTier[] = ALL_SLOTS.map((s) => + tier(s, RILL_SLOT_RATE_PER_HR), +); -// All available tiers including intermediate sizes -export const LIVE_CONNECT_TIERS: SlotTier[] = ALL_SLOTS.map(tier); +// Managed mode tiers at $0.15/slot/hr +export const MANAGED_SLOT_TIERS: SlotTier[] = ALL_SLOTS.map((s) => + tier(s, MANAGED_SLOT_RATE_PER_HR), +); /** * Given detected cluster memory (GB per replica), return the matching tier's slot count. From 15ca6bea8315efa4813085eb60cfb8f6c4e91e48 Mon Sep 17 00:00:00 2001 From: royendo <67675319+royendo@users.noreply.github.com> Date: Tue, 17 Mar 2026 18:17:32 -0400 Subject: [PATCH 26/47] free-plan and growth-plan implementation --- admin/billing/orb.go | 8 +- admin/jobs/river/billing_reporter.go | 27 ++- .../src/features/billing/BillingCTAHandler.ts | 23 ++- .../BillingBannerManagerForAdmins.svelte | 8 + .../issues/getMessageForCreditIssues.ts | 3 + .../billing/issues/useBillingIssueMessage.ts | 6 +- .../features/billing/plans/FreePlan.svelte | 17 +- .../plans/StartGrowthPlanDialog.svelte | 188 ++++++++++++++++++ web-admin/src/features/billing/plans/types.ts | 13 ++ web-admin/src/features/billing/plans/utils.ts | 12 +- .../status/overview/DeploymentSection.svelte | 23 ++- .../status/overview/ManageSlotsModal.svelte | 11 +- .../features/billing/PricingDetails.svelte | 24 ++- 13 files changed, 328 insertions(+), 35 deletions(-) create mode 100644 web-admin/src/features/billing/plans/StartGrowthPlanDialog.svelte diff --git a/admin/billing/orb.go b/admin/billing/orb.go index 6412faecef0..b183b759bf9 100644 --- a/admin/billing/orb.go +++ b/admin/billing/orb.go @@ -702,9 +702,9 @@ func getPlanType(externalID string) PlanType { return TeamPlanType case "managed": return ManagedPlanType - case "free", "free_managed", "free_live_connect": + case "free-plan": return FreePlanType - case "growth", "growth_managed", "growth_live_connect": + case "growth-plan": return GrowthPlanType default: return EnterprisePlanType @@ -719,9 +719,9 @@ func getPlanDisplayName(externalID string) string { return "Team" case "managed": return "Managed" - case "free", "free_managed", "free_live_connect": + case "free-plan": return "Free" - case "growth", "growth_managed", "growth_live_connect": + case "growth-plan": return "Growth" default: return "Enterprise" diff --git a/admin/jobs/river/billing_reporter.go b/admin/jobs/river/billing_reporter.go index 5c797b2d2dd..92e9647fa59 100644 --- a/admin/jobs/river/billing_reporter.go +++ b/admin/jobs/river/billing_reporter.go @@ -79,6 +79,20 @@ func (w *BillingReporterWorker) Work(ctx context.Context, job *river.Job[Billing return nil } + // Build a lookup of project_id → rill_min_slots for Orb metadata. + // Orb uses this to split cluster slots vs rill slots in pricing SQL. + rillMinSlotsMap := make(map[string]int64) + chcProjects, err := w.admin.DB.FindProjectsWithCHC(ctx) + if err != nil { + w.logger.Warn("failed to load CHC projects for rill_min_slots lookup", zap.Error(err)) + } else { + for _, p := range chcProjects { + if p.RillMinSlots != nil { + rillMinSlotsMap[p.ID] = *p.RillMinSlots + } + } + } + reportedOrgs := make(map[string]struct{}) stop := false limit := 10000 @@ -122,6 +136,17 @@ func (w *BillingReporterWorker) Work(ctx context.Context, job *river.Job[Billing customerID = *m.BillingCustomerID } + meta := map[string]interface{}{ + "org_id": m.OrgID, + "project_id": m.ProjectID, + "project_name": m.ProjectName, + "billing_service": m.BillingService, + } + // Include rill_min_slots so Orb can split cluster vs rill slot pricing + if minSlots, ok := rillMinSlotsMap[m.ProjectID]; ok { + meta["rill_min_slots"] = minSlots + } + usage = append(usage, &billing.Usage{ CustomerID: customerID, MetricName: m.EventName, @@ -129,7 +154,7 @@ func (w *BillingReporterWorker) Work(ctx context.Context, job *river.Job[Billing ReportingGrain: w.admin.Biller.GetReportingGranularity(), StartTime: m.StartTime, EndTime: m.EndTime, - Metadata: map[string]interface{}{"org_id": m.OrgID, "project_id": m.ProjectID, "project_name": m.ProjectName, "billing_service": m.BillingService}, + Metadata: meta, }) } diff --git a/web-admin/src/features/billing/BillingCTAHandler.ts b/web-admin/src/features/billing/BillingCTAHandler.ts index 3b020ad87a2..74d57d71699 100644 --- a/web-admin/src/features/billing/BillingCTAHandler.ts +++ b/web-admin/src/features/billing/BillingCTAHandler.ts @@ -1,6 +1,9 @@ import type { BillingIssueMessage } from "@rilldata/web-admin/features/billing/issues/useBillingIssueMessage"; import { fetchPaymentsPortalURL } from "@rilldata/web-admin/features/billing/plans/selectors"; -import type { TeamPlanDialogTypes } from "@rilldata/web-admin/features/billing/plans/types"; +import type { + GrowthPlanDialogTypes, + TeamPlanDialogTypes, +} from "@rilldata/web-admin/features/billing/plans/types"; import { wakeAllProjects } from "@rilldata/web-admin/features/organizations/hibernating/wakeAllProjects"; import { BillingBannerID, @@ -14,6 +17,8 @@ export class BillingCTAHandler { public showStartTeamPlanDialog = writable(false); public startTeamPlanType = writable("base"); public teamPlanEndDate = writable(""); + public showStartGrowthPlanDialog = writable(false); + public startGrowthPlanType = writable("base"); public wakingProjects = writable(false); private static instances = new Map(); @@ -37,11 +42,17 @@ export class BillingCTAHandler { if (!issueMessage.cta) return; switch (issueMessage.cta.type) { case "upgrade": - this.showStartTeamPlanDialog.set(true); - this.startTeamPlanType.set( - issueMessage.cta.teamPlanDialogType ?? "base", - ); - this.teamPlanEndDate.set(issueMessage.cta.teamPlanEndDate ?? ""); + // Route to Growth dialog if a Growth plan dialog type is specified; otherwise Team + if (issueMessage.cta.growthPlanDialogType) { + this.showStartGrowthPlanDialog.set(true); + this.startGrowthPlanType.set(issueMessage.cta.growthPlanDialogType); + } else { + this.showStartTeamPlanDialog.set(true); + this.startTeamPlanType.set( + issueMessage.cta.teamPlanDialogType ?? "base", + ); + this.teamPlanEndDate.set(issueMessage.cta.teamPlanEndDate ?? ""); + } break; case "payment": diff --git a/web-admin/src/features/billing/banner/BillingBannerManagerForAdmins.svelte b/web-admin/src/features/billing/banner/BillingBannerManagerForAdmins.svelte index 13c4c06ba51..a3e7334bfc3 100644 --- a/web-admin/src/features/billing/banner/BillingBannerManagerForAdmins.svelte +++ b/web-admin/src/features/billing/banner/BillingBannerManagerForAdmins.svelte @@ -5,6 +5,7 @@ useBillingIssueMessage, } from "@rilldata/web-admin/features/billing/issues/useBillingIssueMessage"; import StartTeamPlanDialog from "@rilldata/web-admin/features/billing/plans/StartTeamPlanDialog.svelte"; + import StartGrowthPlanDialog from "@rilldata/web-admin/features/billing/plans/StartGrowthPlanDialog.svelte"; import { BillingBannerID, BillingBannerPriority, @@ -17,6 +18,7 @@ $: billingCTAHandler = new BillingCTAHandler(organization); $: ({ showStartTeamPlanDialog, startTeamPlanType, teamPlanEndDate } = billingCTAHandler); + $: ({ showStartGrowthPlanDialog, startGrowthPlanType } = billingCTAHandler); function showBillingIssueBanner(message: BillingIssueMessage | undefined) { if (!message) { @@ -55,3 +57,9 @@ endDate={$teamPlanEndDate} {organization} /> + + diff --git a/web-admin/src/features/billing/issues/getMessageForCreditIssues.ts b/web-admin/src/features/billing/issues/getMessageForCreditIssues.ts index 2c7720dd6c2..cdcb92de04e 100644 --- a/web-admin/src/features/billing/issues/getMessageForCreditIssues.ts +++ b/web-admin/src/features/billing/issues/getMessageForCreditIssues.ts @@ -37,6 +37,7 @@ export function getMessageForCreditIssue( cta: { type: "upgrade", text: "Upgrade to Growth", + growthPlanDialogType: "credit-low", }, }; } @@ -51,6 +52,7 @@ export function getMessageForCreditIssue( cta: { type: "upgrade", text: "Upgrade to Growth", + growthPlanDialogType: "credit-low", }, }; } @@ -65,6 +67,7 @@ export function getMessageForCreditIssue( cta: { type: "upgrade", text: "Upgrade to Growth", + growthPlanDialogType: "credit-exhausted", }, }; diff --git a/web-admin/src/features/billing/issues/useBillingIssueMessage.ts b/web-admin/src/features/billing/issues/useBillingIssueMessage.ts index 3bf0cab0c27..b2984c805ed 100644 --- a/web-admin/src/features/billing/issues/useBillingIssueMessage.ts +++ b/web-admin/src/features/billing/issues/useBillingIssueMessage.ts @@ -3,7 +3,10 @@ import { getMessageForCreditIssue } from "@rilldata/web-admin/features/billing/i import { getMessageForPaymentIssues } from "@rilldata/web-admin/features/billing/issues/getMessageForPaymentIssues"; import { getMessageForCancelledIssue } from "@rilldata/web-admin/features/billing/issues/getMessageForCancelledIssue"; import { getMessageForTrialPlan } from "@rilldata/web-admin/features/billing/issues/getMessageForTrialPlan"; -import type { TeamPlanDialogTypes } from "@rilldata/web-admin/features/billing/plans/types"; +import type { + GrowthPlanDialogTypes, + TeamPlanDialogTypes, +} from "@rilldata/web-admin/features/billing/plans/types"; import { isTeamPlan } from "@rilldata/web-admin/features/billing/plans/utils"; import { useCategorisedOrganizationBillingIssues } from "@rilldata/web-admin/features/billing/selectors"; import { areAllProjectsHibernating } from "@rilldata/web-admin/features/organizations/selectors"; @@ -23,6 +26,7 @@ export type BillingIssueMessageCTA = { teamPlanDialogType?: TeamPlanDialogTypes; teamPlanEndDate?: string; + growthPlanDialogType?: GrowthPlanDialogTypes; }; export function useBillingIssueMessage(organization: string) { diff --git a/web-admin/src/features/billing/plans/FreePlan.svelte b/web-admin/src/features/billing/plans/FreePlan.svelte index 6297954894c..ddfff1aaee4 100644 --- a/web-admin/src/features/billing/plans/FreePlan.svelte +++ b/web-admin/src/features/billing/plans/FreePlan.svelte @@ -6,6 +6,9 @@ } from "@rilldata/web-admin/client"; import ContactUs from "@rilldata/web-admin/features/billing/ContactUs.svelte"; import PlanQuotas from "@rilldata/web-admin/features/billing/plans/PlanQuotas.svelte"; + import StartGrowthPlanDialog from "@rilldata/web-admin/features/billing/plans/StartGrowthPlanDialog.svelte"; + import type { GrowthPlanDialogTypes } from "@rilldata/web-admin/features/billing/plans/types"; + import { useCategorisedOrganizationBillingIssues } from "@rilldata/web-admin/features/billing/selectors"; import SettingsContainer from "@rilldata/web-admin/features/organizations/settings/SettingsContainer.svelte"; import { Button } from "@rilldata/web-common/components/button"; @@ -22,6 +25,14 @@ $: burnRate = creditInfo?.burnRatePerDay ?? 0; $: daysRemaining = burnRate > 0 ? Math.ceil(remaining / burnRate) : undefined; + + $: categorisedIssues = useCategorisedOrganizationBillingIssues(organization); + $: creditExhausted = !!$categorisedIssues.data?.creditExhausted; + + let dialogOpen = showUpgradeDialog; + $: dialogType = ( + creditExhausted ? "credit-exhausted" : pctUsed >= 80 ? "credit-low" : "base" + ) as GrowthPlanDialogTypes; @@ -64,7 +75,11 @@ - + +{#if !$categorisedIssues.isLoading} + +{/if} diff --git a/web-admin/src/features/billing/plans/StartGrowthPlanDialog.svelte b/web-admin/src/features/billing/plans/StartGrowthPlanDialog.svelte new file mode 100644 index 00000000000..f39b0b867ec --- /dev/null +++ b/web-admin/src/features/billing/plans/StartGrowthPlanDialog.svelte @@ -0,0 +1,188 @@ + + + + + + + + + {title} + + +
+ {description} + + See pricing details -> + + +
    +
  • Pure usage-based billing, no base fee
  • +
  • Managed: $0.15/slot/hr + $1/GB/month storage above 1GB
  • +
  • Live Connect: Cluster Slots $0.06/hr + Rill Slots $0.15/hr
  • +
+
+
+ + {#if $allStatus.isError || fetchError} +
+ {#if fetchError} +
{fetchError}
+ {/if} + {#each $allStatus.errors as e} +
{e}
+ {/each} +
+ {/if} +
+ + + + +
+
diff --git a/web-admin/src/features/billing/plans/types.ts b/web-admin/src/features/billing/plans/types.ts index ebd95149f8c..3992ca1522b 100644 --- a/web-admin/src/features/billing/plans/types.ts +++ b/web-admin/src/features/billing/plans/types.ts @@ -13,3 +13,16 @@ export type TeamPlanDialogTypes = | "proj" | "renew" | "trial-expired"; + +/** + * Growth plan dialog variants (PRD v10): + * 1. base - Free → Growth upgrade + * 2. credit-low - Credit warning (80% used) upgrade prompt + * 3. credit-exhausted - Credit exhausted, projects hibernated + * 4. renew - Cancelled Growth plan renewal + */ +export type GrowthPlanDialogTypes = + | "base" + | "credit-low" + | "credit-exhausted" + | "renew"; diff --git a/web-admin/src/features/billing/plans/utils.ts b/web-admin/src/features/billing/plans/utils.ts index c2ce8ffee05..96c67dfd58b 100644 --- a/web-admin/src/features/billing/plans/utils.ts +++ b/web-admin/src/features/billing/plans/utils.ts @@ -34,19 +34,11 @@ export function isManagedPlan(planName: string) { } export function isFreePlan(planName: string) { - return ( - planName === "free" || - planName === "free_managed" || - planName === "free_live_connect" - ); + return planName === "free-plan"; } export function isGrowthPlan(planName: string) { - return ( - planName === "growth" || - planName === "growth_managed" || - planName === "growth_live_connect" - ); + return planName === "growth-plan"; } export function isEnterprisePlan(planName: string) { diff --git a/web-admin/src/features/projects/status/overview/DeploymentSection.svelte b/web-admin/src/features/projects/status/overview/DeploymentSection.svelte index 049d3da7da4..306d6f20c04 100644 --- a/web-admin/src/features/projects/status/overview/DeploymentSection.svelte +++ b/web-admin/src/features/projects/status/overview/DeploymentSection.svelte @@ -31,6 +31,7 @@ import ClickHouseCloudDetailsModal from "./ClickHouseCloudDetailsModal.svelte"; import OverviewCard from "./OverviewCard.svelte"; import { onMount } from "svelte"; + import { page } from "$app/stores"; export let organization: string; export let project: string; @@ -97,13 +98,21 @@ $: isFree = isFreePlan(planName); $: isGrowth = isGrowthPlan(planName); $: isEnterprise = planName !== "" && isEnterprisePlan(planName); - // New pricing applies to Free and Growth plans - $: useNewPricing = isFree || isGrowth; - - // Cluster Slots: derived at runtime from RillMinSlots (set by CHC sync from OLAP connector) - $: clusterSlots = Number(projectData?.rillMinSlots) || 0; - // For new pricing Live Connect, Rill Slots = prodSlots (user-controlled, starts at 0) - $: rillSlots = useNewPricing && !isRillManaged ? currentSlots : 0; + // New pricing applies to Free and Growth plans; ?newPricing=true forces it for testing + $: devForceNewPricing = $page.url.searchParams.get("newPricing") === "true"; + $: useNewPricing = isFree || isGrowth || devForceNewPricing; + + // Cluster Slots: derived at runtime from RillMinSlots (set by CHC sync from OLAP connector). + // Only applies to Live Connect (not Rill-managed). + $: clusterSlots = !isRillManaged + ? Number(projectData?.rillMinSlots) || (devForceNewPricing ? 8 : 0) + : 0; + // For new pricing Live Connect, Rill Slots = prodSlots - clusterSlots (rill_min_slots). + // Cluster slots already include the hidden 4-slot infra minimum. + $: rillSlots = + useNewPricing && !isRillManaged + ? Math.max(0, currentSlots - clusterSlots) + : 0; // Slot usage breakdown (dev edit modes coming soon; each consumes 1 slot) $: prodSlots = currentSlots; // today all slots go to prod diff --git a/web-admin/src/features/projects/status/overview/ManageSlotsModal.svelte b/web-admin/src/features/projects/status/overview/ManageSlotsModal.svelte index 794aed2af36..eb0e4f3cdfd 100644 --- a/web-admin/src/features/projects/status/overview/ManageSlotsModal.svelte +++ b/web-admin/src/features/projects/status/overview/ManageSlotsModal.svelte @@ -126,8 +126,12 @@ async function applySlotChange() { try { + // For new pricing Live Connect: Rill Slots are additional slots on top of + // cluster slots (rill_min_slots). prodSlots stored = rillSlots + clusterSlots. const newSlots = - useNewPricing && !isRillManaged ? selectedRillSlots : selectedSlots; + useNewPricing && !isRillManaged + ? selectedRillSlots + clusterSlots + : selectedSlots; await $updateProject.mutateAsync({ org: organization, project, @@ -137,7 +141,10 @@ queryKey: getAdminServiceGetProjectQueryKey(organization, project), }); eventBus.emit("notification", { - message: `Slots updated to ${newSlots}`, + message: + useNewPricing && !isRillManaged + ? `Rill Slots updated to ${selectedRillSlots}` + : `Slots updated to ${newSlots}`, }); open = false; } catch (err) { diff --git a/web-common/src/features/billing/PricingDetails.svelte b/web-common/src/features/billing/PricingDetails.svelte index 34b32d3708e..4244e2fa76e 100644 --- a/web-common/src/features/billing/PricingDetails.svelte +++ b/web-common/src/features/billing/PricingDetails.svelte @@ -1,9 +1,18 @@
- {extraText} Pricing is based on amount of data ingested (and compressed) into Rill. + {extraText} + {#if mode === "legacy"} + Pricing is based on amount of data ingested (and compressed) into Rill. + {:else if mode === "managed"} + Pure usage-based billing with no base fee. + {:else} + Cluster Slots are auto-calculated from your OLAP cluster. Add Rill Slots for extra performance. + {/if}
    -
  • Starts at $250/month with 10 GB included, $25/GB thereafter
  • -
  • Unlimited projects, limited to 50 GB each
  • + {#if mode === "legacy"} +
  • Starts at $250/month with 10 GB included, $25/GB thereafter
  • +
  • Unlimited projects, limited to 50 GB each
  • + {:else if mode === "managed"} +
  • $0.15/slot/hr (~$110/slot/month always-on)
  • +
  • $1/GB/month storage above 1GB included
  • +
  • Minimum 2 slots once over 1GB
  • + {:else} +
  • Cluster Slots: $0.06/slot/hr (auto-calculated from your OLAP cluster)
  • +
  • Rill Slots: $0.15/slot/hr (user-controlled, starts at 0)
  • + {/if}
From c2e9ce71c533fef1db54963cdcb41d56f604e6ce Mon Sep 17 00:00:00 2001 From: royendo <67675319+royendo@users.noreply.github.com> Date: Tue, 17 Mar 2026 22:18:17 -0400 Subject: [PATCH 27/47] adding Growth Flows parallel to Teams --- admin/server/billing.go | 12 +++---- web-admin/src/features/billing/Payment.svelte | 6 ++-- .../-/upgrade-callback/+page.svelte | 32 ++++++++++++------- 3 files changed, 30 insertions(+), 20 deletions(-) diff --git a/admin/server/billing.go b/admin/server/billing.go index 455d5eb55fb..fe4f3d09755 100644 --- a/admin/server/billing.go +++ b/admin/server/billing.go @@ -231,8 +231,8 @@ func (s *Server) UpdateBillingSubscription(ctx context.Context, req *adminv1.Upd if planChange { // send plan changed email - if plan.PlanType == billing.TeamPlanType { - s.logger.Named("billing").Info("upgraded to team plan", + if plan.PlanType == billing.TeamPlanType || plan.PlanType == billing.GrowthPlanType { + s.logger.Named("billing").Info("upgraded to paid plan", zap.String("org_id", org.ID), zap.String("org_name", org.Name), zap.String("user_email", org.BillingEmail), @@ -240,7 +240,7 @@ func (s *Server) UpdateBillingSubscription(ctx context.Context, req *adminv1.Upd zap.String("plan_name", sub.Plan.Name), ) - // special handling for team plan to send custom email + // special handling for team/growth plan to send custom email err = s.admin.Email.SendTeamPlanStarted(&email.TeamPlan{ ToEmail: org.BillingEmail, ToName: org.Name, @@ -449,8 +449,8 @@ func (s *Server) RenewBillingSubscription(ctx context.Context, req *adminv1.Rene s.logger.Named("billing").Info("subscription renewed", zap.String("org_id", org.ID), zap.String("org_name", org.Name), zap.String("plan_id", sub.Plan.ID), zap.String("plan_name", sub.Plan.Name)) // send subscription renewed email - if sub.Plan.PlanType == billing.TeamPlanType { - // special handling for team plan to send custom email + if sub.Plan.PlanType == billing.TeamPlanType || sub.Plan.PlanType == billing.GrowthPlanType { + // special handling for team/growth plan to send custom email err = s.admin.Email.SendTeamPlanRenewal(&email.TeamPlan{ ToEmail: org.BillingEmail, ToName: org.Name, @@ -460,7 +460,7 @@ func (s *Server) RenewBillingSubscription(ctx context.Context, req *adminv1.Rene BillingStartDate: sub.CurrentBillingCycleEndDate, }) - s.logger.Named("billing").Info("upgraded to team plan", + s.logger.Named("billing").Info("renewed paid plan", zap.String("org_id", org.ID), zap.String("org_name", org.Name), zap.String("user_email", org.BillingEmail), diff --git a/web-admin/src/features/billing/Payment.svelte b/web-admin/src/features/billing/Payment.svelte index f9f7725e381..8f8bf89b16f 100644 --- a/web-admin/src/features/billing/Payment.svelte +++ b/web-admin/src/features/billing/Payment.svelte @@ -9,7 +9,7 @@ import SettingsContainer from "@rilldata/web-admin/features/organizations/settings/SettingsContainer.svelte"; import { Button } from "@rilldata/web-common/components/button"; import CancelCircle from "@rilldata/web-common/components/icons/CancelCircle.svelte"; - import { isEnterprisePlan, isManagedPlan } from "./plans/utils"; + import { isEnterprisePlan, isFreePlan, isManagedPlan } from "./plans/utils"; export let organization: string; export let subscription: V1Subscription; @@ -23,8 +23,10 @@ subscription?.plan && isEnterprisePlan(subscription.plan.name); $: onManagedPlan = subscription?.plan && isManagedPlan(subscription.plan.name); + $: onFreePlan = + subscription?.plan && isFreePlan(subscription.plan.name); $: hidePaymentModule = - neverSubscribed || onTrial || onEnterprisePlan || onManagedPlan; + neverSubscribed || onTrial || onEnterprisePlan || onManagedPlan || onFreePlan; async function handleManagePayment() { window.open( diff --git a/web-admin/src/routes/[organization]/-/upgrade-callback/+page.svelte b/web-admin/src/routes/[organization]/-/upgrade-callback/+page.svelte index 11813d29d11..5b910f054da 100644 --- a/web-admin/src/routes/[organization]/-/upgrade-callback/+page.svelte +++ b/web-admin/src/routes/[organization]/-/upgrade-callback/+page.svelte @@ -10,9 +10,13 @@ import { fetchPaymentsPortalURL, fetchTeamPlan, + fetchGrowthPlan, getBillingUpgradeUrl, } from "@rilldata/web-admin/features/billing/plans/selectors"; - import { showWelcomeToRillDialog } from "@rilldata/web-admin/features/billing/plans/utils"; + import { + isFreePlan, + showWelcomeToRillDialog, + } from "@rilldata/web-admin/features/billing/plans/utils"; import CtaContentContainer from "@rilldata/web-common/components/calls-to-action/CTAContentContainer.svelte"; import CtaHeader from "@rilldata/web-common/components/calls-to-action/CTAHeader.svelte"; import CtaLayoutContainer from "@rilldata/web-common/components/calls-to-action/CTALayoutContainer.svelte"; @@ -28,10 +32,13 @@ $: redirect = $page.url.searchParams.get("redirect"); /** - * Landing page to upgrade a user to team plan. + * Landing page to upgrade a user to a paid plan. * Is set as a return url on stripe portal. + * Detects whether to upgrade to Growth (from free-plan) or Team (legacy trial). */ $: organization = $page.params.organization; + // ?upgradeToGrowth=true signals this is a Growth plan upgrade (set by StartGrowthPlanDialog) + $: upgradeToGrowth = $page.url.searchParams.get("upgradeToGrowth") === "true"; const planUpdater = createAdminServiceUpdateBillingSubscription(); const planRenewer = createAdminServiceRenewBillingSubscription(); @@ -55,28 +62,31 @@ }); return goto(`/${organization}/-/settings/billing`); } - const teamPlan = await fetchTeamPlan(); + + const targetPlan = upgradeToGrowth + ? await fetchGrowthPlan() + : await fetchTeamPlan(); + const planLabel = upgradeToGrowth ? "Growth" : "Team"; + try { if (cancelled) { await $planRenewer.mutateAsync({ org: organization, data: { - planName: teamPlan.name, + planName: targetPlan?.name, }, }); eventBus.emit("notification", { type: "success", - message: "Your Team plan was renewed", + message: `Your ${planLabel} plan was renewed`, }); } else { await $planUpdater.mutateAsync({ org: organization, data: { - planName: teamPlan.name, + planName: targetPlan?.name, }, }); - // if redirect is set then this page won't be active. - // so this will lead to pop-in of the modal before navigating away if (!redirect) { showWelcomeToRillDialog.set(true); } @@ -86,8 +96,6 @@ // TODO } if (redirect) { - // redirect param could be on a different domain like the rill developer instance - // so using goto won't work window.open(redirect, "_self"); } else { return goto(`/${organization}`); @@ -104,9 +112,9 @@ {#if cancelled} - Renewing team plan... + Renewing {upgradeToGrowth ? "Growth" : "Team"} plan... {:else} - Upgrading to team plan... + Upgrading to {upgradeToGrowth ? "Growth" : "Team"} plan... {/if} From 316a15a99363566a6f40cb79c7e523a1ca4cc6a2 Mon Sep 17 00:00:00 2001 From: royendo <67675319+royendo@users.noreply.github.com> Date: Tue, 17 Mar 2026 22:39:49 -0400 Subject: [PATCH 28/47] cli command to add credits --- admin/billing/biller.go | 2 + admin/billing/noop.go | 4 + admin/billing/orb.go | 19 + admin/server/billing.go | 56 + cli/cmd/sudo/billing/add-credits.go | 69 + cli/cmd/sudo/billing/billing.go | 1 + proto/gen/rill/admin/v1/admin.swagger.yaml | 38 + proto/gen/rill/admin/v1/api.pb.go | 10295 ++++++++-------- proto/gen/rill/admin/v1/api.pb.gw.go | 77 + proto/gen/rill/admin/v1/api.pb.validate.go | 259 + proto/gen/rill/admin/v1/api_grpc.pb.go | 40 + proto/gen/rill/admin/v1/openapi.yaml | 43 + proto/gen/rill/admin/v1/public.openapi.yaml | 20 + proto/rill/admin/v1/api.proto | 20 + web-admin/src/client/gen/default/default.ts | 87 + web-admin/src/client/gen/index.schemas.ts | 11 + .../src/proto/gen/rill/admin/v1/api_pb.ts | 94 + 17 files changed, 6074 insertions(+), 5061 deletions(-) create mode 100644 cli/cmd/sudo/billing/add-credits.go diff --git a/admin/billing/biller.go b/admin/billing/biller.go index e9f26bdbfce..084df1f02c3 100644 --- a/admin/billing/biller.go +++ b/admin/billing/biller.go @@ -65,6 +65,8 @@ type Biller interface { // GetCreditBalance returns the credit balance for the given customer. // Returns nil if the customer has no credit grants (e.g. not on a free plan). GetCreditBalance(ctx context.Context, customerID string) (*CreditBalance, error) + // AddCredits adds a credit grant to the given customer. Returns the new total balance. + AddCredits(ctx context.Context, customerID string, amount float64, expiryDate time.Time, description string) (*CreditBalance, error) GetReportingGranularity() UsageReportingGranularity GetReportingWorkerCron() string diff --git a/admin/billing/noop.go b/admin/billing/noop.go index add92460abc..1593497dcb6 100644 --- a/admin/billing/noop.go +++ b/admin/billing/noop.go @@ -113,6 +113,10 @@ func (n noop) GetCreditBalance(ctx context.Context, customerID string) (*CreditB return nil, nil } +func (n noop) AddCredits(ctx context.Context, customerID string, amount float64, expiryDate time.Time, description string) (*CreditBalance, error) { + return nil, nil +} + func (n noop) ReportUsage(ctx context.Context, usage []*Usage) error { return nil } diff --git a/admin/billing/orb.go b/admin/billing/orb.go index b183b759bf9..55f3b71c0a3 100644 --- a/admin/billing/orb.go +++ b/admin/billing/orb.go @@ -437,6 +437,25 @@ func (o *Orb) GetCreditBalance(ctx context.Context, customerID string) (*CreditB }, nil } +func (o *Orb) AddCredits(ctx context.Context, customerID string, amount float64, expiryDate time.Time, description string) (*CreditBalance, error) { + if customerID == "" { + return nil, ErrCustomerIDRequired + } + + _, err := o.client.Customers.Credits.Ledger.NewEntryByExternalID(ctx, customerID, orb.CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParams{ + Amount: orb.F(amount), + EntryType: orb.F(orb.CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParamsEntryTypeIncrement), + ExpiryDate: orb.F(expiryDate), + Description: orb.F(description), + }) + if err != nil { + return nil, fmt.Errorf("failed to add credits: %w", err) + } + + // Return updated balance + return o.GetCreditBalance(ctx, customerID) +} + func (o *Orb) ReportUsage(ctx context.Context, usage []*Usage) error { var orbUsage []orb.EventIngestParamsEvent // sync max 500 events at a time diff --git a/admin/server/billing.go b/admin/server/billing.go index fe4f3d09755..ab40e4f2bc1 100644 --- a/admin/server/billing.go +++ b/admin/server/billing.go @@ -757,6 +757,62 @@ func (s *Server) SudoExtendTrial(ctx context.Context, req *adminv1.SudoExtendTri return &adminv1.SudoExtendTrialResponse{TrialEnd: timestamppb.New(newEndDate)}, nil } +func (s *Server) SudoAddCredits(ctx context.Context, req *adminv1.SudoAddCreditsRequest) (*adminv1.SudoAddCreditsResponse, error) { + observability.AddRequestAttributes(ctx, attribute.String("args.org", req.Org)) + observability.AddRequestAttributes(ctx, attribute.Float64("args.amount", req.Amount)) + + claims := auth.GetClaims(ctx) + if !claims.Superuser(ctx) { + return nil, status.Error(codes.PermissionDenied, "only superusers can add credits") + } + + org, err := s.admin.DB.FindOrganizationByName(ctx, req.Org) + if err != nil { + return nil, status.Error(codes.InvalidArgument, err.Error()) + } + + if org.BillingCustomerID == "" { + return nil, status.Error(codes.FailedPrecondition, "billing not yet initialized for the organization") + } + + expiryDays := int(req.ExpiryDays) + if expiryDays <= 0 { + expiryDays = 365 + } + expiryDate := time.Now().AddDate(0, 0, expiryDays) + + description := req.Description + if description == "" { + description = "Credits added via CLI" + } + + balance, err := s.admin.Biller.AddCredits(ctx, org.BillingCustomerID, req.Amount, expiryDate, description) + if err != nil { + return nil, status.Errorf(codes.Internal, "failed to add credits: %v", err) + } + + s.logger.Named("billing").Info("credits added", + zap.String("org_id", org.ID), + zap.String("org_name", org.Name), + zap.Float64("amount", req.Amount), + zap.Int("expiry_days", expiryDays), + ) + + resp := &adminv1.SudoAddCreditsResponse{} + if balance != nil { + resp.CreditInfo = &adminv1.BillingCreditInfo{ + TotalCredit: balance.TotalCredit, + UsedCredit: balance.UsedCredit, + RemainingCredit: balance.RemainingCredit, + BurnRatePerDay: balance.BurnRatePerDay, + } + if !balance.ExpiryDate.IsZero() { + resp.CreditInfo.CreditExpiry = timestamppb.New(balance.ExpiryDate) + } + } + return resp, nil +} + func (s *Server) SudoTriggerBillingRepair(ctx context.Context, req *adminv1.SudoTriggerBillingRepairRequest) (*adminv1.SudoTriggerBillingRepairResponse, error) { claims := auth.GetClaims(ctx) if !claims.Superuser(ctx) { diff --git a/cli/cmd/sudo/billing/add-credits.go b/cli/cmd/sudo/billing/add-credits.go new file mode 100644 index 00000000000..8b1a9e4b904 --- /dev/null +++ b/cli/cmd/sudo/billing/add-credits.go @@ -0,0 +1,69 @@ +package billing + +import ( + "fmt" + + "github.com/rilldata/rill/cli/pkg/cmdutil" + adminv1 "github.com/rilldata/rill/proto/gen/rill/admin/v1" + "github.com/spf13/cobra" +) + +func AddCreditsCmd(ch *cmdutil.Helper) *cobra.Command { + var org string + var amount float64 + var expiryDays int32 + var description string + + cmd := &cobra.Command{ + Use: "add-credits", + Short: "Add billing credits to an organization", + Args: cobra.NoArgs, + RunE: func(cmd *cobra.Command, args []string) error { + ctx := cmd.Context() + + if org == "" { + return fmt.Errorf("please set --org") + } + + if amount <= 0 { + return fmt.Errorf("please set --amount to a positive value") + } + + client, err := ch.Client() + if err != nil { + return err + } + + res, err := client.SudoAddCredits(ctx, &adminv1.SudoAddCreditsRequest{ + Org: org, + Amount: amount, + ExpiryDays: expiryDays, + Description: description, + }) + if err != nil { + return err + } + + if res.CreditInfo != nil { + ch.PrintfSuccess("Added $%.0f credits to organization %q\n", amount, org) + ch.PrintfSuccess(" Total: $%.0f\n", res.CreditInfo.TotalCredit) + ch.PrintfSuccess(" Used: $%.0f\n", res.CreditInfo.UsedCredit) + ch.PrintfSuccess(" Remaining: $%.0f\n", res.CreditInfo.RemainingCredit) + if res.CreditInfo.CreditExpiry != nil { + ch.PrintfSuccess(" Expires: %s\n", res.CreditInfo.CreditExpiry.AsTime().Format("2006-01-02")) + } + } else { + ch.PrintfSuccess("Added $%.0f credits to organization %q\n", amount, org) + } + + return nil + }, + } + + cmd.Flags().SortFlags = false + cmd.Flags().StringVar(&org, "org", "", "Organization name") + cmd.Flags().Float64Var(&amount, "amount", 250, "Credit amount in dollars") + cmd.Flags().Int32Var(&expiryDays, "expiry-days", 365, "Days until credits expire") + cmd.Flags().StringVar(&description, "description", "", "Description for the credit grant") + return cmd +} diff --git a/cli/cmd/sudo/billing/billing.go b/cli/cmd/sudo/billing/billing.go index e2023757f4e..8eb76787235 100644 --- a/cli/cmd/sudo/billing/billing.go +++ b/cli/cmd/sudo/billing/billing.go @@ -14,6 +14,7 @@ func BillingCmd(ch *cmdutil.Helper) *cobra.Command { billingCmd.AddCommand(SetCmd(ch)) billingCmd.AddCommand(DeleteIssueCmd(ch)) billingCmd.AddCommand(ExtendTrialCmd(ch)) + billingCmd.AddCommand(AddCreditsCmd(ch)) billingCmd.AddCommand(RepairCmd(ch)) return billingCmd diff --git a/proto/gen/rill/admin/v1/admin.swagger.yaml b/proto/gen/rill/admin/v1/admin.swagger.yaml index e2d82376993..14a132bdd72 100644 --- a/proto/gen/rill/admin/v1/admin.swagger.yaml +++ b/proto/gen/rill/admin/v1/admin.swagger.yaml @@ -3789,6 +3789,25 @@ paths: required: true schema: $ref: '#/definitions/v1SudoUpdateOrganizationBillingCustomerRequest' + /v1/superuser/organization/credits/add: + post: + summary: SudoAddCredits adds billing credits to an organization + operationId: AdminService_SudoAddCredits + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/v1SudoAddCreditsResponse' + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpcStatus' + parameters: + - name: body + in: body + required: true + schema: + $ref: '#/definitions/v1SudoAddCreditsRequest' /v1/superuser/organization/custom-domain: patch: summary: |- @@ -6464,6 +6483,25 @@ definitions: trialEndDate: type: string format: date-time + v1SudoAddCreditsRequest: + type: object + properties: + org: + type: string + amount: + type: number + format: double + expiryDays: + type: integer + format: int32 + title: Number of days until credits expire; defaults to 365 + description: + type: string + v1SudoAddCreditsResponse: + type: object + properties: + creditInfo: + $ref: '#/definitions/v1BillingCreditInfo' v1SudoDeleteOrganizationBillingIssueResponse: type: object v1SudoExtendTrialRequest: diff --git a/proto/gen/rill/admin/v1/api.pb.go b/proto/gen/rill/admin/v1/api.pb.go index 06cb0388dde..0b9e8fccc1c 100644 --- a/proto/gen/rill/admin/v1/api.pb.go +++ b/proto/gen/rill/admin/v1/api.pb.go @@ -8132,6 +8132,125 @@ func (x *SudoExtendTrialResponse) GetTrialEnd() *timestamppb.Timestamp { return nil } +type SudoAddCreditsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Org string `protobuf:"bytes,1,opt,name=org,proto3" json:"org,omitempty"` + Amount float64 `protobuf:"fixed64,2,opt,name=amount,proto3" json:"amount,omitempty"` + // Number of days until credits expire; defaults to 365 + ExpiryDays int32 `protobuf:"varint,3,opt,name=expiry_days,json=expiryDays,proto3" json:"expiry_days,omitempty"` + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` +} + +func (x *SudoAddCreditsRequest) Reset() { + *x = SudoAddCreditsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_rill_admin_v1_api_proto_msgTypes[127] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SudoAddCreditsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SudoAddCreditsRequest) ProtoMessage() {} + +func (x *SudoAddCreditsRequest) ProtoReflect() protoreflect.Message { + mi := &file_rill_admin_v1_api_proto_msgTypes[127] + 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 SudoAddCreditsRequest.ProtoReflect.Descriptor instead. +func (*SudoAddCreditsRequest) Descriptor() ([]byte, []int) { + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{127} +} + +func (x *SudoAddCreditsRequest) GetOrg() string { + if x != nil { + return x.Org + } + return "" +} + +func (x *SudoAddCreditsRequest) GetAmount() float64 { + if x != nil { + return x.Amount + } + return 0 +} + +func (x *SudoAddCreditsRequest) GetExpiryDays() int32 { + if x != nil { + return x.ExpiryDays + } + return 0 +} + +func (x *SudoAddCreditsRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +type SudoAddCreditsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CreditInfo *BillingCreditInfo `protobuf:"bytes,1,opt,name=credit_info,json=creditInfo,proto3" json:"credit_info,omitempty"` +} + +func (x *SudoAddCreditsResponse) Reset() { + *x = SudoAddCreditsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_rill_admin_v1_api_proto_msgTypes[128] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SudoAddCreditsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SudoAddCreditsResponse) ProtoMessage() {} + +func (x *SudoAddCreditsResponse) ProtoReflect() protoreflect.Message { + mi := &file_rill_admin_v1_api_proto_msgTypes[128] + 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 SudoAddCreditsResponse.ProtoReflect.Descriptor instead. +func (*SudoAddCreditsResponse) Descriptor() ([]byte, []int) { + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{128} +} + +func (x *SudoAddCreditsResponse) GetCreditInfo() *BillingCreditInfo { + if x != nil { + return x.CreditInfo + } + return nil +} + type SudoUpdateOrganizationCustomDomainRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -8144,7 +8263,7 @@ type SudoUpdateOrganizationCustomDomainRequest struct { func (x *SudoUpdateOrganizationCustomDomainRequest) Reset() { *x = SudoUpdateOrganizationCustomDomainRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[127] + mi := &file_rill_admin_v1_api_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8157,7 +8276,7 @@ func (x *SudoUpdateOrganizationCustomDomainRequest) String() string { func (*SudoUpdateOrganizationCustomDomainRequest) ProtoMessage() {} func (x *SudoUpdateOrganizationCustomDomainRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[127] + mi := &file_rill_admin_v1_api_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8170,7 +8289,7 @@ func (x *SudoUpdateOrganizationCustomDomainRequest) ProtoReflect() protoreflect. // Deprecated: Use SudoUpdateOrganizationCustomDomainRequest.ProtoReflect.Descriptor instead. func (*SudoUpdateOrganizationCustomDomainRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{127} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{129} } func (x *SudoUpdateOrganizationCustomDomainRequest) GetName() string { @@ -8198,7 +8317,7 @@ type SudoUpdateOrganizationCustomDomainResponse struct { func (x *SudoUpdateOrganizationCustomDomainResponse) Reset() { *x = SudoUpdateOrganizationCustomDomainResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[128] + mi := &file_rill_admin_v1_api_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8211,7 +8330,7 @@ func (x *SudoUpdateOrganizationCustomDomainResponse) String() string { func (*SudoUpdateOrganizationCustomDomainResponse) ProtoMessage() {} func (x *SudoUpdateOrganizationCustomDomainResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[128] + mi := &file_rill_admin_v1_api_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8224,7 +8343,7 @@ func (x *SudoUpdateOrganizationCustomDomainResponse) ProtoReflect() protoreflect // Deprecated: Use SudoUpdateOrganizationCustomDomainResponse.ProtoReflect.Descriptor instead. func (*SudoUpdateOrganizationCustomDomainResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{128} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{130} } func (x *SudoUpdateOrganizationCustomDomainResponse) GetOrganization() *Organization { @@ -8247,7 +8366,7 @@ type SudoUpdateUserQuotasRequest struct { func (x *SudoUpdateUserQuotasRequest) Reset() { *x = SudoUpdateUserQuotasRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[129] + mi := &file_rill_admin_v1_api_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8260,7 +8379,7 @@ func (x *SudoUpdateUserQuotasRequest) String() string { func (*SudoUpdateUserQuotasRequest) ProtoMessage() {} func (x *SudoUpdateUserQuotasRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[129] + mi := &file_rill_admin_v1_api_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8273,7 +8392,7 @@ func (x *SudoUpdateUserQuotasRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SudoUpdateUserQuotasRequest.ProtoReflect.Descriptor instead. func (*SudoUpdateUserQuotasRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{129} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{131} } func (x *SudoUpdateUserQuotasRequest) GetEmail() string { @@ -8308,7 +8427,7 @@ type SudoUpdateUserQuotasResponse struct { func (x *SudoUpdateUserQuotasResponse) Reset() { *x = SudoUpdateUserQuotasResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[130] + mi := &file_rill_admin_v1_api_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8321,7 +8440,7 @@ func (x *SudoUpdateUserQuotasResponse) String() string { func (*SudoUpdateUserQuotasResponse) ProtoMessage() {} func (x *SudoUpdateUserQuotasResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[130] + mi := &file_rill_admin_v1_api_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8334,7 +8453,7 @@ func (x *SudoUpdateUserQuotasResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SudoUpdateUserQuotasResponse.ProtoReflect.Descriptor instead. func (*SudoUpdateUserQuotasResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{130} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{132} } func (x *SudoUpdateUserQuotasResponse) GetUser() *User { @@ -8357,7 +8476,7 @@ type SudoUpdateAnnotationsRequest struct { func (x *SudoUpdateAnnotationsRequest) Reset() { *x = SudoUpdateAnnotationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[131] + mi := &file_rill_admin_v1_api_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8370,7 +8489,7 @@ func (x *SudoUpdateAnnotationsRequest) String() string { func (*SudoUpdateAnnotationsRequest) ProtoMessage() {} func (x *SudoUpdateAnnotationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[131] + mi := &file_rill_admin_v1_api_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8383,7 +8502,7 @@ func (x *SudoUpdateAnnotationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SudoUpdateAnnotationsRequest.ProtoReflect.Descriptor instead. func (*SudoUpdateAnnotationsRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{131} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{133} } func (x *SudoUpdateAnnotationsRequest) GetOrg() string { @@ -8418,7 +8537,7 @@ type SudoUpdateAnnotationsResponse struct { func (x *SudoUpdateAnnotationsResponse) Reset() { *x = SudoUpdateAnnotationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[132] + mi := &file_rill_admin_v1_api_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8431,7 +8550,7 @@ func (x *SudoUpdateAnnotationsResponse) String() string { func (*SudoUpdateAnnotationsResponse) ProtoMessage() {} func (x *SudoUpdateAnnotationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[132] + mi := &file_rill_admin_v1_api_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8444,7 +8563,7 @@ func (x *SudoUpdateAnnotationsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SudoUpdateAnnotationsResponse.ProtoReflect.Descriptor instead. func (*SudoUpdateAnnotationsResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{132} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{134} } func (x *SudoUpdateAnnotationsResponse) GetProject() *Project { @@ -8465,7 +8584,7 @@ type SudoIssueRuntimeManagerTokenRequest struct { func (x *SudoIssueRuntimeManagerTokenRequest) Reset() { *x = SudoIssueRuntimeManagerTokenRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[133] + mi := &file_rill_admin_v1_api_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8478,7 +8597,7 @@ func (x *SudoIssueRuntimeManagerTokenRequest) String() string { func (*SudoIssueRuntimeManagerTokenRequest) ProtoMessage() {} func (x *SudoIssueRuntimeManagerTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[133] + mi := &file_rill_admin_v1_api_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8491,7 +8610,7 @@ func (x *SudoIssueRuntimeManagerTokenRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use SudoIssueRuntimeManagerTokenRequest.ProtoReflect.Descriptor instead. func (*SudoIssueRuntimeManagerTokenRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{133} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{135} } func (x *SudoIssueRuntimeManagerTokenRequest) GetHost() string { @@ -8512,7 +8631,7 @@ type SudoIssueRuntimeManagerTokenResponse struct { func (x *SudoIssueRuntimeManagerTokenResponse) Reset() { *x = SudoIssueRuntimeManagerTokenResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[134] + mi := &file_rill_admin_v1_api_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8525,7 +8644,7 @@ func (x *SudoIssueRuntimeManagerTokenResponse) String() string { func (*SudoIssueRuntimeManagerTokenResponse) ProtoMessage() {} func (x *SudoIssueRuntimeManagerTokenResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[134] + mi := &file_rill_admin_v1_api_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8538,7 +8657,7 @@ func (x *SudoIssueRuntimeManagerTokenResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use SudoIssueRuntimeManagerTokenResponse.ProtoReflect.Descriptor instead. func (*SudoIssueRuntimeManagerTokenResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{134} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{136} } func (x *SudoIssueRuntimeManagerTokenResponse) GetToken() string { @@ -8560,7 +8679,7 @@ type SudoDeleteOrganizationBillingIssueRequest struct { func (x *SudoDeleteOrganizationBillingIssueRequest) Reset() { *x = SudoDeleteOrganizationBillingIssueRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[135] + mi := &file_rill_admin_v1_api_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8573,7 +8692,7 @@ func (x *SudoDeleteOrganizationBillingIssueRequest) String() string { func (*SudoDeleteOrganizationBillingIssueRequest) ProtoMessage() {} func (x *SudoDeleteOrganizationBillingIssueRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[135] + mi := &file_rill_admin_v1_api_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8586,7 +8705,7 @@ func (x *SudoDeleteOrganizationBillingIssueRequest) ProtoReflect() protoreflect. // Deprecated: Use SudoDeleteOrganizationBillingIssueRequest.ProtoReflect.Descriptor instead. func (*SudoDeleteOrganizationBillingIssueRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{135} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{137} } func (x *SudoDeleteOrganizationBillingIssueRequest) GetOrg() string { @@ -8612,7 +8731,7 @@ type SudoDeleteOrganizationBillingIssueResponse struct { func (x *SudoDeleteOrganizationBillingIssueResponse) Reset() { *x = SudoDeleteOrganizationBillingIssueResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[136] + mi := &file_rill_admin_v1_api_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8625,7 +8744,7 @@ func (x *SudoDeleteOrganizationBillingIssueResponse) String() string { func (*SudoDeleteOrganizationBillingIssueResponse) ProtoMessage() {} func (x *SudoDeleteOrganizationBillingIssueResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[136] + mi := &file_rill_admin_v1_api_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8638,7 +8757,7 @@ func (x *SudoDeleteOrganizationBillingIssueResponse) ProtoReflect() protoreflect // Deprecated: Use SudoDeleteOrganizationBillingIssueResponse.ProtoReflect.Descriptor instead. func (*SudoDeleteOrganizationBillingIssueResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{136} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{138} } type SudoTriggerBillingRepairRequest struct { @@ -8650,7 +8769,7 @@ type SudoTriggerBillingRepairRequest struct { func (x *SudoTriggerBillingRepairRequest) Reset() { *x = SudoTriggerBillingRepairRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[137] + mi := &file_rill_admin_v1_api_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8663,7 +8782,7 @@ func (x *SudoTriggerBillingRepairRequest) String() string { func (*SudoTriggerBillingRepairRequest) ProtoMessage() {} func (x *SudoTriggerBillingRepairRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[137] + mi := &file_rill_admin_v1_api_proto_msgTypes[139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8676,7 +8795,7 @@ func (x *SudoTriggerBillingRepairRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SudoTriggerBillingRepairRequest.ProtoReflect.Descriptor instead. func (*SudoTriggerBillingRepairRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{137} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{139} } type SudoTriggerBillingRepairResponse struct { @@ -8688,7 +8807,7 @@ type SudoTriggerBillingRepairResponse struct { func (x *SudoTriggerBillingRepairResponse) Reset() { *x = SudoTriggerBillingRepairResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[138] + mi := &file_rill_admin_v1_api_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8701,7 +8820,7 @@ func (x *SudoTriggerBillingRepairResponse) String() string { func (*SudoTriggerBillingRepairResponse) ProtoMessage() {} func (x *SudoTriggerBillingRepairResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[138] + mi := &file_rill_admin_v1_api_proto_msgTypes[140] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8714,7 +8833,7 @@ func (x *SudoTriggerBillingRepairResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SudoTriggerBillingRepairResponse.ProtoReflect.Descriptor instead. func (*SudoTriggerBillingRepairResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{138} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{140} } type ListProjectMemberUsersRequest struct { @@ -8733,7 +8852,7 @@ type ListProjectMemberUsersRequest struct { func (x *ListProjectMemberUsersRequest) Reset() { *x = ListProjectMemberUsersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[139] + mi := &file_rill_admin_v1_api_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8746,7 +8865,7 @@ func (x *ListProjectMemberUsersRequest) String() string { func (*ListProjectMemberUsersRequest) ProtoMessage() {} func (x *ListProjectMemberUsersRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[139] + mi := &file_rill_admin_v1_api_proto_msgTypes[141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8759,7 +8878,7 @@ func (x *ListProjectMemberUsersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListProjectMemberUsersRequest.ProtoReflect.Descriptor instead. func (*ListProjectMemberUsersRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{139} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{141} } func (x *ListProjectMemberUsersRequest) GetOrg() string { @@ -8816,7 +8935,7 @@ type ListProjectMemberUsersResponse struct { func (x *ListProjectMemberUsersResponse) Reset() { *x = ListProjectMemberUsersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[140] + mi := &file_rill_admin_v1_api_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8829,7 +8948,7 @@ func (x *ListProjectMemberUsersResponse) String() string { func (*ListProjectMemberUsersResponse) ProtoMessage() {} func (x *ListProjectMemberUsersResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[140] + mi := &file_rill_admin_v1_api_proto_msgTypes[142] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8842,7 +8961,7 @@ func (x *ListProjectMemberUsersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListProjectMemberUsersResponse.ProtoReflect.Descriptor instead. func (*ListProjectMemberUsersResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{140} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{142} } func (x *ListProjectMemberUsersResponse) GetMembers() []*ProjectMemberUser { @@ -8873,7 +8992,7 @@ type ListProjectInvitesRequest struct { func (x *ListProjectInvitesRequest) Reset() { *x = ListProjectInvitesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[141] + mi := &file_rill_admin_v1_api_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8886,7 +9005,7 @@ func (x *ListProjectInvitesRequest) String() string { func (*ListProjectInvitesRequest) ProtoMessage() {} func (x *ListProjectInvitesRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[141] + mi := &file_rill_admin_v1_api_proto_msgTypes[143] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8899,7 +9018,7 @@ func (x *ListProjectInvitesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListProjectInvitesRequest.ProtoReflect.Descriptor instead. func (*ListProjectInvitesRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{141} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{143} } func (x *ListProjectInvitesRequest) GetOrg() string { @@ -8942,7 +9061,7 @@ type ListProjectInvitesResponse struct { func (x *ListProjectInvitesResponse) Reset() { *x = ListProjectInvitesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[142] + mi := &file_rill_admin_v1_api_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8955,7 +9074,7 @@ func (x *ListProjectInvitesResponse) String() string { func (*ListProjectInvitesResponse) ProtoMessage() {} func (x *ListProjectInvitesResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[142] + mi := &file_rill_admin_v1_api_proto_msgTypes[144] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8968,7 +9087,7 @@ func (x *ListProjectInvitesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListProjectInvitesResponse.ProtoReflect.Descriptor instead. func (*ListProjectInvitesResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{142} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{144} } func (x *ListProjectInvitesResponse) GetInvites() []*ProjectInvite { @@ -9001,7 +9120,7 @@ type AddProjectMemberUserRequest struct { func (x *AddProjectMemberUserRequest) Reset() { *x = AddProjectMemberUserRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[143] + mi := &file_rill_admin_v1_api_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9014,7 +9133,7 @@ func (x *AddProjectMemberUserRequest) String() string { func (*AddProjectMemberUserRequest) ProtoMessage() {} func (x *AddProjectMemberUserRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[143] + mi := &file_rill_admin_v1_api_proto_msgTypes[145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9027,7 +9146,7 @@ func (x *AddProjectMemberUserRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddProjectMemberUserRequest.ProtoReflect.Descriptor instead. func (*AddProjectMemberUserRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{143} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{145} } func (x *AddProjectMemberUserRequest) GetOrg() string { @@ -9083,7 +9202,7 @@ type AddProjectMemberUserResponse struct { func (x *AddProjectMemberUserResponse) Reset() { *x = AddProjectMemberUserResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[144] + mi := &file_rill_admin_v1_api_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9096,7 +9215,7 @@ func (x *AddProjectMemberUserResponse) String() string { func (*AddProjectMemberUserResponse) ProtoMessage() {} func (x *AddProjectMemberUserResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[144] + mi := &file_rill_admin_v1_api_proto_msgTypes[146] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9109,7 +9228,7 @@ func (x *AddProjectMemberUserResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AddProjectMemberUserResponse.ProtoReflect.Descriptor instead. func (*AddProjectMemberUserResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{144} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{146} } func (x *AddProjectMemberUserResponse) GetPendingSignup() bool { @@ -9132,7 +9251,7 @@ type RemoveProjectMemberUserRequest struct { func (x *RemoveProjectMemberUserRequest) Reset() { *x = RemoveProjectMemberUserRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[145] + mi := &file_rill_admin_v1_api_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9145,7 +9264,7 @@ func (x *RemoveProjectMemberUserRequest) String() string { func (*RemoveProjectMemberUserRequest) ProtoMessage() {} func (x *RemoveProjectMemberUserRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[145] + mi := &file_rill_admin_v1_api_proto_msgTypes[147] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9158,7 +9277,7 @@ func (x *RemoveProjectMemberUserRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveProjectMemberUserRequest.ProtoReflect.Descriptor instead. func (*RemoveProjectMemberUserRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{145} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{147} } func (x *RemoveProjectMemberUserRequest) GetOrg() string { @@ -9191,7 +9310,7 @@ type RemoveProjectMemberUserResponse struct { func (x *RemoveProjectMemberUserResponse) Reset() { *x = RemoveProjectMemberUserResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[146] + mi := &file_rill_admin_v1_api_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9204,7 +9323,7 @@ func (x *RemoveProjectMemberUserResponse) String() string { func (*RemoveProjectMemberUserResponse) ProtoMessage() {} func (x *RemoveProjectMemberUserResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[146] + mi := &file_rill_admin_v1_api_proto_msgTypes[148] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9217,7 +9336,7 @@ func (x *RemoveProjectMemberUserResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveProjectMemberUserResponse.ProtoReflect.Descriptor instead. func (*RemoveProjectMemberUserResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{146} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{148} } type SetProjectMemberUserRoleRequest struct { @@ -9236,7 +9355,7 @@ type SetProjectMemberUserRoleRequest struct { func (x *SetProjectMemberUserRoleRequest) Reset() { *x = SetProjectMemberUserRoleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[147] + mi := &file_rill_admin_v1_api_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9249,7 +9368,7 @@ func (x *SetProjectMemberUserRoleRequest) String() string { func (*SetProjectMemberUserRoleRequest) ProtoMessage() {} func (x *SetProjectMemberUserRoleRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[147] + mi := &file_rill_admin_v1_api_proto_msgTypes[149] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9262,7 +9381,7 @@ func (x *SetProjectMemberUserRoleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetProjectMemberUserRoleRequest.ProtoReflect.Descriptor instead. func (*SetProjectMemberUserRoleRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{147} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{149} } func (x *SetProjectMemberUserRoleRequest) GetOrg() string { @@ -9316,7 +9435,7 @@ type SetProjectMemberUserRoleResponse struct { func (x *SetProjectMemberUserRoleResponse) Reset() { *x = SetProjectMemberUserRoleResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[148] + mi := &file_rill_admin_v1_api_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9329,7 +9448,7 @@ func (x *SetProjectMemberUserRoleResponse) String() string { func (*SetProjectMemberUserRoleResponse) ProtoMessage() {} func (x *SetProjectMemberUserRoleResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[148] + mi := &file_rill_admin_v1_api_proto_msgTypes[150] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9342,7 +9461,7 @@ func (x *SetProjectMemberUserRoleResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetProjectMemberUserRoleResponse.ProtoReflect.Descriptor instead. func (*SetProjectMemberUserRoleResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{148} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{150} } type ListUsergroupsForOrganizationAndUserRequest struct { @@ -9359,7 +9478,7 @@ type ListUsergroupsForOrganizationAndUserRequest struct { func (x *ListUsergroupsForOrganizationAndUserRequest) Reset() { *x = ListUsergroupsForOrganizationAndUserRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[149] + mi := &file_rill_admin_v1_api_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9372,7 +9491,7 @@ func (x *ListUsergroupsForOrganizationAndUserRequest) String() string { func (*ListUsergroupsForOrganizationAndUserRequest) ProtoMessage() {} func (x *ListUsergroupsForOrganizationAndUserRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[149] + mi := &file_rill_admin_v1_api_proto_msgTypes[151] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9385,7 +9504,7 @@ func (x *ListUsergroupsForOrganizationAndUserRequest) ProtoReflect() protoreflec // Deprecated: Use ListUsergroupsForOrganizationAndUserRequest.ProtoReflect.Descriptor instead. func (*ListUsergroupsForOrganizationAndUserRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{149} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{151} } func (x *ListUsergroupsForOrganizationAndUserRequest) GetOrg() string { @@ -9428,7 +9547,7 @@ type ListUsergroupsForOrganizationAndUserResponse struct { func (x *ListUsergroupsForOrganizationAndUserResponse) Reset() { *x = ListUsergroupsForOrganizationAndUserResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[150] + mi := &file_rill_admin_v1_api_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9441,7 +9560,7 @@ func (x *ListUsergroupsForOrganizationAndUserResponse) String() string { func (*ListUsergroupsForOrganizationAndUserResponse) ProtoMessage() {} func (x *ListUsergroupsForOrganizationAndUserResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[150] + mi := &file_rill_admin_v1_api_proto_msgTypes[152] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9454,7 +9573,7 @@ func (x *ListUsergroupsForOrganizationAndUserResponse) ProtoReflect() protorefle // Deprecated: Use ListUsergroupsForOrganizationAndUserResponse.ProtoReflect.Descriptor instead. func (*ListUsergroupsForOrganizationAndUserResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{150} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{152} } func (x *ListUsergroupsForOrganizationAndUserResponse) GetUsergroups() []*Usergroup { @@ -9483,7 +9602,7 @@ type CreateUsergroupRequest struct { func (x *CreateUsergroupRequest) Reset() { *x = CreateUsergroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[151] + mi := &file_rill_admin_v1_api_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9496,7 +9615,7 @@ func (x *CreateUsergroupRequest) String() string { func (*CreateUsergroupRequest) ProtoMessage() {} func (x *CreateUsergroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[151] + mi := &file_rill_admin_v1_api_proto_msgTypes[153] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9509,7 +9628,7 @@ func (x *CreateUsergroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateUsergroupRequest.ProtoReflect.Descriptor instead. func (*CreateUsergroupRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{151} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{153} } func (x *CreateUsergroupRequest) GetOrg() string { @@ -9537,7 +9656,7 @@ type CreateUsergroupResponse struct { func (x *CreateUsergroupResponse) Reset() { *x = CreateUsergroupResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[152] + mi := &file_rill_admin_v1_api_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9550,7 +9669,7 @@ func (x *CreateUsergroupResponse) String() string { func (*CreateUsergroupResponse) ProtoMessage() {} func (x *CreateUsergroupResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[152] + mi := &file_rill_admin_v1_api_proto_msgTypes[154] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9563,7 +9682,7 @@ func (x *CreateUsergroupResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateUsergroupResponse.ProtoReflect.Descriptor instead. func (*CreateUsergroupResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{152} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{154} } func (x *CreateUsergroupResponse) GetUsergroup() *Usergroup { @@ -9587,7 +9706,7 @@ type GetUsergroupRequest struct { func (x *GetUsergroupRequest) Reset() { *x = GetUsergroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[153] + mi := &file_rill_admin_v1_api_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9600,7 +9719,7 @@ func (x *GetUsergroupRequest) String() string { func (*GetUsergroupRequest) ProtoMessage() {} func (x *GetUsergroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[153] + mi := &file_rill_admin_v1_api_proto_msgTypes[155] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9613,7 +9732,7 @@ func (x *GetUsergroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUsergroupRequest.ProtoReflect.Descriptor instead. func (*GetUsergroupRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{153} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{155} } func (x *GetUsergroupRequest) GetOrg() string { @@ -9656,7 +9775,7 @@ type GetUsergroupResponse struct { func (x *GetUsergroupResponse) Reset() { *x = GetUsergroupResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[154] + mi := &file_rill_admin_v1_api_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9669,7 +9788,7 @@ func (x *GetUsergroupResponse) String() string { func (*GetUsergroupResponse) ProtoMessage() {} func (x *GetUsergroupResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[154] + mi := &file_rill_admin_v1_api_proto_msgTypes[156] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9682,7 +9801,7 @@ func (x *GetUsergroupResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUsergroupResponse.ProtoReflect.Descriptor instead. func (*GetUsergroupResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{154} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{156} } func (x *GetUsergroupResponse) GetUsergroup() *Usergroup { @@ -9713,7 +9832,7 @@ type UpdateUsergroupRequest struct { func (x *UpdateUsergroupRequest) Reset() { *x = UpdateUsergroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[155] + mi := &file_rill_admin_v1_api_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9726,7 +9845,7 @@ func (x *UpdateUsergroupRequest) String() string { func (*UpdateUsergroupRequest) ProtoMessage() {} func (x *UpdateUsergroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[155] + mi := &file_rill_admin_v1_api_proto_msgTypes[157] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9739,7 +9858,7 @@ func (x *UpdateUsergroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateUsergroupRequest.ProtoReflect.Descriptor instead. func (*UpdateUsergroupRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{155} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{157} } func (x *UpdateUsergroupRequest) GetOrg() string { @@ -9781,7 +9900,7 @@ type UpdateUsergroupResponse struct { func (x *UpdateUsergroupResponse) Reset() { *x = UpdateUsergroupResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[156] + mi := &file_rill_admin_v1_api_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9794,7 +9913,7 @@ func (x *UpdateUsergroupResponse) String() string { func (*UpdateUsergroupResponse) ProtoMessage() {} func (x *UpdateUsergroupResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[156] + mi := &file_rill_admin_v1_api_proto_msgTypes[158] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9807,7 +9926,7 @@ func (x *UpdateUsergroupResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateUsergroupResponse.ProtoReflect.Descriptor instead. func (*UpdateUsergroupResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{156} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{158} } func (x *UpdateUsergroupResponse) GetUsergroup() *Usergroup { @@ -9832,7 +9951,7 @@ type ListOrganizationMemberUsergroupsRequest struct { func (x *ListOrganizationMemberUsergroupsRequest) Reset() { *x = ListOrganizationMemberUsergroupsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[157] + mi := &file_rill_admin_v1_api_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9845,7 +9964,7 @@ func (x *ListOrganizationMemberUsergroupsRequest) String() string { func (*ListOrganizationMemberUsergroupsRequest) ProtoMessage() {} func (x *ListOrganizationMemberUsergroupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[157] + mi := &file_rill_admin_v1_api_proto_msgTypes[159] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9858,7 +9977,7 @@ func (x *ListOrganizationMemberUsergroupsRequest) ProtoReflect() protoreflect.Me // Deprecated: Use ListOrganizationMemberUsergroupsRequest.ProtoReflect.Descriptor instead. func (*ListOrganizationMemberUsergroupsRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{157} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{159} } func (x *ListOrganizationMemberUsergroupsRequest) GetOrg() string { @@ -9908,7 +10027,7 @@ type ListOrganizationMemberUsergroupsResponse struct { func (x *ListOrganizationMemberUsergroupsResponse) Reset() { *x = ListOrganizationMemberUsergroupsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[158] + mi := &file_rill_admin_v1_api_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9921,7 +10040,7 @@ func (x *ListOrganizationMemberUsergroupsResponse) String() string { func (*ListOrganizationMemberUsergroupsResponse) ProtoMessage() {} func (x *ListOrganizationMemberUsergroupsResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[158] + mi := &file_rill_admin_v1_api_proto_msgTypes[160] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9934,7 +10053,7 @@ func (x *ListOrganizationMemberUsergroupsResponse) ProtoReflect() protoreflect.M // Deprecated: Use ListOrganizationMemberUsergroupsResponse.ProtoReflect.Descriptor instead. func (*ListOrganizationMemberUsergroupsResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{158} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{160} } func (x *ListOrganizationMemberUsergroupsResponse) GetMembers() []*MemberUsergroup { @@ -9967,7 +10086,7 @@ type ListProjectMemberUsergroupsRequest struct { func (x *ListProjectMemberUsergroupsRequest) Reset() { *x = ListProjectMemberUsergroupsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[159] + mi := &file_rill_admin_v1_api_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9980,7 +10099,7 @@ func (x *ListProjectMemberUsergroupsRequest) String() string { func (*ListProjectMemberUsergroupsRequest) ProtoMessage() {} func (x *ListProjectMemberUsergroupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[159] + mi := &file_rill_admin_v1_api_proto_msgTypes[161] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9993,7 +10112,7 @@ func (x *ListProjectMemberUsergroupsRequest) ProtoReflect() protoreflect.Message // Deprecated: Use ListProjectMemberUsergroupsRequest.ProtoReflect.Descriptor instead. func (*ListProjectMemberUsergroupsRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{159} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{161} } func (x *ListProjectMemberUsergroupsRequest) GetOrg() string { @@ -10050,7 +10169,7 @@ type ListProjectMemberUsergroupsResponse struct { func (x *ListProjectMemberUsergroupsResponse) Reset() { *x = ListProjectMemberUsergroupsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[160] + mi := &file_rill_admin_v1_api_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10063,7 +10182,7 @@ func (x *ListProjectMemberUsergroupsResponse) String() string { func (*ListProjectMemberUsergroupsResponse) ProtoMessage() {} func (x *ListProjectMemberUsergroupsResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[160] + mi := &file_rill_admin_v1_api_proto_msgTypes[162] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10076,7 +10195,7 @@ func (x *ListProjectMemberUsergroupsResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use ListProjectMemberUsergroupsResponse.ProtoReflect.Descriptor instead. func (*ListProjectMemberUsergroupsResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{160} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{162} } func (x *ListProjectMemberUsergroupsResponse) GetMembers() []*MemberUsergroup { @@ -10105,7 +10224,7 @@ type DeleteUsergroupRequest struct { func (x *DeleteUsergroupRequest) Reset() { *x = DeleteUsergroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[161] + mi := &file_rill_admin_v1_api_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10118,7 +10237,7 @@ func (x *DeleteUsergroupRequest) String() string { func (*DeleteUsergroupRequest) ProtoMessage() {} func (x *DeleteUsergroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[161] + mi := &file_rill_admin_v1_api_proto_msgTypes[163] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10131,7 +10250,7 @@ func (x *DeleteUsergroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteUsergroupRequest.ProtoReflect.Descriptor instead. func (*DeleteUsergroupRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{161} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{163} } func (x *DeleteUsergroupRequest) GetOrg() string { @@ -10157,7 +10276,7 @@ type DeleteUsergroupResponse struct { func (x *DeleteUsergroupResponse) Reset() { *x = DeleteUsergroupResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[162] + mi := &file_rill_admin_v1_api_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10170,7 +10289,7 @@ func (x *DeleteUsergroupResponse) String() string { func (*DeleteUsergroupResponse) ProtoMessage() {} func (x *DeleteUsergroupResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[162] + mi := &file_rill_admin_v1_api_proto_msgTypes[164] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10183,7 +10302,7 @@ func (x *DeleteUsergroupResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteUsergroupResponse.ProtoReflect.Descriptor instead. func (*DeleteUsergroupResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{162} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{164} } type AddOrganizationMemberUsergroupRequest struct { @@ -10199,7 +10318,7 @@ type AddOrganizationMemberUsergroupRequest struct { func (x *AddOrganizationMemberUsergroupRequest) Reset() { *x = AddOrganizationMemberUsergroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[163] + mi := &file_rill_admin_v1_api_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10212,7 +10331,7 @@ func (x *AddOrganizationMemberUsergroupRequest) String() string { func (*AddOrganizationMemberUsergroupRequest) ProtoMessage() {} func (x *AddOrganizationMemberUsergroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[163] + mi := &file_rill_admin_v1_api_proto_msgTypes[165] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10225,7 +10344,7 @@ func (x *AddOrganizationMemberUsergroupRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use AddOrganizationMemberUsergroupRequest.ProtoReflect.Descriptor instead. func (*AddOrganizationMemberUsergroupRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{163} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{165} } func (x *AddOrganizationMemberUsergroupRequest) GetOrg() string { @@ -10258,7 +10377,7 @@ type AddOrganizationMemberUsergroupResponse struct { func (x *AddOrganizationMemberUsergroupResponse) Reset() { *x = AddOrganizationMemberUsergroupResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[164] + mi := &file_rill_admin_v1_api_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10271,7 +10390,7 @@ func (x *AddOrganizationMemberUsergroupResponse) String() string { func (*AddOrganizationMemberUsergroupResponse) ProtoMessage() {} func (x *AddOrganizationMemberUsergroupResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[164] + mi := &file_rill_admin_v1_api_proto_msgTypes[166] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10284,7 +10403,7 @@ func (x *AddOrganizationMemberUsergroupResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use AddOrganizationMemberUsergroupResponse.ProtoReflect.Descriptor instead. func (*AddOrganizationMemberUsergroupResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{164} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{166} } type SetOrganizationMemberUsergroupRoleRequest struct { @@ -10300,7 +10419,7 @@ type SetOrganizationMemberUsergroupRoleRequest struct { func (x *SetOrganizationMemberUsergroupRoleRequest) Reset() { *x = SetOrganizationMemberUsergroupRoleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[165] + mi := &file_rill_admin_v1_api_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10313,7 +10432,7 @@ func (x *SetOrganizationMemberUsergroupRoleRequest) String() string { func (*SetOrganizationMemberUsergroupRoleRequest) ProtoMessage() {} func (x *SetOrganizationMemberUsergroupRoleRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[165] + mi := &file_rill_admin_v1_api_proto_msgTypes[167] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10326,7 +10445,7 @@ func (x *SetOrganizationMemberUsergroupRoleRequest) ProtoReflect() protoreflect. // Deprecated: Use SetOrganizationMemberUsergroupRoleRequest.ProtoReflect.Descriptor instead. func (*SetOrganizationMemberUsergroupRoleRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{165} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{167} } func (x *SetOrganizationMemberUsergroupRoleRequest) GetOrg() string { @@ -10359,7 +10478,7 @@ type SetOrganizationMemberUsergroupRoleResponse struct { func (x *SetOrganizationMemberUsergroupRoleResponse) Reset() { *x = SetOrganizationMemberUsergroupRoleResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[166] + mi := &file_rill_admin_v1_api_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10372,7 +10491,7 @@ func (x *SetOrganizationMemberUsergroupRoleResponse) String() string { func (*SetOrganizationMemberUsergroupRoleResponse) ProtoMessage() {} func (x *SetOrganizationMemberUsergroupRoleResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[166] + mi := &file_rill_admin_v1_api_proto_msgTypes[168] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10385,7 +10504,7 @@ func (x *SetOrganizationMemberUsergroupRoleResponse) ProtoReflect() protoreflect // Deprecated: Use SetOrganizationMemberUsergroupRoleResponse.ProtoReflect.Descriptor instead. func (*SetOrganizationMemberUsergroupRoleResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{166} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{168} } type RemoveOrganizationMemberUsergroupRequest struct { @@ -10400,7 +10519,7 @@ type RemoveOrganizationMemberUsergroupRequest struct { func (x *RemoveOrganizationMemberUsergroupRequest) Reset() { *x = RemoveOrganizationMemberUsergroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[167] + mi := &file_rill_admin_v1_api_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10413,7 +10532,7 @@ func (x *RemoveOrganizationMemberUsergroupRequest) String() string { func (*RemoveOrganizationMemberUsergroupRequest) ProtoMessage() {} func (x *RemoveOrganizationMemberUsergroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[167] + mi := &file_rill_admin_v1_api_proto_msgTypes[169] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10426,7 +10545,7 @@ func (x *RemoveOrganizationMemberUsergroupRequest) ProtoReflect() protoreflect.M // Deprecated: Use RemoveOrganizationMemberUsergroupRequest.ProtoReflect.Descriptor instead. func (*RemoveOrganizationMemberUsergroupRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{167} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{169} } func (x *RemoveOrganizationMemberUsergroupRequest) GetOrg() string { @@ -10452,7 +10571,7 @@ type RemoveOrganizationMemberUsergroupResponse struct { func (x *RemoveOrganizationMemberUsergroupResponse) Reset() { *x = RemoveOrganizationMemberUsergroupResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[168] + mi := &file_rill_admin_v1_api_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10465,7 +10584,7 @@ func (x *RemoveOrganizationMemberUsergroupResponse) String() string { func (*RemoveOrganizationMemberUsergroupResponse) ProtoMessage() {} func (x *RemoveOrganizationMemberUsergroupResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[168] + mi := &file_rill_admin_v1_api_proto_msgTypes[170] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10478,7 +10597,7 @@ func (x *RemoveOrganizationMemberUsergroupResponse) ProtoReflect() protoreflect. // Deprecated: Use RemoveOrganizationMemberUsergroupResponse.ProtoReflect.Descriptor instead. func (*RemoveOrganizationMemberUsergroupResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{168} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{170} } type AddProjectMemberUsergroupRequest struct { @@ -10497,7 +10616,7 @@ type AddProjectMemberUsergroupRequest struct { func (x *AddProjectMemberUsergroupRequest) Reset() { *x = AddProjectMemberUsergroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[169] + mi := &file_rill_admin_v1_api_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10510,7 +10629,7 @@ func (x *AddProjectMemberUsergroupRequest) String() string { func (*AddProjectMemberUsergroupRequest) ProtoMessage() {} func (x *AddProjectMemberUsergroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[169] + mi := &file_rill_admin_v1_api_proto_msgTypes[171] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10523,7 +10642,7 @@ func (x *AddProjectMemberUsergroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddProjectMemberUsergroupRequest.ProtoReflect.Descriptor instead. func (*AddProjectMemberUsergroupRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{169} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{171} } func (x *AddProjectMemberUsergroupRequest) GetOrg() string { @@ -10577,7 +10696,7 @@ type AddProjectMemberUsergroupResponse struct { func (x *AddProjectMemberUsergroupResponse) Reset() { *x = AddProjectMemberUsergroupResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[170] + mi := &file_rill_admin_v1_api_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10590,7 +10709,7 @@ func (x *AddProjectMemberUsergroupResponse) String() string { func (*AddProjectMemberUsergroupResponse) ProtoMessage() {} func (x *AddProjectMemberUsergroupResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[170] + mi := &file_rill_admin_v1_api_proto_msgTypes[172] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10603,7 +10722,7 @@ func (x *AddProjectMemberUsergroupResponse) ProtoReflect() protoreflect.Message // Deprecated: Use AddProjectMemberUsergroupResponse.ProtoReflect.Descriptor instead. func (*AddProjectMemberUsergroupResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{170} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{172} } type SetProjectMemberUsergroupRoleRequest struct { @@ -10622,7 +10741,7 @@ type SetProjectMemberUsergroupRoleRequest struct { func (x *SetProjectMemberUsergroupRoleRequest) Reset() { *x = SetProjectMemberUsergroupRoleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[171] + mi := &file_rill_admin_v1_api_proto_msgTypes[173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10635,7 +10754,7 @@ func (x *SetProjectMemberUsergroupRoleRequest) String() string { func (*SetProjectMemberUsergroupRoleRequest) ProtoMessage() {} func (x *SetProjectMemberUsergroupRoleRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[171] + mi := &file_rill_admin_v1_api_proto_msgTypes[173] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10648,7 +10767,7 @@ func (x *SetProjectMemberUsergroupRoleRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use SetProjectMemberUsergroupRoleRequest.ProtoReflect.Descriptor instead. func (*SetProjectMemberUsergroupRoleRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{171} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{173} } func (x *SetProjectMemberUsergroupRoleRequest) GetOrg() string { @@ -10702,7 +10821,7 @@ type SetProjectMemberUsergroupRoleResponse struct { func (x *SetProjectMemberUsergroupRoleResponse) Reset() { *x = SetProjectMemberUsergroupRoleResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[172] + mi := &file_rill_admin_v1_api_proto_msgTypes[174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10715,7 +10834,7 @@ func (x *SetProjectMemberUsergroupRoleResponse) String() string { func (*SetProjectMemberUsergroupRoleResponse) ProtoMessage() {} func (x *SetProjectMemberUsergroupRoleResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[172] + mi := &file_rill_admin_v1_api_proto_msgTypes[174] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10728,7 +10847,7 @@ func (x *SetProjectMemberUsergroupRoleResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use SetProjectMemberUsergroupRoleResponse.ProtoReflect.Descriptor instead. func (*SetProjectMemberUsergroupRoleResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{172} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{174} } type RemoveProjectMemberUsergroupRequest struct { @@ -10744,7 +10863,7 @@ type RemoveProjectMemberUsergroupRequest struct { func (x *RemoveProjectMemberUsergroupRequest) Reset() { *x = RemoveProjectMemberUsergroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[173] + mi := &file_rill_admin_v1_api_proto_msgTypes[175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10757,7 +10876,7 @@ func (x *RemoveProjectMemberUsergroupRequest) String() string { func (*RemoveProjectMemberUsergroupRequest) ProtoMessage() {} func (x *RemoveProjectMemberUsergroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[173] + mi := &file_rill_admin_v1_api_proto_msgTypes[175] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10770,7 +10889,7 @@ func (x *RemoveProjectMemberUsergroupRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use RemoveProjectMemberUsergroupRequest.ProtoReflect.Descriptor instead. func (*RemoveProjectMemberUsergroupRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{173} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{175} } func (x *RemoveProjectMemberUsergroupRequest) GetOrg() string { @@ -10803,7 +10922,7 @@ type RemoveProjectMemberUsergroupResponse struct { func (x *RemoveProjectMemberUsergroupResponse) Reset() { *x = RemoveProjectMemberUsergroupResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[174] + mi := &file_rill_admin_v1_api_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10816,7 +10935,7 @@ func (x *RemoveProjectMemberUsergroupResponse) String() string { func (*RemoveProjectMemberUsergroupResponse) ProtoMessage() {} func (x *RemoveProjectMemberUsergroupResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[174] + mi := &file_rill_admin_v1_api_proto_msgTypes[176] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10829,7 +10948,7 @@ func (x *RemoveProjectMemberUsergroupResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use RemoveProjectMemberUsergroupResponse.ProtoReflect.Descriptor instead. func (*RemoveProjectMemberUsergroupResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{174} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{176} } type AddUsergroupMemberUserRequest struct { @@ -10845,7 +10964,7 @@ type AddUsergroupMemberUserRequest struct { func (x *AddUsergroupMemberUserRequest) Reset() { *x = AddUsergroupMemberUserRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[175] + mi := &file_rill_admin_v1_api_proto_msgTypes[177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10858,7 +10977,7 @@ func (x *AddUsergroupMemberUserRequest) String() string { func (*AddUsergroupMemberUserRequest) ProtoMessage() {} func (x *AddUsergroupMemberUserRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[175] + mi := &file_rill_admin_v1_api_proto_msgTypes[177] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10871,7 +10990,7 @@ func (x *AddUsergroupMemberUserRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddUsergroupMemberUserRequest.ProtoReflect.Descriptor instead. func (*AddUsergroupMemberUserRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{175} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{177} } func (x *AddUsergroupMemberUserRequest) GetOrg() string { @@ -10904,7 +11023,7 @@ type AddUsergroupMemberUserResponse struct { func (x *AddUsergroupMemberUserResponse) Reset() { *x = AddUsergroupMemberUserResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[176] + mi := &file_rill_admin_v1_api_proto_msgTypes[178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10917,7 +11036,7 @@ func (x *AddUsergroupMemberUserResponse) String() string { func (*AddUsergroupMemberUserResponse) ProtoMessage() {} func (x *AddUsergroupMemberUserResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[176] + mi := &file_rill_admin_v1_api_proto_msgTypes[178] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10930,7 +11049,7 @@ func (x *AddUsergroupMemberUserResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AddUsergroupMemberUserResponse.ProtoReflect.Descriptor instead. func (*AddUsergroupMemberUserResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{176} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{178} } type ListUsergroupMemberUsersRequest struct { @@ -10947,7 +11066,7 @@ type ListUsergroupMemberUsersRequest struct { func (x *ListUsergroupMemberUsersRequest) Reset() { *x = ListUsergroupMemberUsersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[177] + mi := &file_rill_admin_v1_api_proto_msgTypes[179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10960,7 +11079,7 @@ func (x *ListUsergroupMemberUsersRequest) String() string { func (*ListUsergroupMemberUsersRequest) ProtoMessage() {} func (x *ListUsergroupMemberUsersRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[177] + mi := &file_rill_admin_v1_api_proto_msgTypes[179] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10973,7 +11092,7 @@ func (x *ListUsergroupMemberUsersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListUsergroupMemberUsersRequest.ProtoReflect.Descriptor instead. func (*ListUsergroupMemberUsersRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{177} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{179} } func (x *ListUsergroupMemberUsersRequest) GetOrg() string { @@ -11016,7 +11135,7 @@ type ListUsergroupMemberUsersResponse struct { func (x *ListUsergroupMemberUsersResponse) Reset() { *x = ListUsergroupMemberUsersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[178] + mi := &file_rill_admin_v1_api_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11029,7 +11148,7 @@ func (x *ListUsergroupMemberUsersResponse) String() string { func (*ListUsergroupMemberUsersResponse) ProtoMessage() {} func (x *ListUsergroupMemberUsersResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[178] + mi := &file_rill_admin_v1_api_proto_msgTypes[180] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11042,7 +11161,7 @@ func (x *ListUsergroupMemberUsersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListUsergroupMemberUsersResponse.ProtoReflect.Descriptor instead. func (*ListUsergroupMemberUsersResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{178} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{180} } func (x *ListUsergroupMemberUsersResponse) GetMembers() []*UsergroupMemberUser { @@ -11072,7 +11191,7 @@ type RemoveUsergroupMemberUserRequest struct { func (x *RemoveUsergroupMemberUserRequest) Reset() { *x = RemoveUsergroupMemberUserRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[179] + mi := &file_rill_admin_v1_api_proto_msgTypes[181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11085,7 +11204,7 @@ func (x *RemoveUsergroupMemberUserRequest) String() string { func (*RemoveUsergroupMemberUserRequest) ProtoMessage() {} func (x *RemoveUsergroupMemberUserRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[179] + mi := &file_rill_admin_v1_api_proto_msgTypes[181] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11098,7 +11217,7 @@ func (x *RemoveUsergroupMemberUserRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveUsergroupMemberUserRequest.ProtoReflect.Descriptor instead. func (*RemoveUsergroupMemberUserRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{179} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{181} } func (x *RemoveUsergroupMemberUserRequest) GetOrg() string { @@ -11131,7 +11250,7 @@ type RemoveUsergroupMemberUserResponse struct { func (x *RemoveUsergroupMemberUserResponse) Reset() { *x = RemoveUsergroupMemberUserResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[180] + mi := &file_rill_admin_v1_api_proto_msgTypes[182] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11144,7 +11263,7 @@ func (x *RemoveUsergroupMemberUserResponse) String() string { func (*RemoveUsergroupMemberUserResponse) ProtoMessage() {} func (x *RemoveUsergroupMemberUserResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[180] + mi := &file_rill_admin_v1_api_proto_msgTypes[182] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11157,7 +11276,7 @@ func (x *RemoveUsergroupMemberUserResponse) ProtoReflect() protoreflect.Message // Deprecated: Use RemoveUsergroupMemberUserResponse.ProtoReflect.Descriptor instead. func (*RemoveUsergroupMemberUserResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{180} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{182} } type UserPreferences struct { @@ -11171,7 +11290,7 @@ type UserPreferences struct { func (x *UserPreferences) Reset() { *x = UserPreferences{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[181] + mi := &file_rill_admin_v1_api_proto_msgTypes[183] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11184,7 +11303,7 @@ func (x *UserPreferences) String() string { func (*UserPreferences) ProtoMessage() {} func (x *UserPreferences) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[181] + mi := &file_rill_admin_v1_api_proto_msgTypes[183] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11197,7 +11316,7 @@ func (x *UserPreferences) ProtoReflect() protoreflect.Message { // Deprecated: Use UserPreferences.ProtoReflect.Descriptor instead. func (*UserPreferences) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{181} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{183} } func (x *UserPreferences) GetTimeZone() string { @@ -11218,7 +11337,7 @@ type UpdateUserPreferencesRequest struct { func (x *UpdateUserPreferencesRequest) Reset() { *x = UpdateUserPreferencesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[182] + mi := &file_rill_admin_v1_api_proto_msgTypes[184] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11231,7 +11350,7 @@ func (x *UpdateUserPreferencesRequest) String() string { func (*UpdateUserPreferencesRequest) ProtoMessage() {} func (x *UpdateUserPreferencesRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[182] + mi := &file_rill_admin_v1_api_proto_msgTypes[184] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11244,7 +11363,7 @@ func (x *UpdateUserPreferencesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateUserPreferencesRequest.ProtoReflect.Descriptor instead. func (*UpdateUserPreferencesRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{182} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{184} } func (x *UpdateUserPreferencesRequest) GetPreferences() *UserPreferences { @@ -11265,7 +11384,7 @@ type UpdateUserPreferencesResponse struct { func (x *UpdateUserPreferencesResponse) Reset() { *x = UpdateUserPreferencesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[183] + mi := &file_rill_admin_v1_api_proto_msgTypes[185] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11278,7 +11397,7 @@ func (x *UpdateUserPreferencesResponse) String() string { func (*UpdateUserPreferencesResponse) ProtoMessage() {} func (x *UpdateUserPreferencesResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[183] + mi := &file_rill_admin_v1_api_proto_msgTypes[185] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11291,7 +11410,7 @@ func (x *UpdateUserPreferencesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateUserPreferencesResponse.ProtoReflect.Descriptor instead. func (*UpdateUserPreferencesResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{183} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{185} } func (x *UpdateUserPreferencesResponse) GetPreferences() *UserPreferences { @@ -11312,7 +11431,7 @@ type GetUserRequest struct { func (x *GetUserRequest) Reset() { *x = GetUserRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[184] + mi := &file_rill_admin_v1_api_proto_msgTypes[186] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11325,7 +11444,7 @@ func (x *GetUserRequest) String() string { func (*GetUserRequest) ProtoMessage() {} func (x *GetUserRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[184] + mi := &file_rill_admin_v1_api_proto_msgTypes[186] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11338,7 +11457,7 @@ func (x *GetUserRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserRequest.ProtoReflect.Descriptor instead. func (*GetUserRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{184} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{186} } func (x *GetUserRequest) GetEmail() string { @@ -11359,7 +11478,7 @@ type GetUserResponse struct { func (x *GetUserResponse) Reset() { *x = GetUserResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[185] + mi := &file_rill_admin_v1_api_proto_msgTypes[187] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11372,7 +11491,7 @@ func (x *GetUserResponse) String() string { func (*GetUserResponse) ProtoMessage() {} func (x *GetUserResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[185] + mi := &file_rill_admin_v1_api_proto_msgTypes[187] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11385,7 +11504,7 @@ func (x *GetUserResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserResponse.ProtoReflect.Descriptor instead. func (*GetUserResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{185} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{187} } func (x *GetUserResponse) GetUser() *User { @@ -11404,7 +11523,7 @@ type GetCurrentUserRequest struct { func (x *GetCurrentUserRequest) Reset() { *x = GetCurrentUserRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[186] + mi := &file_rill_admin_v1_api_proto_msgTypes[188] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11417,7 +11536,7 @@ func (x *GetCurrentUserRequest) String() string { func (*GetCurrentUserRequest) ProtoMessage() {} func (x *GetCurrentUserRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[186] + mi := &file_rill_admin_v1_api_proto_msgTypes[188] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11430,7 +11549,7 @@ func (x *GetCurrentUserRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCurrentUserRequest.ProtoReflect.Descriptor instead. func (*GetCurrentUserRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{186} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{188} } type GetCurrentUserResponse struct { @@ -11445,7 +11564,7 @@ type GetCurrentUserResponse struct { func (x *GetCurrentUserResponse) Reset() { *x = GetCurrentUserResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[187] + mi := &file_rill_admin_v1_api_proto_msgTypes[189] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11458,7 +11577,7 @@ func (x *GetCurrentUserResponse) String() string { func (*GetCurrentUserResponse) ProtoMessage() {} func (x *GetCurrentUserResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[187] + mi := &file_rill_admin_v1_api_proto_msgTypes[189] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11471,7 +11590,7 @@ func (x *GetCurrentUserResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCurrentUserResponse.ProtoReflect.Descriptor instead. func (*GetCurrentUserResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{187} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{189} } func (x *GetCurrentUserResponse) GetUser() *User { @@ -11500,7 +11619,7 @@ type DeleteUserRequest struct { func (x *DeleteUserRequest) Reset() { *x = DeleteUserRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[188] + mi := &file_rill_admin_v1_api_proto_msgTypes[190] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11513,7 +11632,7 @@ func (x *DeleteUserRequest) String() string { func (*DeleteUserRequest) ProtoMessage() {} func (x *DeleteUserRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[188] + mi := &file_rill_admin_v1_api_proto_msgTypes[190] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11526,7 +11645,7 @@ func (x *DeleteUserRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteUserRequest.ProtoReflect.Descriptor instead. func (*DeleteUserRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{188} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{190} } func (x *DeleteUserRequest) GetEmail() string { @@ -11552,7 +11671,7 @@ type DeleteUserResponse struct { func (x *DeleteUserResponse) Reset() { *x = DeleteUserResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[189] + mi := &file_rill_admin_v1_api_proto_msgTypes[191] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11565,7 +11684,7 @@ func (x *DeleteUserResponse) String() string { func (*DeleteUserResponse) ProtoMessage() {} func (x *DeleteUserResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[189] + mi := &file_rill_admin_v1_api_proto_msgTypes[191] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11578,7 +11697,7 @@ func (x *DeleteUserResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteUserResponse.ProtoReflect.Descriptor instead. func (*DeleteUserResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{189} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{191} } type ListUserAuthTokensRequest struct { @@ -11601,7 +11720,7 @@ type ListUserAuthTokensRequest struct { func (x *ListUserAuthTokensRequest) Reset() { *x = ListUserAuthTokensRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[190] + mi := &file_rill_admin_v1_api_proto_msgTypes[192] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11614,7 +11733,7 @@ func (x *ListUserAuthTokensRequest) String() string { func (*ListUserAuthTokensRequest) ProtoMessage() {} func (x *ListUserAuthTokensRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[190] + mi := &file_rill_admin_v1_api_proto_msgTypes[192] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11627,7 +11746,7 @@ func (x *ListUserAuthTokensRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListUserAuthTokensRequest.ProtoReflect.Descriptor instead. func (*ListUserAuthTokensRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{190} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{192} } func (x *ListUserAuthTokensRequest) GetUserId() string { @@ -11679,7 +11798,7 @@ type ListUserAuthTokensResponse struct { func (x *ListUserAuthTokensResponse) Reset() { *x = ListUserAuthTokensResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[191] + mi := &file_rill_admin_v1_api_proto_msgTypes[193] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11692,7 +11811,7 @@ func (x *ListUserAuthTokensResponse) String() string { func (*ListUserAuthTokensResponse) ProtoMessage() {} func (x *ListUserAuthTokensResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[191] + mi := &file_rill_admin_v1_api_proto_msgTypes[193] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11705,7 +11824,7 @@ func (x *ListUserAuthTokensResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListUserAuthTokensResponse.ProtoReflect.Descriptor instead. func (*ListUserAuthTokensResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{191} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{193} } func (x *ListUserAuthTokensResponse) GetTokens() []*UserAuthToken { @@ -11746,7 +11865,7 @@ type IssueUserAuthTokenRequest struct { func (x *IssueUserAuthTokenRequest) Reset() { *x = IssueUserAuthTokenRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[192] + mi := &file_rill_admin_v1_api_proto_msgTypes[194] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11759,7 +11878,7 @@ func (x *IssueUserAuthTokenRequest) String() string { func (*IssueUserAuthTokenRequest) ProtoMessage() {} func (x *IssueUserAuthTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[192] + mi := &file_rill_admin_v1_api_proto_msgTypes[194] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11772,7 +11891,7 @@ func (x *IssueUserAuthTokenRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use IssueUserAuthTokenRequest.ProtoReflect.Descriptor instead. func (*IssueUserAuthTokenRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{192} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{194} } func (x *IssueUserAuthTokenRequest) GetUserId() string { @@ -11829,7 +11948,7 @@ type IssueUserAuthTokenResponse struct { func (x *IssueUserAuthTokenResponse) Reset() { *x = IssueUserAuthTokenResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[193] + mi := &file_rill_admin_v1_api_proto_msgTypes[195] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11842,7 +11961,7 @@ func (x *IssueUserAuthTokenResponse) String() string { func (*IssueUserAuthTokenResponse) ProtoMessage() {} func (x *IssueUserAuthTokenResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[193] + mi := &file_rill_admin_v1_api_proto_msgTypes[195] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11855,7 +11974,7 @@ func (x *IssueUserAuthTokenResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use IssueUserAuthTokenResponse.ProtoReflect.Descriptor instead. func (*IssueUserAuthTokenResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{193} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{195} } func (x *IssueUserAuthTokenResponse) GetToken() string { @@ -11880,7 +11999,7 @@ type RevokeUserAuthTokenRequest struct { func (x *RevokeUserAuthTokenRequest) Reset() { *x = RevokeUserAuthTokenRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[194] + mi := &file_rill_admin_v1_api_proto_msgTypes[196] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11893,7 +12012,7 @@ func (x *RevokeUserAuthTokenRequest) String() string { func (*RevokeUserAuthTokenRequest) ProtoMessage() {} func (x *RevokeUserAuthTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[194] + mi := &file_rill_admin_v1_api_proto_msgTypes[196] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11906,7 +12025,7 @@ func (x *RevokeUserAuthTokenRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeUserAuthTokenRequest.ProtoReflect.Descriptor instead. func (*RevokeUserAuthTokenRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{194} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{196} } func (x *RevokeUserAuthTokenRequest) GetTokenId() string { @@ -11932,7 +12051,7 @@ type RevokeUserAuthTokenResponse struct { func (x *RevokeUserAuthTokenResponse) Reset() { *x = RevokeUserAuthTokenResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[195] + mi := &file_rill_admin_v1_api_proto_msgTypes[197] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11945,7 +12064,7 @@ func (x *RevokeUserAuthTokenResponse) String() string { func (*RevokeUserAuthTokenResponse) ProtoMessage() {} func (x *RevokeUserAuthTokenResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[195] + mi := &file_rill_admin_v1_api_proto_msgTypes[197] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11958,7 +12077,7 @@ func (x *RevokeUserAuthTokenResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeUserAuthTokenResponse.ProtoReflect.Descriptor instead. func (*RevokeUserAuthTokenResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{195} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{197} } type RevokeAllUserAuthTokensRequest struct { @@ -11976,7 +12095,7 @@ type RevokeAllUserAuthTokensRequest struct { func (x *RevokeAllUserAuthTokensRequest) Reset() { *x = RevokeAllUserAuthTokensRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[196] + mi := &file_rill_admin_v1_api_proto_msgTypes[198] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11989,7 +12108,7 @@ func (x *RevokeAllUserAuthTokensRequest) String() string { func (*RevokeAllUserAuthTokensRequest) ProtoMessage() {} func (x *RevokeAllUserAuthTokensRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[196] + mi := &file_rill_admin_v1_api_proto_msgTypes[198] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12002,7 +12121,7 @@ func (x *RevokeAllUserAuthTokensRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeAllUserAuthTokensRequest.ProtoReflect.Descriptor instead. func (*RevokeAllUserAuthTokensRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{196} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{198} } func (x *RevokeAllUserAuthTokensRequest) GetUserId() string { @@ -12031,7 +12150,7 @@ type RevokeAllUserAuthTokensResponse struct { func (x *RevokeAllUserAuthTokensResponse) Reset() { *x = RevokeAllUserAuthTokensResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[197] + mi := &file_rill_admin_v1_api_proto_msgTypes[199] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12044,7 +12163,7 @@ func (x *RevokeAllUserAuthTokensResponse) String() string { func (*RevokeAllUserAuthTokensResponse) ProtoMessage() {} func (x *RevokeAllUserAuthTokensResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[197] + mi := &file_rill_admin_v1_api_proto_msgTypes[199] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12057,7 +12176,7 @@ func (x *RevokeAllUserAuthTokensResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeAllUserAuthTokensResponse.ProtoReflect.Descriptor instead. func (*RevokeAllUserAuthTokensResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{197} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{199} } func (x *RevokeAllUserAuthTokensResponse) GetTokensRevoked() int32 { @@ -12079,7 +12198,7 @@ type RevokeRepresentativeAuthTokensRequest struct { func (x *RevokeRepresentativeAuthTokensRequest) Reset() { *x = RevokeRepresentativeAuthTokensRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[198] + mi := &file_rill_admin_v1_api_proto_msgTypes[200] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12092,7 +12211,7 @@ func (x *RevokeRepresentativeAuthTokensRequest) String() string { func (*RevokeRepresentativeAuthTokensRequest) ProtoMessage() {} func (x *RevokeRepresentativeAuthTokensRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[198] + mi := &file_rill_admin_v1_api_proto_msgTypes[200] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12105,7 +12224,7 @@ func (x *RevokeRepresentativeAuthTokensRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use RevokeRepresentativeAuthTokensRequest.ProtoReflect.Descriptor instead. func (*RevokeRepresentativeAuthTokensRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{198} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{200} } func (x *RevokeRepresentativeAuthTokensRequest) GetEmail() string { @@ -12124,7 +12243,7 @@ type RevokeRepresentativeAuthTokensResponse struct { func (x *RevokeRepresentativeAuthTokensResponse) Reset() { *x = RevokeRepresentativeAuthTokensResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[199] + mi := &file_rill_admin_v1_api_proto_msgTypes[201] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12137,7 +12256,7 @@ func (x *RevokeRepresentativeAuthTokensResponse) String() string { func (*RevokeRepresentativeAuthTokensResponse) ProtoMessage() {} func (x *RevokeRepresentativeAuthTokensResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[199] + mi := &file_rill_admin_v1_api_proto_msgTypes[201] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12150,7 +12269,7 @@ func (x *RevokeRepresentativeAuthTokensResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use RevokeRepresentativeAuthTokensResponse.ProtoReflect.Descriptor instead. func (*RevokeRepresentativeAuthTokensResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{199} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{201} } type IssueRepresentativeAuthTokenRequest struct { @@ -12165,7 +12284,7 @@ type IssueRepresentativeAuthTokenRequest struct { func (x *IssueRepresentativeAuthTokenRequest) Reset() { *x = IssueRepresentativeAuthTokenRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[200] + mi := &file_rill_admin_v1_api_proto_msgTypes[202] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12178,7 +12297,7 @@ func (x *IssueRepresentativeAuthTokenRequest) String() string { func (*IssueRepresentativeAuthTokenRequest) ProtoMessage() {} func (x *IssueRepresentativeAuthTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[200] + mi := &file_rill_admin_v1_api_proto_msgTypes[202] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12191,7 +12310,7 @@ func (x *IssueRepresentativeAuthTokenRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use IssueRepresentativeAuthTokenRequest.ProtoReflect.Descriptor instead. func (*IssueRepresentativeAuthTokenRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{200} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{202} } func (x *IssueRepresentativeAuthTokenRequest) GetEmail() string { @@ -12219,7 +12338,7 @@ type IssueRepresentativeAuthTokenResponse struct { func (x *IssueRepresentativeAuthTokenResponse) Reset() { *x = IssueRepresentativeAuthTokenResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[201] + mi := &file_rill_admin_v1_api_proto_msgTypes[203] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12232,7 +12351,7 @@ func (x *IssueRepresentativeAuthTokenResponse) String() string { func (*IssueRepresentativeAuthTokenResponse) ProtoMessage() {} func (x *IssueRepresentativeAuthTokenResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[201] + mi := &file_rill_admin_v1_api_proto_msgTypes[203] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12245,7 +12364,7 @@ func (x *IssueRepresentativeAuthTokenResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use IssueRepresentativeAuthTokenResponse.ProtoReflect.Descriptor instead. func (*IssueRepresentativeAuthTokenResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{201} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{203} } func (x *IssueRepresentativeAuthTokenResponse) GetToken() string { @@ -12264,7 +12383,7 @@ type RevokeCurrentAuthTokenRequest struct { func (x *RevokeCurrentAuthTokenRequest) Reset() { *x = RevokeCurrentAuthTokenRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[202] + mi := &file_rill_admin_v1_api_proto_msgTypes[204] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12277,7 +12396,7 @@ func (x *RevokeCurrentAuthTokenRequest) String() string { func (*RevokeCurrentAuthTokenRequest) ProtoMessage() {} func (x *RevokeCurrentAuthTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[202] + mi := &file_rill_admin_v1_api_proto_msgTypes[204] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12290,7 +12409,7 @@ func (x *RevokeCurrentAuthTokenRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeCurrentAuthTokenRequest.ProtoReflect.Descriptor instead. func (*RevokeCurrentAuthTokenRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{202} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{204} } type RevokeCurrentAuthTokenResponse struct { @@ -12302,7 +12421,7 @@ type RevokeCurrentAuthTokenResponse struct { func (x *RevokeCurrentAuthTokenResponse) Reset() { *x = RevokeCurrentAuthTokenResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[203] + mi := &file_rill_admin_v1_api_proto_msgTypes[205] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12315,7 +12434,7 @@ func (x *RevokeCurrentAuthTokenResponse) String() string { func (*RevokeCurrentAuthTokenResponse) ProtoMessage() {} func (x *RevokeCurrentAuthTokenResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[203] + mi := &file_rill_admin_v1_api_proto_msgTypes[205] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12328,7 +12447,7 @@ func (x *RevokeCurrentAuthTokenResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeCurrentAuthTokenResponse.ProtoReflect.Descriptor instead. func (*RevokeCurrentAuthTokenResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{203} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{205} } type ListBookmarksRequest struct { @@ -12344,7 +12463,7 @@ type ListBookmarksRequest struct { func (x *ListBookmarksRequest) Reset() { *x = ListBookmarksRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[204] + mi := &file_rill_admin_v1_api_proto_msgTypes[206] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12357,7 +12476,7 @@ func (x *ListBookmarksRequest) String() string { func (*ListBookmarksRequest) ProtoMessage() {} func (x *ListBookmarksRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[204] + mi := &file_rill_admin_v1_api_proto_msgTypes[206] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12370,7 +12489,7 @@ func (x *ListBookmarksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListBookmarksRequest.ProtoReflect.Descriptor instead. func (*ListBookmarksRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{204} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{206} } func (x *ListBookmarksRequest) GetProjectId() string { @@ -12405,7 +12524,7 @@ type ListBookmarksResponse struct { func (x *ListBookmarksResponse) Reset() { *x = ListBookmarksResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[205] + mi := &file_rill_admin_v1_api_proto_msgTypes[207] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12418,7 +12537,7 @@ func (x *ListBookmarksResponse) String() string { func (*ListBookmarksResponse) ProtoMessage() {} func (x *ListBookmarksResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[205] + mi := &file_rill_admin_v1_api_proto_msgTypes[207] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12431,7 +12550,7 @@ func (x *ListBookmarksResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListBookmarksResponse.ProtoReflect.Descriptor instead. func (*ListBookmarksResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{205} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{207} } func (x *ListBookmarksResponse) GetBookmarks() []*Bookmark { @@ -12452,7 +12571,7 @@ type GetBookmarkRequest struct { func (x *GetBookmarkRequest) Reset() { *x = GetBookmarkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[206] + mi := &file_rill_admin_v1_api_proto_msgTypes[208] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12465,7 +12584,7 @@ func (x *GetBookmarkRequest) String() string { func (*GetBookmarkRequest) ProtoMessage() {} func (x *GetBookmarkRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[206] + mi := &file_rill_admin_v1_api_proto_msgTypes[208] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12478,7 +12597,7 @@ func (x *GetBookmarkRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBookmarkRequest.ProtoReflect.Descriptor instead. func (*GetBookmarkRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{206} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{208} } func (x *GetBookmarkRequest) GetBookmarkId() string { @@ -12499,7 +12618,7 @@ type GetBookmarkResponse struct { func (x *GetBookmarkResponse) Reset() { *x = GetBookmarkResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[207] + mi := &file_rill_admin_v1_api_proto_msgTypes[209] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12512,7 +12631,7 @@ func (x *GetBookmarkResponse) String() string { func (*GetBookmarkResponse) ProtoMessage() {} func (x *GetBookmarkResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[207] + mi := &file_rill_admin_v1_api_proto_msgTypes[209] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12525,7 +12644,7 @@ func (x *GetBookmarkResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBookmarkResponse.ProtoReflect.Descriptor instead. func (*GetBookmarkResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{207} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{209} } func (x *GetBookmarkResponse) GetBookmark() *Bookmark { @@ -12553,7 +12672,7 @@ type CreateBookmarkRequest struct { func (x *CreateBookmarkRequest) Reset() { *x = CreateBookmarkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[208] + mi := &file_rill_admin_v1_api_proto_msgTypes[210] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12566,7 +12685,7 @@ func (x *CreateBookmarkRequest) String() string { func (*CreateBookmarkRequest) ProtoMessage() {} func (x *CreateBookmarkRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[208] + mi := &file_rill_admin_v1_api_proto_msgTypes[210] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12579,7 +12698,7 @@ func (x *CreateBookmarkRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateBookmarkRequest.ProtoReflect.Descriptor instead. func (*CreateBookmarkRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{208} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{210} } func (x *CreateBookmarkRequest) GetDisplayName() string { @@ -12649,7 +12768,7 @@ type CreateBookmarkResponse struct { func (x *CreateBookmarkResponse) Reset() { *x = CreateBookmarkResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[209] + mi := &file_rill_admin_v1_api_proto_msgTypes[211] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12662,7 +12781,7 @@ func (x *CreateBookmarkResponse) String() string { func (*CreateBookmarkResponse) ProtoMessage() {} func (x *CreateBookmarkResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[209] + mi := &file_rill_admin_v1_api_proto_msgTypes[211] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12675,7 +12794,7 @@ func (x *CreateBookmarkResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateBookmarkResponse.ProtoReflect.Descriptor instead. func (*CreateBookmarkResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{209} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{211} } func (x *CreateBookmarkResponse) GetBookmark() *Bookmark { @@ -12701,7 +12820,7 @@ type UpdateBookmarkRequest struct { func (x *UpdateBookmarkRequest) Reset() { *x = UpdateBookmarkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[210] + mi := &file_rill_admin_v1_api_proto_msgTypes[212] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12714,7 +12833,7 @@ func (x *UpdateBookmarkRequest) String() string { func (*UpdateBookmarkRequest) ProtoMessage() {} func (x *UpdateBookmarkRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[210] + mi := &file_rill_admin_v1_api_proto_msgTypes[212] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12727,7 +12846,7 @@ func (x *UpdateBookmarkRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateBookmarkRequest.ProtoReflect.Descriptor instead. func (*UpdateBookmarkRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{210} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{212} } func (x *UpdateBookmarkRequest) GetBookmarkId() string { @@ -12781,7 +12900,7 @@ type UpdateBookmarkResponse struct { func (x *UpdateBookmarkResponse) Reset() { *x = UpdateBookmarkResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[211] + mi := &file_rill_admin_v1_api_proto_msgTypes[213] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12794,7 +12913,7 @@ func (x *UpdateBookmarkResponse) String() string { func (*UpdateBookmarkResponse) ProtoMessage() {} func (x *UpdateBookmarkResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[211] + mi := &file_rill_admin_v1_api_proto_msgTypes[213] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12807,7 +12926,7 @@ func (x *UpdateBookmarkResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateBookmarkResponse.ProtoReflect.Descriptor instead. func (*UpdateBookmarkResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{211} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{213} } type RemoveBookmarkRequest struct { @@ -12821,7 +12940,7 @@ type RemoveBookmarkRequest struct { func (x *RemoveBookmarkRequest) Reset() { *x = RemoveBookmarkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[212] + mi := &file_rill_admin_v1_api_proto_msgTypes[214] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12834,7 +12953,7 @@ func (x *RemoveBookmarkRequest) String() string { func (*RemoveBookmarkRequest) ProtoMessage() {} func (x *RemoveBookmarkRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[212] + mi := &file_rill_admin_v1_api_proto_msgTypes[214] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12847,7 +12966,7 @@ func (x *RemoveBookmarkRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveBookmarkRequest.ProtoReflect.Descriptor instead. func (*RemoveBookmarkRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{212} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{214} } func (x *RemoveBookmarkRequest) GetBookmarkId() string { @@ -12866,7 +12985,7 @@ type RemoveBookmarkResponse struct { func (x *RemoveBookmarkResponse) Reset() { *x = RemoveBookmarkResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[213] + mi := &file_rill_admin_v1_api_proto_msgTypes[215] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12879,7 +12998,7 @@ func (x *RemoveBookmarkResponse) String() string { func (*RemoveBookmarkResponse) ProtoMessage() {} func (x *RemoveBookmarkResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[213] + mi := &file_rill_admin_v1_api_proto_msgTypes[215] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12892,7 +13011,7 @@ func (x *RemoveBookmarkResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveBookmarkResponse.ProtoReflect.Descriptor instead. func (*RemoveBookmarkResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{213} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{215} } type SearchUsersRequest struct { @@ -12908,7 +13027,7 @@ type SearchUsersRequest struct { func (x *SearchUsersRequest) Reset() { *x = SearchUsersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[214] + mi := &file_rill_admin_v1_api_proto_msgTypes[216] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12921,7 +13040,7 @@ func (x *SearchUsersRequest) String() string { func (*SearchUsersRequest) ProtoMessage() {} func (x *SearchUsersRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[214] + mi := &file_rill_admin_v1_api_proto_msgTypes[216] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12934,7 +13053,7 @@ func (x *SearchUsersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchUsersRequest.ProtoReflect.Descriptor instead. func (*SearchUsersRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{214} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{216} } func (x *SearchUsersRequest) GetEmailPattern() string { @@ -12970,7 +13089,7 @@ type SearchUsersResponse struct { func (x *SearchUsersResponse) Reset() { *x = SearchUsersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[215] + mi := &file_rill_admin_v1_api_proto_msgTypes[217] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12983,7 +13102,7 @@ func (x *SearchUsersResponse) String() string { func (*SearchUsersResponse) ProtoMessage() {} func (x *SearchUsersResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[215] + mi := &file_rill_admin_v1_api_proto_msgTypes[217] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12996,7 +13115,7 @@ func (x *SearchUsersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchUsersResponse.ProtoReflect.Descriptor instead. func (*SearchUsersResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{215} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{217} } func (x *SearchUsersResponse) GetUsers() []*User { @@ -13024,7 +13143,7 @@ type RevokeServiceAuthTokenRequest struct { func (x *RevokeServiceAuthTokenRequest) Reset() { *x = RevokeServiceAuthTokenRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[216] + mi := &file_rill_admin_v1_api_proto_msgTypes[218] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13037,7 +13156,7 @@ func (x *RevokeServiceAuthTokenRequest) String() string { func (*RevokeServiceAuthTokenRequest) ProtoMessage() {} func (x *RevokeServiceAuthTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[216] + mi := &file_rill_admin_v1_api_proto_msgTypes[218] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13050,7 +13169,7 @@ func (x *RevokeServiceAuthTokenRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeServiceAuthTokenRequest.ProtoReflect.Descriptor instead. func (*RevokeServiceAuthTokenRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{216} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{218} } func (x *RevokeServiceAuthTokenRequest) GetTokenId() string { @@ -13069,7 +13188,7 @@ type RevokeServiceAuthTokenResponse struct { func (x *RevokeServiceAuthTokenResponse) Reset() { *x = RevokeServiceAuthTokenResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[217] + mi := &file_rill_admin_v1_api_proto_msgTypes[219] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13082,7 +13201,7 @@ func (x *RevokeServiceAuthTokenResponse) String() string { func (*RevokeServiceAuthTokenResponse) ProtoMessage() {} func (x *RevokeServiceAuthTokenResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[217] + mi := &file_rill_admin_v1_api_proto_msgTypes[219] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13095,7 +13214,7 @@ func (x *RevokeServiceAuthTokenResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeServiceAuthTokenResponse.ProtoReflect.Descriptor instead. func (*RevokeServiceAuthTokenResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{217} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{219} } type IssueServiceAuthTokenRequest struct { @@ -13110,7 +13229,7 @@ type IssueServiceAuthTokenRequest struct { func (x *IssueServiceAuthTokenRequest) Reset() { *x = IssueServiceAuthTokenRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[218] + mi := &file_rill_admin_v1_api_proto_msgTypes[220] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13123,7 +13242,7 @@ func (x *IssueServiceAuthTokenRequest) String() string { func (*IssueServiceAuthTokenRequest) ProtoMessage() {} func (x *IssueServiceAuthTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[218] + mi := &file_rill_admin_v1_api_proto_msgTypes[220] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13136,7 +13255,7 @@ func (x *IssueServiceAuthTokenRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use IssueServiceAuthTokenRequest.ProtoReflect.Descriptor instead. func (*IssueServiceAuthTokenRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{218} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{220} } func (x *IssueServiceAuthTokenRequest) GetOrg() string { @@ -13164,7 +13283,7 @@ type IssueServiceAuthTokenResponse struct { func (x *IssueServiceAuthTokenResponse) Reset() { *x = IssueServiceAuthTokenResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[219] + mi := &file_rill_admin_v1_api_proto_msgTypes[221] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13177,7 +13296,7 @@ func (x *IssueServiceAuthTokenResponse) String() string { func (*IssueServiceAuthTokenResponse) ProtoMessage() {} func (x *IssueServiceAuthTokenResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[219] + mi := &file_rill_admin_v1_api_proto_msgTypes[221] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13190,7 +13309,7 @@ func (x *IssueServiceAuthTokenResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use IssueServiceAuthTokenResponse.ProtoReflect.Descriptor instead. func (*IssueServiceAuthTokenResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{219} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{221} } func (x *IssueServiceAuthTokenResponse) GetToken() string { @@ -13212,7 +13331,7 @@ type ListServiceAuthTokensRequest struct { func (x *ListServiceAuthTokensRequest) Reset() { *x = ListServiceAuthTokensRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[220] + mi := &file_rill_admin_v1_api_proto_msgTypes[222] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13225,7 +13344,7 @@ func (x *ListServiceAuthTokensRequest) String() string { func (*ListServiceAuthTokensRequest) ProtoMessage() {} func (x *ListServiceAuthTokensRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[220] + mi := &file_rill_admin_v1_api_proto_msgTypes[222] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13238,7 +13357,7 @@ func (x *ListServiceAuthTokensRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListServiceAuthTokensRequest.ProtoReflect.Descriptor instead. func (*ListServiceAuthTokensRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{220} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{222} } func (x *ListServiceAuthTokensRequest) GetOrg() string { @@ -13266,7 +13385,7 @@ type ListServiceAuthTokensResponse struct { func (x *ListServiceAuthTokensResponse) Reset() { *x = ListServiceAuthTokensResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[221] + mi := &file_rill_admin_v1_api_proto_msgTypes[223] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13279,7 +13398,7 @@ func (x *ListServiceAuthTokensResponse) String() string { func (*ListServiceAuthTokensResponse) ProtoMessage() {} func (x *ListServiceAuthTokensResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[221] + mi := &file_rill_admin_v1_api_proto_msgTypes[223] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13292,7 +13411,7 @@ func (x *ListServiceAuthTokensResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListServiceAuthTokensResponse.ProtoReflect.Descriptor instead. func (*ListServiceAuthTokensResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{221} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{223} } func (x *ListServiceAuthTokensResponse) GetTokens() []*ServiceToken { @@ -13338,7 +13457,7 @@ type IssueMagicAuthTokenRequest struct { func (x *IssueMagicAuthTokenRequest) Reset() { *x = IssueMagicAuthTokenRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[222] + mi := &file_rill_admin_v1_api_proto_msgTypes[224] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13351,7 +13470,7 @@ func (x *IssueMagicAuthTokenRequest) String() string { func (*IssueMagicAuthTokenRequest) ProtoMessage() {} func (x *IssueMagicAuthTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[222] + mi := &file_rill_admin_v1_api_proto_msgTypes[224] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13364,7 +13483,7 @@ func (x *IssueMagicAuthTokenRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use IssueMagicAuthTokenRequest.ProtoReflect.Descriptor instead. func (*IssueMagicAuthTokenRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{222} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{224} } func (x *IssueMagicAuthTokenRequest) GetOrg() string { @@ -13451,7 +13570,7 @@ type ResourceName struct { func (x *ResourceName) Reset() { *x = ResourceName{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[223] + mi := &file_rill_admin_v1_api_proto_msgTypes[225] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13464,7 +13583,7 @@ func (x *ResourceName) String() string { func (*ResourceName) ProtoMessage() {} func (x *ResourceName) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[223] + mi := &file_rill_admin_v1_api_proto_msgTypes[225] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13477,7 +13596,7 @@ func (x *ResourceName) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceName.ProtoReflect.Descriptor instead. func (*ResourceName) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{223} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{225} } func (x *ResourceName) GetType() string { @@ -13506,7 +13625,7 @@ type IssueMagicAuthTokenResponse struct { func (x *IssueMagicAuthTokenResponse) Reset() { *x = IssueMagicAuthTokenResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[224] + mi := &file_rill_admin_v1_api_proto_msgTypes[226] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13519,7 +13638,7 @@ func (x *IssueMagicAuthTokenResponse) String() string { func (*IssueMagicAuthTokenResponse) ProtoMessage() {} func (x *IssueMagicAuthTokenResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[224] + mi := &file_rill_admin_v1_api_proto_msgTypes[226] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13532,7 +13651,7 @@ func (x *IssueMagicAuthTokenResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use IssueMagicAuthTokenResponse.ProtoReflect.Descriptor instead. func (*IssueMagicAuthTokenResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{224} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{226} } func (x *IssueMagicAuthTokenResponse) GetToken() string { @@ -13563,7 +13682,7 @@ type ListMagicAuthTokensRequest struct { func (x *ListMagicAuthTokensRequest) Reset() { *x = ListMagicAuthTokensRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[225] + mi := &file_rill_admin_v1_api_proto_msgTypes[227] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13576,7 +13695,7 @@ func (x *ListMagicAuthTokensRequest) String() string { func (*ListMagicAuthTokensRequest) ProtoMessage() {} func (x *ListMagicAuthTokensRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[225] + mi := &file_rill_admin_v1_api_proto_msgTypes[227] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13589,7 +13708,7 @@ func (x *ListMagicAuthTokensRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMagicAuthTokensRequest.ProtoReflect.Descriptor instead. func (*ListMagicAuthTokensRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{225} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{227} } func (x *ListMagicAuthTokensRequest) GetOrg() string { @@ -13632,7 +13751,7 @@ type ListMagicAuthTokensResponse struct { func (x *ListMagicAuthTokensResponse) Reset() { *x = ListMagicAuthTokensResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[226] + mi := &file_rill_admin_v1_api_proto_msgTypes[228] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13645,7 +13764,7 @@ func (x *ListMagicAuthTokensResponse) String() string { func (*ListMagicAuthTokensResponse) ProtoMessage() {} func (x *ListMagicAuthTokensResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[226] + mi := &file_rill_admin_v1_api_proto_msgTypes[228] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13658,7 +13777,7 @@ func (x *ListMagicAuthTokensResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMagicAuthTokensResponse.ProtoReflect.Descriptor instead. func (*ListMagicAuthTokensResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{226} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{228} } func (x *ListMagicAuthTokensResponse) GetTokens() []*MagicAuthToken { @@ -13684,7 +13803,7 @@ type GetCurrentMagicAuthTokenRequest struct { func (x *GetCurrentMagicAuthTokenRequest) Reset() { *x = GetCurrentMagicAuthTokenRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[227] + mi := &file_rill_admin_v1_api_proto_msgTypes[229] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13697,7 +13816,7 @@ func (x *GetCurrentMagicAuthTokenRequest) String() string { func (*GetCurrentMagicAuthTokenRequest) ProtoMessage() {} func (x *GetCurrentMagicAuthTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[227] + mi := &file_rill_admin_v1_api_proto_msgTypes[229] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13710,7 +13829,7 @@ func (x *GetCurrentMagicAuthTokenRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCurrentMagicAuthTokenRequest.ProtoReflect.Descriptor instead. func (*GetCurrentMagicAuthTokenRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{227} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{229} } type GetCurrentMagicAuthTokenResponse struct { @@ -13724,7 +13843,7 @@ type GetCurrentMagicAuthTokenResponse struct { func (x *GetCurrentMagicAuthTokenResponse) Reset() { *x = GetCurrentMagicAuthTokenResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[228] + mi := &file_rill_admin_v1_api_proto_msgTypes[230] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13737,7 +13856,7 @@ func (x *GetCurrentMagicAuthTokenResponse) String() string { func (*GetCurrentMagicAuthTokenResponse) ProtoMessage() {} func (x *GetCurrentMagicAuthTokenResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[228] + mi := &file_rill_admin_v1_api_proto_msgTypes[230] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13750,7 +13869,7 @@ func (x *GetCurrentMagicAuthTokenResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCurrentMagicAuthTokenResponse.ProtoReflect.Descriptor instead. func (*GetCurrentMagicAuthTokenResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{228} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{230} } func (x *GetCurrentMagicAuthTokenResponse) GetToken() *MagicAuthToken { @@ -13771,7 +13890,7 @@ type RevokeMagicAuthTokenRequest struct { func (x *RevokeMagicAuthTokenRequest) Reset() { *x = RevokeMagicAuthTokenRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[229] + mi := &file_rill_admin_v1_api_proto_msgTypes[231] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13784,7 +13903,7 @@ func (x *RevokeMagicAuthTokenRequest) String() string { func (*RevokeMagicAuthTokenRequest) ProtoMessage() {} func (x *RevokeMagicAuthTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[229] + mi := &file_rill_admin_v1_api_proto_msgTypes[231] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13797,7 +13916,7 @@ func (x *RevokeMagicAuthTokenRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeMagicAuthTokenRequest.ProtoReflect.Descriptor instead. func (*RevokeMagicAuthTokenRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{229} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{231} } func (x *RevokeMagicAuthTokenRequest) GetTokenId() string { @@ -13816,7 +13935,7 @@ type RevokeMagicAuthTokenResponse struct { func (x *RevokeMagicAuthTokenResponse) Reset() { *x = RevokeMagicAuthTokenResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[230] + mi := &file_rill_admin_v1_api_proto_msgTypes[232] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13829,7 +13948,7 @@ func (x *RevokeMagicAuthTokenResponse) String() string { func (*RevokeMagicAuthTokenResponse) ProtoMessage() {} func (x *RevokeMagicAuthTokenResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[230] + mi := &file_rill_admin_v1_api_proto_msgTypes[232] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13842,7 +13961,7 @@ func (x *RevokeMagicAuthTokenResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeMagicAuthTokenResponse.ProtoReflect.Descriptor instead. func (*RevokeMagicAuthTokenResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{230} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{232} } type GetGithubRepoStatusRequest struct { @@ -13856,7 +13975,7 @@ type GetGithubRepoStatusRequest struct { func (x *GetGithubRepoStatusRequest) Reset() { *x = GetGithubRepoStatusRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[231] + mi := &file_rill_admin_v1_api_proto_msgTypes[233] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13869,7 +13988,7 @@ func (x *GetGithubRepoStatusRequest) String() string { func (*GetGithubRepoStatusRequest) ProtoMessage() {} func (x *GetGithubRepoStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[231] + mi := &file_rill_admin_v1_api_proto_msgTypes[233] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13882,7 +14001,7 @@ func (x *GetGithubRepoStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGithubRepoStatusRequest.ProtoReflect.Descriptor instead. func (*GetGithubRepoStatusRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{231} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{233} } func (x *GetGithubRepoStatusRequest) GetRemote() string { @@ -13905,7 +14024,7 @@ type GetGithubRepoStatusResponse struct { func (x *GetGithubRepoStatusResponse) Reset() { *x = GetGithubRepoStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[232] + mi := &file_rill_admin_v1_api_proto_msgTypes[234] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13918,7 +14037,7 @@ func (x *GetGithubRepoStatusResponse) String() string { func (*GetGithubRepoStatusResponse) ProtoMessage() {} func (x *GetGithubRepoStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[232] + mi := &file_rill_admin_v1_api_proto_msgTypes[234] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13931,7 +14050,7 @@ func (x *GetGithubRepoStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGithubRepoStatusResponse.ProtoReflect.Descriptor instead. func (*GetGithubRepoStatusResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{232} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{234} } func (x *GetGithubRepoStatusResponse) GetHasAccess() bool { @@ -13964,7 +14083,7 @@ type GetGithubUserStatusRequest struct { func (x *GetGithubUserStatusRequest) Reset() { *x = GetGithubUserStatusRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[233] + mi := &file_rill_admin_v1_api_proto_msgTypes[235] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13977,7 +14096,7 @@ func (x *GetGithubUserStatusRequest) String() string { func (*GetGithubUserStatusRequest) ProtoMessage() {} func (x *GetGithubUserStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[233] + mi := &file_rill_admin_v1_api_proto_msgTypes[235] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13990,7 +14109,7 @@ func (x *GetGithubUserStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGithubUserStatusRequest.ProtoReflect.Descriptor instead. func (*GetGithubUserStatusRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{233} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{235} } type GetGithubUserStatusResponse struct { @@ -14013,7 +14132,7 @@ type GetGithubUserStatusResponse struct { func (x *GetGithubUserStatusResponse) Reset() { *x = GetGithubUserStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[234] + mi := &file_rill_admin_v1_api_proto_msgTypes[236] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14026,7 +14145,7 @@ func (x *GetGithubUserStatusResponse) String() string { func (*GetGithubUserStatusResponse) ProtoMessage() {} func (x *GetGithubUserStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[234] + mi := &file_rill_admin_v1_api_proto_msgTypes[236] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14039,7 +14158,7 @@ func (x *GetGithubUserStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGithubUserStatusResponse.ProtoReflect.Descriptor instead. func (*GetGithubUserStatusResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{234} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{236} } func (x *GetGithubUserStatusResponse) GetHasAccess() bool { @@ -14101,7 +14220,7 @@ type ListGithubUserReposRequest struct { func (x *ListGithubUserReposRequest) Reset() { *x = ListGithubUserReposRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[235] + mi := &file_rill_admin_v1_api_proto_msgTypes[237] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14114,7 +14233,7 @@ func (x *ListGithubUserReposRequest) String() string { func (*ListGithubUserReposRequest) ProtoMessage() {} func (x *ListGithubUserReposRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[235] + mi := &file_rill_admin_v1_api_proto_msgTypes[237] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14127,7 +14246,7 @@ func (x *ListGithubUserReposRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGithubUserReposRequest.ProtoReflect.Descriptor instead. func (*ListGithubUserReposRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{235} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{237} } type ListGithubUserReposResponse struct { @@ -14141,7 +14260,7 @@ type ListGithubUserReposResponse struct { func (x *ListGithubUserReposResponse) Reset() { *x = ListGithubUserReposResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[236] + mi := &file_rill_admin_v1_api_proto_msgTypes[238] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14154,7 +14273,7 @@ func (x *ListGithubUserReposResponse) String() string { func (*ListGithubUserReposResponse) ProtoMessage() {} func (x *ListGithubUserReposResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[236] + mi := &file_rill_admin_v1_api_proto_msgTypes[238] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14167,7 +14286,7 @@ func (x *ListGithubUserReposResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGithubUserReposResponse.ProtoReflect.Descriptor instead. func (*ListGithubUserReposResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{236} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{238} } func (x *ListGithubUserReposResponse) GetRepos() []*ListGithubUserReposResponse_Repo { @@ -14190,7 +14309,7 @@ type ConnectProjectToGithubRequest struct { func (x *ConnectProjectToGithubRequest) Reset() { *x = ConnectProjectToGithubRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[237] + mi := &file_rill_admin_v1_api_proto_msgTypes[239] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14203,7 +14322,7 @@ func (x *ConnectProjectToGithubRequest) String() string { func (*ConnectProjectToGithubRequest) ProtoMessage() {} func (x *ConnectProjectToGithubRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[237] + mi := &file_rill_admin_v1_api_proto_msgTypes[239] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14216,7 +14335,7 @@ func (x *ConnectProjectToGithubRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConnectProjectToGithubRequest.ProtoReflect.Descriptor instead. func (*ConnectProjectToGithubRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{237} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{239} } func (x *ConnectProjectToGithubRequest) GetOrg() string { @@ -14249,7 +14368,7 @@ type ConnectProjectToGithubResponse struct { func (x *ConnectProjectToGithubResponse) Reset() { *x = ConnectProjectToGithubResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[238] + mi := &file_rill_admin_v1_api_proto_msgTypes[240] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14262,7 +14381,7 @@ func (x *ConnectProjectToGithubResponse) String() string { func (*ConnectProjectToGithubResponse) ProtoMessage() {} func (x *ConnectProjectToGithubResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[238] + mi := &file_rill_admin_v1_api_proto_msgTypes[240] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14275,7 +14394,7 @@ func (x *ConnectProjectToGithubResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConnectProjectToGithubResponse.ProtoReflect.Descriptor instead. func (*ConnectProjectToGithubResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{238} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{240} } type CreateManagedGitRepoRequest struct { @@ -14292,7 +14411,7 @@ type CreateManagedGitRepoRequest struct { func (x *CreateManagedGitRepoRequest) Reset() { *x = CreateManagedGitRepoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[239] + mi := &file_rill_admin_v1_api_proto_msgTypes[241] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14305,7 +14424,7 @@ func (x *CreateManagedGitRepoRequest) String() string { func (*CreateManagedGitRepoRequest) ProtoMessage() {} func (x *CreateManagedGitRepoRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[239] + mi := &file_rill_admin_v1_api_proto_msgTypes[241] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14318,7 +14437,7 @@ func (x *CreateManagedGitRepoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateManagedGitRepoRequest.ProtoReflect.Descriptor instead. func (*CreateManagedGitRepoRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{239} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{241} } func (x *CreateManagedGitRepoRequest) GetOrg() string { @@ -14350,7 +14469,7 @@ type CreateManagedGitRepoResponse struct { func (x *CreateManagedGitRepoResponse) Reset() { *x = CreateManagedGitRepoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[240] + mi := &file_rill_admin_v1_api_proto_msgTypes[242] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14363,7 +14482,7 @@ func (x *CreateManagedGitRepoResponse) String() string { func (*CreateManagedGitRepoResponse) ProtoMessage() {} func (x *CreateManagedGitRepoResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[240] + mi := &file_rill_admin_v1_api_proto_msgTypes[242] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14376,7 +14495,7 @@ func (x *CreateManagedGitRepoResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateManagedGitRepoResponse.ProtoReflect.Descriptor instead. func (*CreateManagedGitRepoResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{240} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{242} } func (x *CreateManagedGitRepoResponse) GetRemote() string { @@ -14427,7 +14546,7 @@ type GetCloneCredentialsRequest struct { func (x *GetCloneCredentialsRequest) Reset() { *x = GetCloneCredentialsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[241] + mi := &file_rill_admin_v1_api_proto_msgTypes[243] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14440,7 +14559,7 @@ func (x *GetCloneCredentialsRequest) String() string { func (*GetCloneCredentialsRequest) ProtoMessage() {} func (x *GetCloneCredentialsRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[241] + mi := &file_rill_admin_v1_api_proto_msgTypes[243] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14453,7 +14572,7 @@ func (x *GetCloneCredentialsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCloneCredentialsRequest.ProtoReflect.Descriptor instead. func (*GetCloneCredentialsRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{241} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{243} } func (x *GetCloneCredentialsRequest) GetOrg() string { @@ -14496,7 +14615,7 @@ type GetCloneCredentialsResponse struct { func (x *GetCloneCredentialsResponse) Reset() { *x = GetCloneCredentialsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[242] + mi := &file_rill_admin_v1_api_proto_msgTypes[244] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14509,7 +14628,7 @@ func (x *GetCloneCredentialsResponse) String() string { func (*GetCloneCredentialsResponse) ProtoMessage() {} func (x *GetCloneCredentialsResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[242] + mi := &file_rill_admin_v1_api_proto_msgTypes[244] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14522,7 +14641,7 @@ func (x *GetCloneCredentialsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCloneCredentialsResponse.ProtoReflect.Descriptor instead. func (*GetCloneCredentialsResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{242} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{244} } func (x *GetCloneCredentialsResponse) GetGitRepoUrl() string { @@ -14594,7 +14713,7 @@ type CreateWhitelistedDomainRequest struct { func (x *CreateWhitelistedDomainRequest) Reset() { *x = CreateWhitelistedDomainRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[243] + mi := &file_rill_admin_v1_api_proto_msgTypes[245] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14607,7 +14726,7 @@ func (x *CreateWhitelistedDomainRequest) String() string { func (*CreateWhitelistedDomainRequest) ProtoMessage() {} func (x *CreateWhitelistedDomainRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[243] + mi := &file_rill_admin_v1_api_proto_msgTypes[245] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14620,7 +14739,7 @@ func (x *CreateWhitelistedDomainRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateWhitelistedDomainRequest.ProtoReflect.Descriptor instead. func (*CreateWhitelistedDomainRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{243} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{245} } func (x *CreateWhitelistedDomainRequest) GetOrg() string { @@ -14653,7 +14772,7 @@ type CreateWhitelistedDomainResponse struct { func (x *CreateWhitelistedDomainResponse) Reset() { *x = CreateWhitelistedDomainResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[244] + mi := &file_rill_admin_v1_api_proto_msgTypes[246] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14666,7 +14785,7 @@ func (x *CreateWhitelistedDomainResponse) String() string { func (*CreateWhitelistedDomainResponse) ProtoMessage() {} func (x *CreateWhitelistedDomainResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[244] + mi := &file_rill_admin_v1_api_proto_msgTypes[246] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14679,7 +14798,7 @@ func (x *CreateWhitelistedDomainResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateWhitelistedDomainResponse.ProtoReflect.Descriptor instead. func (*CreateWhitelistedDomainResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{244} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{246} } type RemoveWhitelistedDomainRequest struct { @@ -14694,7 +14813,7 @@ type RemoveWhitelistedDomainRequest struct { func (x *RemoveWhitelistedDomainRequest) Reset() { *x = RemoveWhitelistedDomainRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[245] + mi := &file_rill_admin_v1_api_proto_msgTypes[247] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14707,7 +14826,7 @@ func (x *RemoveWhitelistedDomainRequest) String() string { func (*RemoveWhitelistedDomainRequest) ProtoMessage() {} func (x *RemoveWhitelistedDomainRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[245] + mi := &file_rill_admin_v1_api_proto_msgTypes[247] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14720,7 +14839,7 @@ func (x *RemoveWhitelistedDomainRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveWhitelistedDomainRequest.ProtoReflect.Descriptor instead. func (*RemoveWhitelistedDomainRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{245} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{247} } func (x *RemoveWhitelistedDomainRequest) GetOrg() string { @@ -14746,7 +14865,7 @@ type RemoveWhitelistedDomainResponse struct { func (x *RemoveWhitelistedDomainResponse) Reset() { *x = RemoveWhitelistedDomainResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[246] + mi := &file_rill_admin_v1_api_proto_msgTypes[248] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14759,7 +14878,7 @@ func (x *RemoveWhitelistedDomainResponse) String() string { func (*RemoveWhitelistedDomainResponse) ProtoMessage() {} func (x *RemoveWhitelistedDomainResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[246] + mi := &file_rill_admin_v1_api_proto_msgTypes[248] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14772,7 +14891,7 @@ func (x *RemoveWhitelistedDomainResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveWhitelistedDomainResponse.ProtoReflect.Descriptor instead. func (*RemoveWhitelistedDomainResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{246} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{248} } type ListWhitelistedDomainsRequest struct { @@ -14786,7 +14905,7 @@ type ListWhitelistedDomainsRequest struct { func (x *ListWhitelistedDomainsRequest) Reset() { *x = ListWhitelistedDomainsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[247] + mi := &file_rill_admin_v1_api_proto_msgTypes[249] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14799,7 +14918,7 @@ func (x *ListWhitelistedDomainsRequest) String() string { func (*ListWhitelistedDomainsRequest) ProtoMessage() {} func (x *ListWhitelistedDomainsRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[247] + mi := &file_rill_admin_v1_api_proto_msgTypes[249] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14812,7 +14931,7 @@ func (x *ListWhitelistedDomainsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWhitelistedDomainsRequest.ProtoReflect.Descriptor instead. func (*ListWhitelistedDomainsRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{247} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{249} } func (x *ListWhitelistedDomainsRequest) GetOrg() string { @@ -14833,7 +14952,7 @@ type ListWhitelistedDomainsResponse struct { func (x *ListWhitelistedDomainsResponse) Reset() { *x = ListWhitelistedDomainsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[248] + mi := &file_rill_admin_v1_api_proto_msgTypes[250] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14846,7 +14965,7 @@ func (x *ListWhitelistedDomainsResponse) String() string { func (*ListWhitelistedDomainsResponse) ProtoMessage() {} func (x *ListWhitelistedDomainsResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[248] + mi := &file_rill_admin_v1_api_proto_msgTypes[250] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14859,7 +14978,7 @@ func (x *ListWhitelistedDomainsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWhitelistedDomainsResponse.ProtoReflect.Descriptor instead. func (*ListWhitelistedDomainsResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{248} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{250} } func (x *ListWhitelistedDomainsResponse) GetDomains() []*WhitelistedDomain { @@ -14883,7 +15002,7 @@ type CreateProjectWhitelistedDomainRequest struct { func (x *CreateProjectWhitelistedDomainRequest) Reset() { *x = CreateProjectWhitelistedDomainRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[249] + mi := &file_rill_admin_v1_api_proto_msgTypes[251] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14896,7 +15015,7 @@ func (x *CreateProjectWhitelistedDomainRequest) String() string { func (*CreateProjectWhitelistedDomainRequest) ProtoMessage() {} func (x *CreateProjectWhitelistedDomainRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[249] + mi := &file_rill_admin_v1_api_proto_msgTypes[251] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14909,7 +15028,7 @@ func (x *CreateProjectWhitelistedDomainRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use CreateProjectWhitelistedDomainRequest.ProtoReflect.Descriptor instead. func (*CreateProjectWhitelistedDomainRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{249} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{251} } func (x *CreateProjectWhitelistedDomainRequest) GetOrg() string { @@ -14949,7 +15068,7 @@ type CreateProjectWhitelistedDomainResponse struct { func (x *CreateProjectWhitelistedDomainResponse) Reset() { *x = CreateProjectWhitelistedDomainResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[250] + mi := &file_rill_admin_v1_api_proto_msgTypes[252] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14962,7 +15081,7 @@ func (x *CreateProjectWhitelistedDomainResponse) String() string { func (*CreateProjectWhitelistedDomainResponse) ProtoMessage() {} func (x *CreateProjectWhitelistedDomainResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[250] + mi := &file_rill_admin_v1_api_proto_msgTypes[252] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14975,7 +15094,7 @@ func (x *CreateProjectWhitelistedDomainResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use CreateProjectWhitelistedDomainResponse.ProtoReflect.Descriptor instead. func (*CreateProjectWhitelistedDomainResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{250} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{252} } type RemoveProjectWhitelistedDomainRequest struct { @@ -14991,7 +15110,7 @@ type RemoveProjectWhitelistedDomainRequest struct { func (x *RemoveProjectWhitelistedDomainRequest) Reset() { *x = RemoveProjectWhitelistedDomainRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[251] + mi := &file_rill_admin_v1_api_proto_msgTypes[253] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15004,7 +15123,7 @@ func (x *RemoveProjectWhitelistedDomainRequest) String() string { func (*RemoveProjectWhitelistedDomainRequest) ProtoMessage() {} func (x *RemoveProjectWhitelistedDomainRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[251] + mi := &file_rill_admin_v1_api_proto_msgTypes[253] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15017,7 +15136,7 @@ func (x *RemoveProjectWhitelistedDomainRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use RemoveProjectWhitelistedDomainRequest.ProtoReflect.Descriptor instead. func (*RemoveProjectWhitelistedDomainRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{251} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{253} } func (x *RemoveProjectWhitelistedDomainRequest) GetOrg() string { @@ -15050,7 +15169,7 @@ type RemoveProjectWhitelistedDomainResponse struct { func (x *RemoveProjectWhitelistedDomainResponse) Reset() { *x = RemoveProjectWhitelistedDomainResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[252] + mi := &file_rill_admin_v1_api_proto_msgTypes[254] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15063,7 +15182,7 @@ func (x *RemoveProjectWhitelistedDomainResponse) String() string { func (*RemoveProjectWhitelistedDomainResponse) ProtoMessage() {} func (x *RemoveProjectWhitelistedDomainResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[252] + mi := &file_rill_admin_v1_api_proto_msgTypes[254] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15076,7 +15195,7 @@ func (x *RemoveProjectWhitelistedDomainResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use RemoveProjectWhitelistedDomainResponse.ProtoReflect.Descriptor instead. func (*RemoveProjectWhitelistedDomainResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{252} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{254} } type ListProjectWhitelistedDomainsRequest struct { @@ -15091,7 +15210,7 @@ type ListProjectWhitelistedDomainsRequest struct { func (x *ListProjectWhitelistedDomainsRequest) Reset() { *x = ListProjectWhitelistedDomainsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[253] + mi := &file_rill_admin_v1_api_proto_msgTypes[255] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15104,7 +15223,7 @@ func (x *ListProjectWhitelistedDomainsRequest) String() string { func (*ListProjectWhitelistedDomainsRequest) ProtoMessage() {} func (x *ListProjectWhitelistedDomainsRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[253] + mi := &file_rill_admin_v1_api_proto_msgTypes[255] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15117,7 +15236,7 @@ func (x *ListProjectWhitelistedDomainsRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use ListProjectWhitelistedDomainsRequest.ProtoReflect.Descriptor instead. func (*ListProjectWhitelistedDomainsRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{253} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{255} } func (x *ListProjectWhitelistedDomainsRequest) GetOrg() string { @@ -15145,7 +15264,7 @@ type ListProjectWhitelistedDomainsResponse struct { func (x *ListProjectWhitelistedDomainsResponse) Reset() { *x = ListProjectWhitelistedDomainsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[254] + mi := &file_rill_admin_v1_api_proto_msgTypes[256] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15158,7 +15277,7 @@ func (x *ListProjectWhitelistedDomainsResponse) String() string { func (*ListProjectWhitelistedDomainsResponse) ProtoMessage() {} func (x *ListProjectWhitelistedDomainsResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[254] + mi := &file_rill_admin_v1_api_proto_msgTypes[256] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15171,7 +15290,7 @@ func (x *ListProjectWhitelistedDomainsResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use ListProjectWhitelistedDomainsResponse.ProtoReflect.Descriptor instead. func (*ListProjectWhitelistedDomainsResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{254} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{256} } func (x *ListProjectWhitelistedDomainsResponse) GetDomains() []*WhitelistedDomain { @@ -15193,7 +15312,7 @@ type GetRepoMetaRequest struct { func (x *GetRepoMetaRequest) Reset() { *x = GetRepoMetaRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[255] + mi := &file_rill_admin_v1_api_proto_msgTypes[257] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15206,7 +15325,7 @@ func (x *GetRepoMetaRequest) String() string { func (*GetRepoMetaRequest) ProtoMessage() {} func (x *GetRepoMetaRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[255] + mi := &file_rill_admin_v1_api_proto_msgTypes[257] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15219,7 +15338,7 @@ func (x *GetRepoMetaRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRepoMetaRequest.ProtoReflect.Descriptor instead. func (*GetRepoMetaRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{255} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{257} } func (x *GetRepoMetaRequest) GetProjectId() string { @@ -15262,7 +15381,7 @@ type GetRepoMetaResponse struct { func (x *GetRepoMetaResponse) Reset() { *x = GetRepoMetaResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[256] + mi := &file_rill_admin_v1_api_proto_msgTypes[258] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15275,7 +15394,7 @@ func (x *GetRepoMetaResponse) String() string { func (*GetRepoMetaResponse) ProtoMessage() {} func (x *GetRepoMetaResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[256] + mi := &file_rill_admin_v1_api_proto_msgTypes[258] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15288,7 +15407,7 @@ func (x *GetRepoMetaResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRepoMetaResponse.ProtoReflect.Descriptor instead. func (*GetRepoMetaResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{256} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{258} } func (x *GetRepoMetaResponse) GetExpiresOn() *timestamppb.Timestamp { @@ -15389,7 +15508,7 @@ type PullVirtualRepoRequest struct { func (x *PullVirtualRepoRequest) Reset() { *x = PullVirtualRepoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[257] + mi := &file_rill_admin_v1_api_proto_msgTypes[259] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15402,7 +15521,7 @@ func (x *PullVirtualRepoRequest) String() string { func (*PullVirtualRepoRequest) ProtoMessage() {} func (x *PullVirtualRepoRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[257] + mi := &file_rill_admin_v1_api_proto_msgTypes[259] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15415,7 +15534,7 @@ func (x *PullVirtualRepoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PullVirtualRepoRequest.ProtoReflect.Descriptor instead. func (*PullVirtualRepoRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{257} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{259} } func (x *PullVirtualRepoRequest) GetProjectId() string { @@ -15467,7 +15586,7 @@ type PullVirtualRepoResponse struct { func (x *PullVirtualRepoResponse) Reset() { *x = PullVirtualRepoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[258] + mi := &file_rill_admin_v1_api_proto_msgTypes[260] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15480,7 +15599,7 @@ func (x *PullVirtualRepoResponse) String() string { func (*PullVirtualRepoResponse) ProtoMessage() {} func (x *PullVirtualRepoResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[258] + mi := &file_rill_admin_v1_api_proto_msgTypes[260] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15493,7 +15612,7 @@ func (x *PullVirtualRepoResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PullVirtualRepoResponse.ProtoReflect.Descriptor instead. func (*PullVirtualRepoResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{258} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{260} } func (x *PullVirtualRepoResponse) GetFiles() []*VirtualFile { @@ -15529,7 +15648,7 @@ type GetVirtualFileRequest struct { func (x *GetVirtualFileRequest) Reset() { *x = GetVirtualFileRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[259] + mi := &file_rill_admin_v1_api_proto_msgTypes[261] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15542,7 +15661,7 @@ func (x *GetVirtualFileRequest) String() string { func (*GetVirtualFileRequest) ProtoMessage() {} func (x *GetVirtualFileRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[259] + mi := &file_rill_admin_v1_api_proto_msgTypes[261] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15555,7 +15674,7 @@ func (x *GetVirtualFileRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVirtualFileRequest.ProtoReflect.Descriptor instead. func (*GetVirtualFileRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{259} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{261} } func (x *GetVirtualFileRequest) GetProjectId() string { @@ -15598,7 +15717,7 @@ type GetVirtualFileResponse struct { func (x *GetVirtualFileResponse) Reset() { *x = GetVirtualFileResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[260] + mi := &file_rill_admin_v1_api_proto_msgTypes[262] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15611,7 +15730,7 @@ func (x *GetVirtualFileResponse) String() string { func (*GetVirtualFileResponse) ProtoMessage() {} func (x *GetVirtualFileResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[260] + mi := &file_rill_admin_v1_api_proto_msgTypes[262] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15624,7 +15743,7 @@ func (x *GetVirtualFileResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVirtualFileResponse.ProtoReflect.Descriptor instead. func (*GetVirtualFileResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{260} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{262} } func (x *GetVirtualFileResponse) GetFile() *VirtualFile { @@ -15653,7 +15772,7 @@ type DeleteVirtualFileRequest struct { func (x *DeleteVirtualFileRequest) Reset() { *x = DeleteVirtualFileRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[261] + mi := &file_rill_admin_v1_api_proto_msgTypes[263] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15666,7 +15785,7 @@ func (x *DeleteVirtualFileRequest) String() string { func (*DeleteVirtualFileRequest) ProtoMessage() {} func (x *DeleteVirtualFileRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[261] + mi := &file_rill_admin_v1_api_proto_msgTypes[263] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15679,7 +15798,7 @@ func (x *DeleteVirtualFileRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteVirtualFileRequest.ProtoReflect.Descriptor instead. func (*DeleteVirtualFileRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{261} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{263} } func (x *DeleteVirtualFileRequest) GetProjectId() string { @@ -15719,7 +15838,7 @@ type DeleteVirtualFileResponse struct { func (x *DeleteVirtualFileResponse) Reset() { *x = DeleteVirtualFileResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[262] + mi := &file_rill_admin_v1_api_proto_msgTypes[264] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15732,7 +15851,7 @@ func (x *DeleteVirtualFileResponse) String() string { func (*DeleteVirtualFileResponse) ProtoMessage() {} func (x *DeleteVirtualFileResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[262] + mi := &file_rill_admin_v1_api_proto_msgTypes[264] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15745,7 +15864,7 @@ func (x *DeleteVirtualFileResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteVirtualFileResponse.ProtoReflect.Descriptor instead. func (*DeleteVirtualFileResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{262} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{264} } type GetReportMetaRequest struct { @@ -15770,7 +15889,7 @@ type GetReportMetaRequest struct { func (x *GetReportMetaRequest) Reset() { *x = GetReportMetaRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[263] + mi := &file_rill_admin_v1_api_proto_msgTypes[265] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15783,7 +15902,7 @@ func (x *GetReportMetaRequest) String() string { func (*GetReportMetaRequest) ProtoMessage() {} func (x *GetReportMetaRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[263] + mi := &file_rill_admin_v1_api_proto_msgTypes[265] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15796,7 +15915,7 @@ func (x *GetReportMetaRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetReportMetaRequest.ProtoReflect.Descriptor instead. func (*GetReportMetaRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{263} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{265} } func (x *GetReportMetaRequest) GetProjectId() string { @@ -15882,7 +16001,7 @@ type GetReportMetaResponse struct { func (x *GetReportMetaResponse) Reset() { *x = GetReportMetaResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[264] + mi := &file_rill_admin_v1_api_proto_msgTypes[266] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15895,7 +16014,7 @@ func (x *GetReportMetaResponse) String() string { func (*GetReportMetaResponse) ProtoMessage() {} func (x *GetReportMetaResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[264] + mi := &file_rill_admin_v1_api_proto_msgTypes[266] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15908,7 +16027,7 @@ func (x *GetReportMetaResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetReportMetaResponse.ProtoReflect.Descriptor instead. func (*GetReportMetaResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{264} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{266} } func (x *GetReportMetaResponse) GetDeliveryMeta() map[string]*GetReportMetaResponse_DeliveryMeta { @@ -15939,7 +16058,7 @@ type GetAlertMetaRequest struct { func (x *GetAlertMetaRequest) Reset() { *x = GetAlertMetaRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[265] + mi := &file_rill_admin_v1_api_proto_msgTypes[267] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15952,7 +16071,7 @@ func (x *GetAlertMetaRequest) String() string { func (*GetAlertMetaRequest) ProtoMessage() {} func (x *GetAlertMetaRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[265] + mi := &file_rill_admin_v1_api_proto_msgTypes[267] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15965,7 +16084,7 @@ func (x *GetAlertMetaRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAlertMetaRequest.ProtoReflect.Descriptor instead. func (*GetAlertMetaRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{265} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{267} } func (x *GetAlertMetaRequest) GetProjectId() string { @@ -16059,7 +16178,7 @@ type GetAlertMetaResponse struct { func (x *GetAlertMetaResponse) Reset() { *x = GetAlertMetaResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[266] + mi := &file_rill_admin_v1_api_proto_msgTypes[268] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16072,7 +16191,7 @@ func (x *GetAlertMetaResponse) String() string { func (*GetAlertMetaResponse) ProtoMessage() {} func (x *GetAlertMetaResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[266] + mi := &file_rill_admin_v1_api_proto_msgTypes[268] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16085,7 +16204,7 @@ func (x *GetAlertMetaResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAlertMetaResponse.ProtoReflect.Descriptor instead. func (*GetAlertMetaResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{266} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{268} } func (x *GetAlertMetaResponse) GetRecipientUrls() map[string]*GetAlertMetaResponse_URLs { @@ -16115,7 +16234,7 @@ type CreateReportRequest struct { func (x *CreateReportRequest) Reset() { *x = CreateReportRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[267] + mi := &file_rill_admin_v1_api_proto_msgTypes[269] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16128,7 +16247,7 @@ func (x *CreateReportRequest) String() string { func (*CreateReportRequest) ProtoMessage() {} func (x *CreateReportRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[267] + mi := &file_rill_admin_v1_api_proto_msgTypes[269] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16141,7 +16260,7 @@ func (x *CreateReportRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateReportRequest.ProtoReflect.Descriptor instead. func (*CreateReportRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{267} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{269} } func (x *CreateReportRequest) GetOrg() string { @@ -16176,7 +16295,7 @@ type CreateReportResponse struct { func (x *CreateReportResponse) Reset() { *x = CreateReportResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[268] + mi := &file_rill_admin_v1_api_proto_msgTypes[270] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16189,7 +16308,7 @@ func (x *CreateReportResponse) String() string { func (*CreateReportResponse) ProtoMessage() {} func (x *CreateReportResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[268] + mi := &file_rill_admin_v1_api_proto_msgTypes[270] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16202,7 +16321,7 @@ func (x *CreateReportResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateReportResponse.ProtoReflect.Descriptor instead. func (*CreateReportResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{268} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{270} } func (x *CreateReportResponse) GetName() string { @@ -16226,7 +16345,7 @@ type EditReportRequest struct { func (x *EditReportRequest) Reset() { *x = EditReportRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[269] + mi := &file_rill_admin_v1_api_proto_msgTypes[271] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16239,7 +16358,7 @@ func (x *EditReportRequest) String() string { func (*EditReportRequest) ProtoMessage() {} func (x *EditReportRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[269] + mi := &file_rill_admin_v1_api_proto_msgTypes[271] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16252,7 +16371,7 @@ func (x *EditReportRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EditReportRequest.ProtoReflect.Descriptor instead. func (*EditReportRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{269} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{271} } func (x *EditReportRequest) GetOrg() string { @@ -16292,7 +16411,7 @@ type EditReportResponse struct { func (x *EditReportResponse) Reset() { *x = EditReportResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[270] + mi := &file_rill_admin_v1_api_proto_msgTypes[272] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16305,7 +16424,7 @@ func (x *EditReportResponse) String() string { func (*EditReportResponse) ProtoMessage() {} func (x *EditReportResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[270] + mi := &file_rill_admin_v1_api_proto_msgTypes[272] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16318,7 +16437,7 @@ func (x *EditReportResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EditReportResponse.ProtoReflect.Descriptor instead. func (*EditReportResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{270} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{272} } type UnsubscribeReportRequest struct { @@ -16336,7 +16455,7 @@ type UnsubscribeReportRequest struct { func (x *UnsubscribeReportRequest) Reset() { *x = UnsubscribeReportRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[271] + mi := &file_rill_admin_v1_api_proto_msgTypes[273] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16349,7 +16468,7 @@ func (x *UnsubscribeReportRequest) String() string { func (*UnsubscribeReportRequest) ProtoMessage() {} func (x *UnsubscribeReportRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[271] + mi := &file_rill_admin_v1_api_proto_msgTypes[273] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16362,7 +16481,7 @@ func (x *UnsubscribeReportRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UnsubscribeReportRequest.ProtoReflect.Descriptor instead. func (*UnsubscribeReportRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{271} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{273} } func (x *UnsubscribeReportRequest) GetOrg() string { @@ -16409,7 +16528,7 @@ type UnsubscribeReportResponse struct { func (x *UnsubscribeReportResponse) Reset() { *x = UnsubscribeReportResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[272] + mi := &file_rill_admin_v1_api_proto_msgTypes[274] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16422,7 +16541,7 @@ func (x *UnsubscribeReportResponse) String() string { func (*UnsubscribeReportResponse) ProtoMessage() {} func (x *UnsubscribeReportResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[272] + mi := &file_rill_admin_v1_api_proto_msgTypes[274] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16435,7 +16554,7 @@ func (x *UnsubscribeReportResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UnsubscribeReportResponse.ProtoReflect.Descriptor instead. func (*UnsubscribeReportResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{272} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{274} } type DeleteReportRequest struct { @@ -16451,7 +16570,7 @@ type DeleteReportRequest struct { func (x *DeleteReportRequest) Reset() { *x = DeleteReportRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[273] + mi := &file_rill_admin_v1_api_proto_msgTypes[275] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16464,7 +16583,7 @@ func (x *DeleteReportRequest) String() string { func (*DeleteReportRequest) ProtoMessage() {} func (x *DeleteReportRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[273] + mi := &file_rill_admin_v1_api_proto_msgTypes[275] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16477,7 +16596,7 @@ func (x *DeleteReportRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteReportRequest.ProtoReflect.Descriptor instead. func (*DeleteReportRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{273} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{275} } func (x *DeleteReportRequest) GetOrg() string { @@ -16510,7 +16629,7 @@ type DeleteReportResponse struct { func (x *DeleteReportResponse) Reset() { *x = DeleteReportResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[274] + mi := &file_rill_admin_v1_api_proto_msgTypes[276] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16523,7 +16642,7 @@ func (x *DeleteReportResponse) String() string { func (*DeleteReportResponse) ProtoMessage() {} func (x *DeleteReportResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[274] + mi := &file_rill_admin_v1_api_proto_msgTypes[276] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16536,7 +16655,7 @@ func (x *DeleteReportResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteReportResponse.ProtoReflect.Descriptor instead. func (*DeleteReportResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{274} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{276} } type TriggerReportRequest struct { @@ -16552,7 +16671,7 @@ type TriggerReportRequest struct { func (x *TriggerReportRequest) Reset() { *x = TriggerReportRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[275] + mi := &file_rill_admin_v1_api_proto_msgTypes[277] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16565,7 +16684,7 @@ func (x *TriggerReportRequest) String() string { func (*TriggerReportRequest) ProtoMessage() {} func (x *TriggerReportRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[275] + mi := &file_rill_admin_v1_api_proto_msgTypes[277] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16578,7 +16697,7 @@ func (x *TriggerReportRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TriggerReportRequest.ProtoReflect.Descriptor instead. func (*TriggerReportRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{275} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{277} } func (x *TriggerReportRequest) GetOrg() string { @@ -16611,7 +16730,7 @@ type TriggerReportResponse struct { func (x *TriggerReportResponse) Reset() { *x = TriggerReportResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[276] + mi := &file_rill_admin_v1_api_proto_msgTypes[278] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16624,7 +16743,7 @@ func (x *TriggerReportResponse) String() string { func (*TriggerReportResponse) ProtoMessage() {} func (x *TriggerReportResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[276] + mi := &file_rill_admin_v1_api_proto_msgTypes[278] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16637,7 +16756,7 @@ func (x *TriggerReportResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TriggerReportResponse.ProtoReflect.Descriptor instead. func (*TriggerReportResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{276} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{278} } type GenerateReportYAMLRequest struct { @@ -16653,7 +16772,7 @@ type GenerateReportYAMLRequest struct { func (x *GenerateReportYAMLRequest) Reset() { *x = GenerateReportYAMLRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[277] + mi := &file_rill_admin_v1_api_proto_msgTypes[279] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16666,7 +16785,7 @@ func (x *GenerateReportYAMLRequest) String() string { func (*GenerateReportYAMLRequest) ProtoMessage() {} func (x *GenerateReportYAMLRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[277] + mi := &file_rill_admin_v1_api_proto_msgTypes[279] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16679,7 +16798,7 @@ func (x *GenerateReportYAMLRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GenerateReportYAMLRequest.ProtoReflect.Descriptor instead. func (*GenerateReportYAMLRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{277} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{279} } func (x *GenerateReportYAMLRequest) GetOrg() string { @@ -16714,7 +16833,7 @@ type GenerateReportYAMLResponse struct { func (x *GenerateReportYAMLResponse) Reset() { *x = GenerateReportYAMLResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[278] + mi := &file_rill_admin_v1_api_proto_msgTypes[280] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16727,7 +16846,7 @@ func (x *GenerateReportYAMLResponse) String() string { func (*GenerateReportYAMLResponse) ProtoMessage() {} func (x *GenerateReportYAMLResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[278] + mi := &file_rill_admin_v1_api_proto_msgTypes[280] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16740,7 +16859,7 @@ func (x *GenerateReportYAMLResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GenerateReportYAMLResponse.ProtoReflect.Descriptor instead. func (*GenerateReportYAMLResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{278} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{280} } func (x *GenerateReportYAMLResponse) GetYaml() string { @@ -16763,7 +16882,7 @@ type CreateAlertRequest struct { func (x *CreateAlertRequest) Reset() { *x = CreateAlertRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[279] + mi := &file_rill_admin_v1_api_proto_msgTypes[281] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16776,7 +16895,7 @@ func (x *CreateAlertRequest) String() string { func (*CreateAlertRequest) ProtoMessage() {} func (x *CreateAlertRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[279] + mi := &file_rill_admin_v1_api_proto_msgTypes[281] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16789,7 +16908,7 @@ func (x *CreateAlertRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateAlertRequest.ProtoReflect.Descriptor instead. func (*CreateAlertRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{279} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{281} } func (x *CreateAlertRequest) GetOrg() string { @@ -16824,7 +16943,7 @@ type CreateAlertResponse struct { func (x *CreateAlertResponse) Reset() { *x = CreateAlertResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[280] + mi := &file_rill_admin_v1_api_proto_msgTypes[282] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16837,7 +16956,7 @@ func (x *CreateAlertResponse) String() string { func (*CreateAlertResponse) ProtoMessage() {} func (x *CreateAlertResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[280] + mi := &file_rill_admin_v1_api_proto_msgTypes[282] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16850,7 +16969,7 @@ func (x *CreateAlertResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateAlertResponse.ProtoReflect.Descriptor instead. func (*CreateAlertResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{280} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{282} } func (x *CreateAlertResponse) GetName() string { @@ -16874,7 +16993,7 @@ type EditAlertRequest struct { func (x *EditAlertRequest) Reset() { *x = EditAlertRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[281] + mi := &file_rill_admin_v1_api_proto_msgTypes[283] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16887,7 +17006,7 @@ func (x *EditAlertRequest) String() string { func (*EditAlertRequest) ProtoMessage() {} func (x *EditAlertRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[281] + mi := &file_rill_admin_v1_api_proto_msgTypes[283] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16900,7 +17019,7 @@ func (x *EditAlertRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EditAlertRequest.ProtoReflect.Descriptor instead. func (*EditAlertRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{281} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{283} } func (x *EditAlertRequest) GetOrg() string { @@ -16940,7 +17059,7 @@ type EditAlertResponse struct { func (x *EditAlertResponse) Reset() { *x = EditAlertResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[282] + mi := &file_rill_admin_v1_api_proto_msgTypes[284] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16953,7 +17072,7 @@ func (x *EditAlertResponse) String() string { func (*EditAlertResponse) ProtoMessage() {} func (x *EditAlertResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[282] + mi := &file_rill_admin_v1_api_proto_msgTypes[284] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16966,7 +17085,7 @@ func (x *EditAlertResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EditAlertResponse.ProtoReflect.Descriptor instead. func (*EditAlertResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{282} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{284} } type UnsubscribeAlertRequest struct { @@ -16984,7 +17103,7 @@ type UnsubscribeAlertRequest struct { func (x *UnsubscribeAlertRequest) Reset() { *x = UnsubscribeAlertRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[283] + mi := &file_rill_admin_v1_api_proto_msgTypes[285] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16997,7 +17116,7 @@ func (x *UnsubscribeAlertRequest) String() string { func (*UnsubscribeAlertRequest) ProtoMessage() {} func (x *UnsubscribeAlertRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[283] + mi := &file_rill_admin_v1_api_proto_msgTypes[285] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17010,7 +17129,7 @@ func (x *UnsubscribeAlertRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UnsubscribeAlertRequest.ProtoReflect.Descriptor instead. func (*UnsubscribeAlertRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{283} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{285} } func (x *UnsubscribeAlertRequest) GetOrg() string { @@ -17057,7 +17176,7 @@ type UnsubscribeAlertResponse struct { func (x *UnsubscribeAlertResponse) Reset() { *x = UnsubscribeAlertResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[284] + mi := &file_rill_admin_v1_api_proto_msgTypes[286] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17070,7 +17189,7 @@ func (x *UnsubscribeAlertResponse) String() string { func (*UnsubscribeAlertResponse) ProtoMessage() {} func (x *UnsubscribeAlertResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[284] + mi := &file_rill_admin_v1_api_proto_msgTypes[286] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17083,7 +17202,7 @@ func (x *UnsubscribeAlertResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UnsubscribeAlertResponse.ProtoReflect.Descriptor instead. func (*UnsubscribeAlertResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{284} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{286} } type DeleteAlertRequest struct { @@ -17099,7 +17218,7 @@ type DeleteAlertRequest struct { func (x *DeleteAlertRequest) Reset() { *x = DeleteAlertRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[285] + mi := &file_rill_admin_v1_api_proto_msgTypes[287] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17112,7 +17231,7 @@ func (x *DeleteAlertRequest) String() string { func (*DeleteAlertRequest) ProtoMessage() {} func (x *DeleteAlertRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[285] + mi := &file_rill_admin_v1_api_proto_msgTypes[287] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17125,7 +17244,7 @@ func (x *DeleteAlertRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteAlertRequest.ProtoReflect.Descriptor instead. func (*DeleteAlertRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{285} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{287} } func (x *DeleteAlertRequest) GetOrg() string { @@ -17158,7 +17277,7 @@ type DeleteAlertResponse struct { func (x *DeleteAlertResponse) Reset() { *x = DeleteAlertResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[286] + mi := &file_rill_admin_v1_api_proto_msgTypes[288] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17171,7 +17290,7 @@ func (x *DeleteAlertResponse) String() string { func (*DeleteAlertResponse) ProtoMessage() {} func (x *DeleteAlertResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[286] + mi := &file_rill_admin_v1_api_proto_msgTypes[288] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17184,7 +17303,7 @@ func (x *DeleteAlertResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteAlertResponse.ProtoReflect.Descriptor instead. func (*DeleteAlertResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{286} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{288} } type GenerateAlertYAMLRequest struct { @@ -17200,7 +17319,7 @@ type GenerateAlertYAMLRequest struct { func (x *GenerateAlertYAMLRequest) Reset() { *x = GenerateAlertYAMLRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[287] + mi := &file_rill_admin_v1_api_proto_msgTypes[289] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17213,7 +17332,7 @@ func (x *GenerateAlertYAMLRequest) String() string { func (*GenerateAlertYAMLRequest) ProtoMessage() {} func (x *GenerateAlertYAMLRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[287] + mi := &file_rill_admin_v1_api_proto_msgTypes[289] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17226,7 +17345,7 @@ func (x *GenerateAlertYAMLRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GenerateAlertYAMLRequest.ProtoReflect.Descriptor instead. func (*GenerateAlertYAMLRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{287} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{289} } func (x *GenerateAlertYAMLRequest) GetOrg() string { @@ -17261,7 +17380,7 @@ type GenerateAlertYAMLResponse struct { func (x *GenerateAlertYAMLResponse) Reset() { *x = GenerateAlertYAMLResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[288] + mi := &file_rill_admin_v1_api_proto_msgTypes[290] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17274,7 +17393,7 @@ func (x *GenerateAlertYAMLResponse) String() string { func (*GenerateAlertYAMLResponse) ProtoMessage() {} func (x *GenerateAlertYAMLResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[288] + mi := &file_rill_admin_v1_api_proto_msgTypes[290] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17287,7 +17406,7 @@ func (x *GenerateAlertYAMLResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GenerateAlertYAMLResponse.ProtoReflect.Descriptor instead. func (*GenerateAlertYAMLResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{288} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{290} } func (x *GenerateAlertYAMLResponse) GetYaml() string { @@ -17310,7 +17429,7 @@ type GetAlertYAMLRequest struct { func (x *GetAlertYAMLRequest) Reset() { *x = GetAlertYAMLRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[289] + mi := &file_rill_admin_v1_api_proto_msgTypes[291] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17323,7 +17442,7 @@ func (x *GetAlertYAMLRequest) String() string { func (*GetAlertYAMLRequest) ProtoMessage() {} func (x *GetAlertYAMLRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[289] + mi := &file_rill_admin_v1_api_proto_msgTypes[291] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17336,7 +17455,7 @@ func (x *GetAlertYAMLRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAlertYAMLRequest.ProtoReflect.Descriptor instead. func (*GetAlertYAMLRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{289} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{291} } func (x *GetAlertYAMLRequest) GetOrg() string { @@ -17371,7 +17490,7 @@ type GetAlertYAMLResponse struct { func (x *GetAlertYAMLResponse) Reset() { *x = GetAlertYAMLResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[290] + mi := &file_rill_admin_v1_api_proto_msgTypes[292] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17384,7 +17503,7 @@ func (x *GetAlertYAMLResponse) String() string { func (*GetAlertYAMLResponse) ProtoMessage() {} func (x *GetAlertYAMLResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[290] + mi := &file_rill_admin_v1_api_proto_msgTypes[292] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17397,7 +17516,7 @@ func (x *GetAlertYAMLResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAlertYAMLResponse.ProtoReflect.Descriptor instead. func (*GetAlertYAMLResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{290} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{292} } func (x *GetAlertYAMLResponse) GetYaml() string { @@ -17419,7 +17538,7 @@ type GetBillingSubscriptionRequest struct { func (x *GetBillingSubscriptionRequest) Reset() { *x = GetBillingSubscriptionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[291] + mi := &file_rill_admin_v1_api_proto_msgTypes[293] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17432,7 +17551,7 @@ func (x *GetBillingSubscriptionRequest) String() string { func (*GetBillingSubscriptionRequest) ProtoMessage() {} func (x *GetBillingSubscriptionRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[291] + mi := &file_rill_admin_v1_api_proto_msgTypes[293] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17445,7 +17564,7 @@ func (x *GetBillingSubscriptionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBillingSubscriptionRequest.ProtoReflect.Descriptor instead. func (*GetBillingSubscriptionRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{291} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{293} } func (x *GetBillingSubscriptionRequest) GetOrg() string { @@ -17476,7 +17595,7 @@ type GetBillingSubscriptionResponse struct { func (x *GetBillingSubscriptionResponse) Reset() { *x = GetBillingSubscriptionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[292] + mi := &file_rill_admin_v1_api_proto_msgTypes[294] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17489,7 +17608,7 @@ func (x *GetBillingSubscriptionResponse) String() string { func (*GetBillingSubscriptionResponse) ProtoMessage() {} func (x *GetBillingSubscriptionResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[292] + mi := &file_rill_admin_v1_api_proto_msgTypes[294] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17502,7 +17621,7 @@ func (x *GetBillingSubscriptionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBillingSubscriptionResponse.ProtoReflect.Descriptor instead. func (*GetBillingSubscriptionResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{292} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{294} } func (x *GetBillingSubscriptionResponse) GetOrganization() *Organization { @@ -17549,7 +17668,7 @@ type BillingCreditInfo struct { func (x *BillingCreditInfo) Reset() { *x = BillingCreditInfo{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[293] + mi := &file_rill_admin_v1_api_proto_msgTypes[295] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17562,7 +17681,7 @@ func (x *BillingCreditInfo) String() string { func (*BillingCreditInfo) ProtoMessage() {} func (x *BillingCreditInfo) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[293] + mi := &file_rill_admin_v1_api_proto_msgTypes[295] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17575,7 +17694,7 @@ func (x *BillingCreditInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use BillingCreditInfo.ProtoReflect.Descriptor instead. func (*BillingCreditInfo) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{293} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{295} } func (x *BillingCreditInfo) GetTotalCredit() float64 { @@ -17626,7 +17745,7 @@ type UpdateBillingSubscriptionRequest struct { func (x *UpdateBillingSubscriptionRequest) Reset() { *x = UpdateBillingSubscriptionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[294] + mi := &file_rill_admin_v1_api_proto_msgTypes[296] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17639,7 +17758,7 @@ func (x *UpdateBillingSubscriptionRequest) String() string { func (*UpdateBillingSubscriptionRequest) ProtoMessage() {} func (x *UpdateBillingSubscriptionRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[294] + mi := &file_rill_admin_v1_api_proto_msgTypes[296] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17652,7 +17771,7 @@ func (x *UpdateBillingSubscriptionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateBillingSubscriptionRequest.ProtoReflect.Descriptor instead. func (*UpdateBillingSubscriptionRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{294} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{296} } func (x *UpdateBillingSubscriptionRequest) GetOrg() string { @@ -17688,7 +17807,7 @@ type UpdateBillingSubscriptionResponse struct { func (x *UpdateBillingSubscriptionResponse) Reset() { *x = UpdateBillingSubscriptionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[295] + mi := &file_rill_admin_v1_api_proto_msgTypes[297] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17701,7 +17820,7 @@ func (x *UpdateBillingSubscriptionResponse) String() string { func (*UpdateBillingSubscriptionResponse) ProtoMessage() {} func (x *UpdateBillingSubscriptionResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[295] + mi := &file_rill_admin_v1_api_proto_msgTypes[297] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17714,7 +17833,7 @@ func (x *UpdateBillingSubscriptionResponse) ProtoReflect() protoreflect.Message // Deprecated: Use UpdateBillingSubscriptionResponse.ProtoReflect.Descriptor instead. func (*UpdateBillingSubscriptionResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{295} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{297} } func (x *UpdateBillingSubscriptionResponse) GetOrganization() *Organization { @@ -17743,7 +17862,7 @@ type CancelBillingSubscriptionRequest struct { func (x *CancelBillingSubscriptionRequest) Reset() { *x = CancelBillingSubscriptionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[296] + mi := &file_rill_admin_v1_api_proto_msgTypes[298] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17756,7 +17875,7 @@ func (x *CancelBillingSubscriptionRequest) String() string { func (*CancelBillingSubscriptionRequest) ProtoMessage() {} func (x *CancelBillingSubscriptionRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[296] + mi := &file_rill_admin_v1_api_proto_msgTypes[298] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17769,7 +17888,7 @@ func (x *CancelBillingSubscriptionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelBillingSubscriptionRequest.ProtoReflect.Descriptor instead. func (*CancelBillingSubscriptionRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{296} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{298} } func (x *CancelBillingSubscriptionRequest) GetOrg() string { @@ -17795,7 +17914,7 @@ type CancelBillingSubscriptionResponse struct { func (x *CancelBillingSubscriptionResponse) Reset() { *x = CancelBillingSubscriptionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[297] + mi := &file_rill_admin_v1_api_proto_msgTypes[299] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17808,7 +17927,7 @@ func (x *CancelBillingSubscriptionResponse) String() string { func (*CancelBillingSubscriptionResponse) ProtoMessage() {} func (x *CancelBillingSubscriptionResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[297] + mi := &file_rill_admin_v1_api_proto_msgTypes[299] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17821,7 +17940,7 @@ func (x *CancelBillingSubscriptionResponse) ProtoReflect() protoreflect.Message // Deprecated: Use CancelBillingSubscriptionResponse.ProtoReflect.Descriptor instead. func (*CancelBillingSubscriptionResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{297} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{299} } type RenewBillingSubscriptionRequest struct { @@ -17837,7 +17956,7 @@ type RenewBillingSubscriptionRequest struct { func (x *RenewBillingSubscriptionRequest) Reset() { *x = RenewBillingSubscriptionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[298] + mi := &file_rill_admin_v1_api_proto_msgTypes[300] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17850,7 +17969,7 @@ func (x *RenewBillingSubscriptionRequest) String() string { func (*RenewBillingSubscriptionRequest) ProtoMessage() {} func (x *RenewBillingSubscriptionRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[298] + mi := &file_rill_admin_v1_api_proto_msgTypes[300] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17863,7 +17982,7 @@ func (x *RenewBillingSubscriptionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RenewBillingSubscriptionRequest.ProtoReflect.Descriptor instead. func (*RenewBillingSubscriptionRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{298} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{300} } func (x *RenewBillingSubscriptionRequest) GetOrg() string { @@ -17899,7 +18018,7 @@ type RenewBillingSubscriptionResponse struct { func (x *RenewBillingSubscriptionResponse) Reset() { *x = RenewBillingSubscriptionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[299] + mi := &file_rill_admin_v1_api_proto_msgTypes[301] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17912,7 +18031,7 @@ func (x *RenewBillingSubscriptionResponse) String() string { func (*RenewBillingSubscriptionResponse) ProtoMessage() {} func (x *RenewBillingSubscriptionResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[299] + mi := &file_rill_admin_v1_api_proto_msgTypes[301] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17925,7 +18044,7 @@ func (x *RenewBillingSubscriptionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RenewBillingSubscriptionResponse.ProtoReflect.Descriptor instead. func (*RenewBillingSubscriptionResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{299} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{301} } func (x *RenewBillingSubscriptionResponse) GetOrganization() *Organization { @@ -17955,7 +18074,7 @@ type GetPaymentsPortalURLRequest struct { func (x *GetPaymentsPortalURLRequest) Reset() { *x = GetPaymentsPortalURLRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[300] + mi := &file_rill_admin_v1_api_proto_msgTypes[302] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17968,7 +18087,7 @@ func (x *GetPaymentsPortalURLRequest) String() string { func (*GetPaymentsPortalURLRequest) ProtoMessage() {} func (x *GetPaymentsPortalURLRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[300] + mi := &file_rill_admin_v1_api_proto_msgTypes[302] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17981,7 +18100,7 @@ func (x *GetPaymentsPortalURLRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPaymentsPortalURLRequest.ProtoReflect.Descriptor instead. func (*GetPaymentsPortalURLRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{300} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{302} } func (x *GetPaymentsPortalURLRequest) GetOrg() string { @@ -18016,7 +18135,7 @@ type GetPaymentsPortalURLResponse struct { func (x *GetPaymentsPortalURLResponse) Reset() { *x = GetPaymentsPortalURLResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[301] + mi := &file_rill_admin_v1_api_proto_msgTypes[303] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18029,7 +18148,7 @@ func (x *GetPaymentsPortalURLResponse) String() string { func (*GetPaymentsPortalURLResponse) ProtoMessage() {} func (x *GetPaymentsPortalURLResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[301] + mi := &file_rill_admin_v1_api_proto_msgTypes[303] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18042,7 +18161,7 @@ func (x *GetPaymentsPortalURLResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPaymentsPortalURLResponse.ProtoReflect.Descriptor instead. func (*GetPaymentsPortalURLResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{301} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{303} } func (x *GetPaymentsPortalURLResponse) GetUrl() string { @@ -18061,7 +18180,7 @@ type ListPublicBillingPlansRequest struct { func (x *ListPublicBillingPlansRequest) Reset() { *x = ListPublicBillingPlansRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[302] + mi := &file_rill_admin_v1_api_proto_msgTypes[304] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18074,7 +18193,7 @@ func (x *ListPublicBillingPlansRequest) String() string { func (*ListPublicBillingPlansRequest) ProtoMessage() {} func (x *ListPublicBillingPlansRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[302] + mi := &file_rill_admin_v1_api_proto_msgTypes[304] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18087,7 +18206,7 @@ func (x *ListPublicBillingPlansRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPublicBillingPlansRequest.ProtoReflect.Descriptor instead. func (*ListPublicBillingPlansRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{302} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{304} } type ListPublicBillingPlansResponse struct { @@ -18101,7 +18220,7 @@ type ListPublicBillingPlansResponse struct { func (x *ListPublicBillingPlansResponse) Reset() { *x = ListPublicBillingPlansResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[303] + mi := &file_rill_admin_v1_api_proto_msgTypes[305] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18114,7 +18233,7 @@ func (x *ListPublicBillingPlansResponse) String() string { func (*ListPublicBillingPlansResponse) ProtoMessage() {} func (x *ListPublicBillingPlansResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[303] + mi := &file_rill_admin_v1_api_proto_msgTypes[305] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18127,7 +18246,7 @@ func (x *ListPublicBillingPlansResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPublicBillingPlansResponse.ProtoReflect.Descriptor instead. func (*ListPublicBillingPlansResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{303} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{305} } func (x *ListPublicBillingPlansResponse) GetPlans() []*BillingPlan { @@ -18148,7 +18267,7 @@ type GetBillingProjectCredentialsRequest struct { func (x *GetBillingProjectCredentialsRequest) Reset() { *x = GetBillingProjectCredentialsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[304] + mi := &file_rill_admin_v1_api_proto_msgTypes[306] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18161,7 +18280,7 @@ func (x *GetBillingProjectCredentialsRequest) String() string { func (*GetBillingProjectCredentialsRequest) ProtoMessage() {} func (x *GetBillingProjectCredentialsRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[304] + mi := &file_rill_admin_v1_api_proto_msgTypes[306] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18174,7 +18293,7 @@ func (x *GetBillingProjectCredentialsRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use GetBillingProjectCredentialsRequest.ProtoReflect.Descriptor instead. func (*GetBillingProjectCredentialsRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{304} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{306} } func (x *GetBillingProjectCredentialsRequest) GetOrg() string { @@ -18198,7 +18317,7 @@ type GetBillingProjectCredentialsResponse struct { func (x *GetBillingProjectCredentialsResponse) Reset() { *x = GetBillingProjectCredentialsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[305] + mi := &file_rill_admin_v1_api_proto_msgTypes[307] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18211,7 +18330,7 @@ func (x *GetBillingProjectCredentialsResponse) String() string { func (*GetBillingProjectCredentialsResponse) ProtoMessage() {} func (x *GetBillingProjectCredentialsResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[305] + mi := &file_rill_admin_v1_api_proto_msgTypes[307] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18224,7 +18343,7 @@ func (x *GetBillingProjectCredentialsResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use GetBillingProjectCredentialsResponse.ProtoReflect.Descriptor instead. func (*GetBillingProjectCredentialsResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{305} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{307} } func (x *GetBillingProjectCredentialsResponse) GetRuntimeHost() string { @@ -18271,7 +18390,7 @@ type TelemetryRequest struct { func (x *TelemetryRequest) Reset() { *x = TelemetryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[306] + mi := &file_rill_admin_v1_api_proto_msgTypes[308] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18284,7 +18403,7 @@ func (x *TelemetryRequest) String() string { func (*TelemetryRequest) ProtoMessage() {} func (x *TelemetryRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[306] + mi := &file_rill_admin_v1_api_proto_msgTypes[308] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18297,7 +18416,7 @@ func (x *TelemetryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TelemetryRequest.ProtoReflect.Descriptor instead. func (*TelemetryRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{306} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{308} } func (x *TelemetryRequest) GetName() string { @@ -18330,7 +18449,7 @@ type TelemetryResponse struct { func (x *TelemetryResponse) Reset() { *x = TelemetryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[307] + mi := &file_rill_admin_v1_api_proto_msgTypes[309] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18343,7 +18462,7 @@ func (x *TelemetryResponse) String() string { func (*TelemetryResponse) ProtoMessage() {} func (x *TelemetryResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[307] + mi := &file_rill_admin_v1_api_proto_msgTypes[309] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18356,7 +18475,7 @@ func (x *TelemetryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TelemetryResponse.ProtoReflect.Descriptor instead. func (*TelemetryResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{307} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{309} } type RequestProjectAccessRequest struct { @@ -18372,7 +18491,7 @@ type RequestProjectAccessRequest struct { func (x *RequestProjectAccessRequest) Reset() { *x = RequestProjectAccessRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[308] + mi := &file_rill_admin_v1_api_proto_msgTypes[310] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18385,7 +18504,7 @@ func (x *RequestProjectAccessRequest) String() string { func (*RequestProjectAccessRequest) ProtoMessage() {} func (x *RequestProjectAccessRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[308] + mi := &file_rill_admin_v1_api_proto_msgTypes[310] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18398,7 +18517,7 @@ func (x *RequestProjectAccessRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RequestProjectAccessRequest.ProtoReflect.Descriptor instead. func (*RequestProjectAccessRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{308} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{310} } func (x *RequestProjectAccessRequest) GetOrg() string { @@ -18431,7 +18550,7 @@ type RequestProjectAccessResponse struct { func (x *RequestProjectAccessResponse) Reset() { *x = RequestProjectAccessResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[309] + mi := &file_rill_admin_v1_api_proto_msgTypes[311] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18444,7 +18563,7 @@ func (x *RequestProjectAccessResponse) String() string { func (*RequestProjectAccessResponse) ProtoMessage() {} func (x *RequestProjectAccessResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[309] + mi := &file_rill_admin_v1_api_proto_msgTypes[311] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18457,7 +18576,7 @@ func (x *RequestProjectAccessResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RequestProjectAccessResponse.ProtoReflect.Descriptor instead. func (*RequestProjectAccessResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{309} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{311} } type GetProjectAccessRequestRequest struct { @@ -18471,7 +18590,7 @@ type GetProjectAccessRequestRequest struct { func (x *GetProjectAccessRequestRequest) Reset() { *x = GetProjectAccessRequestRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[310] + mi := &file_rill_admin_v1_api_proto_msgTypes[312] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18484,7 +18603,7 @@ func (x *GetProjectAccessRequestRequest) String() string { func (*GetProjectAccessRequestRequest) ProtoMessage() {} func (x *GetProjectAccessRequestRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[310] + mi := &file_rill_admin_v1_api_proto_msgTypes[312] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18497,7 +18616,7 @@ func (x *GetProjectAccessRequestRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetProjectAccessRequestRequest.ProtoReflect.Descriptor instead. func (*GetProjectAccessRequestRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{310} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{312} } func (x *GetProjectAccessRequestRequest) GetId() string { @@ -18518,7 +18637,7 @@ type GetProjectAccessRequestResponse struct { func (x *GetProjectAccessRequestResponse) Reset() { *x = GetProjectAccessRequestResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[311] + mi := &file_rill_admin_v1_api_proto_msgTypes[313] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18531,7 +18650,7 @@ func (x *GetProjectAccessRequestResponse) String() string { func (*GetProjectAccessRequestResponse) ProtoMessage() {} func (x *GetProjectAccessRequestResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[311] + mi := &file_rill_admin_v1_api_proto_msgTypes[313] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18544,7 +18663,7 @@ func (x *GetProjectAccessRequestResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetProjectAccessRequestResponse.ProtoReflect.Descriptor instead. func (*GetProjectAccessRequestResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{311} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{313} } func (x *GetProjectAccessRequestResponse) GetEmail() string { @@ -18566,7 +18685,7 @@ type ApproveProjectAccessRequest struct { func (x *ApproveProjectAccessRequest) Reset() { *x = ApproveProjectAccessRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[312] + mi := &file_rill_admin_v1_api_proto_msgTypes[314] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18579,7 +18698,7 @@ func (x *ApproveProjectAccessRequest) String() string { func (*ApproveProjectAccessRequest) ProtoMessage() {} func (x *ApproveProjectAccessRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[312] + mi := &file_rill_admin_v1_api_proto_msgTypes[314] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18592,7 +18711,7 @@ func (x *ApproveProjectAccessRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ApproveProjectAccessRequest.ProtoReflect.Descriptor instead. func (*ApproveProjectAccessRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{312} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{314} } func (x *ApproveProjectAccessRequest) GetId() string { @@ -18618,7 +18737,7 @@ type ApproveProjectAccessResponse struct { func (x *ApproveProjectAccessResponse) Reset() { *x = ApproveProjectAccessResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[313] + mi := &file_rill_admin_v1_api_proto_msgTypes[315] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18631,7 +18750,7 @@ func (x *ApproveProjectAccessResponse) String() string { func (*ApproveProjectAccessResponse) ProtoMessage() {} func (x *ApproveProjectAccessResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[313] + mi := &file_rill_admin_v1_api_proto_msgTypes[315] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18644,7 +18763,7 @@ func (x *ApproveProjectAccessResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ApproveProjectAccessResponse.ProtoReflect.Descriptor instead. func (*ApproveProjectAccessResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{313} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{315} } type DenyProjectAccessRequest struct { @@ -18658,7 +18777,7 @@ type DenyProjectAccessRequest struct { func (x *DenyProjectAccessRequest) Reset() { *x = DenyProjectAccessRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[314] + mi := &file_rill_admin_v1_api_proto_msgTypes[316] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18671,7 +18790,7 @@ func (x *DenyProjectAccessRequest) String() string { func (*DenyProjectAccessRequest) ProtoMessage() {} func (x *DenyProjectAccessRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[314] + mi := &file_rill_admin_v1_api_proto_msgTypes[316] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18684,7 +18803,7 @@ func (x *DenyProjectAccessRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DenyProjectAccessRequest.ProtoReflect.Descriptor instead. func (*DenyProjectAccessRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{314} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{316} } func (x *DenyProjectAccessRequest) GetId() string { @@ -18703,7 +18822,7 @@ type DenyProjectAccessResponse struct { func (x *DenyProjectAccessResponse) Reset() { *x = DenyProjectAccessResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[315] + mi := &file_rill_admin_v1_api_proto_msgTypes[317] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18716,7 +18835,7 @@ func (x *DenyProjectAccessResponse) String() string { func (*DenyProjectAccessResponse) ProtoMessage() {} func (x *DenyProjectAccessResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[315] + mi := &file_rill_admin_v1_api_proto_msgTypes[317] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18729,7 +18848,7 @@ func (x *DenyProjectAccessResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DenyProjectAccessResponse.ProtoReflect.Descriptor instead. func (*DenyProjectAccessResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{315} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{317} } type ListOrganizationBillingIssuesRequest struct { @@ -18744,7 +18863,7 @@ type ListOrganizationBillingIssuesRequest struct { func (x *ListOrganizationBillingIssuesRequest) Reset() { *x = ListOrganizationBillingIssuesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[316] + mi := &file_rill_admin_v1_api_proto_msgTypes[318] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18757,7 +18876,7 @@ func (x *ListOrganizationBillingIssuesRequest) String() string { func (*ListOrganizationBillingIssuesRequest) ProtoMessage() {} func (x *ListOrganizationBillingIssuesRequest) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[316] + mi := &file_rill_admin_v1_api_proto_msgTypes[318] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18770,7 +18889,7 @@ func (x *ListOrganizationBillingIssuesRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use ListOrganizationBillingIssuesRequest.ProtoReflect.Descriptor instead. func (*ListOrganizationBillingIssuesRequest) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{316} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{318} } func (x *ListOrganizationBillingIssuesRequest) GetOrg() string { @@ -18798,7 +18917,7 @@ type ListOrganizationBillingIssuesResponse struct { func (x *ListOrganizationBillingIssuesResponse) Reset() { *x = ListOrganizationBillingIssuesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[317] + mi := &file_rill_admin_v1_api_proto_msgTypes[319] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18811,7 +18930,7 @@ func (x *ListOrganizationBillingIssuesResponse) String() string { func (*ListOrganizationBillingIssuesResponse) ProtoMessage() {} func (x *ListOrganizationBillingIssuesResponse) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[317] + mi := &file_rill_admin_v1_api_proto_msgTypes[319] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18824,7 +18943,7 @@ func (x *ListOrganizationBillingIssuesResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use ListOrganizationBillingIssuesResponse.ProtoReflect.Descriptor instead. func (*ListOrganizationBillingIssuesResponse) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{317} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{319} } func (x *ListOrganizationBillingIssuesResponse) GetIssues() []*BillingIssue { @@ -18852,7 +18971,7 @@ type User struct { func (x *User) Reset() { *x = User{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[318] + mi := &file_rill_admin_v1_api_proto_msgTypes[320] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18865,7 +18984,7 @@ func (x *User) String() string { func (*User) ProtoMessage() {} func (x *User) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[318] + mi := &file_rill_admin_v1_api_proto_msgTypes[320] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18878,7 +18997,7 @@ func (x *User) ProtoReflect() protoreflect.Message { // Deprecated: Use User.ProtoReflect.Descriptor instead. func (*User) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{318} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{320} } func (x *User) GetId() string { @@ -18954,7 +19073,7 @@ type Service struct { func (x *Service) Reset() { *x = Service{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[319] + mi := &file_rill_admin_v1_api_proto_msgTypes[321] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18967,7 +19086,7 @@ func (x *Service) String() string { func (*Service) ProtoMessage() {} func (x *Service) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[319] + mi := &file_rill_admin_v1_api_proto_msgTypes[321] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18980,7 +19099,7 @@ func (x *Service) ProtoReflect() protoreflect.Message { // Deprecated: Use Service.ProtoReflect.Descriptor instead. func (*Service) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{319} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{321} } func (x *Service) GetId() string { @@ -19051,7 +19170,7 @@ type OrganizationMemberService struct { func (x *OrganizationMemberService) Reset() { *x = OrganizationMemberService{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[320] + mi := &file_rill_admin_v1_api_proto_msgTypes[322] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19064,7 +19183,7 @@ func (x *OrganizationMemberService) String() string { func (*OrganizationMemberService) ProtoMessage() {} func (x *OrganizationMemberService) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[320] + mi := &file_rill_admin_v1_api_proto_msgTypes[322] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19077,7 +19196,7 @@ func (x *OrganizationMemberService) ProtoReflect() protoreflect.Message { // Deprecated: Use OrganizationMemberService.ProtoReflect.Descriptor instead. func (*OrganizationMemberService) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{320} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{322} } func (x *OrganizationMemberService) GetId() string { @@ -19164,7 +19283,7 @@ type ProjectMemberService struct { func (x *ProjectMemberService) Reset() { *x = ProjectMemberService{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[321] + mi := &file_rill_admin_v1_api_proto_msgTypes[323] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19177,7 +19296,7 @@ func (x *ProjectMemberService) String() string { func (*ProjectMemberService) ProtoMessage() {} func (x *ProjectMemberService) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[321] + mi := &file_rill_admin_v1_api_proto_msgTypes[323] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19190,7 +19309,7 @@ func (x *ProjectMemberService) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectMemberService.ProtoReflect.Descriptor instead. func (*ProjectMemberService) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{321} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{323} } func (x *ProjectMemberService) GetId() string { @@ -19298,7 +19417,7 @@ type Organization struct { func (x *Organization) Reset() { *x = Organization{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[322] + mi := &file_rill_admin_v1_api_proto_msgTypes[324] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19311,7 +19430,7 @@ func (x *Organization) String() string { func (*Organization) ProtoMessage() {} func (x *Organization) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[322] + mi := &file_rill_admin_v1_api_proto_msgTypes[324] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19324,7 +19443,7 @@ func (x *Organization) ProtoReflect() protoreflect.Message { // Deprecated: Use Organization.ProtoReflect.Descriptor instead. func (*Organization) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{322} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{324} } func (x *Organization) GetId() string { @@ -19470,7 +19589,7 @@ type Subscription struct { func (x *Subscription) Reset() { *x = Subscription{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[323] + mi := &file_rill_admin_v1_api_proto_msgTypes[325] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19483,7 +19602,7 @@ func (x *Subscription) String() string { func (*Subscription) ProtoMessage() {} func (x *Subscription) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[323] + mi := &file_rill_admin_v1_api_proto_msgTypes[325] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19496,7 +19615,7 @@ func (x *Subscription) ProtoReflect() protoreflect.Message { // Deprecated: Use Subscription.ProtoReflect.Descriptor instead. func (*Subscription) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{323} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{325} } func (x *Subscription) GetId() string { @@ -19560,7 +19679,7 @@ type UserQuotas struct { func (x *UserQuotas) Reset() { *x = UserQuotas{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[324] + mi := &file_rill_admin_v1_api_proto_msgTypes[326] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19573,7 +19692,7 @@ func (x *UserQuotas) String() string { func (*UserQuotas) ProtoMessage() {} func (x *UserQuotas) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[324] + mi := &file_rill_admin_v1_api_proto_msgTypes[326] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19586,7 +19705,7 @@ func (x *UserQuotas) ProtoReflect() protoreflect.Message { // Deprecated: Use UserQuotas.ProtoReflect.Descriptor instead. func (*UserQuotas) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{324} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{326} } func (x *UserQuotas) GetSingleuserOrgs() int32 { @@ -19619,7 +19738,7 @@ type OrganizationQuotas struct { func (x *OrganizationQuotas) Reset() { *x = OrganizationQuotas{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[325] + mi := &file_rill_admin_v1_api_proto_msgTypes[327] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19632,7 +19751,7 @@ func (x *OrganizationQuotas) String() string { func (*OrganizationQuotas) ProtoMessage() {} func (x *OrganizationQuotas) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[325] + mi := &file_rill_admin_v1_api_proto_msgTypes[327] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19645,7 +19764,7 @@ func (x *OrganizationQuotas) ProtoReflect() protoreflect.Message { // Deprecated: Use OrganizationQuotas.ProtoReflect.Descriptor instead. func (*OrganizationQuotas) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{325} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{327} } func (x *OrganizationQuotas) GetProjects() int32 { @@ -19728,7 +19847,7 @@ type Project struct { func (x *Project) Reset() { *x = Project{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[326] + mi := &file_rill_admin_v1_api_proto_msgTypes[328] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19741,7 +19860,7 @@ func (x *Project) String() string { func (*Project) ProtoMessage() {} func (x *Project) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[326] + mi := &file_rill_admin_v1_api_proto_msgTypes[328] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19754,7 +19873,7 @@ func (x *Project) ProtoReflect() protoreflect.Message { // Deprecated: Use Project.ProtoReflect.Descriptor instead. func (*Project) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{326} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{328} } func (x *Project) GetId() string { @@ -19954,7 +20073,7 @@ type Deployment struct { func (x *Deployment) Reset() { *x = Deployment{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[327] + mi := &file_rill_admin_v1_api_proto_msgTypes[329] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19967,7 +20086,7 @@ func (x *Deployment) String() string { func (*Deployment) ProtoMessage() {} func (x *Deployment) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[327] + mi := &file_rill_admin_v1_api_proto_msgTypes[329] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19980,7 +20099,7 @@ func (x *Deployment) ProtoReflect() protoreflect.Message { // Deprecated: Use Deployment.ProtoReflect.Descriptor instead. func (*Deployment) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{327} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{329} } func (x *Deployment) GetId() string { @@ -20083,7 +20202,7 @@ type ProvisionerResource struct { func (x *ProvisionerResource) Reset() { *x = ProvisionerResource{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[328] + mi := &file_rill_admin_v1_api_proto_msgTypes[330] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20096,7 +20215,7 @@ func (x *ProvisionerResource) String() string { func (*ProvisionerResource) ProtoMessage() {} func (x *ProvisionerResource) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[328] + mi := &file_rill_admin_v1_api_proto_msgTypes[330] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20109,7 +20228,7 @@ func (x *ProvisionerResource) ProtoReflect() protoreflect.Message { // Deprecated: Use ProvisionerResource.ProtoReflect.Descriptor instead. func (*ProvisionerResource) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{328} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{330} } func (x *ProvisionerResource) GetId() string { @@ -20174,7 +20293,7 @@ type OrganizationPermissions struct { func (x *OrganizationPermissions) Reset() { *x = OrganizationPermissions{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[329] + mi := &file_rill_admin_v1_api_proto_msgTypes[331] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20187,7 +20306,7 @@ func (x *OrganizationPermissions) String() string { func (*OrganizationPermissions) ProtoMessage() {} func (x *OrganizationPermissions) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[329] + mi := &file_rill_admin_v1_api_proto_msgTypes[331] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20200,7 +20319,7 @@ func (x *OrganizationPermissions) ProtoReflect() protoreflect.Message { // Deprecated: Use OrganizationPermissions.ProtoReflect.Descriptor instead. func (*OrganizationPermissions) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{329} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{331} } func (x *OrganizationPermissions) GetAdmin() bool { @@ -20305,7 +20424,7 @@ type ProjectPermissions struct { func (x *ProjectPermissions) Reset() { *x = ProjectPermissions{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[330] + mi := &file_rill_admin_v1_api_proto_msgTypes[332] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20318,7 +20437,7 @@ func (x *ProjectPermissions) String() string { func (*ProjectPermissions) ProtoMessage() {} func (x *ProjectPermissions) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[330] + mi := &file_rill_admin_v1_api_proto_msgTypes[332] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20331,7 +20450,7 @@ func (x *ProjectPermissions) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectPermissions.ProtoReflect.Descriptor instead. func (*ProjectPermissions) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{330} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{332} } func (x *ProjectPermissions) GetAdmin() bool { @@ -20501,7 +20620,7 @@ type OrganizationRole struct { func (x *OrganizationRole) Reset() { *x = OrganizationRole{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[331] + mi := &file_rill_admin_v1_api_proto_msgTypes[333] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20514,7 +20633,7 @@ func (x *OrganizationRole) String() string { func (*OrganizationRole) ProtoMessage() {} func (x *OrganizationRole) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[331] + mi := &file_rill_admin_v1_api_proto_msgTypes[333] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20527,7 +20646,7 @@ func (x *OrganizationRole) ProtoReflect() protoreflect.Message { // Deprecated: Use OrganizationRole.ProtoReflect.Descriptor instead. func (*OrganizationRole) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{331} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{333} } func (x *OrganizationRole) GetId() string { @@ -20564,7 +20683,7 @@ type ProjectRole struct { func (x *ProjectRole) Reset() { *x = ProjectRole{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[332] + mi := &file_rill_admin_v1_api_proto_msgTypes[334] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20577,7 +20696,7 @@ func (x *ProjectRole) String() string { func (*ProjectRole) ProtoMessage() {} func (x *ProjectRole) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[332] + mi := &file_rill_admin_v1_api_proto_msgTypes[334] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20590,7 +20709,7 @@ func (x *ProjectRole) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectRole.ProtoReflect.Descriptor instead. func (*ProjectRole) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{332} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{334} } func (x *ProjectRole) GetId() string { @@ -20634,7 +20753,7 @@ type OrganizationMemberUser struct { func (x *OrganizationMemberUser) Reset() { *x = OrganizationMemberUser{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[333] + mi := &file_rill_admin_v1_api_proto_msgTypes[335] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20647,7 +20766,7 @@ func (x *OrganizationMemberUser) String() string { func (*OrganizationMemberUser) ProtoMessage() {} func (x *OrganizationMemberUser) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[333] + mi := &file_rill_admin_v1_api_proto_msgTypes[335] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20660,7 +20779,7 @@ func (x *OrganizationMemberUser) ProtoReflect() protoreflect.Message { // Deprecated: Use OrganizationMemberUser.ProtoReflect.Descriptor instead. func (*OrganizationMemberUser) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{333} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{335} } func (x *OrganizationMemberUser) GetUserId() string { @@ -20753,7 +20872,7 @@ type ProjectMemberUser struct { func (x *ProjectMemberUser) Reset() { *x = ProjectMemberUser{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[334] + mi := &file_rill_admin_v1_api_proto_msgTypes[336] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20766,7 +20885,7 @@ func (x *ProjectMemberUser) String() string { func (*ProjectMemberUser) ProtoMessage() {} func (x *ProjectMemberUser) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[334] + mi := &file_rill_admin_v1_api_proto_msgTypes[336] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20779,7 +20898,7 @@ func (x *ProjectMemberUser) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectMemberUser.ProtoReflect.Descriptor instead. func (*ProjectMemberUser) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{334} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{336} } func (x *ProjectMemberUser) GetUserId() string { @@ -20868,7 +20987,7 @@ type UsergroupMemberUser struct { func (x *UsergroupMemberUser) Reset() { *x = UsergroupMemberUser{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[335] + mi := &file_rill_admin_v1_api_proto_msgTypes[337] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20881,7 +21000,7 @@ func (x *UsergroupMemberUser) String() string { func (*UsergroupMemberUser) ProtoMessage() {} func (x *UsergroupMemberUser) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[335] + mi := &file_rill_admin_v1_api_proto_msgTypes[337] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20894,7 +21013,7 @@ func (x *UsergroupMemberUser) ProtoReflect() protoreflect.Message { // Deprecated: Use UsergroupMemberUser.ProtoReflect.Descriptor instead. func (*UsergroupMemberUser) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{335} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{337} } func (x *UsergroupMemberUser) GetUserId() string { @@ -20952,7 +21071,7 @@ type OrganizationInvite struct { func (x *OrganizationInvite) Reset() { *x = OrganizationInvite{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[336] + mi := &file_rill_admin_v1_api_proto_msgTypes[338] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20965,7 +21084,7 @@ func (x *OrganizationInvite) String() string { func (*OrganizationInvite) ProtoMessage() {} func (x *OrganizationInvite) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[336] + mi := &file_rill_admin_v1_api_proto_msgTypes[338] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20978,7 +21097,7 @@ func (x *OrganizationInvite) ProtoReflect() protoreflect.Message { // Deprecated: Use OrganizationInvite.ProtoReflect.Descriptor instead. func (*OrganizationInvite) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{336} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{338} } func (x *OrganizationInvite) GetEmail() string { @@ -21018,7 +21137,7 @@ type ProjectInvite struct { func (x *ProjectInvite) Reset() { *x = ProjectInvite{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[337] + mi := &file_rill_admin_v1_api_proto_msgTypes[339] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21031,7 +21150,7 @@ func (x *ProjectInvite) String() string { func (*ProjectInvite) ProtoMessage() {} func (x *ProjectInvite) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[337] + mi := &file_rill_admin_v1_api_proto_msgTypes[339] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21044,7 +21163,7 @@ func (x *ProjectInvite) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectInvite.ProtoReflect.Descriptor instead. func (*ProjectInvite) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{337} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{339} } func (x *ProjectInvite) GetEmail() string { @@ -21101,7 +21220,7 @@ type WhitelistedDomain struct { func (x *WhitelistedDomain) Reset() { *x = WhitelistedDomain{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[338] + mi := &file_rill_admin_v1_api_proto_msgTypes[340] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21114,7 +21233,7 @@ func (x *WhitelistedDomain) String() string { func (*WhitelistedDomain) ProtoMessage() {} func (x *WhitelistedDomain) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[338] + mi := &file_rill_admin_v1_api_proto_msgTypes[340] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21127,7 +21246,7 @@ func (x *WhitelistedDomain) ProtoReflect() protoreflect.Message { // Deprecated: Use WhitelistedDomain.ProtoReflect.Descriptor instead. func (*WhitelistedDomain) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{338} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{340} } func (x *WhitelistedDomain) GetDomain() string { @@ -21167,7 +21286,7 @@ type Bookmark struct { func (x *Bookmark) Reset() { *x = Bookmark{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[339] + mi := &file_rill_admin_v1_api_proto_msgTypes[341] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21180,7 +21299,7 @@ func (x *Bookmark) String() string { func (*Bookmark) ProtoMessage() {} func (x *Bookmark) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[339] + mi := &file_rill_admin_v1_api_proto_msgTypes[341] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21193,7 +21312,7 @@ func (x *Bookmark) ProtoReflect() protoreflect.Message { // Deprecated: Use Bookmark.ProtoReflect.Descriptor instead. func (*Bookmark) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{339} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{341} } func (x *Bookmark) GetId() string { @@ -21301,7 +21420,7 @@ type ServiceToken struct { func (x *ServiceToken) Reset() { *x = ServiceToken{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[340] + mi := &file_rill_admin_v1_api_proto_msgTypes[342] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21314,7 +21433,7 @@ func (x *ServiceToken) String() string { func (*ServiceToken) ProtoMessage() {} func (x *ServiceToken) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[340] + mi := &file_rill_admin_v1_api_proto_msgTypes[342] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21327,7 +21446,7 @@ func (x *ServiceToken) ProtoReflect() protoreflect.Message { // Deprecated: Use ServiceToken.ProtoReflect.Descriptor instead. func (*ServiceToken) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{340} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{342} } func (x *ServiceToken) GetId() string { @@ -21379,7 +21498,7 @@ type UserAuthToken struct { func (x *UserAuthToken) Reset() { *x = UserAuthToken{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[341] + mi := &file_rill_admin_v1_api_proto_msgTypes[343] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21392,7 +21511,7 @@ func (x *UserAuthToken) String() string { func (*UserAuthToken) ProtoMessage() {} func (x *UserAuthToken) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[341] + mi := &file_rill_admin_v1_api_proto_msgTypes[343] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21405,7 +21524,7 @@ func (x *UserAuthToken) ProtoReflect() protoreflect.Message { // Deprecated: Use UserAuthToken.ProtoReflect.Descriptor instead. func (*UserAuthToken) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{341} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{343} } func (x *UserAuthToken) GetId() string { @@ -21514,7 +21633,7 @@ type MagicAuthToken struct { func (x *MagicAuthToken) Reset() { *x = MagicAuthToken{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[342] + mi := &file_rill_admin_v1_api_proto_msgTypes[344] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21527,7 +21646,7 @@ func (x *MagicAuthToken) String() string { func (*MagicAuthToken) ProtoMessage() {} func (x *MagicAuthToken) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[342] + mi := &file_rill_admin_v1_api_proto_msgTypes[344] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21540,7 +21659,7 @@ func (x *MagicAuthToken) ProtoReflect() protoreflect.Message { // Deprecated: Use MagicAuthToken.ProtoReflect.Descriptor instead. func (*MagicAuthToken) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{342} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{344} } func (x *MagicAuthToken) GetId() string { @@ -21678,7 +21797,7 @@ type VirtualFile struct { func (x *VirtualFile) Reset() { *x = VirtualFile{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[343] + mi := &file_rill_admin_v1_api_proto_msgTypes[345] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21691,7 +21810,7 @@ func (x *VirtualFile) String() string { func (*VirtualFile) ProtoMessage() {} func (x *VirtualFile) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[343] + mi := &file_rill_admin_v1_api_proto_msgTypes[345] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21704,7 +21823,7 @@ func (x *VirtualFile) ProtoReflect() protoreflect.Message { // Deprecated: Use VirtualFile.ProtoReflect.Descriptor instead. func (*VirtualFile) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{343} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{345} } func (x *VirtualFile) GetPath() string { @@ -21771,7 +21890,7 @@ type ReportOptions struct { func (x *ReportOptions) Reset() { *x = ReportOptions{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[344] + mi := &file_rill_admin_v1_api_proto_msgTypes[346] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21784,7 +21903,7 @@ func (x *ReportOptions) String() string { func (*ReportOptions) ProtoMessage() {} func (x *ReportOptions) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[344] + mi := &file_rill_admin_v1_api_proto_msgTypes[346] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21797,7 +21916,7 @@ func (x *ReportOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use ReportOptions.ProtoReflect.Descriptor instead. func (*ReportOptions) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{344} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{346} } func (x *ReportOptions) GetDisplayName() string { @@ -21971,7 +22090,7 @@ type AlertOptions struct { func (x *AlertOptions) Reset() { *x = AlertOptions{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[345] + mi := &file_rill_admin_v1_api_proto_msgTypes[347] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21984,7 +22103,7 @@ func (x *AlertOptions) String() string { func (*AlertOptions) ProtoMessage() {} func (x *AlertOptions) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[345] + mi := &file_rill_admin_v1_api_proto_msgTypes[347] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21997,7 +22116,7 @@ func (x *AlertOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use AlertOptions.ProtoReflect.Descriptor instead. func (*AlertOptions) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{345} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{347} } func (x *AlertOptions) GetDisplayName() string { @@ -22138,7 +22257,7 @@ type BillingPlan struct { func (x *BillingPlan) Reset() { *x = BillingPlan{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[346] + mi := &file_rill_admin_v1_api_proto_msgTypes[348] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22151,7 +22270,7 @@ func (x *BillingPlan) String() string { func (*BillingPlan) ProtoMessage() {} func (x *BillingPlan) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[346] + mi := &file_rill_admin_v1_api_proto_msgTypes[348] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22164,7 +22283,7 @@ func (x *BillingPlan) ProtoReflect() protoreflect.Message { // Deprecated: Use BillingPlan.ProtoReflect.Descriptor instead. func (*BillingPlan) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{346} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{348} } func (x *BillingPlan) GetId() string { @@ -22246,7 +22365,7 @@ type Quotas struct { func (x *Quotas) Reset() { *x = Quotas{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[347] + mi := &file_rill_admin_v1_api_proto_msgTypes[349] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22259,7 +22378,7 @@ func (x *Quotas) String() string { func (*Quotas) ProtoMessage() {} func (x *Quotas) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[347] + mi := &file_rill_admin_v1_api_proto_msgTypes[349] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22272,7 +22391,7 @@ func (x *Quotas) ProtoReflect() protoreflect.Message { // Deprecated: Use Quotas.ProtoReflect.Descriptor instead. func (*Quotas) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{347} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{349} } func (x *Quotas) GetProjects() string { @@ -22333,7 +22452,7 @@ type Usergroup struct { func (x *Usergroup) Reset() { *x = Usergroup{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[348] + mi := &file_rill_admin_v1_api_proto_msgTypes[350] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22346,7 +22465,7 @@ func (x *Usergroup) String() string { func (*Usergroup) ProtoMessage() {} func (x *Usergroup) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[348] + mi := &file_rill_admin_v1_api_proto_msgTypes[350] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22359,7 +22478,7 @@ func (x *Usergroup) ProtoReflect() protoreflect.Message { // Deprecated: Use Usergroup.ProtoReflect.Descriptor instead. func (*Usergroup) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{348} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{350} } func (x *Usergroup) GetGroupId() string { @@ -22423,7 +22542,7 @@ type MemberUsergroup struct { func (x *MemberUsergroup) Reset() { *x = MemberUsergroup{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[349] + mi := &file_rill_admin_v1_api_proto_msgTypes[351] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22436,7 +22555,7 @@ func (x *MemberUsergroup) String() string { func (*MemberUsergroup) ProtoMessage() {} func (x *MemberUsergroup) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[349] + mi := &file_rill_admin_v1_api_proto_msgTypes[351] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22449,7 +22568,7 @@ func (x *MemberUsergroup) ProtoReflect() protoreflect.Message { // Deprecated: Use MemberUsergroup.ProtoReflect.Descriptor instead. func (*MemberUsergroup) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{349} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{351} } func (x *MemberUsergroup) GetGroupId() string { @@ -22531,7 +22650,7 @@ type BillingIssue struct { func (x *BillingIssue) Reset() { *x = BillingIssue{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[350] + mi := &file_rill_admin_v1_api_proto_msgTypes[352] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22544,7 +22663,7 @@ func (x *BillingIssue) String() string { func (*BillingIssue) ProtoMessage() {} func (x *BillingIssue) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[350] + mi := &file_rill_admin_v1_api_proto_msgTypes[352] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22557,7 +22676,7 @@ func (x *BillingIssue) ProtoReflect() protoreflect.Message { // Deprecated: Use BillingIssue.ProtoReflect.Descriptor instead. func (*BillingIssue) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{350} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{352} } func (x *BillingIssue) GetOrg() string { @@ -22625,7 +22744,7 @@ type BillingIssueMetadata struct { func (x *BillingIssueMetadata) Reset() { *x = BillingIssueMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[351] + mi := &file_rill_admin_v1_api_proto_msgTypes[353] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22638,7 +22757,7 @@ func (x *BillingIssueMetadata) String() string { func (*BillingIssueMetadata) ProtoMessage() {} func (x *BillingIssueMetadata) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[351] + mi := &file_rill_admin_v1_api_proto_msgTypes[353] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22651,7 +22770,7 @@ func (x *BillingIssueMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use BillingIssueMetadata.ProtoReflect.Descriptor instead. func (*BillingIssueMetadata) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{351} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{353} } func (m *BillingIssueMetadata) GetMetadata() isBillingIssueMetadata_Metadata { @@ -22807,7 +22926,7 @@ type BillingIssueMetadataOnTrial struct { func (x *BillingIssueMetadataOnTrial) Reset() { *x = BillingIssueMetadataOnTrial{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[352] + mi := &file_rill_admin_v1_api_proto_msgTypes[354] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22820,7 +22939,7 @@ func (x *BillingIssueMetadataOnTrial) String() string { func (*BillingIssueMetadataOnTrial) ProtoMessage() {} func (x *BillingIssueMetadataOnTrial) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[352] + mi := &file_rill_admin_v1_api_proto_msgTypes[354] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22833,7 +22952,7 @@ func (x *BillingIssueMetadataOnTrial) ProtoReflect() protoreflect.Message { // Deprecated: Use BillingIssueMetadataOnTrial.ProtoReflect.Descriptor instead. func (*BillingIssueMetadataOnTrial) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{352} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{354} } func (x *BillingIssueMetadataOnTrial) GetEndDate() *timestamppb.Timestamp { @@ -22862,7 +22981,7 @@ type BillingIssueMetadataTrialEnded struct { func (x *BillingIssueMetadataTrialEnded) Reset() { *x = BillingIssueMetadataTrialEnded{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[353] + mi := &file_rill_admin_v1_api_proto_msgTypes[355] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22875,7 +22994,7 @@ func (x *BillingIssueMetadataTrialEnded) String() string { func (*BillingIssueMetadataTrialEnded) ProtoMessage() {} func (x *BillingIssueMetadataTrialEnded) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[353] + mi := &file_rill_admin_v1_api_proto_msgTypes[355] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22888,7 +23007,7 @@ func (x *BillingIssueMetadataTrialEnded) ProtoReflect() protoreflect.Message { // Deprecated: Use BillingIssueMetadataTrialEnded.ProtoReflect.Descriptor instead. func (*BillingIssueMetadataTrialEnded) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{353} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{355} } func (x *BillingIssueMetadataTrialEnded) GetEndDate() *timestamppb.Timestamp { @@ -22914,7 +23033,7 @@ type BillingIssueMetadataNoPaymentMethod struct { func (x *BillingIssueMetadataNoPaymentMethod) Reset() { *x = BillingIssueMetadataNoPaymentMethod{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[354] + mi := &file_rill_admin_v1_api_proto_msgTypes[356] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22927,7 +23046,7 @@ func (x *BillingIssueMetadataNoPaymentMethod) String() string { func (*BillingIssueMetadataNoPaymentMethod) ProtoMessage() {} func (x *BillingIssueMetadataNoPaymentMethod) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[354] + mi := &file_rill_admin_v1_api_proto_msgTypes[356] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22940,7 +23059,7 @@ func (x *BillingIssueMetadataNoPaymentMethod) ProtoReflect() protoreflect.Messag // Deprecated: Use BillingIssueMetadataNoPaymentMethod.ProtoReflect.Descriptor instead. func (*BillingIssueMetadataNoPaymentMethod) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{354} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{356} } type BillingIssueMetadataNoBillableAddress struct { @@ -22952,7 +23071,7 @@ type BillingIssueMetadataNoBillableAddress struct { func (x *BillingIssueMetadataNoBillableAddress) Reset() { *x = BillingIssueMetadataNoBillableAddress{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[355] + mi := &file_rill_admin_v1_api_proto_msgTypes[357] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22965,7 +23084,7 @@ func (x *BillingIssueMetadataNoBillableAddress) String() string { func (*BillingIssueMetadataNoBillableAddress) ProtoMessage() {} func (x *BillingIssueMetadataNoBillableAddress) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[355] + mi := &file_rill_admin_v1_api_proto_msgTypes[357] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22978,7 +23097,7 @@ func (x *BillingIssueMetadataNoBillableAddress) ProtoReflect() protoreflect.Mess // Deprecated: Use BillingIssueMetadataNoBillableAddress.ProtoReflect.Descriptor instead. func (*BillingIssueMetadataNoBillableAddress) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{355} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{357} } type BillingIssueMetadataPaymentFailed struct { @@ -22992,7 +23111,7 @@ type BillingIssueMetadataPaymentFailed struct { func (x *BillingIssueMetadataPaymentFailed) Reset() { *x = BillingIssueMetadataPaymentFailed{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[356] + mi := &file_rill_admin_v1_api_proto_msgTypes[358] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23005,7 +23124,7 @@ func (x *BillingIssueMetadataPaymentFailed) String() string { func (*BillingIssueMetadataPaymentFailed) ProtoMessage() {} func (x *BillingIssueMetadataPaymentFailed) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[356] + mi := &file_rill_admin_v1_api_proto_msgTypes[358] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23018,7 +23137,7 @@ func (x *BillingIssueMetadataPaymentFailed) ProtoReflect() protoreflect.Message // Deprecated: Use BillingIssueMetadataPaymentFailed.ProtoReflect.Descriptor instead. func (*BillingIssueMetadataPaymentFailed) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{356} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{358} } func (x *BillingIssueMetadataPaymentFailed) GetInvoices() []*BillingIssueMetadataPaymentFailedMeta { @@ -23046,7 +23165,7 @@ type BillingIssueMetadataPaymentFailedMeta struct { func (x *BillingIssueMetadataPaymentFailedMeta) Reset() { *x = BillingIssueMetadataPaymentFailedMeta{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[357] + mi := &file_rill_admin_v1_api_proto_msgTypes[359] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23059,7 +23178,7 @@ func (x *BillingIssueMetadataPaymentFailedMeta) String() string { func (*BillingIssueMetadataPaymentFailedMeta) ProtoMessage() {} func (x *BillingIssueMetadataPaymentFailedMeta) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[357] + mi := &file_rill_admin_v1_api_proto_msgTypes[359] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23072,7 +23191,7 @@ func (x *BillingIssueMetadataPaymentFailedMeta) ProtoReflect() protoreflect.Mess // Deprecated: Use BillingIssueMetadataPaymentFailedMeta.ProtoReflect.Descriptor instead. func (*BillingIssueMetadataPaymentFailedMeta) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{357} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{359} } func (x *BillingIssueMetadataPaymentFailedMeta) GetInvoiceId() string { @@ -23142,7 +23261,7 @@ type BillingIssueMetadataSubscriptionCancelled struct { func (x *BillingIssueMetadataSubscriptionCancelled) Reset() { *x = BillingIssueMetadataSubscriptionCancelled{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[358] + mi := &file_rill_admin_v1_api_proto_msgTypes[360] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23155,7 +23274,7 @@ func (x *BillingIssueMetadataSubscriptionCancelled) String() string { func (*BillingIssueMetadataSubscriptionCancelled) ProtoMessage() {} func (x *BillingIssueMetadataSubscriptionCancelled) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[358] + mi := &file_rill_admin_v1_api_proto_msgTypes[360] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23168,7 +23287,7 @@ func (x *BillingIssueMetadataSubscriptionCancelled) ProtoReflect() protoreflect. // Deprecated: Use BillingIssueMetadataSubscriptionCancelled.ProtoReflect.Descriptor instead. func (*BillingIssueMetadataSubscriptionCancelled) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{358} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{360} } func (x *BillingIssueMetadataSubscriptionCancelled) GetEndDate() *timestamppb.Timestamp { @@ -23187,7 +23306,7 @@ type BillingIssueMetadataNeverSubscribed struct { func (x *BillingIssueMetadataNeverSubscribed) Reset() { *x = BillingIssueMetadataNeverSubscribed{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[359] + mi := &file_rill_admin_v1_api_proto_msgTypes[361] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23200,7 +23319,7 @@ func (x *BillingIssueMetadataNeverSubscribed) String() string { func (*BillingIssueMetadataNeverSubscribed) ProtoMessage() {} func (x *BillingIssueMetadataNeverSubscribed) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[359] + mi := &file_rill_admin_v1_api_proto_msgTypes[361] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23213,7 +23332,7 @@ func (x *BillingIssueMetadataNeverSubscribed) ProtoReflect() protoreflect.Messag // Deprecated: Use BillingIssueMetadataNeverSubscribed.ProtoReflect.Descriptor instead. func (*BillingIssueMetadataNeverSubscribed) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{359} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{361} } type BillingIssueMetadataCreditLow struct { @@ -23229,7 +23348,7 @@ type BillingIssueMetadataCreditLow struct { func (x *BillingIssueMetadataCreditLow) Reset() { *x = BillingIssueMetadataCreditLow{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[360] + mi := &file_rill_admin_v1_api_proto_msgTypes[362] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23242,7 +23361,7 @@ func (x *BillingIssueMetadataCreditLow) String() string { func (*BillingIssueMetadataCreditLow) ProtoMessage() {} func (x *BillingIssueMetadataCreditLow) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[360] + mi := &file_rill_admin_v1_api_proto_msgTypes[362] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23255,7 +23374,7 @@ func (x *BillingIssueMetadataCreditLow) ProtoReflect() protoreflect.Message { // Deprecated: Use BillingIssueMetadataCreditLow.ProtoReflect.Descriptor instead. func (*BillingIssueMetadataCreditLow) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{360} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{362} } func (x *BillingIssueMetadataCreditLow) GetCreditRemaining() float64 { @@ -23292,7 +23411,7 @@ type BillingIssueMetadataCreditCritical struct { func (x *BillingIssueMetadataCreditCritical) Reset() { *x = BillingIssueMetadataCreditCritical{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[361] + mi := &file_rill_admin_v1_api_proto_msgTypes[363] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23305,7 +23424,7 @@ func (x *BillingIssueMetadataCreditCritical) String() string { func (*BillingIssueMetadataCreditCritical) ProtoMessage() {} func (x *BillingIssueMetadataCreditCritical) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[361] + mi := &file_rill_admin_v1_api_proto_msgTypes[363] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23318,7 +23437,7 @@ func (x *BillingIssueMetadataCreditCritical) ProtoReflect() protoreflect.Message // Deprecated: Use BillingIssueMetadataCreditCritical.ProtoReflect.Descriptor instead. func (*BillingIssueMetadataCreditCritical) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{361} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{363} } func (x *BillingIssueMetadataCreditCritical) GetCreditRemaining() float64 { @@ -23355,7 +23474,7 @@ type BillingIssueMetadataCreditExhausted struct { func (x *BillingIssueMetadataCreditExhausted) Reset() { *x = BillingIssueMetadataCreditExhausted{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[362] + mi := &file_rill_admin_v1_api_proto_msgTypes[364] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23368,7 +23487,7 @@ func (x *BillingIssueMetadataCreditExhausted) String() string { func (*BillingIssueMetadataCreditExhausted) ProtoMessage() {} func (x *BillingIssueMetadataCreditExhausted) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[362] + mi := &file_rill_admin_v1_api_proto_msgTypes[364] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23381,7 +23500,7 @@ func (x *BillingIssueMetadataCreditExhausted) ProtoReflect() protoreflect.Messag // Deprecated: Use BillingIssueMetadataCreditExhausted.ProtoReflect.Descriptor instead. func (*BillingIssueMetadataCreditExhausted) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{362} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{364} } func (x *BillingIssueMetadataCreditExhausted) GetCreditTotal() float64 { @@ -23420,7 +23539,7 @@ type ListGithubUserReposResponse_Repo struct { func (x *ListGithubUserReposResponse_Repo) Reset() { *x = ListGithubUserReposResponse_Repo{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[374] + mi := &file_rill_admin_v1_api_proto_msgTypes[376] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23433,7 +23552,7 @@ func (x *ListGithubUserReposResponse_Repo) String() string { func (*ListGithubUserReposResponse_Repo) ProtoMessage() {} func (x *ListGithubUserReposResponse_Repo) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[374] + mi := &file_rill_admin_v1_api_proto_msgTypes[376] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23446,7 +23565,7 @@ func (x *ListGithubUserReposResponse_Repo) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGithubUserReposResponse_Repo.ProtoReflect.Descriptor instead. func (*ListGithubUserReposResponse_Repo) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{236, 0} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{238, 0} } func (x *ListGithubUserReposResponse_Repo) GetName() string { @@ -23500,7 +23619,7 @@ type GetReportMetaResponse_DeliveryMeta struct { func (x *GetReportMetaResponse_DeliveryMeta) Reset() { *x = GetReportMetaResponse_DeliveryMeta{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[375] + mi := &file_rill_admin_v1_api_proto_msgTypes[377] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23513,7 +23632,7 @@ func (x *GetReportMetaResponse_DeliveryMeta) String() string { func (*GetReportMetaResponse_DeliveryMeta) ProtoMessage() {} func (x *GetReportMetaResponse_DeliveryMeta) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[375] + mi := &file_rill_admin_v1_api_proto_msgTypes[377] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23526,7 +23645,7 @@ func (x *GetReportMetaResponse_DeliveryMeta) ProtoReflect() protoreflect.Message // Deprecated: Use GetReportMetaResponse_DeliveryMeta.ProtoReflect.Descriptor instead. func (*GetReportMetaResponse_DeliveryMeta) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{264, 0} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{266, 0} } func (x *GetReportMetaResponse_DeliveryMeta) GetOpenUrl() string { @@ -23584,7 +23703,7 @@ type GetAlertMetaResponse_URLs struct { func (x *GetAlertMetaResponse_URLs) Reset() { *x = GetAlertMetaResponse_URLs{} if protoimpl.UnsafeEnabled { - mi := &file_rill_admin_v1_api_proto_msgTypes[378] + mi := &file_rill_admin_v1_api_proto_msgTypes[380] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23597,7 +23716,7 @@ func (x *GetAlertMetaResponse_URLs) String() string { func (*GetAlertMetaResponse_URLs) ProtoMessage() {} func (x *GetAlertMetaResponse_URLs) ProtoReflect() protoreflect.Message { - mi := &file_rill_admin_v1_api_proto_msgTypes[378] + mi := &file_rill_admin_v1_api_proto_msgTypes[380] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23610,7 +23729,7 @@ func (x *GetAlertMetaResponse_URLs) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAlertMetaResponse_URLs.ProtoReflect.Descriptor instead. func (*GetAlertMetaResponse_URLs) Descriptor() ([]byte, []int) { - return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{266, 0} + return file_rill_admin_v1_api_proto_rawDescGZIP(), []int{268, 0} } func (x *GetAlertMetaResponse_URLs) GetOpenUrl() string { @@ -24780,369 +24899,341 @@ var file_rill_admin_v1_api_proto_rawDesc = []byte{ 0x09, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x74, 0x72, - 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x64, 0x22, 0x64, 0x0a, 0x29, 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x6f, 0x6d, 0x61, 0x69, 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, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x6d, 0x0a, 0x2a, - 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x6f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0xa8, 0x01, 0x0a, 0x1b, - 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, - 0x6f, 0x74, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, - 0x6c, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x6f, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x69, - 0x6e, 0x67, 0x6c, 0x65, 0x75, 0x73, 0x65, 0x72, 0x4f, 0x72, 0x67, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x22, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x09, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x73, - 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x6f, 0x72, 0x67, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x74, 0x72, 0x69, 0x61, - 0x6c, 0x5f, 0x6f, 0x72, 0x67, 0x73, 0x22, 0x47, 0x0a, 0x1c, 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, - 0xfc, 0x01, 0x0a, 0x1c, 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x64, 0x22, 0x9d, 0x01, 0x0a, 0x15, 0x53, 0x75, 0x64, 0x6f, 0x41, + 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, - 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, - 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x5e, - 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3e, - 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 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, 0x22, 0x51, - 0x0a, 0x1d, 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x30, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x16, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x22, 0x39, 0x0a, 0x23, 0x53, 0x75, 0x64, 0x6f, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x75, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x22, 0x3c, 0x0a, 0x24, - 0x53, 0x75, 0x64, 0x6f, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x72, 0x0a, 0x29, 0x53, 0x75, - 0x64, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x33, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, - 0x73, 0x73, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x2c, - 0x0a, 0x2a, 0x53, 0x75, 0x64, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, - 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, - 0x73, 0x73, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0x0a, 0x1f, + 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x26, 0x0a, 0x06, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xfa, 0x42, 0x0b, + 0x12, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x06, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x5f, 0x64, 0x61, + 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, + 0x44, 0x61, 0x79, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5b, 0x0a, 0x16, 0x53, 0x75, 0x64, 0x6f, 0x41, 0x64, + 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x41, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x22, 0x64, 0x0a, 0x29, 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x44, 0x6f, 0x6d, 0x61, 0x69, 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, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x6d, 0x0a, 0x2a, 0x53, 0x75, 0x64, + 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0xa8, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x64, + 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2c, + 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6f, 0x72, 0x67, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x6c, + 0x65, 0x75, 0x73, 0x65, 0x72, 0x4f, 0x72, 0x67, 0x73, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, + 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x48, 0x01, 0x52, 0x09, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x73, 0x88, 0x01, 0x01, + 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x6f, 0x72, 0x67, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6f, + 0x72, 0x67, 0x73, 0x22, 0x47, 0x0a, 0x1c, 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0xfc, 0x01, 0x0a, + 0x1c, 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, + 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, + 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, + 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x5e, 0x0a, 0x0b, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 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, 0x22, 0x51, 0x0a, 0x1d, 0x53, + 0x75, 0x64, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x39, + 0x0a, 0x23, 0x53, 0x75, 0x64, 0x6f, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x22, 0x3c, 0x0a, 0x24, 0x53, 0x75, 0x64, + 0x6f, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x72, 0x0a, 0x29, 0x53, 0x75, 0x64, 0x6f, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x33, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x2c, 0x0a, 0x2a, 0x53, + 0x75, 0x64, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0x0a, 0x1f, 0x53, 0x75, 0x64, + 0x6f, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x52, + 0x65, 0x70, 0x61, 0x69, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x22, 0x0a, 0x20, 0x53, 0x75, 0x64, 0x6f, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x42, 0x69, 0x6c, 0x6c, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x70, 0x61, 0x69, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x22, 0x0a, 0x20, 0x53, 0x75, 0x64, 0x6f, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x42, 0x69, - 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x61, 0x69, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0xef, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, - 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x2a, - 0x05, 0x18, 0xe8, 0x07, 0x40, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, - 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, - 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x69, 0x6c, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, - 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa1, 0x01, 0x0a, - 0x19, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, - 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0a, 0xfa, 0x42, 0x07, - 0x2a, 0x05, 0x18, 0xe8, 0x07, 0x40, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x22, 0x7c, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, - 0x0a, 0x07, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x07, 0x69, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x9d, - 0x02, 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, - 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, - 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, - 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x05, - 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, - 0x72, 0x02, 0x60, 0x01, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x0a, 0x04, 0x72, - 0x6f, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x74, - 0x72, 0x69, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x11, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x09, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x72, 0x65, 0x73, 0x74, - 0x72, 0x69, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x45, - 0x0a, 0x1c, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, - 0x0a, 0x0e, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x75, 0x70, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, - 0x69, 0x67, 0x6e, 0x75, 0x70, 0x22, 0x7d, 0x0a, 0x1e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, + 0x6e, 0x67, 0x52, 0x65, 0x70, 0x61, 0x69, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0xef, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, + 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x2a, 0x05, 0x18, 0xe8, + 0x07, 0x40, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x34, 0x0a, 0x16, + 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, + 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, + 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa1, 0x01, 0x0a, 0x19, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x60, 0x01, 0x52, 0x05, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x21, 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xaf, 0x02, 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x2a, 0x05, 0x18, + 0xe8, 0x07, 0x40, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x7c, 0x0a, + 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x69, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, + 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x07, 0x69, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, + 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x9d, 0x02, 0x0a, 0x1b, + 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x60, - 0x01, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x20, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, - 0x00, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x12, 0x72, 0x65, - 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x11, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, - 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x39, - 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x72, 0x6f, - 0x6c, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x22, 0x0a, 0x20, 0x53, 0x65, 0x74, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb2, 0x01, - 0x0a, 0x2b, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x46, 0x6f, 0x72, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, - 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, - 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, - 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0a, 0xfa, - 0x42, 0x07, 0x2a, 0x05, 0x18, 0xe8, 0x07, 0x40, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x22, 0x90, 0x01, 0x0a, 0x2c, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x46, 0x6f, 0x72, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x26, 0x0a, - 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x50, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, - 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, - 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x51, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, - 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x9f, 0x01, 0x0a, 0x13, 0x47, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x25, 0x0a, - 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x2a, 0x05, 0x18, 0xe8, - 0x07, 0x40, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x76, 0x0a, 0x14, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x26, 0x0a, 0x0f, - 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xbe, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, - 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x25, 0x0a, 0x09, 0x75, 0x73, - 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, - 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x12, 0x1e, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6e, 0x65, 0x77, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x51, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x36, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x09, 0x75, - 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0xc7, 0x01, 0x0a, 0x27, 0x4c, 0x69, 0x73, - 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, + 0x01, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, + 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x00, 0x52, 0x11, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, + 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x45, 0x0a, 0x1c, 0x41, + 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, + 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x67, 0x6e, + 0x75, 0x70, 0x22, 0x7d, 0x0a, 0x1e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, - 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, - 0x6f, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0a, 0xfa, - 0x42, 0x07, 0x2a, 0x05, 0x18, 0xe8, 0x07, 0x40, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x22, 0x8c, 0x01, 0x0a, 0x28, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, - 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x38, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, - 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x22, 0xe5, 0x01, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, + 0x21, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x60, 0x01, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, + 0x6c, 0x22, 0x21, 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xaf, 0x02, 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x60, 0x01, 0x52, 0x05, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x20, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x04, + 0x72, 0x6f, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x74, 0x72, + 0x69, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x11, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x09, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x42, + 0x15, 0x0a, 0x13, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x22, 0x0a, 0x20, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, + 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x2b, 0x4c, + 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x46, 0x6f, 0x72, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, + 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, + 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x2a, + 0x05, 0x18, 0xe8, 0x07, 0x40, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0x90, 0x01, 0x0a, 0x2c, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x46, 0x6f, 0x72, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x41, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x38, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0a, + 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x22, 0x50, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, + 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, + 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x51, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, + 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x36, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x09, 0x75, 0x73, + 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x9f, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, + 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x25, 0x0a, 0x09, 0x75, 0x73, + 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, + 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x2a, 0x05, 0x18, 0xe8, 0x07, 0x40, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x87, 0x01, 0x0a, 0x23, 0x4c, 0x69, - 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, - 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x38, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x22, 0x5a, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, - 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, - 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x25, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, - 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, - 0x19, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x25, 0x41, - 0x64, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, - 0x25, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, - 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x72, - 0x6f, 0x6c, 0x65, 0x22, 0x28, 0x0a, 0x26, 0x41, 0x64, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8a, 0x01, - 0x0a, 0x29, 0x53, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, - 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, - 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x25, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1b, 0x0a, - 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, - 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x2c, 0x0a, 0x2a, 0x53, 0x65, - 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x6f, 0x6c, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6c, 0x0a, 0x28, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, - 0x25, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, - 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x2b, 0x0a, 0x29, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0xaa, 0x02, 0x0a, 0x20, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, + 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x76, 0x0a, 0x14, 0x47, 0x65, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x36, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x09, + 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x22, 0xbe, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, + 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, + 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x25, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, + 0x02, 0x10, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1e, + 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x51, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, + 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0xc7, 0x01, 0x0a, 0x27, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, + 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, + 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, + 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x2a, + 0x05, 0x18, 0xe8, 0x07, 0x40, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0x8c, 0x01, 0x0a, 0x28, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x07, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x07, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xe5, + 0x01, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, + 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x27, + 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x2a, 0x05, 0x18, 0xe8, 0x07, 0x40, 0x01, 0x52, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x87, 0x01, 0x0a, 0x23, 0x4c, 0x69, 0x73, 0x74, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, + 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x22, 0x5a, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, + 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x25, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, + 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x19, 0x0a, 0x17, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x25, 0x41, 0x64, 0x64, 0x4f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, + 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x25, 0x0a, 0x09, + 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, + 0x22, 0x28, 0x0a, 0x26, 0x41, 0x64, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x29, 0x53, + 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x6f, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, - 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1b, 0x0a, - 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, - 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x12, 0x72, 0x65, - 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x11, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, - 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x39, - 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x72, 0x65, - 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x22, 0x23, 0x0a, 0x21, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbc, 0x02, 0x0a, 0x24, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, - 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, - 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, - 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x09, - 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x6f, 0x72, 0x67, 0x12, 0x25, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, + 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x6f, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, + 0x01, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x2c, 0x0a, 0x2a, 0x53, 0x65, 0x74, 0x4f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6c, 0x0a, 0x28, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, + 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x25, 0x0a, 0x09, + 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x12, 0x20, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x04, 0x72, 0x6f, - 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x01, 0x52, 0x11, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, - 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x42, 0x15, 0x0a, - 0x13, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x22, 0x27, 0x0a, 0x25, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8a, 0x01, - 0x0a, 0x23, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, + 0x6f, 0x75, 0x70, 0x22, 0x2b, 0x0a, 0x29, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, + 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0xaa, 0x02, 0x0a, 0x20, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, @@ -25150,796 +25241,791 @@ var file_rill_admin_v1_api_proto_rawDesc = []byte{ 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, - 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x26, 0x0a, 0x24, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x6f, + 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, + 0x01, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x74, 0x72, + 0x69, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x11, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x09, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, + 0x69, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x23, 0x0a, + 0x21, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x1d, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, - 0x25, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, - 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1d, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x60, 0x01, 0x52, 0x05, - 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x20, 0x0a, 0x1e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xab, 0x01, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, - 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, + 0x73, 0x65, 0x22, 0xbc, 0x02, 0x0a, 0x24, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, - 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x25, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x27, 0x0a, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x2a, 0x05, 0x18, 0xe8, 0x07, 0x40, 0x01, 0x52, 0x08, 0x70, 0x61, - 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x88, 0x01, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x69, - 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x22, 0x83, 0x01, 0x0a, 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, - 0x12, 0x25, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, + 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x09, 0x75, 0x73, 0x65, + 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, + 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x12, 0x20, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, + 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x32, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, + 0x52, 0x11, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x72, + 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x22, 0x27, 0x0a, 0x25, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x6f, + 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x23, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, + 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x25, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x75, 0x73, - 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1d, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x60, 0x01, 0x52, - 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x23, 0x0a, 0x21, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, - 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x0a, 0x0f, 0x55, - 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x20, - 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x60, - 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, + 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x26, 0x0a, 0x24, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, + 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x80, 0x01, 0x0a, 0x1d, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, + 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x25, 0x0a, 0x09, + 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x12, 0x1d, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x60, 0x01, 0x52, 0x05, 0x65, 0x6d, 0x61, + 0x69, 0x6c, 0x22, 0x20, 0x0a, 0x1e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xab, 0x01, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, + 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, + 0x6f, 0x72, 0x67, 0x12, 0x25, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, + 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0a, 0xfa, + 0x42, 0x07, 0x2a, 0x05, 0x18, 0xe8, 0x07, 0x40, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x22, 0x88, 0x01, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x83, 0x01, + 0x0a, 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x25, 0x0a, + 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1d, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x60, 0x01, 0x52, 0x05, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x22, 0x23, 0x0a, 0x21, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, + 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x60, 0x0a, 0x1c, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x70, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x52, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x61, 0x0a, + 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, - 0x22, 0x61, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x73, 0x22, 0x2f, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x60, 0x01, 0x52, 0x05, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x3a, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, - 0x22, 0x17, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x83, 0x01, 0x0a, 0x16, 0x47, 0x65, - 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x22, 0x2f, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x60, 0x01, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, + 0x6c, 0x22, 0x3a, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x40, 0x0a, - 0x0b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x73, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x22, - 0x68, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x60, 0x01, 0x52, 0x05, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, + 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x17, 0x0a, + 0x15, 0x47, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x83, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x27, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0b, 0x70, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, + 0x0b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x68, 0x0a, 0x11, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1d, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x60, 0x01, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, + 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x6f, + 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe6, 0x01, 0x0a, + 0x19, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, + 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, + 0x0a, 0xfa, 0x42, 0x07, 0x2a, 0x05, 0x18, 0xe8, 0x07, 0x40, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x46, + 0x6f, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x72, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x72, + 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x22, 0x7a, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, + 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x22, 0x92, 0x02, 0x0a, 0x19, 0x49, 0x73, 0x73, 0x75, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, + 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x20, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x24, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x74, + 0x6c, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0a, 0x74, 0x74, 0x6c, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x0f, 0x72, + 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0xd0, 0x01, 0x01, 0x60, 0x01, + 0x52, 0x0e, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, + 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x6f, + 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x32, 0x0a, 0x1a, 0x49, 0x73, 0x73, 0x75, 0x65, 0x55, + 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6d, 0x0a, 0x1a, 0x52, 0x65, + 0x76, 0x6f, 0x6b, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x46, 0x6f, - 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0xe6, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, - 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, - 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x2a, 0x05, 0x18, 0xe8, 0x07, 0x40, 0x01, 0x52, 0x08, - 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, - 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, - 0x07, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, - 0x52, 0x07, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x22, 0x7a, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, - 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x92, 0x02, 0x0a, 0x19, 0x49, 0x73, 0x73, 0x75, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, - 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, - 0x0b, 0x74, 0x74, 0x6c, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0a, 0x74, 0x74, 0x6c, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x12, 0x33, - 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, - 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0xd0, 0x01, - 0x01, 0x60, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x45, 0x6d, - 0x61, 0x69, 0x6c, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x46, 0x6f, - 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x32, 0x0a, 0x1a, 0x49, 0x73, 0x73, - 0x75, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6d, 0x0a, - 0x1a, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, - 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x1d, 0x0a, 0x1b, - 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0x0a, 0x1e, 0x52, - 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, - 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, - 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x48, 0x0a, 0x1f, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x41, - 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x22, - 0x46, 0x0a, 0x25, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, - 0x6e, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x60, 0x01, - 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x28, 0x0a, 0x26, 0x52, 0x65, 0x76, 0x6f, 0x6b, - 0x65, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, - 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x65, 0x0a, 0x23, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73, - 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x60, 0x01, - 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x74, 0x6c, 0x5f, 0x6d, - 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x74, - 0x6c, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x22, 0x3c, 0x0a, 0x24, 0x49, 0x73, 0x73, 0x75, - 0x65, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, - 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, - 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x20, 0x0a, 0x1e, 0x52, 0x65, 0x76, 0x6f, 0x6b, - 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x0a, 0x14, 0x4c, 0x69, 0x73, - 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, - 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, 0x69, 0x6e, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x4e, 0x0a, 0x15, 0x4c, 0x69, - 0x73, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x09, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x52, - 0x09, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x22, 0x35, 0x0a, 0x12, 0x47, 0x65, - 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x49, - 0x64, 0x22, 0x4a, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x6b, - 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x72, 0x69, 0x6c, - 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x6d, - 0x61, 0x72, 0x6b, 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x96, 0x02, - 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, - 0x75, 0x72, 0x6c, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x75, 0x72, 0x6c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b, 0x69, 0x6e, 0x64, - 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x22, 0x4d, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x33, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x08, 0x62, 0x6f, 0x6f, - 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0xce, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1f, 0x0a, 0x0b, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x49, 0x64, - 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x72, 0x6c, 0x5f, 0x73, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x72, 0x6c, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x22, 0x18, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x38, 0x0a, 0x15, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, - 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x6f, 0x6f, - 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x49, 0x64, 0x22, 0x18, 0x0a, 0x16, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, - 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0a, 0xfa, 0x42, - 0x07, 0x2a, 0x05, 0x18, 0xe8, 0x07, 0x40, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x22, 0x68, 0x0a, 0x13, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, - 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, - 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3a, 0x0a, 0x1d, 0x52, - 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x75, 0x74, 0x68, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x64, 0x22, 0x20, 0x0a, 0x1e, 0x52, 0x65, 0x76, 0x6f, 0x6b, - 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x0a, 0x1c, 0x49, 0x73, 0x73, - 0x75, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, - 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x35, 0x0a, 0x1d, 0x49, 0x73, 0x73, 0x75, 0x65, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x5c, - 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x75, 0x74, - 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, - 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, - 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x54, 0x0a, 0x1d, - 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, - 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x73, 0x22, 0xb8, 0x04, 0x0a, 0x1a, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x61, 0x67, 0x69, - 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, - 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, - 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x1f, 0x0a, 0x0b, 0x74, 0x74, 0x6c, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x74, 0x6c, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, - 0x12, 0x27, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x0d, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x73, 0x0a, 0x14, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x76, 0x69, - 0x65, 0x77, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x41, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x61, 0x67, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x12, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, - 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, - 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x73, 0x1a, 0x62, 0x0a, 0x17, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x56, 0x69, - 0x65, 0x77, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x22, 0x36, 0x0a, - 0x0c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x45, 0x0a, 0x1b, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x61, - 0x67, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, - 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0xa2, 0x01, 0x0a, - 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x67, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, + 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x52, 0x65, 0x76, + 0x6f, 0x6b, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0x0a, 0x1e, 0x52, 0x65, 0x76, 0x6f, + 0x6b, 0x65, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, + 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, + 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, + 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x22, 0x48, 0x0a, 0x1f, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x6c, 0x6c, 0x55, + 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, + 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x22, 0x46, 0x0a, 0x25, + 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x60, 0x01, 0x52, 0x05, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x28, 0x0a, 0x26, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, + 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, + 0x0a, 0x23, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x60, 0x01, 0x52, 0x05, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x74, 0x6c, 0x5f, 0x6d, 0x69, 0x6e, 0x75, + 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x74, 0x6c, 0x4d, 0x69, + 0x6e, 0x75, 0x74, 0x65, 0x73, 0x22, 0x3c, 0x0a, 0x24, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x65, + 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x43, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x20, 0x0a, 0x1e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x43, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6f, + 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, + 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b, 0x69, + 0x6e, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x4e, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x42, + 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x35, 0x0a, 0x09, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x09, 0x62, 0x6f, + 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x22, 0x35, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x42, 0x6f, + 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x0b, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x49, 0x64, 0x22, 0x4a, + 0x0a, 0x13, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, + 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, + 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x96, 0x02, 0x0a, 0x15, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x72, 0x6c, + 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, + 0x72, 0x6c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x23, 0x0a, + 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, + 0x64, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x64, 0x22, 0x4d, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, + 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, + 0x08, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, + 0x72, 0x6b, 0x22, 0xce, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, + 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, + 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x21, 0x0a, + 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x72, 0x6c, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x72, 0x6c, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x64, 0x22, 0x18, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, + 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x0a, + 0x15, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, + 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6f, 0x6f, + 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x49, 0x64, 0x22, 0x18, 0x0a, 0x16, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x65, 0x6d, 0x61, 0x69, + 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x50, + 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x2a, 0x05, + 0x18, 0xe8, 0x07, 0x40, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x68, + 0x0a, 0x13, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, + 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3a, 0x0a, 0x1d, 0x52, 0x65, 0x76, 0x6f, + 0x6b, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x49, 0x64, 0x22, 0x20, 0x0a, 0x1e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x0a, 0x1c, 0x49, 0x73, 0x73, 0x75, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, + 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x35, 0x0a, 0x1d, 0x49, 0x73, 0x73, 0x75, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x5c, 0x0a, 0x1c, 0x4c, + 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, - 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0a, 0xfa, 0x42, - 0x07, 0x2a, 0x05, 0x18, 0xe8, 0x07, 0x40, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x22, 0x7c, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x67, 0x69, 0x63, 0x41, 0x75, - 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x35, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x61, 0x67, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, - 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, - 0x21, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x67, - 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0x57, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, - 0x4d, 0x61, 0x67, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x67, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x38, 0x0a, 0x1b, 0x52, - 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x4d, 0x61, 0x67, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x49, 0x64, 0x22, 0x1e, 0x0a, 0x1c, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x4d, - 0x61, 0x67, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x1b, - 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, - 0x61, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x09, 0x68, 0x61, 0x73, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x72, - 0x61, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x55, 0x72, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, - 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x22, 0x1c, 0x0a, 0x1a, 0x47, - 0x65, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xc1, 0x04, 0x0a, 0x1b, 0x47, 0x65, - 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, 0x73, - 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, - 0x61, 0x73, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x72, 0x61, 0x6e, - 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, - 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x61, 0x0a, 0x1c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x1a, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0xa7, 0x01, 0x0a, 0x25, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x53, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x23, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x04, - 0x6f, 0x72, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, - 0x6f, 0x72, 0x67, 0x73, 0x1a, 0x77, 0x0a, 0x28, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 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, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1c, 0x0a, - 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x70, 0x6f, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xf8, 0x01, 0x0a, 0x1b, - 0x4c, 0x69, 0x73, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x70, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x05, 0x72, - 0x65, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x72, 0x69, 0x6c, - 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x52, 0x05, 0x72, 0x65, 0x70, - 0x6f, 0x73, 0x1a, 0x91, 0x01, 0x0a, 0x04, 0x52, 0x65, 0x70, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, - 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x63, - 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x22, 0x63, 0x0a, 0x1d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x22, 0x20, 0x0a, 0x1e, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x47, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x0a, - 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x47, 0x69, - 0x74, 0x52, 0x65, 0x70, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, - 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x12, + 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x54, 0x0a, 0x1d, 0x4c, 0x69, 0x73, + 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, + 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x22, + 0xb8, 0x04, 0x0a, 0x1a, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x61, 0x67, 0x69, 0x63, 0x41, 0x75, + 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, + 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, + 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, + 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x0b, + 0x74, 0x74, 0x6c, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0a, 0x74, 0x74, 0x6c, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x12, 0x27, 0x0a, + 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, + 0x01, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x73, 0x0a, 0x14, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, + 0x73, 0x75, 0x65, 0x4d, 0x61, 0x67, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x56, 0x69, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x12, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x1a, 0x62, 0x0a, 0x17, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, + 0x69, 0x6c, 0x6c, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x22, 0x36, 0x0a, 0x0c, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x22, 0xe1, 0x01, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x64, 0x47, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, - 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, - 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, - 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, - 0x6f, 0x72, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, - 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x4a, 0x0a, 0x13, 0x70, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x11, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x45, 0x78, 0x70, - 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x22, 0x90, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x43, 0x6c, - 0x6f, 0x6e, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, - 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x46, 0x6f, - 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x83, 0x03, 0x0a, 0x1b, 0x47, 0x65, - 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x67, 0x69, 0x74, - 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x67, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x67, - 0x69, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x67, 0x69, 0x74, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x67, 0x69, 0x74, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x69, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x12, 0x51, 0x0a, 0x17, 0x67, 0x69, 0x74, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x14, - 0x67, 0x69, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x45, 0x78, 0x70, 0x69, 0x72, - 0x65, 0x73, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x69, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x69, 0x74, 0x53, 0x75, - 0x62, 0x70, 0x61, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x12, 0x67, 0x69, 0x74, 0x5f, 0x70, 0x72, 0x69, - 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x10, 0x67, 0x69, 0x74, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x72, 0x61, - 0x6e, 0x63, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x69, 0x74, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x67, - 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x12, 0x30, 0x0a, - 0x14, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x22, - 0x79, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, - 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, - 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x1f, 0x0a, 0x06, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, - 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1b, 0x0a, - 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, - 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x21, 0x0a, 0x1f, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x0a, - 0x1e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, - 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, - 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, - 0x02, 0x10, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x21, 0x0a, 0x1f, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, - 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, - 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, - 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x22, 0x5c, 0x0a, 0x1e, 0x4c, 0x69, - 0x73, 0x74, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x07, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x68, - 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, - 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x22, 0xa3, 0x01, 0x0a, 0x25, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, - 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x6d, 0x65, 0x22, 0x45, 0x0a, 0x1b, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x61, 0x67, 0x69, 0x63, + 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0xa2, 0x01, 0x0a, 0x1a, 0x4c, 0x69, + 0x73, 0x74, 0x4d, 0x61, 0x67, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, + 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x2a, 0x05, + 0x18, 0xe8, 0x07, 0x40, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x7c, + 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x67, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, + 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, + 0x67, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x06, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x21, 0x0a, 0x1f, + 0x47, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x67, 0x69, 0x63, 0x41, + 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x57, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x67, + 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x67, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x38, 0x0a, 0x1b, 0x52, 0x65, 0x76, 0x6f, + 0x6b, 0x65, 0x4d, 0x61, 0x67, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x49, 0x64, 0x22, 0x1e, 0x0a, 0x1c, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x4d, 0x61, 0x67, 0x69, + 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x34, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x52, + 0x65, 0x70, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, + 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x5f, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x61, + 0x73, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x72, 0x61, 0x6e, 0x74, + 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, + 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x72, 0x61, + 0x6e, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x22, 0x1c, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x47, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xc1, 0x04, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x47, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x5f, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x61, 0x73, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x6c, 0x12, + 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x61, 0x0a, 0x1c, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x1a, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0xa7, 0x01, 0x0a, 0x25, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x53, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x72, 0x67, 0x61, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x23, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x04, 0x6f, 0x72, 0x67, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x6f, 0x72, 0x67, + 0x73, 0x1a, 0x77, 0x0a, 0x28, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 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, + 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, + 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1c, 0x0a, 0x1a, 0x4c, 0x69, + 0x73, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xf8, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, + 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x05, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x52, 0x05, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x1a, + 0x91, 0x01, 0x0a, 0x04, 0x52, 0x65, 0x70, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x72, 0x61, + 0x6e, 0x63, 0x68, 0x22, 0x63, 0x0a, 0x1d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x22, 0x20, 0x0a, 0x1e, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x47, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x0a, 0x1b, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x47, 0x69, 0x74, 0x52, 0x65, + 0x70, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0xe1, 0x01, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x64, 0x47, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, + 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x72, 0x61, 0x6e, + 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x4a, 0x0a, 0x13, 0x70, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x11, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, + 0x73, 0x41, 0x74, 0x22, 0x90, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, + 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x28, - 0x0a, 0x26, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x57, + 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x6f, + 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x83, 0x03, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x6c, + 0x6f, 0x6e, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x67, 0x69, 0x74, 0x5f, 0x72, 0x65, + 0x70, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x69, + 0x74, 0x52, 0x65, 0x70, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x69, 0x74, 0x5f, + 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x67, 0x69, 0x74, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x67, + 0x69, 0x74, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x67, 0x69, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x51, + 0x0a, 0x17, 0x67, 0x69, 0x74, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x14, 0x67, 0x69, 0x74, + 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, + 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x69, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x69, 0x74, 0x53, 0x75, 0x62, 0x70, 0x61, + 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x12, 0x67, 0x69, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, + 0x79, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x67, 0x69, 0x74, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, + 0x12, 0x28, 0x0a, 0x10, 0x67, 0x69, 0x74, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, + 0x72, 0x65, 0x70, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x67, 0x69, 0x74, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, + 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x22, 0x79, 0x0a, 0x1e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, + 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, + 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, + 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, + 0x10, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x6f, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, + 0x01, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x21, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x0a, 0x1e, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, + 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, + 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, + 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x21, 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x0a, 0x1d, 0x4c, + 0x69, 0x73, 0x74, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, + 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, + 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x22, 0x5c, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x25, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, - 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, - 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x22, 0x28, 0x0a, 0x26, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, 0x24, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, - 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x22, 0x63, 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x69, - 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x68, 0x69, 0x74, - 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x07, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x22, 0x33, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, - 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0xf5, 0x03, 0x0a, 0x13, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x4f, 0x6e, 0x12, 0x42, - 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, - 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x4f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x69, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x69, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x67, - 0x69, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x67, 0x69, 0x74, 0x53, 0x75, 0x62, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, - 0x67, 0x69, 0x74, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x67, 0x69, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x65, - 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, - 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, - 0x72, 0x79, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x28, - 0x0a, 0x10, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x67, 0x69, 0x74, 0x5f, 0x72, 0x65, - 0x70, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x64, 0x47, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x44, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x12, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x10, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x4f, 0x6e, 0x22, 0xdc, 0x01, 0x0a, 0x16, 0x50, 0x75, 0x6c, 0x6c, 0x56, 0x69, 0x72, 0x74, - 0x75, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x69, 0x6c, + 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x68, 0x69, 0x74, 0x65, + 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x07, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x22, 0xa3, 0x01, 0x0a, 0x25, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, + 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, + 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, + 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x0a, + 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, + 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1b, + 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, + 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x28, 0x0a, 0x26, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x68, 0x69, 0x74, + 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x25, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, + 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, + 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, + 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x0a, + 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, + 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x28, + 0x0a, 0x26, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x57, + 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, + 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, + 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x21, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, + 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x63, + 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x68, 0x69, + 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, + 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x07, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x73, 0x22, 0x33, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x65, + 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0xf5, 0x03, 0x0a, 0x13, 0x47, 0x65, 0x74, + 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x4f, 0x6e, 0x12, 0x42, 0x0a, 0x0f, 0x6c, + 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, + 0x17, 0x0a, 0x07, 0x67, 0x69, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x67, 0x69, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x69, 0x74, 0x5f, + 0x73, 0x75, 0x62, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, + 0x69, 0x74, 0x53, 0x75, 0x62, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x69, 0x74, + 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, + 0x69, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x64, 0x69, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, 0x64, 0x69, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, + 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, + 0x69, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x67, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x47, 0x69, + 0x74, 0x52, 0x65, 0x70, 0x6f, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x12, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x44, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x12, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, + 0x22, 0xdc, 0x01, 0x0a, 0x16, 0x50, 0x75, 0x6c, 0x6c, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, + 0x52, 0x65, 0x70, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, + 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, + 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0x64, 0x40, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x46, 0x6f, + 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, + 0x73, 0x0a, 0x17, 0x50, 0x75, 0x6c, 0x6c, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x52, 0x65, + 0x70, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x66, 0x69, + 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, + 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa2, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x56, 0x69, 0x72, 0x74, + 0x75, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, - 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x26, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0x64, 0x40, 0x01, 0x52, 0x08, 0x70, - 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, - 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4a, 0x04, 0x08, 0x02, - 0x10, 0x03, 0x22, 0x73, 0x0a, 0x17, 0x50, 0x75, 0x6c, 0x6c, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, - 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, - 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x72, - 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x72, - 0x74, 0x75, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, - 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa2, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x56, - 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, + 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x46, 0x6f, + 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x48, 0x0a, 0x16, 0x47, 0x65, 0x74, + 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x04, 0x66, + 0x69, 0x6c, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x69, + 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, + 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, + 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcb, 0x03, 0x0a, 0x14, 0x47, 0x65, 0x74, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, - 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, - 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x48, 0x0a, 0x16, - 0x47, 0x65, 0x74, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, - 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, - 0x72, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, - 0x73, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x1b, - 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, - 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcb, 0x03, 0x0a, 0x14, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6f, - 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, - 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6e, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x63, - 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, - 0x6e, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x39, 0x0a, - 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x77, 0x65, 0x62, 0x5f, - 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x77, 0x65, 0x62, 0x4f, 0x70, 0x65, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x11, - 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6a, 0x73, 0x6f, - 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x77, 0x68, 0x65, - 0x72, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x11, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x4a, 0x04, 0x08, - 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0xce, 0x03, 0x0a, 0x15, 0x47, 0x65, - 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x5f, - 0x6d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x72, 0x69, 0x6c, - 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, + 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6e, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, + 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x6e, 0x6f, 0x6e, + 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x77, 0x65, 0x62, 0x5f, 0x6f, 0x70, 0x65, + 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x65, + 0x62, 0x4f, 0x70, 0x65, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x11, 0x77, 0x68, 0x65, + 0x72, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x77, 0x68, 0x65, 0x72, 0x65, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x11, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x0c, + 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x69, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, + 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0xce, 0x03, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x0c, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, - 0x1a, 0xdd, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4d, 0x65, 0x74, - 0x61, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, - 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x65, - 0x64, 0x69, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, - 0x64, 0x69, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x6e, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x75, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x55, 0x72, 0x6c, 0x12, - 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x73, - 0x1a, 0x72, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x47, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x65, 0x6c, - 0x69, 0x76, 0x65, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0xc3, 0x03, 0x0a, 0x13, 0x47, - 0x65, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x55, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x72, - 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, - 0x0a, 0x11, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x46, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x14, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x46, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x19, - 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6e, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x63, - 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, - 0x6e, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x3e, 0x0a, - 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 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, 0x0b, 0x0a, - 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, - 0x22, 0x99, 0x03, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0e, 0x72, 0x65, 0x63, - 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x36, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, - 0x55, 0x72, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x69, 0x70, - 0x69, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x49, 0x0a, 0x14, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, - 0x12, 0x71, 0x75, 0x65, 0x72, 0x79, 0x46, 0x6f, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x1a, 0x65, 0x0a, 0x04, 0x55, 0x52, 0x4c, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, - 0x70, 0x65, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, - 0x70, 0x65, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x75, - 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x64, 0x69, 0x74, 0x55, 0x72, - 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, - 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x75, 0x6e, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x55, 0x72, 0x6c, 0x1a, 0x6a, 0x0a, 0x12, 0x52, 0x65, - 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6c, 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, 0x3e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x52, 0x4c, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x83, 0x01, 0x0a, - 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x40, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, - 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x22, 0x2a, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x95, - 0x01, 0x0a, 0x11, 0x45, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x45, 0x64, 0x69, 0x74, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa7, 0x01, 0x0a, - 0x18, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x05, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0xd0, - 0x01, 0x01, 0x60, 0x01, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x29, 0x0a, 0x0a, 0x73, - 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0xd0, 0x01, 0x01, 0x60, 0x01, 0x52, 0x09, 0x73, 0x6c, 0x61, - 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x55, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x56, 0x0a, 0x14, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x54, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x59, 0x41, 0x4d, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x12, 0x5b, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x65, + 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x0c, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x1a, 0xdd, 0x01, + 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x19, + 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x64, 0x69, 0x74, + 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x64, 0x69, 0x74, + 0x55, 0x72, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x75, 0x6e, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x17, 0x0a, 0x07, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, + 0x74, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x73, 0x1a, 0x72, 0x0a, + 0x11, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x47, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, + 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0xc3, 0x03, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, + 0x6c, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, + 0x6c, 0x65, 0x72, 0x74, 0x12, 0x55, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x72, 0x69, 0x6c, 0x6c, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x65, + 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x46, + 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x14, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x71, 0x75, 0x65, 0x72, 0x79, 0x46, + 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, + 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6e, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, + 0x65, 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x6e, 0x6f, 0x6e, + 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 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, 0x0b, 0x0a, 0x09, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x99, 0x03, + 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, + 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, + 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 0x74, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x49, 0x0a, 0x14, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x66, + 0x6f, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x12, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x46, 0x6f, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, + 0x1a, 0x65, 0x0a, 0x04, 0x55, 0x52, 0x4c, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x6e, + 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x65, 0x6e, + 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x64, 0x69, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x27, + 0x0a, 0x0f, 0x75, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x75, 0x72, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x75, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x62, 0x65, 0x55, 0x72, 0x6c, 0x1a, 0x6a, 0x0a, 0x12, 0x52, 0x65, 0x63, 0x69, 0x70, + 0x69, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6c, 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, + 0x3e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x52, 0x4c, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x83, 0x01, 0x0a, 0x13, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, @@ -25947,140 +26033,159 @@ var file_rill_admin_v1_api_proto_rawDesc = []byte{ 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, - 0x30, 0x0a, 0x1a, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x59, 0x41, 0x4d, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x79, 0x61, 0x6d, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x79, 0x61, 0x6d, - 0x6c, 0x22, 0x81, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x65, 0x72, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3f, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x29, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, - 0x6c, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0x93, 0x01, 0x0a, 0x10, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x52, 0x65, + 0x2a, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x11, + 0x45, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x40, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x45, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa7, 0x01, 0x0a, 0x18, 0x55, 0x6e, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0xd0, 0x01, 0x01, 0x60, + 0x01, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x29, 0x0a, 0x0a, 0x73, 0x6c, 0x61, 0x63, + 0x6b, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, + 0x07, 0x72, 0x05, 0xd0, 0x01, 0x01, 0x60, 0x01, 0x52, 0x09, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x55, + 0x73, 0x65, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x55, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x56, 0x0a, 0x14, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x54, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x89, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x59, 0x41, 0x4d, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, + 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, + 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x69, + 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, + 0x02, 0x10, 0x01, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x30, 0x0a, 0x1a, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x59, 0x41, + 0x4d, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x61, + 0x6d, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x79, 0x61, 0x6d, 0x6c, 0x22, 0x81, + 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6c, - 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x17, - 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, + 0x74, 0x12, 0x3f, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, + 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x22, 0x29, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x65, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x93, 0x01, + 0x0a, 0x10, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x45, 0x64, 0x69, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x17, 0x55, 0x6e, 0x73, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0xd0, 0x01, 0x01, 0x60, 0x01, 0x52, + 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x29, 0x0a, 0x0a, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x5f, + 0x75, 0x73, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, + 0x05, 0xd0, 0x01, 0x01, 0x60, 0x01, 0x52, 0x09, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x55, 0x73, 0x65, + 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x41, 0x6c, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x0a, + 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x65, + 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x18, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x59, 0x41, 0x4d, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0xd0, 0x01, 0x01, - 0x60, 0x01, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x29, 0x0a, 0x0a, 0x73, 0x6c, 0x61, - 0x63, 0x6b, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, - 0x42, 0x07, 0x72, 0x05, 0xd0, 0x01, 0x01, 0x60, 0x01, 0x52, 0x09, 0x73, 0x6c, 0x61, 0x63, 0x6b, - 0x55, 0x73, 0x65, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x54, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x41, 0x6c, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x87, 0x01, - 0x0a, 0x18, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x59, - 0x41, 0x4d, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3f, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2f, 0x0a, 0x19, 0x47, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x59, 0x41, 0x4d, 0x4c, 0x52, 0x65, 0x73, 0x70, + 0x65, 0x63, 0x74, 0x12, 0x3f, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2f, 0x0a, 0x19, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x41, 0x6c, 0x65, 0x72, 0x74, 0x59, 0x41, 0x4d, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x61, 0x6d, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x79, 0x61, 0x6d, 0x6c, 0x22, 0x55, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x65, 0x72, + 0x74, 0x59, 0x41, 0x4d, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, + 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2a, 0x0a, 0x14, + 0x47, 0x65, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x59, 0x41, 0x4d, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x61, 0x6d, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x79, 0x61, 0x6d, 0x6c, 0x22, 0x55, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, - 0x6c, 0x65, 0x72, 0x74, 0x59, 0x41, 0x4d, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, - 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x2a, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x59, 0x41, 0x4d, 0x4c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x61, 0x6d, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x79, 0x61, 0x6d, 0x6c, 0x22, 0x70, 0x0a, 0x1d, 0x47, - 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, - 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, - 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x93, 0x02, - 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3f, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 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, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, - 0x72, 0x74, 0x61, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x55, 0x72, 0x6c, - 0x12, 0x41, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x22, 0xee, 0x01, 0x0a, 0x11, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, - 0x75, 0x73, 0x65, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x01, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x29, 0x0a, - 0x10, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, - 0x6e, 0x67, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x29, 0x0a, 0x11, 0x62, 0x75, 0x72, - 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x79, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x62, 0x75, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x50, 0x65, - 0x72, 0x44, 0x61, 0x79, 0x22, 0x99, 0x01, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, + 0x28, 0x09, 0x52, 0x04, 0x79, 0x61, 0x6d, 0x6c, 0x22, 0x70, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, - 0x03, 0x6f, 0x72, 0x67, 0x12, 0x24, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, - 0x52, 0x08, 0x70, 0x6c, 0x61, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, - 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, - 0x72, 0x75, 0x73, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x22, 0xa5, 0x01, 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x69, 0x6c, 0x6c, 0x69, - 0x6e, 0x67, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, - 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x73, 0x0a, 0x20, 0x43, 0x61, 0x6e, 0x63, - 0x65, 0x6c, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, - 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, - 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x23, 0x0a, - 0x21, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x98, 0x01, 0x0a, 0x1f, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x42, 0x69, 0x6c, 0x6c, + 0x03, 0x6f, 0x72, 0x67, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x46, + 0x6f, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x93, 0x02, 0x0a, 0x1e, 0x47, + 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, + 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 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, 0x12, 0x3f, + 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x2c, 0x0a, 0x12, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x61, + 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x69, 0x6c, + 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x12, 0x41, 0x0a, + 0x0b, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x22, 0xee, 0x01, 0x0a, 0x11, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x73, 0x65, + 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, + 0x75, 0x73, 0x65, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, + 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x29, 0x0a, 0x11, 0x62, 0x75, 0x72, 0x6e, 0x5f, 0x72, + 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x01, 0x52, 0x0e, 0x62, 0x75, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x44, 0x61, + 0x79, 0x22, 0x99, 0x01, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, @@ -26089,501 +26194,585 @@ var file_rill_admin_v1_api_proto_rawDesc = []byte{ 0x6c, 0x61, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, - 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xa4, 0x01, - 0x0a, 0x20, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x96, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, - 0x26, 0x0a, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, - 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x30, 0x0a, - 0x1c, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x6f, 0x72, 0x74, - 0x61, 0x6c, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, - 0x1f, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x42, 0x69, 0x6c, - 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x22, 0x52, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x42, 0x69, - 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x05, 0x70, - 0x6c, 0x61, 0x6e, 0x73, 0x22, 0x40, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, + 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xa5, 0x01, + 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, + 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x73, 0x0a, 0x20, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, + 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, + 0x03, 0x6f, 0x72, 0x67, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x46, + 0x6f, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x23, 0x0a, 0x21, 0x43, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x98, 0x01, 0x0a, 0x1f, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x24, + 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x6e, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x46, + 0x6f, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xa4, 0x01, 0x0a, 0x20, 0x52, + 0x65, 0x6e, 0x65, 0x77, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3f, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 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, + 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x96, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, + 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x26, 0x0a, 0x0a, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x46, + 0x6f, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x30, 0x0a, 0x1c, 0x47, 0x65, + 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x55, + 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x1f, 0x0a, 0x1d, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, + 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x52, 0x0a, + 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x42, 0x69, 0x6c, 0x6c, 0x69, + 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x30, 0x0a, 0x05, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x05, 0x70, 0x6c, 0x61, 0x6e, + 0x73, 0x22, 0x40, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, + 0x6f, 0x72, 0x67, 0x22, 0xae, 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6f, - 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, - 0x01, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x22, 0xae, 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x42, 0x69, - 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x72, 0x65, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x21, 0x0a, 0x0c, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, - 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x74, 0x6c, 0x5f, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x74, 0x6c, - 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x6b, 0x0a, 0x10, 0x54, 0x65, 0x6c, 0x65, 0x6d, - 0x65, 0x74, 0x72, 0x79, 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, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x0a, 0x1b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x1e, 0x0a, 0x1c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x37, 0x0a, 0x1f, 0x47, 0x65, + 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, + 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, + 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, + 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x74, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x74, 0x6c, 0x53, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x6b, 0x0a, 0x10, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, + 0x79, 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, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x22, 0x13, 0x0a, 0x11, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x0a, 0x1b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x22, 0x41, 0x0a, 0x1b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x1e, 0x0a, 0x1c, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, - 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x0a, 0x18, 0x44, 0x65, 0x6e, 0x79, 0x50, 0x72, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x1e, 0x0a, 0x1c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x37, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x44, 0x65, 0x6e, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x6e, 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, - 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, - 0x75, 0x73, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, - 0x5c, 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, - 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x22, 0xbf, 0x02, - 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x21, 0x0a, 0x0c, - 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x1b, 0x0a, 0x09, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x31, 0x0a, 0x06, - 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x72, - 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, - 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x52, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x12, - 0x28, 0x0a, 0x10, 0x70, 0x79, 0x6c, 0x6f, 0x6e, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x68, - 0x61, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x79, 0x6c, 0x6f, 0x6e, - 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x48, 0x61, 0x73, 0x68, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x22, - 0x8e, 0x02, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, + 0x22, 0x41, 0x0a, 0x1b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, + 0x6f, 0x6c, 0x65, 0x22, 0x1e, 0x0a, 0x1c, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x0a, 0x18, 0x44, 0x65, 0x6e, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, + 0x1b, 0x0a, 0x19, 0x44, 0x65, 0x6e, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x0a, 0x24, + 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, + 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x5c, 0x0a, 0x25, + 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, + 0x75, 0x65, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x22, 0xbf, 0x02, 0x0a, 0x04, 0x55, + 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x31, 0x0a, 0x06, 0x71, 0x75, 0x6f, + 0x74, 0x61, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x72, 0x69, 0x6c, 0x6c, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, + 0x6f, 0x74, 0x61, 0x73, 0x52, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x12, 0x28, 0x0a, 0x10, + 0x70, 0x79, 0x6c, 0x6f, 0x6e, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x79, 0x6c, 0x6f, 0x6e, 0x45, 0x6d, 0x61, + 0x69, 0x6c, 0x48, 0x61, 0x73, 0x68, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, + 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x22, 0x8e, 0x02, 0x0a, + 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 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, 0x15, 0x0a, 0x06, + 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, + 0x67, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, + 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x61, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x4f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x22, 0xe9, 0x02, + 0x0a, 0x19, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 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, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x67, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, + 0x0a, 0x11, 0x68, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x6f, + 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x68, 0x61, 0x73, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, - 0x22, 0xe9, 0x02, 0x0a, 0x19, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 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, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x67, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x67, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x68, 0x61, - 0x73, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x37, 0x0a, - 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, - 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x22, 0xad, 0x03, 0x0a, - 0x14, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 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, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, - 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, - 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6f, - 0x72, 0x67, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x67, 0x52, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, - 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x6f, 0x6c, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, - 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, - 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x22, 0xb3, 0x06, 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, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x75, - 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x6f, 0x55, 0x72, - 0x6c, 0x12, 0x22, 0x0a, 0x0d, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x64, 0x61, 0x72, 0x6b, 0x5f, 0x75, - 0x72, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x6f, 0x67, 0x6f, 0x44, 0x61, - 0x72, 0x6b, 0x55, 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, - 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x76, 0x69, - 0x63, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, - 0x61, 0x69, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, - 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x55, 0x72, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x12, 0x35, 0x0a, 0x17, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x61, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x52, 0x06, 0x71, 0x75, 0x6f, 0x74, - 0x61, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x69, 0x6c, 0x6c, 0x69, - 0x6e, 0x67, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2f, 0x0a, 0x11, 0x62, 0x69, 0x6c, 0x6c, 0x69, - 0x6e, 0x67, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, - 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x19, 0x62, 0x69, 0x6c, 0x6c, - 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x16, 0x62, - 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x4f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, - 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x42, 0x14, - 0x0a, 0x12, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, - 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x22, 0xc6, 0x03, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x04, 0x70, - 0x6c, 0x61, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, + 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x35, - 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, - 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x62, 0x0a, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, - 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x1c, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x79, 0x63, 0x6c, 0x65, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x5e, 0x0a, 0x1e, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x79, 0x63, - 0x6c, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x1a, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x79, 0x63, - 0x6c, 0x65, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x74, 0x72, 0x69, - 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x74, - 0x72, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x22, 0x54, 0x0a, 0x0a, 0x55, - 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, - 0x67, 0x6c, 0x65, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6f, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x75, 0x73, 0x65, 0x72, 0x4f, 0x72, - 0x67, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x67, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x4f, 0x72, 0x67, - 0x73, 0x22, 0xa2, 0x02, 0x0a, 0x12, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5f, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6c, 0x6f, - 0x74, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x6c, 0x6f, 0x74, 0x73, - 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x50, 0x65, 0x72, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x75, 0x74, - 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x22, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xae, 0x08, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, + 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x22, 0xad, 0x03, 0x0a, 0x14, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 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, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6f, 0x72, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x12, 0x2b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, - 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x25, 0x0a, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, - 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x69, 0x74, 0x5f, - 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x69, - 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x64, 0x5f, 0x67, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x47, 0x69, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, - 0x07, 0x73, 0x75, 0x62, 0x70, 0x61, 0x74, 0x68, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x73, 0x75, 0x62, 0x70, 0x61, 0x74, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, - 0x72, 0x79, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x28, - 0x0a, 0x10, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, - 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, - 0x6f, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, 0x69, 0x6d, 0x61, - 0x72, 0x79, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, - 0x65, 0x76, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, - 0x64, 0x65, 0x76, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x70, - 0x72, 0x6f, 0x64, 0x5f, 0x74, 0x74, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x54, 0x74, 0x6c, 0x53, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x49, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x69, 0x6c, - 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, - 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x07, 0x6f, 0x72, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x72, 0x67, 0x5f, + 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x6f, 0x72, 0x67, 0x52, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, + 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, + 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, - 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, + 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x2d, 0x0a, 0x10, 0x63, 0x68, 0x63, - 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x1b, 0x20, - 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x68, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0e, 0x72, 0x69, 0x6c, 0x6c, - 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, - 0x48, 0x01, 0x52, 0x0c, 0x72, 0x69, 0x6c, 0x6c, 0x4d, 0x69, 0x6e, 0x53, 0x6c, 0x6f, 0x74, 0x73, - 0x88, 0x01, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 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, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x68, 0x63, 0x5f, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x72, 0x69, 0x6c, - 0x6c, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x4a, 0x04, 0x08, 0x0a, 0x10, - 0x0b, 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x22, 0xde, 0x03, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x76, - 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, - 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x72, 0x61, - 0x6e, 0x63, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, - 0x21, 0x0a, 0x0c, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, - 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x49, 0x64, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, 0x0a, - 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x22, 0xd0, 0x01, 0x0a, 0x13, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, - 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xfa, 0x02, 0x0a, 0x17, - 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, - 0x05, 0x67, 0x75, 0x65, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x67, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x72, 0x67, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x67, 0x12, 0x1d, - 0x0a, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x09, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x67, 0x12, 0x23, 0x0a, - 0x0d, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x72, 0x67, - 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, - 0x72, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2c, - 0x0a, 0x12, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x11, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x4f, - 0x72, 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x22, 0xba, 0x07, 0x0a, 0x12, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x72, 0x65, 0x61, - 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0d, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x12, 0x28, 0x0a, 0x10, - 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x64, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x64, 0x5f, - 0x64, 0x65, 0x76, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x61, 0x64, 0x44, - 0x65, 0x76, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x61, - 0x64, 0x44, 0x65, 0x76, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x65, 0x76, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x44, 0x65, 0x76, 0x12, 0x3c, 0x0a, 0x1a, 0x72, 0x65, 0x61, - 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x72, - 0x65, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x1c, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x61, - 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x72, 0x65, 0x61, 0x64, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x13, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, - 0x6d, 0x61, 0x67, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, - 0x61, 0x67, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x37, - 0x0a, 0x18, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x67, 0x69, 0x63, 0x5f, 0x61, - 0x75, 0x74, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x15, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x67, 0x69, 0x63, 0x41, 0x75, 0x74, - 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x25, - 0x0a, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, - 0x61, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0c, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x12, - 0x29, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, - 0x72, 0x6b, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x12, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x42, 0x6f, 0x6f, 0x6b, - 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x22, 0x80, 0x01, 0x0a, 0x10, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x22, 0xb3, 0x06, 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, 0x48, - 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 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, 0x73, 0x52, 0x0b, 0x70, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x76, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x22, + 0x0a, 0x0d, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x64, 0x61, 0x72, 0x6b, 0x5f, 0x75, 0x72, 0x6c, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x6f, 0x67, 0x6f, 0x44, 0x61, 0x72, 0x6b, 0x55, + 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x5f, 0x75, 0x72, + 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, + 0x55, 0x72, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, + 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x68, 0x75, 0x6d, + 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x55, 0x72, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x35, 0x0a, + 0x17, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, + 0x6c, 0x65, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x52, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x12, + 0x2e, 0x0a, 0x13, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x69, + 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x2e, 0x0a, 0x13, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x23, 0x0a, 0x0d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x45, + 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2f, 0x0a, 0x11, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, + 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x0f, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x19, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, + 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x16, 0x62, 0x69, 0x6c, 0x6c, + 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, + 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x42, 0x14, 0x0a, 0x12, 0x5f, + 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6c, + 0x61, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0xc6, 0x03, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x2e, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, + 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 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, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, + 0x74, 0x65, 0x12, 0x62, 0x0a, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x69, + 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x1c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x5e, 0x0a, 0x1e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, + 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x1a, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x45, + 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, + 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x61, + 0x6c, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x22, 0x54, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, + 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6f, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x75, 0x73, 0x65, 0x72, 0x4f, 0x72, 0x67, 0x73, 0x12, + 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x73, 0x22, 0xa2, + 0x02, 0x0a, 0x12, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, + 0x75, 0x6f, 0x74, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5f, 0x70, 0x65, + 0x72, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x12, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x50, 0x65, 0x72, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x12, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x22, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, + 0x65, 0x72, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x1e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x22, 0xae, 0x08, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 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, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, + 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, + 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, + 0x2b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x69, 0x74, 0x52, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, + 0x67, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x64, 0x47, 0x69, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, + 0x62, 0x70, 0x61, 0x74, 0x68, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, + 0x70, 0x61, 0x74, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, + 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, + 0x69, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x73, + 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x5f, 0x73, 0x6c, + 0x6f, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x53, + 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x5f, + 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x65, 0x76, + 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x72, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x64, + 0x5f, 0x74, 0x74, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x54, 0x74, 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x73, 0x12, 0x49, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, + 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x2d, 0x0a, 0x10, 0x63, 0x68, 0x63, 0x5f, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x01, + 0x48, 0x00, 0x52, 0x0e, 0x63, 0x68, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x69, + 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0e, 0x72, 0x69, 0x6c, 0x6c, 0x5f, 0x6d, 0x69, + 0x6e, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, + 0x0c, 0x72, 0x69, 0x6c, 0x6c, 0x4d, 0x69, 0x6e, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x88, 0x01, 0x01, + 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 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, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x68, 0x63, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x72, 0x69, 0x6c, 0x6c, 0x5f, 0x6d, + 0x69, 0x6e, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x4a, 0x04, 0x08, 0x0a, 0x10, 0x0b, 0x4a, 0x04, + 0x08, 0x0b, 0x10, 0x0c, 0x22, 0xde, 0x03, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x76, + 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, + 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, + 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, + 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, + 0x2e, 0x0a, 0x13, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x72, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, + 0x37, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x22, 0xd0, 0x01, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, + 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x61, 0x72, + 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xfa, 0x02, 0x0a, 0x17, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x75, + 0x65, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x67, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x09, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, + 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, + 0x27, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x72, 0x65, 0x61, + 0x64, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x4f, + 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x67, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x22, 0xba, 0x07, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x5f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x72, 0x65, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x61, + 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x72, + 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x50, 0x72, 0x6f, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x64, 0x65, 0x76, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x61, 0x64, 0x44, 0x65, 0x76, 0x12, + 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x61, 0x64, 0x44, 0x65, + 0x76, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x5f, 0x64, 0x65, 0x76, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x44, 0x65, 0x76, 0x12, 0x3c, 0x0a, 0x1a, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x72, 0x65, 0x61, 0x64, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x1c, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x72, 0x65, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x32, + 0x0a, 0x15, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, + 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x67, + 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x67, 0x69, + 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x67, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x67, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x6c, 0x65, + 0x72, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x73, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x6f, + 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, + 0x6b, 0x73, 0x22, 0x80, 0x01, 0x0a, 0x10, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 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, 0x43, 0x0a, 0x0b, 0x70, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x22, 0xb1, 0x03, 0x0a, 0x16, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x75, + 0x32, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x73, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x76, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x6f, 0x6c, 0x65, 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, 0x43, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb1, 0x03, + 0x0a, 0x16, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 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, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, + 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, + 0x0e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x50, 0x68, 0x6f, 0x74, 0x6f, + 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, + 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, + 0x6e, 0x22, 0xaf, 0x03, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x55, 0x73, 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, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, + 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x55, + 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x22, 0x0a, 0x0d, 0x6f, 0x72, 0x67, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x67, 0x52, 0x6f, 0x6c, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, + 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x73, + 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, + 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x22, 0x86, 0x02, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 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, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d, @@ -26591,1664 +26780,1619 @@ var file_rill_admin_v1_api_proto_rawDesc = []byte{ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x50, 0x68, - 0x6f, 0x74, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x75, 0x73, - 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x39, - 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x4f, 0x6e, 0x22, 0xaf, 0x03, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 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, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, - 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, - 0x69, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x24, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x5f, 0x75, 0x72, - 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x50, 0x68, 0x6f, - 0x74, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x72, 0x67, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x67, 0x52, 0x6f, - 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x6f, 0x74, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x2d, 0x0a, 0x12, + 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x22, 0x66, 0x0a, 0x12, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, + 0x5f, 0x62, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x64, 0x42, 0x79, 0x22, 0xef, 0x01, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x0a, 0x09, + 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x72, 0x67, + 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x6f, 0x72, 0x67, 0x52, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x86, 0x02, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 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, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, - 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x68, 0x6f, 0x74, - 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x73, 0x65, - 0x72, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x22, - 0x66, 0x0a, 0x12, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x72, - 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x64, 0x42, 0x79, 0x22, 0xef, 0x01, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, - 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, - 0x6f, 0x72, 0x67, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x67, 0x52, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, - 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x72, 0x65, 0x73, - 0x74, 0x72, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x39, - 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x11, 0x57, 0x68, 0x69, - 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, - 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0xbc, 0x03, 0x0a, 0x08, 0x42, - 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x11, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, + 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x64, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0xbc, 0x03, 0x0a, 0x08, 0x42, 0x6f, 0x6f, 0x6b, + 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, + 0x0a, 0x75, 0x72, 0x6c, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x75, 0x72, 0x6c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x23, 0x0a, 0x0d, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b, 0x69, 0x6e, + 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, + 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x22, 0xac, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, + 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x65, 0x73, 0x4f, 0x6e, 0x22, 0xe9, 0x03, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, + 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x72, 0x6c, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x72, 0x6c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, - 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, 0x69, 0x6e, 0x64, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, - 0x72, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, - 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, - 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x22, 0xac, 0x01, 0x0a, 0x0c, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, 0x0a, - 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x4f, 0x6e, 0x22, 0xe9, 0x03, 0x0a, 0x0d, 0x55, 0x73, 0x65, - 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, - 0x0e, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x61, 0x75, 0x74, 0x68, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, - 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x70, 0x72, - 0x65, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, - 0x18, 0x0a, 0x07, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, - 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x4f, 0x6e, 0x12, - 0x33, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x06, 0x75, 0x73, - 0x65, 0x64, 0x4f, 0x6e, 0x22, 0xdc, 0x06, 0x0a, 0x0e, 0x4d, 0x61, 0x67, 0x69, 0x63, 0x41, 0x75, - 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x39, - 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, - 0x69, 0x72, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, - 0x65, 0x73, 0x4f, 0x6e, 0x12, 0x33, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x75, + 0x74, 0x68, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x37, 0x0a, 0x18, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x15, 0x61, 0x75, 0x74, 0x68, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x70, + 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, + 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, + 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, + 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, + 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x06, 0x75, 0x73, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x2b, 0x0a, 0x12, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, - 0x55, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x70, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x4f, 0x6e, 0x12, 0x33, 0x0a, 0x07, + 0x75, 0x73, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, - 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x27, 0x0a, - 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, - 0x01, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x67, 0x0a, 0x14, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, - 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, - 0x67, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, - 0x77, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x62, 0x0a, 0x17, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x72, 0x75, 0x6e, - 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, - 0x0a, 0x10, 0x0b, 0x22, 0x8a, 0x01, 0x0a, 0x0b, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, - 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, - 0x22, 0xbe, 0x06, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, - 0x5f, 0x63, 0x72, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, - 0x72, 0x65, 0x73, 0x68, 0x43, 0x72, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x66, 0x72, - 0x65, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, - 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, - 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x18, 0x15, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x48, 0x0a, - 0x13, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x0f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x41, 0x72, - 0x67, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, - 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x42, 0x0a, 0x0d, 0x65, 0x78, 0x70, - 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, - 0x0c, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x32, 0x0a, - 0x15, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, - 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, - 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0a, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, - 0x0e, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, - 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x77, 0x65, - 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x6c, - 0x61, 0x63, 0x6b, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x77, - 0x65, 0x62, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x77, 0x65, 0x62, 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, - 0x24, 0x0a, 0x0e, 0x77, 0x65, 0x62, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x65, 0x62, 0x4f, 0x70, 0x65, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x77, 0x65, 0x62, 0x5f, 0x6f, - 0x70, 0x65, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x77, 0x65, 0x62, 0x4f, 0x70, 0x65, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x4a, 0x04, 0x08, 0x13, 0x10, - 0x14, 0x22, 0xbc, 0x05, 0x0a, 0x0c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, - 0x5f, 0x63, 0x72, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, - 0x72, 0x65, 0x73, 0x68, 0x43, 0x72, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x66, 0x72, - 0x65, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, - 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, - 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x48, 0x0a, - 0x13, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, - 0x61, 0x72, 0x67, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x41, 0x72, 0x67, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x2a, - 0x0a, 0x11, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, - 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, - 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x6e, 0x6f, 0x74, 0x69, - 0x66, 0x79, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x72, 0x65, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, - 0x41, 0x66, 0x74, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x29, 0x0a, 0x10, - 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, - 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x63, - 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6c, 0x61, 0x63, 0x6b, - 0x5f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6c, - 0x61, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x6c, 0x61, 0x63, - 0x6b, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0d, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, - 0x25, 0x0a, 0x0e, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, - 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x57, 0x65, - 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x77, 0x65, 0x62, 0x5f, 0x6f, 0x70, - 0x65, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, - 0x65, 0x62, 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x24, 0x0a, 0x0e, 0x77, 0x65, - 0x62, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x77, 0x65, 0x62, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x22, 0xc0, 0x02, 0x0a, 0x0b, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 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, 0x3b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, - 0x6c, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, - 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x44, 0x61, - 0x79, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x06, - 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, - 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x6f, - 0x74, 0x61, 0x73, 0x52, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x22, 0x96, 0x02, 0x0a, 0x06, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, - 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x30, 0x0a, - 0x14, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x6c, 0x6f, - 0x74, 0x73, 0x50, 0x65, 0x72, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x2f, 0x0a, 0x13, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6f, 0x75, - 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, - 0x12, 0x4a, 0x0a, 0x22, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1e, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x50, - 0x65, 0x72, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x82, 0x02, 0x0a, - 0x09, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x10, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x06, 0x75, 0x73, 0x65, 0x64, 0x4f, + 0x6e, 0x22, 0xdc, 0x06, 0x0a, 0x0e, 0x4d, 0x61, 0x67, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, + 0x73, 0x5f, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, - 0x6e, 0x22, 0x8e, 0x03, 0x0a, 0x0f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, - 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x23, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x4f, + 0x6e, 0x12, 0x33, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x06, + 0x75, 0x73, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x2b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, + 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, + 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, + 0x39, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x11, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, + 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0d, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x67, 0x0a, 0x14, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x72, 0x69, 0x6c, + 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x67, 0x69, 0x63, + 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x56, 0x69, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x12, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x56, 0x69, 0x65, 0x77, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, + 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x62, 0x0a, 0x17, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x56, 0x69, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x0a, 0x10, 0x0b, + 0x22, 0x8a, 0x01, 0x0a, 0x0b, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, 0x0a, - 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x74, - 0x72, 0x69, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, - 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x22, 0xc4, 0x02, 0x0a, 0x0c, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, - 0x73, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x33, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x72, 0x69, 0x6c, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, - 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x12, 0x3f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, - 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x22, 0xbe, 0x06, + 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x63, 0x72, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, + 0x68, 0x43, 0x72, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, + 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x48, 0x0a, 0x13, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x0f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x5f, 0x61, 0x72, 0x67, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x41, 0x72, 0x67, 0x73, 0x4a, + 0x73, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x42, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0c, 0x65, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x29, + 0x0a, 0x10, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x52, + 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6c, 0x61, + 0x63, 0x6b, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, + 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x6c, + 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0d, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x77, 0x65, 0x62, 0x68, 0x6f, + 0x6f, 0x6b, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x6c, 0x61, 0x63, 0x6b, + 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x77, 0x65, 0x62, 0x5f, + 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x77, 0x65, 0x62, 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x24, 0x0a, 0x0e, + 0x77, 0x65, 0x62, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x65, 0x62, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, + 0x6e, 0x76, 0x61, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x77, 0x65, 0x62, 0x5f, 0x6f, 0x70, 0x65, 0x6e, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x65, 0x62, + 0x4f, 0x70, 0x65, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x4a, 0x04, 0x08, 0x13, 0x10, 0x14, 0x22, 0xbc, + 0x05, 0x0a, 0x0c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x63, 0x72, + 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, + 0x68, 0x43, 0x72, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, + 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x48, 0x0a, 0x13, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x72, 0x67, + 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x41, 0x72, 0x67, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x6d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x56, + 0x69, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, + 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x14, 0x72, 0x65, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x41, 0x66, 0x74, + 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x6d, 0x61, + 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x75, 0x73, + 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6c, 0x61, 0x63, 0x6b, + 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, + 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x0e, + 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x0b, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x57, 0x65, 0x62, 0x68, 0x6f, + 0x6f, 0x6b, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x77, 0x65, 0x62, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x65, 0x62, 0x4f, + 0x70, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x24, 0x0a, 0x0e, 0x77, 0x65, 0x62, 0x5f, 0x6f, + 0x70, 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x77, 0x65, 0x62, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0xc0, 0x02, + 0x0a, 0x0b, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 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, 0x3b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x65, 0x72, + 0x69, 0x6f, 0x64, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, + 0x74, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x44, 0x61, 0x79, 0x73, 0x12, + 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x71, 0x75, 0x6f, + 0x74, 0x61, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x69, 0x6c, 0x6c, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, + 0x52, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x22, 0x96, 0x02, 0x0a, 0x06, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6c, 0x6f, + 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x6c, + 0x6f, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x50, + 0x65, 0x72, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x13, + 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6f, 0x75, 0x74, 0x73, 0x74, + 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x4a, 0x0a, + 0x22, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x82, 0x02, 0x0a, 0x09, 0x55, 0x73, + 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, + 0x0a, 0x07, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x4f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, - 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x22, 0xc4, 0x07, 0x0a, 0x14, 0x42, 0x69, + 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x22, 0x8e, + 0x03, 0x0a, 0x0f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, + 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x11, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, + 0xc4, 0x02, 0x0a, 0x0c, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, + 0x72, 0x67, 0x12, 0x33, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x1f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, + 0x73, 0x75, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, + 0x3f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x22, 0xc4, 0x07, 0x0a, 0x14, 0x42, 0x69, 0x6c, 0x6c, 0x69, + 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x47, 0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x6e, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x48, 0x00, 0x52, + 0x07, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x50, 0x0a, 0x0b, 0x74, 0x72, 0x69, 0x61, + 0x6c, 0x5f, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x47, 0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, - 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x6e, 0x54, 0x72, 0x69, 0x61, 0x6c, - 0x48, 0x00, 0x52, 0x07, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x50, 0x0a, 0x0b, 0x74, - 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x48, - 0x00, 0x52, 0x0a, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x60, 0x0a, - 0x11, 0x6e, 0x6f, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, - 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x50, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x48, 0x00, 0x52, 0x0f, - 0x6e, 0x6f, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, - 0x66, 0x0a, 0x13, 0x6e, 0x6f, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x72, + 0x74, 0x61, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0a, + 0x74, 0x72, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x60, 0x0a, 0x11, 0x6e, 0x6f, + 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, + 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x50, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x6e, 0x6f, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x66, 0x0a, 0x13, + 0x6e, 0x6f, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x72, 0x69, 0x6c, 0x6c, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, + 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x6f, + 0x42, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, + 0x00, 0x52, 0x11, 0x6e, 0x6f, 0x42, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x59, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x4e, 0x6f, 0x42, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x48, 0x00, 0x52, 0x11, 0x6e, 0x6f, 0x42, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x59, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x30, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x12, 0x71, 0x0a, 0x16, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x48, 0x00, 0x52, 0x15, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x63, - 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x5f, 0x0a, 0x10, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x5f, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x32, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x61, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x48, 0x00, + 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, + 0x71, 0x0a, 0x16, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x38, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x4e, 0x65, 0x76, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x62, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x5f, 0x6c, 0x6f, 0x77, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x69, 0x6c, + 0x64, 0x61, 0x74, 0x61, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x48, 0x00, 0x52, 0x15, 0x73, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, + 0x65, 0x64, 0x12, 0x5f, 0x0a, 0x10, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x72, + 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, + 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x4e, 0x65, 0x76, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, + 0x48, 0x00, 0x52, 0x0f, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x6c, 0x6f, + 0x77, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, + 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x4c, 0x6f, 0x77, 0x48, 0x00, 0x52, 0x09, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x4c, + 0x6f, 0x77, 0x12, 0x5c, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x63, 0x72, 0x69, + 0x74, 0x69, 0x63, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x72, 0x69, + 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, + 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x48, 0x00, + 0x52, 0x0e, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, + 0x12, 0x5f, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x65, 0x78, 0x68, 0x61, 0x75, + 0x73, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x77, 0x48, 0x00, 0x52, 0x09, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x4c, 0x6f, 0x77, 0x12, 0x5c, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, - 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, - 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, - 0x6c, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x43, 0x72, 0x69, 0x74, 0x69, - 0x63, 0x61, 0x6c, 0x12, 0x5f, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x65, 0x78, - 0x68, 0x61, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, - 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, - 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x45, 0x78, 0x68, 0x61, 0x75, 0x73, 0x74, 0x65, - 0x64, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x45, 0x78, 0x68, 0x61, 0x75, - 0x73, 0x74, 0x65, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x22, 0xa3, 0x01, 0x0a, 0x1b, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, - 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x6e, 0x54, 0x72, 0x69, 0x61, 0x6c, - 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, - 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x4d, 0x0a, 0x15, 0x67, 0x72, 0x61, 0x63, 0x65, - 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x12, 0x67, 0x72, 0x61, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x45, - 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x1e, 0x42, 0x69, 0x6c, 0x6c, 0x69, - 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x54, - 0x72, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, - 0x12, 0x4d, 0x0a, 0x15, 0x67, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, - 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x45, 0x78, 0x68, 0x61, 0x75, 0x73, 0x74, 0x65, 0x64, 0x48, 0x00, + 0x52, 0x0f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x45, 0x78, 0x68, 0x61, 0x75, 0x73, 0x74, 0x65, + 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa3, 0x01, + 0x0a, 0x1b, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x6e, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x35, 0x0a, + 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x67, 0x72, 0x61, - 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x22, - 0x25, 0x0a, 0x23, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0x27, 0x0a, 0x25, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, - 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x6f, - 0x42, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, - 0x75, 0x0a, 0x21, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x61, - 0x69, 0x6c, 0x65, 0x64, 0x12, 0x50, 0x0a, 0x08, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, - 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x08, 0x69, 0x6e, - 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x22, 0x88, 0x03, 0x0a, 0x25, 0x42, 0x69, 0x6c, 0x6c, 0x69, - 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, - 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, - 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, - 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x64, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x44, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x63, 0x79, 0x12, 0x35, 0x0a, 0x08, 0x64, 0x75, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x07, 0x64, 0x75, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x09, 0x66, 0x61, 0x69, - 0x6c, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x4f, 0x6e, 0x12, 0x4d, 0x0a, 0x15, 0x67, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, - 0x6f, 0x64, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x67, - 0x72, 0x61, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, - 0x65, 0x22, 0x62, 0x0a, 0x29, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, - 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x35, - 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, - 0x64, 0x44, 0x61, 0x74, 0x65, 0x22, 0x25, 0x0a, 0x23, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, - 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x65, 0x76, - 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x22, 0xae, 0x01, 0x0a, - 0x1d, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x77, 0x12, 0x29, - 0x0a, 0x10, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, - 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x0b, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x3f, 0x0a, 0x0d, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x03, 0x20, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, + 0x44, 0x61, 0x74, 0x65, 0x12, 0x4d, 0x0a, 0x15, 0x67, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x65, + 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x0c, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x22, 0xb3, 0x01, - 0x0a, 0x22, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x43, 0x72, 0x69, 0x74, - 0x69, 0x63, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x72, - 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, - 0x21, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x6f, 0x74, - 0x61, 0x6c, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x65, 0x78, 0x70, - 0x69, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x12, 0x67, 0x72, 0x61, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x45, 0x6e, 0x64, 0x44, + 0x61, 0x74, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x1e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, + 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x54, 0x72, 0x69, 0x61, + 0x6c, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, + 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x4d, 0x0a, + 0x15, 0x67, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x65, 0x6e, + 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x67, 0x72, 0x61, 0x63, 0x65, 0x50, + 0x65, 0x72, 0x69, 0x6f, 0x64, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x22, 0x25, 0x0a, 0x23, + 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x22, 0x27, 0x0a, 0x25, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, + 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x42, 0x69, 0x6c, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x75, 0x0a, 0x21, + 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x12, 0x50, 0x0a, 0x08, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x46, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x6f, 0x69, + 0x63, 0x65, 0x73, 0x22, 0x88, 0x03, 0x0a, 0x25, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, + 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1d, 0x0a, + 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, + 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x75, + 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, + 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x64, + 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x44, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, + 0x35, 0x0a, 0x08, 0x64, 0x75, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x64, + 0x75, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, + 0x5f, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x45, 0x78, 0x70, - 0x69, 0x72, 0x79, 0x22, 0xc8, 0x01, 0x0a, 0x23, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, - 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x45, 0x78, 0x68, 0x61, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x01, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x3f, - 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, - 0x3d, 0x0a, 0x0c, 0x65, 0x78, 0x68, 0x61, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 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, 0x65, 0x78, 0x68, 0x61, 0x75, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x2a, 0x6e, - 0x0a, 0x10, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 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, 0x1a, 0x0a, 0x16, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x5f, - 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, - 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x5f, 0x50, 0x45, 0x52, 0x4d, - 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x02, 0x2a, 0xb0, - 0x02, 0x0a, 0x10, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, - 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, - 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, - 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, - 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, - 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, - 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x45, - 0x44, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, - 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, - 0x10, 0x05, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, - 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, 0x4e, 0x47, - 0x10, 0x07, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, - 0x10, 0x08, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, - 0x09, 0x2a, 0xe8, 0x01, 0x0a, 0x0f, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, - 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x42, 0x49, 0x4c, 0x4c, - 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x52, - 0x49, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, - 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, - 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4c, 0x41, - 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0x03, - 0x12, 0x20, 0x0a, 0x1c, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4c, 0x41, 0x4e, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x50, 0x52, 0x49, 0x53, 0x45, - 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4c, - 0x41, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x52, 0x45, 0x45, 0x10, 0x05, 0x12, 0x1c, - 0x0a, 0x18, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x57, 0x54, 0x48, 0x10, 0x06, 0x2a, 0xc4, 0x03, 0x0a, - 0x10, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x53, 0x53, - 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, - 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x54, - 0x52, 0x49, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, - 0x47, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x52, 0x49, - 0x41, 0x4c, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x02, 0x12, 0x28, 0x0a, 0x24, 0x42, 0x49, - 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x4e, 0x4f, 0x5f, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x48, - 0x4f, 0x44, 0x10, 0x03, 0x12, 0x2a, 0x0a, 0x26, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, - 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x42, 0x49, - 0x4c, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x10, 0x04, - 0x12, 0x25, 0x0a, 0x21, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x53, 0x53, 0x55, - 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x46, - 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x2d, 0x0a, 0x29, 0x42, 0x49, 0x4c, 0x4c, 0x49, - 0x4e, 0x47, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x55, - 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, - 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x12, 0x27, 0x0a, 0x23, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, - 0x47, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x45, 0x56, - 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x44, 0x10, 0x07, 0x12, - 0x21, 0x0a, 0x1d, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x5f, 0x4c, 0x4f, 0x57, - 0x10, 0x08, 0x12, 0x26, 0x0a, 0x22, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x53, - 0x53, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x5f, - 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x09, 0x12, 0x27, 0x0a, 0x23, 0x42, 0x49, - 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x5f, 0x45, 0x58, 0x48, 0x41, 0x55, 0x53, 0x54, 0x45, - 0x44, 0x10, 0x0a, 0x2a, 0x78, 0x0a, 0x11, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, - 0x73, 0x75, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x23, 0x0a, 0x1f, 0x42, 0x49, 0x4c, 0x4c, - 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, - 0x1b, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, 0x4c, - 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x1d, - 0x0a, 0x19, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, - 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x32, 0xcb, 0xca, - 0x01, 0x0a, 0x0c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x51, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x10, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0a, 0x12, 0x08, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x69, - 0x6e, 0x67, 0x12, 0x95, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x28, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x2d, 0x92, 0x41, 0x1a, - 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0a, - 0x12, 0x08, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x0f, 0x47, - 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, - 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 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, 0x33, 0x92, - 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, - 0x67, 0x7d, 0x12, 0xb5, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x12, 0x32, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x6e, 0x12, + 0x4d, 0x0a, 0x15, 0x67, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, + 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x67, 0x72, 0x61, 0x63, + 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x22, 0x62, + 0x0a, 0x29, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x35, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, + 0x74, 0x65, 0x22, 0x25, 0x0a, 0x23, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, + 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x65, 0x76, 0x65, 0x72, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x22, 0xae, 0x01, 0x0a, 0x1d, 0x42, 0x69, + 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x77, 0x12, 0x29, 0x0a, 0x10, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x52, 0x65, 0x6d, + 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 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, 0x64, 0x69, 0x74, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x22, 0xb3, 0x01, 0x0a, 0x22, 0x42, + 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, + 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x61, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x01, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, + 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, + 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, 0x64, 0x69, 0x74, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, + 0x22, 0xc8, 0x01, 0x0a, 0x23, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, + 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x45, + 0x78, 0x68, 0x61, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x3f, 0x0a, 0x0d, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x3d, 0x0a, 0x0c, + 0x65, 0x78, 0x68, 0x61, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 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, + 0x65, 0x78, 0x68, 0x61, 0x75, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x2a, 0x6e, 0x0a, 0x10, 0x47, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x21, 0x0a, 0x1d, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 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, 0x1a, 0x0a, 0x16, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x5f, 0x50, 0x45, 0x52, + 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x01, 0x12, 0x1b, + 0x0a, 0x17, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, + 0x49, 0x4f, 0x4e, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x02, 0x2a, 0xb0, 0x02, 0x0a, 0x10, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, + 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, + 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, + 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x04, + 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0x05, 0x12, + 0x1e, 0x0a, 0x1a, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, + 0x1e, 0x0a, 0x1a, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x07, 0x12, + 0x1e, 0x0a, 0x1a, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x08, 0x12, + 0x1d, 0x0a, 0x19, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x09, 0x2a, 0xe8, + 0x01, 0x0a, 0x0f, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4c, + 0x41, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, + 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4c, + 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4c, + 0x41, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x02, 0x12, 0x1d, + 0x0a, 0x19, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0x03, 0x12, 0x20, 0x0a, + 0x1c, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x50, 0x52, 0x49, 0x53, 0x45, 0x10, 0x04, 0x12, + 0x1a, 0x0a, 0x16, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x52, 0x45, 0x45, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x42, + 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x47, 0x52, 0x4f, 0x57, 0x54, 0x48, 0x10, 0x06, 0x2a, 0xc4, 0x03, 0x0a, 0x10, 0x42, 0x69, + 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, + 0x0a, 0x1e, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x53, + 0x53, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x54, 0x52, 0x49, 0x41, + 0x4c, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x49, + 0x53, 0x53, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4c, 0x5f, + 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x02, 0x12, 0x28, 0x0a, 0x24, 0x42, 0x49, 0x4c, 0x4c, 0x49, + 0x4e, 0x47, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, + 0x5f, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x10, + 0x03, 0x12, 0x2a, 0x0a, 0x26, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x53, 0x53, + 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x42, 0x49, 0x4c, 0x4c, 0x41, + 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x10, 0x04, 0x12, 0x25, 0x0a, + 0x21, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, + 0x45, 0x44, 0x10, 0x05, 0x12, 0x2d, 0x0a, 0x29, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, + 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, + 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, + 0x44, 0x10, 0x06, 0x12, 0x27, 0x0a, 0x23, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x49, + 0x53, 0x53, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x45, 0x56, 0x45, 0x52, 0x5f, + 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x44, 0x10, 0x07, 0x12, 0x21, 0x0a, 0x1d, + 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x08, 0x12, + 0x26, 0x0a, 0x22, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x5f, 0x43, 0x52, 0x49, + 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x09, 0x12, 0x27, 0x0a, 0x23, 0x42, 0x49, 0x4c, 0x4c, 0x49, + 0x4e, 0x47, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x52, + 0x45, 0x44, 0x49, 0x54, 0x5f, 0x45, 0x58, 0x48, 0x41, 0x55, 0x53, 0x54, 0x45, 0x44, 0x10, 0x0a, + 0x2a, 0x78, 0x0a, 0x11, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x23, 0x0a, 0x1f, 0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, + 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x42, 0x49, + 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, + 0x4c, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x42, + 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, 0x4c, 0x45, 0x56, + 0x45, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x32, 0xde, 0xcb, 0x01, 0x0a, 0x0c, + 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x51, 0x0a, 0x04, + 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x10, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x0a, 0x12, 0x08, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x69, 0x6e, 0x67, 0x12, + 0x95, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 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, 0x28, + 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x2d, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, + 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, + 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0a, 0x12, 0x08, 0x2f, + 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x72, 0x69, + 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x33, 0x92, 0x41, 0x1a, 0x6a, + 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, + 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, + 0x0e, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x12, + 0xb5, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x44, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x66, 0x6f, 0x72, 0x2d, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x2f, 0x7b, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x7d, 0x12, 0x9b, 0x01, 0x0a, 0x12, 0x43, + 0x12, 0x32, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4e, 0x61, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x26, 0x12, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2d, 0x66, 0x6f, 0x72, 0x2d, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2f, 0x7b, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x7d, 0x12, 0x9b, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, + 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x28, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x29, 0x2e, 0x72, 0x69, - 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x30, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, - 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x3a, 0x01, 0x2a, 0x22, 0x08, - 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x12, 0x9e, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x28, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x29, 0x2e, 0x72, 0x69, 0x6c, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x33, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, - 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x2a, 0x0e, 0x2f, 0x76, 0x31, 0x2f, 0x6f, - 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x12, 0xa1, 0x01, 0x0a, 0x12, 0x55, 0x70, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x30, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, + 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x3a, 0x01, 0x2a, 0x22, 0x08, 0x2f, 0x76, 0x31, + 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x12, 0x9e, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x2e, 0x72, + 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x29, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 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, 0x33, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x2a, 0x0e, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, + 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x12, 0xa1, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x28, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x29, 0x2e, 0x72, 0x69, 0x6c, - 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x36, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, - 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x3a, 0x01, 0x2a, 0x32, 0x0e, 0x2f, - 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x12, 0xc2, 0x01, - 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, - 0x72, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x2e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 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, 0x36, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, + 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x3a, 0x01, 0x2a, 0x32, 0x0e, 0x2f, 0x76, 0x31, 0x2f, + 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x12, 0xc2, 0x01, 0x0a, 0x1b, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x4f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x2e, 0x72, 0x69, 0x6c, + 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x4f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x32, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, - 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, - 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x6f, - 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x12, 0xc3, 0x01, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, 0x38, 0x2e, 0x72, 0x69, 0x6c, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x3c, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, + 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, + 0xc3, 0x01, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, - 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, - 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, - 0x66, 0x6f, 0x72, 0x2d, 0x75, 0x73, 0x65, 0x72, 0x12, 0xa7, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, - 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x46, 0x69, 0x6e, 0x67, - 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x69, 0x6c, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, + 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, 0x38, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x39, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, + 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x66, 0x6f, 0x72, + 0x2d, 0x75, 0x73, 0x65, 0x72, 0x12, 0xa7, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, - 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2d, 0x66, 0x6f, 0x72, 0x2d, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, - 0x6e, 0x74, 0x12, 0x99, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x20, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, - 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x31, - 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x12, 0x94, - 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, - 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x2e, 0x72, - 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, - 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x55, 0x73, 0x65, - 0x72, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x78, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x42, 0x79, 0x49, 0x44, 0x12, 0x24, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, - 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, - 0x90, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x29, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, - 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x12, 0x9b, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x23, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x72, 0x69, 0x6c, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x3f, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, - 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x12, 0xa2, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x23, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x92, - 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x23, 0x2a, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, - 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x12, 0xa5, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x23, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x72, - 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x49, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, - 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x3a, 0x01, 0x2a, 0x32, 0x21, 0x2f, 0x76, 0x31, 0x2f, - 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x12, 0xbe, 0x01, - 0x0a, 0x13, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, 0x72, 0x69, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x50, 0x92, 0x41, + 0x72, 0x69, 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x46, 0x6f, 0x72, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, + 0x66, 0x6f, 0x72, 0x2d, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, + 0x99, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, + 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x21, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x46, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, + 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, + 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x19, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x55, + 0x73, 0x65, 0x72, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x69, 0x6c, + 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x12, 0x78, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x42, 0x79, 0x49, 0x44, 0x12, 0x24, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, + 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x72, 0x69, 0x6c, + 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x90, 0x01, 0x0a, + 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, + 0x12, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, + 0x9b, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x23, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, - 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0xad, - 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x2c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, + 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, + 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0xa2, 0x01, + 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x23, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x92, 0x41, 0x1a, 0x6a, + 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, + 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x2a, + 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x12, 0xa5, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x23, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x36, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x3a, 0x01, - 0x2a, 0x1a, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, - 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x7c, - 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x21, 0x2e, - 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x22, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, - 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x12, 0x94, 0x01, 0x0a, - 0x0f, 0x52, 0x65, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x25, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x22, 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, + 0x49, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x26, 0x3a, 0x01, 0x2a, 0x32, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x12, 0x98, 0x01, 0x0a, 0x10, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, - 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x27, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x2d, 0x22, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, - 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x68, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x97, - 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x12, 0x25, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x6f, - 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x9d, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x2e, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x12, 0xbe, 0x01, 0x0a, 0x13, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, + 0x65, 0x73, 0x12, 0x29, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x50, 0x92, 0x41, 0x1a, 0x6a, 0x18, + 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, + 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, + 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0xad, 0x01, 0x0a, 0x16, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x2c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x36, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x3a, 0x01, 0x2a, 0x1a, 0x2b, + 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x7c, 0x0a, 0x0b, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x21, 0x2e, 0x72, 0x69, 0x6c, + 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x3a, 0x01, 0x2a, 0x22, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x6f, - 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x92, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, - 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x2e, 0x72, 0x69, 0x6c, - 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x24, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x36, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x3a, 0x01, 0x2a, - 0x22, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x7d, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x92, 0x01, - 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x25, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x22, 0x25, 0x2f, 0x76, 0x31, - 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x12, 0x8e, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x70, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x72, 0x69, - 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, + 0x65, 0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x76, + 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x12, 0x94, 0x01, 0x0a, 0x0f, 0x52, 0x65, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x2c, 0x22, 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, + 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x12, 0x98, 0x01, 0x0a, 0x10, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x69, + 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x22, 0x2b, + 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x68, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x97, 0x01, 0x0a, 0x0f, + 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x25, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, + 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x9d, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x2e, 0x72, 0x69, 0x6c, + 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x32, 0x3a, 0x01, 0x2a, 0x22, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, + 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x92, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x72, + 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, + 0x73, 0x65, 0x22, 0x36, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x3a, 0x01, 0x2a, 0x22, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, - 0x74, 0x6f, 0x70, 0x12, 0x8c, 0x01, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x27, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x21, 0x2a, 0x1f, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x7d, 0x12, 0x99, 0x01, 0x0a, 0x10, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, - 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x12, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, - 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x27, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, - 0x3a, 0x01, 0x2a, 0x22, 0x29, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x12, 0xa6, - 0x01, 0x0a, 0x15, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, - 0x68, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x66, - 0x72, 0x65, 0x73, 0x68, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x22, 0x27, - 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, - 0x7b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, - 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x84, 0x01, 0x0a, 0x0f, 0x54, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x52, 0x65, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x25, 0x2e, 0x72, 0x69, - 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x52, 0x65, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x2d, 0x2f, 0x72, 0x65, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x84, - 0x01, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x2e, 0x72, - 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, - 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x3a, 0x01, 0x2a, 0x22, 0x29, 0x2f, 0x76, 0x31, 0x2f, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, + 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x92, 0x01, 0x0a, 0x0f, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, + 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x22, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, + 0x8e, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x70, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x24, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x9c, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x29, 0x2e, - 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x76, - 0x31, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x61, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, - 0x73, 0x12, 0x1f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x2f, 0x76, - 0x31, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0xc1, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, - 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x31, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x70, + 0x12, 0x8c, 0x01, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x2a, 0x1f, + 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, + 0x7b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, + 0x99, 0x01, 0x0a, 0x10, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x6e, + 0x63, 0x69, 0x6c, 0x65, 0x12, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, + 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, + 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x3a, 0x01, 0x2a, + 0x22, 0x29, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x7d, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x12, 0xa6, 0x01, 0x0a, 0x15, + 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x66, + 0x72, 0x65, 0x73, 0x68, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, + 0x68, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x22, 0x27, 0x2f, 0x76, 0x31, + 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x65, 0x66, + 0x72, 0x65, 0x73, 0x68, 0x12, 0x84, 0x01, 0x0a, 0x0f, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x52, 0x65, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x25, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x52, 0x65, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x3a, + 0x01, 0x2a, 0x22, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2d, 0x2f, 0x72, 0x65, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x84, 0x01, 0x0a, 0x09, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x72, 0x69, 0x6c, + 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x2e, 0x3a, 0x01, 0x2a, 0x22, 0x29, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x9c, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x29, 0x2e, 0x72, 0x69, 0x6c, + 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x76, 0x31, 0x2f, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x61, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x1f, + 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x20, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x2f, 0x76, 0x31, 0x2f, 0x72, + 0x6f, 0x6c, 0x65, 0x73, 0x12, 0xc1, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, + 0x73, 0x65, 0x72, 0x73, 0x12, 0x31, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 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, 0x55, 0x73, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x55, 0x73, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x69, 0x6c, - 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, - 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, - 0x72, 0x67, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0xb5, 0x01, 0x0a, 0x17, - 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, - 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, - 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x76, 0x31, - 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x19, 0x41, 0x64, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, - 0x72, 0x12, 0x2f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, - 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x76, - 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x12, 0xcc, 0x01, 0x0a, 0x1c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x32, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x92, 0x41, 0x1a, + 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, + 0x12, 0x16, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, + 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0xb5, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, + 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, + 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, + 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, + 0x12, 0xbe, 0x01, 0x0a, 0x19, 0x41, 0x64, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2f, + 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x64, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x30, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x64, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x3e, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x76, 0x31, 0x2f, 0x6f, + 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x12, 0xcc, 0x01, 0x0a, 0x1c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x69, 0x6c, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, - 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x20, 0x2a, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, - 0x72, 0x67, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x11, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x4f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x2e, 0x72, 0x69, 0x6c, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x4f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x20, 0x2a, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, - 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x12, 0xb5, 0x01, 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, + 0x65, 0x72, 0x12, 0x32, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x92, 0x41, 0x1a, + 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, + 0x2a, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, + 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x7d, + 0x12, 0x8e, 0x01, 0x0a, 0x11, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x28, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x65, 0x61, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x20, 0x2a, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, + 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0xb5, 0x01, 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x6f, 0x6c, 0x65, 0x12, 0x33, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x33, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x72, 0x69, - 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x3a, 0x01, 0x2a, 0x1a, 0x1e, 0x2f, 0x76, - 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x7d, 0x12, 0xa6, 0x01, 0x0a, - 0x19, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x72, 0x69, 0x6c, - 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x69, - 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, - 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x7d, 0x12, 0xd6, 0x01, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x46, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x41, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, 0x35, 0x2e, 0x72, 0x69, 0x6c, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x46, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x41, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x36, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x46, - 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, - 0x12, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, - 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xdb, - 0x01, 0x0a, 0x26, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x3c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 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, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x3a, 0x01, - 0x2a, 0x1a, 0x29, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, - 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x7d, 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0xc5, 0x01, 0x0a, - 0x16, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, - 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x76, 0x31, 0x2f, 0x6f, - 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x12, 0xb9, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x69, - 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x4e, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, - 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, - 0x12, 0xc2, 0x01, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x51, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, - 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x3a, 0x01, 0x2a, 0x22, 0x29, 0x2f, 0x76, 0x31, 0x2f, - 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0xd0, 0x01, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, - 0x72, 0x12, 0x2d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, + 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x3a, 0x01, 0x2a, 0x1a, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x6f, + 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2f, 0x7b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x7d, 0x12, 0xa6, 0x01, 0x0a, 0x19, 0x47, 0x65, + 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, + 0x67, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x65, 0x6d, 0x61, 0x69, + 0x6c, 0x7d, 0x12, 0xd6, 0x01, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x46, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, + 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, 0x35, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x46, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, + 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x46, 0x6f, 0x72, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, + 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x7d, + 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xdb, 0x01, 0x0a, 0x26, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x3c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 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, 0x55, + 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 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, 0x55, 0x73, 0x65, + 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x3a, 0x01, 0x2a, 0x1a, 0x29, + 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x7d, 0x2f, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0xc5, 0x01, 0x0a, 0x16, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, + 0x73, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x4e, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, + 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x12, 0xb9, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x92, + 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, + 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0xc2, 0x01, + 0x0a, 0x14, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x51, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x2e, 0x3a, 0x01, 0x2a, 0x22, 0x29, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, + 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x12, 0xd0, 0x01, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2d, + 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x92, + 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x33, 0x2a, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, + 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x7d, 0x12, 0xd6, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, + 0x6c, 0x65, 0x12, 0x2e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x59, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, + 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x3a, 0x01, 0x2a, 0x1a, 0x31, 0x2f, 0x76, 0x31, + 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x7d, 0x12, 0xc7, + 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x2a, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, + 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x2f, 0x7b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x7d, 0x12, 0xd6, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x2e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x59, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, - 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x3a, 0x01, 0x2a, 0x1a, 0x31, - 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x7d, 0x12, 0xc7, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x72, 0x69, 0x6c, - 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x56, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, - 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, - 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x7d, 0x12, 0xcb, 0x01, 0x0a, 0x24, - 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x46, 0x6f, - 0x72, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, - 0x55, 0x73, 0x65, 0x72, 0x12, 0x3a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x46, 0x6f, 0x72, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x3b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x46, - 0x6f, 0x72, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, - 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, - 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x2d, 0x66, 0x6f, 0x72, 0x2d, 0x75, 0x73, 0x65, 0x72, 0x12, 0xa3, 0x01, 0x0a, 0x0f, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x25, 0x2e, - 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x92, 0x41, - 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1e, 0x3a, 0x01, 0x2a, 0x22, 0x19, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, - 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, - 0xa3, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x12, 0x22, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x92, 0x41, 0x1a, 0x6a, 0x18, - 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, - 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, - 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x75, - 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x25, 0x2e, 0x72, 0x69, 0x6c, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, - 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, - 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, - 0x32, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, - 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, - 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, - 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x36, 0x2e, 0x72, - 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 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, 0x55, 0x73, 0x65, 0x72, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x92, - 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, - 0x67, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xd7, 0x01, - 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x31, 0x2e, + 0x2f, 0x7b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x7d, 0x12, 0xcb, 0x01, 0x0a, 0x24, 0x4c, 0x69, 0x73, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x46, 0x6f, 0x72, 0x4f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x55, 0x73, 0x65, + 0x72, 0x12, 0x3a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x46, 0x6f, 0x72, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, + 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, - 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x32, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, - 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x6f, - 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x75, 0x73, 0x65, - 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xac, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x25, 0x2e, 0x72, 0x69, - 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x92, 0x41, 0x1a, 0x6a, - 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, - 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x2a, - 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, - 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0xc4, 0x01, 0x0a, 0x1e, 0x41, 0x64, 0x64, 0x4f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x34, 0x2e, 0x72, 0x69, 0x6c, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, - 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x35, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x64, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x3a, 0x01, - 0x2a, 0x22, 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, - 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x73, - 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0xd0, 0x01, - 0x0a, 0x22, 0x53, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x38, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, - 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x6f, 0x6c, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x2f, 0x3a, 0x01, 0x2a, 0x1a, 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, - 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, - 0x7b, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, - 0x12, 0xca, 0x01, 0x0a, 0x21, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, - 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x37, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, + 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x46, 0x6f, 0x72, 0x4f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x55, 0x73, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, + 0x67, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2d, 0x66, 0x6f, + 0x72, 0x2d, 0x75, 0x73, 0x65, 0x72, 0x12, 0xa3, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x25, 0x2e, 0x72, 0x69, 0x6c, + 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x92, 0x41, 0x1a, 0x6a, 0x18, + 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, + 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, + 0x2a, 0x22, 0x19, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, + 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xa3, 0x01, 0x0a, + 0x0c, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x22, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x23, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, + 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x76, 0x31, + 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x25, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, + 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x32, 0x25, 0x2f, + 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x75, 0x73, + 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, - 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x38, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x36, 0x2e, 0x72, 0x69, 0x6c, 0x6c, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, + 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x37, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x2c, 0x2a, 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, - 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x73, - 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0xe6, 0x01, - 0x0a, 0x19, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2f, 0x2e, 0x72, 0x69, - 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x50, + 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x92, 0x41, 0x1a, 0x6a, + 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, + 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x12, + 0x19, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, + 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xd7, 0x01, 0x0a, 0x1b, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x31, 0x2e, 0x72, 0x69, 0x6c, + 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, - 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, - 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, - 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x43, 0x3a, 0x01, 0x2a, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, + 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x51, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, - 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0xf2, 0x01, 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x33, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, - 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, - 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x66, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, - 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x3a, 0x01, 0x2a, 0x1a, 0x3e, 0x2f, 0x76, 0x31, - 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x75, + 0x6f, 0x75, 0x70, 0x73, 0x12, 0xac, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, + 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x25, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, + 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, + 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, + 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x2a, 0x25, 0x2f, 0x76, + 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x75, 0x73, 0x65, + 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x7d, 0x12, 0xc4, 0x01, 0x0a, 0x1e, 0x41, 0x64, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, + 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x34, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x72, + 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x3a, 0x01, 0x2a, 0x22, 0x2a, + 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0xec, 0x01, 0x0a, 0x1c, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x32, 0x2e, 0x72, + 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0xd0, 0x01, 0x0a, 0x22, 0x53, + 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x6f, 0x6c, + 0x65, 0x12, 0x38, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x72, 0x69, + 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x3a, 0x01, + 0x2a, 0x1a, 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, + 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x73, + 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0xca, 0x01, + 0x0a, 0x21, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x12, 0x37, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x2a, 0x2a, + 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x75, + 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0xe6, 0x01, 0x0a, 0x19, 0x41, + 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, + 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x69, 0x6c, 0x6c, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x92, 0x41, 0x1a, + 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, + 0x3a, 0x01, 0x2a, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, + 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x72, 0x6f, + 0x6c, 0x65, 0x73, 0x12, 0xf2, 0x01, 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x33, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x72, 0x69, 0x6c, + 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x66, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x3a, 0x01, 0x2a, 0x1a, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, + 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0xec, 0x01, 0x0a, 0x1c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x33, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, - 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x2a, 0x3e, 0x2f, 0x76, 0x31, 0x2f, - 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x75, 0x73, - 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0xd4, 0x01, 0x0a, 0x16, 0x41, - 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x5d, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, + 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x32, 0x2e, 0x72, 0x69, 0x6c, 0x6c, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, + 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x63, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x3a, 0x01, 0x2a, 0x1a, 0x35, 0x2f, 0x76, 0x31, 0x2f, - 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, + 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x2a, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, + 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x7d, 0x12, 0xcf, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x2e, - 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, - 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x52, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, + 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0xd4, 0x01, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x55, + 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, + 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x5d, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, - 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, - 0x7b, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x12, 0xda, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, - 0x72, 0x12, 0x2f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5a, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, - 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x2a, 0x35, 0x2f, 0x76, 0x31, 0x2f, 0x6f, - 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, - 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x7d, - 0x12, 0x5b, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x72, 0x69, - 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x72, 0x69, 0x6c, - 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x0b, 0x12, 0x09, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x78, 0x0a, - 0x0e, 0x47, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, - 0x24, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x19, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, - 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x6c, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x13, 0x2a, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x7d, 0x12, 0x8d, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x72, - 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, - 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x75, + 0xe4, 0x93, 0x02, 0x3a, 0x3a, 0x01, 0x2a, 0x1a, 0x35, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, + 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x7d, 0x12, 0xcf, + 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x2e, 0x72, 0x69, + 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, + 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x69, + 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, + 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x92, 0x41, + 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, + 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x73, + 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x12, 0xda, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2f, + 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x30, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x5a, 0x92, 0x41, 0x1a, 0x6a, 0x18, 0x0a, 0x0c, 0x78, 0x2d, 0x76, 0x69, 0x73, 0x69, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x1a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x2a, 0x35, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, + 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x7d, 0x12, 0x5b, 0x0a, + 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, + 0x09, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x78, 0x0a, 0x0e, 0x47, 0x65, + 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x72, + 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x13, 0x12, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x12, 0x6c, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, + 0x65, 0x72, 0x12, 0x20, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x2a, + 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x65, 0x6d, 0x61, 0x69, + 0x6c, 0x7d, 0x12, 0x8d, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, + 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x69, 0x6c, 0x6c, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, + 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x12, 0x90, 0x01, 0x0a, 0x12, 0x49, 0x73, 0x73, 0x75, 0x65, 0x55, 0x73, 0x65, 0x72, + 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x28, 0x2e, 0x72, 0x69, 0x6c, 0x6c, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x55, + 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, + 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x90, 0x01, 0x0a, 0x12, 0x49, 0x73, 0x73, 0x75, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x28, 0x2e, 0x72, - 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73, - 0x75, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x76, - 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x7d, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x76, - 0x6f, 0x6b, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x29, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x72, 0x69, - 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x6f, - 0x6b, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x2a, - 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x2d, 0x2f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x9c, - 0x01, 0x0a, 0x17, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, - 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x2d, 0x2e, 0x72, 0x69, 0x6c, - 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, - 0x65, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, - 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1c, 0x2a, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0xbe, 0x01, - 0x0a, 0x1e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, - 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, - 0x12, 0x34, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x70, - 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x2a, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, - 0x2f, 0x2d, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, - 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x7b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x7d, 0x12, 0xa8, - 0x01, 0x0a, 0x1c, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, - 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, - 0x32, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, + 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x29, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x76, 0x6f, 0x6b, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x55, + 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x2a, 0x1d, 0x2f, 0x76, + 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x2d, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0x2f, 0x7b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x9c, 0x01, 0x0a, 0x17, + 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, + 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x2d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x6c, + 0x6c, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x6c, 0x6c, + 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x2a, 0x1a, + 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x7d, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x1e, 0x52, + 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x34, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73, + 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x29, 0x2a, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x2d, 0x2f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, + 0x69, 0x6e, 0x67, 0x2f, 0x7b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x7d, 0x12, 0xa8, 0x01, 0x0a, 0x1c, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, - 0x6e, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, - 0x3a, 0x01, 0x2a, 0x22, 0x14, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x2f, - 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x91, 0x01, 0x0a, 0x16, 0x52, 0x65, - 0x76, 0x6f, 0x6b, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, - 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x2a, 0x12, 0x2f, 0x76, 0x31, 0x2f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x2f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x8d, 0x01, - 0x0a, 0x13, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x52, - 0x65, 0x70, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x85, 0x01, - 0x0a, 0x13, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x55, - 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2f, 0x75, 0x73, 0x65, 0x72, 0x12, 0x92, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x29, 0x2e, - 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, - 0x31, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x72, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0xb5, 0x01, 0x0a, 0x16, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x47, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x12, 0x2c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x54, 0x6f, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x3a, 0x01, 0x2a, 0x22, 0x33, 0x2f, - 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2d, 0x74, 0x6f, 0x2d, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x12, 0xa2, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x64, 0x47, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x12, 0x2a, 0x2e, 0x72, 0x69, - 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x47, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x64, 0x47, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x3a, 0x01, 0x2a, 0x1a, - 0x26, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x2d, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x2d, 0x67, - 0x69, 0x74, 0x2d, 0x72, 0x65, 0x70, 0x6f, 0x12, 0xa9, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, - 0x6c, 0x6f, 0x6e, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, - 0x29, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x72, 0x69, 0x6c, - 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, - 0x6f, 0x6e, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, - 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x2d, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x73, 0x12, 0x9f, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x68, - 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, + 0x69, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x32, 0x2e, 0x72, + 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73, + 0x75, 0x65, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x33, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, 0x01, 0x2a, + 0x22, 0x14, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x70, + 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x91, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x76, 0x6f, 0x6b, + 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x2c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x41, + 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, - 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, - 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x6f, - 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, - 0x69, 0x73, 0x74, 0x65, 0x64, 0x12, 0xa5, 0x01, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x12, 0x2d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, - 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, - 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x2a, 0x23, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, - 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, - 0x73, 0x74, 0x65, 0x64, 0x2f, 0x7b, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x7d, 0x12, 0x99, 0x01, - 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, - 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x2c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x68, 0x69, - 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x68, 0x69, 0x74, 0x65, - 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, - 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x77, 0x68, - 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x12, 0x6e, 0x0a, 0x0b, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x21, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, + 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x74, + 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x2a, 0x12, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x2f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x8d, 0x01, 0x0a, 0x13, 0x47, + 0x65, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x29, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x19, 0x12, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2f, 0x72, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x85, 0x01, 0x0a, 0x13, 0x47, + 0x65, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x29, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x11, 0x12, 0x0f, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2f, 0x75, 0x73, + 0x65, 0x72, 0x12, 0x92, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x29, 0x2e, 0x72, 0x69, 0x6c, + 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0xb5, 0x01, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x47, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x12, 0x2c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x54, 0x6f, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, + 0x6f, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x3a, 0x01, 0x2a, 0x22, 0x33, 0x2f, 0x76, 0x31, 0x2f, + 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2d, 0x74, 0x6f, 0x2d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x12, + 0xa2, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x64, 0x47, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x12, 0x2a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x47, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x64, 0x47, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x3a, 0x01, 0x2a, 0x1a, 0x26, 0x2f, 0x76, + 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x2d, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x2d, 0x67, 0x69, 0x74, 0x2d, + 0x72, 0x65, 0x70, 0x6f, 0x12, 0xa9, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x6e, + 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x29, 0x2e, 0x72, + 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, + 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x76, 0x31, + 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x63, + 0x6c, 0x6f, 0x6e, 0x65, 0x2d, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, + 0x12, 0x9f, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, + 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2d, 0x2e, 0x72, + 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x69, + 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, + 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, + 0x65, 0x64, 0x12, 0xa5, 0x01, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x57, 0x68, 0x69, + 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2d, + 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x2a, 0x23, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, + 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, + 0x64, 0x2f, 0x7b, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x7d, 0x12, 0x99, 0x01, 0x0a, 0x16, 0x4c, + 0x69, 0x73, 0x74, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x2c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, + 0x69, 0x73, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, + 0x74, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x76, 0x31, 0x2f, + 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x77, 0x68, 0x69, 0x74, 0x65, + 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x12, 0x6e, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x21, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, - 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x72, 0x69, - 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, - 0x72, 0x73, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0xa1, 0x01, 0x0a, 0x12, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, - 0x12, 0x28, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x69, 0x6c, - 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x36, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x12, 0x2e, 0x2f, - 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x7c, 0x0a, - 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, - 0x24, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x65, 0x72, 0x75, - 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, - 0x73, 0x65, 0x72, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0xb5, 0x01, 0x0a, 0x18, - 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x2e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x32, 0x3a, 0x01, 0x2a, 0x22, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, - 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x73, 0x12, 0x83, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x49, 0x46, 0x72, 0x61, 0x6d, - 0x65, 0x12, 0x1f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x3a, 0x01, 0x2a, 0x22, - 0x28, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x69, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x79, 0x0a, 0x0c, 0x53, 0x65, 0x74, - 0x53, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x12, 0x22, 0x2e, 0x72, 0x69, 0x6c, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x75, 0x70, - 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, + 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x18, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0xa1, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x74, 0x53, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x3a, 0x01, 0x2a, 0x22, 0x15, 0x2f, - 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x0f, 0x53, 0x75, 0x64, 0x6f, 0x47, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x64, 0x6f, 0x47, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x75, 0x64, 0x6f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, - 0x16, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x64, 0x6f, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, - 0x12, 0x2a, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x51, - 0x75, 0x6f, 0x74, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x72, + 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x36, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x12, 0x2e, 0x2f, 0x76, 0x31, 0x2f, + 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x75, 0x73, + 0x65, 0x72, 0x73, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x7c, 0x0a, 0x0e, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x24, 0x2e, 0x72, + 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x53, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x17, 0x12, 0x15, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, + 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0xb5, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x2e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x3a, 0x01, + 0x2a, 0x22, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, + 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, + 0x12, 0x83, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x49, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x1f, + 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x49, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x20, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x49, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x3a, 0x01, 0x2a, 0x22, 0x28, 0x2f, 0x76, + 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x7d, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x69, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x79, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x53, 0x75, 0x70, + 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x12, 0x22, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x75, 0x70, 0x65, 0x72, 0x75, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x72, 0x69, 0x6c, + 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x75, + 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x3a, 0x01, 0x2a, 0x22, 0x15, 0x2f, 0x76, 0x31, 0x2f, + 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x12, 0x80, 0x01, 0x0a, 0x0f, 0x53, 0x75, 0x64, 0x6f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x64, 0x6f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x64, - 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1e, 0x3a, 0x01, 0x2a, 0x32, 0x19, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, - 0x73, 0x65, 0x72, 0x2f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x12, - 0xb5, 0x01, 0x0a, 0x1c, 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, - 0x12, 0x32, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x61, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x26, 0x3a, 0x01, 0x2a, 0x32, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, - 0x73, 0x65, 0x72, 0x2f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xdd, 0x01, 0x0a, 0x25, 0x53, 0x75, 0x64, 0x6f, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, - 0x72, 0x12, 0x3b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x6f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x76, + 0x31, 0x2f, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x12, 0x2a, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, + 0x64, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, + 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, + 0x2a, 0x32, 0x19, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, + 0x2f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x12, 0xb5, 0x01, 0x0a, + 0x1c, 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x12, 0x32, 0x2e, + 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, + 0x64, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, - 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x3a, 0x01, + 0x2a, 0x32, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, + 0x2f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xdd, 0x01, 0x0a, 0x25, 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x12, 0x3b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x33, 0x3a, 0x01, 0x2a, 0x32, 0x2e, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, - 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2f, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x12, 0x94, 0x01, 0x0a, 0x0f, 0x53, 0x75, 0x64, 0x6f, - 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x25, 0x2e, 0x72, 0x69, + 0x6f, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x64, 0x6f, - 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x75, 0x64, 0x6f, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x69, - 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x22, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x65, 0x72, - 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0xce, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x33, 0x3a, 0x01, 0x2a, 0x32, 0x2e, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, + 0x73, 0x65, 0x72, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2f, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x12, 0x94, 0x01, 0x0a, 0x0f, 0x53, 0x75, 0x64, 0x6f, 0x45, 0x78, 0x74, + 0x65, 0x6e, 0x64, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x25, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x64, 0x6f, 0x45, 0x78, 0x74, + 0x65, 0x6e, 0x64, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x26, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x75, 0x64, 0x6f, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, + 0x01, 0x2a, 0x22, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x65, 0x72, 0x75, 0x73, 0x65, + 0x72, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x74, + 0x72, 0x69, 0x61, 0x6c, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x90, 0x01, 0x0a, 0x0e, + 0x53, 0x75, 0x64, 0x6f, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x24, + 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x75, 0x64, 0x6f, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x64, 0x6f, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x2b, 0x3a, 0x01, 0x2a, 0x22, 0x26, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x65, + 0x72, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x2f, 0x61, 0x64, 0x64, 0x12, 0xce, 0x01, 0x0a, 0x22, 0x53, 0x75, 0x64, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x38, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x61, 0x64, 0x6d, @@ -28914,7 +29058,7 @@ func file_rill_admin_v1_api_proto_rawDescGZIP() []byte { } var file_rill_admin_v1_api_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_rill_admin_v1_api_proto_msgTypes = make([]protoimpl.MessageInfo, 382) +var file_rill_admin_v1_api_proto_msgTypes = make([]protoimpl.MessageInfo, 384) var file_rill_admin_v1_api_proto_goTypes = []any{ (GithubPermission)(0), // 0: rill.admin.v1.GithubPermission (DeploymentStatus)(0), // 1: rill.admin.v1.DeploymentStatus @@ -29048,818 +29192,823 @@ var file_rill_admin_v1_api_proto_goTypes = []any{ (*SudoUpdateOrganizationBillingCustomerResponse)(nil), // 129: rill.admin.v1.SudoUpdateOrganizationBillingCustomerResponse (*SudoExtendTrialRequest)(nil), // 130: rill.admin.v1.SudoExtendTrialRequest (*SudoExtendTrialResponse)(nil), // 131: rill.admin.v1.SudoExtendTrialResponse - (*SudoUpdateOrganizationCustomDomainRequest)(nil), // 132: rill.admin.v1.SudoUpdateOrganizationCustomDomainRequest - (*SudoUpdateOrganizationCustomDomainResponse)(nil), // 133: rill.admin.v1.SudoUpdateOrganizationCustomDomainResponse - (*SudoUpdateUserQuotasRequest)(nil), // 134: rill.admin.v1.SudoUpdateUserQuotasRequest - (*SudoUpdateUserQuotasResponse)(nil), // 135: rill.admin.v1.SudoUpdateUserQuotasResponse - (*SudoUpdateAnnotationsRequest)(nil), // 136: rill.admin.v1.SudoUpdateAnnotationsRequest - (*SudoUpdateAnnotationsResponse)(nil), // 137: rill.admin.v1.SudoUpdateAnnotationsResponse - (*SudoIssueRuntimeManagerTokenRequest)(nil), // 138: rill.admin.v1.SudoIssueRuntimeManagerTokenRequest - (*SudoIssueRuntimeManagerTokenResponse)(nil), // 139: rill.admin.v1.SudoIssueRuntimeManagerTokenResponse - (*SudoDeleteOrganizationBillingIssueRequest)(nil), // 140: rill.admin.v1.SudoDeleteOrganizationBillingIssueRequest - (*SudoDeleteOrganizationBillingIssueResponse)(nil), // 141: rill.admin.v1.SudoDeleteOrganizationBillingIssueResponse - (*SudoTriggerBillingRepairRequest)(nil), // 142: rill.admin.v1.SudoTriggerBillingRepairRequest - (*SudoTriggerBillingRepairResponse)(nil), // 143: rill.admin.v1.SudoTriggerBillingRepairResponse - (*ListProjectMemberUsersRequest)(nil), // 144: rill.admin.v1.ListProjectMemberUsersRequest - (*ListProjectMemberUsersResponse)(nil), // 145: rill.admin.v1.ListProjectMemberUsersResponse - (*ListProjectInvitesRequest)(nil), // 146: rill.admin.v1.ListProjectInvitesRequest - (*ListProjectInvitesResponse)(nil), // 147: rill.admin.v1.ListProjectInvitesResponse - (*AddProjectMemberUserRequest)(nil), // 148: rill.admin.v1.AddProjectMemberUserRequest - (*AddProjectMemberUserResponse)(nil), // 149: rill.admin.v1.AddProjectMemberUserResponse - (*RemoveProjectMemberUserRequest)(nil), // 150: rill.admin.v1.RemoveProjectMemberUserRequest - (*RemoveProjectMemberUserResponse)(nil), // 151: rill.admin.v1.RemoveProjectMemberUserResponse - (*SetProjectMemberUserRoleRequest)(nil), // 152: rill.admin.v1.SetProjectMemberUserRoleRequest - (*SetProjectMemberUserRoleResponse)(nil), // 153: rill.admin.v1.SetProjectMemberUserRoleResponse - (*ListUsergroupsForOrganizationAndUserRequest)(nil), // 154: rill.admin.v1.ListUsergroupsForOrganizationAndUserRequest - (*ListUsergroupsForOrganizationAndUserResponse)(nil), // 155: rill.admin.v1.ListUsergroupsForOrganizationAndUserResponse - (*CreateUsergroupRequest)(nil), // 156: rill.admin.v1.CreateUsergroupRequest - (*CreateUsergroupResponse)(nil), // 157: rill.admin.v1.CreateUsergroupResponse - (*GetUsergroupRequest)(nil), // 158: rill.admin.v1.GetUsergroupRequest - (*GetUsergroupResponse)(nil), // 159: rill.admin.v1.GetUsergroupResponse - (*UpdateUsergroupRequest)(nil), // 160: rill.admin.v1.UpdateUsergroupRequest - (*UpdateUsergroupResponse)(nil), // 161: rill.admin.v1.UpdateUsergroupResponse - (*ListOrganizationMemberUsergroupsRequest)(nil), // 162: rill.admin.v1.ListOrganizationMemberUsergroupsRequest - (*ListOrganizationMemberUsergroupsResponse)(nil), // 163: rill.admin.v1.ListOrganizationMemberUsergroupsResponse - (*ListProjectMemberUsergroupsRequest)(nil), // 164: rill.admin.v1.ListProjectMemberUsergroupsRequest - (*ListProjectMemberUsergroupsResponse)(nil), // 165: rill.admin.v1.ListProjectMemberUsergroupsResponse - (*DeleteUsergroupRequest)(nil), // 166: rill.admin.v1.DeleteUsergroupRequest - (*DeleteUsergroupResponse)(nil), // 167: rill.admin.v1.DeleteUsergroupResponse - (*AddOrganizationMemberUsergroupRequest)(nil), // 168: rill.admin.v1.AddOrganizationMemberUsergroupRequest - (*AddOrganizationMemberUsergroupResponse)(nil), // 169: rill.admin.v1.AddOrganizationMemberUsergroupResponse - (*SetOrganizationMemberUsergroupRoleRequest)(nil), // 170: rill.admin.v1.SetOrganizationMemberUsergroupRoleRequest - (*SetOrganizationMemberUsergroupRoleResponse)(nil), // 171: rill.admin.v1.SetOrganizationMemberUsergroupRoleResponse - (*RemoveOrganizationMemberUsergroupRequest)(nil), // 172: rill.admin.v1.RemoveOrganizationMemberUsergroupRequest - (*RemoveOrganizationMemberUsergroupResponse)(nil), // 173: rill.admin.v1.RemoveOrganizationMemberUsergroupResponse - (*AddProjectMemberUsergroupRequest)(nil), // 174: rill.admin.v1.AddProjectMemberUsergroupRequest - (*AddProjectMemberUsergroupResponse)(nil), // 175: rill.admin.v1.AddProjectMemberUsergroupResponse - (*SetProjectMemberUsergroupRoleRequest)(nil), // 176: rill.admin.v1.SetProjectMemberUsergroupRoleRequest - (*SetProjectMemberUsergroupRoleResponse)(nil), // 177: rill.admin.v1.SetProjectMemberUsergroupRoleResponse - (*RemoveProjectMemberUsergroupRequest)(nil), // 178: rill.admin.v1.RemoveProjectMemberUsergroupRequest - (*RemoveProjectMemberUsergroupResponse)(nil), // 179: rill.admin.v1.RemoveProjectMemberUsergroupResponse - (*AddUsergroupMemberUserRequest)(nil), // 180: rill.admin.v1.AddUsergroupMemberUserRequest - (*AddUsergroupMemberUserResponse)(nil), // 181: rill.admin.v1.AddUsergroupMemberUserResponse - (*ListUsergroupMemberUsersRequest)(nil), // 182: rill.admin.v1.ListUsergroupMemberUsersRequest - (*ListUsergroupMemberUsersResponse)(nil), // 183: rill.admin.v1.ListUsergroupMemberUsersResponse - (*RemoveUsergroupMemberUserRequest)(nil), // 184: rill.admin.v1.RemoveUsergroupMemberUserRequest - (*RemoveUsergroupMemberUserResponse)(nil), // 185: rill.admin.v1.RemoveUsergroupMemberUserResponse - (*UserPreferences)(nil), // 186: rill.admin.v1.UserPreferences - (*UpdateUserPreferencesRequest)(nil), // 187: rill.admin.v1.UpdateUserPreferencesRequest - (*UpdateUserPreferencesResponse)(nil), // 188: rill.admin.v1.UpdateUserPreferencesResponse - (*GetUserRequest)(nil), // 189: rill.admin.v1.GetUserRequest - (*GetUserResponse)(nil), // 190: rill.admin.v1.GetUserResponse - (*GetCurrentUserRequest)(nil), // 191: rill.admin.v1.GetCurrentUserRequest - (*GetCurrentUserResponse)(nil), // 192: rill.admin.v1.GetCurrentUserResponse - (*DeleteUserRequest)(nil), // 193: rill.admin.v1.DeleteUserRequest - (*DeleteUserResponse)(nil), // 194: rill.admin.v1.DeleteUserResponse - (*ListUserAuthTokensRequest)(nil), // 195: rill.admin.v1.ListUserAuthTokensRequest - (*ListUserAuthTokensResponse)(nil), // 196: rill.admin.v1.ListUserAuthTokensResponse - (*IssueUserAuthTokenRequest)(nil), // 197: rill.admin.v1.IssueUserAuthTokenRequest - (*IssueUserAuthTokenResponse)(nil), // 198: rill.admin.v1.IssueUserAuthTokenResponse - (*RevokeUserAuthTokenRequest)(nil), // 199: rill.admin.v1.RevokeUserAuthTokenRequest - (*RevokeUserAuthTokenResponse)(nil), // 200: rill.admin.v1.RevokeUserAuthTokenResponse - (*RevokeAllUserAuthTokensRequest)(nil), // 201: rill.admin.v1.RevokeAllUserAuthTokensRequest - (*RevokeAllUserAuthTokensResponse)(nil), // 202: rill.admin.v1.RevokeAllUserAuthTokensResponse - (*RevokeRepresentativeAuthTokensRequest)(nil), // 203: rill.admin.v1.RevokeRepresentativeAuthTokensRequest - (*RevokeRepresentativeAuthTokensResponse)(nil), // 204: rill.admin.v1.RevokeRepresentativeAuthTokensResponse - (*IssueRepresentativeAuthTokenRequest)(nil), // 205: rill.admin.v1.IssueRepresentativeAuthTokenRequest - (*IssueRepresentativeAuthTokenResponse)(nil), // 206: rill.admin.v1.IssueRepresentativeAuthTokenResponse - (*RevokeCurrentAuthTokenRequest)(nil), // 207: rill.admin.v1.RevokeCurrentAuthTokenRequest - (*RevokeCurrentAuthTokenResponse)(nil), // 208: rill.admin.v1.RevokeCurrentAuthTokenResponse - (*ListBookmarksRequest)(nil), // 209: rill.admin.v1.ListBookmarksRequest - (*ListBookmarksResponse)(nil), // 210: rill.admin.v1.ListBookmarksResponse - (*GetBookmarkRequest)(nil), // 211: rill.admin.v1.GetBookmarkRequest - (*GetBookmarkResponse)(nil), // 212: rill.admin.v1.GetBookmarkResponse - (*CreateBookmarkRequest)(nil), // 213: rill.admin.v1.CreateBookmarkRequest - (*CreateBookmarkResponse)(nil), // 214: rill.admin.v1.CreateBookmarkResponse - (*UpdateBookmarkRequest)(nil), // 215: rill.admin.v1.UpdateBookmarkRequest - (*UpdateBookmarkResponse)(nil), // 216: rill.admin.v1.UpdateBookmarkResponse - (*RemoveBookmarkRequest)(nil), // 217: rill.admin.v1.RemoveBookmarkRequest - (*RemoveBookmarkResponse)(nil), // 218: rill.admin.v1.RemoveBookmarkResponse - (*SearchUsersRequest)(nil), // 219: rill.admin.v1.SearchUsersRequest - (*SearchUsersResponse)(nil), // 220: rill.admin.v1.SearchUsersResponse - (*RevokeServiceAuthTokenRequest)(nil), // 221: rill.admin.v1.RevokeServiceAuthTokenRequest - (*RevokeServiceAuthTokenResponse)(nil), // 222: rill.admin.v1.RevokeServiceAuthTokenResponse - (*IssueServiceAuthTokenRequest)(nil), // 223: rill.admin.v1.IssueServiceAuthTokenRequest - (*IssueServiceAuthTokenResponse)(nil), // 224: rill.admin.v1.IssueServiceAuthTokenResponse - (*ListServiceAuthTokensRequest)(nil), // 225: rill.admin.v1.ListServiceAuthTokensRequest - (*ListServiceAuthTokensResponse)(nil), // 226: rill.admin.v1.ListServiceAuthTokensResponse - (*IssueMagicAuthTokenRequest)(nil), // 227: rill.admin.v1.IssueMagicAuthTokenRequest - (*ResourceName)(nil), // 228: rill.admin.v1.ResourceName - (*IssueMagicAuthTokenResponse)(nil), // 229: rill.admin.v1.IssueMagicAuthTokenResponse - (*ListMagicAuthTokensRequest)(nil), // 230: rill.admin.v1.ListMagicAuthTokensRequest - (*ListMagicAuthTokensResponse)(nil), // 231: rill.admin.v1.ListMagicAuthTokensResponse - (*GetCurrentMagicAuthTokenRequest)(nil), // 232: rill.admin.v1.GetCurrentMagicAuthTokenRequest - (*GetCurrentMagicAuthTokenResponse)(nil), // 233: rill.admin.v1.GetCurrentMagicAuthTokenResponse - (*RevokeMagicAuthTokenRequest)(nil), // 234: rill.admin.v1.RevokeMagicAuthTokenRequest - (*RevokeMagicAuthTokenResponse)(nil), // 235: rill.admin.v1.RevokeMagicAuthTokenResponse - (*GetGithubRepoStatusRequest)(nil), // 236: rill.admin.v1.GetGithubRepoStatusRequest - (*GetGithubRepoStatusResponse)(nil), // 237: rill.admin.v1.GetGithubRepoStatusResponse - (*GetGithubUserStatusRequest)(nil), // 238: rill.admin.v1.GetGithubUserStatusRequest - (*GetGithubUserStatusResponse)(nil), // 239: rill.admin.v1.GetGithubUserStatusResponse - (*ListGithubUserReposRequest)(nil), // 240: rill.admin.v1.ListGithubUserReposRequest - (*ListGithubUserReposResponse)(nil), // 241: rill.admin.v1.ListGithubUserReposResponse - (*ConnectProjectToGithubRequest)(nil), // 242: rill.admin.v1.ConnectProjectToGithubRequest - (*ConnectProjectToGithubResponse)(nil), // 243: rill.admin.v1.ConnectProjectToGithubResponse - (*CreateManagedGitRepoRequest)(nil), // 244: rill.admin.v1.CreateManagedGitRepoRequest - (*CreateManagedGitRepoResponse)(nil), // 245: rill.admin.v1.CreateManagedGitRepoResponse - (*GetCloneCredentialsRequest)(nil), // 246: rill.admin.v1.GetCloneCredentialsRequest - (*GetCloneCredentialsResponse)(nil), // 247: rill.admin.v1.GetCloneCredentialsResponse - (*CreateWhitelistedDomainRequest)(nil), // 248: rill.admin.v1.CreateWhitelistedDomainRequest - (*CreateWhitelistedDomainResponse)(nil), // 249: rill.admin.v1.CreateWhitelistedDomainResponse - (*RemoveWhitelistedDomainRequest)(nil), // 250: rill.admin.v1.RemoveWhitelistedDomainRequest - (*RemoveWhitelistedDomainResponse)(nil), // 251: rill.admin.v1.RemoveWhitelistedDomainResponse - (*ListWhitelistedDomainsRequest)(nil), // 252: rill.admin.v1.ListWhitelistedDomainsRequest - (*ListWhitelistedDomainsResponse)(nil), // 253: rill.admin.v1.ListWhitelistedDomainsResponse - (*CreateProjectWhitelistedDomainRequest)(nil), // 254: rill.admin.v1.CreateProjectWhitelistedDomainRequest - (*CreateProjectWhitelistedDomainResponse)(nil), // 255: rill.admin.v1.CreateProjectWhitelistedDomainResponse - (*RemoveProjectWhitelistedDomainRequest)(nil), // 256: rill.admin.v1.RemoveProjectWhitelistedDomainRequest - (*RemoveProjectWhitelistedDomainResponse)(nil), // 257: rill.admin.v1.RemoveProjectWhitelistedDomainResponse - (*ListProjectWhitelistedDomainsRequest)(nil), // 258: rill.admin.v1.ListProjectWhitelistedDomainsRequest - (*ListProjectWhitelistedDomainsResponse)(nil), // 259: rill.admin.v1.ListProjectWhitelistedDomainsResponse - (*GetRepoMetaRequest)(nil), // 260: rill.admin.v1.GetRepoMetaRequest - (*GetRepoMetaResponse)(nil), // 261: rill.admin.v1.GetRepoMetaResponse - (*PullVirtualRepoRequest)(nil), // 262: rill.admin.v1.PullVirtualRepoRequest - (*PullVirtualRepoResponse)(nil), // 263: rill.admin.v1.PullVirtualRepoResponse - (*GetVirtualFileRequest)(nil), // 264: rill.admin.v1.GetVirtualFileRequest - (*GetVirtualFileResponse)(nil), // 265: rill.admin.v1.GetVirtualFileResponse - (*DeleteVirtualFileRequest)(nil), // 266: rill.admin.v1.DeleteVirtualFileRequest - (*DeleteVirtualFileResponse)(nil), // 267: rill.admin.v1.DeleteVirtualFileResponse - (*GetReportMetaRequest)(nil), // 268: rill.admin.v1.GetReportMetaRequest - (*GetReportMetaResponse)(nil), // 269: rill.admin.v1.GetReportMetaResponse - (*GetAlertMetaRequest)(nil), // 270: rill.admin.v1.GetAlertMetaRequest - (*GetAlertMetaResponse)(nil), // 271: rill.admin.v1.GetAlertMetaResponse - (*CreateReportRequest)(nil), // 272: rill.admin.v1.CreateReportRequest - (*CreateReportResponse)(nil), // 273: rill.admin.v1.CreateReportResponse - (*EditReportRequest)(nil), // 274: rill.admin.v1.EditReportRequest - (*EditReportResponse)(nil), // 275: rill.admin.v1.EditReportResponse - (*UnsubscribeReportRequest)(nil), // 276: rill.admin.v1.UnsubscribeReportRequest - (*UnsubscribeReportResponse)(nil), // 277: rill.admin.v1.UnsubscribeReportResponse - (*DeleteReportRequest)(nil), // 278: rill.admin.v1.DeleteReportRequest - (*DeleteReportResponse)(nil), // 279: rill.admin.v1.DeleteReportResponse - (*TriggerReportRequest)(nil), // 280: rill.admin.v1.TriggerReportRequest - (*TriggerReportResponse)(nil), // 281: rill.admin.v1.TriggerReportResponse - (*GenerateReportYAMLRequest)(nil), // 282: rill.admin.v1.GenerateReportYAMLRequest - (*GenerateReportYAMLResponse)(nil), // 283: rill.admin.v1.GenerateReportYAMLResponse - (*CreateAlertRequest)(nil), // 284: rill.admin.v1.CreateAlertRequest - (*CreateAlertResponse)(nil), // 285: rill.admin.v1.CreateAlertResponse - (*EditAlertRequest)(nil), // 286: rill.admin.v1.EditAlertRequest - (*EditAlertResponse)(nil), // 287: rill.admin.v1.EditAlertResponse - (*UnsubscribeAlertRequest)(nil), // 288: rill.admin.v1.UnsubscribeAlertRequest - (*UnsubscribeAlertResponse)(nil), // 289: rill.admin.v1.UnsubscribeAlertResponse - (*DeleteAlertRequest)(nil), // 290: rill.admin.v1.DeleteAlertRequest - (*DeleteAlertResponse)(nil), // 291: rill.admin.v1.DeleteAlertResponse - (*GenerateAlertYAMLRequest)(nil), // 292: rill.admin.v1.GenerateAlertYAMLRequest - (*GenerateAlertYAMLResponse)(nil), // 293: rill.admin.v1.GenerateAlertYAMLResponse - (*GetAlertYAMLRequest)(nil), // 294: rill.admin.v1.GetAlertYAMLRequest - (*GetAlertYAMLResponse)(nil), // 295: rill.admin.v1.GetAlertYAMLResponse - (*GetBillingSubscriptionRequest)(nil), // 296: rill.admin.v1.GetBillingSubscriptionRequest - (*GetBillingSubscriptionResponse)(nil), // 297: rill.admin.v1.GetBillingSubscriptionResponse - (*BillingCreditInfo)(nil), // 298: rill.admin.v1.BillingCreditInfo - (*UpdateBillingSubscriptionRequest)(nil), // 299: rill.admin.v1.UpdateBillingSubscriptionRequest - (*UpdateBillingSubscriptionResponse)(nil), // 300: rill.admin.v1.UpdateBillingSubscriptionResponse - (*CancelBillingSubscriptionRequest)(nil), // 301: rill.admin.v1.CancelBillingSubscriptionRequest - (*CancelBillingSubscriptionResponse)(nil), // 302: rill.admin.v1.CancelBillingSubscriptionResponse - (*RenewBillingSubscriptionRequest)(nil), // 303: rill.admin.v1.RenewBillingSubscriptionRequest - (*RenewBillingSubscriptionResponse)(nil), // 304: rill.admin.v1.RenewBillingSubscriptionResponse - (*GetPaymentsPortalURLRequest)(nil), // 305: rill.admin.v1.GetPaymentsPortalURLRequest - (*GetPaymentsPortalURLResponse)(nil), // 306: rill.admin.v1.GetPaymentsPortalURLResponse - (*ListPublicBillingPlansRequest)(nil), // 307: rill.admin.v1.ListPublicBillingPlansRequest - (*ListPublicBillingPlansResponse)(nil), // 308: rill.admin.v1.ListPublicBillingPlansResponse - (*GetBillingProjectCredentialsRequest)(nil), // 309: rill.admin.v1.GetBillingProjectCredentialsRequest - (*GetBillingProjectCredentialsResponse)(nil), // 310: rill.admin.v1.GetBillingProjectCredentialsResponse - (*TelemetryRequest)(nil), // 311: rill.admin.v1.TelemetryRequest - (*TelemetryResponse)(nil), // 312: rill.admin.v1.TelemetryResponse - (*RequestProjectAccessRequest)(nil), // 313: rill.admin.v1.RequestProjectAccessRequest - (*RequestProjectAccessResponse)(nil), // 314: rill.admin.v1.RequestProjectAccessResponse - (*GetProjectAccessRequestRequest)(nil), // 315: rill.admin.v1.GetProjectAccessRequestRequest - (*GetProjectAccessRequestResponse)(nil), // 316: rill.admin.v1.GetProjectAccessRequestResponse - (*ApproveProjectAccessRequest)(nil), // 317: rill.admin.v1.ApproveProjectAccessRequest - (*ApproveProjectAccessResponse)(nil), // 318: rill.admin.v1.ApproveProjectAccessResponse - (*DenyProjectAccessRequest)(nil), // 319: rill.admin.v1.DenyProjectAccessRequest - (*DenyProjectAccessResponse)(nil), // 320: rill.admin.v1.DenyProjectAccessResponse - (*ListOrganizationBillingIssuesRequest)(nil), // 321: rill.admin.v1.ListOrganizationBillingIssuesRequest - (*ListOrganizationBillingIssuesResponse)(nil), // 322: rill.admin.v1.ListOrganizationBillingIssuesResponse - (*User)(nil), // 323: rill.admin.v1.User - (*Service)(nil), // 324: rill.admin.v1.Service - (*OrganizationMemberService)(nil), // 325: rill.admin.v1.OrganizationMemberService - (*ProjectMemberService)(nil), // 326: rill.admin.v1.ProjectMemberService - (*Organization)(nil), // 327: rill.admin.v1.Organization - (*Subscription)(nil), // 328: rill.admin.v1.Subscription - (*UserQuotas)(nil), // 329: rill.admin.v1.UserQuotas - (*OrganizationQuotas)(nil), // 330: rill.admin.v1.OrganizationQuotas - (*Project)(nil), // 331: rill.admin.v1.Project - (*Deployment)(nil), // 332: rill.admin.v1.Deployment - (*ProvisionerResource)(nil), // 333: rill.admin.v1.ProvisionerResource - (*OrganizationPermissions)(nil), // 334: rill.admin.v1.OrganizationPermissions - (*ProjectPermissions)(nil), // 335: rill.admin.v1.ProjectPermissions - (*OrganizationRole)(nil), // 336: rill.admin.v1.OrganizationRole - (*ProjectRole)(nil), // 337: rill.admin.v1.ProjectRole - (*OrganizationMemberUser)(nil), // 338: rill.admin.v1.OrganizationMemberUser - (*ProjectMemberUser)(nil), // 339: rill.admin.v1.ProjectMemberUser - (*UsergroupMemberUser)(nil), // 340: rill.admin.v1.UsergroupMemberUser - (*OrganizationInvite)(nil), // 341: rill.admin.v1.OrganizationInvite - (*ProjectInvite)(nil), // 342: rill.admin.v1.ProjectInvite - (*WhitelistedDomain)(nil), // 343: rill.admin.v1.WhitelistedDomain - (*Bookmark)(nil), // 344: rill.admin.v1.Bookmark - (*ServiceToken)(nil), // 345: rill.admin.v1.ServiceToken - (*UserAuthToken)(nil), // 346: rill.admin.v1.UserAuthToken - (*MagicAuthToken)(nil), // 347: rill.admin.v1.MagicAuthToken - (*VirtualFile)(nil), // 348: rill.admin.v1.VirtualFile - (*ReportOptions)(nil), // 349: rill.admin.v1.ReportOptions - (*AlertOptions)(nil), // 350: rill.admin.v1.AlertOptions - (*BillingPlan)(nil), // 351: rill.admin.v1.BillingPlan - (*Quotas)(nil), // 352: rill.admin.v1.Quotas - (*Usergroup)(nil), // 353: rill.admin.v1.Usergroup - (*MemberUsergroup)(nil), // 354: rill.admin.v1.MemberUsergroup - (*BillingIssue)(nil), // 355: rill.admin.v1.BillingIssue - (*BillingIssueMetadata)(nil), // 356: rill.admin.v1.BillingIssueMetadata - (*BillingIssueMetadataOnTrial)(nil), // 357: rill.admin.v1.BillingIssueMetadataOnTrial - (*BillingIssueMetadataTrialEnded)(nil), // 358: rill.admin.v1.BillingIssueMetadataTrialEnded - (*BillingIssueMetadataNoPaymentMethod)(nil), // 359: rill.admin.v1.BillingIssueMetadataNoPaymentMethod - (*BillingIssueMetadataNoBillableAddress)(nil), // 360: rill.admin.v1.BillingIssueMetadataNoBillableAddress - (*BillingIssueMetadataPaymentFailed)(nil), // 361: rill.admin.v1.BillingIssueMetadataPaymentFailed - (*BillingIssueMetadataPaymentFailedMeta)(nil), // 362: rill.admin.v1.BillingIssueMetadataPaymentFailedMeta - (*BillingIssueMetadataSubscriptionCancelled)(nil), // 363: rill.admin.v1.BillingIssueMetadataSubscriptionCancelled - (*BillingIssueMetadataNeverSubscribed)(nil), // 364: rill.admin.v1.BillingIssueMetadataNeverSubscribed - (*BillingIssueMetadataCreditLow)(nil), // 365: rill.admin.v1.BillingIssueMetadataCreditLow - (*BillingIssueMetadataCreditCritical)(nil), // 366: rill.admin.v1.BillingIssueMetadataCreditCritical - (*BillingIssueMetadataCreditExhausted)(nil), // 367: rill.admin.v1.BillingIssueMetadataCreditExhausted - nil, // 368: rill.admin.v1.ListProjectsForOrganizationAndUserResponse.ProjectRolesEntry - nil, // 369: rill.admin.v1.SearchProjectNamesRequest.AnnotationsEntry - nil, // 370: rill.admin.v1.GetProjectVariablesResponse.VariablesMapEntry - nil, // 371: rill.admin.v1.UpdateProjectVariablesRequest.VariablesEntry - nil, // 372: rill.admin.v1.GetIFrameRequest.QueryEntry - nil, // 373: rill.admin.v1.CreateAssetResponse.SigningHeadersEntry - nil, // 374: rill.admin.v1.GetDeploymentConfigResponse.VariablesEntry - nil, // 375: rill.admin.v1.GetDeploymentConfigResponse.AnnotationsEntry - nil, // 376: rill.admin.v1.SudoUpdateAnnotationsRequest.AnnotationsEntry - nil, // 377: rill.admin.v1.IssueMagicAuthTokenRequest.MetricsViewFiltersEntry - nil, // 378: rill.admin.v1.GetGithubUserStatusResponse.OrganizationInstallationPermissionsEntry - (*ListGithubUserReposResponse_Repo)(nil), // 379: rill.admin.v1.ListGithubUserReposResponse.Repo - (*GetReportMetaResponse_DeliveryMeta)(nil), // 380: rill.admin.v1.GetReportMetaResponse.DeliveryMeta - nil, // 381: rill.admin.v1.GetReportMetaResponse.DeliveryMetaEntry - nil, // 382: rill.admin.v1.GetAlertMetaRequest.AnnotationsEntry - (*GetAlertMetaResponse_URLs)(nil), // 383: rill.admin.v1.GetAlertMetaResponse.URLs - nil, // 384: rill.admin.v1.GetAlertMetaResponse.RecipientUrlsEntry - nil, // 385: rill.admin.v1.Project.AnnotationsEntry - nil, // 386: rill.admin.v1.MagicAuthToken.MetricsViewFiltersEntry - (*timestamppb.Timestamp)(nil), // 387: google.protobuf.Timestamp - (*structpb.Struct)(nil), // 388: google.protobuf.Struct - (v1.ExportFormat)(0), // 389: rill.runtime.v1.ExportFormat - (*v1.Expression)(nil), // 390: rill.runtime.v1.Expression + (*SudoAddCreditsRequest)(nil), // 132: rill.admin.v1.SudoAddCreditsRequest + (*SudoAddCreditsResponse)(nil), // 133: rill.admin.v1.SudoAddCreditsResponse + (*SudoUpdateOrganizationCustomDomainRequest)(nil), // 134: rill.admin.v1.SudoUpdateOrganizationCustomDomainRequest + (*SudoUpdateOrganizationCustomDomainResponse)(nil), // 135: rill.admin.v1.SudoUpdateOrganizationCustomDomainResponse + (*SudoUpdateUserQuotasRequest)(nil), // 136: rill.admin.v1.SudoUpdateUserQuotasRequest + (*SudoUpdateUserQuotasResponse)(nil), // 137: rill.admin.v1.SudoUpdateUserQuotasResponse + (*SudoUpdateAnnotationsRequest)(nil), // 138: rill.admin.v1.SudoUpdateAnnotationsRequest + (*SudoUpdateAnnotationsResponse)(nil), // 139: rill.admin.v1.SudoUpdateAnnotationsResponse + (*SudoIssueRuntimeManagerTokenRequest)(nil), // 140: rill.admin.v1.SudoIssueRuntimeManagerTokenRequest + (*SudoIssueRuntimeManagerTokenResponse)(nil), // 141: rill.admin.v1.SudoIssueRuntimeManagerTokenResponse + (*SudoDeleteOrganizationBillingIssueRequest)(nil), // 142: rill.admin.v1.SudoDeleteOrganizationBillingIssueRequest + (*SudoDeleteOrganizationBillingIssueResponse)(nil), // 143: rill.admin.v1.SudoDeleteOrganizationBillingIssueResponse + (*SudoTriggerBillingRepairRequest)(nil), // 144: rill.admin.v1.SudoTriggerBillingRepairRequest + (*SudoTriggerBillingRepairResponse)(nil), // 145: rill.admin.v1.SudoTriggerBillingRepairResponse + (*ListProjectMemberUsersRequest)(nil), // 146: rill.admin.v1.ListProjectMemberUsersRequest + (*ListProjectMemberUsersResponse)(nil), // 147: rill.admin.v1.ListProjectMemberUsersResponse + (*ListProjectInvitesRequest)(nil), // 148: rill.admin.v1.ListProjectInvitesRequest + (*ListProjectInvitesResponse)(nil), // 149: rill.admin.v1.ListProjectInvitesResponse + (*AddProjectMemberUserRequest)(nil), // 150: rill.admin.v1.AddProjectMemberUserRequest + (*AddProjectMemberUserResponse)(nil), // 151: rill.admin.v1.AddProjectMemberUserResponse + (*RemoveProjectMemberUserRequest)(nil), // 152: rill.admin.v1.RemoveProjectMemberUserRequest + (*RemoveProjectMemberUserResponse)(nil), // 153: rill.admin.v1.RemoveProjectMemberUserResponse + (*SetProjectMemberUserRoleRequest)(nil), // 154: rill.admin.v1.SetProjectMemberUserRoleRequest + (*SetProjectMemberUserRoleResponse)(nil), // 155: rill.admin.v1.SetProjectMemberUserRoleResponse + (*ListUsergroupsForOrganizationAndUserRequest)(nil), // 156: rill.admin.v1.ListUsergroupsForOrganizationAndUserRequest + (*ListUsergroupsForOrganizationAndUserResponse)(nil), // 157: rill.admin.v1.ListUsergroupsForOrganizationAndUserResponse + (*CreateUsergroupRequest)(nil), // 158: rill.admin.v1.CreateUsergroupRequest + (*CreateUsergroupResponse)(nil), // 159: rill.admin.v1.CreateUsergroupResponse + (*GetUsergroupRequest)(nil), // 160: rill.admin.v1.GetUsergroupRequest + (*GetUsergroupResponse)(nil), // 161: rill.admin.v1.GetUsergroupResponse + (*UpdateUsergroupRequest)(nil), // 162: rill.admin.v1.UpdateUsergroupRequest + (*UpdateUsergroupResponse)(nil), // 163: rill.admin.v1.UpdateUsergroupResponse + (*ListOrganizationMemberUsergroupsRequest)(nil), // 164: rill.admin.v1.ListOrganizationMemberUsergroupsRequest + (*ListOrganizationMemberUsergroupsResponse)(nil), // 165: rill.admin.v1.ListOrganizationMemberUsergroupsResponse + (*ListProjectMemberUsergroupsRequest)(nil), // 166: rill.admin.v1.ListProjectMemberUsergroupsRequest + (*ListProjectMemberUsergroupsResponse)(nil), // 167: rill.admin.v1.ListProjectMemberUsergroupsResponse + (*DeleteUsergroupRequest)(nil), // 168: rill.admin.v1.DeleteUsergroupRequest + (*DeleteUsergroupResponse)(nil), // 169: rill.admin.v1.DeleteUsergroupResponse + (*AddOrganizationMemberUsergroupRequest)(nil), // 170: rill.admin.v1.AddOrganizationMemberUsergroupRequest + (*AddOrganizationMemberUsergroupResponse)(nil), // 171: rill.admin.v1.AddOrganizationMemberUsergroupResponse + (*SetOrganizationMemberUsergroupRoleRequest)(nil), // 172: rill.admin.v1.SetOrganizationMemberUsergroupRoleRequest + (*SetOrganizationMemberUsergroupRoleResponse)(nil), // 173: rill.admin.v1.SetOrganizationMemberUsergroupRoleResponse + (*RemoveOrganizationMemberUsergroupRequest)(nil), // 174: rill.admin.v1.RemoveOrganizationMemberUsergroupRequest + (*RemoveOrganizationMemberUsergroupResponse)(nil), // 175: rill.admin.v1.RemoveOrganizationMemberUsergroupResponse + (*AddProjectMemberUsergroupRequest)(nil), // 176: rill.admin.v1.AddProjectMemberUsergroupRequest + (*AddProjectMemberUsergroupResponse)(nil), // 177: rill.admin.v1.AddProjectMemberUsergroupResponse + (*SetProjectMemberUsergroupRoleRequest)(nil), // 178: rill.admin.v1.SetProjectMemberUsergroupRoleRequest + (*SetProjectMemberUsergroupRoleResponse)(nil), // 179: rill.admin.v1.SetProjectMemberUsergroupRoleResponse + (*RemoveProjectMemberUsergroupRequest)(nil), // 180: rill.admin.v1.RemoveProjectMemberUsergroupRequest + (*RemoveProjectMemberUsergroupResponse)(nil), // 181: rill.admin.v1.RemoveProjectMemberUsergroupResponse + (*AddUsergroupMemberUserRequest)(nil), // 182: rill.admin.v1.AddUsergroupMemberUserRequest + (*AddUsergroupMemberUserResponse)(nil), // 183: rill.admin.v1.AddUsergroupMemberUserResponse + (*ListUsergroupMemberUsersRequest)(nil), // 184: rill.admin.v1.ListUsergroupMemberUsersRequest + (*ListUsergroupMemberUsersResponse)(nil), // 185: rill.admin.v1.ListUsergroupMemberUsersResponse + (*RemoveUsergroupMemberUserRequest)(nil), // 186: rill.admin.v1.RemoveUsergroupMemberUserRequest + (*RemoveUsergroupMemberUserResponse)(nil), // 187: rill.admin.v1.RemoveUsergroupMemberUserResponse + (*UserPreferences)(nil), // 188: rill.admin.v1.UserPreferences + (*UpdateUserPreferencesRequest)(nil), // 189: rill.admin.v1.UpdateUserPreferencesRequest + (*UpdateUserPreferencesResponse)(nil), // 190: rill.admin.v1.UpdateUserPreferencesResponse + (*GetUserRequest)(nil), // 191: rill.admin.v1.GetUserRequest + (*GetUserResponse)(nil), // 192: rill.admin.v1.GetUserResponse + (*GetCurrentUserRequest)(nil), // 193: rill.admin.v1.GetCurrentUserRequest + (*GetCurrentUserResponse)(nil), // 194: rill.admin.v1.GetCurrentUserResponse + (*DeleteUserRequest)(nil), // 195: rill.admin.v1.DeleteUserRequest + (*DeleteUserResponse)(nil), // 196: rill.admin.v1.DeleteUserResponse + (*ListUserAuthTokensRequest)(nil), // 197: rill.admin.v1.ListUserAuthTokensRequest + (*ListUserAuthTokensResponse)(nil), // 198: rill.admin.v1.ListUserAuthTokensResponse + (*IssueUserAuthTokenRequest)(nil), // 199: rill.admin.v1.IssueUserAuthTokenRequest + (*IssueUserAuthTokenResponse)(nil), // 200: rill.admin.v1.IssueUserAuthTokenResponse + (*RevokeUserAuthTokenRequest)(nil), // 201: rill.admin.v1.RevokeUserAuthTokenRequest + (*RevokeUserAuthTokenResponse)(nil), // 202: rill.admin.v1.RevokeUserAuthTokenResponse + (*RevokeAllUserAuthTokensRequest)(nil), // 203: rill.admin.v1.RevokeAllUserAuthTokensRequest + (*RevokeAllUserAuthTokensResponse)(nil), // 204: rill.admin.v1.RevokeAllUserAuthTokensResponse + (*RevokeRepresentativeAuthTokensRequest)(nil), // 205: rill.admin.v1.RevokeRepresentativeAuthTokensRequest + (*RevokeRepresentativeAuthTokensResponse)(nil), // 206: rill.admin.v1.RevokeRepresentativeAuthTokensResponse + (*IssueRepresentativeAuthTokenRequest)(nil), // 207: rill.admin.v1.IssueRepresentativeAuthTokenRequest + (*IssueRepresentativeAuthTokenResponse)(nil), // 208: rill.admin.v1.IssueRepresentativeAuthTokenResponse + (*RevokeCurrentAuthTokenRequest)(nil), // 209: rill.admin.v1.RevokeCurrentAuthTokenRequest + (*RevokeCurrentAuthTokenResponse)(nil), // 210: rill.admin.v1.RevokeCurrentAuthTokenResponse + (*ListBookmarksRequest)(nil), // 211: rill.admin.v1.ListBookmarksRequest + (*ListBookmarksResponse)(nil), // 212: rill.admin.v1.ListBookmarksResponse + (*GetBookmarkRequest)(nil), // 213: rill.admin.v1.GetBookmarkRequest + (*GetBookmarkResponse)(nil), // 214: rill.admin.v1.GetBookmarkResponse + (*CreateBookmarkRequest)(nil), // 215: rill.admin.v1.CreateBookmarkRequest + (*CreateBookmarkResponse)(nil), // 216: rill.admin.v1.CreateBookmarkResponse + (*UpdateBookmarkRequest)(nil), // 217: rill.admin.v1.UpdateBookmarkRequest + (*UpdateBookmarkResponse)(nil), // 218: rill.admin.v1.UpdateBookmarkResponse + (*RemoveBookmarkRequest)(nil), // 219: rill.admin.v1.RemoveBookmarkRequest + (*RemoveBookmarkResponse)(nil), // 220: rill.admin.v1.RemoveBookmarkResponse + (*SearchUsersRequest)(nil), // 221: rill.admin.v1.SearchUsersRequest + (*SearchUsersResponse)(nil), // 222: rill.admin.v1.SearchUsersResponse + (*RevokeServiceAuthTokenRequest)(nil), // 223: rill.admin.v1.RevokeServiceAuthTokenRequest + (*RevokeServiceAuthTokenResponse)(nil), // 224: rill.admin.v1.RevokeServiceAuthTokenResponse + (*IssueServiceAuthTokenRequest)(nil), // 225: rill.admin.v1.IssueServiceAuthTokenRequest + (*IssueServiceAuthTokenResponse)(nil), // 226: rill.admin.v1.IssueServiceAuthTokenResponse + (*ListServiceAuthTokensRequest)(nil), // 227: rill.admin.v1.ListServiceAuthTokensRequest + (*ListServiceAuthTokensResponse)(nil), // 228: rill.admin.v1.ListServiceAuthTokensResponse + (*IssueMagicAuthTokenRequest)(nil), // 229: rill.admin.v1.IssueMagicAuthTokenRequest + (*ResourceName)(nil), // 230: rill.admin.v1.ResourceName + (*IssueMagicAuthTokenResponse)(nil), // 231: rill.admin.v1.IssueMagicAuthTokenResponse + (*ListMagicAuthTokensRequest)(nil), // 232: rill.admin.v1.ListMagicAuthTokensRequest + (*ListMagicAuthTokensResponse)(nil), // 233: rill.admin.v1.ListMagicAuthTokensResponse + (*GetCurrentMagicAuthTokenRequest)(nil), // 234: rill.admin.v1.GetCurrentMagicAuthTokenRequest + (*GetCurrentMagicAuthTokenResponse)(nil), // 235: rill.admin.v1.GetCurrentMagicAuthTokenResponse + (*RevokeMagicAuthTokenRequest)(nil), // 236: rill.admin.v1.RevokeMagicAuthTokenRequest + (*RevokeMagicAuthTokenResponse)(nil), // 237: rill.admin.v1.RevokeMagicAuthTokenResponse + (*GetGithubRepoStatusRequest)(nil), // 238: rill.admin.v1.GetGithubRepoStatusRequest + (*GetGithubRepoStatusResponse)(nil), // 239: rill.admin.v1.GetGithubRepoStatusResponse + (*GetGithubUserStatusRequest)(nil), // 240: rill.admin.v1.GetGithubUserStatusRequest + (*GetGithubUserStatusResponse)(nil), // 241: rill.admin.v1.GetGithubUserStatusResponse + (*ListGithubUserReposRequest)(nil), // 242: rill.admin.v1.ListGithubUserReposRequest + (*ListGithubUserReposResponse)(nil), // 243: rill.admin.v1.ListGithubUserReposResponse + (*ConnectProjectToGithubRequest)(nil), // 244: rill.admin.v1.ConnectProjectToGithubRequest + (*ConnectProjectToGithubResponse)(nil), // 245: rill.admin.v1.ConnectProjectToGithubResponse + (*CreateManagedGitRepoRequest)(nil), // 246: rill.admin.v1.CreateManagedGitRepoRequest + (*CreateManagedGitRepoResponse)(nil), // 247: rill.admin.v1.CreateManagedGitRepoResponse + (*GetCloneCredentialsRequest)(nil), // 248: rill.admin.v1.GetCloneCredentialsRequest + (*GetCloneCredentialsResponse)(nil), // 249: rill.admin.v1.GetCloneCredentialsResponse + (*CreateWhitelistedDomainRequest)(nil), // 250: rill.admin.v1.CreateWhitelistedDomainRequest + (*CreateWhitelistedDomainResponse)(nil), // 251: rill.admin.v1.CreateWhitelistedDomainResponse + (*RemoveWhitelistedDomainRequest)(nil), // 252: rill.admin.v1.RemoveWhitelistedDomainRequest + (*RemoveWhitelistedDomainResponse)(nil), // 253: rill.admin.v1.RemoveWhitelistedDomainResponse + (*ListWhitelistedDomainsRequest)(nil), // 254: rill.admin.v1.ListWhitelistedDomainsRequest + (*ListWhitelistedDomainsResponse)(nil), // 255: rill.admin.v1.ListWhitelistedDomainsResponse + (*CreateProjectWhitelistedDomainRequest)(nil), // 256: rill.admin.v1.CreateProjectWhitelistedDomainRequest + (*CreateProjectWhitelistedDomainResponse)(nil), // 257: rill.admin.v1.CreateProjectWhitelistedDomainResponse + (*RemoveProjectWhitelistedDomainRequest)(nil), // 258: rill.admin.v1.RemoveProjectWhitelistedDomainRequest + (*RemoveProjectWhitelistedDomainResponse)(nil), // 259: rill.admin.v1.RemoveProjectWhitelistedDomainResponse + (*ListProjectWhitelistedDomainsRequest)(nil), // 260: rill.admin.v1.ListProjectWhitelistedDomainsRequest + (*ListProjectWhitelistedDomainsResponse)(nil), // 261: rill.admin.v1.ListProjectWhitelistedDomainsResponse + (*GetRepoMetaRequest)(nil), // 262: rill.admin.v1.GetRepoMetaRequest + (*GetRepoMetaResponse)(nil), // 263: rill.admin.v1.GetRepoMetaResponse + (*PullVirtualRepoRequest)(nil), // 264: rill.admin.v1.PullVirtualRepoRequest + (*PullVirtualRepoResponse)(nil), // 265: rill.admin.v1.PullVirtualRepoResponse + (*GetVirtualFileRequest)(nil), // 266: rill.admin.v1.GetVirtualFileRequest + (*GetVirtualFileResponse)(nil), // 267: rill.admin.v1.GetVirtualFileResponse + (*DeleteVirtualFileRequest)(nil), // 268: rill.admin.v1.DeleteVirtualFileRequest + (*DeleteVirtualFileResponse)(nil), // 269: rill.admin.v1.DeleteVirtualFileResponse + (*GetReportMetaRequest)(nil), // 270: rill.admin.v1.GetReportMetaRequest + (*GetReportMetaResponse)(nil), // 271: rill.admin.v1.GetReportMetaResponse + (*GetAlertMetaRequest)(nil), // 272: rill.admin.v1.GetAlertMetaRequest + (*GetAlertMetaResponse)(nil), // 273: rill.admin.v1.GetAlertMetaResponse + (*CreateReportRequest)(nil), // 274: rill.admin.v1.CreateReportRequest + (*CreateReportResponse)(nil), // 275: rill.admin.v1.CreateReportResponse + (*EditReportRequest)(nil), // 276: rill.admin.v1.EditReportRequest + (*EditReportResponse)(nil), // 277: rill.admin.v1.EditReportResponse + (*UnsubscribeReportRequest)(nil), // 278: rill.admin.v1.UnsubscribeReportRequest + (*UnsubscribeReportResponse)(nil), // 279: rill.admin.v1.UnsubscribeReportResponse + (*DeleteReportRequest)(nil), // 280: rill.admin.v1.DeleteReportRequest + (*DeleteReportResponse)(nil), // 281: rill.admin.v1.DeleteReportResponse + (*TriggerReportRequest)(nil), // 282: rill.admin.v1.TriggerReportRequest + (*TriggerReportResponse)(nil), // 283: rill.admin.v1.TriggerReportResponse + (*GenerateReportYAMLRequest)(nil), // 284: rill.admin.v1.GenerateReportYAMLRequest + (*GenerateReportYAMLResponse)(nil), // 285: rill.admin.v1.GenerateReportYAMLResponse + (*CreateAlertRequest)(nil), // 286: rill.admin.v1.CreateAlertRequest + (*CreateAlertResponse)(nil), // 287: rill.admin.v1.CreateAlertResponse + (*EditAlertRequest)(nil), // 288: rill.admin.v1.EditAlertRequest + (*EditAlertResponse)(nil), // 289: rill.admin.v1.EditAlertResponse + (*UnsubscribeAlertRequest)(nil), // 290: rill.admin.v1.UnsubscribeAlertRequest + (*UnsubscribeAlertResponse)(nil), // 291: rill.admin.v1.UnsubscribeAlertResponse + (*DeleteAlertRequest)(nil), // 292: rill.admin.v1.DeleteAlertRequest + (*DeleteAlertResponse)(nil), // 293: rill.admin.v1.DeleteAlertResponse + (*GenerateAlertYAMLRequest)(nil), // 294: rill.admin.v1.GenerateAlertYAMLRequest + (*GenerateAlertYAMLResponse)(nil), // 295: rill.admin.v1.GenerateAlertYAMLResponse + (*GetAlertYAMLRequest)(nil), // 296: rill.admin.v1.GetAlertYAMLRequest + (*GetAlertYAMLResponse)(nil), // 297: rill.admin.v1.GetAlertYAMLResponse + (*GetBillingSubscriptionRequest)(nil), // 298: rill.admin.v1.GetBillingSubscriptionRequest + (*GetBillingSubscriptionResponse)(nil), // 299: rill.admin.v1.GetBillingSubscriptionResponse + (*BillingCreditInfo)(nil), // 300: rill.admin.v1.BillingCreditInfo + (*UpdateBillingSubscriptionRequest)(nil), // 301: rill.admin.v1.UpdateBillingSubscriptionRequest + (*UpdateBillingSubscriptionResponse)(nil), // 302: rill.admin.v1.UpdateBillingSubscriptionResponse + (*CancelBillingSubscriptionRequest)(nil), // 303: rill.admin.v1.CancelBillingSubscriptionRequest + (*CancelBillingSubscriptionResponse)(nil), // 304: rill.admin.v1.CancelBillingSubscriptionResponse + (*RenewBillingSubscriptionRequest)(nil), // 305: rill.admin.v1.RenewBillingSubscriptionRequest + (*RenewBillingSubscriptionResponse)(nil), // 306: rill.admin.v1.RenewBillingSubscriptionResponse + (*GetPaymentsPortalURLRequest)(nil), // 307: rill.admin.v1.GetPaymentsPortalURLRequest + (*GetPaymentsPortalURLResponse)(nil), // 308: rill.admin.v1.GetPaymentsPortalURLResponse + (*ListPublicBillingPlansRequest)(nil), // 309: rill.admin.v1.ListPublicBillingPlansRequest + (*ListPublicBillingPlansResponse)(nil), // 310: rill.admin.v1.ListPublicBillingPlansResponse + (*GetBillingProjectCredentialsRequest)(nil), // 311: rill.admin.v1.GetBillingProjectCredentialsRequest + (*GetBillingProjectCredentialsResponse)(nil), // 312: rill.admin.v1.GetBillingProjectCredentialsResponse + (*TelemetryRequest)(nil), // 313: rill.admin.v1.TelemetryRequest + (*TelemetryResponse)(nil), // 314: rill.admin.v1.TelemetryResponse + (*RequestProjectAccessRequest)(nil), // 315: rill.admin.v1.RequestProjectAccessRequest + (*RequestProjectAccessResponse)(nil), // 316: rill.admin.v1.RequestProjectAccessResponse + (*GetProjectAccessRequestRequest)(nil), // 317: rill.admin.v1.GetProjectAccessRequestRequest + (*GetProjectAccessRequestResponse)(nil), // 318: rill.admin.v1.GetProjectAccessRequestResponse + (*ApproveProjectAccessRequest)(nil), // 319: rill.admin.v1.ApproveProjectAccessRequest + (*ApproveProjectAccessResponse)(nil), // 320: rill.admin.v1.ApproveProjectAccessResponse + (*DenyProjectAccessRequest)(nil), // 321: rill.admin.v1.DenyProjectAccessRequest + (*DenyProjectAccessResponse)(nil), // 322: rill.admin.v1.DenyProjectAccessResponse + (*ListOrganizationBillingIssuesRequest)(nil), // 323: rill.admin.v1.ListOrganizationBillingIssuesRequest + (*ListOrganizationBillingIssuesResponse)(nil), // 324: rill.admin.v1.ListOrganizationBillingIssuesResponse + (*User)(nil), // 325: rill.admin.v1.User + (*Service)(nil), // 326: rill.admin.v1.Service + (*OrganizationMemberService)(nil), // 327: rill.admin.v1.OrganizationMemberService + (*ProjectMemberService)(nil), // 328: rill.admin.v1.ProjectMemberService + (*Organization)(nil), // 329: rill.admin.v1.Organization + (*Subscription)(nil), // 330: rill.admin.v1.Subscription + (*UserQuotas)(nil), // 331: rill.admin.v1.UserQuotas + (*OrganizationQuotas)(nil), // 332: rill.admin.v1.OrganizationQuotas + (*Project)(nil), // 333: rill.admin.v1.Project + (*Deployment)(nil), // 334: rill.admin.v1.Deployment + (*ProvisionerResource)(nil), // 335: rill.admin.v1.ProvisionerResource + (*OrganizationPermissions)(nil), // 336: rill.admin.v1.OrganizationPermissions + (*ProjectPermissions)(nil), // 337: rill.admin.v1.ProjectPermissions + (*OrganizationRole)(nil), // 338: rill.admin.v1.OrganizationRole + (*ProjectRole)(nil), // 339: rill.admin.v1.ProjectRole + (*OrganizationMemberUser)(nil), // 340: rill.admin.v1.OrganizationMemberUser + (*ProjectMemberUser)(nil), // 341: rill.admin.v1.ProjectMemberUser + (*UsergroupMemberUser)(nil), // 342: rill.admin.v1.UsergroupMemberUser + (*OrganizationInvite)(nil), // 343: rill.admin.v1.OrganizationInvite + (*ProjectInvite)(nil), // 344: rill.admin.v1.ProjectInvite + (*WhitelistedDomain)(nil), // 345: rill.admin.v1.WhitelistedDomain + (*Bookmark)(nil), // 346: rill.admin.v1.Bookmark + (*ServiceToken)(nil), // 347: rill.admin.v1.ServiceToken + (*UserAuthToken)(nil), // 348: rill.admin.v1.UserAuthToken + (*MagicAuthToken)(nil), // 349: rill.admin.v1.MagicAuthToken + (*VirtualFile)(nil), // 350: rill.admin.v1.VirtualFile + (*ReportOptions)(nil), // 351: rill.admin.v1.ReportOptions + (*AlertOptions)(nil), // 352: rill.admin.v1.AlertOptions + (*BillingPlan)(nil), // 353: rill.admin.v1.BillingPlan + (*Quotas)(nil), // 354: rill.admin.v1.Quotas + (*Usergroup)(nil), // 355: rill.admin.v1.Usergroup + (*MemberUsergroup)(nil), // 356: rill.admin.v1.MemberUsergroup + (*BillingIssue)(nil), // 357: rill.admin.v1.BillingIssue + (*BillingIssueMetadata)(nil), // 358: rill.admin.v1.BillingIssueMetadata + (*BillingIssueMetadataOnTrial)(nil), // 359: rill.admin.v1.BillingIssueMetadataOnTrial + (*BillingIssueMetadataTrialEnded)(nil), // 360: rill.admin.v1.BillingIssueMetadataTrialEnded + (*BillingIssueMetadataNoPaymentMethod)(nil), // 361: rill.admin.v1.BillingIssueMetadataNoPaymentMethod + (*BillingIssueMetadataNoBillableAddress)(nil), // 362: rill.admin.v1.BillingIssueMetadataNoBillableAddress + (*BillingIssueMetadataPaymentFailed)(nil), // 363: rill.admin.v1.BillingIssueMetadataPaymentFailed + (*BillingIssueMetadataPaymentFailedMeta)(nil), // 364: rill.admin.v1.BillingIssueMetadataPaymentFailedMeta + (*BillingIssueMetadataSubscriptionCancelled)(nil), // 365: rill.admin.v1.BillingIssueMetadataSubscriptionCancelled + (*BillingIssueMetadataNeverSubscribed)(nil), // 366: rill.admin.v1.BillingIssueMetadataNeverSubscribed + (*BillingIssueMetadataCreditLow)(nil), // 367: rill.admin.v1.BillingIssueMetadataCreditLow + (*BillingIssueMetadataCreditCritical)(nil), // 368: rill.admin.v1.BillingIssueMetadataCreditCritical + (*BillingIssueMetadataCreditExhausted)(nil), // 369: rill.admin.v1.BillingIssueMetadataCreditExhausted + nil, // 370: rill.admin.v1.ListProjectsForOrganizationAndUserResponse.ProjectRolesEntry + nil, // 371: rill.admin.v1.SearchProjectNamesRequest.AnnotationsEntry + nil, // 372: rill.admin.v1.GetProjectVariablesResponse.VariablesMapEntry + nil, // 373: rill.admin.v1.UpdateProjectVariablesRequest.VariablesEntry + nil, // 374: rill.admin.v1.GetIFrameRequest.QueryEntry + nil, // 375: rill.admin.v1.CreateAssetResponse.SigningHeadersEntry + nil, // 376: rill.admin.v1.GetDeploymentConfigResponse.VariablesEntry + nil, // 377: rill.admin.v1.GetDeploymentConfigResponse.AnnotationsEntry + nil, // 378: rill.admin.v1.SudoUpdateAnnotationsRequest.AnnotationsEntry + nil, // 379: rill.admin.v1.IssueMagicAuthTokenRequest.MetricsViewFiltersEntry + nil, // 380: rill.admin.v1.GetGithubUserStatusResponse.OrganizationInstallationPermissionsEntry + (*ListGithubUserReposResponse_Repo)(nil), // 381: rill.admin.v1.ListGithubUserReposResponse.Repo + (*GetReportMetaResponse_DeliveryMeta)(nil), // 382: rill.admin.v1.GetReportMetaResponse.DeliveryMeta + nil, // 383: rill.admin.v1.GetReportMetaResponse.DeliveryMetaEntry + nil, // 384: rill.admin.v1.GetAlertMetaRequest.AnnotationsEntry + (*GetAlertMetaResponse_URLs)(nil), // 385: rill.admin.v1.GetAlertMetaResponse.URLs + nil, // 386: rill.admin.v1.GetAlertMetaResponse.RecipientUrlsEntry + nil, // 387: rill.admin.v1.Project.AnnotationsEntry + nil, // 388: rill.admin.v1.MagicAuthToken.MetricsViewFiltersEntry + (*timestamppb.Timestamp)(nil), // 389: google.protobuf.Timestamp + (*structpb.Struct)(nil), // 390: google.protobuf.Struct + (v1.ExportFormat)(0), // 391: rill.runtime.v1.ExportFormat + (*v1.Expression)(nil), // 392: rill.runtime.v1.Expression } var file_rill_admin_v1_api_proto_depIdxs = []int32{ - 387, // 0: rill.admin.v1.PingResponse.time:type_name -> google.protobuf.Timestamp - 327, // 1: rill.admin.v1.ListOrganizationsResponse.organizations:type_name -> rill.admin.v1.Organization - 327, // 2: rill.admin.v1.GetOrganizationResponse.organization:type_name -> rill.admin.v1.Organization - 334, // 3: rill.admin.v1.GetOrganizationResponse.permissions:type_name -> rill.admin.v1.OrganizationPermissions - 327, // 4: rill.admin.v1.CreateOrganizationResponse.organization:type_name -> rill.admin.v1.Organization - 327, // 5: rill.admin.v1.UpdateOrganizationResponse.organization:type_name -> rill.admin.v1.Organization - 332, // 6: rill.admin.v1.ListDeploymentsResponse.deployments:type_name -> rill.admin.v1.Deployment - 332, // 7: rill.admin.v1.CreateDeploymentResponse.deployment:type_name -> rill.admin.v1.Deployment - 388, // 8: rill.admin.v1.GetDeploymentRequest.attributes:type_name -> google.protobuf.Struct - 332, // 9: rill.admin.v1.StartDeploymentResponse.deployment:type_name -> rill.admin.v1.Deployment - 331, // 10: rill.admin.v1.ListProjectsForOrganizationResponse.projects:type_name -> rill.admin.v1.Project - 331, // 11: rill.admin.v1.ListProjectsForOrganizationAndUserResponse.projects:type_name -> rill.admin.v1.Project - 368, // 12: rill.admin.v1.ListProjectsForOrganizationAndUserResponse.project_roles:type_name -> rill.admin.v1.ListProjectsForOrganizationAndUserResponse.ProjectRolesEntry - 331, // 13: rill.admin.v1.ListProjectsForFingerprintResponse.projects:type_name -> rill.admin.v1.Project - 331, // 14: rill.admin.v1.GetProjectResponse.project:type_name -> rill.admin.v1.Project - 332, // 15: rill.admin.v1.GetProjectResponse.deployment:type_name -> rill.admin.v1.Deployment - 335, // 16: rill.admin.v1.GetProjectResponse.project_permissions:type_name -> rill.admin.v1.ProjectPermissions - 331, // 17: rill.admin.v1.ListProjectsForUserByNameResponse.projects:type_name -> rill.admin.v1.Project - 331, // 18: rill.admin.v1.GetProjectByIDResponse.project:type_name -> rill.admin.v1.Project - 369, // 19: rill.admin.v1.SearchProjectNamesRequest.annotations:type_name -> rill.admin.v1.SearchProjectNamesRequest.AnnotationsEntry + 389, // 0: rill.admin.v1.PingResponse.time:type_name -> google.protobuf.Timestamp + 329, // 1: rill.admin.v1.ListOrganizationsResponse.organizations:type_name -> rill.admin.v1.Organization + 329, // 2: rill.admin.v1.GetOrganizationResponse.organization:type_name -> rill.admin.v1.Organization + 336, // 3: rill.admin.v1.GetOrganizationResponse.permissions:type_name -> rill.admin.v1.OrganizationPermissions + 329, // 4: rill.admin.v1.CreateOrganizationResponse.organization:type_name -> rill.admin.v1.Organization + 329, // 5: rill.admin.v1.UpdateOrganizationResponse.organization:type_name -> rill.admin.v1.Organization + 334, // 6: rill.admin.v1.ListDeploymentsResponse.deployments:type_name -> rill.admin.v1.Deployment + 334, // 7: rill.admin.v1.CreateDeploymentResponse.deployment:type_name -> rill.admin.v1.Deployment + 390, // 8: rill.admin.v1.GetDeploymentRequest.attributes:type_name -> google.protobuf.Struct + 334, // 9: rill.admin.v1.StartDeploymentResponse.deployment:type_name -> rill.admin.v1.Deployment + 333, // 10: rill.admin.v1.ListProjectsForOrganizationResponse.projects:type_name -> rill.admin.v1.Project + 333, // 11: rill.admin.v1.ListProjectsForOrganizationAndUserResponse.projects:type_name -> rill.admin.v1.Project + 370, // 12: rill.admin.v1.ListProjectsForOrganizationAndUserResponse.project_roles:type_name -> rill.admin.v1.ListProjectsForOrganizationAndUserResponse.ProjectRolesEntry + 333, // 13: rill.admin.v1.ListProjectsForFingerprintResponse.projects:type_name -> rill.admin.v1.Project + 333, // 14: rill.admin.v1.GetProjectResponse.project:type_name -> rill.admin.v1.Project + 334, // 15: rill.admin.v1.GetProjectResponse.deployment:type_name -> rill.admin.v1.Deployment + 337, // 16: rill.admin.v1.GetProjectResponse.project_permissions:type_name -> rill.admin.v1.ProjectPermissions + 333, // 17: rill.admin.v1.ListProjectsForUserByNameResponse.projects:type_name -> rill.admin.v1.Project + 333, // 18: rill.admin.v1.GetProjectByIDResponse.project:type_name -> rill.admin.v1.Project + 371, // 19: rill.admin.v1.SearchProjectNamesRequest.annotations:type_name -> rill.admin.v1.SearchProjectNamesRequest.AnnotationsEntry 47, // 20: rill.admin.v1.GetProjectVariablesResponse.variables:type_name -> rill.admin.v1.ProjectVariable - 370, // 21: rill.admin.v1.GetProjectVariablesResponse.variables_map:type_name -> rill.admin.v1.GetProjectVariablesResponse.VariablesMapEntry - 387, // 22: rill.admin.v1.ProjectVariable.created_on:type_name -> google.protobuf.Timestamp - 387, // 23: rill.admin.v1.ProjectVariable.updated_on:type_name -> google.protobuf.Timestamp - 371, // 24: rill.admin.v1.UpdateProjectVariablesRequest.variables:type_name -> rill.admin.v1.UpdateProjectVariablesRequest.VariablesEntry + 372, // 21: rill.admin.v1.GetProjectVariablesResponse.variables_map:type_name -> rill.admin.v1.GetProjectVariablesResponse.VariablesMapEntry + 389, // 22: rill.admin.v1.ProjectVariable.created_on:type_name -> google.protobuf.Timestamp + 389, // 23: rill.admin.v1.ProjectVariable.updated_on:type_name -> google.protobuf.Timestamp + 373, // 24: rill.admin.v1.UpdateProjectVariablesRequest.variables:type_name -> rill.admin.v1.UpdateProjectVariablesRequest.VariablesEntry 47, // 25: rill.admin.v1.UpdateProjectVariablesResponse.variables:type_name -> rill.admin.v1.ProjectVariable - 323, // 26: rill.admin.v1.SearchProjectUsersResponse.users:type_name -> rill.admin.v1.User - 388, // 27: rill.admin.v1.GetDeploymentCredentialsRequest.attributes:type_name -> google.protobuf.Struct - 388, // 28: rill.admin.v1.GetIFrameRequest.attributes:type_name -> google.protobuf.Struct - 372, // 29: rill.admin.v1.GetIFrameRequest.query:type_name -> rill.admin.v1.GetIFrameRequest.QueryEntry - 325, // 30: rill.admin.v1.ListServicesResponse.services:type_name -> rill.admin.v1.OrganizationMemberService - 326, // 31: rill.admin.v1.ListProjectMemberServicesResponse.services:type_name -> rill.admin.v1.ProjectMemberService - 388, // 32: rill.admin.v1.CreateServiceRequest.attributes:type_name -> google.protobuf.Struct - 324, // 33: rill.admin.v1.CreateServiceResponse.service:type_name -> rill.admin.v1.Service - 325, // 34: rill.admin.v1.GetServiceResponse.service:type_name -> rill.admin.v1.OrganizationMemberService - 326, // 35: rill.admin.v1.GetServiceResponse.project_memberships:type_name -> rill.admin.v1.ProjectMemberService - 388, // 36: rill.admin.v1.UpdateServiceRequest.attributes:type_name -> google.protobuf.Struct - 324, // 37: rill.admin.v1.UpdateServiceResponse.service:type_name -> rill.admin.v1.Service - 324, // 38: rill.admin.v1.DeleteServiceResponse.service:type_name -> rill.admin.v1.Service - 331, // 39: rill.admin.v1.CreateProjectResponse.project:type_name -> rill.admin.v1.Project - 331, // 40: rill.admin.v1.UpdateProjectResponse.project:type_name -> rill.admin.v1.Project - 373, // 41: rill.admin.v1.CreateAssetResponse.signing_headers:type_name -> rill.admin.v1.CreateAssetResponse.SigningHeadersEntry - 388, // 42: rill.admin.v1.ProvisionRequest.args:type_name -> google.protobuf.Struct - 333, // 43: rill.admin.v1.ProvisionResponse.resource:type_name -> rill.admin.v1.ProvisionerResource - 374, // 44: rill.admin.v1.GetDeploymentConfigResponse.variables:type_name -> rill.admin.v1.GetDeploymentConfigResponse.VariablesEntry - 375, // 45: rill.admin.v1.GetDeploymentConfigResponse.annotations:type_name -> rill.admin.v1.GetDeploymentConfigResponse.AnnotationsEntry - 387, // 46: rill.admin.v1.GetDeploymentConfigResponse.updated_on:type_name -> google.protobuf.Timestamp - 388, // 47: rill.admin.v1.GetDeploymentConfigResponse.duckdb_connector_config:type_name -> google.protobuf.Struct - 336, // 48: rill.admin.v1.ListRolesResponse.organization_roles:type_name -> rill.admin.v1.OrganizationRole - 337, // 49: rill.admin.v1.ListRolesResponse.project_roles:type_name -> rill.admin.v1.ProjectRole - 338, // 50: rill.admin.v1.ListOrganizationMemberUsersResponse.members:type_name -> rill.admin.v1.OrganizationMemberUser - 341, // 51: rill.admin.v1.ListOrganizationInvitesResponse.invites:type_name -> rill.admin.v1.OrganizationInvite - 338, // 52: rill.admin.v1.GetOrganizationMemberUserResponse.member:type_name -> rill.admin.v1.OrganizationMemberUser - 339, // 53: rill.admin.v1.GetProjectMemberUserResponse.member:type_name -> rill.admin.v1.ProjectMemberUser - 354, // 54: rill.admin.v1.ListUsergroupsForProjectAndUserResponse.usergroups:type_name -> rill.admin.v1.MemberUsergroup - 388, // 55: rill.admin.v1.UpdateOrganizationMemberUserAttributesRequest.attributes:type_name -> google.protobuf.Struct - 323, // 56: rill.admin.v1.ListSuperusersResponse.users:type_name -> rill.admin.v1.User - 323, // 57: rill.admin.v1.SudoGetResourceResponse.user:type_name -> rill.admin.v1.User - 327, // 58: rill.admin.v1.SudoGetResourceResponse.org:type_name -> rill.admin.v1.Organization - 331, // 59: rill.admin.v1.SudoGetResourceResponse.project:type_name -> rill.admin.v1.Project - 332, // 60: rill.admin.v1.SudoGetResourceResponse.deployment:type_name -> rill.admin.v1.Deployment - 332, // 61: rill.admin.v1.SudoGetResourceResponse.instance:type_name -> rill.admin.v1.Deployment - 327, // 62: rill.admin.v1.SudoUpdateOrganizationQuotasResponse.organization:type_name -> rill.admin.v1.Organization - 327, // 63: rill.admin.v1.SudoUpdateOrganizationBillingCustomerResponse.organization:type_name -> rill.admin.v1.Organization - 328, // 64: rill.admin.v1.SudoUpdateOrganizationBillingCustomerResponse.subscription:type_name -> rill.admin.v1.Subscription - 387, // 65: rill.admin.v1.SudoExtendTrialResponse.trial_end:type_name -> google.protobuf.Timestamp - 327, // 66: rill.admin.v1.SudoUpdateOrganizationCustomDomainResponse.organization:type_name -> rill.admin.v1.Organization - 323, // 67: rill.admin.v1.SudoUpdateUserQuotasResponse.user:type_name -> rill.admin.v1.User - 376, // 68: rill.admin.v1.SudoUpdateAnnotationsRequest.annotations:type_name -> rill.admin.v1.SudoUpdateAnnotationsRequest.AnnotationsEntry - 331, // 69: rill.admin.v1.SudoUpdateAnnotationsResponse.project:type_name -> rill.admin.v1.Project - 3, // 70: rill.admin.v1.SudoDeleteOrganizationBillingIssueRequest.type:type_name -> rill.admin.v1.BillingIssueType - 339, // 71: rill.admin.v1.ListProjectMemberUsersResponse.members:type_name -> rill.admin.v1.ProjectMemberUser - 342, // 72: rill.admin.v1.ListProjectInvitesResponse.invites:type_name -> rill.admin.v1.ProjectInvite - 228, // 73: rill.admin.v1.AddProjectMemberUserRequest.resources:type_name -> rill.admin.v1.ResourceName - 228, // 74: rill.admin.v1.SetProjectMemberUserRoleRequest.resources:type_name -> rill.admin.v1.ResourceName - 353, // 75: rill.admin.v1.ListUsergroupsForOrganizationAndUserResponse.usergroups:type_name -> rill.admin.v1.Usergroup - 353, // 76: rill.admin.v1.CreateUsergroupResponse.usergroup:type_name -> rill.admin.v1.Usergroup - 353, // 77: rill.admin.v1.GetUsergroupResponse.usergroup:type_name -> rill.admin.v1.Usergroup - 353, // 78: rill.admin.v1.UpdateUsergroupResponse.usergroup:type_name -> rill.admin.v1.Usergroup - 354, // 79: rill.admin.v1.ListOrganizationMemberUsergroupsResponse.members:type_name -> rill.admin.v1.MemberUsergroup - 354, // 80: rill.admin.v1.ListProjectMemberUsergroupsResponse.members:type_name -> rill.admin.v1.MemberUsergroup - 228, // 81: rill.admin.v1.AddProjectMemberUsergroupRequest.resources:type_name -> rill.admin.v1.ResourceName - 228, // 82: rill.admin.v1.SetProjectMemberUsergroupRoleRequest.resources:type_name -> rill.admin.v1.ResourceName - 340, // 83: rill.admin.v1.ListUsergroupMemberUsersResponse.members:type_name -> rill.admin.v1.UsergroupMemberUser - 186, // 84: rill.admin.v1.UpdateUserPreferencesRequest.preferences:type_name -> rill.admin.v1.UserPreferences - 186, // 85: rill.admin.v1.UpdateUserPreferencesResponse.preferences:type_name -> rill.admin.v1.UserPreferences - 323, // 86: rill.admin.v1.GetUserResponse.user:type_name -> rill.admin.v1.User - 323, // 87: rill.admin.v1.GetCurrentUserResponse.user:type_name -> rill.admin.v1.User - 186, // 88: rill.admin.v1.GetCurrentUserResponse.preferences:type_name -> rill.admin.v1.UserPreferences - 346, // 89: rill.admin.v1.ListUserAuthTokensResponse.tokens:type_name -> rill.admin.v1.UserAuthToken - 344, // 90: rill.admin.v1.ListBookmarksResponse.bookmarks:type_name -> rill.admin.v1.Bookmark - 344, // 91: rill.admin.v1.GetBookmarkResponse.bookmark:type_name -> rill.admin.v1.Bookmark - 344, // 92: rill.admin.v1.CreateBookmarkResponse.bookmark:type_name -> rill.admin.v1.Bookmark - 323, // 93: rill.admin.v1.SearchUsersResponse.users:type_name -> rill.admin.v1.User - 345, // 94: rill.admin.v1.ListServiceAuthTokensResponse.tokens:type_name -> rill.admin.v1.ServiceToken - 377, // 95: rill.admin.v1.IssueMagicAuthTokenRequest.metrics_view_filters:type_name -> rill.admin.v1.IssueMagicAuthTokenRequest.MetricsViewFiltersEntry - 228, // 96: rill.admin.v1.IssueMagicAuthTokenRequest.resources:type_name -> rill.admin.v1.ResourceName - 347, // 97: rill.admin.v1.ListMagicAuthTokensResponse.tokens:type_name -> rill.admin.v1.MagicAuthToken - 347, // 98: rill.admin.v1.GetCurrentMagicAuthTokenResponse.token:type_name -> rill.admin.v1.MagicAuthToken - 0, // 99: rill.admin.v1.GetGithubUserStatusResponse.user_installation_permission:type_name -> rill.admin.v1.GithubPermission - 378, // 100: rill.admin.v1.GetGithubUserStatusResponse.organization_installation_permissions:type_name -> rill.admin.v1.GetGithubUserStatusResponse.OrganizationInstallationPermissionsEntry - 379, // 101: rill.admin.v1.ListGithubUserReposResponse.repos:type_name -> rill.admin.v1.ListGithubUserReposResponse.Repo - 387, // 102: rill.admin.v1.CreateManagedGitRepoResponse.password_expires_at:type_name -> google.protobuf.Timestamp - 387, // 103: rill.admin.v1.GetCloneCredentialsResponse.git_password_expires_at:type_name -> google.protobuf.Timestamp - 343, // 104: rill.admin.v1.ListWhitelistedDomainsResponse.domains:type_name -> rill.admin.v1.WhitelistedDomain - 343, // 105: rill.admin.v1.ListProjectWhitelistedDomainsResponse.domains:type_name -> rill.admin.v1.WhitelistedDomain - 387, // 106: rill.admin.v1.GetRepoMetaResponse.expires_on:type_name -> google.protobuf.Timestamp - 387, // 107: rill.admin.v1.GetRepoMetaResponse.last_updated_on:type_name -> google.protobuf.Timestamp - 387, // 108: rill.admin.v1.GetRepoMetaResponse.archive_created_on:type_name -> google.protobuf.Timestamp - 348, // 109: rill.admin.v1.PullVirtualRepoResponse.files:type_name -> rill.admin.v1.VirtualFile - 348, // 110: rill.admin.v1.GetVirtualFileResponse.file:type_name -> rill.admin.v1.VirtualFile - 387, // 111: rill.admin.v1.GetReportMetaRequest.execution_time:type_name -> google.protobuf.Timestamp - 228, // 112: rill.admin.v1.GetReportMetaRequest.resources:type_name -> rill.admin.v1.ResourceName - 381, // 113: rill.admin.v1.GetReportMetaResponse.delivery_meta:type_name -> rill.admin.v1.GetReportMetaResponse.DeliveryMetaEntry - 382, // 114: rill.admin.v1.GetAlertMetaRequest.annotations:type_name -> rill.admin.v1.GetAlertMetaRequest.AnnotationsEntry - 384, // 115: rill.admin.v1.GetAlertMetaResponse.recipient_urls:type_name -> rill.admin.v1.GetAlertMetaResponse.RecipientUrlsEntry - 388, // 116: rill.admin.v1.GetAlertMetaResponse.query_for_attributes:type_name -> google.protobuf.Struct - 349, // 117: rill.admin.v1.CreateReportRequest.options:type_name -> rill.admin.v1.ReportOptions - 349, // 118: rill.admin.v1.EditReportRequest.options:type_name -> rill.admin.v1.ReportOptions - 349, // 119: rill.admin.v1.GenerateReportYAMLRequest.options:type_name -> rill.admin.v1.ReportOptions - 350, // 120: rill.admin.v1.CreateAlertRequest.options:type_name -> rill.admin.v1.AlertOptions - 350, // 121: rill.admin.v1.EditAlertRequest.options:type_name -> rill.admin.v1.AlertOptions - 350, // 122: rill.admin.v1.GenerateAlertYAMLRequest.options:type_name -> rill.admin.v1.AlertOptions - 327, // 123: rill.admin.v1.GetBillingSubscriptionResponse.organization:type_name -> rill.admin.v1.Organization - 328, // 124: rill.admin.v1.GetBillingSubscriptionResponse.subscription:type_name -> rill.admin.v1.Subscription - 298, // 125: rill.admin.v1.GetBillingSubscriptionResponse.credit_info:type_name -> rill.admin.v1.BillingCreditInfo - 387, // 126: rill.admin.v1.BillingCreditInfo.credit_expiry:type_name -> google.protobuf.Timestamp - 327, // 127: rill.admin.v1.UpdateBillingSubscriptionResponse.organization:type_name -> rill.admin.v1.Organization - 328, // 128: rill.admin.v1.UpdateBillingSubscriptionResponse.subscription:type_name -> rill.admin.v1.Subscription - 327, // 129: rill.admin.v1.RenewBillingSubscriptionResponse.organization:type_name -> rill.admin.v1.Organization - 328, // 130: rill.admin.v1.RenewBillingSubscriptionResponse.subscription:type_name -> rill.admin.v1.Subscription - 351, // 131: rill.admin.v1.ListPublicBillingPlansResponse.plans:type_name -> rill.admin.v1.BillingPlan - 388, // 132: rill.admin.v1.TelemetryRequest.event:type_name -> google.protobuf.Struct - 355, // 133: rill.admin.v1.ListOrganizationBillingIssuesResponse.issues:type_name -> rill.admin.v1.BillingIssue - 329, // 134: rill.admin.v1.User.quotas:type_name -> rill.admin.v1.UserQuotas - 387, // 135: rill.admin.v1.User.created_on:type_name -> google.protobuf.Timestamp - 387, // 136: rill.admin.v1.User.updated_on:type_name -> google.protobuf.Timestamp - 388, // 137: rill.admin.v1.Service.attributes:type_name -> google.protobuf.Struct - 387, // 138: rill.admin.v1.Service.created_on:type_name -> google.protobuf.Timestamp - 387, // 139: rill.admin.v1.Service.updated_on:type_name -> google.protobuf.Timestamp - 388, // 140: rill.admin.v1.OrganizationMemberService.attributes:type_name -> google.protobuf.Struct - 387, // 141: rill.admin.v1.OrganizationMemberService.created_on:type_name -> google.protobuf.Timestamp - 387, // 142: rill.admin.v1.OrganizationMemberService.updated_on:type_name -> google.protobuf.Timestamp - 388, // 143: rill.admin.v1.ProjectMemberService.attributes:type_name -> google.protobuf.Struct - 387, // 144: rill.admin.v1.ProjectMemberService.created_on:type_name -> google.protobuf.Timestamp - 387, // 145: rill.admin.v1.ProjectMemberService.updated_on:type_name -> google.protobuf.Timestamp - 330, // 146: rill.admin.v1.Organization.quotas:type_name -> rill.admin.v1.OrganizationQuotas - 387, // 147: rill.admin.v1.Organization.created_on:type_name -> google.protobuf.Timestamp - 387, // 148: rill.admin.v1.Organization.updated_on:type_name -> google.protobuf.Timestamp - 351, // 149: rill.admin.v1.Subscription.plan:type_name -> rill.admin.v1.BillingPlan - 387, // 150: rill.admin.v1.Subscription.start_date:type_name -> google.protobuf.Timestamp - 387, // 151: rill.admin.v1.Subscription.end_date:type_name -> google.protobuf.Timestamp - 387, // 152: rill.admin.v1.Subscription.current_billing_cycle_start_date:type_name -> google.protobuf.Timestamp - 387, // 153: rill.admin.v1.Subscription.current_billing_cycle_end_date:type_name -> google.protobuf.Timestamp - 387, // 154: rill.admin.v1.Subscription.trial_end_date:type_name -> google.protobuf.Timestamp - 385, // 155: rill.admin.v1.Project.annotations:type_name -> rill.admin.v1.Project.AnnotationsEntry - 387, // 156: rill.admin.v1.Project.created_on:type_name -> google.protobuf.Timestamp - 387, // 157: rill.admin.v1.Project.updated_on:type_name -> google.protobuf.Timestamp - 1, // 158: rill.admin.v1.Deployment.status:type_name -> rill.admin.v1.DeploymentStatus - 387, // 159: rill.admin.v1.Deployment.created_on:type_name -> google.protobuf.Timestamp - 387, // 160: rill.admin.v1.Deployment.updated_on:type_name -> google.protobuf.Timestamp - 388, // 161: rill.admin.v1.ProvisionerResource.args:type_name -> google.protobuf.Struct - 388, // 162: rill.admin.v1.ProvisionerResource.config:type_name -> google.protobuf.Struct - 334, // 163: rill.admin.v1.OrganizationRole.permissions:type_name -> rill.admin.v1.OrganizationPermissions - 335, // 164: rill.admin.v1.ProjectRole.permissions:type_name -> rill.admin.v1.ProjectPermissions - 388, // 165: rill.admin.v1.OrganizationMemberUser.attributes:type_name -> google.protobuf.Struct - 387, // 166: rill.admin.v1.OrganizationMemberUser.created_on:type_name -> google.protobuf.Timestamp - 387, // 167: rill.admin.v1.OrganizationMemberUser.updated_on:type_name -> google.protobuf.Timestamp - 387, // 168: rill.admin.v1.ProjectMemberUser.created_on:type_name -> google.protobuf.Timestamp - 387, // 169: rill.admin.v1.ProjectMemberUser.updated_on:type_name -> google.protobuf.Timestamp - 228, // 170: rill.admin.v1.ProjectMemberUser.resources:type_name -> rill.admin.v1.ResourceName - 387, // 171: rill.admin.v1.UsergroupMemberUser.created_on:type_name -> google.protobuf.Timestamp - 387, // 172: rill.admin.v1.UsergroupMemberUser.updated_on:type_name -> google.protobuf.Timestamp - 228, // 173: rill.admin.v1.ProjectInvite.resources:type_name -> rill.admin.v1.ResourceName - 387, // 174: rill.admin.v1.Bookmark.created_on:type_name -> google.protobuf.Timestamp - 387, // 175: rill.admin.v1.Bookmark.updated_on:type_name -> google.protobuf.Timestamp - 387, // 176: rill.admin.v1.ServiceToken.created_on:type_name -> google.protobuf.Timestamp - 387, // 177: rill.admin.v1.ServiceToken.expires_on:type_name -> google.protobuf.Timestamp - 388, // 178: rill.admin.v1.UserAuthToken.attributes:type_name -> google.protobuf.Struct - 387, // 179: rill.admin.v1.UserAuthToken.created_on:type_name -> google.protobuf.Timestamp - 387, // 180: rill.admin.v1.UserAuthToken.expires_on:type_name -> google.protobuf.Timestamp - 387, // 181: rill.admin.v1.UserAuthToken.used_on:type_name -> google.protobuf.Timestamp - 387, // 182: rill.admin.v1.MagicAuthToken.created_on:type_name -> google.protobuf.Timestamp - 387, // 183: rill.admin.v1.MagicAuthToken.expires_on:type_name -> google.protobuf.Timestamp - 387, // 184: rill.admin.v1.MagicAuthToken.used_on:type_name -> google.protobuf.Timestamp - 388, // 185: rill.admin.v1.MagicAuthToken.attributes:type_name -> google.protobuf.Struct - 228, // 186: rill.admin.v1.MagicAuthToken.resources:type_name -> rill.admin.v1.ResourceName - 386, // 187: rill.admin.v1.MagicAuthToken.metrics_view_filters:type_name -> rill.admin.v1.MagicAuthToken.MetricsViewFiltersEntry - 387, // 188: rill.admin.v1.VirtualFile.updated_on:type_name -> google.protobuf.Timestamp - 388, // 189: rill.admin.v1.ReportOptions.resolver_properties:type_name -> google.protobuf.Struct - 389, // 190: rill.admin.v1.ReportOptions.export_format:type_name -> rill.runtime.v1.ExportFormat - 388, // 191: rill.admin.v1.AlertOptions.resolver_properties:type_name -> google.protobuf.Struct - 2, // 192: rill.admin.v1.BillingPlan.plan_type:type_name -> rill.admin.v1.BillingPlanType - 352, // 193: rill.admin.v1.BillingPlan.quotas:type_name -> rill.admin.v1.Quotas - 387, // 194: rill.admin.v1.Usergroup.created_on:type_name -> google.protobuf.Timestamp - 387, // 195: rill.admin.v1.Usergroup.updated_on:type_name -> google.protobuf.Timestamp - 387, // 196: rill.admin.v1.MemberUsergroup.created_on:type_name -> google.protobuf.Timestamp - 387, // 197: rill.admin.v1.MemberUsergroup.updated_on:type_name -> google.protobuf.Timestamp - 228, // 198: rill.admin.v1.MemberUsergroup.resources:type_name -> rill.admin.v1.ResourceName - 3, // 199: rill.admin.v1.BillingIssue.type:type_name -> rill.admin.v1.BillingIssueType - 4, // 200: rill.admin.v1.BillingIssue.level:type_name -> rill.admin.v1.BillingIssueLevel - 356, // 201: rill.admin.v1.BillingIssue.metadata:type_name -> rill.admin.v1.BillingIssueMetadata - 387, // 202: rill.admin.v1.BillingIssue.event_time:type_name -> google.protobuf.Timestamp - 387, // 203: rill.admin.v1.BillingIssue.created_on:type_name -> google.protobuf.Timestamp - 357, // 204: rill.admin.v1.BillingIssueMetadata.on_trial:type_name -> rill.admin.v1.BillingIssueMetadataOnTrial - 358, // 205: rill.admin.v1.BillingIssueMetadata.trial_ended:type_name -> rill.admin.v1.BillingIssueMetadataTrialEnded - 359, // 206: rill.admin.v1.BillingIssueMetadata.no_payment_method:type_name -> rill.admin.v1.BillingIssueMetadataNoPaymentMethod - 360, // 207: rill.admin.v1.BillingIssueMetadata.no_billable_address:type_name -> rill.admin.v1.BillingIssueMetadataNoBillableAddress - 361, // 208: rill.admin.v1.BillingIssueMetadata.payment_failed:type_name -> rill.admin.v1.BillingIssueMetadataPaymentFailed - 363, // 209: rill.admin.v1.BillingIssueMetadata.subscription_cancelled:type_name -> rill.admin.v1.BillingIssueMetadataSubscriptionCancelled - 364, // 210: rill.admin.v1.BillingIssueMetadata.never_subscribed:type_name -> rill.admin.v1.BillingIssueMetadataNeverSubscribed - 365, // 211: rill.admin.v1.BillingIssueMetadata.credit_low:type_name -> rill.admin.v1.BillingIssueMetadataCreditLow - 366, // 212: rill.admin.v1.BillingIssueMetadata.credit_critical:type_name -> rill.admin.v1.BillingIssueMetadataCreditCritical - 367, // 213: rill.admin.v1.BillingIssueMetadata.credit_exhausted:type_name -> rill.admin.v1.BillingIssueMetadataCreditExhausted - 387, // 214: rill.admin.v1.BillingIssueMetadataOnTrial.end_date:type_name -> google.protobuf.Timestamp - 387, // 215: rill.admin.v1.BillingIssueMetadataOnTrial.grace_period_end_date:type_name -> google.protobuf.Timestamp - 387, // 216: rill.admin.v1.BillingIssueMetadataTrialEnded.end_date:type_name -> google.protobuf.Timestamp - 387, // 217: rill.admin.v1.BillingIssueMetadataTrialEnded.grace_period_end_date:type_name -> google.protobuf.Timestamp - 362, // 218: rill.admin.v1.BillingIssueMetadataPaymentFailed.invoices:type_name -> rill.admin.v1.BillingIssueMetadataPaymentFailedMeta - 387, // 219: rill.admin.v1.BillingIssueMetadataPaymentFailedMeta.due_date:type_name -> google.protobuf.Timestamp - 387, // 220: rill.admin.v1.BillingIssueMetadataPaymentFailedMeta.failed_on:type_name -> google.protobuf.Timestamp - 387, // 221: rill.admin.v1.BillingIssueMetadataPaymentFailedMeta.grace_period_end_date:type_name -> google.protobuf.Timestamp - 387, // 222: rill.admin.v1.BillingIssueMetadataSubscriptionCancelled.end_date:type_name -> google.protobuf.Timestamp - 387, // 223: rill.admin.v1.BillingIssueMetadataCreditLow.credit_expiry:type_name -> google.protobuf.Timestamp - 387, // 224: rill.admin.v1.BillingIssueMetadataCreditCritical.credit_expiry:type_name -> google.protobuf.Timestamp - 387, // 225: rill.admin.v1.BillingIssueMetadataCreditExhausted.credit_expiry:type_name -> google.protobuf.Timestamp - 387, // 226: rill.admin.v1.BillingIssueMetadataCreditExhausted.exhausted_on:type_name -> google.protobuf.Timestamp - 339, // 227: rill.admin.v1.ListProjectsForOrganizationAndUserResponse.ProjectRolesEntry.value:type_name -> rill.admin.v1.ProjectMemberUser - 390, // 228: rill.admin.v1.IssueMagicAuthTokenRequest.MetricsViewFiltersEntry.value:type_name -> rill.runtime.v1.Expression - 0, // 229: rill.admin.v1.GetGithubUserStatusResponse.OrganizationInstallationPermissionsEntry.value:type_name -> rill.admin.v1.GithubPermission - 388, // 230: rill.admin.v1.GetReportMetaResponse.DeliveryMeta.user_attrs:type_name -> google.protobuf.Struct - 380, // 231: rill.admin.v1.GetReportMetaResponse.DeliveryMetaEntry.value:type_name -> rill.admin.v1.GetReportMetaResponse.DeliveryMeta - 383, // 232: rill.admin.v1.GetAlertMetaResponse.RecipientUrlsEntry.value:type_name -> rill.admin.v1.GetAlertMetaResponse.URLs - 390, // 233: rill.admin.v1.MagicAuthToken.MetricsViewFiltersEntry.value:type_name -> rill.runtime.v1.Expression - 5, // 234: rill.admin.v1.AdminService.Ping:input_type -> rill.admin.v1.PingRequest - 7, // 235: rill.admin.v1.AdminService.ListOrganizations:input_type -> rill.admin.v1.ListOrganizationsRequest - 9, // 236: rill.admin.v1.AdminService.GetOrganization:input_type -> rill.admin.v1.GetOrganizationRequest - 11, // 237: rill.admin.v1.AdminService.GetOrganizationNameForDomain:input_type -> rill.admin.v1.GetOrganizationNameForDomainRequest - 13, // 238: rill.admin.v1.AdminService.CreateOrganization:input_type -> rill.admin.v1.CreateOrganizationRequest - 15, // 239: rill.admin.v1.AdminService.DeleteOrganization:input_type -> rill.admin.v1.DeleteOrganizationRequest - 17, // 240: rill.admin.v1.AdminService.UpdateOrganization:input_type -> rill.admin.v1.UpdateOrganizationRequest - 19, // 241: rill.admin.v1.AdminService.ListProjectsForOrganization:input_type -> rill.admin.v1.ListProjectsForOrganizationRequest - 33, // 242: rill.admin.v1.AdminService.ListProjectsForOrganizationAndUser:input_type -> rill.admin.v1.ListProjectsForOrganizationAndUserRequest - 35, // 243: rill.admin.v1.AdminService.ListProjectsForFingerprint:input_type -> rill.admin.v1.ListProjectsForFingerprintRequest - 37, // 244: rill.admin.v1.AdminService.GetProject:input_type -> rill.admin.v1.GetProjectRequest - 39, // 245: rill.admin.v1.AdminService.ListProjectsForUserByName:input_type -> rill.admin.v1.ListProjectsForUserByNameRequest - 41, // 246: rill.admin.v1.AdminService.GetProjectByID:input_type -> rill.admin.v1.GetProjectByIDRequest - 43, // 247: rill.admin.v1.AdminService.SearchProjectNames:input_type -> rill.admin.v1.SearchProjectNamesRequest - 76, // 248: rill.admin.v1.AdminService.CreateProject:input_type -> rill.admin.v1.CreateProjectRequest - 78, // 249: rill.admin.v1.AdminService.DeleteProject:input_type -> rill.admin.v1.DeleteProjectRequest - 80, // 250: rill.admin.v1.AdminService.UpdateProject:input_type -> rill.admin.v1.UpdateProjectRequest - 45, // 251: rill.admin.v1.AdminService.GetProjectVariables:input_type -> rill.admin.v1.GetProjectVariablesRequest - 48, // 252: rill.admin.v1.AdminService.UpdateProjectVariables:input_type -> rill.admin.v1.UpdateProjectVariablesRequest - 82, // 253: rill.admin.v1.AdminService.CreateAsset:input_type -> rill.admin.v1.CreateAssetRequest - 84, // 254: rill.admin.v1.AdminService.RedeployProject:input_type -> rill.admin.v1.RedeployProjectRequest - 86, // 255: rill.admin.v1.AdminService.HibernateProject:input_type -> rill.admin.v1.HibernateProjectRequest - 20, // 256: rill.admin.v1.AdminService.ListDeployments:input_type -> rill.admin.v1.ListDeploymentsRequest - 22, // 257: rill.admin.v1.AdminService.CreateDeployment:input_type -> rill.admin.v1.CreateDeploymentRequest - 24, // 258: rill.admin.v1.AdminService.GetDeployment:input_type -> rill.admin.v1.GetDeploymentRequest - 26, // 259: rill.admin.v1.AdminService.StartDeployment:input_type -> rill.admin.v1.StartDeploymentRequest - 28, // 260: rill.admin.v1.AdminService.StopDeployment:input_type -> rill.admin.v1.StopDeploymentRequest - 30, // 261: rill.admin.v1.AdminService.DeleteDeployment:input_type -> rill.admin.v1.DeleteDeploymentRequest - 88, // 262: rill.admin.v1.AdminService.TriggerReconcile:input_type -> rill.admin.v1.TriggerReconcileRequest - 90, // 263: rill.admin.v1.AdminService.TriggerRefreshSources:input_type -> rill.admin.v1.TriggerRefreshSourcesRequest - 92, // 264: rill.admin.v1.AdminService.TriggerRedeploy:input_type -> rill.admin.v1.TriggerRedeployRequest - 94, // 265: rill.admin.v1.AdminService.Provision:input_type -> rill.admin.v1.ProvisionRequest - 96, // 266: rill.admin.v1.AdminService.GetDeploymentConfig:input_type -> rill.admin.v1.GetDeploymentConfigRequest - 98, // 267: rill.admin.v1.AdminService.ListRoles:input_type -> rill.admin.v1.ListRolesRequest - 100, // 268: rill.admin.v1.AdminService.ListOrganizationMemberUsers:input_type -> rill.admin.v1.ListOrganizationMemberUsersRequest - 102, // 269: rill.admin.v1.AdminService.ListOrganizationInvites:input_type -> rill.admin.v1.ListOrganizationInvitesRequest - 104, // 270: rill.admin.v1.AdminService.AddOrganizationMemberUser:input_type -> rill.admin.v1.AddOrganizationMemberUserRequest - 106, // 271: rill.admin.v1.AdminService.RemoveOrganizationMemberUser:input_type -> rill.admin.v1.RemoveOrganizationMemberUserRequest - 108, // 272: rill.admin.v1.AdminService.LeaveOrganization:input_type -> rill.admin.v1.LeaveOrganizationRequest - 110, // 273: rill.admin.v1.AdminService.SetOrganizationMemberUserRole:input_type -> rill.admin.v1.SetOrganizationMemberUserRoleRequest - 112, // 274: rill.admin.v1.AdminService.GetOrganizationMemberUser:input_type -> rill.admin.v1.GetOrganizationMemberUserRequest - 116, // 275: rill.admin.v1.AdminService.ListUsergroupsForProjectAndUser:input_type -> rill.admin.v1.ListUsergroupsForProjectAndUserRequest - 118, // 276: rill.admin.v1.AdminService.UpdateOrganizationMemberUserAttributes:input_type -> rill.admin.v1.UpdateOrganizationMemberUserAttributesRequest - 144, // 277: rill.admin.v1.AdminService.ListProjectMemberUsers:input_type -> rill.admin.v1.ListProjectMemberUsersRequest - 146, // 278: rill.admin.v1.AdminService.ListProjectInvites:input_type -> rill.admin.v1.ListProjectInvitesRequest - 148, // 279: rill.admin.v1.AdminService.AddProjectMemberUser:input_type -> rill.admin.v1.AddProjectMemberUserRequest - 150, // 280: rill.admin.v1.AdminService.RemoveProjectMemberUser:input_type -> rill.admin.v1.RemoveProjectMemberUserRequest - 152, // 281: rill.admin.v1.AdminService.SetProjectMemberUserRole:input_type -> rill.admin.v1.SetProjectMemberUserRoleRequest - 114, // 282: rill.admin.v1.AdminService.GetProjectMemberUser:input_type -> rill.admin.v1.GetProjectMemberUserRequest - 154, // 283: rill.admin.v1.AdminService.ListUsergroupsForOrganizationAndUser:input_type -> rill.admin.v1.ListUsergroupsForOrganizationAndUserRequest - 156, // 284: rill.admin.v1.AdminService.CreateUsergroup:input_type -> rill.admin.v1.CreateUsergroupRequest - 158, // 285: rill.admin.v1.AdminService.GetUsergroup:input_type -> rill.admin.v1.GetUsergroupRequest - 160, // 286: rill.admin.v1.AdminService.UpdateUsergroup:input_type -> rill.admin.v1.UpdateUsergroupRequest - 162, // 287: rill.admin.v1.AdminService.ListOrganizationMemberUsergroups:input_type -> rill.admin.v1.ListOrganizationMemberUsergroupsRequest - 164, // 288: rill.admin.v1.AdminService.ListProjectMemberUsergroups:input_type -> rill.admin.v1.ListProjectMemberUsergroupsRequest - 166, // 289: rill.admin.v1.AdminService.DeleteUsergroup:input_type -> rill.admin.v1.DeleteUsergroupRequest - 168, // 290: rill.admin.v1.AdminService.AddOrganizationMemberUsergroup:input_type -> rill.admin.v1.AddOrganizationMemberUsergroupRequest - 170, // 291: rill.admin.v1.AdminService.SetOrganizationMemberUsergroupRole:input_type -> rill.admin.v1.SetOrganizationMemberUsergroupRoleRequest - 172, // 292: rill.admin.v1.AdminService.RemoveOrganizationMemberUsergroup:input_type -> rill.admin.v1.RemoveOrganizationMemberUsergroupRequest - 174, // 293: rill.admin.v1.AdminService.AddProjectMemberUsergroup:input_type -> rill.admin.v1.AddProjectMemberUsergroupRequest - 176, // 294: rill.admin.v1.AdminService.SetProjectMemberUsergroupRole:input_type -> rill.admin.v1.SetProjectMemberUsergroupRoleRequest - 178, // 295: rill.admin.v1.AdminService.RemoveProjectMemberUsergroup:input_type -> rill.admin.v1.RemoveProjectMemberUsergroupRequest - 180, // 296: rill.admin.v1.AdminService.AddUsergroupMemberUser:input_type -> rill.admin.v1.AddUsergroupMemberUserRequest - 182, // 297: rill.admin.v1.AdminService.ListUsergroupMemberUsers:input_type -> rill.admin.v1.ListUsergroupMemberUsersRequest - 184, // 298: rill.admin.v1.AdminService.RemoveUsergroupMemberUser:input_type -> rill.admin.v1.RemoveUsergroupMemberUserRequest - 189, // 299: rill.admin.v1.AdminService.GetUser:input_type -> rill.admin.v1.GetUserRequest - 191, // 300: rill.admin.v1.AdminService.GetCurrentUser:input_type -> rill.admin.v1.GetCurrentUserRequest - 193, // 301: rill.admin.v1.AdminService.DeleteUser:input_type -> rill.admin.v1.DeleteUserRequest - 195, // 302: rill.admin.v1.AdminService.ListUserAuthTokens:input_type -> rill.admin.v1.ListUserAuthTokensRequest - 197, // 303: rill.admin.v1.AdminService.IssueUserAuthToken:input_type -> rill.admin.v1.IssueUserAuthTokenRequest - 199, // 304: rill.admin.v1.AdminService.RevokeUserAuthToken:input_type -> rill.admin.v1.RevokeUserAuthTokenRequest - 201, // 305: rill.admin.v1.AdminService.RevokeAllUserAuthTokens:input_type -> rill.admin.v1.RevokeAllUserAuthTokensRequest - 203, // 306: rill.admin.v1.AdminService.RevokeRepresentativeAuthTokens:input_type -> rill.admin.v1.RevokeRepresentativeAuthTokensRequest - 205, // 307: rill.admin.v1.AdminService.IssueRepresentativeAuthToken:input_type -> rill.admin.v1.IssueRepresentativeAuthTokenRequest - 207, // 308: rill.admin.v1.AdminService.RevokeCurrentAuthToken:input_type -> rill.admin.v1.RevokeCurrentAuthTokenRequest - 236, // 309: rill.admin.v1.AdminService.GetGithubRepoStatus:input_type -> rill.admin.v1.GetGithubRepoStatusRequest - 238, // 310: rill.admin.v1.AdminService.GetGithubUserStatus:input_type -> rill.admin.v1.GetGithubUserStatusRequest - 240, // 311: rill.admin.v1.AdminService.ListGithubUserRepos:input_type -> rill.admin.v1.ListGithubUserReposRequest - 242, // 312: rill.admin.v1.AdminService.ConnectProjectToGithub:input_type -> rill.admin.v1.ConnectProjectToGithubRequest - 244, // 313: rill.admin.v1.AdminService.CreateManagedGitRepo:input_type -> rill.admin.v1.CreateManagedGitRepoRequest - 246, // 314: rill.admin.v1.AdminService.GetCloneCredentials:input_type -> rill.admin.v1.GetCloneCredentialsRequest - 248, // 315: rill.admin.v1.AdminService.CreateWhitelistedDomain:input_type -> rill.admin.v1.CreateWhitelistedDomainRequest - 250, // 316: rill.admin.v1.AdminService.RemoveWhitelistedDomain:input_type -> rill.admin.v1.RemoveWhitelistedDomainRequest - 252, // 317: rill.admin.v1.AdminService.ListWhitelistedDomains:input_type -> rill.admin.v1.ListWhitelistedDomainsRequest - 219, // 318: rill.admin.v1.AdminService.SearchUsers:input_type -> rill.admin.v1.SearchUsersRequest - 50, // 319: rill.admin.v1.AdminService.SearchProjectUsers:input_type -> rill.admin.v1.SearchProjectUsersRequest - 120, // 320: rill.admin.v1.AdminService.ListSuperusers:input_type -> rill.admin.v1.ListSuperusersRequest - 52, // 321: rill.admin.v1.AdminService.GetDeploymentCredentials:input_type -> rill.admin.v1.GetDeploymentCredentialsRequest - 54, // 322: rill.admin.v1.AdminService.GetIFrame:input_type -> rill.admin.v1.GetIFrameRequest - 122, // 323: rill.admin.v1.AdminService.SetSuperuser:input_type -> rill.admin.v1.SetSuperuserRequest - 124, // 324: rill.admin.v1.AdminService.SudoGetResource:input_type -> rill.admin.v1.SudoGetResourceRequest - 134, // 325: rill.admin.v1.AdminService.SudoUpdateUserQuotas:input_type -> rill.admin.v1.SudoUpdateUserQuotasRequest - 126, // 326: rill.admin.v1.AdminService.SudoUpdateOrganizationQuotas:input_type -> rill.admin.v1.SudoUpdateOrganizationQuotasRequest - 128, // 327: rill.admin.v1.AdminService.SudoUpdateOrganizationBillingCustomer:input_type -> rill.admin.v1.SudoUpdateOrganizationBillingCustomerRequest - 130, // 328: rill.admin.v1.AdminService.SudoExtendTrial:input_type -> rill.admin.v1.SudoExtendTrialRequest - 132, // 329: rill.admin.v1.AdminService.SudoUpdateOrganizationCustomDomain:input_type -> rill.admin.v1.SudoUpdateOrganizationCustomDomainRequest - 136, // 330: rill.admin.v1.AdminService.SudoUpdateAnnotations:input_type -> rill.admin.v1.SudoUpdateAnnotationsRequest - 138, // 331: rill.admin.v1.AdminService.SudoIssueRuntimeManagerToken:input_type -> rill.admin.v1.SudoIssueRuntimeManagerTokenRequest - 140, // 332: rill.admin.v1.AdminService.SudoDeleteOrganizationBillingIssue:input_type -> rill.admin.v1.SudoDeleteOrganizationBillingIssueRequest - 142, // 333: rill.admin.v1.AdminService.SudoTriggerBillingRepair:input_type -> rill.admin.v1.SudoTriggerBillingRepairRequest - 254, // 334: rill.admin.v1.AdminService.CreateProjectWhitelistedDomain:input_type -> rill.admin.v1.CreateProjectWhitelistedDomainRequest - 256, // 335: rill.admin.v1.AdminService.RemoveProjectWhitelistedDomain:input_type -> rill.admin.v1.RemoveProjectWhitelistedDomainRequest - 258, // 336: rill.admin.v1.AdminService.ListProjectWhitelistedDomains:input_type -> rill.admin.v1.ListProjectWhitelistedDomainsRequest - 56, // 337: rill.admin.v1.AdminService.ListServices:input_type -> rill.admin.v1.ListServicesRequest - 58, // 338: rill.admin.v1.AdminService.ListProjectMemberServices:input_type -> rill.admin.v1.ListProjectMemberServicesRequest - 60, // 339: rill.admin.v1.AdminService.CreateService:input_type -> rill.admin.v1.CreateServiceRequest - 62, // 340: rill.admin.v1.AdminService.GetService:input_type -> rill.admin.v1.GetServiceRequest - 64, // 341: rill.admin.v1.AdminService.UpdateService:input_type -> rill.admin.v1.UpdateServiceRequest - 66, // 342: rill.admin.v1.AdminService.SetOrganizationMemberServiceRole:input_type -> rill.admin.v1.SetOrganizationMemberServiceRoleRequest - 68, // 343: rill.admin.v1.AdminService.RemoveOrganizationMemberService:input_type -> rill.admin.v1.RemoveOrganizationMemberServiceRequest - 72, // 344: rill.admin.v1.AdminService.SetProjectMemberServiceRole:input_type -> rill.admin.v1.SetProjectMemberServiceRoleRequest - 70, // 345: rill.admin.v1.AdminService.RemoveProjectMemberService:input_type -> rill.admin.v1.RemoveProjectMemberServiceRequest - 74, // 346: rill.admin.v1.AdminService.DeleteService:input_type -> rill.admin.v1.DeleteServiceRequest - 225, // 347: rill.admin.v1.AdminService.ListServiceAuthTokens:input_type -> rill.admin.v1.ListServiceAuthTokensRequest - 223, // 348: rill.admin.v1.AdminService.IssueServiceAuthToken:input_type -> rill.admin.v1.IssueServiceAuthTokenRequest - 221, // 349: rill.admin.v1.AdminService.RevokeServiceAuthToken:input_type -> rill.admin.v1.RevokeServiceAuthTokenRequest - 227, // 350: rill.admin.v1.AdminService.IssueMagicAuthToken:input_type -> rill.admin.v1.IssueMagicAuthTokenRequest - 230, // 351: rill.admin.v1.AdminService.ListMagicAuthTokens:input_type -> rill.admin.v1.ListMagicAuthTokensRequest - 232, // 352: rill.admin.v1.AdminService.GetCurrentMagicAuthToken:input_type -> rill.admin.v1.GetCurrentMagicAuthTokenRequest - 234, // 353: rill.admin.v1.AdminService.RevokeMagicAuthToken:input_type -> rill.admin.v1.RevokeMagicAuthTokenRequest - 187, // 354: rill.admin.v1.AdminService.UpdateUserPreferences:input_type -> rill.admin.v1.UpdateUserPreferencesRequest - 209, // 355: rill.admin.v1.AdminService.ListBookmarks:input_type -> rill.admin.v1.ListBookmarksRequest - 211, // 356: rill.admin.v1.AdminService.GetBookmark:input_type -> rill.admin.v1.GetBookmarkRequest - 213, // 357: rill.admin.v1.AdminService.CreateBookmark:input_type -> rill.admin.v1.CreateBookmarkRequest - 215, // 358: rill.admin.v1.AdminService.UpdateBookmark:input_type -> rill.admin.v1.UpdateBookmarkRequest - 217, // 359: rill.admin.v1.AdminService.RemoveBookmark:input_type -> rill.admin.v1.RemoveBookmarkRequest - 260, // 360: rill.admin.v1.AdminService.GetRepoMeta:input_type -> rill.admin.v1.GetRepoMetaRequest - 262, // 361: rill.admin.v1.AdminService.PullVirtualRepo:input_type -> rill.admin.v1.PullVirtualRepoRequest - 264, // 362: rill.admin.v1.AdminService.GetVirtualFile:input_type -> rill.admin.v1.GetVirtualFileRequest - 266, // 363: rill.admin.v1.AdminService.DeleteVirtualFile:input_type -> rill.admin.v1.DeleteVirtualFileRequest - 268, // 364: rill.admin.v1.AdminService.GetReportMeta:input_type -> rill.admin.v1.GetReportMetaRequest - 270, // 365: rill.admin.v1.AdminService.GetAlertMeta:input_type -> rill.admin.v1.GetAlertMetaRequest - 272, // 366: rill.admin.v1.AdminService.CreateReport:input_type -> rill.admin.v1.CreateReportRequest - 274, // 367: rill.admin.v1.AdminService.EditReport:input_type -> rill.admin.v1.EditReportRequest - 276, // 368: rill.admin.v1.AdminService.UnsubscribeReport:input_type -> rill.admin.v1.UnsubscribeReportRequest - 278, // 369: rill.admin.v1.AdminService.DeleteReport:input_type -> rill.admin.v1.DeleteReportRequest - 280, // 370: rill.admin.v1.AdminService.TriggerReport:input_type -> rill.admin.v1.TriggerReportRequest - 282, // 371: rill.admin.v1.AdminService.GenerateReportYAML:input_type -> rill.admin.v1.GenerateReportYAMLRequest - 284, // 372: rill.admin.v1.AdminService.CreateAlert:input_type -> rill.admin.v1.CreateAlertRequest - 286, // 373: rill.admin.v1.AdminService.EditAlert:input_type -> rill.admin.v1.EditAlertRequest - 288, // 374: rill.admin.v1.AdminService.UnsubscribeAlert:input_type -> rill.admin.v1.UnsubscribeAlertRequest - 290, // 375: rill.admin.v1.AdminService.DeleteAlert:input_type -> rill.admin.v1.DeleteAlertRequest - 292, // 376: rill.admin.v1.AdminService.GenerateAlertYAML:input_type -> rill.admin.v1.GenerateAlertYAMLRequest - 294, // 377: rill.admin.v1.AdminService.GetAlertYAML:input_type -> rill.admin.v1.GetAlertYAMLRequest - 296, // 378: rill.admin.v1.AdminService.GetBillingSubscription:input_type -> rill.admin.v1.GetBillingSubscriptionRequest - 299, // 379: rill.admin.v1.AdminService.UpdateBillingSubscription:input_type -> rill.admin.v1.UpdateBillingSubscriptionRequest - 301, // 380: rill.admin.v1.AdminService.CancelBillingSubscription:input_type -> rill.admin.v1.CancelBillingSubscriptionRequest - 303, // 381: rill.admin.v1.AdminService.RenewBillingSubscription:input_type -> rill.admin.v1.RenewBillingSubscriptionRequest - 305, // 382: rill.admin.v1.AdminService.GetPaymentsPortalURL:input_type -> rill.admin.v1.GetPaymentsPortalURLRequest - 307, // 383: rill.admin.v1.AdminService.ListPublicBillingPlans:input_type -> rill.admin.v1.ListPublicBillingPlansRequest - 309, // 384: rill.admin.v1.AdminService.GetBillingProjectCredentials:input_type -> rill.admin.v1.GetBillingProjectCredentialsRequest - 313, // 385: rill.admin.v1.AdminService.RequestProjectAccess:input_type -> rill.admin.v1.RequestProjectAccessRequest - 315, // 386: rill.admin.v1.AdminService.GetProjectAccessRequest:input_type -> rill.admin.v1.GetProjectAccessRequestRequest - 317, // 387: rill.admin.v1.AdminService.ApproveProjectAccess:input_type -> rill.admin.v1.ApproveProjectAccessRequest - 319, // 388: rill.admin.v1.AdminService.DenyProjectAccess:input_type -> rill.admin.v1.DenyProjectAccessRequest - 321, // 389: rill.admin.v1.AdminService.ListOrganizationBillingIssues:input_type -> rill.admin.v1.ListOrganizationBillingIssuesRequest - 6, // 390: rill.admin.v1.AdminService.Ping:output_type -> rill.admin.v1.PingResponse - 8, // 391: rill.admin.v1.AdminService.ListOrganizations:output_type -> rill.admin.v1.ListOrganizationsResponse - 10, // 392: rill.admin.v1.AdminService.GetOrganization:output_type -> rill.admin.v1.GetOrganizationResponse - 12, // 393: rill.admin.v1.AdminService.GetOrganizationNameForDomain:output_type -> rill.admin.v1.GetOrganizationNameForDomainResponse - 14, // 394: rill.admin.v1.AdminService.CreateOrganization:output_type -> rill.admin.v1.CreateOrganizationResponse - 16, // 395: rill.admin.v1.AdminService.DeleteOrganization:output_type -> rill.admin.v1.DeleteOrganizationResponse - 18, // 396: rill.admin.v1.AdminService.UpdateOrganization:output_type -> rill.admin.v1.UpdateOrganizationResponse - 32, // 397: rill.admin.v1.AdminService.ListProjectsForOrganization:output_type -> rill.admin.v1.ListProjectsForOrganizationResponse - 34, // 398: rill.admin.v1.AdminService.ListProjectsForOrganizationAndUser:output_type -> rill.admin.v1.ListProjectsForOrganizationAndUserResponse - 36, // 399: rill.admin.v1.AdminService.ListProjectsForFingerprint:output_type -> rill.admin.v1.ListProjectsForFingerprintResponse - 38, // 400: rill.admin.v1.AdminService.GetProject:output_type -> rill.admin.v1.GetProjectResponse - 40, // 401: rill.admin.v1.AdminService.ListProjectsForUserByName:output_type -> rill.admin.v1.ListProjectsForUserByNameResponse - 42, // 402: rill.admin.v1.AdminService.GetProjectByID:output_type -> rill.admin.v1.GetProjectByIDResponse - 44, // 403: rill.admin.v1.AdminService.SearchProjectNames:output_type -> rill.admin.v1.SearchProjectNamesResponse - 77, // 404: rill.admin.v1.AdminService.CreateProject:output_type -> rill.admin.v1.CreateProjectResponse - 79, // 405: rill.admin.v1.AdminService.DeleteProject:output_type -> rill.admin.v1.DeleteProjectResponse - 81, // 406: rill.admin.v1.AdminService.UpdateProject:output_type -> rill.admin.v1.UpdateProjectResponse - 46, // 407: rill.admin.v1.AdminService.GetProjectVariables:output_type -> rill.admin.v1.GetProjectVariablesResponse - 49, // 408: rill.admin.v1.AdminService.UpdateProjectVariables:output_type -> rill.admin.v1.UpdateProjectVariablesResponse - 83, // 409: rill.admin.v1.AdminService.CreateAsset:output_type -> rill.admin.v1.CreateAssetResponse - 85, // 410: rill.admin.v1.AdminService.RedeployProject:output_type -> rill.admin.v1.RedeployProjectResponse - 87, // 411: rill.admin.v1.AdminService.HibernateProject:output_type -> rill.admin.v1.HibernateProjectResponse - 21, // 412: rill.admin.v1.AdminService.ListDeployments:output_type -> rill.admin.v1.ListDeploymentsResponse - 23, // 413: rill.admin.v1.AdminService.CreateDeployment:output_type -> rill.admin.v1.CreateDeploymentResponse - 25, // 414: rill.admin.v1.AdminService.GetDeployment:output_type -> rill.admin.v1.GetDeploymentResponse - 27, // 415: rill.admin.v1.AdminService.StartDeployment:output_type -> rill.admin.v1.StartDeploymentResponse - 29, // 416: rill.admin.v1.AdminService.StopDeployment:output_type -> rill.admin.v1.StopDeploymentResponse - 31, // 417: rill.admin.v1.AdminService.DeleteDeployment:output_type -> rill.admin.v1.DeleteDeploymentResponse - 89, // 418: rill.admin.v1.AdminService.TriggerReconcile:output_type -> rill.admin.v1.TriggerReconcileResponse - 91, // 419: rill.admin.v1.AdminService.TriggerRefreshSources:output_type -> rill.admin.v1.TriggerRefreshSourcesResponse - 93, // 420: rill.admin.v1.AdminService.TriggerRedeploy:output_type -> rill.admin.v1.TriggerRedeployResponse - 95, // 421: rill.admin.v1.AdminService.Provision:output_type -> rill.admin.v1.ProvisionResponse - 97, // 422: rill.admin.v1.AdminService.GetDeploymentConfig:output_type -> rill.admin.v1.GetDeploymentConfigResponse - 99, // 423: rill.admin.v1.AdminService.ListRoles:output_type -> rill.admin.v1.ListRolesResponse - 101, // 424: rill.admin.v1.AdminService.ListOrganizationMemberUsers:output_type -> rill.admin.v1.ListOrganizationMemberUsersResponse - 103, // 425: rill.admin.v1.AdminService.ListOrganizationInvites:output_type -> rill.admin.v1.ListOrganizationInvitesResponse - 105, // 426: rill.admin.v1.AdminService.AddOrganizationMemberUser:output_type -> rill.admin.v1.AddOrganizationMemberUserResponse - 107, // 427: rill.admin.v1.AdminService.RemoveOrganizationMemberUser:output_type -> rill.admin.v1.RemoveOrganizationMemberUserResponse - 109, // 428: rill.admin.v1.AdminService.LeaveOrganization:output_type -> rill.admin.v1.LeaveOrganizationResponse - 111, // 429: rill.admin.v1.AdminService.SetOrganizationMemberUserRole:output_type -> rill.admin.v1.SetOrganizationMemberUserRoleResponse - 113, // 430: rill.admin.v1.AdminService.GetOrganizationMemberUser:output_type -> rill.admin.v1.GetOrganizationMemberUserResponse - 117, // 431: rill.admin.v1.AdminService.ListUsergroupsForProjectAndUser:output_type -> rill.admin.v1.ListUsergroupsForProjectAndUserResponse - 119, // 432: rill.admin.v1.AdminService.UpdateOrganizationMemberUserAttributes:output_type -> rill.admin.v1.UpdateOrganizationMemberUserAttributesResponse - 145, // 433: rill.admin.v1.AdminService.ListProjectMemberUsers:output_type -> rill.admin.v1.ListProjectMemberUsersResponse - 147, // 434: rill.admin.v1.AdminService.ListProjectInvites:output_type -> rill.admin.v1.ListProjectInvitesResponse - 149, // 435: rill.admin.v1.AdminService.AddProjectMemberUser:output_type -> rill.admin.v1.AddProjectMemberUserResponse - 151, // 436: rill.admin.v1.AdminService.RemoveProjectMemberUser:output_type -> rill.admin.v1.RemoveProjectMemberUserResponse - 153, // 437: rill.admin.v1.AdminService.SetProjectMemberUserRole:output_type -> rill.admin.v1.SetProjectMemberUserRoleResponse - 115, // 438: rill.admin.v1.AdminService.GetProjectMemberUser:output_type -> rill.admin.v1.GetProjectMemberUserResponse - 155, // 439: rill.admin.v1.AdminService.ListUsergroupsForOrganizationAndUser:output_type -> rill.admin.v1.ListUsergroupsForOrganizationAndUserResponse - 157, // 440: rill.admin.v1.AdminService.CreateUsergroup:output_type -> rill.admin.v1.CreateUsergroupResponse - 159, // 441: rill.admin.v1.AdminService.GetUsergroup:output_type -> rill.admin.v1.GetUsergroupResponse - 161, // 442: rill.admin.v1.AdminService.UpdateUsergroup:output_type -> rill.admin.v1.UpdateUsergroupResponse - 163, // 443: rill.admin.v1.AdminService.ListOrganizationMemberUsergroups:output_type -> rill.admin.v1.ListOrganizationMemberUsergroupsResponse - 165, // 444: rill.admin.v1.AdminService.ListProjectMemberUsergroups:output_type -> rill.admin.v1.ListProjectMemberUsergroupsResponse - 167, // 445: rill.admin.v1.AdminService.DeleteUsergroup:output_type -> rill.admin.v1.DeleteUsergroupResponse - 169, // 446: rill.admin.v1.AdminService.AddOrganizationMemberUsergroup:output_type -> rill.admin.v1.AddOrganizationMemberUsergroupResponse - 171, // 447: rill.admin.v1.AdminService.SetOrganizationMemberUsergroupRole:output_type -> rill.admin.v1.SetOrganizationMemberUsergroupRoleResponse - 173, // 448: rill.admin.v1.AdminService.RemoveOrganizationMemberUsergroup:output_type -> rill.admin.v1.RemoveOrganizationMemberUsergroupResponse - 175, // 449: rill.admin.v1.AdminService.AddProjectMemberUsergroup:output_type -> rill.admin.v1.AddProjectMemberUsergroupResponse - 177, // 450: rill.admin.v1.AdminService.SetProjectMemberUsergroupRole:output_type -> rill.admin.v1.SetProjectMemberUsergroupRoleResponse - 179, // 451: rill.admin.v1.AdminService.RemoveProjectMemberUsergroup:output_type -> rill.admin.v1.RemoveProjectMemberUsergroupResponse - 181, // 452: rill.admin.v1.AdminService.AddUsergroupMemberUser:output_type -> rill.admin.v1.AddUsergroupMemberUserResponse - 183, // 453: rill.admin.v1.AdminService.ListUsergroupMemberUsers:output_type -> rill.admin.v1.ListUsergroupMemberUsersResponse - 185, // 454: rill.admin.v1.AdminService.RemoveUsergroupMemberUser:output_type -> rill.admin.v1.RemoveUsergroupMemberUserResponse - 190, // 455: rill.admin.v1.AdminService.GetUser:output_type -> rill.admin.v1.GetUserResponse - 192, // 456: rill.admin.v1.AdminService.GetCurrentUser:output_type -> rill.admin.v1.GetCurrentUserResponse - 194, // 457: rill.admin.v1.AdminService.DeleteUser:output_type -> rill.admin.v1.DeleteUserResponse - 196, // 458: rill.admin.v1.AdminService.ListUserAuthTokens:output_type -> rill.admin.v1.ListUserAuthTokensResponse - 198, // 459: rill.admin.v1.AdminService.IssueUserAuthToken:output_type -> rill.admin.v1.IssueUserAuthTokenResponse - 200, // 460: rill.admin.v1.AdminService.RevokeUserAuthToken:output_type -> rill.admin.v1.RevokeUserAuthTokenResponse - 202, // 461: rill.admin.v1.AdminService.RevokeAllUserAuthTokens:output_type -> rill.admin.v1.RevokeAllUserAuthTokensResponse - 204, // 462: rill.admin.v1.AdminService.RevokeRepresentativeAuthTokens:output_type -> rill.admin.v1.RevokeRepresentativeAuthTokensResponse - 206, // 463: rill.admin.v1.AdminService.IssueRepresentativeAuthToken:output_type -> rill.admin.v1.IssueRepresentativeAuthTokenResponse - 208, // 464: rill.admin.v1.AdminService.RevokeCurrentAuthToken:output_type -> rill.admin.v1.RevokeCurrentAuthTokenResponse - 237, // 465: rill.admin.v1.AdminService.GetGithubRepoStatus:output_type -> rill.admin.v1.GetGithubRepoStatusResponse - 239, // 466: rill.admin.v1.AdminService.GetGithubUserStatus:output_type -> rill.admin.v1.GetGithubUserStatusResponse - 241, // 467: rill.admin.v1.AdminService.ListGithubUserRepos:output_type -> rill.admin.v1.ListGithubUserReposResponse - 243, // 468: rill.admin.v1.AdminService.ConnectProjectToGithub:output_type -> rill.admin.v1.ConnectProjectToGithubResponse - 245, // 469: rill.admin.v1.AdminService.CreateManagedGitRepo:output_type -> rill.admin.v1.CreateManagedGitRepoResponse - 247, // 470: rill.admin.v1.AdminService.GetCloneCredentials:output_type -> rill.admin.v1.GetCloneCredentialsResponse - 249, // 471: rill.admin.v1.AdminService.CreateWhitelistedDomain:output_type -> rill.admin.v1.CreateWhitelistedDomainResponse - 251, // 472: rill.admin.v1.AdminService.RemoveWhitelistedDomain:output_type -> rill.admin.v1.RemoveWhitelistedDomainResponse - 253, // 473: rill.admin.v1.AdminService.ListWhitelistedDomains:output_type -> rill.admin.v1.ListWhitelistedDomainsResponse - 220, // 474: rill.admin.v1.AdminService.SearchUsers:output_type -> rill.admin.v1.SearchUsersResponse - 51, // 475: rill.admin.v1.AdminService.SearchProjectUsers:output_type -> rill.admin.v1.SearchProjectUsersResponse - 121, // 476: rill.admin.v1.AdminService.ListSuperusers:output_type -> rill.admin.v1.ListSuperusersResponse - 53, // 477: rill.admin.v1.AdminService.GetDeploymentCredentials:output_type -> rill.admin.v1.GetDeploymentCredentialsResponse - 55, // 478: rill.admin.v1.AdminService.GetIFrame:output_type -> rill.admin.v1.GetIFrameResponse - 123, // 479: rill.admin.v1.AdminService.SetSuperuser:output_type -> rill.admin.v1.SetSuperuserResponse - 125, // 480: rill.admin.v1.AdminService.SudoGetResource:output_type -> rill.admin.v1.SudoGetResourceResponse - 135, // 481: rill.admin.v1.AdminService.SudoUpdateUserQuotas:output_type -> rill.admin.v1.SudoUpdateUserQuotasResponse - 127, // 482: rill.admin.v1.AdminService.SudoUpdateOrganizationQuotas:output_type -> rill.admin.v1.SudoUpdateOrganizationQuotasResponse - 129, // 483: rill.admin.v1.AdminService.SudoUpdateOrganizationBillingCustomer:output_type -> rill.admin.v1.SudoUpdateOrganizationBillingCustomerResponse - 131, // 484: rill.admin.v1.AdminService.SudoExtendTrial:output_type -> rill.admin.v1.SudoExtendTrialResponse - 133, // 485: rill.admin.v1.AdminService.SudoUpdateOrganizationCustomDomain:output_type -> rill.admin.v1.SudoUpdateOrganizationCustomDomainResponse - 137, // 486: rill.admin.v1.AdminService.SudoUpdateAnnotations:output_type -> rill.admin.v1.SudoUpdateAnnotationsResponse - 139, // 487: rill.admin.v1.AdminService.SudoIssueRuntimeManagerToken:output_type -> rill.admin.v1.SudoIssueRuntimeManagerTokenResponse - 141, // 488: rill.admin.v1.AdminService.SudoDeleteOrganizationBillingIssue:output_type -> rill.admin.v1.SudoDeleteOrganizationBillingIssueResponse - 143, // 489: rill.admin.v1.AdminService.SudoTriggerBillingRepair:output_type -> rill.admin.v1.SudoTriggerBillingRepairResponse - 255, // 490: rill.admin.v1.AdminService.CreateProjectWhitelistedDomain:output_type -> rill.admin.v1.CreateProjectWhitelistedDomainResponse - 257, // 491: rill.admin.v1.AdminService.RemoveProjectWhitelistedDomain:output_type -> rill.admin.v1.RemoveProjectWhitelistedDomainResponse - 259, // 492: rill.admin.v1.AdminService.ListProjectWhitelistedDomains:output_type -> rill.admin.v1.ListProjectWhitelistedDomainsResponse - 57, // 493: rill.admin.v1.AdminService.ListServices:output_type -> rill.admin.v1.ListServicesResponse - 59, // 494: rill.admin.v1.AdminService.ListProjectMemberServices:output_type -> rill.admin.v1.ListProjectMemberServicesResponse - 61, // 495: rill.admin.v1.AdminService.CreateService:output_type -> rill.admin.v1.CreateServiceResponse - 63, // 496: rill.admin.v1.AdminService.GetService:output_type -> rill.admin.v1.GetServiceResponse - 65, // 497: rill.admin.v1.AdminService.UpdateService:output_type -> rill.admin.v1.UpdateServiceResponse - 67, // 498: rill.admin.v1.AdminService.SetOrganizationMemberServiceRole:output_type -> rill.admin.v1.SetOrganizationMemberServiceRoleResponse - 69, // 499: rill.admin.v1.AdminService.RemoveOrganizationMemberService:output_type -> rill.admin.v1.RemoveOrganizationMemberServiceResponse - 73, // 500: rill.admin.v1.AdminService.SetProjectMemberServiceRole:output_type -> rill.admin.v1.SetProjectMemberServiceRoleResponse - 71, // 501: rill.admin.v1.AdminService.RemoveProjectMemberService:output_type -> rill.admin.v1.RemoveProjectMemberServiceResponse - 75, // 502: rill.admin.v1.AdminService.DeleteService:output_type -> rill.admin.v1.DeleteServiceResponse - 226, // 503: rill.admin.v1.AdminService.ListServiceAuthTokens:output_type -> rill.admin.v1.ListServiceAuthTokensResponse - 224, // 504: rill.admin.v1.AdminService.IssueServiceAuthToken:output_type -> rill.admin.v1.IssueServiceAuthTokenResponse - 222, // 505: rill.admin.v1.AdminService.RevokeServiceAuthToken:output_type -> rill.admin.v1.RevokeServiceAuthTokenResponse - 229, // 506: rill.admin.v1.AdminService.IssueMagicAuthToken:output_type -> rill.admin.v1.IssueMagicAuthTokenResponse - 231, // 507: rill.admin.v1.AdminService.ListMagicAuthTokens:output_type -> rill.admin.v1.ListMagicAuthTokensResponse - 233, // 508: rill.admin.v1.AdminService.GetCurrentMagicAuthToken:output_type -> rill.admin.v1.GetCurrentMagicAuthTokenResponse - 235, // 509: rill.admin.v1.AdminService.RevokeMagicAuthToken:output_type -> rill.admin.v1.RevokeMagicAuthTokenResponse - 188, // 510: rill.admin.v1.AdminService.UpdateUserPreferences:output_type -> rill.admin.v1.UpdateUserPreferencesResponse - 210, // 511: rill.admin.v1.AdminService.ListBookmarks:output_type -> rill.admin.v1.ListBookmarksResponse - 212, // 512: rill.admin.v1.AdminService.GetBookmark:output_type -> rill.admin.v1.GetBookmarkResponse - 214, // 513: rill.admin.v1.AdminService.CreateBookmark:output_type -> rill.admin.v1.CreateBookmarkResponse - 216, // 514: rill.admin.v1.AdminService.UpdateBookmark:output_type -> rill.admin.v1.UpdateBookmarkResponse - 218, // 515: rill.admin.v1.AdminService.RemoveBookmark:output_type -> rill.admin.v1.RemoveBookmarkResponse - 261, // 516: rill.admin.v1.AdminService.GetRepoMeta:output_type -> rill.admin.v1.GetRepoMetaResponse - 263, // 517: rill.admin.v1.AdminService.PullVirtualRepo:output_type -> rill.admin.v1.PullVirtualRepoResponse - 265, // 518: rill.admin.v1.AdminService.GetVirtualFile:output_type -> rill.admin.v1.GetVirtualFileResponse - 267, // 519: rill.admin.v1.AdminService.DeleteVirtualFile:output_type -> rill.admin.v1.DeleteVirtualFileResponse - 269, // 520: rill.admin.v1.AdminService.GetReportMeta:output_type -> rill.admin.v1.GetReportMetaResponse - 271, // 521: rill.admin.v1.AdminService.GetAlertMeta:output_type -> rill.admin.v1.GetAlertMetaResponse - 273, // 522: rill.admin.v1.AdminService.CreateReport:output_type -> rill.admin.v1.CreateReportResponse - 275, // 523: rill.admin.v1.AdminService.EditReport:output_type -> rill.admin.v1.EditReportResponse - 277, // 524: rill.admin.v1.AdminService.UnsubscribeReport:output_type -> rill.admin.v1.UnsubscribeReportResponse - 279, // 525: rill.admin.v1.AdminService.DeleteReport:output_type -> rill.admin.v1.DeleteReportResponse - 281, // 526: rill.admin.v1.AdminService.TriggerReport:output_type -> rill.admin.v1.TriggerReportResponse - 283, // 527: rill.admin.v1.AdminService.GenerateReportYAML:output_type -> rill.admin.v1.GenerateReportYAMLResponse - 285, // 528: rill.admin.v1.AdminService.CreateAlert:output_type -> rill.admin.v1.CreateAlertResponse - 287, // 529: rill.admin.v1.AdminService.EditAlert:output_type -> rill.admin.v1.EditAlertResponse - 289, // 530: rill.admin.v1.AdminService.UnsubscribeAlert:output_type -> rill.admin.v1.UnsubscribeAlertResponse - 291, // 531: rill.admin.v1.AdminService.DeleteAlert:output_type -> rill.admin.v1.DeleteAlertResponse - 293, // 532: rill.admin.v1.AdminService.GenerateAlertYAML:output_type -> rill.admin.v1.GenerateAlertYAMLResponse - 295, // 533: rill.admin.v1.AdminService.GetAlertYAML:output_type -> rill.admin.v1.GetAlertYAMLResponse - 297, // 534: rill.admin.v1.AdminService.GetBillingSubscription:output_type -> rill.admin.v1.GetBillingSubscriptionResponse - 300, // 535: rill.admin.v1.AdminService.UpdateBillingSubscription:output_type -> rill.admin.v1.UpdateBillingSubscriptionResponse - 302, // 536: rill.admin.v1.AdminService.CancelBillingSubscription:output_type -> rill.admin.v1.CancelBillingSubscriptionResponse - 304, // 537: rill.admin.v1.AdminService.RenewBillingSubscription:output_type -> rill.admin.v1.RenewBillingSubscriptionResponse - 306, // 538: rill.admin.v1.AdminService.GetPaymentsPortalURL:output_type -> rill.admin.v1.GetPaymentsPortalURLResponse - 308, // 539: rill.admin.v1.AdminService.ListPublicBillingPlans:output_type -> rill.admin.v1.ListPublicBillingPlansResponse - 310, // 540: rill.admin.v1.AdminService.GetBillingProjectCredentials:output_type -> rill.admin.v1.GetBillingProjectCredentialsResponse - 314, // 541: rill.admin.v1.AdminService.RequestProjectAccess:output_type -> rill.admin.v1.RequestProjectAccessResponse - 316, // 542: rill.admin.v1.AdminService.GetProjectAccessRequest:output_type -> rill.admin.v1.GetProjectAccessRequestResponse - 318, // 543: rill.admin.v1.AdminService.ApproveProjectAccess:output_type -> rill.admin.v1.ApproveProjectAccessResponse - 320, // 544: rill.admin.v1.AdminService.DenyProjectAccess:output_type -> rill.admin.v1.DenyProjectAccessResponse - 322, // 545: rill.admin.v1.AdminService.ListOrganizationBillingIssues:output_type -> rill.admin.v1.ListOrganizationBillingIssuesResponse - 390, // [390:546] is the sub-list for method output_type - 234, // [234:390] is the sub-list for method input_type - 234, // [234:234] is the sub-list for extension type_name - 234, // [234:234] is the sub-list for extension extendee - 0, // [0:234] is the sub-list for field type_name + 325, // 26: rill.admin.v1.SearchProjectUsersResponse.users:type_name -> rill.admin.v1.User + 390, // 27: rill.admin.v1.GetDeploymentCredentialsRequest.attributes:type_name -> google.protobuf.Struct + 390, // 28: rill.admin.v1.GetIFrameRequest.attributes:type_name -> google.protobuf.Struct + 374, // 29: rill.admin.v1.GetIFrameRequest.query:type_name -> rill.admin.v1.GetIFrameRequest.QueryEntry + 327, // 30: rill.admin.v1.ListServicesResponse.services:type_name -> rill.admin.v1.OrganizationMemberService + 328, // 31: rill.admin.v1.ListProjectMemberServicesResponse.services:type_name -> rill.admin.v1.ProjectMemberService + 390, // 32: rill.admin.v1.CreateServiceRequest.attributes:type_name -> google.protobuf.Struct + 326, // 33: rill.admin.v1.CreateServiceResponse.service:type_name -> rill.admin.v1.Service + 327, // 34: rill.admin.v1.GetServiceResponse.service:type_name -> rill.admin.v1.OrganizationMemberService + 328, // 35: rill.admin.v1.GetServiceResponse.project_memberships:type_name -> rill.admin.v1.ProjectMemberService + 390, // 36: rill.admin.v1.UpdateServiceRequest.attributes:type_name -> google.protobuf.Struct + 326, // 37: rill.admin.v1.UpdateServiceResponse.service:type_name -> rill.admin.v1.Service + 326, // 38: rill.admin.v1.DeleteServiceResponse.service:type_name -> rill.admin.v1.Service + 333, // 39: rill.admin.v1.CreateProjectResponse.project:type_name -> rill.admin.v1.Project + 333, // 40: rill.admin.v1.UpdateProjectResponse.project:type_name -> rill.admin.v1.Project + 375, // 41: rill.admin.v1.CreateAssetResponse.signing_headers:type_name -> rill.admin.v1.CreateAssetResponse.SigningHeadersEntry + 390, // 42: rill.admin.v1.ProvisionRequest.args:type_name -> google.protobuf.Struct + 335, // 43: rill.admin.v1.ProvisionResponse.resource:type_name -> rill.admin.v1.ProvisionerResource + 376, // 44: rill.admin.v1.GetDeploymentConfigResponse.variables:type_name -> rill.admin.v1.GetDeploymentConfigResponse.VariablesEntry + 377, // 45: rill.admin.v1.GetDeploymentConfigResponse.annotations:type_name -> rill.admin.v1.GetDeploymentConfigResponse.AnnotationsEntry + 389, // 46: rill.admin.v1.GetDeploymentConfigResponse.updated_on:type_name -> google.protobuf.Timestamp + 390, // 47: rill.admin.v1.GetDeploymentConfigResponse.duckdb_connector_config:type_name -> google.protobuf.Struct + 338, // 48: rill.admin.v1.ListRolesResponse.organization_roles:type_name -> rill.admin.v1.OrganizationRole + 339, // 49: rill.admin.v1.ListRolesResponse.project_roles:type_name -> rill.admin.v1.ProjectRole + 340, // 50: rill.admin.v1.ListOrganizationMemberUsersResponse.members:type_name -> rill.admin.v1.OrganizationMemberUser + 343, // 51: rill.admin.v1.ListOrganizationInvitesResponse.invites:type_name -> rill.admin.v1.OrganizationInvite + 340, // 52: rill.admin.v1.GetOrganizationMemberUserResponse.member:type_name -> rill.admin.v1.OrganizationMemberUser + 341, // 53: rill.admin.v1.GetProjectMemberUserResponse.member:type_name -> rill.admin.v1.ProjectMemberUser + 356, // 54: rill.admin.v1.ListUsergroupsForProjectAndUserResponse.usergroups:type_name -> rill.admin.v1.MemberUsergroup + 390, // 55: rill.admin.v1.UpdateOrganizationMemberUserAttributesRequest.attributes:type_name -> google.protobuf.Struct + 325, // 56: rill.admin.v1.ListSuperusersResponse.users:type_name -> rill.admin.v1.User + 325, // 57: rill.admin.v1.SudoGetResourceResponse.user:type_name -> rill.admin.v1.User + 329, // 58: rill.admin.v1.SudoGetResourceResponse.org:type_name -> rill.admin.v1.Organization + 333, // 59: rill.admin.v1.SudoGetResourceResponse.project:type_name -> rill.admin.v1.Project + 334, // 60: rill.admin.v1.SudoGetResourceResponse.deployment:type_name -> rill.admin.v1.Deployment + 334, // 61: rill.admin.v1.SudoGetResourceResponse.instance:type_name -> rill.admin.v1.Deployment + 329, // 62: rill.admin.v1.SudoUpdateOrganizationQuotasResponse.organization:type_name -> rill.admin.v1.Organization + 329, // 63: rill.admin.v1.SudoUpdateOrganizationBillingCustomerResponse.organization:type_name -> rill.admin.v1.Organization + 330, // 64: rill.admin.v1.SudoUpdateOrganizationBillingCustomerResponse.subscription:type_name -> rill.admin.v1.Subscription + 389, // 65: rill.admin.v1.SudoExtendTrialResponse.trial_end:type_name -> google.protobuf.Timestamp + 300, // 66: rill.admin.v1.SudoAddCreditsResponse.credit_info:type_name -> rill.admin.v1.BillingCreditInfo + 329, // 67: rill.admin.v1.SudoUpdateOrganizationCustomDomainResponse.organization:type_name -> rill.admin.v1.Organization + 325, // 68: rill.admin.v1.SudoUpdateUserQuotasResponse.user:type_name -> rill.admin.v1.User + 378, // 69: rill.admin.v1.SudoUpdateAnnotationsRequest.annotations:type_name -> rill.admin.v1.SudoUpdateAnnotationsRequest.AnnotationsEntry + 333, // 70: rill.admin.v1.SudoUpdateAnnotationsResponse.project:type_name -> rill.admin.v1.Project + 3, // 71: rill.admin.v1.SudoDeleteOrganizationBillingIssueRequest.type:type_name -> rill.admin.v1.BillingIssueType + 341, // 72: rill.admin.v1.ListProjectMemberUsersResponse.members:type_name -> rill.admin.v1.ProjectMemberUser + 344, // 73: rill.admin.v1.ListProjectInvitesResponse.invites:type_name -> rill.admin.v1.ProjectInvite + 230, // 74: rill.admin.v1.AddProjectMemberUserRequest.resources:type_name -> rill.admin.v1.ResourceName + 230, // 75: rill.admin.v1.SetProjectMemberUserRoleRequest.resources:type_name -> rill.admin.v1.ResourceName + 355, // 76: rill.admin.v1.ListUsergroupsForOrganizationAndUserResponse.usergroups:type_name -> rill.admin.v1.Usergroup + 355, // 77: rill.admin.v1.CreateUsergroupResponse.usergroup:type_name -> rill.admin.v1.Usergroup + 355, // 78: rill.admin.v1.GetUsergroupResponse.usergroup:type_name -> rill.admin.v1.Usergroup + 355, // 79: rill.admin.v1.UpdateUsergroupResponse.usergroup:type_name -> rill.admin.v1.Usergroup + 356, // 80: rill.admin.v1.ListOrganizationMemberUsergroupsResponse.members:type_name -> rill.admin.v1.MemberUsergroup + 356, // 81: rill.admin.v1.ListProjectMemberUsergroupsResponse.members:type_name -> rill.admin.v1.MemberUsergroup + 230, // 82: rill.admin.v1.AddProjectMemberUsergroupRequest.resources:type_name -> rill.admin.v1.ResourceName + 230, // 83: rill.admin.v1.SetProjectMemberUsergroupRoleRequest.resources:type_name -> rill.admin.v1.ResourceName + 342, // 84: rill.admin.v1.ListUsergroupMemberUsersResponse.members:type_name -> rill.admin.v1.UsergroupMemberUser + 188, // 85: rill.admin.v1.UpdateUserPreferencesRequest.preferences:type_name -> rill.admin.v1.UserPreferences + 188, // 86: rill.admin.v1.UpdateUserPreferencesResponse.preferences:type_name -> rill.admin.v1.UserPreferences + 325, // 87: rill.admin.v1.GetUserResponse.user:type_name -> rill.admin.v1.User + 325, // 88: rill.admin.v1.GetCurrentUserResponse.user:type_name -> rill.admin.v1.User + 188, // 89: rill.admin.v1.GetCurrentUserResponse.preferences:type_name -> rill.admin.v1.UserPreferences + 348, // 90: rill.admin.v1.ListUserAuthTokensResponse.tokens:type_name -> rill.admin.v1.UserAuthToken + 346, // 91: rill.admin.v1.ListBookmarksResponse.bookmarks:type_name -> rill.admin.v1.Bookmark + 346, // 92: rill.admin.v1.GetBookmarkResponse.bookmark:type_name -> rill.admin.v1.Bookmark + 346, // 93: rill.admin.v1.CreateBookmarkResponse.bookmark:type_name -> rill.admin.v1.Bookmark + 325, // 94: rill.admin.v1.SearchUsersResponse.users:type_name -> rill.admin.v1.User + 347, // 95: rill.admin.v1.ListServiceAuthTokensResponse.tokens:type_name -> rill.admin.v1.ServiceToken + 379, // 96: rill.admin.v1.IssueMagicAuthTokenRequest.metrics_view_filters:type_name -> rill.admin.v1.IssueMagicAuthTokenRequest.MetricsViewFiltersEntry + 230, // 97: rill.admin.v1.IssueMagicAuthTokenRequest.resources:type_name -> rill.admin.v1.ResourceName + 349, // 98: rill.admin.v1.ListMagicAuthTokensResponse.tokens:type_name -> rill.admin.v1.MagicAuthToken + 349, // 99: rill.admin.v1.GetCurrentMagicAuthTokenResponse.token:type_name -> rill.admin.v1.MagicAuthToken + 0, // 100: rill.admin.v1.GetGithubUserStatusResponse.user_installation_permission:type_name -> rill.admin.v1.GithubPermission + 380, // 101: rill.admin.v1.GetGithubUserStatusResponse.organization_installation_permissions:type_name -> rill.admin.v1.GetGithubUserStatusResponse.OrganizationInstallationPermissionsEntry + 381, // 102: rill.admin.v1.ListGithubUserReposResponse.repos:type_name -> rill.admin.v1.ListGithubUserReposResponse.Repo + 389, // 103: rill.admin.v1.CreateManagedGitRepoResponse.password_expires_at:type_name -> google.protobuf.Timestamp + 389, // 104: rill.admin.v1.GetCloneCredentialsResponse.git_password_expires_at:type_name -> google.protobuf.Timestamp + 345, // 105: rill.admin.v1.ListWhitelistedDomainsResponse.domains:type_name -> rill.admin.v1.WhitelistedDomain + 345, // 106: rill.admin.v1.ListProjectWhitelistedDomainsResponse.domains:type_name -> rill.admin.v1.WhitelistedDomain + 389, // 107: rill.admin.v1.GetRepoMetaResponse.expires_on:type_name -> google.protobuf.Timestamp + 389, // 108: rill.admin.v1.GetRepoMetaResponse.last_updated_on:type_name -> google.protobuf.Timestamp + 389, // 109: rill.admin.v1.GetRepoMetaResponse.archive_created_on:type_name -> google.protobuf.Timestamp + 350, // 110: rill.admin.v1.PullVirtualRepoResponse.files:type_name -> rill.admin.v1.VirtualFile + 350, // 111: rill.admin.v1.GetVirtualFileResponse.file:type_name -> rill.admin.v1.VirtualFile + 389, // 112: rill.admin.v1.GetReportMetaRequest.execution_time:type_name -> google.protobuf.Timestamp + 230, // 113: rill.admin.v1.GetReportMetaRequest.resources:type_name -> rill.admin.v1.ResourceName + 383, // 114: rill.admin.v1.GetReportMetaResponse.delivery_meta:type_name -> rill.admin.v1.GetReportMetaResponse.DeliveryMetaEntry + 384, // 115: rill.admin.v1.GetAlertMetaRequest.annotations:type_name -> rill.admin.v1.GetAlertMetaRequest.AnnotationsEntry + 386, // 116: rill.admin.v1.GetAlertMetaResponse.recipient_urls:type_name -> rill.admin.v1.GetAlertMetaResponse.RecipientUrlsEntry + 390, // 117: rill.admin.v1.GetAlertMetaResponse.query_for_attributes:type_name -> google.protobuf.Struct + 351, // 118: rill.admin.v1.CreateReportRequest.options:type_name -> rill.admin.v1.ReportOptions + 351, // 119: rill.admin.v1.EditReportRequest.options:type_name -> rill.admin.v1.ReportOptions + 351, // 120: rill.admin.v1.GenerateReportYAMLRequest.options:type_name -> rill.admin.v1.ReportOptions + 352, // 121: rill.admin.v1.CreateAlertRequest.options:type_name -> rill.admin.v1.AlertOptions + 352, // 122: rill.admin.v1.EditAlertRequest.options:type_name -> rill.admin.v1.AlertOptions + 352, // 123: rill.admin.v1.GenerateAlertYAMLRequest.options:type_name -> rill.admin.v1.AlertOptions + 329, // 124: rill.admin.v1.GetBillingSubscriptionResponse.organization:type_name -> rill.admin.v1.Organization + 330, // 125: rill.admin.v1.GetBillingSubscriptionResponse.subscription:type_name -> rill.admin.v1.Subscription + 300, // 126: rill.admin.v1.GetBillingSubscriptionResponse.credit_info:type_name -> rill.admin.v1.BillingCreditInfo + 389, // 127: rill.admin.v1.BillingCreditInfo.credit_expiry:type_name -> google.protobuf.Timestamp + 329, // 128: rill.admin.v1.UpdateBillingSubscriptionResponse.organization:type_name -> rill.admin.v1.Organization + 330, // 129: rill.admin.v1.UpdateBillingSubscriptionResponse.subscription:type_name -> rill.admin.v1.Subscription + 329, // 130: rill.admin.v1.RenewBillingSubscriptionResponse.organization:type_name -> rill.admin.v1.Organization + 330, // 131: rill.admin.v1.RenewBillingSubscriptionResponse.subscription:type_name -> rill.admin.v1.Subscription + 353, // 132: rill.admin.v1.ListPublicBillingPlansResponse.plans:type_name -> rill.admin.v1.BillingPlan + 390, // 133: rill.admin.v1.TelemetryRequest.event:type_name -> google.protobuf.Struct + 357, // 134: rill.admin.v1.ListOrganizationBillingIssuesResponse.issues:type_name -> rill.admin.v1.BillingIssue + 331, // 135: rill.admin.v1.User.quotas:type_name -> rill.admin.v1.UserQuotas + 389, // 136: rill.admin.v1.User.created_on:type_name -> google.protobuf.Timestamp + 389, // 137: rill.admin.v1.User.updated_on:type_name -> google.protobuf.Timestamp + 390, // 138: rill.admin.v1.Service.attributes:type_name -> google.protobuf.Struct + 389, // 139: rill.admin.v1.Service.created_on:type_name -> google.protobuf.Timestamp + 389, // 140: rill.admin.v1.Service.updated_on:type_name -> google.protobuf.Timestamp + 390, // 141: rill.admin.v1.OrganizationMemberService.attributes:type_name -> google.protobuf.Struct + 389, // 142: rill.admin.v1.OrganizationMemberService.created_on:type_name -> google.protobuf.Timestamp + 389, // 143: rill.admin.v1.OrganizationMemberService.updated_on:type_name -> google.protobuf.Timestamp + 390, // 144: rill.admin.v1.ProjectMemberService.attributes:type_name -> google.protobuf.Struct + 389, // 145: rill.admin.v1.ProjectMemberService.created_on:type_name -> google.protobuf.Timestamp + 389, // 146: rill.admin.v1.ProjectMemberService.updated_on:type_name -> google.protobuf.Timestamp + 332, // 147: rill.admin.v1.Organization.quotas:type_name -> rill.admin.v1.OrganizationQuotas + 389, // 148: rill.admin.v1.Organization.created_on:type_name -> google.protobuf.Timestamp + 389, // 149: rill.admin.v1.Organization.updated_on:type_name -> google.protobuf.Timestamp + 353, // 150: rill.admin.v1.Subscription.plan:type_name -> rill.admin.v1.BillingPlan + 389, // 151: rill.admin.v1.Subscription.start_date:type_name -> google.protobuf.Timestamp + 389, // 152: rill.admin.v1.Subscription.end_date:type_name -> google.protobuf.Timestamp + 389, // 153: rill.admin.v1.Subscription.current_billing_cycle_start_date:type_name -> google.protobuf.Timestamp + 389, // 154: rill.admin.v1.Subscription.current_billing_cycle_end_date:type_name -> google.protobuf.Timestamp + 389, // 155: rill.admin.v1.Subscription.trial_end_date:type_name -> google.protobuf.Timestamp + 387, // 156: rill.admin.v1.Project.annotations:type_name -> rill.admin.v1.Project.AnnotationsEntry + 389, // 157: rill.admin.v1.Project.created_on:type_name -> google.protobuf.Timestamp + 389, // 158: rill.admin.v1.Project.updated_on:type_name -> google.protobuf.Timestamp + 1, // 159: rill.admin.v1.Deployment.status:type_name -> rill.admin.v1.DeploymentStatus + 389, // 160: rill.admin.v1.Deployment.created_on:type_name -> google.protobuf.Timestamp + 389, // 161: rill.admin.v1.Deployment.updated_on:type_name -> google.protobuf.Timestamp + 390, // 162: rill.admin.v1.ProvisionerResource.args:type_name -> google.protobuf.Struct + 390, // 163: rill.admin.v1.ProvisionerResource.config:type_name -> google.protobuf.Struct + 336, // 164: rill.admin.v1.OrganizationRole.permissions:type_name -> rill.admin.v1.OrganizationPermissions + 337, // 165: rill.admin.v1.ProjectRole.permissions:type_name -> rill.admin.v1.ProjectPermissions + 390, // 166: rill.admin.v1.OrganizationMemberUser.attributes:type_name -> google.protobuf.Struct + 389, // 167: rill.admin.v1.OrganizationMemberUser.created_on:type_name -> google.protobuf.Timestamp + 389, // 168: rill.admin.v1.OrganizationMemberUser.updated_on:type_name -> google.protobuf.Timestamp + 389, // 169: rill.admin.v1.ProjectMemberUser.created_on:type_name -> google.protobuf.Timestamp + 389, // 170: rill.admin.v1.ProjectMemberUser.updated_on:type_name -> google.protobuf.Timestamp + 230, // 171: rill.admin.v1.ProjectMemberUser.resources:type_name -> rill.admin.v1.ResourceName + 389, // 172: rill.admin.v1.UsergroupMemberUser.created_on:type_name -> google.protobuf.Timestamp + 389, // 173: rill.admin.v1.UsergroupMemberUser.updated_on:type_name -> google.protobuf.Timestamp + 230, // 174: rill.admin.v1.ProjectInvite.resources:type_name -> rill.admin.v1.ResourceName + 389, // 175: rill.admin.v1.Bookmark.created_on:type_name -> google.protobuf.Timestamp + 389, // 176: rill.admin.v1.Bookmark.updated_on:type_name -> google.protobuf.Timestamp + 389, // 177: rill.admin.v1.ServiceToken.created_on:type_name -> google.protobuf.Timestamp + 389, // 178: rill.admin.v1.ServiceToken.expires_on:type_name -> google.protobuf.Timestamp + 390, // 179: rill.admin.v1.UserAuthToken.attributes:type_name -> google.protobuf.Struct + 389, // 180: rill.admin.v1.UserAuthToken.created_on:type_name -> google.protobuf.Timestamp + 389, // 181: rill.admin.v1.UserAuthToken.expires_on:type_name -> google.protobuf.Timestamp + 389, // 182: rill.admin.v1.UserAuthToken.used_on:type_name -> google.protobuf.Timestamp + 389, // 183: rill.admin.v1.MagicAuthToken.created_on:type_name -> google.protobuf.Timestamp + 389, // 184: rill.admin.v1.MagicAuthToken.expires_on:type_name -> google.protobuf.Timestamp + 389, // 185: rill.admin.v1.MagicAuthToken.used_on:type_name -> google.protobuf.Timestamp + 390, // 186: rill.admin.v1.MagicAuthToken.attributes:type_name -> google.protobuf.Struct + 230, // 187: rill.admin.v1.MagicAuthToken.resources:type_name -> rill.admin.v1.ResourceName + 388, // 188: rill.admin.v1.MagicAuthToken.metrics_view_filters:type_name -> rill.admin.v1.MagicAuthToken.MetricsViewFiltersEntry + 389, // 189: rill.admin.v1.VirtualFile.updated_on:type_name -> google.protobuf.Timestamp + 390, // 190: rill.admin.v1.ReportOptions.resolver_properties:type_name -> google.protobuf.Struct + 391, // 191: rill.admin.v1.ReportOptions.export_format:type_name -> rill.runtime.v1.ExportFormat + 390, // 192: rill.admin.v1.AlertOptions.resolver_properties:type_name -> google.protobuf.Struct + 2, // 193: rill.admin.v1.BillingPlan.plan_type:type_name -> rill.admin.v1.BillingPlanType + 354, // 194: rill.admin.v1.BillingPlan.quotas:type_name -> rill.admin.v1.Quotas + 389, // 195: rill.admin.v1.Usergroup.created_on:type_name -> google.protobuf.Timestamp + 389, // 196: rill.admin.v1.Usergroup.updated_on:type_name -> google.protobuf.Timestamp + 389, // 197: rill.admin.v1.MemberUsergroup.created_on:type_name -> google.protobuf.Timestamp + 389, // 198: rill.admin.v1.MemberUsergroup.updated_on:type_name -> google.protobuf.Timestamp + 230, // 199: rill.admin.v1.MemberUsergroup.resources:type_name -> rill.admin.v1.ResourceName + 3, // 200: rill.admin.v1.BillingIssue.type:type_name -> rill.admin.v1.BillingIssueType + 4, // 201: rill.admin.v1.BillingIssue.level:type_name -> rill.admin.v1.BillingIssueLevel + 358, // 202: rill.admin.v1.BillingIssue.metadata:type_name -> rill.admin.v1.BillingIssueMetadata + 389, // 203: rill.admin.v1.BillingIssue.event_time:type_name -> google.protobuf.Timestamp + 389, // 204: rill.admin.v1.BillingIssue.created_on:type_name -> google.protobuf.Timestamp + 359, // 205: rill.admin.v1.BillingIssueMetadata.on_trial:type_name -> rill.admin.v1.BillingIssueMetadataOnTrial + 360, // 206: rill.admin.v1.BillingIssueMetadata.trial_ended:type_name -> rill.admin.v1.BillingIssueMetadataTrialEnded + 361, // 207: rill.admin.v1.BillingIssueMetadata.no_payment_method:type_name -> rill.admin.v1.BillingIssueMetadataNoPaymentMethod + 362, // 208: rill.admin.v1.BillingIssueMetadata.no_billable_address:type_name -> rill.admin.v1.BillingIssueMetadataNoBillableAddress + 363, // 209: rill.admin.v1.BillingIssueMetadata.payment_failed:type_name -> rill.admin.v1.BillingIssueMetadataPaymentFailed + 365, // 210: rill.admin.v1.BillingIssueMetadata.subscription_cancelled:type_name -> rill.admin.v1.BillingIssueMetadataSubscriptionCancelled + 366, // 211: rill.admin.v1.BillingIssueMetadata.never_subscribed:type_name -> rill.admin.v1.BillingIssueMetadataNeverSubscribed + 367, // 212: rill.admin.v1.BillingIssueMetadata.credit_low:type_name -> rill.admin.v1.BillingIssueMetadataCreditLow + 368, // 213: rill.admin.v1.BillingIssueMetadata.credit_critical:type_name -> rill.admin.v1.BillingIssueMetadataCreditCritical + 369, // 214: rill.admin.v1.BillingIssueMetadata.credit_exhausted:type_name -> rill.admin.v1.BillingIssueMetadataCreditExhausted + 389, // 215: rill.admin.v1.BillingIssueMetadataOnTrial.end_date:type_name -> google.protobuf.Timestamp + 389, // 216: rill.admin.v1.BillingIssueMetadataOnTrial.grace_period_end_date:type_name -> google.protobuf.Timestamp + 389, // 217: rill.admin.v1.BillingIssueMetadataTrialEnded.end_date:type_name -> google.protobuf.Timestamp + 389, // 218: rill.admin.v1.BillingIssueMetadataTrialEnded.grace_period_end_date:type_name -> google.protobuf.Timestamp + 364, // 219: rill.admin.v1.BillingIssueMetadataPaymentFailed.invoices:type_name -> rill.admin.v1.BillingIssueMetadataPaymentFailedMeta + 389, // 220: rill.admin.v1.BillingIssueMetadataPaymentFailedMeta.due_date:type_name -> google.protobuf.Timestamp + 389, // 221: rill.admin.v1.BillingIssueMetadataPaymentFailedMeta.failed_on:type_name -> google.protobuf.Timestamp + 389, // 222: rill.admin.v1.BillingIssueMetadataPaymentFailedMeta.grace_period_end_date:type_name -> google.protobuf.Timestamp + 389, // 223: rill.admin.v1.BillingIssueMetadataSubscriptionCancelled.end_date:type_name -> google.protobuf.Timestamp + 389, // 224: rill.admin.v1.BillingIssueMetadataCreditLow.credit_expiry:type_name -> google.protobuf.Timestamp + 389, // 225: rill.admin.v1.BillingIssueMetadataCreditCritical.credit_expiry:type_name -> google.protobuf.Timestamp + 389, // 226: rill.admin.v1.BillingIssueMetadataCreditExhausted.credit_expiry:type_name -> google.protobuf.Timestamp + 389, // 227: rill.admin.v1.BillingIssueMetadataCreditExhausted.exhausted_on:type_name -> google.protobuf.Timestamp + 341, // 228: rill.admin.v1.ListProjectsForOrganizationAndUserResponse.ProjectRolesEntry.value:type_name -> rill.admin.v1.ProjectMemberUser + 392, // 229: rill.admin.v1.IssueMagicAuthTokenRequest.MetricsViewFiltersEntry.value:type_name -> rill.runtime.v1.Expression + 0, // 230: rill.admin.v1.GetGithubUserStatusResponse.OrganizationInstallationPermissionsEntry.value:type_name -> rill.admin.v1.GithubPermission + 390, // 231: rill.admin.v1.GetReportMetaResponse.DeliveryMeta.user_attrs:type_name -> google.protobuf.Struct + 382, // 232: rill.admin.v1.GetReportMetaResponse.DeliveryMetaEntry.value:type_name -> rill.admin.v1.GetReportMetaResponse.DeliveryMeta + 385, // 233: rill.admin.v1.GetAlertMetaResponse.RecipientUrlsEntry.value:type_name -> rill.admin.v1.GetAlertMetaResponse.URLs + 392, // 234: rill.admin.v1.MagicAuthToken.MetricsViewFiltersEntry.value:type_name -> rill.runtime.v1.Expression + 5, // 235: rill.admin.v1.AdminService.Ping:input_type -> rill.admin.v1.PingRequest + 7, // 236: rill.admin.v1.AdminService.ListOrganizations:input_type -> rill.admin.v1.ListOrganizationsRequest + 9, // 237: rill.admin.v1.AdminService.GetOrganization:input_type -> rill.admin.v1.GetOrganizationRequest + 11, // 238: rill.admin.v1.AdminService.GetOrganizationNameForDomain:input_type -> rill.admin.v1.GetOrganizationNameForDomainRequest + 13, // 239: rill.admin.v1.AdminService.CreateOrganization:input_type -> rill.admin.v1.CreateOrganizationRequest + 15, // 240: rill.admin.v1.AdminService.DeleteOrganization:input_type -> rill.admin.v1.DeleteOrganizationRequest + 17, // 241: rill.admin.v1.AdminService.UpdateOrganization:input_type -> rill.admin.v1.UpdateOrganizationRequest + 19, // 242: rill.admin.v1.AdminService.ListProjectsForOrganization:input_type -> rill.admin.v1.ListProjectsForOrganizationRequest + 33, // 243: rill.admin.v1.AdminService.ListProjectsForOrganizationAndUser:input_type -> rill.admin.v1.ListProjectsForOrganizationAndUserRequest + 35, // 244: rill.admin.v1.AdminService.ListProjectsForFingerprint:input_type -> rill.admin.v1.ListProjectsForFingerprintRequest + 37, // 245: rill.admin.v1.AdminService.GetProject:input_type -> rill.admin.v1.GetProjectRequest + 39, // 246: rill.admin.v1.AdminService.ListProjectsForUserByName:input_type -> rill.admin.v1.ListProjectsForUserByNameRequest + 41, // 247: rill.admin.v1.AdminService.GetProjectByID:input_type -> rill.admin.v1.GetProjectByIDRequest + 43, // 248: rill.admin.v1.AdminService.SearchProjectNames:input_type -> rill.admin.v1.SearchProjectNamesRequest + 76, // 249: rill.admin.v1.AdminService.CreateProject:input_type -> rill.admin.v1.CreateProjectRequest + 78, // 250: rill.admin.v1.AdminService.DeleteProject:input_type -> rill.admin.v1.DeleteProjectRequest + 80, // 251: rill.admin.v1.AdminService.UpdateProject:input_type -> rill.admin.v1.UpdateProjectRequest + 45, // 252: rill.admin.v1.AdminService.GetProjectVariables:input_type -> rill.admin.v1.GetProjectVariablesRequest + 48, // 253: rill.admin.v1.AdminService.UpdateProjectVariables:input_type -> rill.admin.v1.UpdateProjectVariablesRequest + 82, // 254: rill.admin.v1.AdminService.CreateAsset:input_type -> rill.admin.v1.CreateAssetRequest + 84, // 255: rill.admin.v1.AdminService.RedeployProject:input_type -> rill.admin.v1.RedeployProjectRequest + 86, // 256: rill.admin.v1.AdminService.HibernateProject:input_type -> rill.admin.v1.HibernateProjectRequest + 20, // 257: rill.admin.v1.AdminService.ListDeployments:input_type -> rill.admin.v1.ListDeploymentsRequest + 22, // 258: rill.admin.v1.AdminService.CreateDeployment:input_type -> rill.admin.v1.CreateDeploymentRequest + 24, // 259: rill.admin.v1.AdminService.GetDeployment:input_type -> rill.admin.v1.GetDeploymentRequest + 26, // 260: rill.admin.v1.AdminService.StartDeployment:input_type -> rill.admin.v1.StartDeploymentRequest + 28, // 261: rill.admin.v1.AdminService.StopDeployment:input_type -> rill.admin.v1.StopDeploymentRequest + 30, // 262: rill.admin.v1.AdminService.DeleteDeployment:input_type -> rill.admin.v1.DeleteDeploymentRequest + 88, // 263: rill.admin.v1.AdminService.TriggerReconcile:input_type -> rill.admin.v1.TriggerReconcileRequest + 90, // 264: rill.admin.v1.AdminService.TriggerRefreshSources:input_type -> rill.admin.v1.TriggerRefreshSourcesRequest + 92, // 265: rill.admin.v1.AdminService.TriggerRedeploy:input_type -> rill.admin.v1.TriggerRedeployRequest + 94, // 266: rill.admin.v1.AdminService.Provision:input_type -> rill.admin.v1.ProvisionRequest + 96, // 267: rill.admin.v1.AdminService.GetDeploymentConfig:input_type -> rill.admin.v1.GetDeploymentConfigRequest + 98, // 268: rill.admin.v1.AdminService.ListRoles:input_type -> rill.admin.v1.ListRolesRequest + 100, // 269: rill.admin.v1.AdminService.ListOrganizationMemberUsers:input_type -> rill.admin.v1.ListOrganizationMemberUsersRequest + 102, // 270: rill.admin.v1.AdminService.ListOrganizationInvites:input_type -> rill.admin.v1.ListOrganizationInvitesRequest + 104, // 271: rill.admin.v1.AdminService.AddOrganizationMemberUser:input_type -> rill.admin.v1.AddOrganizationMemberUserRequest + 106, // 272: rill.admin.v1.AdminService.RemoveOrganizationMemberUser:input_type -> rill.admin.v1.RemoveOrganizationMemberUserRequest + 108, // 273: rill.admin.v1.AdminService.LeaveOrganization:input_type -> rill.admin.v1.LeaveOrganizationRequest + 110, // 274: rill.admin.v1.AdminService.SetOrganizationMemberUserRole:input_type -> rill.admin.v1.SetOrganizationMemberUserRoleRequest + 112, // 275: rill.admin.v1.AdminService.GetOrganizationMemberUser:input_type -> rill.admin.v1.GetOrganizationMemberUserRequest + 116, // 276: rill.admin.v1.AdminService.ListUsergroupsForProjectAndUser:input_type -> rill.admin.v1.ListUsergroupsForProjectAndUserRequest + 118, // 277: rill.admin.v1.AdminService.UpdateOrganizationMemberUserAttributes:input_type -> rill.admin.v1.UpdateOrganizationMemberUserAttributesRequest + 146, // 278: rill.admin.v1.AdminService.ListProjectMemberUsers:input_type -> rill.admin.v1.ListProjectMemberUsersRequest + 148, // 279: rill.admin.v1.AdminService.ListProjectInvites:input_type -> rill.admin.v1.ListProjectInvitesRequest + 150, // 280: rill.admin.v1.AdminService.AddProjectMemberUser:input_type -> rill.admin.v1.AddProjectMemberUserRequest + 152, // 281: rill.admin.v1.AdminService.RemoveProjectMemberUser:input_type -> rill.admin.v1.RemoveProjectMemberUserRequest + 154, // 282: rill.admin.v1.AdminService.SetProjectMemberUserRole:input_type -> rill.admin.v1.SetProjectMemberUserRoleRequest + 114, // 283: rill.admin.v1.AdminService.GetProjectMemberUser:input_type -> rill.admin.v1.GetProjectMemberUserRequest + 156, // 284: rill.admin.v1.AdminService.ListUsergroupsForOrganizationAndUser:input_type -> rill.admin.v1.ListUsergroupsForOrganizationAndUserRequest + 158, // 285: rill.admin.v1.AdminService.CreateUsergroup:input_type -> rill.admin.v1.CreateUsergroupRequest + 160, // 286: rill.admin.v1.AdminService.GetUsergroup:input_type -> rill.admin.v1.GetUsergroupRequest + 162, // 287: rill.admin.v1.AdminService.UpdateUsergroup:input_type -> rill.admin.v1.UpdateUsergroupRequest + 164, // 288: rill.admin.v1.AdminService.ListOrganizationMemberUsergroups:input_type -> rill.admin.v1.ListOrganizationMemberUsergroupsRequest + 166, // 289: rill.admin.v1.AdminService.ListProjectMemberUsergroups:input_type -> rill.admin.v1.ListProjectMemberUsergroupsRequest + 168, // 290: rill.admin.v1.AdminService.DeleteUsergroup:input_type -> rill.admin.v1.DeleteUsergroupRequest + 170, // 291: rill.admin.v1.AdminService.AddOrganizationMemberUsergroup:input_type -> rill.admin.v1.AddOrganizationMemberUsergroupRequest + 172, // 292: rill.admin.v1.AdminService.SetOrganizationMemberUsergroupRole:input_type -> rill.admin.v1.SetOrganizationMemberUsergroupRoleRequest + 174, // 293: rill.admin.v1.AdminService.RemoveOrganizationMemberUsergroup:input_type -> rill.admin.v1.RemoveOrganizationMemberUsergroupRequest + 176, // 294: rill.admin.v1.AdminService.AddProjectMemberUsergroup:input_type -> rill.admin.v1.AddProjectMemberUsergroupRequest + 178, // 295: rill.admin.v1.AdminService.SetProjectMemberUsergroupRole:input_type -> rill.admin.v1.SetProjectMemberUsergroupRoleRequest + 180, // 296: rill.admin.v1.AdminService.RemoveProjectMemberUsergroup:input_type -> rill.admin.v1.RemoveProjectMemberUsergroupRequest + 182, // 297: rill.admin.v1.AdminService.AddUsergroupMemberUser:input_type -> rill.admin.v1.AddUsergroupMemberUserRequest + 184, // 298: rill.admin.v1.AdminService.ListUsergroupMemberUsers:input_type -> rill.admin.v1.ListUsergroupMemberUsersRequest + 186, // 299: rill.admin.v1.AdminService.RemoveUsergroupMemberUser:input_type -> rill.admin.v1.RemoveUsergroupMemberUserRequest + 191, // 300: rill.admin.v1.AdminService.GetUser:input_type -> rill.admin.v1.GetUserRequest + 193, // 301: rill.admin.v1.AdminService.GetCurrentUser:input_type -> rill.admin.v1.GetCurrentUserRequest + 195, // 302: rill.admin.v1.AdminService.DeleteUser:input_type -> rill.admin.v1.DeleteUserRequest + 197, // 303: rill.admin.v1.AdminService.ListUserAuthTokens:input_type -> rill.admin.v1.ListUserAuthTokensRequest + 199, // 304: rill.admin.v1.AdminService.IssueUserAuthToken:input_type -> rill.admin.v1.IssueUserAuthTokenRequest + 201, // 305: rill.admin.v1.AdminService.RevokeUserAuthToken:input_type -> rill.admin.v1.RevokeUserAuthTokenRequest + 203, // 306: rill.admin.v1.AdminService.RevokeAllUserAuthTokens:input_type -> rill.admin.v1.RevokeAllUserAuthTokensRequest + 205, // 307: rill.admin.v1.AdminService.RevokeRepresentativeAuthTokens:input_type -> rill.admin.v1.RevokeRepresentativeAuthTokensRequest + 207, // 308: rill.admin.v1.AdminService.IssueRepresentativeAuthToken:input_type -> rill.admin.v1.IssueRepresentativeAuthTokenRequest + 209, // 309: rill.admin.v1.AdminService.RevokeCurrentAuthToken:input_type -> rill.admin.v1.RevokeCurrentAuthTokenRequest + 238, // 310: rill.admin.v1.AdminService.GetGithubRepoStatus:input_type -> rill.admin.v1.GetGithubRepoStatusRequest + 240, // 311: rill.admin.v1.AdminService.GetGithubUserStatus:input_type -> rill.admin.v1.GetGithubUserStatusRequest + 242, // 312: rill.admin.v1.AdminService.ListGithubUserRepos:input_type -> rill.admin.v1.ListGithubUserReposRequest + 244, // 313: rill.admin.v1.AdminService.ConnectProjectToGithub:input_type -> rill.admin.v1.ConnectProjectToGithubRequest + 246, // 314: rill.admin.v1.AdminService.CreateManagedGitRepo:input_type -> rill.admin.v1.CreateManagedGitRepoRequest + 248, // 315: rill.admin.v1.AdminService.GetCloneCredentials:input_type -> rill.admin.v1.GetCloneCredentialsRequest + 250, // 316: rill.admin.v1.AdminService.CreateWhitelistedDomain:input_type -> rill.admin.v1.CreateWhitelistedDomainRequest + 252, // 317: rill.admin.v1.AdminService.RemoveWhitelistedDomain:input_type -> rill.admin.v1.RemoveWhitelistedDomainRequest + 254, // 318: rill.admin.v1.AdminService.ListWhitelistedDomains:input_type -> rill.admin.v1.ListWhitelistedDomainsRequest + 221, // 319: rill.admin.v1.AdminService.SearchUsers:input_type -> rill.admin.v1.SearchUsersRequest + 50, // 320: rill.admin.v1.AdminService.SearchProjectUsers:input_type -> rill.admin.v1.SearchProjectUsersRequest + 120, // 321: rill.admin.v1.AdminService.ListSuperusers:input_type -> rill.admin.v1.ListSuperusersRequest + 52, // 322: rill.admin.v1.AdminService.GetDeploymentCredentials:input_type -> rill.admin.v1.GetDeploymentCredentialsRequest + 54, // 323: rill.admin.v1.AdminService.GetIFrame:input_type -> rill.admin.v1.GetIFrameRequest + 122, // 324: rill.admin.v1.AdminService.SetSuperuser:input_type -> rill.admin.v1.SetSuperuserRequest + 124, // 325: rill.admin.v1.AdminService.SudoGetResource:input_type -> rill.admin.v1.SudoGetResourceRequest + 136, // 326: rill.admin.v1.AdminService.SudoUpdateUserQuotas:input_type -> rill.admin.v1.SudoUpdateUserQuotasRequest + 126, // 327: rill.admin.v1.AdminService.SudoUpdateOrganizationQuotas:input_type -> rill.admin.v1.SudoUpdateOrganizationQuotasRequest + 128, // 328: rill.admin.v1.AdminService.SudoUpdateOrganizationBillingCustomer:input_type -> rill.admin.v1.SudoUpdateOrganizationBillingCustomerRequest + 130, // 329: rill.admin.v1.AdminService.SudoExtendTrial:input_type -> rill.admin.v1.SudoExtendTrialRequest + 132, // 330: rill.admin.v1.AdminService.SudoAddCredits:input_type -> rill.admin.v1.SudoAddCreditsRequest + 134, // 331: rill.admin.v1.AdminService.SudoUpdateOrganizationCustomDomain:input_type -> rill.admin.v1.SudoUpdateOrganizationCustomDomainRequest + 138, // 332: rill.admin.v1.AdminService.SudoUpdateAnnotations:input_type -> rill.admin.v1.SudoUpdateAnnotationsRequest + 140, // 333: rill.admin.v1.AdminService.SudoIssueRuntimeManagerToken:input_type -> rill.admin.v1.SudoIssueRuntimeManagerTokenRequest + 142, // 334: rill.admin.v1.AdminService.SudoDeleteOrganizationBillingIssue:input_type -> rill.admin.v1.SudoDeleteOrganizationBillingIssueRequest + 144, // 335: rill.admin.v1.AdminService.SudoTriggerBillingRepair:input_type -> rill.admin.v1.SudoTriggerBillingRepairRequest + 256, // 336: rill.admin.v1.AdminService.CreateProjectWhitelistedDomain:input_type -> rill.admin.v1.CreateProjectWhitelistedDomainRequest + 258, // 337: rill.admin.v1.AdminService.RemoveProjectWhitelistedDomain:input_type -> rill.admin.v1.RemoveProjectWhitelistedDomainRequest + 260, // 338: rill.admin.v1.AdminService.ListProjectWhitelistedDomains:input_type -> rill.admin.v1.ListProjectWhitelistedDomainsRequest + 56, // 339: rill.admin.v1.AdminService.ListServices:input_type -> rill.admin.v1.ListServicesRequest + 58, // 340: rill.admin.v1.AdminService.ListProjectMemberServices:input_type -> rill.admin.v1.ListProjectMemberServicesRequest + 60, // 341: rill.admin.v1.AdminService.CreateService:input_type -> rill.admin.v1.CreateServiceRequest + 62, // 342: rill.admin.v1.AdminService.GetService:input_type -> rill.admin.v1.GetServiceRequest + 64, // 343: rill.admin.v1.AdminService.UpdateService:input_type -> rill.admin.v1.UpdateServiceRequest + 66, // 344: rill.admin.v1.AdminService.SetOrganizationMemberServiceRole:input_type -> rill.admin.v1.SetOrganizationMemberServiceRoleRequest + 68, // 345: rill.admin.v1.AdminService.RemoveOrganizationMemberService:input_type -> rill.admin.v1.RemoveOrganizationMemberServiceRequest + 72, // 346: rill.admin.v1.AdminService.SetProjectMemberServiceRole:input_type -> rill.admin.v1.SetProjectMemberServiceRoleRequest + 70, // 347: rill.admin.v1.AdminService.RemoveProjectMemberService:input_type -> rill.admin.v1.RemoveProjectMemberServiceRequest + 74, // 348: rill.admin.v1.AdminService.DeleteService:input_type -> rill.admin.v1.DeleteServiceRequest + 227, // 349: rill.admin.v1.AdminService.ListServiceAuthTokens:input_type -> rill.admin.v1.ListServiceAuthTokensRequest + 225, // 350: rill.admin.v1.AdminService.IssueServiceAuthToken:input_type -> rill.admin.v1.IssueServiceAuthTokenRequest + 223, // 351: rill.admin.v1.AdminService.RevokeServiceAuthToken:input_type -> rill.admin.v1.RevokeServiceAuthTokenRequest + 229, // 352: rill.admin.v1.AdminService.IssueMagicAuthToken:input_type -> rill.admin.v1.IssueMagicAuthTokenRequest + 232, // 353: rill.admin.v1.AdminService.ListMagicAuthTokens:input_type -> rill.admin.v1.ListMagicAuthTokensRequest + 234, // 354: rill.admin.v1.AdminService.GetCurrentMagicAuthToken:input_type -> rill.admin.v1.GetCurrentMagicAuthTokenRequest + 236, // 355: rill.admin.v1.AdminService.RevokeMagicAuthToken:input_type -> rill.admin.v1.RevokeMagicAuthTokenRequest + 189, // 356: rill.admin.v1.AdminService.UpdateUserPreferences:input_type -> rill.admin.v1.UpdateUserPreferencesRequest + 211, // 357: rill.admin.v1.AdminService.ListBookmarks:input_type -> rill.admin.v1.ListBookmarksRequest + 213, // 358: rill.admin.v1.AdminService.GetBookmark:input_type -> rill.admin.v1.GetBookmarkRequest + 215, // 359: rill.admin.v1.AdminService.CreateBookmark:input_type -> rill.admin.v1.CreateBookmarkRequest + 217, // 360: rill.admin.v1.AdminService.UpdateBookmark:input_type -> rill.admin.v1.UpdateBookmarkRequest + 219, // 361: rill.admin.v1.AdminService.RemoveBookmark:input_type -> rill.admin.v1.RemoveBookmarkRequest + 262, // 362: rill.admin.v1.AdminService.GetRepoMeta:input_type -> rill.admin.v1.GetRepoMetaRequest + 264, // 363: rill.admin.v1.AdminService.PullVirtualRepo:input_type -> rill.admin.v1.PullVirtualRepoRequest + 266, // 364: rill.admin.v1.AdminService.GetVirtualFile:input_type -> rill.admin.v1.GetVirtualFileRequest + 268, // 365: rill.admin.v1.AdminService.DeleteVirtualFile:input_type -> rill.admin.v1.DeleteVirtualFileRequest + 270, // 366: rill.admin.v1.AdminService.GetReportMeta:input_type -> rill.admin.v1.GetReportMetaRequest + 272, // 367: rill.admin.v1.AdminService.GetAlertMeta:input_type -> rill.admin.v1.GetAlertMetaRequest + 274, // 368: rill.admin.v1.AdminService.CreateReport:input_type -> rill.admin.v1.CreateReportRequest + 276, // 369: rill.admin.v1.AdminService.EditReport:input_type -> rill.admin.v1.EditReportRequest + 278, // 370: rill.admin.v1.AdminService.UnsubscribeReport:input_type -> rill.admin.v1.UnsubscribeReportRequest + 280, // 371: rill.admin.v1.AdminService.DeleteReport:input_type -> rill.admin.v1.DeleteReportRequest + 282, // 372: rill.admin.v1.AdminService.TriggerReport:input_type -> rill.admin.v1.TriggerReportRequest + 284, // 373: rill.admin.v1.AdminService.GenerateReportYAML:input_type -> rill.admin.v1.GenerateReportYAMLRequest + 286, // 374: rill.admin.v1.AdminService.CreateAlert:input_type -> rill.admin.v1.CreateAlertRequest + 288, // 375: rill.admin.v1.AdminService.EditAlert:input_type -> rill.admin.v1.EditAlertRequest + 290, // 376: rill.admin.v1.AdminService.UnsubscribeAlert:input_type -> rill.admin.v1.UnsubscribeAlertRequest + 292, // 377: rill.admin.v1.AdminService.DeleteAlert:input_type -> rill.admin.v1.DeleteAlertRequest + 294, // 378: rill.admin.v1.AdminService.GenerateAlertYAML:input_type -> rill.admin.v1.GenerateAlertYAMLRequest + 296, // 379: rill.admin.v1.AdminService.GetAlertYAML:input_type -> rill.admin.v1.GetAlertYAMLRequest + 298, // 380: rill.admin.v1.AdminService.GetBillingSubscription:input_type -> rill.admin.v1.GetBillingSubscriptionRequest + 301, // 381: rill.admin.v1.AdminService.UpdateBillingSubscription:input_type -> rill.admin.v1.UpdateBillingSubscriptionRequest + 303, // 382: rill.admin.v1.AdminService.CancelBillingSubscription:input_type -> rill.admin.v1.CancelBillingSubscriptionRequest + 305, // 383: rill.admin.v1.AdminService.RenewBillingSubscription:input_type -> rill.admin.v1.RenewBillingSubscriptionRequest + 307, // 384: rill.admin.v1.AdminService.GetPaymentsPortalURL:input_type -> rill.admin.v1.GetPaymentsPortalURLRequest + 309, // 385: rill.admin.v1.AdminService.ListPublicBillingPlans:input_type -> rill.admin.v1.ListPublicBillingPlansRequest + 311, // 386: rill.admin.v1.AdminService.GetBillingProjectCredentials:input_type -> rill.admin.v1.GetBillingProjectCredentialsRequest + 315, // 387: rill.admin.v1.AdminService.RequestProjectAccess:input_type -> rill.admin.v1.RequestProjectAccessRequest + 317, // 388: rill.admin.v1.AdminService.GetProjectAccessRequest:input_type -> rill.admin.v1.GetProjectAccessRequestRequest + 319, // 389: rill.admin.v1.AdminService.ApproveProjectAccess:input_type -> rill.admin.v1.ApproveProjectAccessRequest + 321, // 390: rill.admin.v1.AdminService.DenyProjectAccess:input_type -> rill.admin.v1.DenyProjectAccessRequest + 323, // 391: rill.admin.v1.AdminService.ListOrganizationBillingIssues:input_type -> rill.admin.v1.ListOrganizationBillingIssuesRequest + 6, // 392: rill.admin.v1.AdminService.Ping:output_type -> rill.admin.v1.PingResponse + 8, // 393: rill.admin.v1.AdminService.ListOrganizations:output_type -> rill.admin.v1.ListOrganizationsResponse + 10, // 394: rill.admin.v1.AdminService.GetOrganization:output_type -> rill.admin.v1.GetOrganizationResponse + 12, // 395: rill.admin.v1.AdminService.GetOrganizationNameForDomain:output_type -> rill.admin.v1.GetOrganizationNameForDomainResponse + 14, // 396: rill.admin.v1.AdminService.CreateOrganization:output_type -> rill.admin.v1.CreateOrganizationResponse + 16, // 397: rill.admin.v1.AdminService.DeleteOrganization:output_type -> rill.admin.v1.DeleteOrganizationResponse + 18, // 398: rill.admin.v1.AdminService.UpdateOrganization:output_type -> rill.admin.v1.UpdateOrganizationResponse + 32, // 399: rill.admin.v1.AdminService.ListProjectsForOrganization:output_type -> rill.admin.v1.ListProjectsForOrganizationResponse + 34, // 400: rill.admin.v1.AdminService.ListProjectsForOrganizationAndUser:output_type -> rill.admin.v1.ListProjectsForOrganizationAndUserResponse + 36, // 401: rill.admin.v1.AdminService.ListProjectsForFingerprint:output_type -> rill.admin.v1.ListProjectsForFingerprintResponse + 38, // 402: rill.admin.v1.AdminService.GetProject:output_type -> rill.admin.v1.GetProjectResponse + 40, // 403: rill.admin.v1.AdminService.ListProjectsForUserByName:output_type -> rill.admin.v1.ListProjectsForUserByNameResponse + 42, // 404: rill.admin.v1.AdminService.GetProjectByID:output_type -> rill.admin.v1.GetProjectByIDResponse + 44, // 405: rill.admin.v1.AdminService.SearchProjectNames:output_type -> rill.admin.v1.SearchProjectNamesResponse + 77, // 406: rill.admin.v1.AdminService.CreateProject:output_type -> rill.admin.v1.CreateProjectResponse + 79, // 407: rill.admin.v1.AdminService.DeleteProject:output_type -> rill.admin.v1.DeleteProjectResponse + 81, // 408: rill.admin.v1.AdminService.UpdateProject:output_type -> rill.admin.v1.UpdateProjectResponse + 46, // 409: rill.admin.v1.AdminService.GetProjectVariables:output_type -> rill.admin.v1.GetProjectVariablesResponse + 49, // 410: rill.admin.v1.AdminService.UpdateProjectVariables:output_type -> rill.admin.v1.UpdateProjectVariablesResponse + 83, // 411: rill.admin.v1.AdminService.CreateAsset:output_type -> rill.admin.v1.CreateAssetResponse + 85, // 412: rill.admin.v1.AdminService.RedeployProject:output_type -> rill.admin.v1.RedeployProjectResponse + 87, // 413: rill.admin.v1.AdminService.HibernateProject:output_type -> rill.admin.v1.HibernateProjectResponse + 21, // 414: rill.admin.v1.AdminService.ListDeployments:output_type -> rill.admin.v1.ListDeploymentsResponse + 23, // 415: rill.admin.v1.AdminService.CreateDeployment:output_type -> rill.admin.v1.CreateDeploymentResponse + 25, // 416: rill.admin.v1.AdminService.GetDeployment:output_type -> rill.admin.v1.GetDeploymentResponse + 27, // 417: rill.admin.v1.AdminService.StartDeployment:output_type -> rill.admin.v1.StartDeploymentResponse + 29, // 418: rill.admin.v1.AdminService.StopDeployment:output_type -> rill.admin.v1.StopDeploymentResponse + 31, // 419: rill.admin.v1.AdminService.DeleteDeployment:output_type -> rill.admin.v1.DeleteDeploymentResponse + 89, // 420: rill.admin.v1.AdminService.TriggerReconcile:output_type -> rill.admin.v1.TriggerReconcileResponse + 91, // 421: rill.admin.v1.AdminService.TriggerRefreshSources:output_type -> rill.admin.v1.TriggerRefreshSourcesResponse + 93, // 422: rill.admin.v1.AdminService.TriggerRedeploy:output_type -> rill.admin.v1.TriggerRedeployResponse + 95, // 423: rill.admin.v1.AdminService.Provision:output_type -> rill.admin.v1.ProvisionResponse + 97, // 424: rill.admin.v1.AdminService.GetDeploymentConfig:output_type -> rill.admin.v1.GetDeploymentConfigResponse + 99, // 425: rill.admin.v1.AdminService.ListRoles:output_type -> rill.admin.v1.ListRolesResponse + 101, // 426: rill.admin.v1.AdminService.ListOrganizationMemberUsers:output_type -> rill.admin.v1.ListOrganizationMemberUsersResponse + 103, // 427: rill.admin.v1.AdminService.ListOrganizationInvites:output_type -> rill.admin.v1.ListOrganizationInvitesResponse + 105, // 428: rill.admin.v1.AdminService.AddOrganizationMemberUser:output_type -> rill.admin.v1.AddOrganizationMemberUserResponse + 107, // 429: rill.admin.v1.AdminService.RemoveOrganizationMemberUser:output_type -> rill.admin.v1.RemoveOrganizationMemberUserResponse + 109, // 430: rill.admin.v1.AdminService.LeaveOrganization:output_type -> rill.admin.v1.LeaveOrganizationResponse + 111, // 431: rill.admin.v1.AdminService.SetOrganizationMemberUserRole:output_type -> rill.admin.v1.SetOrganizationMemberUserRoleResponse + 113, // 432: rill.admin.v1.AdminService.GetOrganizationMemberUser:output_type -> rill.admin.v1.GetOrganizationMemberUserResponse + 117, // 433: rill.admin.v1.AdminService.ListUsergroupsForProjectAndUser:output_type -> rill.admin.v1.ListUsergroupsForProjectAndUserResponse + 119, // 434: rill.admin.v1.AdminService.UpdateOrganizationMemberUserAttributes:output_type -> rill.admin.v1.UpdateOrganizationMemberUserAttributesResponse + 147, // 435: rill.admin.v1.AdminService.ListProjectMemberUsers:output_type -> rill.admin.v1.ListProjectMemberUsersResponse + 149, // 436: rill.admin.v1.AdminService.ListProjectInvites:output_type -> rill.admin.v1.ListProjectInvitesResponse + 151, // 437: rill.admin.v1.AdminService.AddProjectMemberUser:output_type -> rill.admin.v1.AddProjectMemberUserResponse + 153, // 438: rill.admin.v1.AdminService.RemoveProjectMemberUser:output_type -> rill.admin.v1.RemoveProjectMemberUserResponse + 155, // 439: rill.admin.v1.AdminService.SetProjectMemberUserRole:output_type -> rill.admin.v1.SetProjectMemberUserRoleResponse + 115, // 440: rill.admin.v1.AdminService.GetProjectMemberUser:output_type -> rill.admin.v1.GetProjectMemberUserResponse + 157, // 441: rill.admin.v1.AdminService.ListUsergroupsForOrganizationAndUser:output_type -> rill.admin.v1.ListUsergroupsForOrganizationAndUserResponse + 159, // 442: rill.admin.v1.AdminService.CreateUsergroup:output_type -> rill.admin.v1.CreateUsergroupResponse + 161, // 443: rill.admin.v1.AdminService.GetUsergroup:output_type -> rill.admin.v1.GetUsergroupResponse + 163, // 444: rill.admin.v1.AdminService.UpdateUsergroup:output_type -> rill.admin.v1.UpdateUsergroupResponse + 165, // 445: rill.admin.v1.AdminService.ListOrganizationMemberUsergroups:output_type -> rill.admin.v1.ListOrganizationMemberUsergroupsResponse + 167, // 446: rill.admin.v1.AdminService.ListProjectMemberUsergroups:output_type -> rill.admin.v1.ListProjectMemberUsergroupsResponse + 169, // 447: rill.admin.v1.AdminService.DeleteUsergroup:output_type -> rill.admin.v1.DeleteUsergroupResponse + 171, // 448: rill.admin.v1.AdminService.AddOrganizationMemberUsergroup:output_type -> rill.admin.v1.AddOrganizationMemberUsergroupResponse + 173, // 449: rill.admin.v1.AdminService.SetOrganizationMemberUsergroupRole:output_type -> rill.admin.v1.SetOrganizationMemberUsergroupRoleResponse + 175, // 450: rill.admin.v1.AdminService.RemoveOrganizationMemberUsergroup:output_type -> rill.admin.v1.RemoveOrganizationMemberUsergroupResponse + 177, // 451: rill.admin.v1.AdminService.AddProjectMemberUsergroup:output_type -> rill.admin.v1.AddProjectMemberUsergroupResponse + 179, // 452: rill.admin.v1.AdminService.SetProjectMemberUsergroupRole:output_type -> rill.admin.v1.SetProjectMemberUsergroupRoleResponse + 181, // 453: rill.admin.v1.AdminService.RemoveProjectMemberUsergroup:output_type -> rill.admin.v1.RemoveProjectMemberUsergroupResponse + 183, // 454: rill.admin.v1.AdminService.AddUsergroupMemberUser:output_type -> rill.admin.v1.AddUsergroupMemberUserResponse + 185, // 455: rill.admin.v1.AdminService.ListUsergroupMemberUsers:output_type -> rill.admin.v1.ListUsergroupMemberUsersResponse + 187, // 456: rill.admin.v1.AdminService.RemoveUsergroupMemberUser:output_type -> rill.admin.v1.RemoveUsergroupMemberUserResponse + 192, // 457: rill.admin.v1.AdminService.GetUser:output_type -> rill.admin.v1.GetUserResponse + 194, // 458: rill.admin.v1.AdminService.GetCurrentUser:output_type -> rill.admin.v1.GetCurrentUserResponse + 196, // 459: rill.admin.v1.AdminService.DeleteUser:output_type -> rill.admin.v1.DeleteUserResponse + 198, // 460: rill.admin.v1.AdminService.ListUserAuthTokens:output_type -> rill.admin.v1.ListUserAuthTokensResponse + 200, // 461: rill.admin.v1.AdminService.IssueUserAuthToken:output_type -> rill.admin.v1.IssueUserAuthTokenResponse + 202, // 462: rill.admin.v1.AdminService.RevokeUserAuthToken:output_type -> rill.admin.v1.RevokeUserAuthTokenResponse + 204, // 463: rill.admin.v1.AdminService.RevokeAllUserAuthTokens:output_type -> rill.admin.v1.RevokeAllUserAuthTokensResponse + 206, // 464: rill.admin.v1.AdminService.RevokeRepresentativeAuthTokens:output_type -> rill.admin.v1.RevokeRepresentativeAuthTokensResponse + 208, // 465: rill.admin.v1.AdminService.IssueRepresentativeAuthToken:output_type -> rill.admin.v1.IssueRepresentativeAuthTokenResponse + 210, // 466: rill.admin.v1.AdminService.RevokeCurrentAuthToken:output_type -> rill.admin.v1.RevokeCurrentAuthTokenResponse + 239, // 467: rill.admin.v1.AdminService.GetGithubRepoStatus:output_type -> rill.admin.v1.GetGithubRepoStatusResponse + 241, // 468: rill.admin.v1.AdminService.GetGithubUserStatus:output_type -> rill.admin.v1.GetGithubUserStatusResponse + 243, // 469: rill.admin.v1.AdminService.ListGithubUserRepos:output_type -> rill.admin.v1.ListGithubUserReposResponse + 245, // 470: rill.admin.v1.AdminService.ConnectProjectToGithub:output_type -> rill.admin.v1.ConnectProjectToGithubResponse + 247, // 471: rill.admin.v1.AdminService.CreateManagedGitRepo:output_type -> rill.admin.v1.CreateManagedGitRepoResponse + 249, // 472: rill.admin.v1.AdminService.GetCloneCredentials:output_type -> rill.admin.v1.GetCloneCredentialsResponse + 251, // 473: rill.admin.v1.AdminService.CreateWhitelistedDomain:output_type -> rill.admin.v1.CreateWhitelistedDomainResponse + 253, // 474: rill.admin.v1.AdminService.RemoveWhitelistedDomain:output_type -> rill.admin.v1.RemoveWhitelistedDomainResponse + 255, // 475: rill.admin.v1.AdminService.ListWhitelistedDomains:output_type -> rill.admin.v1.ListWhitelistedDomainsResponse + 222, // 476: rill.admin.v1.AdminService.SearchUsers:output_type -> rill.admin.v1.SearchUsersResponse + 51, // 477: rill.admin.v1.AdminService.SearchProjectUsers:output_type -> rill.admin.v1.SearchProjectUsersResponse + 121, // 478: rill.admin.v1.AdminService.ListSuperusers:output_type -> rill.admin.v1.ListSuperusersResponse + 53, // 479: rill.admin.v1.AdminService.GetDeploymentCredentials:output_type -> rill.admin.v1.GetDeploymentCredentialsResponse + 55, // 480: rill.admin.v1.AdminService.GetIFrame:output_type -> rill.admin.v1.GetIFrameResponse + 123, // 481: rill.admin.v1.AdminService.SetSuperuser:output_type -> rill.admin.v1.SetSuperuserResponse + 125, // 482: rill.admin.v1.AdminService.SudoGetResource:output_type -> rill.admin.v1.SudoGetResourceResponse + 137, // 483: rill.admin.v1.AdminService.SudoUpdateUserQuotas:output_type -> rill.admin.v1.SudoUpdateUserQuotasResponse + 127, // 484: rill.admin.v1.AdminService.SudoUpdateOrganizationQuotas:output_type -> rill.admin.v1.SudoUpdateOrganizationQuotasResponse + 129, // 485: rill.admin.v1.AdminService.SudoUpdateOrganizationBillingCustomer:output_type -> rill.admin.v1.SudoUpdateOrganizationBillingCustomerResponse + 131, // 486: rill.admin.v1.AdminService.SudoExtendTrial:output_type -> rill.admin.v1.SudoExtendTrialResponse + 133, // 487: rill.admin.v1.AdminService.SudoAddCredits:output_type -> rill.admin.v1.SudoAddCreditsResponse + 135, // 488: rill.admin.v1.AdminService.SudoUpdateOrganizationCustomDomain:output_type -> rill.admin.v1.SudoUpdateOrganizationCustomDomainResponse + 139, // 489: rill.admin.v1.AdminService.SudoUpdateAnnotations:output_type -> rill.admin.v1.SudoUpdateAnnotationsResponse + 141, // 490: rill.admin.v1.AdminService.SudoIssueRuntimeManagerToken:output_type -> rill.admin.v1.SudoIssueRuntimeManagerTokenResponse + 143, // 491: rill.admin.v1.AdminService.SudoDeleteOrganizationBillingIssue:output_type -> rill.admin.v1.SudoDeleteOrganizationBillingIssueResponse + 145, // 492: rill.admin.v1.AdminService.SudoTriggerBillingRepair:output_type -> rill.admin.v1.SudoTriggerBillingRepairResponse + 257, // 493: rill.admin.v1.AdminService.CreateProjectWhitelistedDomain:output_type -> rill.admin.v1.CreateProjectWhitelistedDomainResponse + 259, // 494: rill.admin.v1.AdminService.RemoveProjectWhitelistedDomain:output_type -> rill.admin.v1.RemoveProjectWhitelistedDomainResponse + 261, // 495: rill.admin.v1.AdminService.ListProjectWhitelistedDomains:output_type -> rill.admin.v1.ListProjectWhitelistedDomainsResponse + 57, // 496: rill.admin.v1.AdminService.ListServices:output_type -> rill.admin.v1.ListServicesResponse + 59, // 497: rill.admin.v1.AdminService.ListProjectMemberServices:output_type -> rill.admin.v1.ListProjectMemberServicesResponse + 61, // 498: rill.admin.v1.AdminService.CreateService:output_type -> rill.admin.v1.CreateServiceResponse + 63, // 499: rill.admin.v1.AdminService.GetService:output_type -> rill.admin.v1.GetServiceResponse + 65, // 500: rill.admin.v1.AdminService.UpdateService:output_type -> rill.admin.v1.UpdateServiceResponse + 67, // 501: rill.admin.v1.AdminService.SetOrganizationMemberServiceRole:output_type -> rill.admin.v1.SetOrganizationMemberServiceRoleResponse + 69, // 502: rill.admin.v1.AdminService.RemoveOrganizationMemberService:output_type -> rill.admin.v1.RemoveOrganizationMemberServiceResponse + 73, // 503: rill.admin.v1.AdminService.SetProjectMemberServiceRole:output_type -> rill.admin.v1.SetProjectMemberServiceRoleResponse + 71, // 504: rill.admin.v1.AdminService.RemoveProjectMemberService:output_type -> rill.admin.v1.RemoveProjectMemberServiceResponse + 75, // 505: rill.admin.v1.AdminService.DeleteService:output_type -> rill.admin.v1.DeleteServiceResponse + 228, // 506: rill.admin.v1.AdminService.ListServiceAuthTokens:output_type -> rill.admin.v1.ListServiceAuthTokensResponse + 226, // 507: rill.admin.v1.AdminService.IssueServiceAuthToken:output_type -> rill.admin.v1.IssueServiceAuthTokenResponse + 224, // 508: rill.admin.v1.AdminService.RevokeServiceAuthToken:output_type -> rill.admin.v1.RevokeServiceAuthTokenResponse + 231, // 509: rill.admin.v1.AdminService.IssueMagicAuthToken:output_type -> rill.admin.v1.IssueMagicAuthTokenResponse + 233, // 510: rill.admin.v1.AdminService.ListMagicAuthTokens:output_type -> rill.admin.v1.ListMagicAuthTokensResponse + 235, // 511: rill.admin.v1.AdminService.GetCurrentMagicAuthToken:output_type -> rill.admin.v1.GetCurrentMagicAuthTokenResponse + 237, // 512: rill.admin.v1.AdminService.RevokeMagicAuthToken:output_type -> rill.admin.v1.RevokeMagicAuthTokenResponse + 190, // 513: rill.admin.v1.AdminService.UpdateUserPreferences:output_type -> rill.admin.v1.UpdateUserPreferencesResponse + 212, // 514: rill.admin.v1.AdminService.ListBookmarks:output_type -> rill.admin.v1.ListBookmarksResponse + 214, // 515: rill.admin.v1.AdminService.GetBookmark:output_type -> rill.admin.v1.GetBookmarkResponse + 216, // 516: rill.admin.v1.AdminService.CreateBookmark:output_type -> rill.admin.v1.CreateBookmarkResponse + 218, // 517: rill.admin.v1.AdminService.UpdateBookmark:output_type -> rill.admin.v1.UpdateBookmarkResponse + 220, // 518: rill.admin.v1.AdminService.RemoveBookmark:output_type -> rill.admin.v1.RemoveBookmarkResponse + 263, // 519: rill.admin.v1.AdminService.GetRepoMeta:output_type -> rill.admin.v1.GetRepoMetaResponse + 265, // 520: rill.admin.v1.AdminService.PullVirtualRepo:output_type -> rill.admin.v1.PullVirtualRepoResponse + 267, // 521: rill.admin.v1.AdminService.GetVirtualFile:output_type -> rill.admin.v1.GetVirtualFileResponse + 269, // 522: rill.admin.v1.AdminService.DeleteVirtualFile:output_type -> rill.admin.v1.DeleteVirtualFileResponse + 271, // 523: rill.admin.v1.AdminService.GetReportMeta:output_type -> rill.admin.v1.GetReportMetaResponse + 273, // 524: rill.admin.v1.AdminService.GetAlertMeta:output_type -> rill.admin.v1.GetAlertMetaResponse + 275, // 525: rill.admin.v1.AdminService.CreateReport:output_type -> rill.admin.v1.CreateReportResponse + 277, // 526: rill.admin.v1.AdminService.EditReport:output_type -> rill.admin.v1.EditReportResponse + 279, // 527: rill.admin.v1.AdminService.UnsubscribeReport:output_type -> rill.admin.v1.UnsubscribeReportResponse + 281, // 528: rill.admin.v1.AdminService.DeleteReport:output_type -> rill.admin.v1.DeleteReportResponse + 283, // 529: rill.admin.v1.AdminService.TriggerReport:output_type -> rill.admin.v1.TriggerReportResponse + 285, // 530: rill.admin.v1.AdminService.GenerateReportYAML:output_type -> rill.admin.v1.GenerateReportYAMLResponse + 287, // 531: rill.admin.v1.AdminService.CreateAlert:output_type -> rill.admin.v1.CreateAlertResponse + 289, // 532: rill.admin.v1.AdminService.EditAlert:output_type -> rill.admin.v1.EditAlertResponse + 291, // 533: rill.admin.v1.AdminService.UnsubscribeAlert:output_type -> rill.admin.v1.UnsubscribeAlertResponse + 293, // 534: rill.admin.v1.AdminService.DeleteAlert:output_type -> rill.admin.v1.DeleteAlertResponse + 295, // 535: rill.admin.v1.AdminService.GenerateAlertYAML:output_type -> rill.admin.v1.GenerateAlertYAMLResponse + 297, // 536: rill.admin.v1.AdminService.GetAlertYAML:output_type -> rill.admin.v1.GetAlertYAMLResponse + 299, // 537: rill.admin.v1.AdminService.GetBillingSubscription:output_type -> rill.admin.v1.GetBillingSubscriptionResponse + 302, // 538: rill.admin.v1.AdminService.UpdateBillingSubscription:output_type -> rill.admin.v1.UpdateBillingSubscriptionResponse + 304, // 539: rill.admin.v1.AdminService.CancelBillingSubscription:output_type -> rill.admin.v1.CancelBillingSubscriptionResponse + 306, // 540: rill.admin.v1.AdminService.RenewBillingSubscription:output_type -> rill.admin.v1.RenewBillingSubscriptionResponse + 308, // 541: rill.admin.v1.AdminService.GetPaymentsPortalURL:output_type -> rill.admin.v1.GetPaymentsPortalURLResponse + 310, // 542: rill.admin.v1.AdminService.ListPublicBillingPlans:output_type -> rill.admin.v1.ListPublicBillingPlansResponse + 312, // 543: rill.admin.v1.AdminService.GetBillingProjectCredentials:output_type -> rill.admin.v1.GetBillingProjectCredentialsResponse + 316, // 544: rill.admin.v1.AdminService.RequestProjectAccess:output_type -> rill.admin.v1.RequestProjectAccessResponse + 318, // 545: rill.admin.v1.AdminService.GetProjectAccessRequest:output_type -> rill.admin.v1.GetProjectAccessRequestResponse + 320, // 546: rill.admin.v1.AdminService.ApproveProjectAccess:output_type -> rill.admin.v1.ApproveProjectAccessResponse + 322, // 547: rill.admin.v1.AdminService.DenyProjectAccess:output_type -> rill.admin.v1.DenyProjectAccessResponse + 324, // 548: rill.admin.v1.AdminService.ListOrganizationBillingIssues:output_type -> rill.admin.v1.ListOrganizationBillingIssuesResponse + 392, // [392:549] is the sub-list for method output_type + 235, // [235:392] is the sub-list for method input_type + 235, // [235:235] is the sub-list for extension type_name + 235, // [235:235] is the sub-list for extension extendee + 0, // [0:235] is the sub-list for field type_name } func init() { file_rill_admin_v1_api_proto_init() } @@ -31393,7 +31542,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[127].Exporter = func(v any, i int) any { - switch v := v.(*SudoUpdateOrganizationCustomDomainRequest); i { + switch v := v.(*SudoAddCreditsRequest); i { case 0: return &v.state case 1: @@ -31405,7 +31554,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[128].Exporter = func(v any, i int) any { - switch v := v.(*SudoUpdateOrganizationCustomDomainResponse); i { + switch v := v.(*SudoAddCreditsResponse); i { case 0: return &v.state case 1: @@ -31417,7 +31566,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[129].Exporter = func(v any, i int) any { - switch v := v.(*SudoUpdateUserQuotasRequest); i { + switch v := v.(*SudoUpdateOrganizationCustomDomainRequest); i { case 0: return &v.state case 1: @@ -31429,7 +31578,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[130].Exporter = func(v any, i int) any { - switch v := v.(*SudoUpdateUserQuotasResponse); i { + switch v := v.(*SudoUpdateOrganizationCustomDomainResponse); i { case 0: return &v.state case 1: @@ -31441,7 +31590,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[131].Exporter = func(v any, i int) any { - switch v := v.(*SudoUpdateAnnotationsRequest); i { + switch v := v.(*SudoUpdateUserQuotasRequest); i { case 0: return &v.state case 1: @@ -31453,7 +31602,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[132].Exporter = func(v any, i int) any { - switch v := v.(*SudoUpdateAnnotationsResponse); i { + switch v := v.(*SudoUpdateUserQuotasResponse); i { case 0: return &v.state case 1: @@ -31465,7 +31614,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[133].Exporter = func(v any, i int) any { - switch v := v.(*SudoIssueRuntimeManagerTokenRequest); i { + switch v := v.(*SudoUpdateAnnotationsRequest); i { case 0: return &v.state case 1: @@ -31477,7 +31626,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[134].Exporter = func(v any, i int) any { - switch v := v.(*SudoIssueRuntimeManagerTokenResponse); i { + switch v := v.(*SudoUpdateAnnotationsResponse); i { case 0: return &v.state case 1: @@ -31489,7 +31638,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[135].Exporter = func(v any, i int) any { - switch v := v.(*SudoDeleteOrganizationBillingIssueRequest); i { + switch v := v.(*SudoIssueRuntimeManagerTokenRequest); i { case 0: return &v.state case 1: @@ -31501,7 +31650,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[136].Exporter = func(v any, i int) any { - switch v := v.(*SudoDeleteOrganizationBillingIssueResponse); i { + switch v := v.(*SudoIssueRuntimeManagerTokenResponse); i { case 0: return &v.state case 1: @@ -31513,7 +31662,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[137].Exporter = func(v any, i int) any { - switch v := v.(*SudoTriggerBillingRepairRequest); i { + switch v := v.(*SudoDeleteOrganizationBillingIssueRequest); i { case 0: return &v.state case 1: @@ -31525,7 +31674,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[138].Exporter = func(v any, i int) any { - switch v := v.(*SudoTriggerBillingRepairResponse); i { + switch v := v.(*SudoDeleteOrganizationBillingIssueResponse); i { case 0: return &v.state case 1: @@ -31537,7 +31686,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[139].Exporter = func(v any, i int) any { - switch v := v.(*ListProjectMemberUsersRequest); i { + switch v := v.(*SudoTriggerBillingRepairRequest); i { case 0: return &v.state case 1: @@ -31549,7 +31698,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[140].Exporter = func(v any, i int) any { - switch v := v.(*ListProjectMemberUsersResponse); i { + switch v := v.(*SudoTriggerBillingRepairResponse); i { case 0: return &v.state case 1: @@ -31561,7 +31710,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[141].Exporter = func(v any, i int) any { - switch v := v.(*ListProjectInvitesRequest); i { + switch v := v.(*ListProjectMemberUsersRequest); i { case 0: return &v.state case 1: @@ -31573,7 +31722,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[142].Exporter = func(v any, i int) any { - switch v := v.(*ListProjectInvitesResponse); i { + switch v := v.(*ListProjectMemberUsersResponse); i { case 0: return &v.state case 1: @@ -31585,7 +31734,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[143].Exporter = func(v any, i int) any { - switch v := v.(*AddProjectMemberUserRequest); i { + switch v := v.(*ListProjectInvitesRequest); i { case 0: return &v.state case 1: @@ -31597,7 +31746,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[144].Exporter = func(v any, i int) any { - switch v := v.(*AddProjectMemberUserResponse); i { + switch v := v.(*ListProjectInvitesResponse); i { case 0: return &v.state case 1: @@ -31609,7 +31758,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[145].Exporter = func(v any, i int) any { - switch v := v.(*RemoveProjectMemberUserRequest); i { + switch v := v.(*AddProjectMemberUserRequest); i { case 0: return &v.state case 1: @@ -31621,7 +31770,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[146].Exporter = func(v any, i int) any { - switch v := v.(*RemoveProjectMemberUserResponse); i { + switch v := v.(*AddProjectMemberUserResponse); i { case 0: return &v.state case 1: @@ -31633,7 +31782,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[147].Exporter = func(v any, i int) any { - switch v := v.(*SetProjectMemberUserRoleRequest); i { + switch v := v.(*RemoveProjectMemberUserRequest); i { case 0: return &v.state case 1: @@ -31645,7 +31794,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[148].Exporter = func(v any, i int) any { - switch v := v.(*SetProjectMemberUserRoleResponse); i { + switch v := v.(*RemoveProjectMemberUserResponse); i { case 0: return &v.state case 1: @@ -31657,7 +31806,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[149].Exporter = func(v any, i int) any { - switch v := v.(*ListUsergroupsForOrganizationAndUserRequest); i { + switch v := v.(*SetProjectMemberUserRoleRequest); i { case 0: return &v.state case 1: @@ -31669,7 +31818,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[150].Exporter = func(v any, i int) any { - switch v := v.(*ListUsergroupsForOrganizationAndUserResponse); i { + switch v := v.(*SetProjectMemberUserRoleResponse); i { case 0: return &v.state case 1: @@ -31681,7 +31830,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[151].Exporter = func(v any, i int) any { - switch v := v.(*CreateUsergroupRequest); i { + switch v := v.(*ListUsergroupsForOrganizationAndUserRequest); i { case 0: return &v.state case 1: @@ -31693,7 +31842,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[152].Exporter = func(v any, i int) any { - switch v := v.(*CreateUsergroupResponse); i { + switch v := v.(*ListUsergroupsForOrganizationAndUserResponse); i { case 0: return &v.state case 1: @@ -31705,7 +31854,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[153].Exporter = func(v any, i int) any { - switch v := v.(*GetUsergroupRequest); i { + switch v := v.(*CreateUsergroupRequest); i { case 0: return &v.state case 1: @@ -31717,7 +31866,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[154].Exporter = func(v any, i int) any { - switch v := v.(*GetUsergroupResponse); i { + switch v := v.(*CreateUsergroupResponse); i { case 0: return &v.state case 1: @@ -31729,7 +31878,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[155].Exporter = func(v any, i int) any { - switch v := v.(*UpdateUsergroupRequest); i { + switch v := v.(*GetUsergroupRequest); i { case 0: return &v.state case 1: @@ -31741,7 +31890,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[156].Exporter = func(v any, i int) any { - switch v := v.(*UpdateUsergroupResponse); i { + switch v := v.(*GetUsergroupResponse); i { case 0: return &v.state case 1: @@ -31753,7 +31902,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[157].Exporter = func(v any, i int) any { - switch v := v.(*ListOrganizationMemberUsergroupsRequest); i { + switch v := v.(*UpdateUsergroupRequest); i { case 0: return &v.state case 1: @@ -31765,7 +31914,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[158].Exporter = func(v any, i int) any { - switch v := v.(*ListOrganizationMemberUsergroupsResponse); i { + switch v := v.(*UpdateUsergroupResponse); i { case 0: return &v.state case 1: @@ -31777,7 +31926,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[159].Exporter = func(v any, i int) any { - switch v := v.(*ListProjectMemberUsergroupsRequest); i { + switch v := v.(*ListOrganizationMemberUsergroupsRequest); i { case 0: return &v.state case 1: @@ -31789,7 +31938,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[160].Exporter = func(v any, i int) any { - switch v := v.(*ListProjectMemberUsergroupsResponse); i { + switch v := v.(*ListOrganizationMemberUsergroupsResponse); i { case 0: return &v.state case 1: @@ -31801,7 +31950,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[161].Exporter = func(v any, i int) any { - switch v := v.(*DeleteUsergroupRequest); i { + switch v := v.(*ListProjectMemberUsergroupsRequest); i { case 0: return &v.state case 1: @@ -31813,7 +31962,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[162].Exporter = func(v any, i int) any { - switch v := v.(*DeleteUsergroupResponse); i { + switch v := v.(*ListProjectMemberUsergroupsResponse); i { case 0: return &v.state case 1: @@ -31825,7 +31974,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[163].Exporter = func(v any, i int) any { - switch v := v.(*AddOrganizationMemberUsergroupRequest); i { + switch v := v.(*DeleteUsergroupRequest); i { case 0: return &v.state case 1: @@ -31837,7 +31986,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[164].Exporter = func(v any, i int) any { - switch v := v.(*AddOrganizationMemberUsergroupResponse); i { + switch v := v.(*DeleteUsergroupResponse); i { case 0: return &v.state case 1: @@ -31849,7 +31998,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[165].Exporter = func(v any, i int) any { - switch v := v.(*SetOrganizationMemberUsergroupRoleRequest); i { + switch v := v.(*AddOrganizationMemberUsergroupRequest); i { case 0: return &v.state case 1: @@ -31861,7 +32010,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[166].Exporter = func(v any, i int) any { - switch v := v.(*SetOrganizationMemberUsergroupRoleResponse); i { + switch v := v.(*AddOrganizationMemberUsergroupResponse); i { case 0: return &v.state case 1: @@ -31873,7 +32022,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[167].Exporter = func(v any, i int) any { - switch v := v.(*RemoveOrganizationMemberUsergroupRequest); i { + switch v := v.(*SetOrganizationMemberUsergroupRoleRequest); i { case 0: return &v.state case 1: @@ -31885,7 +32034,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[168].Exporter = func(v any, i int) any { - switch v := v.(*RemoveOrganizationMemberUsergroupResponse); i { + switch v := v.(*SetOrganizationMemberUsergroupRoleResponse); i { case 0: return &v.state case 1: @@ -31897,7 +32046,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[169].Exporter = func(v any, i int) any { - switch v := v.(*AddProjectMemberUsergroupRequest); i { + switch v := v.(*RemoveOrganizationMemberUsergroupRequest); i { case 0: return &v.state case 1: @@ -31909,7 +32058,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[170].Exporter = func(v any, i int) any { - switch v := v.(*AddProjectMemberUsergroupResponse); i { + switch v := v.(*RemoveOrganizationMemberUsergroupResponse); i { case 0: return &v.state case 1: @@ -31921,7 +32070,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[171].Exporter = func(v any, i int) any { - switch v := v.(*SetProjectMemberUsergroupRoleRequest); i { + switch v := v.(*AddProjectMemberUsergroupRequest); i { case 0: return &v.state case 1: @@ -31933,7 +32082,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[172].Exporter = func(v any, i int) any { - switch v := v.(*SetProjectMemberUsergroupRoleResponse); i { + switch v := v.(*AddProjectMemberUsergroupResponse); i { case 0: return &v.state case 1: @@ -31945,7 +32094,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[173].Exporter = func(v any, i int) any { - switch v := v.(*RemoveProjectMemberUsergroupRequest); i { + switch v := v.(*SetProjectMemberUsergroupRoleRequest); i { case 0: return &v.state case 1: @@ -31957,7 +32106,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[174].Exporter = func(v any, i int) any { - switch v := v.(*RemoveProjectMemberUsergroupResponse); i { + switch v := v.(*SetProjectMemberUsergroupRoleResponse); i { case 0: return &v.state case 1: @@ -31969,7 +32118,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[175].Exporter = func(v any, i int) any { - switch v := v.(*AddUsergroupMemberUserRequest); i { + switch v := v.(*RemoveProjectMemberUsergroupRequest); i { case 0: return &v.state case 1: @@ -31981,7 +32130,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[176].Exporter = func(v any, i int) any { - switch v := v.(*AddUsergroupMemberUserResponse); i { + switch v := v.(*RemoveProjectMemberUsergroupResponse); i { case 0: return &v.state case 1: @@ -31993,7 +32142,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[177].Exporter = func(v any, i int) any { - switch v := v.(*ListUsergroupMemberUsersRequest); i { + switch v := v.(*AddUsergroupMemberUserRequest); i { case 0: return &v.state case 1: @@ -32005,7 +32154,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[178].Exporter = func(v any, i int) any { - switch v := v.(*ListUsergroupMemberUsersResponse); i { + switch v := v.(*AddUsergroupMemberUserResponse); i { case 0: return &v.state case 1: @@ -32017,7 +32166,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[179].Exporter = func(v any, i int) any { - switch v := v.(*RemoveUsergroupMemberUserRequest); i { + switch v := v.(*ListUsergroupMemberUsersRequest); i { case 0: return &v.state case 1: @@ -32029,7 +32178,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[180].Exporter = func(v any, i int) any { - switch v := v.(*RemoveUsergroupMemberUserResponse); i { + switch v := v.(*ListUsergroupMemberUsersResponse); i { case 0: return &v.state case 1: @@ -32041,7 +32190,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[181].Exporter = func(v any, i int) any { - switch v := v.(*UserPreferences); i { + switch v := v.(*RemoveUsergroupMemberUserRequest); i { case 0: return &v.state case 1: @@ -32053,7 +32202,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[182].Exporter = func(v any, i int) any { - switch v := v.(*UpdateUserPreferencesRequest); i { + switch v := v.(*RemoveUsergroupMemberUserResponse); i { case 0: return &v.state case 1: @@ -32065,7 +32214,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[183].Exporter = func(v any, i int) any { - switch v := v.(*UpdateUserPreferencesResponse); i { + switch v := v.(*UserPreferences); i { case 0: return &v.state case 1: @@ -32077,7 +32226,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[184].Exporter = func(v any, i int) any { - switch v := v.(*GetUserRequest); i { + switch v := v.(*UpdateUserPreferencesRequest); i { case 0: return &v.state case 1: @@ -32089,7 +32238,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[185].Exporter = func(v any, i int) any { - switch v := v.(*GetUserResponse); i { + switch v := v.(*UpdateUserPreferencesResponse); i { case 0: return &v.state case 1: @@ -32101,7 +32250,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[186].Exporter = func(v any, i int) any { - switch v := v.(*GetCurrentUserRequest); i { + switch v := v.(*GetUserRequest); i { case 0: return &v.state case 1: @@ -32113,7 +32262,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[187].Exporter = func(v any, i int) any { - switch v := v.(*GetCurrentUserResponse); i { + switch v := v.(*GetUserResponse); i { case 0: return &v.state case 1: @@ -32125,7 +32274,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[188].Exporter = func(v any, i int) any { - switch v := v.(*DeleteUserRequest); i { + switch v := v.(*GetCurrentUserRequest); i { case 0: return &v.state case 1: @@ -32137,7 +32286,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[189].Exporter = func(v any, i int) any { - switch v := v.(*DeleteUserResponse); i { + switch v := v.(*GetCurrentUserResponse); i { case 0: return &v.state case 1: @@ -32149,7 +32298,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[190].Exporter = func(v any, i int) any { - switch v := v.(*ListUserAuthTokensRequest); i { + switch v := v.(*DeleteUserRequest); i { case 0: return &v.state case 1: @@ -32161,7 +32310,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[191].Exporter = func(v any, i int) any { - switch v := v.(*ListUserAuthTokensResponse); i { + switch v := v.(*DeleteUserResponse); i { case 0: return &v.state case 1: @@ -32173,7 +32322,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[192].Exporter = func(v any, i int) any { - switch v := v.(*IssueUserAuthTokenRequest); i { + switch v := v.(*ListUserAuthTokensRequest); i { case 0: return &v.state case 1: @@ -32185,7 +32334,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[193].Exporter = func(v any, i int) any { - switch v := v.(*IssueUserAuthTokenResponse); i { + switch v := v.(*ListUserAuthTokensResponse); i { case 0: return &v.state case 1: @@ -32197,7 +32346,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[194].Exporter = func(v any, i int) any { - switch v := v.(*RevokeUserAuthTokenRequest); i { + switch v := v.(*IssueUserAuthTokenRequest); i { case 0: return &v.state case 1: @@ -32209,7 +32358,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[195].Exporter = func(v any, i int) any { - switch v := v.(*RevokeUserAuthTokenResponse); i { + switch v := v.(*IssueUserAuthTokenResponse); i { case 0: return &v.state case 1: @@ -32221,7 +32370,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[196].Exporter = func(v any, i int) any { - switch v := v.(*RevokeAllUserAuthTokensRequest); i { + switch v := v.(*RevokeUserAuthTokenRequest); i { case 0: return &v.state case 1: @@ -32233,7 +32382,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[197].Exporter = func(v any, i int) any { - switch v := v.(*RevokeAllUserAuthTokensResponse); i { + switch v := v.(*RevokeUserAuthTokenResponse); i { case 0: return &v.state case 1: @@ -32245,7 +32394,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[198].Exporter = func(v any, i int) any { - switch v := v.(*RevokeRepresentativeAuthTokensRequest); i { + switch v := v.(*RevokeAllUserAuthTokensRequest); i { case 0: return &v.state case 1: @@ -32257,7 +32406,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[199].Exporter = func(v any, i int) any { - switch v := v.(*RevokeRepresentativeAuthTokensResponse); i { + switch v := v.(*RevokeAllUserAuthTokensResponse); i { case 0: return &v.state case 1: @@ -32269,7 +32418,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[200].Exporter = func(v any, i int) any { - switch v := v.(*IssueRepresentativeAuthTokenRequest); i { + switch v := v.(*RevokeRepresentativeAuthTokensRequest); i { case 0: return &v.state case 1: @@ -32281,7 +32430,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[201].Exporter = func(v any, i int) any { - switch v := v.(*IssueRepresentativeAuthTokenResponse); i { + switch v := v.(*RevokeRepresentativeAuthTokensResponse); i { case 0: return &v.state case 1: @@ -32293,7 +32442,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[202].Exporter = func(v any, i int) any { - switch v := v.(*RevokeCurrentAuthTokenRequest); i { + switch v := v.(*IssueRepresentativeAuthTokenRequest); i { case 0: return &v.state case 1: @@ -32305,7 +32454,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[203].Exporter = func(v any, i int) any { - switch v := v.(*RevokeCurrentAuthTokenResponse); i { + switch v := v.(*IssueRepresentativeAuthTokenResponse); i { case 0: return &v.state case 1: @@ -32317,7 +32466,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[204].Exporter = func(v any, i int) any { - switch v := v.(*ListBookmarksRequest); i { + switch v := v.(*RevokeCurrentAuthTokenRequest); i { case 0: return &v.state case 1: @@ -32329,7 +32478,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[205].Exporter = func(v any, i int) any { - switch v := v.(*ListBookmarksResponse); i { + switch v := v.(*RevokeCurrentAuthTokenResponse); i { case 0: return &v.state case 1: @@ -32341,7 +32490,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[206].Exporter = func(v any, i int) any { - switch v := v.(*GetBookmarkRequest); i { + switch v := v.(*ListBookmarksRequest); i { case 0: return &v.state case 1: @@ -32353,7 +32502,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[207].Exporter = func(v any, i int) any { - switch v := v.(*GetBookmarkResponse); i { + switch v := v.(*ListBookmarksResponse); i { case 0: return &v.state case 1: @@ -32365,7 +32514,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[208].Exporter = func(v any, i int) any { - switch v := v.(*CreateBookmarkRequest); i { + switch v := v.(*GetBookmarkRequest); i { case 0: return &v.state case 1: @@ -32377,7 +32526,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[209].Exporter = func(v any, i int) any { - switch v := v.(*CreateBookmarkResponse); i { + switch v := v.(*GetBookmarkResponse); i { case 0: return &v.state case 1: @@ -32389,7 +32538,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[210].Exporter = func(v any, i int) any { - switch v := v.(*UpdateBookmarkRequest); i { + switch v := v.(*CreateBookmarkRequest); i { case 0: return &v.state case 1: @@ -32401,7 +32550,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[211].Exporter = func(v any, i int) any { - switch v := v.(*UpdateBookmarkResponse); i { + switch v := v.(*CreateBookmarkResponse); i { case 0: return &v.state case 1: @@ -32413,7 +32562,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[212].Exporter = func(v any, i int) any { - switch v := v.(*RemoveBookmarkRequest); i { + switch v := v.(*UpdateBookmarkRequest); i { case 0: return &v.state case 1: @@ -32425,7 +32574,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[213].Exporter = func(v any, i int) any { - switch v := v.(*RemoveBookmarkResponse); i { + switch v := v.(*UpdateBookmarkResponse); i { case 0: return &v.state case 1: @@ -32437,7 +32586,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[214].Exporter = func(v any, i int) any { - switch v := v.(*SearchUsersRequest); i { + switch v := v.(*RemoveBookmarkRequest); i { case 0: return &v.state case 1: @@ -32449,7 +32598,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[215].Exporter = func(v any, i int) any { - switch v := v.(*SearchUsersResponse); i { + switch v := v.(*RemoveBookmarkResponse); i { case 0: return &v.state case 1: @@ -32461,7 +32610,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[216].Exporter = func(v any, i int) any { - switch v := v.(*RevokeServiceAuthTokenRequest); i { + switch v := v.(*SearchUsersRequest); i { case 0: return &v.state case 1: @@ -32473,7 +32622,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[217].Exporter = func(v any, i int) any { - switch v := v.(*RevokeServiceAuthTokenResponse); i { + switch v := v.(*SearchUsersResponse); i { case 0: return &v.state case 1: @@ -32485,7 +32634,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[218].Exporter = func(v any, i int) any { - switch v := v.(*IssueServiceAuthTokenRequest); i { + switch v := v.(*RevokeServiceAuthTokenRequest); i { case 0: return &v.state case 1: @@ -32497,7 +32646,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[219].Exporter = func(v any, i int) any { - switch v := v.(*IssueServiceAuthTokenResponse); i { + switch v := v.(*RevokeServiceAuthTokenResponse); i { case 0: return &v.state case 1: @@ -32509,7 +32658,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[220].Exporter = func(v any, i int) any { - switch v := v.(*ListServiceAuthTokensRequest); i { + switch v := v.(*IssueServiceAuthTokenRequest); i { case 0: return &v.state case 1: @@ -32521,7 +32670,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[221].Exporter = func(v any, i int) any { - switch v := v.(*ListServiceAuthTokensResponse); i { + switch v := v.(*IssueServiceAuthTokenResponse); i { case 0: return &v.state case 1: @@ -32533,7 +32682,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[222].Exporter = func(v any, i int) any { - switch v := v.(*IssueMagicAuthTokenRequest); i { + switch v := v.(*ListServiceAuthTokensRequest); i { case 0: return &v.state case 1: @@ -32545,7 +32694,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[223].Exporter = func(v any, i int) any { - switch v := v.(*ResourceName); i { + switch v := v.(*ListServiceAuthTokensResponse); i { case 0: return &v.state case 1: @@ -32557,7 +32706,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[224].Exporter = func(v any, i int) any { - switch v := v.(*IssueMagicAuthTokenResponse); i { + switch v := v.(*IssueMagicAuthTokenRequest); i { case 0: return &v.state case 1: @@ -32569,7 +32718,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[225].Exporter = func(v any, i int) any { - switch v := v.(*ListMagicAuthTokensRequest); i { + switch v := v.(*ResourceName); i { case 0: return &v.state case 1: @@ -32581,7 +32730,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[226].Exporter = func(v any, i int) any { - switch v := v.(*ListMagicAuthTokensResponse); i { + switch v := v.(*IssueMagicAuthTokenResponse); i { case 0: return &v.state case 1: @@ -32593,7 +32742,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[227].Exporter = func(v any, i int) any { - switch v := v.(*GetCurrentMagicAuthTokenRequest); i { + switch v := v.(*ListMagicAuthTokensRequest); i { case 0: return &v.state case 1: @@ -32605,7 +32754,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[228].Exporter = func(v any, i int) any { - switch v := v.(*GetCurrentMagicAuthTokenResponse); i { + switch v := v.(*ListMagicAuthTokensResponse); i { case 0: return &v.state case 1: @@ -32617,7 +32766,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[229].Exporter = func(v any, i int) any { - switch v := v.(*RevokeMagicAuthTokenRequest); i { + switch v := v.(*GetCurrentMagicAuthTokenRequest); i { case 0: return &v.state case 1: @@ -32629,7 +32778,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[230].Exporter = func(v any, i int) any { - switch v := v.(*RevokeMagicAuthTokenResponse); i { + switch v := v.(*GetCurrentMagicAuthTokenResponse); i { case 0: return &v.state case 1: @@ -32641,7 +32790,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[231].Exporter = func(v any, i int) any { - switch v := v.(*GetGithubRepoStatusRequest); i { + switch v := v.(*RevokeMagicAuthTokenRequest); i { case 0: return &v.state case 1: @@ -32653,7 +32802,7 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[232].Exporter = func(v any, i int) any { - switch v := v.(*GetGithubRepoStatusResponse); i { + switch v := v.(*RevokeMagicAuthTokenResponse); i { case 0: return &v.state case 1: @@ -32665,6 +32814,30 @@ func file_rill_admin_v1_api_proto_init() { } } file_rill_admin_v1_api_proto_msgTypes[233].Exporter = func(v any, i int) any { + switch v := v.(*GetGithubRepoStatusRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rill_admin_v1_api_proto_msgTypes[234].Exporter = func(v any, i int) any { + switch v := v.(*GetGithubRepoStatusResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rill_admin_v1_api_proto_msgTypes[235].Exporter = func(v any, i int) any { switch v := v.(*GetGithubUserStatusRequest); i { case 0: return &v.state @@ -32676,7 +32849,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[234].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[236].Exporter = func(v any, i int) any { switch v := v.(*GetGithubUserStatusResponse); i { case 0: return &v.state @@ -32688,7 +32861,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[235].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[237].Exporter = func(v any, i int) any { switch v := v.(*ListGithubUserReposRequest); i { case 0: return &v.state @@ -32700,7 +32873,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[236].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[238].Exporter = func(v any, i int) any { switch v := v.(*ListGithubUserReposResponse); i { case 0: return &v.state @@ -32712,7 +32885,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[237].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[239].Exporter = func(v any, i int) any { switch v := v.(*ConnectProjectToGithubRequest); i { case 0: return &v.state @@ -32724,7 +32897,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[238].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[240].Exporter = func(v any, i int) any { switch v := v.(*ConnectProjectToGithubResponse); i { case 0: return &v.state @@ -32736,7 +32909,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[239].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[241].Exporter = func(v any, i int) any { switch v := v.(*CreateManagedGitRepoRequest); i { case 0: return &v.state @@ -32748,7 +32921,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[240].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[242].Exporter = func(v any, i int) any { switch v := v.(*CreateManagedGitRepoResponse); i { case 0: return &v.state @@ -32760,7 +32933,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[241].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[243].Exporter = func(v any, i int) any { switch v := v.(*GetCloneCredentialsRequest); i { case 0: return &v.state @@ -32772,7 +32945,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[242].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[244].Exporter = func(v any, i int) any { switch v := v.(*GetCloneCredentialsResponse); i { case 0: return &v.state @@ -32784,7 +32957,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[243].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[245].Exporter = func(v any, i int) any { switch v := v.(*CreateWhitelistedDomainRequest); i { case 0: return &v.state @@ -32796,7 +32969,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[244].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[246].Exporter = func(v any, i int) any { switch v := v.(*CreateWhitelistedDomainResponse); i { case 0: return &v.state @@ -32808,7 +32981,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[245].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[247].Exporter = func(v any, i int) any { switch v := v.(*RemoveWhitelistedDomainRequest); i { case 0: return &v.state @@ -32820,7 +32993,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[246].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[248].Exporter = func(v any, i int) any { switch v := v.(*RemoveWhitelistedDomainResponse); i { case 0: return &v.state @@ -32832,7 +33005,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[247].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[249].Exporter = func(v any, i int) any { switch v := v.(*ListWhitelistedDomainsRequest); i { case 0: return &v.state @@ -32844,7 +33017,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[248].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[250].Exporter = func(v any, i int) any { switch v := v.(*ListWhitelistedDomainsResponse); i { case 0: return &v.state @@ -32856,7 +33029,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[249].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[251].Exporter = func(v any, i int) any { switch v := v.(*CreateProjectWhitelistedDomainRequest); i { case 0: return &v.state @@ -32868,7 +33041,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[250].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[252].Exporter = func(v any, i int) any { switch v := v.(*CreateProjectWhitelistedDomainResponse); i { case 0: return &v.state @@ -32880,7 +33053,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[251].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[253].Exporter = func(v any, i int) any { switch v := v.(*RemoveProjectWhitelistedDomainRequest); i { case 0: return &v.state @@ -32892,7 +33065,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[252].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[254].Exporter = func(v any, i int) any { switch v := v.(*RemoveProjectWhitelistedDomainResponse); i { case 0: return &v.state @@ -32904,7 +33077,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[253].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[255].Exporter = func(v any, i int) any { switch v := v.(*ListProjectWhitelistedDomainsRequest); i { case 0: return &v.state @@ -32916,7 +33089,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[254].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[256].Exporter = func(v any, i int) any { switch v := v.(*ListProjectWhitelistedDomainsResponse); i { case 0: return &v.state @@ -32928,7 +33101,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[255].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[257].Exporter = func(v any, i int) any { switch v := v.(*GetRepoMetaRequest); i { case 0: return &v.state @@ -32940,7 +33113,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[256].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[258].Exporter = func(v any, i int) any { switch v := v.(*GetRepoMetaResponse); i { case 0: return &v.state @@ -32952,7 +33125,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[257].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[259].Exporter = func(v any, i int) any { switch v := v.(*PullVirtualRepoRequest); i { case 0: return &v.state @@ -32964,7 +33137,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[258].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[260].Exporter = func(v any, i int) any { switch v := v.(*PullVirtualRepoResponse); i { case 0: return &v.state @@ -32976,7 +33149,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[259].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[261].Exporter = func(v any, i int) any { switch v := v.(*GetVirtualFileRequest); i { case 0: return &v.state @@ -32988,7 +33161,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[260].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[262].Exporter = func(v any, i int) any { switch v := v.(*GetVirtualFileResponse); i { case 0: return &v.state @@ -33000,7 +33173,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[261].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[263].Exporter = func(v any, i int) any { switch v := v.(*DeleteVirtualFileRequest); i { case 0: return &v.state @@ -33012,7 +33185,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[262].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[264].Exporter = func(v any, i int) any { switch v := v.(*DeleteVirtualFileResponse); i { case 0: return &v.state @@ -33024,7 +33197,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[263].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[265].Exporter = func(v any, i int) any { switch v := v.(*GetReportMetaRequest); i { case 0: return &v.state @@ -33036,7 +33209,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[264].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[266].Exporter = func(v any, i int) any { switch v := v.(*GetReportMetaResponse); i { case 0: return &v.state @@ -33048,7 +33221,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[265].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[267].Exporter = func(v any, i int) any { switch v := v.(*GetAlertMetaRequest); i { case 0: return &v.state @@ -33060,7 +33233,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[266].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[268].Exporter = func(v any, i int) any { switch v := v.(*GetAlertMetaResponse); i { case 0: return &v.state @@ -33072,7 +33245,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[267].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[269].Exporter = func(v any, i int) any { switch v := v.(*CreateReportRequest); i { case 0: return &v.state @@ -33084,7 +33257,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[268].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[270].Exporter = func(v any, i int) any { switch v := v.(*CreateReportResponse); i { case 0: return &v.state @@ -33096,7 +33269,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[269].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[271].Exporter = func(v any, i int) any { switch v := v.(*EditReportRequest); i { case 0: return &v.state @@ -33108,7 +33281,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[270].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[272].Exporter = func(v any, i int) any { switch v := v.(*EditReportResponse); i { case 0: return &v.state @@ -33120,7 +33293,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[271].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[273].Exporter = func(v any, i int) any { switch v := v.(*UnsubscribeReportRequest); i { case 0: return &v.state @@ -33132,7 +33305,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[272].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[274].Exporter = func(v any, i int) any { switch v := v.(*UnsubscribeReportResponse); i { case 0: return &v.state @@ -33144,7 +33317,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[273].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[275].Exporter = func(v any, i int) any { switch v := v.(*DeleteReportRequest); i { case 0: return &v.state @@ -33156,7 +33329,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[274].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[276].Exporter = func(v any, i int) any { switch v := v.(*DeleteReportResponse); i { case 0: return &v.state @@ -33168,7 +33341,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[275].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[277].Exporter = func(v any, i int) any { switch v := v.(*TriggerReportRequest); i { case 0: return &v.state @@ -33180,7 +33353,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[276].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[278].Exporter = func(v any, i int) any { switch v := v.(*TriggerReportResponse); i { case 0: return &v.state @@ -33192,7 +33365,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[277].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[279].Exporter = func(v any, i int) any { switch v := v.(*GenerateReportYAMLRequest); i { case 0: return &v.state @@ -33204,7 +33377,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[278].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[280].Exporter = func(v any, i int) any { switch v := v.(*GenerateReportYAMLResponse); i { case 0: return &v.state @@ -33216,7 +33389,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[279].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[281].Exporter = func(v any, i int) any { switch v := v.(*CreateAlertRequest); i { case 0: return &v.state @@ -33228,7 +33401,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[280].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[282].Exporter = func(v any, i int) any { switch v := v.(*CreateAlertResponse); i { case 0: return &v.state @@ -33240,7 +33413,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[281].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[283].Exporter = func(v any, i int) any { switch v := v.(*EditAlertRequest); i { case 0: return &v.state @@ -33252,7 +33425,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[282].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[284].Exporter = func(v any, i int) any { switch v := v.(*EditAlertResponse); i { case 0: return &v.state @@ -33264,7 +33437,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[283].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[285].Exporter = func(v any, i int) any { switch v := v.(*UnsubscribeAlertRequest); i { case 0: return &v.state @@ -33276,7 +33449,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[284].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[286].Exporter = func(v any, i int) any { switch v := v.(*UnsubscribeAlertResponse); i { case 0: return &v.state @@ -33288,7 +33461,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[285].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[287].Exporter = func(v any, i int) any { switch v := v.(*DeleteAlertRequest); i { case 0: return &v.state @@ -33300,7 +33473,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[286].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[288].Exporter = func(v any, i int) any { switch v := v.(*DeleteAlertResponse); i { case 0: return &v.state @@ -33312,7 +33485,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[287].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[289].Exporter = func(v any, i int) any { switch v := v.(*GenerateAlertYAMLRequest); i { case 0: return &v.state @@ -33324,7 +33497,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[288].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[290].Exporter = func(v any, i int) any { switch v := v.(*GenerateAlertYAMLResponse); i { case 0: return &v.state @@ -33336,7 +33509,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[289].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[291].Exporter = func(v any, i int) any { switch v := v.(*GetAlertYAMLRequest); i { case 0: return &v.state @@ -33348,7 +33521,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[290].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[292].Exporter = func(v any, i int) any { switch v := v.(*GetAlertYAMLResponse); i { case 0: return &v.state @@ -33360,7 +33533,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[291].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[293].Exporter = func(v any, i int) any { switch v := v.(*GetBillingSubscriptionRequest); i { case 0: return &v.state @@ -33372,7 +33545,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[292].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[294].Exporter = func(v any, i int) any { switch v := v.(*GetBillingSubscriptionResponse); i { case 0: return &v.state @@ -33384,7 +33557,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[293].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[295].Exporter = func(v any, i int) any { switch v := v.(*BillingCreditInfo); i { case 0: return &v.state @@ -33396,7 +33569,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[294].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[296].Exporter = func(v any, i int) any { switch v := v.(*UpdateBillingSubscriptionRequest); i { case 0: return &v.state @@ -33408,7 +33581,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[295].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[297].Exporter = func(v any, i int) any { switch v := v.(*UpdateBillingSubscriptionResponse); i { case 0: return &v.state @@ -33420,7 +33593,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[296].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[298].Exporter = func(v any, i int) any { switch v := v.(*CancelBillingSubscriptionRequest); i { case 0: return &v.state @@ -33432,7 +33605,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[297].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[299].Exporter = func(v any, i int) any { switch v := v.(*CancelBillingSubscriptionResponse); i { case 0: return &v.state @@ -33444,7 +33617,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[298].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[300].Exporter = func(v any, i int) any { switch v := v.(*RenewBillingSubscriptionRequest); i { case 0: return &v.state @@ -33456,7 +33629,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[299].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[301].Exporter = func(v any, i int) any { switch v := v.(*RenewBillingSubscriptionResponse); i { case 0: return &v.state @@ -33468,7 +33641,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[300].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[302].Exporter = func(v any, i int) any { switch v := v.(*GetPaymentsPortalURLRequest); i { case 0: return &v.state @@ -33480,7 +33653,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[301].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[303].Exporter = func(v any, i int) any { switch v := v.(*GetPaymentsPortalURLResponse); i { case 0: return &v.state @@ -33492,7 +33665,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[302].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[304].Exporter = func(v any, i int) any { switch v := v.(*ListPublicBillingPlansRequest); i { case 0: return &v.state @@ -33504,7 +33677,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[303].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[305].Exporter = func(v any, i int) any { switch v := v.(*ListPublicBillingPlansResponse); i { case 0: return &v.state @@ -33516,7 +33689,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[304].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[306].Exporter = func(v any, i int) any { switch v := v.(*GetBillingProjectCredentialsRequest); i { case 0: return &v.state @@ -33528,7 +33701,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[305].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[307].Exporter = func(v any, i int) any { switch v := v.(*GetBillingProjectCredentialsResponse); i { case 0: return &v.state @@ -33540,7 +33713,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[306].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[308].Exporter = func(v any, i int) any { switch v := v.(*TelemetryRequest); i { case 0: return &v.state @@ -33552,7 +33725,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[307].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[309].Exporter = func(v any, i int) any { switch v := v.(*TelemetryResponse); i { case 0: return &v.state @@ -33564,7 +33737,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[308].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[310].Exporter = func(v any, i int) any { switch v := v.(*RequestProjectAccessRequest); i { case 0: return &v.state @@ -33576,7 +33749,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[309].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[311].Exporter = func(v any, i int) any { switch v := v.(*RequestProjectAccessResponse); i { case 0: return &v.state @@ -33588,7 +33761,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[310].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[312].Exporter = func(v any, i int) any { switch v := v.(*GetProjectAccessRequestRequest); i { case 0: return &v.state @@ -33600,7 +33773,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[311].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[313].Exporter = func(v any, i int) any { switch v := v.(*GetProjectAccessRequestResponse); i { case 0: return &v.state @@ -33612,7 +33785,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[312].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[314].Exporter = func(v any, i int) any { switch v := v.(*ApproveProjectAccessRequest); i { case 0: return &v.state @@ -33624,7 +33797,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[313].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[315].Exporter = func(v any, i int) any { switch v := v.(*ApproveProjectAccessResponse); i { case 0: return &v.state @@ -33636,7 +33809,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[314].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[316].Exporter = func(v any, i int) any { switch v := v.(*DenyProjectAccessRequest); i { case 0: return &v.state @@ -33648,7 +33821,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[315].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[317].Exporter = func(v any, i int) any { switch v := v.(*DenyProjectAccessResponse); i { case 0: return &v.state @@ -33660,7 +33833,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[316].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[318].Exporter = func(v any, i int) any { switch v := v.(*ListOrganizationBillingIssuesRequest); i { case 0: return &v.state @@ -33672,7 +33845,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[317].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[319].Exporter = func(v any, i int) any { switch v := v.(*ListOrganizationBillingIssuesResponse); i { case 0: return &v.state @@ -33684,7 +33857,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[318].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[320].Exporter = func(v any, i int) any { switch v := v.(*User); i { case 0: return &v.state @@ -33696,7 +33869,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[319].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[321].Exporter = func(v any, i int) any { switch v := v.(*Service); i { case 0: return &v.state @@ -33708,7 +33881,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[320].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[322].Exporter = func(v any, i int) any { switch v := v.(*OrganizationMemberService); i { case 0: return &v.state @@ -33720,7 +33893,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[321].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[323].Exporter = func(v any, i int) any { switch v := v.(*ProjectMemberService); i { case 0: return &v.state @@ -33732,7 +33905,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[322].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[324].Exporter = func(v any, i int) any { switch v := v.(*Organization); i { case 0: return &v.state @@ -33744,7 +33917,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[323].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[325].Exporter = func(v any, i int) any { switch v := v.(*Subscription); i { case 0: return &v.state @@ -33756,7 +33929,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[324].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[326].Exporter = func(v any, i int) any { switch v := v.(*UserQuotas); i { case 0: return &v.state @@ -33768,7 +33941,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[325].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[327].Exporter = func(v any, i int) any { switch v := v.(*OrganizationQuotas); i { case 0: return &v.state @@ -33780,7 +33953,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[326].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[328].Exporter = func(v any, i int) any { switch v := v.(*Project); i { case 0: return &v.state @@ -33792,7 +33965,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[327].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[329].Exporter = func(v any, i int) any { switch v := v.(*Deployment); i { case 0: return &v.state @@ -33804,7 +33977,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[328].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[330].Exporter = func(v any, i int) any { switch v := v.(*ProvisionerResource); i { case 0: return &v.state @@ -33816,7 +33989,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[329].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[331].Exporter = func(v any, i int) any { switch v := v.(*OrganizationPermissions); i { case 0: return &v.state @@ -33828,7 +34001,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[330].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[332].Exporter = func(v any, i int) any { switch v := v.(*ProjectPermissions); i { case 0: return &v.state @@ -33840,7 +34013,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[331].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[333].Exporter = func(v any, i int) any { switch v := v.(*OrganizationRole); i { case 0: return &v.state @@ -33852,7 +34025,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[332].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[334].Exporter = func(v any, i int) any { switch v := v.(*ProjectRole); i { case 0: return &v.state @@ -33864,7 +34037,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[333].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[335].Exporter = func(v any, i int) any { switch v := v.(*OrganizationMemberUser); i { case 0: return &v.state @@ -33876,7 +34049,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[334].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[336].Exporter = func(v any, i int) any { switch v := v.(*ProjectMemberUser); i { case 0: return &v.state @@ -33888,7 +34061,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[335].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[337].Exporter = func(v any, i int) any { switch v := v.(*UsergroupMemberUser); i { case 0: return &v.state @@ -33900,7 +34073,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[336].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[338].Exporter = func(v any, i int) any { switch v := v.(*OrganizationInvite); i { case 0: return &v.state @@ -33912,7 +34085,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[337].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[339].Exporter = func(v any, i int) any { switch v := v.(*ProjectInvite); i { case 0: return &v.state @@ -33924,7 +34097,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[338].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[340].Exporter = func(v any, i int) any { switch v := v.(*WhitelistedDomain); i { case 0: return &v.state @@ -33936,7 +34109,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[339].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[341].Exporter = func(v any, i int) any { switch v := v.(*Bookmark); i { case 0: return &v.state @@ -33948,7 +34121,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[340].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[342].Exporter = func(v any, i int) any { switch v := v.(*ServiceToken); i { case 0: return &v.state @@ -33960,7 +34133,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[341].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[343].Exporter = func(v any, i int) any { switch v := v.(*UserAuthToken); i { case 0: return &v.state @@ -33972,7 +34145,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[342].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[344].Exporter = func(v any, i int) any { switch v := v.(*MagicAuthToken); i { case 0: return &v.state @@ -33984,7 +34157,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[343].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[345].Exporter = func(v any, i int) any { switch v := v.(*VirtualFile); i { case 0: return &v.state @@ -33996,7 +34169,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[344].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[346].Exporter = func(v any, i int) any { switch v := v.(*ReportOptions); i { case 0: return &v.state @@ -34008,7 +34181,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[345].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[347].Exporter = func(v any, i int) any { switch v := v.(*AlertOptions); i { case 0: return &v.state @@ -34020,7 +34193,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[346].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[348].Exporter = func(v any, i int) any { switch v := v.(*BillingPlan); i { case 0: return &v.state @@ -34032,7 +34205,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[347].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[349].Exporter = func(v any, i int) any { switch v := v.(*Quotas); i { case 0: return &v.state @@ -34044,7 +34217,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[348].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[350].Exporter = func(v any, i int) any { switch v := v.(*Usergroup); i { case 0: return &v.state @@ -34056,7 +34229,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[349].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[351].Exporter = func(v any, i int) any { switch v := v.(*MemberUsergroup); i { case 0: return &v.state @@ -34068,7 +34241,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[350].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[352].Exporter = func(v any, i int) any { switch v := v.(*BillingIssue); i { case 0: return &v.state @@ -34080,7 +34253,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[351].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[353].Exporter = func(v any, i int) any { switch v := v.(*BillingIssueMetadata); i { case 0: return &v.state @@ -34092,7 +34265,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[352].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[354].Exporter = func(v any, i int) any { switch v := v.(*BillingIssueMetadataOnTrial); i { case 0: return &v.state @@ -34104,7 +34277,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[353].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[355].Exporter = func(v any, i int) any { switch v := v.(*BillingIssueMetadataTrialEnded); i { case 0: return &v.state @@ -34116,7 +34289,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[354].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[356].Exporter = func(v any, i int) any { switch v := v.(*BillingIssueMetadataNoPaymentMethod); i { case 0: return &v.state @@ -34128,7 +34301,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[355].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[357].Exporter = func(v any, i int) any { switch v := v.(*BillingIssueMetadataNoBillableAddress); i { case 0: return &v.state @@ -34140,7 +34313,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[356].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[358].Exporter = func(v any, i int) any { switch v := v.(*BillingIssueMetadataPaymentFailed); i { case 0: return &v.state @@ -34152,7 +34325,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[357].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[359].Exporter = func(v any, i int) any { switch v := v.(*BillingIssueMetadataPaymentFailedMeta); i { case 0: return &v.state @@ -34164,7 +34337,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[358].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[360].Exporter = func(v any, i int) any { switch v := v.(*BillingIssueMetadataSubscriptionCancelled); i { case 0: return &v.state @@ -34176,7 +34349,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[359].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[361].Exporter = func(v any, i int) any { switch v := v.(*BillingIssueMetadataNeverSubscribed); i { case 0: return &v.state @@ -34188,7 +34361,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[360].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[362].Exporter = func(v any, i int) any { switch v := v.(*BillingIssueMetadataCreditLow); i { case 0: return &v.state @@ -34200,7 +34373,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[361].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[363].Exporter = func(v any, i int) any { switch v := v.(*BillingIssueMetadataCreditCritical); i { case 0: return &v.state @@ -34212,7 +34385,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[362].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[364].Exporter = func(v any, i int) any { switch v := v.(*BillingIssueMetadataCreditExhausted); i { case 0: return &v.state @@ -34224,7 +34397,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[374].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[376].Exporter = func(v any, i int) any { switch v := v.(*ListGithubUserReposResponse_Repo); i { case 0: return &v.state @@ -34236,7 +34409,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[375].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[377].Exporter = func(v any, i int) any { switch v := v.(*GetReportMetaResponse_DeliveryMeta); i { case 0: return &v.state @@ -34248,7 +34421,7 @@ func file_rill_admin_v1_api_proto_init() { return nil } } - file_rill_admin_v1_api_proto_msgTypes[378].Exporter = func(v any, i int) any { + file_rill_admin_v1_api_proto_msgTypes[380].Exporter = func(v any, i int) any { switch v := v.(*GetAlertMetaResponse_URLs); i { case 0: return &v.state @@ -34296,21 +34469,21 @@ func file_rill_admin_v1_api_proto_init() { } file_rill_admin_v1_api_proto_msgTypes[121].OneofWrappers = []any{} file_rill_admin_v1_api_proto_msgTypes[123].OneofWrappers = []any{} - file_rill_admin_v1_api_proto_msgTypes[129].OneofWrappers = []any{} - file_rill_admin_v1_api_proto_msgTypes[143].OneofWrappers = []any{} - file_rill_admin_v1_api_proto_msgTypes[147].OneofWrappers = []any{} - file_rill_admin_v1_api_proto_msgTypes[155].OneofWrappers = []any{} - file_rill_admin_v1_api_proto_msgTypes[169].OneofWrappers = []any{} + file_rill_admin_v1_api_proto_msgTypes[131].OneofWrappers = []any{} + file_rill_admin_v1_api_proto_msgTypes[145].OneofWrappers = []any{} + file_rill_admin_v1_api_proto_msgTypes[149].OneofWrappers = []any{} + file_rill_admin_v1_api_proto_msgTypes[157].OneofWrappers = []any{} file_rill_admin_v1_api_proto_msgTypes[171].OneofWrappers = []any{} - file_rill_admin_v1_api_proto_msgTypes[181].OneofWrappers = []any{} - file_rill_admin_v1_api_proto_msgTypes[190].OneofWrappers = []any{} - file_rill_admin_v1_api_proto_msgTypes[265].OneofWrappers = []any{ + file_rill_admin_v1_api_proto_msgTypes[173].OneofWrappers = []any{} + file_rill_admin_v1_api_proto_msgTypes[183].OneofWrappers = []any{} + file_rill_admin_v1_api_proto_msgTypes[192].OneofWrappers = []any{} + file_rill_admin_v1_api_proto_msgTypes[267].OneofWrappers = []any{ (*GetAlertMetaRequest_QueryForUserId)(nil), (*GetAlertMetaRequest_QueryForUserEmail)(nil), } - file_rill_admin_v1_api_proto_msgTypes[322].OneofWrappers = []any{} - file_rill_admin_v1_api_proto_msgTypes[326].OneofWrappers = []any{} - file_rill_admin_v1_api_proto_msgTypes[351].OneofWrappers = []any{ + file_rill_admin_v1_api_proto_msgTypes[324].OneofWrappers = []any{} + file_rill_admin_v1_api_proto_msgTypes[328].OneofWrappers = []any{} + file_rill_admin_v1_api_proto_msgTypes[353].OneofWrappers = []any{ (*BillingIssueMetadata_OnTrial)(nil), (*BillingIssueMetadata_TrialEnded)(nil), (*BillingIssueMetadata_NoPaymentMethod)(nil), @@ -34328,7 +34501,7 @@ func file_rill_admin_v1_api_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_rill_admin_v1_api_proto_rawDesc, NumEnums: 5, - NumMessages: 382, + NumMessages: 384, NumExtensions: 0, NumServices: 1, }, diff --git a/proto/gen/rill/admin/v1/api.pb.gw.go b/proto/gen/rill/admin/v1/api.pb.gw.go index fcbb401c3b8..231b534438e 100644 --- a/proto/gen/rill/admin/v1/api.pb.gw.go +++ b/proto/gen/rill/admin/v1/api.pb.gw.go @@ -6011,6 +6011,32 @@ func local_request_AdminService_SudoExtendTrial_0(ctx context.Context, marshaler } +func request_AdminService_SudoAddCredits_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SudoAddCreditsRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.SudoAddCredits(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AdminService_SudoAddCredits_0(ctx context.Context, marshaler runtime.Marshaler, server AdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SudoAddCreditsRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SudoAddCredits(ctx, &protoReq) + return msg, metadata, err + +} + func request_AdminService_SudoUpdateOrganizationCustomDomain_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq SudoUpdateOrganizationCustomDomainRequest var metadata runtime.ServerMetadata @@ -12407,6 +12433,31 @@ func RegisterAdminServiceHandlerServer(ctx context.Context, mux *runtime.ServeMu }) + mux.Handle("POST", pattern_AdminService_SudoAddCredits_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/rill.admin.v1.AdminService/SudoAddCredits", runtime.WithHTTPPathPattern("/v1/superuser/organization/credits/add")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AdminService_SudoAddCredits_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_SudoAddCredits_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("PATCH", pattern_AdminService_SudoUpdateOrganizationCustomDomain_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -16063,6 +16114,28 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu }) + mux.Handle("POST", pattern_AdminService_SudoAddCredits_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/rill.admin.v1.AdminService/SudoAddCredits", runtime.WithHTTPPathPattern("/v1/superuser/organization/credits/add")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_SudoAddCredits_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_SudoAddCredits_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("PATCH", pattern_AdminService_SudoUpdateOrganizationCustomDomain_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -17599,6 +17672,8 @@ var ( pattern_AdminService_SudoExtendTrial_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"v1", "superuser", "organization", "trial", "extend"}, "")) + pattern_AdminService_SudoAddCredits_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"v1", "superuser", "organization", "credits", "add"}, "")) + pattern_AdminService_SudoUpdateOrganizationCustomDomain_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"v1", "superuser", "organization", "custom-domain"}, "")) pattern_AdminService_SudoUpdateAnnotations_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"v1", "superuser", "projects", "annotations"}, "")) @@ -17913,6 +17988,8 @@ var ( forward_AdminService_SudoExtendTrial_0 = runtime.ForwardResponseMessage + forward_AdminService_SudoAddCredits_0 = runtime.ForwardResponseMessage + forward_AdminService_SudoUpdateOrganizationCustomDomain_0 = runtime.ForwardResponseMessage forward_AdminService_SudoUpdateAnnotations_0 = runtime.ForwardResponseMessage diff --git a/proto/gen/rill/admin/v1/api.pb.validate.go b/proto/gen/rill/admin/v1/api.pb.validate.go index 57a24d190b3..2a15332cc56 100644 --- a/proto/gen/rill/admin/v1/api.pb.validate.go +++ b/proto/gen/rill/admin/v1/api.pb.validate.go @@ -17119,6 +17119,265 @@ var _ interface { ErrorName() string } = SudoExtendTrialResponseValidationError{} +// Validate checks the field values on SudoAddCreditsRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *SudoAddCreditsRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on SudoAddCreditsRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// SudoAddCreditsRequestMultiError, or nil if none found. +func (m *SudoAddCreditsRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *SudoAddCreditsRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if utf8.RuneCountInString(m.GetOrg()) < 1 { + err := SudoAddCreditsRequestValidationError{ + field: "Org", + reason: "value length must be at least 1 runes", + } + if !all { + return err + } + errors = append(errors, err) + } + + if m.GetAmount() <= 0 { + err := SudoAddCreditsRequestValidationError{ + field: "Amount", + reason: "value must be greater than 0", + } + if !all { + return err + } + errors = append(errors, err) + } + + // no validation rules for ExpiryDays + + // no validation rules for Description + + if len(errors) > 0 { + return SudoAddCreditsRequestMultiError(errors) + } + + return nil +} + +// SudoAddCreditsRequestMultiError is an error wrapping multiple validation +// errors returned by SudoAddCreditsRequest.ValidateAll() if the designated +// constraints aren't met. +type SudoAddCreditsRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m SudoAddCreditsRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m SudoAddCreditsRequestMultiError) AllErrors() []error { return m } + +// SudoAddCreditsRequestValidationError is the validation error returned by +// SudoAddCreditsRequest.Validate if the designated constraints aren't met. +type SudoAddCreditsRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SudoAddCreditsRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SudoAddCreditsRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SudoAddCreditsRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SudoAddCreditsRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SudoAddCreditsRequestValidationError) ErrorName() string { + return "SudoAddCreditsRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e SudoAddCreditsRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sSudoAddCreditsRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SudoAddCreditsRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SudoAddCreditsRequestValidationError{} + +// Validate checks the field values on SudoAddCreditsResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *SudoAddCreditsResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on SudoAddCreditsResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// SudoAddCreditsResponseMultiError, or nil if none found. +func (m *SudoAddCreditsResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *SudoAddCreditsResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if all { + switch v := interface{}(m.GetCreditInfo()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, SudoAddCreditsResponseValidationError{ + field: "CreditInfo", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, SudoAddCreditsResponseValidationError{ + field: "CreditInfo", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetCreditInfo()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return SudoAddCreditsResponseValidationError{ + field: "CreditInfo", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if len(errors) > 0 { + return SudoAddCreditsResponseMultiError(errors) + } + + return nil +} + +// SudoAddCreditsResponseMultiError is an error wrapping multiple validation +// errors returned by SudoAddCreditsResponse.ValidateAll() if the designated +// constraints aren't met. +type SudoAddCreditsResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m SudoAddCreditsResponseMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m SudoAddCreditsResponseMultiError) AllErrors() []error { return m } + +// SudoAddCreditsResponseValidationError is the validation error returned by +// SudoAddCreditsResponse.Validate if the designated constraints aren't met. +type SudoAddCreditsResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SudoAddCreditsResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SudoAddCreditsResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SudoAddCreditsResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SudoAddCreditsResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SudoAddCreditsResponseValidationError) ErrorName() string { + return "SudoAddCreditsResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e SudoAddCreditsResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sSudoAddCreditsResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SudoAddCreditsResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SudoAddCreditsResponseValidationError{} + // Validate checks the field values on // SudoUpdateOrganizationCustomDomainRequest with the rules defined in the // proto definition for this message. If any rules are violated, the first diff --git a/proto/gen/rill/admin/v1/api_grpc.pb.go b/proto/gen/rill/admin/v1/api_grpc.pb.go index 969360a581f..8d9105fd28c 100644 --- a/proto/gen/rill/admin/v1/api_grpc.pb.go +++ b/proto/gen/rill/admin/v1/api_grpc.pb.go @@ -114,6 +114,7 @@ const ( AdminService_SudoUpdateOrganizationQuotas_FullMethodName = "/rill.admin.v1.AdminService/SudoUpdateOrganizationQuotas" AdminService_SudoUpdateOrganizationBillingCustomer_FullMethodName = "/rill.admin.v1.AdminService/SudoUpdateOrganizationBillingCustomer" AdminService_SudoExtendTrial_FullMethodName = "/rill.admin.v1.AdminService/SudoExtendTrial" + AdminService_SudoAddCredits_FullMethodName = "/rill.admin.v1.AdminService/SudoAddCredits" AdminService_SudoUpdateOrganizationCustomDomain_FullMethodName = "/rill.admin.v1.AdminService/SudoUpdateOrganizationCustomDomain" AdminService_SudoUpdateAnnotations_FullMethodName = "/rill.admin.v1.AdminService/SudoUpdateAnnotations" AdminService_SudoIssueRuntimeManagerToken_FullMethodName = "/rill.admin.v1.AdminService/SudoIssueRuntimeManagerToken" @@ -392,6 +393,8 @@ type AdminServiceClient interface { SudoUpdateOrganizationBillingCustomer(ctx context.Context, in *SudoUpdateOrganizationBillingCustomerRequest, opts ...grpc.CallOption) (*SudoUpdateOrganizationBillingCustomerResponse, error) // SudoExtendTrial extends the trial period for an organization SudoExtendTrial(ctx context.Context, in *SudoExtendTrialRequest, opts ...grpc.CallOption) (*SudoExtendTrialResponse, error) + // SudoAddCredits adds billing credits to an organization + SudoAddCredits(ctx context.Context, in *SudoAddCreditsRequest, opts ...grpc.CallOption) (*SudoAddCreditsResponse, error) // SudoUpdateOrganizationCustomDomain updates the custom domain for an organization. // It only updates the custom domain in the database, which is used to ensure correct redirects. // The DNS records and ingress TLS must be configured separately. @@ -1472,6 +1475,16 @@ func (c *adminServiceClient) SudoExtendTrial(ctx context.Context, in *SudoExtend return out, nil } +func (c *adminServiceClient) SudoAddCredits(ctx context.Context, in *SudoAddCreditsRequest, opts ...grpc.CallOption) (*SudoAddCreditsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(SudoAddCreditsResponse) + err := c.cc.Invoke(ctx, AdminService_SudoAddCredits_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *adminServiceClient) SudoUpdateOrganizationCustomDomain(ctx context.Context, in *SudoUpdateOrganizationCustomDomainRequest, opts ...grpc.CallOption) (*SudoUpdateOrganizationCustomDomainResponse, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SudoUpdateOrganizationCustomDomainResponse) @@ -2297,6 +2310,8 @@ type AdminServiceServer interface { SudoUpdateOrganizationBillingCustomer(context.Context, *SudoUpdateOrganizationBillingCustomerRequest) (*SudoUpdateOrganizationBillingCustomerResponse, error) // SudoExtendTrial extends the trial period for an organization SudoExtendTrial(context.Context, *SudoExtendTrialRequest) (*SudoExtendTrialResponse, error) + // SudoAddCredits adds billing credits to an organization + SudoAddCredits(context.Context, *SudoAddCreditsRequest) (*SudoAddCreditsResponse, error) // SudoUpdateOrganizationCustomDomain updates the custom domain for an organization. // It only updates the custom domain in the database, which is used to ensure correct redirects. // The DNS records and ingress TLS must be configured separately. @@ -2712,6 +2727,9 @@ func (UnimplementedAdminServiceServer) SudoUpdateOrganizationBillingCustomer(con func (UnimplementedAdminServiceServer) SudoExtendTrial(context.Context, *SudoExtendTrialRequest) (*SudoExtendTrialResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SudoExtendTrial not implemented") } +func (UnimplementedAdminServiceServer) SudoAddCredits(context.Context, *SudoAddCreditsRequest) (*SudoAddCreditsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SudoAddCredits not implemented") +} func (UnimplementedAdminServiceServer) SudoUpdateOrganizationCustomDomain(context.Context, *SudoUpdateOrganizationCustomDomainRequest) (*SudoUpdateOrganizationCustomDomainResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SudoUpdateOrganizationCustomDomain not implemented") } @@ -4626,6 +4644,24 @@ func _AdminService_SudoExtendTrial_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _AdminService_SudoAddCredits_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SudoAddCreditsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminServiceServer).SudoAddCredits(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AdminService_SudoAddCredits_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminServiceServer).SudoAddCredits(ctx, req.(*SudoAddCreditsRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _AdminService_SudoUpdateOrganizationCustomDomain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SudoUpdateOrganizationCustomDomainRequest) if err := dec(in); err != nil { @@ -6111,6 +6147,10 @@ var AdminService_ServiceDesc = grpc.ServiceDesc{ MethodName: "SudoExtendTrial", Handler: _AdminService_SudoExtendTrial_Handler, }, + { + MethodName: "SudoAddCredits", + Handler: _AdminService_SudoAddCredits_Handler, + }, { MethodName: "SudoUpdateOrganizationCustomDomain", Handler: _AdminService_SudoUpdateOrganizationCustomDomain_Handler, diff --git a/proto/gen/rill/admin/v1/openapi.yaml b/proto/gen/rill/admin/v1/openapi.yaml index ad159bdc07e..4798d9cc604 100644 --- a/proto/gen/rill/admin/v1/openapi.yaml +++ b/proto/gen/rill/admin/v1/openapi.yaml @@ -2013,6 +2013,25 @@ components: format: date-time type: string type: object + v1SudoAddCreditsRequest: + properties: + amount: + format: double + type: number + description: + type: string + expiryDays: + format: int32 + title: Number of days until credits expire; defaults to 365 + type: integer + org: + type: string + type: object + v1SudoAddCreditsResponse: + properties: + creditInfo: + $ref: '#/components/schemas/v1BillingCreditInfo' + type: object v1SudoDeleteOrganizationBillingIssueResponse: type: object v1SudoExtendTrialRequest: @@ -7015,6 +7034,30 @@ paths: $ref: '#/components/schemas/rpcStatus' description: An unexpected error response. summary: SudoUpdateOrganizationBillingCustomer update the billing customer for the organization + /v1/superuser/organization/credits/add: + post: + operationId: AdminService_SudoAddCredits + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/v1SudoAddCreditsRequest' + required: true + x-originalParamName: body + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/v1SudoAddCreditsResponse' + description: A successful response. + default: + content: + application/json: + schema: + $ref: '#/components/schemas/rpcStatus' + description: An unexpected error response. + summary: SudoAddCredits adds billing credits to an organization /v1/superuser/organization/custom-domain: patch: operationId: AdminService_SudoUpdateOrganizationCustomDomain diff --git a/proto/gen/rill/admin/v1/public.openapi.yaml b/proto/gen/rill/admin/v1/public.openapi.yaml index 3f8d5e47bbe..0db62227d77 100644 --- a/proto/gen/rill/admin/v1/public.openapi.yaml +++ b/proto/gen/rill/admin/v1/public.openapi.yaml @@ -2013,6 +2013,25 @@ components: format: date-time type: string type: object + v1SudoAddCreditsRequest: + properties: + amount: + format: double + type: number + description: + type: string + expiryDays: + format: int32 + title: Number of days until credits expire; defaults to 365 + type: integer + org: + type: string + type: object + v1SudoAddCreditsResponse: + properties: + creditInfo: + $ref: '#/components/schemas/v1BillingCreditInfo' + type: object v1SudoDeleteOrganizationBillingIssueResponse: type: object v1SudoExtendTrialRequest: @@ -3784,6 +3803,7 @@ paths: /v1/superuser/deployments/manager-token: {} /v1/superuser/members: {} /v1/superuser/organization/billing/customer_id: {} + /v1/superuser/organization/credits/add: {} /v1/superuser/organization/custom-domain: {} /v1/superuser/organization/trial/extend: {} /v1/superuser/organizations/{org}/billing/issues/{type}: {} diff --git a/proto/rill/admin/v1/api.proto b/proto/rill/admin/v1/api.proto index 8cb2af79933..a85b89438c7 100644 --- a/proto/rill/admin/v1/api.proto +++ b/proto/rill/admin/v1/api.proto @@ -907,6 +907,14 @@ service AdminService { }; } + // SudoAddCredits adds billing credits to an organization + rpc SudoAddCredits(SudoAddCreditsRequest) returns (SudoAddCreditsResponse) { + option (google.api.http) = { + post: "/v1/superuser/organization/credits/add", + body: "*" + }; + } + // SudoUpdateOrganizationCustomDomain updates the custom domain for an organization. // It only updates the custom domain in the database, which is used to ensure correct redirects. // The DNS records and ingress TLS must be configured separately. @@ -2085,6 +2093,18 @@ message SudoExtendTrialResponse { google.protobuf.Timestamp trial_end = 1; } +message SudoAddCreditsRequest { + string org = 1 [(validate.rules).string.min_len = 1]; + double amount = 2 [(validate.rules).double.gt = 0]; + // Number of days until credits expire; defaults to 365 + int32 expiry_days = 3; + string description = 4; +} + +message SudoAddCreditsResponse { + BillingCreditInfo credit_info = 1; +} + message SudoUpdateOrganizationCustomDomainRequest { string name = 1; string custom_domain = 2; diff --git a/web-admin/src/client/gen/default/default.ts b/web-admin/src/client/gen/default/default.ts index 80a11102475..4f998371760 100644 --- a/web-admin/src/client/gen/default/default.ts +++ b/web-admin/src/client/gen/default/default.ts @@ -240,6 +240,8 @@ import type { V1SetSuperuserResponse, V1StartDeploymentResponse, V1StopDeploymentResponse, + V1SudoAddCreditsRequest, + V1SudoAddCreditsResponse, V1SudoDeleteOrganizationBillingIssueResponse, V1SudoExtendTrialRequest, V1SudoExtendTrialResponse, @@ -13419,6 +13421,91 @@ export const createAdminServiceSudoUpdateOrganizationBillingCustomer = < return createMutation(mutationOptions, queryClient); }; +/** + * @summary SudoAddCredits adds billing credits to an organization + */ +export const adminServiceSudoAddCredits = ( + v1SudoAddCreditsRequest: V1SudoAddCreditsRequest, + signal?: AbortSignal, +) => { + return httpClient({ + url: `/v1/superuser/organization/credits/add`, + method: "POST", + headers: { "Content-Type": "application/json" }, + data: v1SudoAddCreditsRequest, + signal, + }); +}; + +export const getAdminServiceSudoAddCreditsMutationOptions = < + TError = RpcStatus, + TContext = unknown, +>(options?: { + mutation?: CreateMutationOptions< + Awaited>, + TError, + { data: V1SudoAddCreditsRequest }, + TContext + >; +}): CreateMutationOptions< + Awaited>, + TError, + { data: V1SudoAddCreditsRequest }, + TContext +> => { + const mutationKey = ["adminServiceSudoAddCredits"]; + const { mutation: mutationOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey } }; + + const mutationFn: MutationFunction< + Awaited>, + { data: V1SudoAddCreditsRequest } + > = (props) => { + const { data } = props ?? {}; + + return adminServiceSudoAddCredits(data); + }; + + return { mutationFn, ...mutationOptions }; +}; + +export type AdminServiceSudoAddCreditsMutationResult = NonNullable< + Awaited> +>; +export type AdminServiceSudoAddCreditsMutationBody = V1SudoAddCreditsRequest; +export type AdminServiceSudoAddCreditsMutationError = RpcStatus; + +/** + * @summary SudoAddCredits adds billing credits to an organization + */ +export const createAdminServiceSudoAddCredits = < + TError = RpcStatus, + TContext = unknown, +>( + options?: { + mutation?: CreateMutationOptions< + Awaited>, + TError, + { data: V1SudoAddCreditsRequest }, + TContext + >; + }, + queryClient?: QueryClient, +): CreateMutationResult< + Awaited>, + TError, + { data: V1SudoAddCreditsRequest }, + TContext +> => { + const mutationOptions = getAdminServiceSudoAddCreditsMutationOptions(options); + + return createMutation(mutationOptions, queryClient); +}; /** * @summary SudoUpdateOrganizationCustomDomain updates the custom domain for an organization. It only updates the custom domain in the database, which is used to ensure correct redirects. diff --git a/web-admin/src/client/gen/index.schemas.ts b/web-admin/src/client/gen/index.schemas.ts index 1e096f75abc..b7788c626b0 100644 --- a/web-admin/src/client/gen/index.schemas.ts +++ b/web-admin/src/client/gen/index.schemas.ts @@ -1415,6 +1415,17 @@ export interface V1Subscription { trialEndDate?: string; } +export interface V1SudoAddCreditsRequest { + org?: string; + amount?: number; + expiryDays?: number; + description?: string; +} + +export interface V1SudoAddCreditsResponse { + creditInfo?: V1BillingCreditInfo; +} + export interface V1SudoDeleteOrganizationBillingIssueResponse { [key: string]: unknown; } diff --git a/web-common/src/proto/gen/rill/admin/v1/api_pb.ts b/web-common/src/proto/gen/rill/admin/v1/api_pb.ts index 2fb2db43bf2..86f7194e1f3 100644 --- a/web-common/src/proto/gen/rill/admin/v1/api_pb.ts +++ b/web-common/src/proto/gen/rill/admin/v1/api_pb.ts @@ -6338,6 +6338,100 @@ export class SudoExtendTrialResponse extends Message { } } +/** + * @generated from message rill.admin.v1.SudoAddCreditsRequest + */ +export class SudoAddCreditsRequest extends Message { + /** + * @generated from field: string org = 1; + */ + org = ""; + + /** + * @generated from field: double amount = 2; + */ + amount = 0; + + /** + * Number of days until credits expire; defaults to 365 + * + * @generated from field: int32 expiry_days = 3; + */ + expiryDays = 0; + + /** + * @generated from field: string description = 4; + */ + description = ""; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "rill.admin.v1.SudoAddCreditsRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "org", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 2, name: "amount", kind: "scalar", T: 1 /* ScalarType.DOUBLE */ }, + { no: 3, name: "expiry_days", kind: "scalar", T: 5 /* ScalarType.INT32 */ }, + { no: 4, name: "description", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): SudoAddCreditsRequest { + return new SudoAddCreditsRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): SudoAddCreditsRequest { + return new SudoAddCreditsRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): SudoAddCreditsRequest { + return new SudoAddCreditsRequest().fromJsonString(jsonString, options); + } + + static equals(a: SudoAddCreditsRequest | PlainMessage | undefined, b: SudoAddCreditsRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(SudoAddCreditsRequest, a, b); + } +} + +/** + * @generated from message rill.admin.v1.SudoAddCreditsResponse + */ +export class SudoAddCreditsResponse extends Message { + /** + * @generated from field: rill.admin.v1.BillingCreditInfo credit_info = 1; + */ + creditInfo?: BillingCreditInfo; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "rill.admin.v1.SudoAddCreditsResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "credit_info", kind: "message", T: BillingCreditInfo }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): SudoAddCreditsResponse { + return new SudoAddCreditsResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): SudoAddCreditsResponse { + return new SudoAddCreditsResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): SudoAddCreditsResponse { + return new SudoAddCreditsResponse().fromJsonString(jsonString, options); + } + + static equals(a: SudoAddCreditsResponse | PlainMessage | undefined, b: SudoAddCreditsResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(SudoAddCreditsResponse, a, b); + } +} + /** * @generated from message rill.admin.v1.SudoUpdateOrganizationCustomDomainRequest */ From 7ccf0a0cd36d61d01804ab222be9c7ca6d613ae4 Mon Sep 17 00:00:00 2001 From: royendo <67675319+royendo@users.noreply.github.com> Date: Wed, 18 Mar 2026 08:39:22 -0400 Subject: [PATCH 29/47] return base 4 slots always --- admin/billing/orb.go | 25 ++++++++++++++++--- .../status/overview/DeploymentSection.svelte | 13 ++++++---- .../status/overview/ManageSlotsModal.svelte | 5 ++-- .../projects/status/overview/slots-utils.ts | 2 ++ 4 files changed, 34 insertions(+), 11 deletions(-) diff --git a/admin/billing/orb.go b/admin/billing/orb.go index 55f3b71c0a3..d06181209ed 100644 --- a/admin/billing/orb.go +++ b/admin/billing/orb.go @@ -442,11 +442,28 @@ func (o *Orb) AddCredits(ctx context.Context, customerID string, amount float64, return nil, ErrCustomerIDRequired } - _, err := o.client.Customers.Credits.Ledger.NewEntryByExternalID(ctx, customerID, orb.CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParams{ - Amount: orb.F(amount), - EntryType: orb.F(orb.CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParamsEntryTypeIncrement), - ExpiryDate: orb.F(expiryDate), + // Fetch internal customer to get their Orb ID (needed if external ID update doesn't set currency) + customer, err := o.client.Customers.FetchByExternalID(ctx, customerID) + if err != nil { + return nil, fmt.Errorf("failed to find customer: %w", err) + } + + // Set currency on the customer if not already set + if customer.Currency == "" { + _, err = o.client.Customers.Update(ctx, customer.ID, orb.CustomerUpdateParams{ + Currency: orb.F("USD"), + }) + if err != nil { + o.logger.Warn("failed to set customer currency; proceeding anyway", zap.String("customer_id", customerID), zap.Error(err)) + } + } + + _, err = o.client.Customers.Credits.Ledger.NewEntry(ctx, customer.ID, orb.CustomerCreditLedgerNewEntryParamsAddIncrementCreditLedgerEntryRequestParams{ + Amount: orb.F(amount), + EntryType: orb.F(orb.CustomerCreditLedgerNewEntryParamsAddIncrementCreditLedgerEntryRequestParamsEntryTypeIncrement), + ExpiryDate: orb.F(expiryDate), Description: orb.F(description), + Currency: orb.F("USD"), }) if err != nil { return nil, fmt.Errorf("failed to add credits: %w", err) diff --git a/web-admin/src/features/projects/status/overview/DeploymentSection.svelte b/web-admin/src/features/projects/status/overview/DeploymentSection.svelte index 306d6f20c04..6f0175831f4 100644 --- a/web-admin/src/features/projects/status/overview/DeploymentSection.svelte +++ b/web-admin/src/features/projects/status/overview/DeploymentSection.svelte @@ -27,6 +27,7 @@ import TooltipContent from "@rilldata/web-common/components/tooltip/TooltipContent.svelte"; import ProjectClone from "./ProjectClone.svelte"; import ManageSlotsModal from "./ManageSlotsModal.svelte"; + import { MIN_INFRA_SLOTS } from "./slots-utils"; import ClickHouseCloudKeyModal from "./ClickHouseCloudKeyModal.svelte"; import ClickHouseCloudDetailsModal from "./ClickHouseCloudDetailsModal.svelte"; import OverviewCard from "./OverviewCard.svelte"; @@ -107,11 +108,13 @@ $: clusterSlots = !isRillManaged ? Number(projectData?.rillMinSlots) || (devForceNewPricing ? 8 : 0) : 0; - // For new pricing Live Connect, Rill Slots = prodSlots - clusterSlots (rill_min_slots). - // Cluster slots already include the hidden 4-slot infra minimum. + // For new pricing Live Connect, Rill Slots = prodSlots - max(clusterSlots, MIN_INFRA_SLOTS). + // There is always a MIN_INFRA_SLOTS floor; cluster slots may be larger. + $: effectiveClusterSlots = + !isRillManaged ? Math.max(clusterSlots, MIN_INFRA_SLOTS) : 0; $: rillSlots = useNewPricing && !isRillManaged - ? Math.max(0, currentSlots - clusterSlots) + ? Math.max(0, currentSlots - effectiveClusterSlots) : 0; // Slot usage breakdown (dev edit modes coming soon; each consumes 1 slot) @@ -400,7 +403,7 @@
Cluster Slots - {clusterSlots} + {effectiveClusterSlots} (auto-calculated)
@@ -487,7 +490,7 @@ viewOnly={isTrial} detectedMemoryGb={chcDetectedMemoryGb ?? cloudMaxMemory} {useNewPricing} - {clusterSlots} + clusterSlots={effectiveClusterSlots} currentRillSlots={rillSlots} /> diff --git a/web-admin/src/features/projects/status/overview/ManageSlotsModal.svelte b/web-admin/src/features/projects/status/overview/ManageSlotsModal.svelte index eb0e4f3cdfd..9e391356143 100644 --- a/web-admin/src/features/projects/status/overview/ManageSlotsModal.svelte +++ b/web-admin/src/features/projects/status/overview/ManageSlotsModal.svelte @@ -24,6 +24,7 @@ STORAGE_RATE_PER_GB_PER_MONTH, INCLUDED_STORAGE_GB, detectTierSlots, + MIN_INFRA_SLOTS, } from "./slots-utils"; export let open = false; @@ -127,10 +128,10 @@ async function applySlotChange() { try { // For new pricing Live Connect: Rill Slots are additional slots on top of - // cluster slots (rill_min_slots). prodSlots stored = rillSlots + clusterSlots. + // cluster slots (rill_min_slots). Always maintain MIN_INFRA_SLOTS floor. const newSlots = useNewPricing && !isRillManaged - ? selectedRillSlots + clusterSlots + ? Math.max(selectedRillSlots + clusterSlots, MIN_INFRA_SLOTS) : selectedSlots; await $updateProject.mutateAsync({ org: organization, diff --git a/web-admin/src/features/projects/status/overview/slots-utils.ts b/web-admin/src/features/projects/status/overview/slots-utils.ts index 2d6014abe10..52860ea35a5 100644 --- a/web-admin/src/features/projects/status/overview/slots-utils.ts +++ b/web-admin/src/features/projects/status/overview/slots-utils.ts @@ -8,6 +8,8 @@ export const CLUSTER_SLOT_RATE_PER_HR = 0.06; export const RILL_SLOT_RATE_PER_HR = 0.15; export const STORAGE_RATE_PER_GB_PER_MONTH = 1.0; export const INCLUDED_STORAGE_GB = 1; +// Minimum infra slots always assigned to Live Connect projects; not billed separately +export const MIN_INFRA_SLOTS = 4; export interface SlotTier { slots: number; From 26d48b395f3f905dc6af1ed9ff0f06be6e096f1c Mon Sep 17 00:00:00 2001 From: royendo <67675319+royendo@users.noreply.github.com> Date: Wed, 18 Mar 2026 09:00:39 -0400 Subject: [PATCH 30/47] credits check/ upgrade --- admin/billing.go | 15 +++ admin/database/database.go | 1 + admin/database/postgres/postgres.go | 9 ++ admin/jobs/jobs.go | 1 + admin/jobs/noop.go | 4 + admin/jobs/river/credit_checks.go | 153 ++++++++++++++++++++++++++++ admin/jobs/river/river.go | 26 +++++ admin/server/billing.go | 6 ++ 8 files changed, 215 insertions(+) create mode 100644 admin/jobs/river/credit_checks.go diff --git a/admin/billing.go b/admin/billing.go index 7e4df576932..f23df9835a0 100644 --- a/admin/billing.go +++ b/admin/billing.go @@ -418,6 +418,21 @@ func (s *Service) CleanupTrialBillingIssues(ctx context.Context, orgID string) e return nil } +// CleanupCreditBillingIssues removes free-plan credit billing issues (called on upgrade to Growth) +func (s *Service) CleanupCreditBillingIssues(ctx context.Context, orgID string) error { + for _, t := range []database.BillingIssueType{ + database.BillingIssueTypeCreditLow, + database.BillingIssueTypeCreditCritical, + database.BillingIssueTypeCreditExhausted, + } { + err := s.DB.DeleteBillingIssueByTypeForOrg(ctx, orgID, t) + if err != nil && !errors.Is(err, database.ErrNotFound) { + return fmt.Errorf("failed to delete credit billing issue: %w", err) + } + } + return nil +} + // CleanupSubscriptionBillingIssues removes subscription related billing issues func (s *Service) CleanupSubscriptionBillingIssues(ctx context.Context, orgID string) error { err := s.DB.DeleteBillingIssueByTypeForOrg(ctx, orgID, database.BillingIssueTypeNeverSubscribed) diff --git a/admin/database/database.go b/admin/database/database.go index 4c97425b864..d1158bb1ce3 100644 --- a/admin/database/database.go +++ b/admin/database/database.go @@ -56,6 +56,7 @@ type DB interface { FindMigrationVersion(ctx context.Context) (int, error) FindOrganizations(ctx context.Context, afterName string, limit int) ([]*Organization, error) + FindOrganizationsByBillingPlanName(ctx context.Context, planName string, afterName string, limit int) ([]*Organization, error) FindOrganizationsForUser(ctx context.Context, userID string, afterName string, limit int) ([]*Organization, error) FindOrganization(ctx context.Context, id string) (*Organization, error) FindOrganizationByName(ctx context.Context, name string) (*Organization, error) diff --git a/admin/database/postgres/postgres.go b/admin/database/postgres/postgres.go index 4e632312851..fba82cf5ca1 100644 --- a/admin/database/postgres/postgres.go +++ b/admin/database/postgres/postgres.go @@ -65,6 +65,15 @@ func (c *connection) FindOrganizations(ctx context.Context, afterName string, li return res, nil } +func (c *connection) FindOrganizationsByBillingPlanName(ctx context.Context, planName, afterName string, limit int) ([]*database.Organization, error) { + var res []*database.Organization + err := c.getDB(ctx).SelectContext(ctx, &res, "SELECT * FROM orgs WHERE billing_plan_name = $1 AND lower(name) > lower($2) ORDER BY lower(name) LIMIT $3", planName, afterName, limit) + if err != nil { + return nil, parseErr("orgs", err) + } + return res, nil +} + func (c *connection) FindOrganizationsForUser(ctx context.Context, userID, afterName string, limit int) ([]*database.Organization, error) { var res []*database.Organization err := c.getDB(ctx).SelectContext(ctx, &res, ` diff --git a/admin/jobs/jobs.go b/admin/jobs/jobs.go index 4e86d02472b..fbd895cab15 100644 --- a/admin/jobs/jobs.go +++ b/admin/jobs/jobs.go @@ -35,6 +35,7 @@ type Client interface { CheckProvisioners(ctx context.Context) (*InsertResult, error) BillingReporter(ctx context.Context) (*InsertResult, error) + CreditCheck(ctx context.Context) (*InsertResult, error) DeleteExpiredAuthCodes(ctx context.Context) (*InsertResult, error) DeleteExpiredDeviceAuthCodes(ctx context.Context) (*InsertResult, error) DeleteExpiredTokens(ctx context.Context) (*InsertResult, error) diff --git a/admin/jobs/noop.go b/admin/jobs/noop.go index d6434b45829..08cb4f19c20 100644 --- a/admin/jobs/noop.go +++ b/admin/jobs/noop.go @@ -92,6 +92,10 @@ func (n *noop) BillingReporter(ctx context.Context) (*InsertResult, error) { return nil, nil } +func (n *noop) CreditCheck(ctx context.Context) (*InsertResult, error) { + return nil, nil +} + func (n *noop) DeleteExpiredAuthCodes(ctx context.Context) (*InsertResult, error) { return nil, nil } diff --git a/admin/jobs/river/credit_checks.go b/admin/jobs/river/credit_checks.go new file mode 100644 index 00000000000..fd4eab6442d --- /dev/null +++ b/admin/jobs/river/credit_checks.go @@ -0,0 +1,153 @@ +package river + +import ( + "context" + "fmt" + "time" + + "github.com/rilldata/rill/admin" + "github.com/rilldata/rill/admin/database" + "github.com/riverqueue/river" + "go.uber.org/zap" +) + +type CreditCheckArgs struct{} + +func (CreditCheckArgs) Kind() string { return "credit_check" } + +type CreditCheckWorker struct { + river.WorkerDefaults[CreditCheckArgs] + admin *admin.Service + logger *zap.Logger +} + +func (w *CreditCheckWorker) Work(ctx context.Context, job *river.Job[CreditCheckArgs]) error { + limit := 100 + afterName := "" + + for { + orgs, err := w.admin.DB.FindOrganizationsByBillingPlanName(ctx, "free-plan", afterName, limit) + if err != nil { + return fmt.Errorf("failed to find free-plan orgs: %w", err) + } + + for _, org := range orgs { + if err := w.checkOrg(ctx, org); err != nil { + w.logger.Warn("credit check failed for org", zap.String("org_id", org.ID), zap.String("org_name", org.Name), zap.Error(err)) + } + afterName = org.Name + } + + if len(orgs) < limit { + break + } + } + + return nil +} + +func (w *CreditCheckWorker) checkOrg(ctx context.Context, org *database.Organization) error { + if org.BillingCustomerID == "" { + return nil + } + + bal, err := w.admin.Biller.GetCreditBalance(ctx, org.BillingCustomerID) + if err != nil { + return fmt.Errorf("failed to get credit balance: %w", err) + } + if bal == nil || bal.TotalCredit <= 0 { + return nil + } + + usedFraction := bal.UsedCredit / bal.TotalCredit + now := time.Now().UTC() + + switch { + case bal.RemainingCredit <= 0: + // 100%: exhausted — upsert exhausted issue and hibernate all projects + _, err = w.admin.DB.UpsertBillingIssue(ctx, &database.UpsertBillingIssueOptions{ + OrgID: org.ID, + Type: database.BillingIssueTypeCreditExhausted, + Metadata: &database.BillingIssueMetadataCreditExhausted{ + CreditTotal: bal.TotalCredit, + CreditExpiry: bal.ExpiryDate, + ExhaustedOn: now, + }, + EventTime: now, + }) + if err != nil { + return fmt.Errorf("failed to upsert credit exhausted issue: %w", err) + } + + // clean up lower-severity issues since exhausted supersedes them + for _, t := range []database.BillingIssueType{database.BillingIssueTypeCreditLow, database.BillingIssueTypeCreditCritical} { + if delErr := w.admin.DB.DeleteBillingIssueByTypeForOrg(ctx, org.ID, t); delErr != nil { + w.logger.Warn("failed to delete lower-severity credit issue", zap.String("org_id", org.ID), zap.Error(delErr)) + } + } + + // hibernate all active projects + projLimit := 10 + afterProjectName := "" + for { + projs, projErr := w.admin.DB.FindProjectsForOrganization(ctx, org.ID, afterProjectName, projLimit) + if projErr != nil { + return fmt.Errorf("failed to find projects for org: %w", projErr) + } + for _, proj := range projs { + if _, hibErr := w.admin.HibernateProject(ctx, proj); hibErr != nil { + w.logger.Warn("failed to hibernate project on credit exhaustion", zap.String("project_id", proj.ID), zap.Error(hibErr)) + } + afterProjectName = proj.Name + } + if len(projs) < projLimit { + break + } + } + + w.logger.Warn("credit exhausted: hibernated all projects", + zap.String("org_id", org.ID), + zap.String("org_name", org.Name), + zap.Float64("total_credit", bal.TotalCredit), + zap.Float64("used_credit", bal.UsedCredit), + ) + + case usedFraction >= 0.95: + // 95%+: critical + _, err = w.admin.DB.UpsertBillingIssue(ctx, &database.UpsertBillingIssueOptions{ + OrgID: org.ID, + Type: database.BillingIssueTypeCreditCritical, + Metadata: &database.BillingIssueMetadataCreditCritical{ + CreditRemaining: bal.RemainingCredit, + CreditTotal: bal.TotalCredit, + CreditExpiry: bal.ExpiryDate, + }, + EventTime: now, + }) + if err != nil { + return fmt.Errorf("failed to upsert credit critical issue: %w", err) + } + // low is superseded by critical + if delErr := w.admin.DB.DeleteBillingIssueByTypeForOrg(ctx, org.ID, database.BillingIssueTypeCreditLow); delErr != nil { + w.logger.Warn("failed to delete credit low issue", zap.String("org_id", org.ID), zap.Error(delErr)) + } + + case usedFraction >= 0.80: + // 80%+: low + _, err = w.admin.DB.UpsertBillingIssue(ctx, &database.UpsertBillingIssueOptions{ + OrgID: org.ID, + Type: database.BillingIssueTypeCreditLow, + Metadata: &database.BillingIssueMetadataCreditLow{ + CreditRemaining: bal.RemainingCredit, + CreditTotal: bal.TotalCredit, + CreditExpiry: bal.ExpiryDate, + }, + EventTime: now, + }) + if err != nil { + return fmt.Errorf("failed to upsert credit low issue: %w", err) + } + } + + return nil +} diff --git a/admin/jobs/river/river.go b/admin/jobs/river/river.go index 2b95e94cc29..04330d82ab8 100644 --- a/admin/jobs/river/river.go +++ b/admin/jobs/river/river.go @@ -90,6 +90,9 @@ func New(ctx context.Context, dsn string, adm *admin.Service) (jobs.Client, erro river.AddWorker(workers, &TrialEndCheckWorker{admin: adm, logger: billingLogger}) river.AddWorker(workers, &TrialGracePeriodCheckWorker{admin: adm, logger: billingLogger}) + // credit check worker (free-plan orgs) + river.AddWorker(workers, &CreditCheckWorker{admin: adm, logger: billingLogger}) + // subscription related workers river.AddWorker(workers, &SubscriptionCancellationCheckWorker{admin: adm, logger: billingLogger}) @@ -120,6 +123,7 @@ func New(ctx context.Context, dsn string, adm *admin.Service) (jobs.Client, erro jobConfigs := []periodicJobConfig{ {&ValidateDeploymentsArgs{}, "*/30 * * * *", true}, // half-hourly + {&CreditCheckArgs{}, "30 * * * *", true}, // hourly at :30 {&PaymentFailedGracePeriodCheckArgs{}, "0 1 * * *", true}, // daily at 1am UTC {&TrialEndingSoonArgs{}, "5 1 * * *", true}, // daily at 1:05am UTC {&TrialEndCheckArgs{}, "10 1 * * *", true}, // daily at 1:10am UTC @@ -285,6 +289,8 @@ func (c *Client) EnqueueByKind(ctx context.Context, kind string) (*jobs.InsertRe return c.HibernateInactiveOrgs(ctx) case "billing_reporter": return c.BillingReporter(ctx) + case "credit_check": + return c.CreditCheck(ctx) case "delete_expired_auth_codes": return c.DeleteExpiredAuthCodes(ctx) case "delete_expired_device_auth_codes": @@ -637,6 +643,26 @@ func (c *Client) BillingReporter(ctx context.Context) (*jobs.InsertResult, error }, nil } +func (c *Client) CreditCheck(ctx context.Context) (*jobs.InsertResult, error) { + res, err := c.riverClient.Insert(ctx, CreditCheckArgs{}, &river.InsertOpts{ + UniqueOpts: river.UniqueOpts{ + ByArgs: true, + }, + }) + if err != nil { + return nil, err + } + + if res.UniqueSkippedAsDuplicate { + c.logger.Debug("CreditCheck job skipped as duplicate") + } + + return &jobs.InsertResult{ + ID: res.Job.ID, + Duplicate: res.UniqueSkippedAsDuplicate, + }, nil +} + func (c *Client) DeleteExpiredAuthCodes(ctx context.Context) (*jobs.InsertResult, error) { res, err := c.riverClient.Insert(ctx, DeleteExpiredAuthCodesArgs{}, &river.InsertOpts{ UniqueOpts: river.UniqueOpts{ diff --git a/admin/server/billing.go b/admin/server/billing.go index ab40e4f2bc1..b086283424d 100644 --- a/admin/server/billing.go +++ b/admin/server/billing.go @@ -1018,6 +1018,12 @@ func (s *Server) updateQuotasAndHandleBillingIssues(ctx context.Context, org *da return nil, fmt.Errorf("failed to cleanup subscription cancellation errors: %w", err) } + // delete any credit billing issues (free-plan → Growth upgrade) + err = s.admin.CleanupCreditBillingIssues(ctx, org.ID) + if err != nil { + return nil, fmt.Errorf("failed to cleanup credit billing issues: %w", err) + } + return org, nil } From bfc1dec84c4f305beb38cf202ab5c9dc0a800477 Mon Sep 17 00:00:00 2001 From: royendo <67675319+royendo@users.noreply.github.com> Date: Wed, 18 Mar 2026 09:08:11 -0400 Subject: [PATCH 31/47] =?UTF-8?q?=20=20CheckBlockingBillingErrors=20?= =?UTF-8?q?=E2=80=94=20now=20also=20blocks=20on=20BillingIssueTypeCreditEx?= =?UTF-8?q?hausted,=20returning=20"free=20credit=20exhausted".=20=20=20=20?= =?UTF-8?q?StartTrial=20=E2=80=94=20when=20the=20default=20plan=20is=20Fre?= =?UTF-8?q?ePlanType:=20=20=20-=20Skips=20incrementing=20trial=20org=20cou?= =?UTF-8?q?nt=20=20=20-=20Skips=20raising=20the=20OnTrial=20billing=20issu?= =?UTF-8?q?e=20=20=20-=20Logs=20"started=20free=20plan"=20instead=20of=20"?= =?UTF-8?q?started=20trial"=20=20=20-=20Falls=20through=20to=20the=20exist?= =?UTF-8?q?ing=20quota/cleanup=20logic=20(subscription=20+=20billing=20iss?= =?UTF-8?q?ues=20still=20cleaned=20up=20correctly)=20=20=20=20UpdateBillin?= =?UTF-8?q?gSubscription=20=E2=80=94=20when=20upgrading=20to=20Growth:=20?= =?UTF-8?q?=20=20-=20Checks=20for=20CreditExhausted=20issue=20before=20cle?= =?UTF-8?q?anup=20=20=20-=20After=20quota=20update=20+=20issue=20cleanup,?= =?UTF-8?q?=20wakes=20all=20hibernated=20projects=20(PrimaryDeploymentID?= =?UTF-8?q?=20=3D=3D=20nil)=20by=20calling=20RedeployProject=20=20=20-=20L?= =?UTF-8?q?ogs=20the=20un-hibernate=20event?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/billing.go | 45 +++++++++++++++++++++++++---------------- admin/server/billing.go | 35 ++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 17 deletions(-) diff --git a/admin/billing.go b/admin/billing.go index f23df9835a0..e6df9f105cb 100644 --- a/admin/billing.go +++ b/admin/billing.go @@ -273,7 +273,8 @@ func (s *Service) StartTrial(ctx context.Context, org *database.Organization) (* return nil, nil, fmt.Errorf("failed to create subscription: %w", err) } - if org.CreatedByUserID != nil { + // Only count trial orgs for trial-based plans (not Free) + if plan.PlanType != billing.FreePlanType && org.CreatedByUserID != nil { err = s.DB.IncrementCurrentTrialOrgCount(ctx, *org.CreatedByUserID) if err != nil { return nil, nil, fmt.Errorf("failed to increment current trial org count: %w", err) @@ -286,22 +287,6 @@ func (s *Service) StartTrial(ctx context.Context, org *database.Organization) (* return org, sub, nil } - var userEmail string - if org.CreatedByUserID != nil { - user, err := s.DB.FindUser(ctx, *org.CreatedByUserID) - if err != nil { - return nil, nil, fmt.Errorf("failed to get user info: %w", err) - } - userEmail = user.Email - } - - s.Logger.Named("billing").Info("started trial for organization", - zap.String("org_name", org.Name), - zap.String("org_id", org.ID), - zap.String("trial_end_date", sub.TrialEndDate.String()), - zap.String("user_email", userEmail), - ) - org, err = s.DB.UpdateOrganization(ctx, org.ID, &database.UpdateOrganizationOptions{ Name: org.Name, DisplayName: org.DisplayName, @@ -339,6 +324,21 @@ func (s *Service) StartTrial(ctx context.Context, org *database.Organization) (* return nil, nil, err } + // Free plan: no trial issue, billing tracked via credit worker + if plan.PlanType == billing.FreePlanType { + s.Logger.Named("billing").Info("started free plan for organization", + zap.String("org_name", org.Name), + zap.String("org_id", org.ID), + ) + return org, sub, nil + } + + s.Logger.Named("billing").Info("started trial for organization", + zap.String("org_name", org.Name), + zap.String("org_id", org.ID), + zap.String("trial_end_date", sub.TrialEndDate.String()), + ) + // raise on-trial billing warning _, err = s.DB.UpsertBillingIssue(ctx, &database.UpsertBillingIssueOptions{ OrgID: org.ID, @@ -496,6 +496,17 @@ func (s *Service) CheckBlockingBillingErrors(ctx context.Context, orgID string) return fmt.Errorf("subscription cancelled") } + be, err = s.DB.FindBillingIssueByTypeForOrg(ctx, orgID, database.BillingIssueTypeCreditExhausted) + if err != nil { + if !errors.Is(err, database.ErrNotFound) { + return err + } + } + + if be != nil { + return fmt.Errorf("free credit exhausted") + } + return nil } diff --git a/admin/server/billing.go b/admin/server/billing.go index b086283424d..628ba28f4f3 100644 --- a/admin/server/billing.go +++ b/admin/server/billing.go @@ -223,11 +223,46 @@ func (s *Server) UpdateBillingSubscription(ctx context.Context, req *adminv1.Upd } } + // Check for credit exhaustion before cleanup so we know whether to un-hibernate + wasExhausted := false + if plan.PlanType == billing.GrowthPlanType { + ce, ceErr := s.admin.DB.FindBillingIssueByTypeForOrg(ctx, org.ID, database.BillingIssueTypeCreditExhausted) + if ceErr != nil && !errors.Is(ceErr, database.ErrNotFound) { + return nil, ceErr + } + wasExhausted = ce != nil + } + org, err = s.updateQuotasAndHandleBillingIssues(ctx, org, sub) if err != nil { return nil, err } + // Un-hibernate projects that were hibernated due to credit exhaustion + if wasExhausted { + projLimit := 10 + afterProjectName := "" + for { + projs, projErr := s.admin.DB.FindProjectsForOrganization(ctx, org.ID, afterProjectName, projLimit) + if projErr != nil { + s.logger.Named("billing").Error("failed to find projects for un-hibernate on growth upgrade", zap.String("org_id", org.ID), zap.Error(projErr)) + break + } + for _, proj := range projs { + if proj.PrimaryDeploymentID == nil { + if _, redeployErr := s.admin.RedeployProject(ctx, proj, nil); redeployErr != nil { + s.logger.Named("billing").Warn("failed to redeploy hibernated project on growth upgrade", zap.String("project_id", proj.ID), zap.Error(redeployErr)) + } + } + afterProjectName = proj.Name + } + if len(projs) < projLimit { + break + } + } + s.logger.Named("billing").Info("un-hibernated projects on growth upgrade", zap.String("org_id", org.ID), zap.String("org_name", org.Name)) + } + if planChange { // send plan changed email From 888f09884ce16e5d0ec77e2a8a807ec97b503268 Mon Sep 17 00:00:00 2001 From: royendo <67675319+royendo@users.noreply.github.com> Date: Wed, 18 Mar 2026 09:14:11 -0400 Subject: [PATCH 32/47] =?UTF-8?q?=20=20Credit=20detection=20fix=20(orb.go?= =?UTF-8?q?=20GetCreditBalance):=20=20=20-=20Added=20Currency:=20orb.F("US?= =?UTF-8?q?D")=20to=20the=20ListByExternalID=20call=20=E2=80=94=20without?= =?UTF-8?q?=20this,=20Orb=20returns=20credits=20in=20all=20currencies=20an?= =?UTF-8?q?d=20the=20result=20can=20be=20ambiguous=20=20=20-=20Fixed=20Max?= =?UTF-8?q?imumInitialBalance=20=3D=200=20case:=20when=20Orb=20doesn't=20t?= =?UTF-8?q?rack=20the=20original=20cap=20(plan-granted=20credits),=20falls?= =?UTF-8?q?=20back=20to=20using=20Balance=20as=20the=20total=20so=20the=20?= =?UTF-8?q?=20=20balance=20still=20shows=20correctly=20instead=20of=20bein?= =?UTF-8?q?g=20skipped=20=20=20=20VoidCredits=20(new):=20=20=20-=20Lists?= =?UTF-8?q?=20all=20active=20USD=20credit=20blocks=20for=20the=20customer?= =?UTF-8?q?=20=20=20-=20Voids=20each=20one=20via=20Ledger.NewEntryByExtern?= =?UTF-8?q?alID=20with=20entry=5Ftype:=20"void"=20=20=20-=20Called=20in=20?= =?UTF-8?q?UpdateBillingSubscription=20when=20upgrading=20to=20Growth=20?= =?UTF-8?q?=E2=80=94=20credits=20don't=20carry=20over=20per=20the=20spec?= =?UTF-8?q?=20=20=20=20Free=20plan=20onboarding=20email:=20=20=20-=20Repai?= =?UTF-8?q?rOrganizationBilling=20no=20longer=20sends=20SendTrialStarted?= =?UTF-8?q?=20when=20the=20default=20plan=20is=20FreePlanType=20=E2=80=94?= =?UTF-8?q?=20that=20email=20references=20a=20trial=20end=20date=20which?= =?UTF-8?q?=20doesn't=20=20=20exist=20for=20free=20plans?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/billing.go | 22 +++++++++--------- admin/billing/biller.go | 2 ++ admin/billing/noop.go | 4 ++++ admin/billing/orb.go | 50 ++++++++++++++++++++++++++++++++++++++--- admin/server/billing.go | 5 +++++ 5 files changed, 70 insertions(+), 13 deletions(-) diff --git a/admin/billing.go b/admin/billing.go index e6df9f105cb..6c2aa6cc916 100644 --- a/admin/billing.go +++ b/admin/billing.go @@ -201,16 +201,18 @@ func (s *Service) RepairOrganizationBilling(ctx context.Context, org *database.O return nil, nil, fmt.Errorf("failed to start trial: %w", err) } - // send trial started email - err = s.Email.SendTrialStarted(&email.TrialStarted{ - ToEmail: org.BillingEmail, - ToName: org.Name, - OrgName: org.Name, - FrontendURL: s.URLs.Frontend(), - TrialEndDate: sub.TrialEndDate, - }) - if err != nil { - s.Logger.Named("billing").Error("failed to send trial started email", zap.String("org_name", org.Name), zap.String("org_id", org.ID), zap.String("billing_email", org.BillingEmail), zap.Error(err)) + // Only send the trial-started email for trial-based plans; free plan has no trial period + if sub.Plan == nil || sub.Plan.PlanType != billing.FreePlanType { + err = s.Email.SendTrialStarted(&email.TrialStarted{ + ToEmail: org.BillingEmail, + ToName: org.Name, + OrgName: org.Name, + FrontendURL: s.URLs.Frontend(), + TrialEndDate: sub.TrialEndDate, + }) + if err != nil { + s.Logger.Named("billing").Error("failed to send trial started email", zap.String("org_name", org.Name), zap.String("org_id", org.ID), zap.String("billing_email", org.BillingEmail), zap.Error(err)) + } } } else { s.Logger.Named("billing").Warn("subscription already exists for org", zap.String("org_id", org.ID), zap.String("org_name", org.Name)) diff --git a/admin/billing/biller.go b/admin/billing/biller.go index 084df1f02c3..b320b76f0f3 100644 --- a/admin/billing/biller.go +++ b/admin/billing/biller.go @@ -67,6 +67,8 @@ type Biller interface { GetCreditBalance(ctx context.Context, customerID string) (*CreditBalance, error) // AddCredits adds a credit grant to the given customer. Returns the new total balance. AddCredits(ctx context.Context, customerID string, amount float64, expiryDate time.Time, description string) (*CreditBalance, error) + // VoidCredits voids all active credit grants for the given customer (called on upgrade from Free to Growth). + VoidCredits(ctx context.Context, customerID string) error GetReportingGranularity() UsageReportingGranularity GetReportingWorkerCron() string diff --git a/admin/billing/noop.go b/admin/billing/noop.go index 1593497dcb6..b92b582f133 100644 --- a/admin/billing/noop.go +++ b/admin/billing/noop.go @@ -117,6 +117,10 @@ func (n noop) AddCredits(ctx context.Context, customerID string, amount float64, return nil, nil } +func (n noop) VoidCredits(ctx context.Context, customerID string) error { + return nil +} + func (n noop) ReportUsage(ctx context.Context, usage []*Usage) error { return nil } diff --git a/admin/billing/orb.go b/admin/billing/orb.go index d06181209ed..b1d871cda42 100644 --- a/admin/billing/orb.go +++ b/admin/billing/orb.go @@ -392,7 +392,8 @@ func (o *Orb) GetCreditBalance(ctx context.Context, customerID string) (*CreditB } credits, err := o.client.Customers.Credits.ListByExternalID(ctx, customerID, orb.CustomerCreditListByExternalIDParams{ - IncludeAllBlocks: orb.F(false), // only active blocks + Currency: orb.F("USD"), // only monetary (USD) credits + IncludeAllBlocks: orb.F(false), // only active (non-expired, non-voided) blocks }) if err != nil { var orbErr *orb.Error @@ -406,11 +407,17 @@ func (o *Orb) GetCreditBalance(ctx context.Context, customerID string) (*CreditB return nil, nil } - // Aggregate across all active credit grants + // Aggregate across all active credit grants. + // MaximumInitialBalance may be 0 for plan-granted credits where Orb doesn't track + // the original cap — fall back to Balance in that case so remaining is still correct. var totalCredit, remainingCredit float64 var latestExpiry time.Time for _, c := range credits.Data { - totalCredit += c.MaximumInitialBalance + if c.MaximumInitialBalance > 0 { + totalCredit += c.MaximumInitialBalance + } else { + totalCredit += c.Balance + } remainingCredit += c.Balance if c.ExpiryDate.After(latestExpiry) { latestExpiry = c.ExpiryDate @@ -473,6 +480,43 @@ func (o *Orb) AddCredits(ctx context.Context, customerID string, amount float64, return o.GetCreditBalance(ctx, customerID) } +func (o *Orb) VoidCredits(ctx context.Context, customerID string) error { + if customerID == "" { + return ErrCustomerIDRequired + } + + // List all active USD credit blocks for this customer + credits, err := o.client.Customers.Credits.ListByExternalID(ctx, customerID, orb.CustomerCreditListByExternalIDParams{ + Currency: orb.F("USD"), + IncludeAllBlocks: orb.F(false), + }) + if err != nil { + var orbErr *orb.Error + if errors.As(err, &orbErr) && orbErr.Status == orb.ErrorStatus404 { + return nil // no customer, nothing to void + } + return fmt.Errorf("failed to list credits for void: %w", err) + } + + for _, c := range credits.Data { + if c.Balance <= 0 { + continue + } + _, err = o.client.Customers.Credits.Ledger.NewEntryByExternalID(ctx, customerID, orb.CustomerCreditLedgerNewEntryByExternalIDParamsAddVoidCreditLedgerEntryRequestParams{ + Amount: orb.F(c.Balance), + BlockID: orb.F(c.ID), + EntryType: orb.F(orb.CustomerCreditLedgerNewEntryByExternalIDParamsAddVoidCreditLedgerEntryRequestParamsEntryTypeVoid), + Currency: orb.F("USD"), + Description: orb.F("Credits voided on upgrade to Growth plan"), + }) + if err != nil { + return fmt.Errorf("failed to void credit block %s: %w", c.ID, err) + } + } + + return nil +} + func (o *Orb) ReportUsage(ctx context.Context, usage []*Usage) error { var orbUsage []orb.EventIngestParamsEvent // sync max 500 events at a time diff --git a/admin/server/billing.go b/admin/server/billing.go index 628ba28f4f3..4c7e4753c66 100644 --- a/admin/server/billing.go +++ b/admin/server/billing.go @@ -231,6 +231,11 @@ func (s *Server) UpdateBillingSubscription(ctx context.Context, req *adminv1.Upd return nil, ceErr } wasExhausted = ce != nil + + // Void any remaining free-plan credits in Orb (credits don't carry over to Growth) + if voidErr := s.admin.Biller.VoidCredits(ctx, org.BillingCustomerID); voidErr != nil { + s.logger.Named("billing").Warn("failed to void free credits on growth upgrade", zap.String("org_id", org.ID), zap.Error(voidErr)) + } } org, err = s.updateQuotasAndHandleBillingIssues(ctx, org, sub) From 9518b0d68841280f031f3c38c7fb129740b94c62 Mon Sep 17 00:00:00 2001 From: royendo <67675319+royendo@users.noreply.github.com> Date: Wed, 18 Mar 2026 09:17:26 -0400 Subject: [PATCH 33/47] Merge main and resolve conflicts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - proto/gen: take ours (HEAD) — contains new billing credit/growth types - BillingCTAHandler.ts: merge GrowthPlanDialogTypes (ours) + fetchOrganizationBillingIssues (main) - Payment.svelte: adopt main's pendingSetup pattern, add onFreePlan to hide payment for free-plan orgs - DeploymentSection.svelte: keep ours (CHC Cloud management buttons) - billing.go: remove req.Setup reference removed from proto by main Co-Authored-By: Claude Sonnet 4.6 --- admin/server/billing.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/admin/server/billing.go b/admin/server/billing.go index 94803180c5a..47ff21bd52a 100644 --- a/admin/server/billing.go +++ b/admin/server/billing.go @@ -528,7 +528,6 @@ func (s *Server) RenewBillingSubscription(ctx context.Context, req *adminv1.Rene func (s *Server) GetPaymentsPortalURL(ctx context.Context, req *adminv1.GetPaymentsPortalURLRequest) (*adminv1.GetPaymentsPortalURLResponse, error) { observability.AddRequestAttributes(ctx, attribute.String("args.org", req.Org)) observability.AddRequestAttributes(ctx, attribute.String("args.return_url", req.ReturnUrl)) - observability.AddRequestAttributes(ctx, attribute.Bool("args.setup", req.Setup)) org, err := s.admin.DB.FindOrganizationByName(ctx, req.Org) if err != nil { @@ -550,7 +549,7 @@ func (s *Server) GetPaymentsPortalURL(ctx context.Context, req *adminv1.GetPayme req.ReturnUrl = s.admin.URLs.Frontend() } - url, err := s.admin.PaymentProvider.GetBillingPortalURL(ctx, org.PaymentCustomerID, req.ReturnUrl, req.Setup) + url, err := s.admin.PaymentProvider.GetBillingPortalURL(ctx, org.PaymentCustomerID, req.ReturnUrl, false) if err != nil { return nil, err } From 299b475482adc4f24abc57ada288319f3909ec8f Mon Sep 17 00:00:00 2001 From: royendo <67675319+royendo@users.noreply.github.com> Date: Wed, 18 Mar 2026 09:34:29 -0400 Subject: [PATCH 34/47] fix afte rmerge --- cli/cmd/sudo/billing/setup.go | 1 - .../OrganizationHibernatingForAdmins.svelte | 9 +++++++++ .../projects/status/overview/DeploymentSection.svelte | 11 +---------- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/cli/cmd/sudo/billing/setup.go b/cli/cmd/sudo/billing/setup.go index 461dcb3510e..27c8564f50f 100644 --- a/cli/cmd/sudo/billing/setup.go +++ b/cli/cmd/sudo/billing/setup.go @@ -29,7 +29,6 @@ func SetupCmd(ch *cmdutil.Helper) *cobra.Command { res, err := client.GetPaymentsPortalURL(ctx, &adminv1.GetPaymentsPortalURLRequest{ Org: org, - Setup: !update, SuperuserForceAccess: true, }) if err != nil { diff --git a/web-admin/src/features/organizations/hibernating/OrganizationHibernatingForAdmins.svelte b/web-admin/src/features/organizations/hibernating/OrganizationHibernatingForAdmins.svelte index 4c81a225b53..ddce8bdfde9 100644 --- a/web-admin/src/features/organizations/hibernating/OrganizationHibernatingForAdmins.svelte +++ b/web-admin/src/features/organizations/hibernating/OrganizationHibernatingForAdmins.svelte @@ -4,6 +4,7 @@ type BillingIssueMessage, useBillingIssueMessage, } from "@rilldata/web-admin/features/billing/issues/useBillingIssueMessage"; + import StartGrowthPlanDialog from "@rilldata/web-admin/features/billing/plans/StartGrowthPlanDialog.svelte"; import StartTeamPlanDialog from "@rilldata/web-admin/features/billing/plans/StartTeamPlanDialog.svelte"; import { Button } from "@rilldata/web-common/components/button"; import CTAHeader from "@rilldata/web-common/components/calls-to-action/CTAHeader.svelte"; @@ -22,6 +23,8 @@ showStartTeamPlanDialog, startTeamPlanType, teamPlanEndDate, + showStartGrowthPlanDialog, + startGrowthPlanType, wakingProjects, } = billingCTAHandler); let issueForHibernation: BillingIssueMessage; @@ -100,3 +103,9 @@ endDate={$teamPlanEndDate} {organization} /> + + diff --git a/web-admin/src/features/projects/status/overview/DeploymentSection.svelte b/web-admin/src/features/projects/status/overview/DeploymentSection.svelte index 0ce8b4b850e..4b538e2b077 100644 --- a/web-admin/src/features/projects/status/overview/DeploymentSection.svelte +++ b/web-admin/src/features/projects/status/overview/DeploymentSection.svelte @@ -358,16 +358,7 @@
OLAP Engine - {olapConnector ? formatConnectorName(olapConnector.type) : "DuckDB"} - {#if olapConnector && (olapConnector.provision || olapConnector.type !== "duckdb")} - - ({olapConnector.provision - ? "Rill-managed" - : isClickHouseCloud - ? "ClickHouse Cloud" - : "Self-managed"}) - - {/if} + {olapEngineLabel} {#if isClickHouseCloud && hasCloudApiKey} - - - - - - diff --git a/web-admin/src/features/projects/status/overview/ClickHouseCloudKeyModal.svelte b/web-admin/src/features/projects/status/overview/ClickHouseCloudKeyModal.svelte deleted file mode 100644 index 0a277689371..00000000000 --- a/web-admin/src/features/projects/status/overview/ClickHouseCloudKeyModal.svelte +++ /dev/null @@ -1,186 +0,0 @@ - - - { - if (!isOpen) { - keyId = ""; - keySecret = ""; - } - }} -> - - - Connect to ClickHouse Cloud - - - We detected your project is using ClickHouse Cloud. Enter your Admin API - key to unlock cluster monitoring, auto-detect scaling settings, and view - service status directly in Rill. - - -
- - -

- You can create an API key in your ClickHouse Cloud console. The key needs read access to the Cloud API. -

- {#if validationError} -

{validationError}

- {/if} -
- - - - - - - diff --git a/web-admin/src/features/projects/status/overview/DeploymentSection.svelte b/web-admin/src/features/projects/status/overview/DeploymentSection.svelte index 4b538e2b077..857b76a2473 100644 --- a/web-admin/src/features/projects/status/overview/DeploymentSection.svelte +++ b/web-admin/src/features/projects/status/overview/DeploymentSection.svelte @@ -1,7 +1,6 @@ - +
+ {#if canManage && isFree && !$subscriptionQuery?.isLoading} + + Upgrade to Growth + + {/if} + +
Status - {#if isChcHibernated} - - - - Unhealthy - - - ClickHouse Cloud is {cloudStatus === "idle" - ? "waking up" - : cloudStatus === "stopping" - ? "stopping" - : "hibernated"} - - - {:else if isChcRestoring} - - - - Preparing project - - - ClickHouse Cloud is back online. Restoring slots. - - - {:else} - - {getStatusLabel(deploymentStatus)} - {/if} + + {getStatusLabel(deploymentStatus)}
@@ -359,20 +231,10 @@ OLAP Engine {olapEngineLabel} - {#if isClickHouseCloud && hasCloudApiKey} - - {:else if isClickHouseCloud && !hasCloudApiKey && canManage} - + {#if olapInfo} + + ({olapInfo.vcpus} vCPU{olapInfo.vcpus !== 1 ? "s" : ""}, {olapInfo.memory}{olapInfo.replicas > 1 ? `, ${olapInfo.replicas} replicas` : ""}) + {/if}
@@ -392,37 +254,37 @@ {#if !$subscriptionQuery?.isLoading && !isEnterprise} {#if useNewPricing && !isRillManaged} - -
- Cluster Slots - - {effectiveClusterSlots} - (auto-calculated) - -
+
Rill Slots {rillSlots} - {#if canManage && !isFree && !isChcAutoScaled && !isChcHibernated} + {#if canManage && !isTrial} - {:else if canManage && isFree} - - Upgrade to Growth - {/if}
+
+ Cluster Slots + + {clusterSlots} + (read-only) + +
+
+ Infra Slots + + {backendInfraSlots ?? 4} + {backendInfraSlots === undefined ? "(default, read-only)" : "(read-only)"} + +
{:else} - +
Slots @@ -441,14 +303,7 @@ {:else} 0 {/if} - {#if canManage && (isTrial || isFree)} - - {isFree ? "Upgrade to Growth" : "Upgrade to Team Plan"} - - {:else if canManage && !isChcAutoScaled && !isChcHibernated} + {#if canManage && !isTrial}
{/if} - {#if isChcAutoScaled} -
- - - Slots reduced to 1 while ClickHouse Cloud is hibernated. They'll be - restored when the cluster wakes up. - -
- {/if} {/if}
@@ -478,49 +324,14 @@ {project} {currentSlots} {isRillManaged} - {isClickHouseCloud} - required={slotsRequiredMode} viewOnly={isTrial} - detectedMemoryGb={chcDetectedMemoryGb ?? cloudMaxMemory} + detectedSlots={detectedClusterSlots} {useNewPricing} - clusterSlots={effectiveClusterSlots} + clusterSlots={clusterSlots} currentRillSlots={rillSlots} + infraSlots={backendInfraSlots} /> -{#if isClickHouseCloud && canManage} - -{/if} - -{#if isClickHouseCloud && hasCloudApiKey} - { - if (e.detail?.maxMemoryGb) { - chcDetectedMemoryGb = e.detail.maxMemoryGb; - sessionStorage.setItem(chcMemoryKey, String(e.detail.maxMemoryGb)); - } - $proj.refetch(); - $instanceQuery.refetch(); - }} - /> -{/if} - diff --git a/web-admin/src/features/projects/status/overview/DeploymentSection.svelte b/web-admin/src/features/projects/status/overview/DeploymentSection.svelte index 42a366824ba..d67c9298ee5 100644 --- a/web-admin/src/features/projects/status/overview/DeploymentSection.svelte +++ b/web-admin/src/features/projects/status/overview/DeploymentSection.svelte @@ -5,7 +5,6 @@ V1DeploymentStatus, } from "@rilldata/web-admin/client"; import { - isTrialPlan, isFreePlan, isGrowthPlan, isEnterprisePlan, @@ -24,7 +23,6 @@ } from "../display-utils"; import { getGitUrlFromRemote } from "@rilldata/web-common/features/project/deploy/github-utils"; import ProjectClone from "./ProjectClone.svelte"; - import ManageSlotsModal from "./ManageSlotsModal.svelte"; import { detectTierSlots, MIN_INFRA_SLOTS } from "./slots-utils"; import { useOlapInfo, isMotherDuck } from "./olapInfo"; import OverviewCard from "./OverviewCard.svelte"; @@ -96,12 +94,10 @@ ? cachedOlapType !== "clickhouse" : true; $: canManage = $proj.data?.projectPermissions?.manageProject ?? false; - let slotsModalOpen = false; // Billing plan detection $: subscriptionQuery = createAdminServiceGetBillingSubscription(organization); $: planName = $subscriptionQuery?.data?.subscription?.plan?.name ?? ""; - $: isTrial = isTrialPlan(planName); $: isFree = isFreePlan(planName); $: isGrowth = isGrowthPlan(planName); $: isEnterprise = planName !== "" && isEnterprisePlan(planName); @@ -112,17 +108,13 @@ // SQL-based cluster info: runs for any non-Rill-managed project to detect cluster slots. $: olapInfoQuery = useOlapInfo(runtimeClient, !isRillManaged ? olapConnector : undefined); $: olapInfo = $olapInfoQuery?.data; - $: console.log("[olapInfo] useNewPricing:", useNewPricing, "| olapConnector:", olapConnector, "| query:", { isLoading: $olapInfoQuery?.isLoading, isError: $olapInfoQuery?.isError, error: $olapInfoQuery?.error, data: olapInfo }); // Detected cluster slots from SQL (vcpus when available, else memory-tier fallback). $: detectedClusterSlots = olapInfo?.vcpus && olapInfo.vcpus > 0 ? olapInfo.vcpus : detectTierSlots(parseMemoryToGb(olapInfo?.memory)); - // Backend quota overrides (set via `rill sudo project edit`) - $: backendClusterSlots = Number(projectData?.clusterSlots) || undefined; - - // Cluster Slots: prefer SQL-detected value, fall back to RillMinSlots from backend. + // Cluster Slots: prefer SQL-detected value, fall back to cluster_slots from backend. // Only applies to Live Connect (not Rill-managed). $: clusterSlots = !isRillManaged ? detectedClusterSlots || @@ -265,33 +257,19 @@
Provisioned Slots - {provisionedSlots} - {#if canManage && !isTrial} - - {/if} + + {provisionedSlots} + View details +
{/if} - diff --git a/web-admin/src/features/projects/status/overview/ManageSlotsModal.svelte b/web-admin/src/features/projects/status/overview/ManageSlotsModal.svelte index 8bd2222284e..4efafb091bf 100644 --- a/web-admin/src/features/projects/status/overview/ManageSlotsModal.svelte +++ b/web-admin/src/features/projects/status/overview/ManageSlotsModal.svelte @@ -12,12 +12,10 @@ import type { AxiosError } from "axios"; import { LIVE_CONNECT_TIERS, - MANAGED_SLOT_TIERS, RILL_SLOT_TIERS, POPULAR_SLOTS, ALL_SLOTS, MANAGED_SLOT_RATE_PER_HR, - CLUSTER_SLOT_RATE_PER_HR, RILL_SLOT_RATE_PER_HR, HOURS_PER_MONTH, STORAGE_RATE_PER_GB_PER_MONTH, @@ -31,9 +29,6 @@ export let isRillManaged: boolean; // Auto-detected slot count from the OLAP cluster (SQL-based detection). export let detectedSlots: number | undefined = undefined; - // When true, the user can only view the detected tier and apply it (no selection). - // required mode is no longer triggered (kept for template compatibility) - export let required = false; export let viewOnly = false; // When true, uses new PRD v10 pricing (Free/Growth plans). False for legacy Team plans. export let useNewPricing = false; @@ -41,13 +36,10 @@ export let clusterSlots = 0; // Current Rill Slots (user-controlled). Only for Live Connect + new pricing. export let currentRillSlots = 0; - // (infraSlots prop removed — no longer shown in the status UI) - const POPULAR_RILL_MANAGED = POPULAR_SLOTS.map((s) => ({ slots: s })); const ALL_RILL_MANAGED = ALL_SLOTS.map((s) => ({ slots: s })); - // All plans use the $0.15/slot/hr rate - $: managedRate = MANAGED_SLOT_RATE_PER_HR; + const managedRate = MANAGED_SLOT_RATE_PER_HR; // For new pricing Live Connect: Rill Slots selection let selectedRillSlots = currentRillSlots; @@ -72,8 +64,6 @@ $: if (open) { if (viewOnly) { selectedSlots = detectedTierSlots ?? minimumTierSlots; - } else if (required && currentSlots === 0) { - selectedSlots = detectedTierSlots ?? minimumTierSlots; } else { selectedSlots = currentSlots; } @@ -154,13 +144,10 @@ { - if (required && !isOpen) return; // prevent closing when required open = isOpen; }} - closeOnEscape={!required} - closeOnOutsideClick={!required} > - + Manage Slots @@ -168,15 +155,15 @@ Based on your OLAP cluster, we recommend the following slot configuration. Start a Team planUpgrade to Growth to customize your slot allocation. {:else if isRillManaged} Rill-managed projects are billed at ${managedRate}/slot/hr.{#if useNewPricing} Storage is ${STORAGE_RATE_PER_GB_PER_MONTH}/GB/month above {INCLUDED_STORAGE_GB}GB included.{:else} Data storage is charged separately based on usage.{/if} Monthly estimates assume ~{HOURS_PER_MONTH} hours/month. {:else if useNewPricing} - Cluster Slots are auto-calculated from your OLAP cluster at ${CLUSTER_SLOT_RATE_PER_HR}/slot/hr. Add Rill Slots at ${RILL_SLOT_RATE_PER_HR}/slot/hr for extra performance or dev environments. + Cluster Slots are auto-detected from your OLAP cluster and shown on the Deployments page. {:else} Choose the slot tier that matches your OLAP cluster's resources. We auto-detect the minimum tier from your cluster configuration. You can @@ -240,86 +227,55 @@ {/if} {:else if useNewPricing} - -
-
-
- Cluster Slots - Auto-calculated from your OLAP cluster · read-only -
-
- {clusterSlots} - - @ ${CLUSTER_SLOT_RATE_PER_HR}/slot/hr - (~${Math.round(clusterSlots * CLUSTER_SLOT_RATE_PER_HR * HOURS_PER_MONTH).toLocaleString()}/mo) - -
+ +
+
+ Rill Slots + $/slot/hr + Est. $/mo
- -
-
- Rill Slots - Additional slots for performance and dev environments -
-
-
- Rill Slots - $/slot/hr - Est. $/mo -
-
- - - {#each RILL_SLOT_TIERS.filter((t) => showAllSizes || POPULAR_SLOTS.includes(t.slots)) as tier} - - {/each} -
-
+
+ + {#each RILL_SLOT_TIERS.filter((t) => showAllSizes || POPULAR_SLOTS.includes(t.slots)) as tier} + + {/each}
- -
- Estimated total - - ~${Math.round( - (clusterSlots * CLUSTER_SLOT_RATE_PER_HR + selectedRillSlots * RILL_SLOT_RATE_PER_HR) * HOURS_PER_MONTH, - ).toLocaleString()}/mo - -
+ {:else}
@@ -378,18 +334,12 @@ {/if} -
-

Estimated Cost Over Time

-
-
-
- {#each Array(12) as _, i} -
- {/each} -
-
-
-

- Cost analytics coming soon. This will show cluster slot costs and rill slot costs broken down over time. -

-
-
Date: Wed, 18 Mar 2026 17:59:09 -0400 Subject: [PATCH 47/47] dont use Orb Credits; just use Rill based credits... not sure why it wasnt working --- admin/billing.go | 9 +- admin/billing/orb.go | 97 ++++++++++++++----- admin/database/database.go | 13 ++- admin/database/postgres/migrations/0097.sql | 3 + admin/database/postgres/postgres.go | 32 ++++++ admin/jobs/river/billing_reporter.go | 17 ++++ admin/jobs/river/credit_checks.go | 56 ++++++----- admin/server/billing.go | 66 ++++++------- cli/cmd/sudo/billing/billing.go | 1 + cli/cmd/sudo/billing/get-credits.go | 71 ++++++++++++++ .../src/features/billing/plans/Plan.svelte | 11 +++ 11 files changed, 289 insertions(+), 87 deletions(-) create mode 100644 admin/database/postgres/migrations/0097.sql create mode 100644 cli/cmd/sudo/billing/get-credits.go diff --git a/admin/billing.go b/admin/billing.go index 6c2aa6cc916..1b5a3aed1a1 100644 --- a/admin/billing.go +++ b/admin/billing.go @@ -326,11 +326,18 @@ func (s *Service) StartTrial(ctx context.Context, org *database.Organization) (* return nil, nil, err } - // Free plan: no trial issue, billing tracked via credit worker + // Free plan: grant initial credits in DB; no trial issue, billing tracked via credit worker if plan.PlanType == billing.FreePlanType { + creditAmount := 250.0 + creditExpiry := time.Now().AddDate(1, 0, 0) // 1 year from now + err := s.DB.SetOrganizationCredits(ctx, org.ID, creditAmount, creditExpiry) + if err != nil { + return nil, nil, fmt.Errorf("failed to grant free plan credits: %w", err) + } s.Logger.Named("billing").Info("started free plan for organization", zap.String("org_name", org.Name), zap.String("org_id", org.ID), + zap.Float64("credits_granted", creditAmount), ) return org, sub, nil } diff --git a/admin/billing/orb.go b/admin/billing/orb.go index 0faf257fd1b..12fda8181ae 100644 --- a/admin/billing/orb.go +++ b/admin/billing/orb.go @@ -398,58 +398,93 @@ func (o *Orb) GetCreditBalance(ctx context.Context, customerID string) (*CreditB return nil, ErrCustomerIDRequired } - credits, err := o.client.Customers.Credits.ListByExternalID(ctx, customerID, orb.CustomerCreditListByExternalIDParams{ - Currency: orb.F("USD"), // only monetary (USD) credits - IncludeAllBlocks: orb.F(false), // only active (non-expired, non-voided) blocks + // Read the credit ledger (ordered by most recent first by default). + // The most recent entry's EndingBalance is the current balance. + // We scan all increment entries to compute the total granted. + ledger, err := o.client.Customers.Credits.Ledger.ListByExternalID(ctx, customerID, orb.CustomerCreditLedgerListByExternalIDParams{ + Limit: orb.F(int64(100)), }) if err != nil { var orbErr *orb.Error if errors.As(err, &orbErr) && orbErr.Status == orb.ErrorStatus404 { + o.logger.Info("credit balance: customer not found in Orb ledger", zap.String("customer_id", customerID)) return nil, nil } return nil, err } - if len(credits.Data) == 0 { + o.logger.Info("credit balance: ledger response", + zap.String("customer_id", customerID), + zap.Int("entry_count", len(ledger.Data)), + ) + for i, e := range ledger.Data { + o.logger.Info("credit balance: ledger entry", + zap.Int("index", i), + zap.String("id", e.ID), + zap.String("entry_status", string(e.EntryStatus)), + zap.Float64("amount", e.Amount), + zap.Float64("starting_balance", e.StartingBalance), + zap.Float64("ending_balance", e.EndingBalance), + zap.String("currency", e.Currency), + zap.String("description", e.Description), + zap.Time("created_at", e.CreatedAt), + ) + } + + if len(ledger.Data) == 0 { return nil, nil } - // Aggregate across all active credit grants. - // Orb returns exhausted blocks (Balance=0) even with IncludeAllBlocks=false because - // they aren't voided or expired yet. Skip them so they don't inflate total/distort %. - // MaximumInitialBalance may be 0 for plan-granted credits — fall back to Balance. - var totalCredit, remainingCredit float64 + // Current balance is the most recent entry's ending balance + remainingCredit := ledger.Data[0].EndingBalance + + // Sum all increment entries to get total granted; track earliest grant date + var totalCredit float64 + var earliestGrant time.Time var latestExpiry time.Time - for _, c := range credits.Data { - if c.Balance <= 0 { - continue // exhausted block; exclude from current balance view - } - if c.MaximumInitialBalance > 0 { - totalCredit += c.MaximumInitialBalance - } else { - totalCredit += c.Balance - } - remainingCredit += c.Balance - if c.ExpiryDate.After(latestExpiry) { - latestExpiry = c.ExpiryDate + for _, entry := range ledger.Data { + if entry.EntryStatus == orb.CustomerCreditLedgerListByExternalIDResponseEntryStatusCommitted && + entry.Amount > 0 { + totalCredit += entry.Amount + if earliestGrant.IsZero() || entry.CreatedAt.Before(earliestGrant) { + earliestGrant = entry.CreatedAt + } } } + // If no committed increments found, use the ending balance as both total and remaining if totalCredit == 0 { - return nil, nil // all blocks exhausted; treat as no active credit + totalCredit = remainingCredit + } + + if totalCredit == 0 && remainingCredit == 0 { + return nil, nil } usedCredit := totalCredit - remainingCredit + if usedCredit < 0 { + usedCredit = 0 + } - // Estimate burn rate from credit usage; if credit has been active, calculate daily rate + // Estimate burn rate from credit usage var burnRatePerDay float64 - if usedCredit > 0 && !credits.Data[0].EffectiveDate.IsZero() { - daysSinceStart := time.Since(credits.Data[0].EffectiveDate).Hours() / 24 + if usedCredit > 0 && !earliestGrant.IsZero() { + daysSinceStart := time.Since(earliestGrant).Hours() / 24 if daysSinceStart > 0 { burnRatePerDay = usedCredit / daysSinceStart } } + o.logger.Info("credit balance: computed from ledger", + zap.String("customer_id", customerID), + zap.Int("ledger_entries", len(ledger.Data)), + zap.Float64("total", totalCredit), + zap.Float64("used", usedCredit), + zap.Float64("remaining", remainingCredit), + zap.Float64("burn_rate_per_day", burnRatePerDay), + zap.Time("latest_expiry", latestExpiry), + ) + return &CreditBalance{ TotalCredit: totalCredit, UsedCredit: usedCredit, @@ -464,7 +499,7 @@ func (o *Orb) AddCredits(ctx context.Context, customerID string, amount float64, return nil, ErrCustomerIDRequired } - _, err := o.client.Customers.Credits.Ledger.NewEntryByExternalID(ctx, customerID, orb.CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParams{ + ledgerResp, err := o.client.Customers.Credits.Ledger.NewEntryByExternalID(ctx, customerID, orb.CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParams{ Amount: orb.F(amount), EntryType: orb.F(orb.CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParamsEntryTypeIncrement), ExpiryDate: orb.F(expiryDate), @@ -475,6 +510,16 @@ func (o *Orb) AddCredits(ctx context.Context, customerID string, amount float64, return nil, fmt.Errorf("failed to add credits: %w", err) } + o.logger.Info("AddCredits: Orb ledger entry created", + zap.String("customer_id", customerID), + zap.Float64("amount", amount), + zap.String("ledger_id", ledgerResp.ID), + zap.String("entry_status", string(ledgerResp.EntryStatus)), + zap.Float64("starting_balance", ledgerResp.StartingBalance), + zap.Float64("ending_balance", ledgerResp.EndingBalance), + zap.Float64("ledger_amount", ledgerResp.Amount), + ) + // Return updated balance return o.GetCreditBalance(ctx, customerID) } diff --git a/admin/database/database.go b/admin/database/database.go index e180b6baf65..36426c320e2 100644 --- a/admin/database/database.go +++ b/admin/database/database.go @@ -329,6 +329,12 @@ type DB interface { FindOrganizationForPaymentCustomerID(ctx context.Context, customerID string) (*Organization, error) FindOrganizationForBillingCustomerID(ctx context.Context, customerID string) (*Organization, error) + // Credit operations for free-plan orgs + SetOrganizationCredits(ctx context.Context, orgID string, total float64, expiry time.Time) error + AddOrganizationCredits(ctx context.Context, orgID string, amount float64, expiry time.Time) error + IncrementOrganizationCreditUsed(ctx context.Context, orgID string, amount float64) error + ResetOrganizationCredits(ctx context.Context, orgID string) error + FindBillingIssuesForOrg(ctx context.Context, orgID string) ([]*BillingIssue, error) FindBillingIssueByTypeForOrg(ctx context.Context, orgID string, errorType BillingIssueType) (*BillingIssue, error) FindBillingIssueByType(ctx context.Context, errorType BillingIssueType) ([]*BillingIssue, error) @@ -396,8 +402,11 @@ type Organization struct { PaymentCustomerID string `db:"payment_customer_id"` BillingEmail string `db:"billing_email"` BillingPlanName *string `db:"billing_plan_name"` - BillingPlanDisplayName *string `db:"billing_plan_display_name"` - CreatedByUserID *string `db:"created_by_user_id"` + BillingPlanDisplayName *string `db:"billing_plan_display_name"` + CreatedByUserID *string `db:"created_by_user_id"` + CreditTotal float64 `db:"credit_total"` + CreditUsed float64 `db:"credit_used"` + CreditExpiry *time.Time `db:"credit_expiry"` } // InsertOrganizationOptions defines options for inserting a new org diff --git a/admin/database/postgres/migrations/0097.sql b/admin/database/postgres/migrations/0097.sql new file mode 100644 index 00000000000..143afa24f1a --- /dev/null +++ b/admin/database/postgres/migrations/0097.sql @@ -0,0 +1,3 @@ +ALTER TABLE orgs ADD COLUMN credit_total DOUBLE PRECISION NOT NULL DEFAULT 0; +ALTER TABLE orgs ADD COLUMN credit_used DOUBLE PRECISION NOT NULL DEFAULT 0; +ALTER TABLE orgs ADD COLUMN credit_expiry TIMESTAMPTZ; diff --git a/admin/database/postgres/postgres.go b/admin/database/postgres/postgres.go index 5e9752e0493..d6607ad4485 100644 --- a/admin/database/postgres/postgres.go +++ b/admin/database/postgres/postgres.go @@ -586,6 +586,38 @@ func (c *connection) UpdateProjectClusterSlots(ctx context.Context, id string, c return parseErr("project", err) } +func (c *connection) SetOrganizationCredits(ctx context.Context, orgID string, total float64, expiry time.Time) error { + _, err := c.getDB(ctx).ExecContext(ctx, + "UPDATE orgs SET credit_total = $1, credit_used = 0, credit_expiry = $2 WHERE id = $3", + total, expiry, orgID, + ) + return parseErr("org", err) +} + +func (c *connection) AddOrganizationCredits(ctx context.Context, orgID string, amount float64, expiry time.Time) error { + _, err := c.getDB(ctx).ExecContext(ctx, + "UPDATE orgs SET credit_total = credit_total + $1, credit_expiry = $2 WHERE id = $3", + amount, expiry, orgID, + ) + return parseErr("org", err) +} + +func (c *connection) IncrementOrganizationCreditUsed(ctx context.Context, orgID string, amount float64) error { + _, err := c.getDB(ctx).ExecContext(ctx, + "UPDATE orgs SET credit_used = LEAST(credit_used + $1, credit_total) WHERE id = $2", + amount, orgID, + ) + return parseErr("org", err) +} + +func (c *connection) ResetOrganizationCredits(ctx context.Context, orgID string) error { + _, err := c.getDB(ctx).ExecContext(ctx, + "UPDATE orgs SET credit_total = 0, credit_used = 0, credit_expiry = NULL WHERE id = $1", + orgID, + ) + return parseErr("org", err) +} + func (c *connection) CountProjectsQuotaUsage(ctx context.Context, orgID string) (*database.ProjectsQuotaUsage, error) { res := &database.ProjectsQuotaUsage{} err := c.getDB(ctx).QueryRowxContext(ctx, ` diff --git a/admin/jobs/river/billing_reporter.go b/admin/jobs/river/billing_reporter.go index 232bec6da7b..792c9674a1c 100644 --- a/admin/jobs/river/billing_reporter.go +++ b/admin/jobs/river/billing_reporter.go @@ -78,7 +78,10 @@ func (w *BillingReporterWorker) Work(ctx context.Context, job *river.Job[Billing return nil } + const slotRatePerHr = 0.15 // $/slot/hr for credit accounting + reportedOrgs := make(map[string]struct{}) + orgCreditCost := make(map[string]float64) // org_id -> accumulated dollar cost for this reporting window stop := false limit := 10000 afterTime := time.Time{} @@ -114,6 +117,10 @@ func (w *BillingReporterWorker) Work(ctx context.Context, job *river.Job[Billing for _, m := range u { reportedOrgs[m.OrgID] = struct{}{} + // Accumulate slot cost per org for free-plan credit accounting + hours := m.EndTime.Sub(m.StartTime).Hours() + orgCreditCost[m.OrgID] += m.MaxValue * slotRatePerHr * hours + customerID := m.OrgID if m.BillingCustomerID != nil && *m.BillingCustomerID != "" { // org might have been deleted or recently created in both cases billing customer id will be null. If billing not initialized for the org, then it will be empty string @@ -168,6 +175,16 @@ func (w *BillingReporterWorker) Work(ctx context.Context, job *river.Job[Billing return fmt.Errorf("failed to update last usage reporting time: %w", err) } + // Increment credit_used for free-plan orgs based on slot usage cost + for orgID, cost := range orgCreditCost { + if cost <= 0 { + continue + } + if err := w.admin.DB.IncrementOrganizationCreditUsed(ctx, orgID, cost); err != nil { + w.logger.Warn("failed to increment credit usage for org", zap.String("org_id", orgID), zap.Float64("cost", cost), zap.Error(err)) + } + } + // TODO move the validation to background job // get orgs which have billing customer id orgs, err := w.admin.DB.FindOrganizationIDsWithBilling(ctx) diff --git a/admin/jobs/river/credit_checks.go b/admin/jobs/river/credit_checks.go index fd4eab6442d..a127a336b08 100644 --- a/admin/jobs/river/credit_checks.go +++ b/admin/jobs/river/credit_checks.go @@ -47,30 +47,35 @@ func (w *CreditCheckWorker) Work(ctx context.Context, job *river.Job[CreditCheck } func (w *CreditCheckWorker) checkOrg(ctx context.Context, org *database.Organization) error { - if org.BillingCustomerID == "" { + if org.CreditTotal <= 0 { return nil } - bal, err := w.admin.Biller.GetCreditBalance(ctx, org.BillingCustomerID) - if err != nil { - return fmt.Errorf("failed to get credit balance: %w", err) + remaining := org.CreditTotal - org.CreditUsed + if remaining < 0 { + remaining = 0 } - if bal == nil || bal.TotalCredit <= 0 { - return nil - } - - usedFraction := bal.UsedCredit / bal.TotalCredit + usedFraction := org.CreditUsed / org.CreditTotal now := time.Now().UTC() + // Also check expiry + expired := org.CreditExpiry != nil && org.CreditExpiry.Before(now) + + var err error switch { - case bal.RemainingCredit <= 0: + case remaining <= 0 || expired: // 100%: exhausted — upsert exhausted issue and hibernate all projects + var expiry time.Time + if org.CreditExpiry != nil { + expiry = *org.CreditExpiry + } + _, err = w.admin.DB.UpsertBillingIssue(ctx, &database.UpsertBillingIssueOptions{ OrgID: org.ID, Type: database.BillingIssueTypeCreditExhausted, Metadata: &database.BillingIssueMetadataCreditExhausted{ - CreditTotal: bal.TotalCredit, - CreditExpiry: bal.ExpiryDate, + CreditTotal: org.CreditTotal, + CreditExpiry: expiry, ExhaustedOn: now, }, EventTime: now, @@ -108,39 +113,44 @@ func (w *CreditCheckWorker) checkOrg(ctx context.Context, org *database.Organiza w.logger.Warn("credit exhausted: hibernated all projects", zap.String("org_id", org.ID), zap.String("org_name", org.Name), - zap.Float64("total_credit", bal.TotalCredit), - zap.Float64("used_credit", bal.UsedCredit), + zap.Float64("total_credit", org.CreditTotal), + zap.Float64("used_credit", org.CreditUsed), ) case usedFraction >= 0.95: - // 95%+: critical + var expiry time.Time + if org.CreditExpiry != nil { + expiry = *org.CreditExpiry + } _, err = w.admin.DB.UpsertBillingIssue(ctx, &database.UpsertBillingIssueOptions{ OrgID: org.ID, Type: database.BillingIssueTypeCreditCritical, Metadata: &database.BillingIssueMetadataCreditCritical{ - CreditRemaining: bal.RemainingCredit, - CreditTotal: bal.TotalCredit, - CreditExpiry: bal.ExpiryDate, + CreditRemaining: remaining, + CreditTotal: org.CreditTotal, + CreditExpiry: expiry, }, EventTime: now, }) if err != nil { return fmt.Errorf("failed to upsert credit critical issue: %w", err) } - // low is superseded by critical if delErr := w.admin.DB.DeleteBillingIssueByTypeForOrg(ctx, org.ID, database.BillingIssueTypeCreditLow); delErr != nil { w.logger.Warn("failed to delete credit low issue", zap.String("org_id", org.ID), zap.Error(delErr)) } case usedFraction >= 0.80: - // 80%+: low + var expiry time.Time + if org.CreditExpiry != nil { + expiry = *org.CreditExpiry + } _, err = w.admin.DB.UpsertBillingIssue(ctx, &database.UpsertBillingIssueOptions{ OrgID: org.ID, Type: database.BillingIssueTypeCreditLow, Metadata: &database.BillingIssueMetadataCreditLow{ - CreditRemaining: bal.RemainingCredit, - CreditTotal: bal.TotalCredit, - CreditExpiry: bal.ExpiryDate, + CreditRemaining: remaining, + CreditTotal: org.CreditTotal, + CreditExpiry: expiry, }, EventTime: now, }) diff --git a/admin/server/billing.go b/admin/server/billing.go index 42a317ff0ef..aa375efd9ab 100644 --- a/admin/server/billing.go +++ b/admin/server/billing.go @@ -56,21 +56,19 @@ func (s *Server) GetBillingSubscription(ctx context.Context, req *adminv1.GetBil BillingPortalUrl: sub.Customer.PortalURL, } - // Fetch credit balance for free-tier orgs - if sub.Plan != nil && sub.Plan.PlanType == billing.FreePlanType { - creditBalance, err := s.admin.Biller.GetCreditBalance(ctx, org.BillingCustomerID) - if err != nil { - s.logger.Warn("failed to fetch credit balance", zap.String("org_id", org.ID), zap.Error(err)) - } else if creditBalance != nil { - resp.CreditInfo = &adminv1.BillingCreditInfo{ - TotalCredit: creditBalance.TotalCredit, - UsedCredit: creditBalance.UsedCredit, - RemainingCredit: creditBalance.RemainingCredit, - BurnRatePerDay: creditBalance.BurnRatePerDay, - } - if !creditBalance.ExpiryDate.IsZero() { - resp.CreditInfo.CreditExpiry = timestamppb.New(creditBalance.ExpiryDate) - } + // Populate credit info from DB for free-tier orgs + if sub.Plan != nil && sub.Plan.PlanType == billing.FreePlanType && org.CreditTotal > 0 { + remaining := org.CreditTotal - org.CreditUsed + if remaining < 0 { + remaining = 0 + } + resp.CreditInfo = &adminv1.BillingCreditInfo{ + TotalCredit: org.CreditTotal, + UsedCredit: org.CreditUsed, + RemainingCredit: remaining, + } + if org.CreditExpiry != nil { + resp.CreditInfo.CreditExpiry = timestamppb.New(*org.CreditExpiry) } } @@ -236,9 +234,9 @@ func (s *Server) UpdateBillingSubscription(ctx context.Context, req *adminv1.Upd } wasExhausted = ce != nil - // Void any remaining free-plan credits in Orb (credits don't carry over to Growth) - if voidErr := s.admin.Biller.VoidCredits(ctx, org.BillingCustomerID); voidErr != nil { - s.logger.Named("billing").Warn("failed to void free credits on growth upgrade", zap.String("org_id", org.ID), zap.Error(voidErr)) + // Zero out free-plan credits (credits don't carry over to Growth) + if voidErr := s.admin.DB.ResetOrganizationCredits(ctx, org.ID); voidErr != nil { + s.logger.Named("billing").Warn("failed to reset credits on growth upgrade", zap.String("org_id", org.ID), zap.Error(voidErr)) } } @@ -825,12 +823,9 @@ func (s *Server) SudoAddCredits(ctx context.Context, req *adminv1.SudoAddCredits } expiryDate := time.Now().AddDate(0, 0, expiryDays) - description := req.Description - if description == "" { - description = "Credits added via CLI" - } - - balance, err := s.admin.Biller.AddCredits(ctx, org.BillingCustomerID, req.Amount, expiryDate, description) + // Add credits to DB: increment total, extend expiry (preserve existing usage) + newTotal := org.CreditTotal + req.Amount + err = s.admin.DB.AddOrganizationCredits(ctx, org.ID, req.Amount, expiryDate) if err != nil { return nil, status.Errorf(codes.Internal, "failed to add credits: %v", err) } @@ -839,20 +834,21 @@ func (s *Server) SudoAddCredits(ctx context.Context, req *adminv1.SudoAddCredits zap.String("org_id", org.ID), zap.String("org_name", org.Name), zap.Float64("amount", req.Amount), + zap.Float64("new_total", newTotal), zap.Int("expiry_days", expiryDays), ) - resp := &adminv1.SudoAddCreditsResponse{} - if balance != nil { - resp.CreditInfo = &adminv1.BillingCreditInfo{ - TotalCredit: balance.TotalCredit, - UsedCredit: balance.UsedCredit, - RemainingCredit: balance.RemainingCredit, - BurnRatePerDay: balance.BurnRatePerDay, - } - if !balance.ExpiryDate.IsZero() { - resp.CreditInfo.CreditExpiry = timestamppb.New(balance.ExpiryDate) - } + remaining := newTotal - org.CreditUsed + if remaining < 0 { + remaining = 0 + } + resp := &adminv1.SudoAddCreditsResponse{ + CreditInfo: &adminv1.BillingCreditInfo{ + TotalCredit: newTotal, + UsedCredit: org.CreditUsed, + RemainingCredit: remaining, + CreditExpiry: timestamppb.New(expiryDate), + }, } return resp, nil } diff --git a/cli/cmd/sudo/billing/billing.go b/cli/cmd/sudo/billing/billing.go index b262e43c8e1..6c978f4f427 100644 --- a/cli/cmd/sudo/billing/billing.go +++ b/cli/cmd/sudo/billing/billing.go @@ -15,6 +15,7 @@ func BillingCmd(ch *cmdutil.Helper) *cobra.Command { billingCmd.AddCommand(DeleteIssueCmd(ch)) billingCmd.AddCommand(ExtendTrialCmd(ch)) billingCmd.AddCommand(AddCreditsCmd(ch)) + billingCmd.AddCommand(GetCreditsCmd(ch)) billingCmd.AddCommand(RepairCmd(ch)) billingCmd.AddCommand(SetupCmd(ch)) diff --git a/cli/cmd/sudo/billing/get-credits.go b/cli/cmd/sudo/billing/get-credits.go new file mode 100644 index 00000000000..affd731376d --- /dev/null +++ b/cli/cmd/sudo/billing/get-credits.go @@ -0,0 +1,71 @@ +package billing + +import ( + "fmt" + + "github.com/rilldata/rill/cli/pkg/cmdutil" + adminv1 "github.com/rilldata/rill/proto/gen/rill/admin/v1" + "github.com/spf13/cobra" +) + +func GetCreditsCmd(ch *cmdutil.Helper) *cobra.Command { + var org string + + cmd := &cobra.Command{ + Use: "get-credits", + Short: "Show billing credit balance for an organization", + Args: cobra.NoArgs, + RunE: func(cmd *cobra.Command, args []string) error { + ctx := cmd.Context() + + if org == "" { + return fmt.Errorf("please set --org") + } + + client, err := ch.Client() + if err != nil { + return err + } + + res, err := client.GetBillingSubscription(ctx, &adminv1.GetBillingSubscriptionRequest{ + Org: org, + SuperuserForceAccess: true, + }) + if err != nil { + return err + } + + planName := "" + if res.Subscription != nil && res.Subscription.Plan != nil { + planName = res.Subscription.Plan.DisplayName + } + fmt.Printf("Organization: %s\n", org) + fmt.Printf("Plan: %s\n", planName) + + ci := res.CreditInfo + if ci == nil { + fmt.Println("Credits: n/a (no credit balance)") + return nil + } + + fmt.Printf("Credits:\n") + fmt.Printf(" Total: $%.2f\n", ci.TotalCredit) + fmt.Printf(" Used: $%.2f\n", ci.UsedCredit) + fmt.Printf(" Remaining: $%.2f\n", ci.RemainingCredit) + if ci.BurnRatePerDay > 0 { + fmt.Printf(" Burn rate: $%.2f/day\n", ci.BurnRatePerDay) + daysLeft := int(ci.RemainingCredit / ci.BurnRatePerDay) + fmt.Printf(" Est. days: ~%d\n", daysLeft) + } + if ci.CreditExpiry != nil { + fmt.Printf(" Expires: %s\n", ci.CreditExpiry.AsTime().Format("2006-01-02")) + } + + return nil + }, + } + + cmd.Flags().SortFlags = false + cmd.Flags().StringVar(&org, "org", "", "Organization name") + return cmd +} diff --git a/web-admin/src/features/billing/plans/Plan.svelte b/web-admin/src/features/billing/plans/Plan.svelte index 12252e121bd..49046e78ee2 100644 --- a/web-admin/src/features/billing/plans/Plan.svelte +++ b/web-admin/src/features/billing/plans/Plan.svelte @@ -23,6 +23,17 @@ $: hasPayment = !!$subscriptionQuery?.data?.organization?.paymentCustomerId; $: plan = subscription?.plan; + // DEBUG: log full subscription response to browser console + $: if ($subscriptionQuery?.data) { + console.log("[Billing DEBUG] subscription response:", { + planName: plan?.name, + planType: plan?.planType, + creditInfo, + billingPortalUrl: $subscriptionQuery.data.billingPortalUrl, + orgBillingCustomerId: $subscriptionQuery.data.organization?.billingCustomerId, + }); + } + $: categorisedIssues = useCategorisedOrganizationBillingIssues(organization); // fresh orgs will have a never subscribed issue associated with it