fork of https://github.com/sourcegraph/zoekt
0

Configure Feed

Select the types of activity you want to include in your feed.

grpc: add prometheus server and client prometheus metrics (#642)

+5875 -5043
+24 -8
api_proto.go
··· 18 18 "math/rand" 19 19 "reflect" 20 20 21 - proto "github.com/sourcegraph/zoekt/grpc/v1" 21 + proto "github.com/sourcegraph/zoekt/grpc/protos/zoekt/webserver/v1" 22 22 "google.golang.org/protobuf/types/known/durationpb" 23 23 "google.golang.org/protobuf/types/known/timestamppb" 24 24 ) ··· 243 243 244 244 func FlushReasonFromProto(p proto.FlushReason) FlushReason { 245 245 switch p { 246 - case proto.FlushReason_TIMER_EXPIRED: 246 + case proto.FlushReason_FLUSH_REASON_TIMER_EXPIRED: 247 247 return FlushReasonTimerExpired 248 - case proto.FlushReason_FINAL_FLUSH: 248 + case proto.FlushReason_FLUSH_REASON_FINAL_FLUSH: 249 249 return FlushReasonFinalFlush 250 - case proto.FlushReason_MAX_SIZE: 250 + case proto.FlushReason_FLUSH_REASON_MAX_SIZE: 251 251 return FlushReasonMaxSize 252 252 default: 253 253 return FlushReason(0) ··· 257 257 func (fr FlushReason) ToProto() proto.FlushReason { 258 258 switch fr { 259 259 case FlushReasonTimerExpired: 260 - return proto.FlushReason_TIMER_EXPIRED 260 + return proto.FlushReason_FLUSH_REASON_TIMER_EXPIRED 261 261 case FlushReasonFinalFlush: 262 - return proto.FlushReason_FINAL_FLUSH 262 + return proto.FlushReason_FLUSH_REASON_FINAL_FLUSH 263 263 case FlushReasonMaxSize: 264 - return proto.FlushReason_MAX_SIZE 264 + return proto.FlushReason_FLUSH_REASON_MAX_SIZE 265 265 default: 266 - return proto.FlushReason_UNKNOWN 266 + return proto.FlushReason_FLUSH_REASON_UNKNOWN_UNSPECIFIED 267 267 } 268 268 } 269 269 ··· 345 345 } 346 346 } 347 347 348 + func SearchResultFromStreamProto(p *proto.StreamSearchResponse, repoURLs, lineFragments map[string]string) *SearchResult { 349 + if p == nil { 350 + return nil 351 + } 352 + 353 + return SearchResultFromProto(p.GetResponseChunk(), repoURLs, lineFragments) 354 + } 355 + 348 356 func SearchResultFromProto(p *proto.SearchResponse, repoURLs, lineFragments map[string]string) *SearchResult { 349 357 if p == nil { 350 358 return nil ··· 382 390 383 391 Files: files, 384 392 } 393 + } 394 + 395 + func (sr *SearchResult) ToStreamProto() *proto.StreamSearchResponse { 396 + if sr == nil { 397 + return nil 398 + } 399 + 400 + return &proto.StreamSearchResponse{ResponseChunk: sr.ToProto()} 385 401 } 386 402 387 403 func RepositoryBranchFromProto(p *proto.RepositoryBranch) RepositoryBranch {
+39 -18
api_proto_test.go
··· 27 27 28 28 "github.com/google/go-cmp/cmp" 29 29 "github.com/google/go-cmp/cmp/cmpopts" 30 + webproto "github.com/sourcegraph/zoekt/grpc/protos/zoekt/webserver/v1" 30 31 "google.golang.org/protobuf/proto" 31 - 32 - v1 "github.com/sourcegraph/zoekt/grpc/v1" 33 32 ) 34 33 35 34 func TestProtoRoundtrip(t *testing.T) { ··· 133 132 }) 134 133 135 134 t.Run("SearchResult", func(t *testing.T) { 136 - f := func(f1 *SearchResult) bool { 137 - var repoURLs map[string]string 138 - var lineFragments map[string]string 135 + t.Run("unary", func(t *testing.T) { 136 + f := func(f1 *SearchResult) bool { 137 + var repoURLs map[string]string 138 + var lineFragments map[string]string 139 139 140 - if f1 != nil { 141 - repoURLs = f1.RepoURLs 142 - lineFragments = f1.LineFragments 140 + if f1 != nil { 141 + repoURLs = f1.RepoURLs 142 + lineFragments = f1.LineFragments 143 + } 144 + 145 + p1 := f1.ToProto() 146 + f2 := SearchResultFromProto(p1, repoURLs, lineFragments) 147 + 148 + return reflect.DeepEqual(f1, f2) 143 149 } 150 + if err := quick.Check(f, nil); err != nil { 151 + t.Fatal(err) 152 + } 153 + }) 144 154 145 - p1 := f1.ToProto() 146 - f2 := SearchResultFromProto(p1, repoURLs, lineFragments) 155 + t.Run("stream", func(t *testing.T) { 156 + f := func(f1 *SearchResult) bool { 157 + var repoURLs map[string]string 158 + var lineFragments map[string]string 147 159 148 - return reflect.DeepEqual(f1, f2) 149 - } 150 - if err := quick.Check(f, nil); err != nil { 151 - t.Fatal(err) 152 - } 160 + if f1 != nil { 161 + repoURLs = f1.RepoURLs 162 + lineFragments = f1.LineFragments 163 + } 164 + 165 + p1 := f1.ToStreamProto() 166 + f2 := SearchResultFromStreamProto(p1, repoURLs, lineFragments) 167 + 168 + return reflect.DeepEqual(f1, f2) 169 + } 170 + if err := quick.Check(f, nil); err != nil { 171 + t.Fatal(err) 172 + } 173 + }) 153 174 }) 154 175 155 176 t.Run("Repository", func(t *testing.T) { ··· 396 417 exampleSearchResultBytes []byte 397 418 398 419 // The proto struct representation of the search result 399 - exampleSearchResultProto = func() *v1.SearchResponse { 400 - sr := new(v1.SearchResponse) 420 + exampleSearchResultProto = func() *webproto.SearchResponse { 421 + sr := new(webproto.SearchResponse) 401 422 err := proto.Unmarshal(exampleSearchResultBytes, sr) 402 423 if err != nil { 403 424 panic(err) ··· 451 472 } 452 473 453 474 for _, buf := range buffers { 454 - res := new(v1.SearchResponse) 475 + res := new(webproto.SearchResponse) 455 476 err := proto.Unmarshal(buf, res) 456 477 if err != nil { 457 478 b.Fatal(err)
+1 -2
cmd/zoekt-sourcegraph-indexserver/index_test.go
··· 19 19 "time" 20 20 21 21 "github.com/sourcegraph/log/logtest" 22 - 22 + proto "github.com/sourcegraph/zoekt/cmd/zoekt-sourcegraph-indexserver/protos/sourcegraph/zoekt/configuration/v1" 23 23 "google.golang.org/grpc" 24 24 "google.golang.org/protobuf/testing/protocmp" 25 25 "google.golang.org/protobuf/types/known/timestamppb" ··· 28 28 "github.com/google/go-cmp/cmp/cmpopts" 29 29 30 30 "github.com/sourcegraph/zoekt" 31 - proto "github.com/sourcegraph/zoekt/cmd/zoekt-sourcegraph-indexserver/protos/sourcegraph/zoekt/configuration/v1" 32 31 ) 33 32 34 33 func TestIterateIndexOptions_Fingerprint(t *testing.T) {
+27 -1
cmd/zoekt-sourcegraph-indexserver/main.go
··· 31 31 "text/tabwriter" 32 32 "time" 33 33 34 + grpc_prometheus "github.com/grpc-ecosystem/go-grpc-middleware/providers/openmetrics/v2" 34 35 "github.com/keegancsmith/tmpfriend" 35 36 "github.com/peterbourgon/ff/v3/ffcli" 36 37 "github.com/prometheus/client_golang/prometheus" 37 38 "github.com/prometheus/client_golang/prometheus/promauto" 38 39 sglog "github.com/sourcegraph/log" 40 + proto "github.com/sourcegraph/zoekt/cmd/zoekt-sourcegraph-indexserver/protos/sourcegraph/zoekt/configuration/v1" 39 41 "github.com/sourcegraph/zoekt/grpc/internalerrs" 40 42 "github.com/sourcegraph/zoekt/grpc/messagesize" 41 43 "go.uber.org/automaxprocs/maxprocs" ··· 49 51 50 52 "github.com/sourcegraph/zoekt" 51 53 "github.com/sourcegraph/zoekt/build" 52 - proto "github.com/sourcegraph/zoekt/cmd/zoekt-sourcegraph-indexserver/protos/sourcegraph/zoekt/configuration/v1" 53 54 "github.com/sourcegraph/zoekt/debugserver" 54 55 "github.com/sourcegraph/zoekt/internal/profiler" 55 56 ) ··· 126 127 Name: "index_num_stopped_tracking_total", 127 128 Help: "Counts the number of repos we stopped tracking.", 128 129 }) 130 + 131 + clientMetricsOnce sync.Once 132 + clientMetrics *grpc_prometheus.ClientMetrics 129 133 ) 130 134 131 135 // set of repositories that we want to capture separate indexing metrics for ··· 1457 1461 const defaultGRPCMessageReceiveSizeBytes = 90 * 1024 * 1024 // 90 MB 1458 1462 1459 1463 func dialGRPCClient(addr string, logger sglog.Logger, additionalOpts ...grpc.DialOption) (proto.ZoektConfigurationServiceClient, error) { 1464 + metrics := mustGetClientMetrics() 1465 + 1460 1466 opts := []grpc.DialOption{ 1461 1467 grpc.WithTransportCredentials(insecure.NewCredentials()), 1462 1468 grpc.WithChainStreamInterceptor( 1469 + grpc_prometheus.StreamClientInterceptor(metrics), 1463 1470 internalActorStreamInterceptor(), 1464 1471 internalerrs.LoggingStreamClientInterceptor(logger), 1465 1472 internalerrs.PrometheusStreamClientInterceptor, 1466 1473 ), 1467 1474 grpc.WithChainUnaryInterceptor( 1475 + grpc_prometheus.UnaryClientInterceptor(metrics), 1468 1476 internalActorUnaryInterceptor(), 1469 1477 internalerrs.LoggingUnaryClientInterceptor(logger), 1470 1478 internalerrs.PrometheusUnaryClientInterceptor, ··· 1492 1500 1493 1501 client := proto.NewZoektConfigurationServiceClient(cc) 1494 1502 return client, nil 1503 + } 1504 + 1505 + // mustGetClientMetrics returns a singleton instance of the client metrics 1506 + // that are shared across all gRPC clients that this process creates. 1507 + // 1508 + // This function panics if the metrics cannot be registered with the default 1509 + // Prometheus registry. 1510 + func mustGetClientMetrics() *grpc_prometheus.ClientMetrics { 1511 + clientMetricsOnce.Do(func() { 1512 + clientMetrics = grpc_prometheus.NewRegisteredClientMetrics(prometheus.DefaultRegisterer, 1513 + grpc_prometheus.WithClientCounterOptions(), 1514 + grpc_prometheus.WithClientHandlingTimeHistogram(), // record the overall request latency for a gRPC request 1515 + grpc_prometheus.WithClientStreamRecvHistogram(), // record how long it takes for a client to receive a message during a streaming RPC 1516 + grpc_prometheus.WithClientStreamSendHistogram(), // record how long it takes for a client to send a message during a streaming RPC 1517 + ) 1518 + }) 1519 + 1520 + return clientMetrics 1495 1521 } 1496 1522 1497 1523 // addDefaultPort adds a default port to a URL if one is not specified.
-1
cmd/zoekt-sourcegraph-indexserver/main_test.go
··· 17 17 18 18 sglog "github.com/sourcegraph/log" 19 19 "github.com/sourcegraph/log/logtest" 20 - 21 20 "github.com/xeipuuv/gojsonschema" 22 21 "google.golang.org/grpc" 23 22
+1 -1
cmd/zoekt-sourcegraph-indexserver/sg.go
··· 23 23 24 24 "github.com/go-git/go-git/v5" 25 25 retryablehttp "github.com/hashicorp/go-retryablehttp" 26 + proto "github.com/sourcegraph/zoekt/cmd/zoekt-sourcegraph-indexserver/protos/sourcegraph/zoekt/configuration/v1" 26 27 "golang.org/x/net/trace" 27 28 "google.golang.org/grpc" 28 29 29 30 "github.com/sourcegraph/zoekt" 30 - proto "github.com/sourcegraph/zoekt/cmd/zoekt-sourcegraph-indexserver/protos/sourcegraph/zoekt/configuration/v1" 31 31 ) 32 32 33 33 // SourcegraphListResult is the return value of Sourcegraph.List. It is its
+28 -3
cmd/zoekt-webserver/main.go
··· 35 35 "runtime" 36 36 "strconv" 37 37 "strings" 38 + "sync" 38 39 "time" 39 40 41 + grpc_prometheus "github.com/grpc-ecosystem/go-grpc-middleware/providers/openmetrics/v2" 40 42 "github.com/sourcegraph/mountinfo" 43 + zoektgrpc "github.com/sourcegraph/zoekt/cmd/zoekt-webserver/grpc/server" 41 44 "github.com/sourcegraph/zoekt/grpc/internalerrs" 42 45 "github.com/sourcegraph/zoekt/grpc/messagesize" 43 - zoektgrpc "github.com/sourcegraph/zoekt/grpc/server" 46 + proto "github.com/sourcegraph/zoekt/grpc/protos/zoekt/webserver/v1" 44 47 "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc" 45 48 "golang.org/x/net/http2" 46 49 "golang.org/x/net/http2/h2c" ··· 49 52 "github.com/sourcegraph/zoekt" 50 53 "github.com/sourcegraph/zoekt/build" 51 54 "github.com/sourcegraph/zoekt/debugserver" 52 - v1 "github.com/sourcegraph/zoekt/grpc/v1" 53 55 "github.com/sourcegraph/zoekt/internal/profiler" 54 56 "github.com/sourcegraph/zoekt/internal/tracer" 55 57 "github.com/sourcegraph/zoekt/query" ··· 629 631 } 630 632 631 633 func newGRPCServer(logger sglog.Logger, streamer zoekt.Streamer, additionalOpts ...grpc.ServerOption) *grpc.Server { 634 + metrics := mustGetServerMetrics() 635 + 632 636 opts := []grpc.ServerOption{ 633 637 grpc.ChainStreamInterceptor( 634 638 otelgrpc.StreamServerInterceptor(), 639 + grpc_prometheus.StreamServerInterceptor(metrics), 635 640 internalerrs.LoggingStreamServerInterceptor(logger), 636 641 ), 637 642 grpc.ChainUnaryInterceptor( 638 643 otelgrpc.UnaryServerInterceptor(), 644 + grpc_prometheus.UnaryServerInterceptor(metrics), 639 645 internalerrs.LoggingUnaryServerInterceptor(logger), 640 646 ), 641 647 } ··· 650 656 opts = append(opts, messagesize.MustGetServerMessageSizeFromEnv()...) 651 657 652 658 s := grpc.NewServer(opts...) 653 - v1.RegisterWebserverServiceServer(s, zoektgrpc.NewServer(streamer)) 659 + proto.RegisterWebserverServiceServer(s, zoektgrpc.NewServer(streamer)) 654 660 655 661 return s 656 662 } ··· 672 678 Name: "zoekt_search_requests_total", 673 679 Help: "The total number of search requests that zoekt received", 674 680 }) 681 + 682 + serverMetricsOnce sync.Once 683 + serverMetrics *grpc_prometheus.ServerMetrics 675 684 ) 685 + 686 + // mustGetServerMetrics returns a singleton instance of the server metrics 687 + // that are shared across all gRPC servers that this process creates. 688 + // 689 + // This function panics if the metrics cannot be registered with the default 690 + // Prometheus registry. 691 + func mustGetServerMetrics() *grpc_prometheus.ServerMetrics { 692 + serverMetricsOnce.Do(func() { 693 + serverMetrics = grpc_prometheus.NewRegisteredServerMetrics(prometheus.DefaultRegisterer, 694 + grpc_prometheus.WithServerCounterOptions(), 695 + grpc_prometheus.WithServerHandlingTimeHistogram(), // record the overall response latency for a gRPC request) 696 + ) 697 + }) 698 + 699 + return serverMetrics 700 + }
+6 -1
gen-proto.sh
··· 5 5 6 6 find . -name "buf.gen.yaml" -not -path ".git" | while read -r buf_yaml; do 7 7 pushd "$(dirname "${buf_yaml}")" >/dev/null 8 - buf generate 8 + 9 + if ! buf generate; then 10 + echo "failed to generate ${buf_yaml}" >&2 11 + exit 1 12 + fi 13 + 9 14 popd >/dev/null 10 15 done
+11
go.mod
··· 17 17 github.com/google/go-github/v27 v27.0.6 18 18 github.com/google/slothfs v0.0.0-20190717100203-59c1163fd173 19 19 github.com/grafana/regexp v0.0.0-20221123153739-15dc172cd2db 20 + github.com/grpc-ecosystem/go-grpc-middleware/providers/openmetrics/v2 v2.0.0-rc.3 20 21 github.com/hashicorp/go-retryablehttp v0.7.4 21 22 github.com/keegancsmith/rpc v1.3.0 22 23 github.com/keegancsmith/tmpfriend v0.0.0-20180423180255-86e88902a513 ··· 94 95 github.com/google/uuid v1.3.0 // indirect 95 96 github.com/googleapis/enterprise-certificate-proxy v0.2.5 // indirect 96 97 github.com/googleapis/gax-go/v2 v2.11.0 // indirect 98 + github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.2.0.20210128111500-3ff779b52992 // indirect 97 99 github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect 98 100 github.com/hashicorp/go-cleanhttp v0.5.2 // indirect 99 101 github.com/hashicorp/go-hclog v0.16.2 // indirect ··· 139 141 gopkg.in/warnings.v0 v0.1.2 // indirect 140 142 gopkg.in/yaml.v3 v3.0.1 // indirect 141 143 ) 144 + 145 + // As of https://github.com/grpc-ecosystem/go-grpc-middleware/blob/7ac0846398432dee083fd8bc4ad7abacf8147ff2/providers/openmetrics/go.mod#L7, 146 + // the latest release of the gRPC Prometheus middleware depends on a version of go-grpc-middleware that is two years old, and 147 + // is incompatible with the latest gRPC releases. 148 + // 149 + // The parent project is currently working around this by using a local replace directive in their go.mod file (which ensures 150 + // that they always use the current version of go-grpc-middleware that they're developing). Until this issue is fixed, 151 + // we'll need to ensure that we explicitly depend on the latest version of go-grpc-middleware (v2.0.0-rc.3) as of this writing. 152 + replace github.com/grpc-ecosystem/go-grpc-middleware/v2 => github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.3 142 153 143 154 go 1.18
+509
go.sum
··· 1 1 cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= 2 2 cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= 3 + cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= 4 + cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= 5 + cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= 6 + cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= 7 + cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= 8 + cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= 9 + cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= 10 + cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= 11 + cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= 12 + cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= 13 + cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= 14 + cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= 15 + cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= 3 16 cloud.google.com/go v0.110.3 h1:wwearW+L7sAPSomPIgJ3bVn6Ck00HGQnn5HMLwf0azo= 4 17 cloud.google.com/go v0.110.3/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= 18 + cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= 19 + cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= 20 + cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= 21 + cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= 22 + cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= 23 + cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= 5 24 cloud.google.com/go/compute v1.20.1 h1:6aKEtlUiwEpJzM001l0yFkpXmUVXaN8W+fbkb2AZNbg= 6 25 cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= 7 26 cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= 8 27 cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= 28 + cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= 29 + cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= 9 30 cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= 10 31 cloud.google.com/go/profiler v0.3.1 h1:b5got9Be9Ia0HVvyt7PavWxXEht15B9lWnigdvHtxOc= 11 32 cloud.google.com/go/profiler v0.3.1/go.mod h1:GsG14VnmcMFQ9b+kq71wh3EKMZr3WRMgLzNiFRpW7tE= 33 + cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= 34 + cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= 35 + cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= 36 + cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= 37 + cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= 38 + cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= 39 + cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= 40 + cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= 41 + cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= 12 42 cloud.google.com/go/storage v1.30.1 h1:uOdMxAs8HExqBlnLtnQyP0YkvbiDpdGShGKtx6U/oNM= 13 43 dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= 14 44 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= 15 45 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= 16 46 github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= 17 47 github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= 48 + github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= 18 49 github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= 19 50 github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= 20 51 github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= ··· 22 53 github.com/ProtonMail/go-crypto v0.0.0-20230626094100-7e9e0395ebec/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= 23 54 github.com/RoaringBitmap/roaring v1.3.0 h1:aQmu9zQxDU0uhwR8SXOH/OrqEf+X8A0LQmwW3JX8Lcg= 24 55 github.com/RoaringBitmap/roaring v1.3.0/go.mod h1:plvDsJQpxOC5bw8LRteu/MLWHsHez/3y6cubLI4/1yE= 56 + github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= 57 + github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= 58 + github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= 25 59 github.com/acomagu/bufpipe v1.0.4 h1:e3H4WUzM3npvo5uv95QuJM3cQspFNtFBzvJ2oNjKIDQ= 26 60 github.com/acomagu/bufpipe v1.0.4/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= 61 + github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= 27 62 github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= 63 + github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= 64 + github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= 65 + github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= 66 + github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= 67 + github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= 28 68 github.com/andygrunwald/go-gerrit v0.0.0-20230628115649-c44fe2fbf2ca h1:q9HI3vudtbNNvaZl+l0oM7cQ07OES2x7ysiVwZpk89E= 29 69 github.com/andygrunwald/go-gerrit v0.0.0-20230628115649-c44fe2fbf2ca/go.mod h1:SeP12EkHZxEVjuJ2HZET304NBtHGG2X6w2Gzd0QXAZw= 30 70 github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= 31 71 github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= 72 + github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= 73 + github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= 74 + github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= 75 + github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= 76 + github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= 32 77 github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= 78 + github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= 79 + github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= 80 + github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= 81 + github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= 33 82 github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= 34 83 github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= 84 + github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= 85 + github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= 35 86 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= 36 87 github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= 88 + github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= 37 89 github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= 38 90 github.com/bits-and-blooms/bitset v1.8.0 h1:FD+XqgOZDUxxZ8hzoBFuV9+cGWY9CslN6d5MS5JVb4c= 39 91 github.com/bits-and-blooms/bitset v1.8.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= 40 92 github.com/bmatcuk/doublestar v1.3.4 h1:gPypJ5xD31uhX6Tf54sDPUOBXTqKH4c9aPY66CyQrS0= 41 93 github.com/bmatcuk/doublestar v1.3.4/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE= 42 94 github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= 95 + github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= 96 + github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= 43 97 github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= 44 98 github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= 45 99 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= ··· 49 103 github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= 50 104 github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= 51 105 github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= 106 + github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= 52 107 github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= 53 108 github.com/cloudflare/circl v1.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs= 54 109 github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= ··· 59 114 github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= 60 115 github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= 61 116 github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+gqO04wryn5h75LSazbRlnya1k= 117 + github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= 62 118 github.com/cockroachdb/errors v1.10.0 h1:lfxS8zZz1+OjtV4MtNWgboi/W5tyLEB6VQZBXN+0VUU= 63 119 github.com/cockroachdb/errors v1.10.0/go.mod h1:lknhIsEVQ9Ss/qKDBQS/UqFSvPQjOwNq2qyKAxtHRqE= 64 120 github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= 65 121 github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= 66 122 github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30= 67 123 github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= 124 + github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= 125 + github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= 126 + github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= 127 + github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= 128 + github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= 129 + github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= 68 130 github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= 69 131 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= 70 132 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= 71 133 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= 134 + github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= 135 + github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= 72 136 github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= 73 137 github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= 138 + github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= 139 + github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= 140 + github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= 141 + github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= 74 142 github.com/edsrzf/mmap-go v1.1.0 h1:6EUwBLQ/Mcr1EYLE4Tn1VdW1A4ckqCQWZBw8Hr0kjpQ= 75 143 github.com/edsrzf/mmap-go v1.1.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8EIth78Q= 76 144 github.com/elazarl/goproxy v0.0.0-20221015165544-a0805db90819 h1:RIB4cRk+lBqKK3Oy0r2gRX4ui7tuhiZq2SuTtTCi0/0= 77 145 github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= 78 146 github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= 147 + github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= 79 148 github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= 80 149 github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= 81 150 github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= 82 151 github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= 152 + github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= 83 153 github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= 84 154 github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= 85 155 github.com/envoyproxy/protoc-gen-validate v0.10.1 h1:c0g45+xCJhdgFGw7a5QAfdS4byAbud7miNWJ1WwEVf8= ··· 89 159 github.com/felixge/fgprof v0.9.3 h1:VvyZxILNuCiUCSXtPtYmmtGvb65nqXh2QFWc0Wpf2/g= 90 160 github.com/felixge/fgprof v0.9.3/go.mod h1:RdbpDgzqYVh/T9fPELJyV7EYJuHB55UTEULNun8eiPw= 91 161 github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= 162 + github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= 163 + github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= 164 + github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= 92 165 github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= 93 166 github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= 94 167 github.com/getsentry/sentry-go v0.22.0 h1:XNX9zKbv7baSEI65l+H1GEJgSeIC1c7EN5kluWaP6dM= ··· 110 183 github.com/go-git/go-git/v5 v5.7.0 h1:t9AudWVLmqzlo+4bqdf7GY+46SUuRsx59SboFxkq2aE= 111 184 github.com/go-git/go-git/v5 v5.7.0/go.mod h1:coJHKEOk5kUClpsNlXrUvPrDxY3w3gjHvhcZd8Fodw8= 112 185 github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= 186 + github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= 187 + github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= 188 + github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= 189 + github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= 190 + github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= 191 + github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= 192 + github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= 193 + github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= 113 194 github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= 114 195 github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= 115 196 github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= ··· 117 198 github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= 118 199 github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= 119 200 github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= 201 + github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= 202 + github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= 120 203 github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= 121 204 github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= 205 + github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= 206 + github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= 207 + github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= 208 + github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= 122 209 github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= 123 210 github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= 124 211 github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= 125 212 github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= 126 213 github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= 214 + github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= 215 + github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= 216 + github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= 127 217 github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= 128 218 github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= 129 219 github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= 130 220 github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= 221 + github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= 222 + github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= 223 + github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= 224 + github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= 225 + github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= 226 + github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= 131 227 github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= 132 228 github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= 133 229 github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= 134 230 github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= 135 231 github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= 232 + github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= 233 + github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= 136 234 github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= 137 235 github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= 138 236 github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= ··· 145 243 github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= 146 244 github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= 147 245 github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= 246 + github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= 247 + github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= 248 + github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= 148 249 github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= 149 250 github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= 150 251 github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= 151 252 github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= 253 + github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= 152 254 github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= 255 + github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= 153 256 github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= 154 257 github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= 155 258 github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= ··· 162 265 github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= 163 266 github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= 164 267 github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= 268 + github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= 269 + github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= 270 + github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= 271 + github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= 272 + github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= 273 + github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= 274 + github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= 275 + github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= 276 + github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= 277 + github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= 165 278 github.com/google/pprof v0.0.0-20211214055906-6f57359322fd/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg= 166 279 github.com/google/pprof v0.0.0-20230602150820-91b7bce49751 h1:hR7/MlvK23p6+lIw9SN1TigNLn9ZnF3W4SYRKq2gAHs= 167 280 github.com/google/pprof v0.0.0-20230602150820-91b7bce49751/go.mod h1:Jh3hGz2jkYak8qXPD19ryItVnUgpgeqzdkY/D0EaeuA= 281 + github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= 168 282 github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc= 169 283 github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= 170 284 github.com/google/slothfs v0.0.0-20190717100203-59c1163fd173 h1:iuModVoTuW2lBUobX9QBgqD+ipHbWKug6n8qkJfDtUE= 171 285 github.com/google/slothfs v0.0.0-20190717100203-59c1163fd173/go.mod h1:kzvK/MFjZSNdFgc1tCZML3E1nVvnB4/npSKEuvMoECU= 286 + github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= 172 287 github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= 173 288 github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= 174 289 github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= 175 290 github.com/googleapis/enterprise-certificate-proxy v0.2.5 h1:UR4rDjcgpgEnqpIEvkiqTYKBCKLNmlge2eVjoZfySzM= 176 291 github.com/googleapis/enterprise-certificate-proxy v0.2.5/go.mod h1:RxW0N9901Cko1VOCW3SXCpWP+mlIEkk2tP7jnHy9a3w= 292 + github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= 293 + github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= 177 294 github.com/googleapis/gax-go/v2 v2.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4= 178 295 github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= 296 + github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= 297 + github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= 298 + github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= 299 + github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= 300 + github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= 179 301 github.com/grafana/regexp v0.0.0-20221123153739-15dc172cd2db h1:7aN5cccjIqCLTzedH7MZzRZt5/lsAHch6Z3L2ZGn5FA= 180 302 github.com/grafana/regexp v0.0.0-20221123153739-15dc172cd2db/go.mod h1:M5qHK+eWfAv8VR/265dIuEpL3fNfeC21tXXp9itM24A= 303 + github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= 304 + github.com/grpc-ecosystem/go-grpc-middleware/providers/openmetrics/v2 v2.0.0-rc.3 h1:kKuOg7gEBO7otn5QpZ4FnlbZBz1p5EZ7sX6RDbE36Bc= 305 + github.com/grpc-ecosystem/go-grpc-middleware/providers/openmetrics/v2 v2.0.0-rc.3/go.mod h1:LzR39RXGCAfCfK/NNauJ1qqENhVoMuBt40i1EYuX9bs= 306 + github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.3 h1:o95KDiV/b1xdkumY5YbLR0/n2+wBxUpgf3HgfKgTyLI= 307 + github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.3/go.mod h1:hTxjzRcX49ogbTGVJ1sM5mz5s+SSgiGIyL3jjPxl32E= 308 + github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= 309 + github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= 181 310 github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= 182 311 github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms= 183 312 github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg= 313 + github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= 314 + github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= 315 + github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= 316 + github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= 184 317 github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= 185 318 github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= 186 319 github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= 187 320 github.com/hashicorp/go-hclog v0.16.2 h1:K4ev2ib4LdQETX5cSZBG0DVLk1jwGqSPXBjdah3veNs= 188 321 github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= 322 + github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= 323 + github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= 324 + github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= 189 325 github.com/hashicorp/go-retryablehttp v0.7.4 h1:ZQgVdpTdAL7WpMIwLzCfbalOcSUdkDZnpUv3/+BxzFA= 190 326 github.com/hashicorp/go-retryablehttp v0.7.4/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8= 327 + github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= 328 + github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= 329 + github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= 330 + github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= 331 + github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= 332 + github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= 333 + github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= 334 + github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= 335 + github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= 336 + github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= 337 + github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= 338 + github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= 339 + github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= 340 + github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= 341 + github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= 342 + github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= 191 343 github.com/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= 192 344 github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= 193 345 github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= 346 + github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= 347 + github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= 194 348 github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= 195 349 github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= 350 + github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= 351 + github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= 352 + github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= 353 + github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= 354 + github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= 355 + github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= 356 + github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= 357 + github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= 358 + github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= 359 + github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= 360 + github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= 361 + github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= 196 362 github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= 197 363 github.com/keegancsmith/rpc v1.3.0 h1:wGWOpjcNrZaY8GDYZJfvyxmlLljm3YQWF+p918DXtDk= 198 364 github.com/keegancsmith/rpc v1.3.0/go.mod h1:6O2xnOGjPyvIPbvp0MdrOe5r6cu1GZ4JoTzpzDhWeo0= ··· 200 366 github.com/keegancsmith/tmpfriend v0.0.0-20180423180255-86e88902a513/go.mod h1:MhGoae1pr+JFXxDAYx3b0fMn1xtr1ly9dHa0+KHHon4= 201 367 github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= 202 368 github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= 369 + github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= 203 370 github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= 204 371 github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= 372 + github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= 373 + github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= 374 + github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= 205 375 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= 206 376 github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= 207 377 github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= ··· 210 380 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= 211 381 github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= 212 382 github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= 383 + github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= 384 + github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= 213 385 github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= 386 + github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= 214 387 github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A= 215 388 github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= 389 + github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= 216 390 github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= 217 391 github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= 218 392 github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= 393 + github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= 394 + github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= 219 395 github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= 220 396 github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= 221 397 github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= 222 398 github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= 223 399 github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= 400 + github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= 401 + github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= 224 402 github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= 225 403 github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= 404 + github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= 405 + github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= 406 + github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= 407 + github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= 408 + github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= 409 + github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= 410 + github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= 226 411 github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= 227 412 github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= 228 413 github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= 229 414 github.com/moby/sys/mountinfo v0.6.2 h1:BzJjoreD5BMFNmD9Rus6gdd1pLuecOFPt8wC+Vygl78= 230 415 github.com/moby/sys/mountinfo v0.6.2/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI= 416 + github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= 417 + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= 418 + github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= 419 + github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= 231 420 github.com/mschoch/smat v0.2.0 h1:8imxQsjDm8yFEAVBe7azKmKSgzSkZXDuKkSq9374khM= 232 421 github.com/mschoch/smat v0.2.0/go.mod h1:kc9mz7DoBKqDyiRL7VZN8KvXQMWeTaVnttLRXOlotKw= 422 + github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= 423 + github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= 233 424 github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= 234 425 github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= 426 + github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= 427 + github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= 428 + github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= 429 + github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= 430 + github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= 431 + github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= 432 + github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= 235 433 github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= 434 + github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= 435 + github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= 436 + github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= 437 + github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= 438 + github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= 439 + github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= 440 + github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= 441 + github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= 442 + github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= 443 + github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= 444 + github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= 236 445 github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= 237 446 github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= 447 + github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= 448 + github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= 449 + github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= 450 + github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= 451 + github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= 452 + github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= 453 + github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= 454 + github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= 238 455 github.com/peterbourgon/ff/v3 v3.3.2 h1:2J07/5/36kd9HYVt42Zve0xCeQ+LLRIvoKrt6sAZXJ4= 239 456 github.com/peterbourgon/ff/v3 v3.3.2/go.mod h1:zjJVUhx+twciwfDl0zBcFzl4dW8axCRyXE/eKY9RztQ= 457 + github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= 458 + github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= 240 459 github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= 241 460 github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= 242 461 github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= 243 462 github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= 463 + github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= 464 + github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= 244 465 github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= 245 466 github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= 467 + github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= 246 468 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= 247 469 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= 470 + github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= 248 471 github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= 249 472 github.com/power-devops/perfstat v0.0.0-20221212215047-62379fc7944b h1:0LFwY6Q3gMACTjAbMZBjXAqTOzOwFaj2Ld6cjeQ7Rig= 250 473 github.com/power-devops/perfstat v0.0.0-20221212215047-62379fc7944b/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= 251 474 github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g= 475 + github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= 476 + github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= 477 + github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= 478 + github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= 479 + github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= 480 + github.com/prometheus/client_golang v1.9.0/go.mod h1:FqZLKOZnGdFAhOK4nqGHa7D66IdsO+O441Eve7ptJDU= 252 481 github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8= 253 482 github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc= 483 + github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= 484 + github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= 485 + github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= 254 486 github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= 487 + github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= 488 + github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= 255 489 github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY= 256 490 github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= 491 + github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= 492 + github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= 493 + github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= 494 + github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= 495 + github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= 257 496 github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY= 258 497 github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY= 498 + github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= 499 + github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= 500 + github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= 501 + github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= 502 + github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= 503 + github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= 259 504 github.com/prometheus/procfs v0.11.0 h1:5EAgkfkMl659uZPbe9AS2N68a7Cc1TJbPEuGzFuRbyk= 260 505 github.com/prometheus/procfs v0.11.0/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= 506 + github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= 507 + github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= 261 508 github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= 509 + github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= 262 510 github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= 263 511 github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= 264 512 github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= 265 513 github.com/rs/xid v1.5.0 h1:mKX4bl4iPYJtEIxp6CYiUuLQ/8DYMoz0PUdtGgMFRVc= 266 514 github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= 515 + github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= 516 + github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= 517 + github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= 518 + github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= 267 519 github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= 268 520 github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= 269 521 github.com/shirou/gopsutil/v3 v3.23.5 h1:5SgDCeQ0KW0S4N0znjeM/eFHXXOKyv2dVNgRq/c9P6Y= 270 522 github.com/shirou/gopsutil/v3 v3.23.5/go.mod h1:Ng3Maa27Q2KARVJ0SPZF5NdrQSC3XHKP8IIWrHgMeLY= 271 523 github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= 272 524 github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= 525 + github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= 526 + github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= 527 + github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= 528 + github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= 273 529 github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= 274 530 github.com/skeema/knownhosts v1.1.1 h1:MTk78x9FPgDFVFkDLTrsnnfCJl7g1C/nnKvePgrIngE= 275 531 github.com/skeema/knownhosts v1.1.1/go.mod h1:g4fPeYpque7P0xefxtGzV81ihjC8sX2IqpAoNkjxbMo= 532 + github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= 533 + github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= 534 + github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= 535 + github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= 276 536 github.com/sourcegraph/go-ctags v0.0.0-20230111110657-c27675da7f71 h1:tsWE3F3StWvnwLnC4JWb0zX0UHY9GULQtu/aoQvLJvI= 277 537 github.com/sourcegraph/go-ctags v0.0.0-20230111110657-c27675da7f71/go.mod h1:ZYjpRXoJrRlxjU9ZfpaUKJkk62AjhJPffN3rlw2aqxM= 278 538 github.com/sourcegraph/log v0.0.0-20230523201558-ad2d71b4d2ee h1:xz1lIhx6YvYYhiLio9INCIWHCZFH9MoRVuFye/lz07c= 279 539 github.com/sourcegraph/log v0.0.0-20230523201558-ad2d71b4d2ee/go.mod h1:IDp09QkoqS8Z3CyN2RW6vXjgABkNpDbyjLIHNQwQ8P8= 280 540 github.com/sourcegraph/mountinfo v0.0.0-20230106004439-7026e28cef67 h1:NSYSPQOE7yyyytLbKQHjxSkPnBagaGQblgVMQrQ1je0= 281 541 github.com/sourcegraph/mountinfo v0.0.0-20230106004439-7026e28cef67/go.mod h1:4DAabK408OEbyK2NUEQ5YRApyB/p0XNGJyC1YPBAKq4= 542 + github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= 543 + github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= 544 + github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= 545 + github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= 546 + github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= 282 547 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= 548 + github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= 283 549 github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= 284 550 github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= 285 551 github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= ··· 295 561 github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= 296 562 github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI= 297 563 github.com/tklauser/numcpus v0.6.0/go.mod h1:FEZLMke0lhOUG6w2JadTzp0a+Nl8PF/GFkQ5UVIcaL4= 564 + github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= 298 565 github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o= 299 566 github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= 300 567 github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= 301 568 github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= 569 + github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= 570 + github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= 302 571 github.com/xanzy/go-gitlab v0.86.0 h1:jR8V9cK9jXRQDb46KOB20NCF3ksY09luaG0IfXE6p7w= 303 572 github.com/xanzy/go-gitlab v0.86.0/go.mod h1:5ryv+MnpZStBH8I/77HuQBsMbBGANtVpLWC15qOjWAw= 304 573 github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= ··· 310 579 github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= 311 580 github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= 312 581 github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= 582 + github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= 583 + github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= 313 584 github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= 585 + github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= 314 586 github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= 315 587 github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= 316 588 github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw= 317 589 github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= 590 + go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= 591 + go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= 592 + go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= 593 + go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= 594 + go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= 595 + go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= 596 + go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= 597 + go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= 598 + go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= 318 599 go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= 319 600 go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= 320 601 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.42.0 h1:ZOLJc06r4CB42laIXg/7udr0pbZyuAihN10A/XuiQRY= ··· 344 625 go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= 345 626 go.opentelemetry.io/proto/otlp v0.20.0 h1:BLOA1cZBAGSbRiNuGCCKiFrCdYB7deeHDeD1SueyOfA= 346 627 go.opentelemetry.io/proto/otlp v0.20.0/go.mod h1:3QgjzPALBIv9pcknj2EXGPXjYPFdUh/RQfF8Lz3+Vnw= 628 + go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= 629 + go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= 347 630 go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= 348 631 go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= 349 632 go.uber.org/automaxprocs v1.5.2 h1:2LxUOGiR3O6tw8ui5sZa2LAaHnsviZdVOUZw4fvbnME= 350 633 go.uber.org/automaxprocs v1.5.2/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0= 351 634 go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= 635 + go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= 636 + go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= 352 637 go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= 353 638 go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= 639 + go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= 640 + go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= 641 + go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= 354 642 go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= 355 643 go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= 644 + golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= 645 + golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= 356 646 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= 357 647 golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 648 + golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 649 + golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 358 650 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 359 651 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= 360 652 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= ··· 369 661 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= 370 662 golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= 371 663 golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= 664 + golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= 665 + golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= 372 666 golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= 667 + golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= 668 + golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= 669 + golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= 670 + golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= 671 + golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= 373 672 golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1 h1:MGwJjxBy0HJshjDNfLsYO8xppfqWlA5ZT9OhtUUhTNw= 374 673 golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= 375 674 golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= ··· 377 676 golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= 378 677 golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= 379 678 golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= 679 + golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= 380 680 golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= 681 + golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= 682 + golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= 683 + golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= 684 + golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= 685 + golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= 686 + golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= 687 + golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= 381 688 golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= 689 + golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= 382 690 golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= 691 + golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= 692 + golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= 383 693 golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= 384 694 golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= 385 695 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= ··· 388 698 golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= 389 699 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= 390 700 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= 701 + golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= 702 + golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= 703 + golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= 704 + golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= 705 + golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= 391 706 golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= 707 + golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= 392 708 golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= 393 709 golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= 394 710 golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= 711 + golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= 712 + golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= 395 713 golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= 714 + golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= 396 715 golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= 716 + golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= 717 + golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= 718 + golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= 719 + golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= 720 + golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= 721 + golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= 722 + golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= 397 723 golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= 724 + golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= 725 + golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= 726 + golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= 727 + golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= 728 + golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= 729 + golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= 730 + golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= 731 + golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= 398 732 golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= 399 733 golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= 400 734 golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= 401 735 golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= 736 + golang.org/x/net v0.0.0-20210423184538-5f58ad60dda6/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= 402 737 golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= 403 738 golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= 404 739 golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= ··· 408 743 golang.org/x/net v0.11.0 h1:Gi2tvZIJyBtO9SDr1q9h5hEQCp/4L2RQ+ar0qjx2oNU= 409 744 golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= 410 745 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= 746 + golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= 411 747 golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= 748 + golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= 412 749 golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= 750 + golang.org/x/oauth2 v0.0.0-20210413134643-5e61552d6c78/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= 413 751 golang.org/x/oauth2 v0.9.0 h1:BPpt2kU7oMRq3kCHAA1tbSEshXRw1LpG2ztgDwrzuAs= 414 752 golang.org/x/oauth2 v0.9.0/go.mod h1:qYgFZaFiu6Wg24azG8bdV52QJXJGbZzIIsRCdVKzbLw= 415 753 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= ··· 418 756 golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 419 757 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 420 758 golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 759 + golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 760 + golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 421 761 golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 422 762 golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 423 763 golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 424 764 golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= 425 765 golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= 766 + golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= 426 767 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= 768 + golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= 769 + golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= 770 + golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= 771 + golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= 772 + golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= 773 + golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= 427 774 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= 428 775 golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= 429 776 golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 430 777 golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 778 + golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 779 + golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 780 + golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 781 + golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 782 + golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 783 + golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 784 + golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 431 785 golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 786 + golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 432 787 golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 433 788 golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 789 + golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 790 + golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 791 + golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 792 + golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 793 + golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 794 + golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 795 + golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 796 + golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 797 + golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 798 + golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 434 799 golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 800 + golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 801 + golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 802 + golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 803 + golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 804 + golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 805 + golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 806 + golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 807 + golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 435 808 golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 436 809 golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 437 810 golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 811 + golang.org/x/sys v0.0.0-20201214210602-f9fddec55a1e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 438 812 golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 439 813 golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 440 814 golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= ··· 457 831 golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= 458 832 golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= 459 833 golang.org/x/term v0.9.0 h1:GRRCnKYhdQrD8kfRAdQ6Zcw1P0OcELxGLKJvtjVMZ28= 834 + golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 460 835 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 836 + golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 461 837 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= 462 838 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= 463 839 golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= ··· 468 844 golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= 469 845 golang.org/x/text v0.10.0 h1:UpjohKhiEgNc0CSauXmwYftY1+LlaC75SJwh0SgCX58= 470 846 golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= 847 + golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= 848 + golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= 849 + golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= 850 + golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= 471 851 golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= 472 852 golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= 853 + golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= 473 854 golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= 855 + golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= 474 856 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= 475 857 golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= 476 858 golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= 477 859 golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= 478 860 golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= 861 + golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= 862 + golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= 863 + golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= 864 + golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= 865 + golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= 479 866 golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= 867 + golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= 868 + golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= 869 + golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= 870 + golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= 871 + golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= 480 872 golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= 873 + golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= 874 + golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= 875 + golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= 876 + golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= 481 877 golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= 878 + golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= 879 + golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= 880 + golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= 881 + golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= 882 + golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= 883 + golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= 884 + golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= 885 + golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= 886 + golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= 887 + golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= 888 + golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= 889 + golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= 890 + golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= 891 + golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= 892 + golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= 893 + golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= 894 + golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= 895 + golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= 896 + golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= 897 + golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= 482 898 golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= 899 + golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= 900 + golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= 901 + golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= 483 902 golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= 484 903 golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= 485 904 golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= ··· 494 913 gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= 495 914 gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= 496 915 gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= 916 + google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= 917 + google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= 918 + google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= 919 + google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= 920 + google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= 921 + google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= 922 + google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= 923 + google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= 924 + google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= 925 + google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= 926 + google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= 927 + google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= 928 + google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= 929 + google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= 930 + google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= 931 + google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= 932 + google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= 497 933 google.golang.org/api v0.129.0 h1:2XbdjjNfFPXQyufzQVwPf1RRnHH8Den2pfNE2jw7L8w= 498 934 google.golang.org/api v0.129.0/go.mod h1:dFjiXlanKwWE3612X97llhsoI36FAoIiRj3aTl5b/zE= 499 935 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= 936 + google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= 500 937 google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= 938 + google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= 939 + google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= 940 + google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= 941 + google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= 501 942 google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= 502 943 google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= 503 944 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= 945 + google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= 946 + google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= 947 + google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= 948 + google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= 949 + google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= 950 + google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= 504 951 google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= 952 + google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= 953 + google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= 954 + google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= 955 + google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= 956 + google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= 957 + google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= 958 + google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= 959 + google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= 960 + google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= 961 + google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= 962 + google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= 963 + google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= 964 + google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= 965 + google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= 966 + google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= 967 + google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= 505 968 google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= 969 + google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= 506 970 google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= 971 + google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= 972 + google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= 973 + google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= 974 + google.golang.org/genproto v0.0.0-20200806141610-86f49bd18e98/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= 975 + google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= 507 976 google.golang.org/genproto v0.0.0-20230628200519-e449d1ea0e82 h1:Wdfp5Hc1bqGCWYZNrir4A1Jb+SmVaV2j1DL/pbMMTGI= 508 977 google.golang.org/genproto v0.0.0-20230628200519-e449d1ea0e82/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= 509 978 google.golang.org/genproto/googleapis/api v0.0.0-20230628200519-e449d1ea0e82 h1:iI5Fmsfz4zDINYxJLxn2YChI//ypkHM/KuVSvlN7ZXk= 510 979 google.golang.org/genproto/googleapis/api v0.0.0-20230628200519-e449d1ea0e82/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= 511 980 google.golang.org/genproto/googleapis/rpc v0.0.0-20230628200519-e449d1ea0e82 h1:6b+zGQBiXFlAMpQr+cCarAdrZD4QgXSG7uUZadYysgg= 512 981 google.golang.org/genproto/googleapis/rpc v0.0.0-20230628200519-e449d1ea0e82/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= 982 + google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= 513 983 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= 984 + google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= 985 + google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= 986 + google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= 987 + google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= 988 + google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= 514 989 google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= 990 + google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= 515 991 google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= 992 + google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= 516 993 google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= 994 + google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= 995 + google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= 996 + google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= 997 + google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= 998 + google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= 517 999 google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= 518 1000 google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= 519 1001 google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= 1002 + google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= 520 1003 google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= 521 1004 google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ= 522 1005 google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= 1006 + google.golang.org/grpc/examples v0.0.0-20210424002626-9572fd6faeae/go.mod h1:Ly7ZA/ARzg8fnPU9TyZIxoz33sEUuWX7txiqs8lPTgE= 523 1007 google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= 524 1008 google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= 525 1009 google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= ··· 528 1012 google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= 529 1013 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= 530 1014 google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= 1015 + google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= 531 1016 google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= 532 1017 google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= 533 1018 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= 534 1019 google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= 535 1020 google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= 1021 + gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= 536 1022 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= 1023 + gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= 537 1024 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= 538 1025 gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= 539 1026 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= 540 1027 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= 1028 + gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= 1029 + gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= 1030 + gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= 1031 + gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= 541 1032 gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= 542 1033 gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= 1034 + gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= 1035 + gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= 543 1036 gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= 544 1037 gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= 1038 + gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= 1039 + gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= 545 1040 gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= 546 1041 gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= 1042 + gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= 1043 + gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= 547 1044 gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= 1045 + gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= 548 1046 gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= 549 1047 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= 550 1048 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= 551 1049 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= 1050 + honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= 552 1051 honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= 1052 + honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= 1053 + honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= 553 1054 honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= 1055 + honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= 1056 + honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= 1057 + honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= 1058 + rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= 554 1059 rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= 1060 + rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= 1061 + rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= 1062 + sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= 1063 + sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU=
+7
grpc/protos/buf.yaml
··· 1 + version: v1 2 + breaking: 3 + use: 4 + - FILE 5 + lint: 6 + use: 7 + - DEFAULT
+1809
grpc/protos/zoekt/webserver/v1/query.pb.go
··· 1 + // Code generated by protoc-gen-go. DO NOT EDIT. 2 + // versions: 3 + // protoc-gen-go v1.29.1 4 + // protoc (unknown) 5 + // source: zoekt/webserver/v1/query.proto 6 + 7 + package v1 8 + 9 + import ( 10 + protoreflect "google.golang.org/protobuf/reflect/protoreflect" 11 + protoimpl "google.golang.org/protobuf/runtime/protoimpl" 12 + reflect "reflect" 13 + sync "sync" 14 + ) 15 + 16 + const ( 17 + // Verify that this generated code is sufficiently up-to-date. 18 + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 19 + // Verify that runtime/protoimpl is sufficiently up-to-date. 20 + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 21 + ) 22 + 23 + type RawConfig_Flag int32 24 + 25 + const ( 26 + RawConfig_FLAG_UNKNOWN_UNSPECIFIED RawConfig_Flag = 0 27 + RawConfig_FLAG_ONLY_PUBLIC RawConfig_Flag = 1 28 + RawConfig_FLAG_ONLY_PRIVATE RawConfig_Flag = 2 29 + RawConfig_FLAG_ONLY_FORKS RawConfig_Flag = 4 30 + RawConfig_FLAG_NO_FORKS RawConfig_Flag = 8 31 + RawConfig_FLAG_ONLY_ARCHIVED RawConfig_Flag = 16 32 + RawConfig_FLAG_NO_ARCHIVED RawConfig_Flag = 32 33 + ) 34 + 35 + // Enum value maps for RawConfig_Flag. 36 + var ( 37 + RawConfig_Flag_name = map[int32]string{ 38 + 0: "FLAG_UNKNOWN_UNSPECIFIED", 39 + 1: "FLAG_ONLY_PUBLIC", 40 + 2: "FLAG_ONLY_PRIVATE", 41 + 4: "FLAG_ONLY_FORKS", 42 + 8: "FLAG_NO_FORKS", 43 + 16: "FLAG_ONLY_ARCHIVED", 44 + 32: "FLAG_NO_ARCHIVED", 45 + } 46 + RawConfig_Flag_value = map[string]int32{ 47 + "FLAG_UNKNOWN_UNSPECIFIED": 0, 48 + "FLAG_ONLY_PUBLIC": 1, 49 + "FLAG_ONLY_PRIVATE": 2, 50 + "FLAG_ONLY_FORKS": 4, 51 + "FLAG_NO_FORKS": 8, 52 + "FLAG_ONLY_ARCHIVED": 16, 53 + "FLAG_NO_ARCHIVED": 32, 54 + } 55 + ) 56 + 57 + func (x RawConfig_Flag) Enum() *RawConfig_Flag { 58 + p := new(RawConfig_Flag) 59 + *p = x 60 + return p 61 + } 62 + 63 + func (x RawConfig_Flag) String() string { 64 + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 65 + } 66 + 67 + func (RawConfig_Flag) Descriptor() protoreflect.EnumDescriptor { 68 + return file_zoekt_webserver_v1_query_proto_enumTypes[0].Descriptor() 69 + } 70 + 71 + func (RawConfig_Flag) Type() protoreflect.EnumType { 72 + return &file_zoekt_webserver_v1_query_proto_enumTypes[0] 73 + } 74 + 75 + func (x RawConfig_Flag) Number() protoreflect.EnumNumber { 76 + return protoreflect.EnumNumber(x) 77 + } 78 + 79 + // Deprecated: Use RawConfig_Flag.Descriptor instead. 80 + func (RawConfig_Flag) EnumDescriptor() ([]byte, []int) { 81 + return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{1, 0} 82 + } 83 + 84 + type Type_Kind int32 85 + 86 + const ( 87 + Type_KIND_UNKNOWN_UNSPECIFIED Type_Kind = 0 88 + Type_KIND_FILE_MATCH Type_Kind = 1 89 + Type_KIND_FILE_NAME Type_Kind = 2 90 + Type_KIND_REPO Type_Kind = 3 91 + ) 92 + 93 + // Enum value maps for Type_Kind. 94 + var ( 95 + Type_Kind_name = map[int32]string{ 96 + 0: "KIND_UNKNOWN_UNSPECIFIED", 97 + 1: "KIND_FILE_MATCH", 98 + 2: "KIND_FILE_NAME", 99 + 3: "KIND_REPO", 100 + } 101 + Type_Kind_value = map[string]int32{ 102 + "KIND_UNKNOWN_UNSPECIFIED": 0, 103 + "KIND_FILE_MATCH": 1, 104 + "KIND_FILE_NAME": 2, 105 + "KIND_REPO": 3, 106 + } 107 + ) 108 + 109 + func (x Type_Kind) Enum() *Type_Kind { 110 + p := new(Type_Kind) 111 + *p = x 112 + return p 113 + } 114 + 115 + func (x Type_Kind) String() string { 116 + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 117 + } 118 + 119 + func (Type_Kind) Descriptor() protoreflect.EnumDescriptor { 120 + return file_zoekt_webserver_v1_query_proto_enumTypes[1].Descriptor() 121 + } 122 + 123 + func (Type_Kind) Type() protoreflect.EnumType { 124 + return &file_zoekt_webserver_v1_query_proto_enumTypes[1] 125 + } 126 + 127 + func (x Type_Kind) Number() protoreflect.EnumNumber { 128 + return protoreflect.EnumNumber(x) 129 + } 130 + 131 + // Deprecated: Use Type_Kind.Descriptor instead. 132 + func (Type_Kind) EnumDescriptor() ([]byte, []int) { 133 + return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{12, 0} 134 + } 135 + 136 + type Q struct { 137 + state protoimpl.MessageState 138 + sizeCache protoimpl.SizeCache 139 + unknownFields protoimpl.UnknownFields 140 + 141 + // Types that are assignable to Query: 142 + // 143 + // *Q_RawConfig 144 + // *Q_Regexp 145 + // *Q_Symbol 146 + // *Q_Language 147 + // *Q_Const 148 + // *Q_Repo 149 + // *Q_RepoRegexp 150 + // *Q_BranchesRepos 151 + // *Q_RepoIds 152 + // *Q_RepoSet 153 + // *Q_FileNameSet 154 + // *Q_Type 155 + // *Q_Substring 156 + // *Q_And 157 + // *Q_Or 158 + // *Q_Not 159 + // *Q_Branch 160 + Query isQ_Query `protobuf_oneof:"query"` 161 + } 162 + 163 + func (x *Q) Reset() { 164 + *x = Q{} 165 + if protoimpl.UnsafeEnabled { 166 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[0] 167 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 168 + ms.StoreMessageInfo(mi) 169 + } 170 + } 171 + 172 + func (x *Q) String() string { 173 + return protoimpl.X.MessageStringOf(x) 174 + } 175 + 176 + func (*Q) ProtoMessage() {} 177 + 178 + func (x *Q) ProtoReflect() protoreflect.Message { 179 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[0] 180 + if protoimpl.UnsafeEnabled && x != nil { 181 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 182 + if ms.LoadMessageInfo() == nil { 183 + ms.StoreMessageInfo(mi) 184 + } 185 + return ms 186 + } 187 + return mi.MessageOf(x) 188 + } 189 + 190 + // Deprecated: Use Q.ProtoReflect.Descriptor instead. 191 + func (*Q) Descriptor() ([]byte, []int) { 192 + return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{0} 193 + } 194 + 195 + func (m *Q) GetQuery() isQ_Query { 196 + if m != nil { 197 + return m.Query 198 + } 199 + return nil 200 + } 201 + 202 + func (x *Q) GetRawConfig() *RawConfig { 203 + if x, ok := x.GetQuery().(*Q_RawConfig); ok { 204 + return x.RawConfig 205 + } 206 + return nil 207 + } 208 + 209 + func (x *Q) GetRegexp() *Regexp { 210 + if x, ok := x.GetQuery().(*Q_Regexp); ok { 211 + return x.Regexp 212 + } 213 + return nil 214 + } 215 + 216 + func (x *Q) GetSymbol() *Symbol { 217 + if x, ok := x.GetQuery().(*Q_Symbol); ok { 218 + return x.Symbol 219 + } 220 + return nil 221 + } 222 + 223 + func (x *Q) GetLanguage() *Language { 224 + if x, ok := x.GetQuery().(*Q_Language); ok { 225 + return x.Language 226 + } 227 + return nil 228 + } 229 + 230 + func (x *Q) GetConst() bool { 231 + if x, ok := x.GetQuery().(*Q_Const); ok { 232 + return x.Const 233 + } 234 + return false 235 + } 236 + 237 + func (x *Q) GetRepo() *Repo { 238 + if x, ok := x.GetQuery().(*Q_Repo); ok { 239 + return x.Repo 240 + } 241 + return nil 242 + } 243 + 244 + func (x *Q) GetRepoRegexp() *RepoRegexp { 245 + if x, ok := x.GetQuery().(*Q_RepoRegexp); ok { 246 + return x.RepoRegexp 247 + } 248 + return nil 249 + } 250 + 251 + func (x *Q) GetBranchesRepos() *BranchesRepos { 252 + if x, ok := x.GetQuery().(*Q_BranchesRepos); ok { 253 + return x.BranchesRepos 254 + } 255 + return nil 256 + } 257 + 258 + func (x *Q) GetRepoIds() *RepoIds { 259 + if x, ok := x.GetQuery().(*Q_RepoIds); ok { 260 + return x.RepoIds 261 + } 262 + return nil 263 + } 264 + 265 + func (x *Q) GetRepoSet() *RepoSet { 266 + if x, ok := x.GetQuery().(*Q_RepoSet); ok { 267 + return x.RepoSet 268 + } 269 + return nil 270 + } 271 + 272 + func (x *Q) GetFileNameSet() *FileNameSet { 273 + if x, ok := x.GetQuery().(*Q_FileNameSet); ok { 274 + return x.FileNameSet 275 + } 276 + return nil 277 + } 278 + 279 + func (x *Q) GetType() *Type { 280 + if x, ok := x.GetQuery().(*Q_Type); ok { 281 + return x.Type 282 + } 283 + return nil 284 + } 285 + 286 + func (x *Q) GetSubstring() *Substring { 287 + if x, ok := x.GetQuery().(*Q_Substring); ok { 288 + return x.Substring 289 + } 290 + return nil 291 + } 292 + 293 + func (x *Q) GetAnd() *And { 294 + if x, ok := x.GetQuery().(*Q_And); ok { 295 + return x.And 296 + } 297 + return nil 298 + } 299 + 300 + func (x *Q) GetOr() *Or { 301 + if x, ok := x.GetQuery().(*Q_Or); ok { 302 + return x.Or 303 + } 304 + return nil 305 + } 306 + 307 + func (x *Q) GetNot() *Not { 308 + if x, ok := x.GetQuery().(*Q_Not); ok { 309 + return x.Not 310 + } 311 + return nil 312 + } 313 + 314 + func (x *Q) GetBranch() *Branch { 315 + if x, ok := x.GetQuery().(*Q_Branch); ok { 316 + return x.Branch 317 + } 318 + return nil 319 + } 320 + 321 + type isQ_Query interface { 322 + isQ_Query() 323 + } 324 + 325 + type Q_RawConfig struct { 326 + RawConfig *RawConfig `protobuf:"bytes,1,opt,name=raw_config,json=rawConfig,proto3,oneof"` 327 + } 328 + 329 + type Q_Regexp struct { 330 + Regexp *Regexp `protobuf:"bytes,2,opt,name=regexp,proto3,oneof"` 331 + } 332 + 333 + type Q_Symbol struct { 334 + Symbol *Symbol `protobuf:"bytes,3,opt,name=symbol,proto3,oneof"` 335 + } 336 + 337 + type Q_Language struct { 338 + Language *Language `protobuf:"bytes,4,opt,name=language,proto3,oneof"` 339 + } 340 + 341 + type Q_Const struct { 342 + Const bool `protobuf:"varint,5,opt,name=const,proto3,oneof"` 343 + } 344 + 345 + type Q_Repo struct { 346 + Repo *Repo `protobuf:"bytes,6,opt,name=repo,proto3,oneof"` 347 + } 348 + 349 + type Q_RepoRegexp struct { 350 + RepoRegexp *RepoRegexp `protobuf:"bytes,7,opt,name=repo_regexp,json=repoRegexp,proto3,oneof"` 351 + } 352 + 353 + type Q_BranchesRepos struct { 354 + BranchesRepos *BranchesRepos `protobuf:"bytes,8,opt,name=branches_repos,json=branchesRepos,proto3,oneof"` 355 + } 356 + 357 + type Q_RepoIds struct { 358 + RepoIds *RepoIds `protobuf:"bytes,9,opt,name=repo_ids,json=repoIds,proto3,oneof"` 359 + } 360 + 361 + type Q_RepoSet struct { 362 + RepoSet *RepoSet `protobuf:"bytes,10,opt,name=repo_set,json=repoSet,proto3,oneof"` 363 + } 364 + 365 + type Q_FileNameSet struct { 366 + FileNameSet *FileNameSet `protobuf:"bytes,11,opt,name=file_name_set,json=fileNameSet,proto3,oneof"` 367 + } 368 + 369 + type Q_Type struct { 370 + Type *Type `protobuf:"bytes,12,opt,name=type,proto3,oneof"` 371 + } 372 + 373 + type Q_Substring struct { 374 + Substring *Substring `protobuf:"bytes,13,opt,name=substring,proto3,oneof"` 375 + } 376 + 377 + type Q_And struct { 378 + And *And `protobuf:"bytes,14,opt,name=and,proto3,oneof"` 379 + } 380 + 381 + type Q_Or struct { 382 + Or *Or `protobuf:"bytes,15,opt,name=or,proto3,oneof"` 383 + } 384 + 385 + type Q_Not struct { 386 + Not *Not `protobuf:"bytes,16,opt,name=not,proto3,oneof"` 387 + } 388 + 389 + type Q_Branch struct { 390 + Branch *Branch `protobuf:"bytes,17,opt,name=branch,proto3,oneof"` 391 + } 392 + 393 + func (*Q_RawConfig) isQ_Query() {} 394 + 395 + func (*Q_Regexp) isQ_Query() {} 396 + 397 + func (*Q_Symbol) isQ_Query() {} 398 + 399 + func (*Q_Language) isQ_Query() {} 400 + 401 + func (*Q_Const) isQ_Query() {} 402 + 403 + func (*Q_Repo) isQ_Query() {} 404 + 405 + func (*Q_RepoRegexp) isQ_Query() {} 406 + 407 + func (*Q_BranchesRepos) isQ_Query() {} 408 + 409 + func (*Q_RepoIds) isQ_Query() {} 410 + 411 + func (*Q_RepoSet) isQ_Query() {} 412 + 413 + func (*Q_FileNameSet) isQ_Query() {} 414 + 415 + func (*Q_Type) isQ_Query() {} 416 + 417 + func (*Q_Substring) isQ_Query() {} 418 + 419 + func (*Q_And) isQ_Query() {} 420 + 421 + func (*Q_Or) isQ_Query() {} 422 + 423 + func (*Q_Not) isQ_Query() {} 424 + 425 + func (*Q_Branch) isQ_Query() {} 426 + 427 + // RawConfig filters repositories based on their encoded RawConfig map. 428 + type RawConfig struct { 429 + state protoimpl.MessageState 430 + sizeCache protoimpl.SizeCache 431 + unknownFields protoimpl.UnknownFields 432 + 433 + Flags []RawConfig_Flag `protobuf:"varint,1,rep,packed,name=flags,proto3,enum=zoekt.webserver.v1.RawConfig_Flag" json:"flags,omitempty"` 434 + } 435 + 436 + func (x *RawConfig) Reset() { 437 + *x = RawConfig{} 438 + if protoimpl.UnsafeEnabled { 439 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[1] 440 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 441 + ms.StoreMessageInfo(mi) 442 + } 443 + } 444 + 445 + func (x *RawConfig) String() string { 446 + return protoimpl.X.MessageStringOf(x) 447 + } 448 + 449 + func (*RawConfig) ProtoMessage() {} 450 + 451 + func (x *RawConfig) ProtoReflect() protoreflect.Message { 452 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[1] 453 + if protoimpl.UnsafeEnabled && x != nil { 454 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 455 + if ms.LoadMessageInfo() == nil { 456 + ms.StoreMessageInfo(mi) 457 + } 458 + return ms 459 + } 460 + return mi.MessageOf(x) 461 + } 462 + 463 + // Deprecated: Use RawConfig.ProtoReflect.Descriptor instead. 464 + func (*RawConfig) Descriptor() ([]byte, []int) { 465 + return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{1} 466 + } 467 + 468 + func (x *RawConfig) GetFlags() []RawConfig_Flag { 469 + if x != nil { 470 + return x.Flags 471 + } 472 + return nil 473 + } 474 + 475 + // Regexp is a query looking for regular expressions matches. 476 + type Regexp struct { 477 + state protoimpl.MessageState 478 + sizeCache protoimpl.SizeCache 479 + unknownFields protoimpl.UnknownFields 480 + 481 + Regexp string `protobuf:"bytes,1,opt,name=regexp,proto3" json:"regexp,omitempty"` 482 + FileName bool `protobuf:"varint,2,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"` 483 + Content bool `protobuf:"varint,3,opt,name=content,proto3" json:"content,omitempty"` 484 + CaseSensitive bool `protobuf:"varint,4,opt,name=case_sensitive,json=caseSensitive,proto3" json:"case_sensitive,omitempty"` 485 + } 486 + 487 + func (x *Regexp) Reset() { 488 + *x = Regexp{} 489 + if protoimpl.UnsafeEnabled { 490 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[2] 491 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 492 + ms.StoreMessageInfo(mi) 493 + } 494 + } 495 + 496 + func (x *Regexp) String() string { 497 + return protoimpl.X.MessageStringOf(x) 498 + } 499 + 500 + func (*Regexp) ProtoMessage() {} 501 + 502 + func (x *Regexp) ProtoReflect() protoreflect.Message { 503 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[2] 504 + if protoimpl.UnsafeEnabled && x != nil { 505 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 506 + if ms.LoadMessageInfo() == nil { 507 + ms.StoreMessageInfo(mi) 508 + } 509 + return ms 510 + } 511 + return mi.MessageOf(x) 512 + } 513 + 514 + // Deprecated: Use Regexp.ProtoReflect.Descriptor instead. 515 + func (*Regexp) Descriptor() ([]byte, []int) { 516 + return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{2} 517 + } 518 + 519 + func (x *Regexp) GetRegexp() string { 520 + if x != nil { 521 + return x.Regexp 522 + } 523 + return "" 524 + } 525 + 526 + func (x *Regexp) GetFileName() bool { 527 + if x != nil { 528 + return x.FileName 529 + } 530 + return false 531 + } 532 + 533 + func (x *Regexp) GetContent() bool { 534 + if x != nil { 535 + return x.Content 536 + } 537 + return false 538 + } 539 + 540 + func (x *Regexp) GetCaseSensitive() bool { 541 + if x != nil { 542 + return x.CaseSensitive 543 + } 544 + return false 545 + } 546 + 547 + type Symbol struct { 548 + state protoimpl.MessageState 549 + sizeCache protoimpl.SizeCache 550 + unknownFields protoimpl.UnknownFields 551 + 552 + Expr *Q `protobuf:"bytes,1,opt,name=expr,proto3" json:"expr,omitempty"` 553 + } 554 + 555 + func (x *Symbol) Reset() { 556 + *x = Symbol{} 557 + if protoimpl.UnsafeEnabled { 558 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[3] 559 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 560 + ms.StoreMessageInfo(mi) 561 + } 562 + } 563 + 564 + func (x *Symbol) String() string { 565 + return protoimpl.X.MessageStringOf(x) 566 + } 567 + 568 + func (*Symbol) ProtoMessage() {} 569 + 570 + func (x *Symbol) ProtoReflect() protoreflect.Message { 571 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[3] 572 + if protoimpl.UnsafeEnabled && x != nil { 573 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 574 + if ms.LoadMessageInfo() == nil { 575 + ms.StoreMessageInfo(mi) 576 + } 577 + return ms 578 + } 579 + return mi.MessageOf(x) 580 + } 581 + 582 + // Deprecated: Use Symbol.ProtoReflect.Descriptor instead. 583 + func (*Symbol) Descriptor() ([]byte, []int) { 584 + return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{3} 585 + } 586 + 587 + func (x *Symbol) GetExpr() *Q { 588 + if x != nil { 589 + return x.Expr 590 + } 591 + return nil 592 + } 593 + 594 + type Language struct { 595 + state protoimpl.MessageState 596 + sizeCache protoimpl.SizeCache 597 + unknownFields protoimpl.UnknownFields 598 + 599 + Language string `protobuf:"bytes,1,opt,name=language,proto3" json:"language,omitempty"` 600 + } 601 + 602 + func (x *Language) Reset() { 603 + *x = Language{} 604 + if protoimpl.UnsafeEnabled { 605 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[4] 606 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 607 + ms.StoreMessageInfo(mi) 608 + } 609 + } 610 + 611 + func (x *Language) String() string { 612 + return protoimpl.X.MessageStringOf(x) 613 + } 614 + 615 + func (*Language) ProtoMessage() {} 616 + 617 + func (x *Language) ProtoReflect() protoreflect.Message { 618 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[4] 619 + if protoimpl.UnsafeEnabled && x != nil { 620 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 621 + if ms.LoadMessageInfo() == nil { 622 + ms.StoreMessageInfo(mi) 623 + } 624 + return ms 625 + } 626 + return mi.MessageOf(x) 627 + } 628 + 629 + // Deprecated: Use Language.ProtoReflect.Descriptor instead. 630 + func (*Language) Descriptor() ([]byte, []int) { 631 + return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{4} 632 + } 633 + 634 + func (x *Language) GetLanguage() string { 635 + if x != nil { 636 + return x.Language 637 + } 638 + return "" 639 + } 640 + 641 + type Repo struct { 642 + state protoimpl.MessageState 643 + sizeCache protoimpl.SizeCache 644 + unknownFields protoimpl.UnknownFields 645 + 646 + Regexp string `protobuf:"bytes,1,opt,name=regexp,proto3" json:"regexp,omitempty"` 647 + } 648 + 649 + func (x *Repo) Reset() { 650 + *x = Repo{} 651 + if protoimpl.UnsafeEnabled { 652 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[5] 653 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 654 + ms.StoreMessageInfo(mi) 655 + } 656 + } 657 + 658 + func (x *Repo) String() string { 659 + return protoimpl.X.MessageStringOf(x) 660 + } 661 + 662 + func (*Repo) ProtoMessage() {} 663 + 664 + func (x *Repo) ProtoReflect() protoreflect.Message { 665 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[5] 666 + if protoimpl.UnsafeEnabled && x != nil { 667 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 668 + if ms.LoadMessageInfo() == nil { 669 + ms.StoreMessageInfo(mi) 670 + } 671 + return ms 672 + } 673 + return mi.MessageOf(x) 674 + } 675 + 676 + // Deprecated: Use Repo.ProtoReflect.Descriptor instead. 677 + func (*Repo) Descriptor() ([]byte, []int) { 678 + return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{5} 679 + } 680 + 681 + func (x *Repo) GetRegexp() string { 682 + if x != nil { 683 + return x.Regexp 684 + } 685 + return "" 686 + } 687 + 688 + type RepoRegexp struct { 689 + state protoimpl.MessageState 690 + sizeCache protoimpl.SizeCache 691 + unknownFields protoimpl.UnknownFields 692 + 693 + Regexp string `protobuf:"bytes,1,opt,name=regexp,proto3" json:"regexp,omitempty"` 694 + } 695 + 696 + func (x *RepoRegexp) Reset() { 697 + *x = RepoRegexp{} 698 + if protoimpl.UnsafeEnabled { 699 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[6] 700 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 701 + ms.StoreMessageInfo(mi) 702 + } 703 + } 704 + 705 + func (x *RepoRegexp) String() string { 706 + return protoimpl.X.MessageStringOf(x) 707 + } 708 + 709 + func (*RepoRegexp) ProtoMessage() {} 710 + 711 + func (x *RepoRegexp) ProtoReflect() protoreflect.Message { 712 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[6] 713 + if protoimpl.UnsafeEnabled && x != nil { 714 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 715 + if ms.LoadMessageInfo() == nil { 716 + ms.StoreMessageInfo(mi) 717 + } 718 + return ms 719 + } 720 + return mi.MessageOf(x) 721 + } 722 + 723 + // Deprecated: Use RepoRegexp.ProtoReflect.Descriptor instead. 724 + func (*RepoRegexp) Descriptor() ([]byte, []int) { 725 + return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{6} 726 + } 727 + 728 + func (x *RepoRegexp) GetRegexp() string { 729 + if x != nil { 730 + return x.Regexp 731 + } 732 + return "" 733 + } 734 + 735 + // BranchesRepos is a slice of BranchRepos to match. 736 + type BranchesRepos struct { 737 + state protoimpl.MessageState 738 + sizeCache protoimpl.SizeCache 739 + unknownFields protoimpl.UnknownFields 740 + 741 + List []*BranchRepos `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` 742 + } 743 + 744 + func (x *BranchesRepos) Reset() { 745 + *x = BranchesRepos{} 746 + if protoimpl.UnsafeEnabled { 747 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[7] 748 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 749 + ms.StoreMessageInfo(mi) 750 + } 751 + } 752 + 753 + func (x *BranchesRepos) String() string { 754 + return protoimpl.X.MessageStringOf(x) 755 + } 756 + 757 + func (*BranchesRepos) ProtoMessage() {} 758 + 759 + func (x *BranchesRepos) ProtoReflect() protoreflect.Message { 760 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[7] 761 + if protoimpl.UnsafeEnabled && x != nil { 762 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 763 + if ms.LoadMessageInfo() == nil { 764 + ms.StoreMessageInfo(mi) 765 + } 766 + return ms 767 + } 768 + return mi.MessageOf(x) 769 + } 770 + 771 + // Deprecated: Use BranchesRepos.ProtoReflect.Descriptor instead. 772 + func (*BranchesRepos) Descriptor() ([]byte, []int) { 773 + return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{7} 774 + } 775 + 776 + func (x *BranchesRepos) GetList() []*BranchRepos { 777 + if x != nil { 778 + return x.List 779 + } 780 + return nil 781 + } 782 + 783 + // BranchRepos is a (branch, sourcegraph repo ids bitmap) tuple. It is a 784 + // Sourcegraph addition. 785 + type BranchRepos struct { 786 + state protoimpl.MessageState 787 + sizeCache protoimpl.SizeCache 788 + unknownFields protoimpl.UnknownFields 789 + 790 + Branch string `protobuf:"bytes,1,opt,name=branch,proto3" json:"branch,omitempty"` 791 + // a serialized roaring bitmap of the target repo ids 792 + Repos []byte `protobuf:"bytes,2,opt,name=repos,proto3" json:"repos,omitempty"` 793 + } 794 + 795 + func (x *BranchRepos) Reset() { 796 + *x = BranchRepos{} 797 + if protoimpl.UnsafeEnabled { 798 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[8] 799 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 800 + ms.StoreMessageInfo(mi) 801 + } 802 + } 803 + 804 + func (x *BranchRepos) String() string { 805 + return protoimpl.X.MessageStringOf(x) 806 + } 807 + 808 + func (*BranchRepos) ProtoMessage() {} 809 + 810 + func (x *BranchRepos) ProtoReflect() protoreflect.Message { 811 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[8] 812 + if protoimpl.UnsafeEnabled && x != nil { 813 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 814 + if ms.LoadMessageInfo() == nil { 815 + ms.StoreMessageInfo(mi) 816 + } 817 + return ms 818 + } 819 + return mi.MessageOf(x) 820 + } 821 + 822 + // Deprecated: Use BranchRepos.ProtoReflect.Descriptor instead. 823 + func (*BranchRepos) Descriptor() ([]byte, []int) { 824 + return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{8} 825 + } 826 + 827 + func (x *BranchRepos) GetBranch() string { 828 + if x != nil { 829 + return x.Branch 830 + } 831 + return "" 832 + } 833 + 834 + func (x *BranchRepos) GetRepos() []byte { 835 + if x != nil { 836 + return x.Repos 837 + } 838 + return nil 839 + } 840 + 841 + // Similar to BranchRepos but will be used to match only by repoid and 842 + // therefore matches all branches 843 + type RepoIds struct { 844 + state protoimpl.MessageState 845 + sizeCache protoimpl.SizeCache 846 + unknownFields protoimpl.UnknownFields 847 + 848 + // a serialized roaring bitmap of the target repo ids 849 + Repos []byte `protobuf:"bytes,1,opt,name=repos,proto3" json:"repos,omitempty"` 850 + } 851 + 852 + func (x *RepoIds) Reset() { 853 + *x = RepoIds{} 854 + if protoimpl.UnsafeEnabled { 855 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[9] 856 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 857 + ms.StoreMessageInfo(mi) 858 + } 859 + } 860 + 861 + func (x *RepoIds) String() string { 862 + return protoimpl.X.MessageStringOf(x) 863 + } 864 + 865 + func (*RepoIds) ProtoMessage() {} 866 + 867 + func (x *RepoIds) ProtoReflect() protoreflect.Message { 868 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[9] 869 + if protoimpl.UnsafeEnabled && x != nil { 870 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 871 + if ms.LoadMessageInfo() == nil { 872 + ms.StoreMessageInfo(mi) 873 + } 874 + return ms 875 + } 876 + return mi.MessageOf(x) 877 + } 878 + 879 + // Deprecated: Use RepoIds.ProtoReflect.Descriptor instead. 880 + func (*RepoIds) Descriptor() ([]byte, []int) { 881 + return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{9} 882 + } 883 + 884 + func (x *RepoIds) GetRepos() []byte { 885 + if x != nil { 886 + return x.Repos 887 + } 888 + return nil 889 + } 890 + 891 + // RepoSet is a list of repos to match. 892 + type RepoSet struct { 893 + state protoimpl.MessageState 894 + sizeCache protoimpl.SizeCache 895 + unknownFields protoimpl.UnknownFields 896 + 897 + Set map[string]bool `protobuf:"bytes,1,rep,name=set,proto3" json:"set,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` 898 + } 899 + 900 + func (x *RepoSet) Reset() { 901 + *x = RepoSet{} 902 + if protoimpl.UnsafeEnabled { 903 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[10] 904 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 905 + ms.StoreMessageInfo(mi) 906 + } 907 + } 908 + 909 + func (x *RepoSet) String() string { 910 + return protoimpl.X.MessageStringOf(x) 911 + } 912 + 913 + func (*RepoSet) ProtoMessage() {} 914 + 915 + func (x *RepoSet) ProtoReflect() protoreflect.Message { 916 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[10] 917 + if protoimpl.UnsafeEnabled && x != nil { 918 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 919 + if ms.LoadMessageInfo() == nil { 920 + ms.StoreMessageInfo(mi) 921 + } 922 + return ms 923 + } 924 + return mi.MessageOf(x) 925 + } 926 + 927 + // Deprecated: Use RepoSet.ProtoReflect.Descriptor instead. 928 + func (*RepoSet) Descriptor() ([]byte, []int) { 929 + return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{10} 930 + } 931 + 932 + func (x *RepoSet) GetSet() map[string]bool { 933 + if x != nil { 934 + return x.Set 935 + } 936 + return nil 937 + } 938 + 939 + // FileNameSet is a list of file names to match. 940 + type FileNameSet struct { 941 + state protoimpl.MessageState 942 + sizeCache protoimpl.SizeCache 943 + unknownFields protoimpl.UnknownFields 944 + 945 + Set []string `protobuf:"bytes,1,rep,name=set,proto3" json:"set,omitempty"` 946 + } 947 + 948 + func (x *FileNameSet) Reset() { 949 + *x = FileNameSet{} 950 + if protoimpl.UnsafeEnabled { 951 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[11] 952 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 953 + ms.StoreMessageInfo(mi) 954 + } 955 + } 956 + 957 + func (x *FileNameSet) String() string { 958 + return protoimpl.X.MessageStringOf(x) 959 + } 960 + 961 + func (*FileNameSet) ProtoMessage() {} 962 + 963 + func (x *FileNameSet) ProtoReflect() protoreflect.Message { 964 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[11] 965 + if protoimpl.UnsafeEnabled && x != nil { 966 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 967 + if ms.LoadMessageInfo() == nil { 968 + ms.StoreMessageInfo(mi) 969 + } 970 + return ms 971 + } 972 + return mi.MessageOf(x) 973 + } 974 + 975 + // Deprecated: Use FileNameSet.ProtoReflect.Descriptor instead. 976 + func (*FileNameSet) Descriptor() ([]byte, []int) { 977 + return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{11} 978 + } 979 + 980 + func (x *FileNameSet) GetSet() []string { 981 + if x != nil { 982 + return x.Set 983 + } 984 + return nil 985 + } 986 + 987 + // Type changes the result type returned. 988 + type Type struct { 989 + state protoimpl.MessageState 990 + sizeCache protoimpl.SizeCache 991 + unknownFields protoimpl.UnknownFields 992 + 993 + Child *Q `protobuf:"bytes,1,opt,name=child,proto3" json:"child,omitempty"` 994 + // TODO: type constants 995 + Type Type_Kind `protobuf:"varint,2,opt,name=type,proto3,enum=zoekt.webserver.v1.Type_Kind" json:"type,omitempty"` 996 + } 997 + 998 + func (x *Type) Reset() { 999 + *x = Type{} 1000 + if protoimpl.UnsafeEnabled { 1001 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[12] 1002 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1003 + ms.StoreMessageInfo(mi) 1004 + } 1005 + } 1006 + 1007 + func (x *Type) String() string { 1008 + return protoimpl.X.MessageStringOf(x) 1009 + } 1010 + 1011 + func (*Type) ProtoMessage() {} 1012 + 1013 + func (x *Type) ProtoReflect() protoreflect.Message { 1014 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[12] 1015 + if protoimpl.UnsafeEnabled && x != nil { 1016 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1017 + if ms.LoadMessageInfo() == nil { 1018 + ms.StoreMessageInfo(mi) 1019 + } 1020 + return ms 1021 + } 1022 + return mi.MessageOf(x) 1023 + } 1024 + 1025 + // Deprecated: Use Type.ProtoReflect.Descriptor instead. 1026 + func (*Type) Descriptor() ([]byte, []int) { 1027 + return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{12} 1028 + } 1029 + 1030 + func (x *Type) GetChild() *Q { 1031 + if x != nil { 1032 + return x.Child 1033 + } 1034 + return nil 1035 + } 1036 + 1037 + func (x *Type) GetType() Type_Kind { 1038 + if x != nil { 1039 + return x.Type 1040 + } 1041 + return Type_KIND_UNKNOWN_UNSPECIFIED 1042 + } 1043 + 1044 + type Substring struct { 1045 + state protoimpl.MessageState 1046 + sizeCache protoimpl.SizeCache 1047 + unknownFields protoimpl.UnknownFields 1048 + 1049 + Pattern string `protobuf:"bytes,1,opt,name=pattern,proto3" json:"pattern,omitempty"` 1050 + CaseSensitive bool `protobuf:"varint,2,opt,name=case_sensitive,json=caseSensitive,proto3" json:"case_sensitive,omitempty"` 1051 + // Match only filename 1052 + FileName bool `protobuf:"varint,3,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"` 1053 + // Match only content 1054 + Content bool `protobuf:"varint,4,opt,name=content,proto3" json:"content,omitempty"` 1055 + } 1056 + 1057 + func (x *Substring) Reset() { 1058 + *x = Substring{} 1059 + if protoimpl.UnsafeEnabled { 1060 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[13] 1061 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1062 + ms.StoreMessageInfo(mi) 1063 + } 1064 + } 1065 + 1066 + func (x *Substring) String() string { 1067 + return protoimpl.X.MessageStringOf(x) 1068 + } 1069 + 1070 + func (*Substring) ProtoMessage() {} 1071 + 1072 + func (x *Substring) ProtoReflect() protoreflect.Message { 1073 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[13] 1074 + if protoimpl.UnsafeEnabled && x != nil { 1075 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1076 + if ms.LoadMessageInfo() == nil { 1077 + ms.StoreMessageInfo(mi) 1078 + } 1079 + return ms 1080 + } 1081 + return mi.MessageOf(x) 1082 + } 1083 + 1084 + // Deprecated: Use Substring.ProtoReflect.Descriptor instead. 1085 + func (*Substring) Descriptor() ([]byte, []int) { 1086 + return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{13} 1087 + } 1088 + 1089 + func (x *Substring) GetPattern() string { 1090 + if x != nil { 1091 + return x.Pattern 1092 + } 1093 + return "" 1094 + } 1095 + 1096 + func (x *Substring) GetCaseSensitive() bool { 1097 + if x != nil { 1098 + return x.CaseSensitive 1099 + } 1100 + return false 1101 + } 1102 + 1103 + func (x *Substring) GetFileName() bool { 1104 + if x != nil { 1105 + return x.FileName 1106 + } 1107 + return false 1108 + } 1109 + 1110 + func (x *Substring) GetContent() bool { 1111 + if x != nil { 1112 + return x.Content 1113 + } 1114 + return false 1115 + } 1116 + 1117 + // And is matched when all its children are. 1118 + type And struct { 1119 + state protoimpl.MessageState 1120 + sizeCache protoimpl.SizeCache 1121 + unknownFields protoimpl.UnknownFields 1122 + 1123 + Children []*Q `protobuf:"bytes,1,rep,name=children,proto3" json:"children,omitempty"` 1124 + } 1125 + 1126 + func (x *And) Reset() { 1127 + *x = And{} 1128 + if protoimpl.UnsafeEnabled { 1129 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[14] 1130 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1131 + ms.StoreMessageInfo(mi) 1132 + } 1133 + } 1134 + 1135 + func (x *And) String() string { 1136 + return protoimpl.X.MessageStringOf(x) 1137 + } 1138 + 1139 + func (*And) ProtoMessage() {} 1140 + 1141 + func (x *And) ProtoReflect() protoreflect.Message { 1142 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[14] 1143 + if protoimpl.UnsafeEnabled && x != nil { 1144 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1145 + if ms.LoadMessageInfo() == nil { 1146 + ms.StoreMessageInfo(mi) 1147 + } 1148 + return ms 1149 + } 1150 + return mi.MessageOf(x) 1151 + } 1152 + 1153 + // Deprecated: Use And.ProtoReflect.Descriptor instead. 1154 + func (*And) Descriptor() ([]byte, []int) { 1155 + return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{14} 1156 + } 1157 + 1158 + func (x *And) GetChildren() []*Q { 1159 + if x != nil { 1160 + return x.Children 1161 + } 1162 + return nil 1163 + } 1164 + 1165 + // Or is matched when any of its children is matched. 1166 + type Or struct { 1167 + state protoimpl.MessageState 1168 + sizeCache protoimpl.SizeCache 1169 + unknownFields protoimpl.UnknownFields 1170 + 1171 + Children []*Q `protobuf:"bytes,1,rep,name=children,proto3" json:"children,omitempty"` 1172 + } 1173 + 1174 + func (x *Or) Reset() { 1175 + *x = Or{} 1176 + if protoimpl.UnsafeEnabled { 1177 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[15] 1178 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1179 + ms.StoreMessageInfo(mi) 1180 + } 1181 + } 1182 + 1183 + func (x *Or) String() string { 1184 + return protoimpl.X.MessageStringOf(x) 1185 + } 1186 + 1187 + func (*Or) ProtoMessage() {} 1188 + 1189 + func (x *Or) ProtoReflect() protoreflect.Message { 1190 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[15] 1191 + if protoimpl.UnsafeEnabled && x != nil { 1192 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1193 + if ms.LoadMessageInfo() == nil { 1194 + ms.StoreMessageInfo(mi) 1195 + } 1196 + return ms 1197 + } 1198 + return mi.MessageOf(x) 1199 + } 1200 + 1201 + // Deprecated: Use Or.ProtoReflect.Descriptor instead. 1202 + func (*Or) Descriptor() ([]byte, []int) { 1203 + return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{15} 1204 + } 1205 + 1206 + func (x *Or) GetChildren() []*Q { 1207 + if x != nil { 1208 + return x.Children 1209 + } 1210 + return nil 1211 + } 1212 + 1213 + // Not inverts the meaning of its child. 1214 + type Not struct { 1215 + state protoimpl.MessageState 1216 + sizeCache protoimpl.SizeCache 1217 + unknownFields protoimpl.UnknownFields 1218 + 1219 + Child *Q `protobuf:"bytes,1,opt,name=child,proto3" json:"child,omitempty"` 1220 + } 1221 + 1222 + func (x *Not) Reset() { 1223 + *x = Not{} 1224 + if protoimpl.UnsafeEnabled { 1225 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[16] 1226 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1227 + ms.StoreMessageInfo(mi) 1228 + } 1229 + } 1230 + 1231 + func (x *Not) String() string { 1232 + return protoimpl.X.MessageStringOf(x) 1233 + } 1234 + 1235 + func (*Not) ProtoMessage() {} 1236 + 1237 + func (x *Not) ProtoReflect() protoreflect.Message { 1238 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[16] 1239 + if protoimpl.UnsafeEnabled && x != nil { 1240 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1241 + if ms.LoadMessageInfo() == nil { 1242 + ms.StoreMessageInfo(mi) 1243 + } 1244 + return ms 1245 + } 1246 + return mi.MessageOf(x) 1247 + } 1248 + 1249 + // Deprecated: Use Not.ProtoReflect.Descriptor instead. 1250 + func (*Not) Descriptor() ([]byte, []int) { 1251 + return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{16} 1252 + } 1253 + 1254 + func (x *Not) GetChild() *Q { 1255 + if x != nil { 1256 + return x.Child 1257 + } 1258 + return nil 1259 + } 1260 + 1261 + // Branch limits search to a specific branch. 1262 + type Branch struct { 1263 + state protoimpl.MessageState 1264 + sizeCache protoimpl.SizeCache 1265 + unknownFields protoimpl.UnknownFields 1266 + 1267 + Pattern string `protobuf:"bytes,1,opt,name=pattern,proto3" json:"pattern,omitempty"` 1268 + // exact is true if we want to Pattern to equal branch. 1269 + Exact bool `protobuf:"varint,2,opt,name=exact,proto3" json:"exact,omitempty"` 1270 + } 1271 + 1272 + func (x *Branch) Reset() { 1273 + *x = Branch{} 1274 + if protoimpl.UnsafeEnabled { 1275 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[17] 1276 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1277 + ms.StoreMessageInfo(mi) 1278 + } 1279 + } 1280 + 1281 + func (x *Branch) String() string { 1282 + return protoimpl.X.MessageStringOf(x) 1283 + } 1284 + 1285 + func (*Branch) ProtoMessage() {} 1286 + 1287 + func (x *Branch) ProtoReflect() protoreflect.Message { 1288 + mi := &file_zoekt_webserver_v1_query_proto_msgTypes[17] 1289 + if protoimpl.UnsafeEnabled && x != nil { 1290 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1291 + if ms.LoadMessageInfo() == nil { 1292 + ms.StoreMessageInfo(mi) 1293 + } 1294 + return ms 1295 + } 1296 + return mi.MessageOf(x) 1297 + } 1298 + 1299 + // Deprecated: Use Branch.ProtoReflect.Descriptor instead. 1300 + func (*Branch) Descriptor() ([]byte, []int) { 1301 + return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{17} 1302 + } 1303 + 1304 + func (x *Branch) GetPattern() string { 1305 + if x != nil { 1306 + return x.Pattern 1307 + } 1308 + return "" 1309 + } 1310 + 1311 + func (x *Branch) GetExact() bool { 1312 + if x != nil { 1313 + return x.Exact 1314 + } 1315 + return false 1316 + } 1317 + 1318 + var File_zoekt_webserver_v1_query_proto protoreflect.FileDescriptor 1319 + 1320 + var file_zoekt_webserver_v1_query_proto_rawDesc = []byte{ 1321 + 0x0a, 0x1e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2f, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 1322 + 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1323 + 0x12, 0x12, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 1324 + 0x72, 0x2e, 0x76, 0x31, 0x22, 0xaf, 0x07, 0x0a, 0x01, 0x51, 0x12, 0x3e, 0x0a, 0x0a, 0x72, 0x61, 1325 + 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 1326 + 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 1327 + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 1328 + 0x09, 0x72, 0x61, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65, 1329 + 0x67, 0x65, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x7a, 0x6f, 0x65, 1330 + 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 1331 + 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 1332 + 0x12, 0x34, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 1333 + 0x32, 0x1a, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 1334 + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x06, 1335 + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x3a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 1336 + 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 1337 + 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 1338 + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 1339 + 0x67, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 1340 + 0x08, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x72, 0x65, 1341 + 0x70, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 1342 + 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 1343 + 0x70, 0x6f, 0x48, 0x00, 0x52, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x12, 0x41, 0x0a, 0x0b, 0x72, 0x65, 1344 + 0x70, 0x6f, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 1345 + 0x1e, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 1346 + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x48, 1347 + 0x00, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x12, 0x4a, 0x0a, 1348 + 0x0e, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x18, 1349 + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 1350 + 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63, 1351 + 0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x62, 0x72, 0x61, 0x6e, 1352 + 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x72, 0x65, 0x70, 1353 + 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x7a, 0x6f, 1354 + 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 1355 + 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x49, 0x64, 0x73, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f, 1356 + 0x49, 0x64, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x73, 0x65, 0x74, 0x18, 1357 + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 1358 + 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x53, 1359 + 0x65, 0x74, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x45, 0x0a, 1360 + 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x0b, 1361 + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 1362 + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 1363 + 0x6d, 0x65, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 1364 + 0x65, 0x53, 0x65, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 1365 + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 1366 + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x04, 1367 + 0x74, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, 1368 + 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 1369 + 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 1370 + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x74, 0x72, 1371 + 0x69, 0x6e, 0x67, 0x12, 0x2b, 0x0a, 0x03, 0x61, 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 1372 + 0x32, 0x17, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 1373 + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x64, 1374 + 0x12, 0x28, 0x0a, 0x02, 0x6f, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x7a, 1375 + 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 1376 + 0x31, 0x2e, 0x4f, 0x72, 0x48, 0x00, 0x52, 0x02, 0x6f, 0x72, 0x12, 0x2b, 0x0a, 0x03, 0x6e, 0x6f, 1377 + 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 1378 + 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 1379 + 0x48, 0x00, 0x52, 0x03, 0x6e, 0x6f, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 1380 + 0x68, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 1381 + 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x72, 0x61, 1382 + 0x6e, 0x63, 0x68, 0x48, 0x00, 0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x42, 0x07, 0x0a, 1383 + 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xef, 0x01, 0x0a, 0x09, 0x52, 0x61, 0x77, 0x43, 0x6f, 1384 + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 1385 + 0x03, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 1386 + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x77, 0x43, 0x6f, 0x6e, 0x66, 1387 + 0x69, 0x67, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0xa7, 1388 + 0x01, 0x0a, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x4c, 0x41, 0x47, 0x5f, 1389 + 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 1390 + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4f, 0x4e, 1391 + 0x4c, 0x59, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x46, 1392 + 0x4c, 0x41, 0x47, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 1393 + 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 1394 + 0x46, 0x4f, 0x52, 0x4b, 0x53, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x4c, 0x41, 0x47, 0x5f, 1395 + 0x4e, 0x4f, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x53, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x4c, 1396 + 0x41, 0x47, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x56, 0x45, 0x44, 1397 + 0x10, 0x10, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4e, 0x4f, 0x5f, 0x41, 0x52, 1398 + 0x43, 0x48, 0x49, 0x56, 0x45, 0x44, 0x10, 0x20, 0x22, 0x7e, 0x0a, 0x06, 0x52, 0x65, 0x67, 0x65, 1399 + 0x78, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x18, 0x01, 0x20, 0x01, 1400 + 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 1401 + 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 1402 + 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 1403 + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 1404 + 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 1405 + 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x61, 0x73, 0x65, 0x53, 1406 + 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x22, 0x33, 0x0a, 0x06, 0x53, 0x79, 0x6d, 0x62, 1407 + 0x6f, 0x6c, 0x12, 0x29, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 1408 + 0x32, 0x15, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 1409 + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x22, 0x26, 0x0a, 1410 + 0x08, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 1411 + 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 1412 + 0x67, 0x75, 0x61, 0x67, 0x65, 0x22, 0x1e, 0x0a, 0x04, 0x52, 0x65, 0x70, 0x6f, 0x12, 0x16, 0x0a, 1413 + 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 1414 + 0x65, 0x67, 0x65, 0x78, 0x70, 0x22, 0x24, 0x0a, 0x0a, 0x52, 0x65, 0x70, 0x6f, 0x52, 0x65, 0x67, 1415 + 0x65, 0x78, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x18, 0x01, 0x20, 1416 + 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x22, 0x44, 0x0a, 0x0d, 0x42, 1417 + 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x33, 0x0a, 0x04, 1418 + 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x7a, 0x6f, 0x65, 1419 + 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 1420 + 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x52, 0x04, 0x6c, 0x69, 0x73, 1421 + 0x74, 0x22, 0x3b, 0x0a, 0x0b, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x73, 1422 + 0x12, 0x16, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 1423 + 0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x70, 0x6f, 1424 + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x22, 0x1f, 1425 + 0x0a, 0x07, 0x52, 0x65, 0x70, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x70, 1426 + 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x22, 1427 + 0x79, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x36, 0x0a, 0x03, 0x73, 0x65, 1428 + 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 1429 + 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 1430 + 0x6f, 0x53, 0x65, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x73, 1431 + 0x65, 0x74, 0x1a, 0x36, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 1432 + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 1433 + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 1434 + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1f, 0x0a, 0x0b, 0x46, 0x69, 1435 + 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x74, 1436 + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x73, 0x65, 0x74, 0x22, 0xc4, 0x01, 0x0a, 0x04, 1437 + 0x54, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 1438 + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 1439 + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x52, 0x05, 0x63, 0x68, 0x69, 0x6c, 1440 + 0x64, 0x12, 0x31, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 1441 + 0x1d, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 1442 + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 1443 + 0x74, 0x79, 0x70, 0x65, 0x22, 0x5c, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x18, 1444 + 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 1445 + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4b, 0x49, 1446 + 0x4e, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x01, 0x12, 1447 + 0x12, 0x0a, 0x0e, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 1448 + 0x45, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x4f, 1449 + 0x10, 0x03, 0x22, 0x83, 0x01, 0x0a, 0x09, 0x53, 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 1450 + 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 1451 + 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x61, 1452 + 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 1453 + 0x28, 0x08, 0x52, 0x0d, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 1454 + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 1455 + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 1456 + 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 1457 + 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x38, 0x0a, 0x03, 0x41, 0x6e, 0x64, 0x12, 1458 + 0x31, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 1459 + 0x0b, 0x32, 0x15, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 1460 + 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 1461 + 0x65, 0x6e, 0x22, 0x37, 0x0a, 0x02, 0x4f, 0x72, 0x12, 0x31, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 1462 + 0x64, 0x72, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x7a, 0x6f, 0x65, 1463 + 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 1464 + 0x51, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x22, 0x32, 0x0a, 0x03, 0x4e, 1465 + 0x6f, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 1466 + 0x0b, 0x32, 0x15, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 1467 + 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x52, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x22, 1468 + 0x38, 0x0a, 0x06, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x74, 1469 + 0x74, 0x65, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 1470 + 0x65, 0x72, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 1471 + 0x28, 0x08, 0x52, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x42, 0x3d, 0x5a, 0x3b, 0x67, 0x69, 0x74, 1472 + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 1473 + 0x61, 0x70, 0x68, 0x2f, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 1474 + 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2f, 0x77, 0x65, 0x62, 0x73, 1475 + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1476 + } 1477 + 1478 + var ( 1479 + file_zoekt_webserver_v1_query_proto_rawDescOnce sync.Once 1480 + file_zoekt_webserver_v1_query_proto_rawDescData = file_zoekt_webserver_v1_query_proto_rawDesc 1481 + ) 1482 + 1483 + func file_zoekt_webserver_v1_query_proto_rawDescGZIP() []byte { 1484 + file_zoekt_webserver_v1_query_proto_rawDescOnce.Do(func() { 1485 + file_zoekt_webserver_v1_query_proto_rawDescData = protoimpl.X.CompressGZIP(file_zoekt_webserver_v1_query_proto_rawDescData) 1486 + }) 1487 + return file_zoekt_webserver_v1_query_proto_rawDescData 1488 + } 1489 + 1490 + var file_zoekt_webserver_v1_query_proto_enumTypes = make([]protoimpl.EnumInfo, 2) 1491 + var file_zoekt_webserver_v1_query_proto_msgTypes = make([]protoimpl.MessageInfo, 19) 1492 + var file_zoekt_webserver_v1_query_proto_goTypes = []interface{}{ 1493 + (RawConfig_Flag)(0), // 0: zoekt.webserver.v1.RawConfig.Flag 1494 + (Type_Kind)(0), // 1: zoekt.webserver.v1.Type.Kind 1495 + (*Q)(nil), // 2: zoekt.webserver.v1.Q 1496 + (*RawConfig)(nil), // 3: zoekt.webserver.v1.RawConfig 1497 + (*Regexp)(nil), // 4: zoekt.webserver.v1.Regexp 1498 + (*Symbol)(nil), // 5: zoekt.webserver.v1.Symbol 1499 + (*Language)(nil), // 6: zoekt.webserver.v1.Language 1500 + (*Repo)(nil), // 7: zoekt.webserver.v1.Repo 1501 + (*RepoRegexp)(nil), // 8: zoekt.webserver.v1.RepoRegexp 1502 + (*BranchesRepos)(nil), // 9: zoekt.webserver.v1.BranchesRepos 1503 + (*BranchRepos)(nil), // 10: zoekt.webserver.v1.BranchRepos 1504 + (*RepoIds)(nil), // 11: zoekt.webserver.v1.RepoIds 1505 + (*RepoSet)(nil), // 12: zoekt.webserver.v1.RepoSet 1506 + (*FileNameSet)(nil), // 13: zoekt.webserver.v1.FileNameSet 1507 + (*Type)(nil), // 14: zoekt.webserver.v1.Type 1508 + (*Substring)(nil), // 15: zoekt.webserver.v1.Substring 1509 + (*And)(nil), // 16: zoekt.webserver.v1.And 1510 + (*Or)(nil), // 17: zoekt.webserver.v1.Or 1511 + (*Not)(nil), // 18: zoekt.webserver.v1.Not 1512 + (*Branch)(nil), // 19: zoekt.webserver.v1.Branch 1513 + nil, // 20: zoekt.webserver.v1.RepoSet.SetEntry 1514 + } 1515 + var file_zoekt_webserver_v1_query_proto_depIdxs = []int32{ 1516 + 3, // 0: zoekt.webserver.v1.Q.raw_config:type_name -> zoekt.webserver.v1.RawConfig 1517 + 4, // 1: zoekt.webserver.v1.Q.regexp:type_name -> zoekt.webserver.v1.Regexp 1518 + 5, // 2: zoekt.webserver.v1.Q.symbol:type_name -> zoekt.webserver.v1.Symbol 1519 + 6, // 3: zoekt.webserver.v1.Q.language:type_name -> zoekt.webserver.v1.Language 1520 + 7, // 4: zoekt.webserver.v1.Q.repo:type_name -> zoekt.webserver.v1.Repo 1521 + 8, // 5: zoekt.webserver.v1.Q.repo_regexp:type_name -> zoekt.webserver.v1.RepoRegexp 1522 + 9, // 6: zoekt.webserver.v1.Q.branches_repos:type_name -> zoekt.webserver.v1.BranchesRepos 1523 + 11, // 7: zoekt.webserver.v1.Q.repo_ids:type_name -> zoekt.webserver.v1.RepoIds 1524 + 12, // 8: zoekt.webserver.v1.Q.repo_set:type_name -> zoekt.webserver.v1.RepoSet 1525 + 13, // 9: zoekt.webserver.v1.Q.file_name_set:type_name -> zoekt.webserver.v1.FileNameSet 1526 + 14, // 10: zoekt.webserver.v1.Q.type:type_name -> zoekt.webserver.v1.Type 1527 + 15, // 11: zoekt.webserver.v1.Q.substring:type_name -> zoekt.webserver.v1.Substring 1528 + 16, // 12: zoekt.webserver.v1.Q.and:type_name -> zoekt.webserver.v1.And 1529 + 17, // 13: zoekt.webserver.v1.Q.or:type_name -> zoekt.webserver.v1.Or 1530 + 18, // 14: zoekt.webserver.v1.Q.not:type_name -> zoekt.webserver.v1.Not 1531 + 19, // 15: zoekt.webserver.v1.Q.branch:type_name -> zoekt.webserver.v1.Branch 1532 + 0, // 16: zoekt.webserver.v1.RawConfig.flags:type_name -> zoekt.webserver.v1.RawConfig.Flag 1533 + 2, // 17: zoekt.webserver.v1.Symbol.expr:type_name -> zoekt.webserver.v1.Q 1534 + 10, // 18: zoekt.webserver.v1.BranchesRepos.list:type_name -> zoekt.webserver.v1.BranchRepos 1535 + 20, // 19: zoekt.webserver.v1.RepoSet.set:type_name -> zoekt.webserver.v1.RepoSet.SetEntry 1536 + 2, // 20: zoekt.webserver.v1.Type.child:type_name -> zoekt.webserver.v1.Q 1537 + 1, // 21: zoekt.webserver.v1.Type.type:type_name -> zoekt.webserver.v1.Type.Kind 1538 + 2, // 22: zoekt.webserver.v1.And.children:type_name -> zoekt.webserver.v1.Q 1539 + 2, // 23: zoekt.webserver.v1.Or.children:type_name -> zoekt.webserver.v1.Q 1540 + 2, // 24: zoekt.webserver.v1.Not.child:type_name -> zoekt.webserver.v1.Q 1541 + 25, // [25:25] is the sub-list for method output_type 1542 + 25, // [25:25] is the sub-list for method input_type 1543 + 25, // [25:25] is the sub-list for extension type_name 1544 + 25, // [25:25] is the sub-list for extension extendee 1545 + 0, // [0:25] is the sub-list for field type_name 1546 + } 1547 + 1548 + func init() { file_zoekt_webserver_v1_query_proto_init() } 1549 + func file_zoekt_webserver_v1_query_proto_init() { 1550 + if File_zoekt_webserver_v1_query_proto != nil { 1551 + return 1552 + } 1553 + if !protoimpl.UnsafeEnabled { 1554 + file_zoekt_webserver_v1_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1555 + switch v := v.(*Q); i { 1556 + case 0: 1557 + return &v.state 1558 + case 1: 1559 + return &v.sizeCache 1560 + case 2: 1561 + return &v.unknownFields 1562 + default: 1563 + return nil 1564 + } 1565 + } 1566 + file_zoekt_webserver_v1_query_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1567 + switch v := v.(*RawConfig); i { 1568 + case 0: 1569 + return &v.state 1570 + case 1: 1571 + return &v.sizeCache 1572 + case 2: 1573 + return &v.unknownFields 1574 + default: 1575 + return nil 1576 + } 1577 + } 1578 + file_zoekt_webserver_v1_query_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1579 + switch v := v.(*Regexp); i { 1580 + case 0: 1581 + return &v.state 1582 + case 1: 1583 + return &v.sizeCache 1584 + case 2: 1585 + return &v.unknownFields 1586 + default: 1587 + return nil 1588 + } 1589 + } 1590 + file_zoekt_webserver_v1_query_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1591 + switch v := v.(*Symbol); i { 1592 + case 0: 1593 + return &v.state 1594 + case 1: 1595 + return &v.sizeCache 1596 + case 2: 1597 + return &v.unknownFields 1598 + default: 1599 + return nil 1600 + } 1601 + } 1602 + file_zoekt_webserver_v1_query_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1603 + switch v := v.(*Language); i { 1604 + case 0: 1605 + return &v.state 1606 + case 1: 1607 + return &v.sizeCache 1608 + case 2: 1609 + return &v.unknownFields 1610 + default: 1611 + return nil 1612 + } 1613 + } 1614 + file_zoekt_webserver_v1_query_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1615 + switch v := v.(*Repo); i { 1616 + case 0: 1617 + return &v.state 1618 + case 1: 1619 + return &v.sizeCache 1620 + case 2: 1621 + return &v.unknownFields 1622 + default: 1623 + return nil 1624 + } 1625 + } 1626 + file_zoekt_webserver_v1_query_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1627 + switch v := v.(*RepoRegexp); i { 1628 + case 0: 1629 + return &v.state 1630 + case 1: 1631 + return &v.sizeCache 1632 + case 2: 1633 + return &v.unknownFields 1634 + default: 1635 + return nil 1636 + } 1637 + } 1638 + file_zoekt_webserver_v1_query_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1639 + switch v := v.(*BranchesRepos); i { 1640 + case 0: 1641 + return &v.state 1642 + case 1: 1643 + return &v.sizeCache 1644 + case 2: 1645 + return &v.unknownFields 1646 + default: 1647 + return nil 1648 + } 1649 + } 1650 + file_zoekt_webserver_v1_query_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 1651 + switch v := v.(*BranchRepos); i { 1652 + case 0: 1653 + return &v.state 1654 + case 1: 1655 + return &v.sizeCache 1656 + case 2: 1657 + return &v.unknownFields 1658 + default: 1659 + return nil 1660 + } 1661 + } 1662 + file_zoekt_webserver_v1_query_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 1663 + switch v := v.(*RepoIds); i { 1664 + case 0: 1665 + return &v.state 1666 + case 1: 1667 + return &v.sizeCache 1668 + case 2: 1669 + return &v.unknownFields 1670 + default: 1671 + return nil 1672 + } 1673 + } 1674 + file_zoekt_webserver_v1_query_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 1675 + switch v := v.(*RepoSet); i { 1676 + case 0: 1677 + return &v.state 1678 + case 1: 1679 + return &v.sizeCache 1680 + case 2: 1681 + return &v.unknownFields 1682 + default: 1683 + return nil 1684 + } 1685 + } 1686 + file_zoekt_webserver_v1_query_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 1687 + switch v := v.(*FileNameSet); i { 1688 + case 0: 1689 + return &v.state 1690 + case 1: 1691 + return &v.sizeCache 1692 + case 2: 1693 + return &v.unknownFields 1694 + default: 1695 + return nil 1696 + } 1697 + } 1698 + file_zoekt_webserver_v1_query_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 1699 + switch v := v.(*Type); i { 1700 + case 0: 1701 + return &v.state 1702 + case 1: 1703 + return &v.sizeCache 1704 + case 2: 1705 + return &v.unknownFields 1706 + default: 1707 + return nil 1708 + } 1709 + } 1710 + file_zoekt_webserver_v1_query_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 1711 + switch v := v.(*Substring); i { 1712 + case 0: 1713 + return &v.state 1714 + case 1: 1715 + return &v.sizeCache 1716 + case 2: 1717 + return &v.unknownFields 1718 + default: 1719 + return nil 1720 + } 1721 + } 1722 + file_zoekt_webserver_v1_query_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 1723 + switch v := v.(*And); i { 1724 + case 0: 1725 + return &v.state 1726 + case 1: 1727 + return &v.sizeCache 1728 + case 2: 1729 + return &v.unknownFields 1730 + default: 1731 + return nil 1732 + } 1733 + } 1734 + file_zoekt_webserver_v1_query_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 1735 + switch v := v.(*Or); i { 1736 + case 0: 1737 + return &v.state 1738 + case 1: 1739 + return &v.sizeCache 1740 + case 2: 1741 + return &v.unknownFields 1742 + default: 1743 + return nil 1744 + } 1745 + } 1746 + file_zoekt_webserver_v1_query_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 1747 + switch v := v.(*Not); i { 1748 + case 0: 1749 + return &v.state 1750 + case 1: 1751 + return &v.sizeCache 1752 + case 2: 1753 + return &v.unknownFields 1754 + default: 1755 + return nil 1756 + } 1757 + } 1758 + file_zoekt_webserver_v1_query_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 1759 + switch v := v.(*Branch); i { 1760 + case 0: 1761 + return &v.state 1762 + case 1: 1763 + return &v.sizeCache 1764 + case 2: 1765 + return &v.unknownFields 1766 + default: 1767 + return nil 1768 + } 1769 + } 1770 + } 1771 + file_zoekt_webserver_v1_query_proto_msgTypes[0].OneofWrappers = []interface{}{ 1772 + (*Q_RawConfig)(nil), 1773 + (*Q_Regexp)(nil), 1774 + (*Q_Symbol)(nil), 1775 + (*Q_Language)(nil), 1776 + (*Q_Const)(nil), 1777 + (*Q_Repo)(nil), 1778 + (*Q_RepoRegexp)(nil), 1779 + (*Q_BranchesRepos)(nil), 1780 + (*Q_RepoIds)(nil), 1781 + (*Q_RepoSet)(nil), 1782 + (*Q_FileNameSet)(nil), 1783 + (*Q_Type)(nil), 1784 + (*Q_Substring)(nil), 1785 + (*Q_And)(nil), 1786 + (*Q_Or)(nil), 1787 + (*Q_Not)(nil), 1788 + (*Q_Branch)(nil), 1789 + } 1790 + type x struct{} 1791 + out := protoimpl.TypeBuilder{ 1792 + File: protoimpl.DescBuilder{ 1793 + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1794 + RawDescriptor: file_zoekt_webserver_v1_query_proto_rawDesc, 1795 + NumEnums: 2, 1796 + NumMessages: 19, 1797 + NumExtensions: 0, 1798 + NumServices: 0, 1799 + }, 1800 + GoTypes: file_zoekt_webserver_v1_query_proto_goTypes, 1801 + DependencyIndexes: file_zoekt_webserver_v1_query_proto_depIdxs, 1802 + EnumInfos: file_zoekt_webserver_v1_query_proto_enumTypes, 1803 + MessageInfos: file_zoekt_webserver_v1_query_proto_msgTypes, 1804 + }.Build() 1805 + File_zoekt_webserver_v1_query_proto = out.File 1806 + file_zoekt_webserver_v1_query_proto_rawDesc = nil 1807 + file_zoekt_webserver_v1_query_proto_goTypes = nil 1808 + file_zoekt_webserver_v1_query_proto_depIdxs = nil 1809 + }
+3218
grpc/protos/zoekt/webserver/v1/webserver.pb.go
··· 1 + // Code generated by protoc-gen-go. DO NOT EDIT. 2 + // versions: 3 + // protoc-gen-go v1.29.1 4 + // protoc (unknown) 5 + // source: zoekt/webserver/v1/webserver.proto 6 + 7 + package v1 8 + 9 + import ( 10 + protoreflect "google.golang.org/protobuf/reflect/protoreflect" 11 + protoimpl "google.golang.org/protobuf/runtime/protoimpl" 12 + durationpb "google.golang.org/protobuf/types/known/durationpb" 13 + timestamppb "google.golang.org/protobuf/types/known/timestamppb" 14 + reflect "reflect" 15 + sync "sync" 16 + ) 17 + 18 + const ( 19 + // Verify that this generated code is sufficiently up-to-date. 20 + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 21 + // Verify that runtime/protoimpl is sufficiently up-to-date. 22 + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 23 + ) 24 + 25 + type FlushReason int32 26 + 27 + const ( 28 + FlushReason_FLUSH_REASON_UNKNOWN_UNSPECIFIED FlushReason = 0 29 + FlushReason_FLUSH_REASON_TIMER_EXPIRED FlushReason = 1 30 + FlushReason_FLUSH_REASON_FINAL_FLUSH FlushReason = 2 31 + FlushReason_FLUSH_REASON_MAX_SIZE FlushReason = 3 32 + ) 33 + 34 + // Enum value maps for FlushReason. 35 + var ( 36 + FlushReason_name = map[int32]string{ 37 + 0: "FLUSH_REASON_UNKNOWN_UNSPECIFIED", 38 + 1: "FLUSH_REASON_TIMER_EXPIRED", 39 + 2: "FLUSH_REASON_FINAL_FLUSH", 40 + 3: "FLUSH_REASON_MAX_SIZE", 41 + } 42 + FlushReason_value = map[string]int32{ 43 + "FLUSH_REASON_UNKNOWN_UNSPECIFIED": 0, 44 + "FLUSH_REASON_TIMER_EXPIRED": 1, 45 + "FLUSH_REASON_FINAL_FLUSH": 2, 46 + "FLUSH_REASON_MAX_SIZE": 3, 47 + } 48 + ) 49 + 50 + func (x FlushReason) Enum() *FlushReason { 51 + p := new(FlushReason) 52 + *p = x 53 + return p 54 + } 55 + 56 + func (x FlushReason) String() string { 57 + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 58 + } 59 + 60 + func (FlushReason) Descriptor() protoreflect.EnumDescriptor { 61 + return file_zoekt_webserver_v1_webserver_proto_enumTypes[0].Descriptor() 62 + } 63 + 64 + func (FlushReason) Type() protoreflect.EnumType { 65 + return &file_zoekt_webserver_v1_webserver_proto_enumTypes[0] 66 + } 67 + 68 + func (x FlushReason) Number() protoreflect.EnumNumber { 69 + return protoreflect.EnumNumber(x) 70 + } 71 + 72 + // Deprecated: Use FlushReason.Descriptor instead. 73 + func (FlushReason) EnumDescriptor() ([]byte, []int) { 74 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{0} 75 + } 76 + 77 + type ListOptions_RepoListField int32 78 + 79 + const ( 80 + ListOptions_REPO_LIST_FIELD_UNKNOWN_UNSPECIFIED ListOptions_RepoListField = 0 81 + ListOptions_REPO_LIST_FIELD_REPOS ListOptions_RepoListField = 1 82 + ListOptions_REPO_LIST_FIELD_MINIMAL ListOptions_RepoListField = 2 83 + ListOptions_REPO_LIST_FIELD_REPOS_MAP ListOptions_RepoListField = 3 84 + ) 85 + 86 + // Enum value maps for ListOptions_RepoListField. 87 + var ( 88 + ListOptions_RepoListField_name = map[int32]string{ 89 + 0: "REPO_LIST_FIELD_UNKNOWN_UNSPECIFIED", 90 + 1: "REPO_LIST_FIELD_REPOS", 91 + 2: "REPO_LIST_FIELD_MINIMAL", 92 + 3: "REPO_LIST_FIELD_REPOS_MAP", 93 + } 94 + ListOptions_RepoListField_value = map[string]int32{ 95 + "REPO_LIST_FIELD_UNKNOWN_UNSPECIFIED": 0, 96 + "REPO_LIST_FIELD_REPOS": 1, 97 + "REPO_LIST_FIELD_MINIMAL": 2, 98 + "REPO_LIST_FIELD_REPOS_MAP": 3, 99 + } 100 + ) 101 + 102 + func (x ListOptions_RepoListField) Enum() *ListOptions_RepoListField { 103 + p := new(ListOptions_RepoListField) 104 + *p = x 105 + return p 106 + } 107 + 108 + func (x ListOptions_RepoListField) String() string { 109 + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 110 + } 111 + 112 + func (ListOptions_RepoListField) Descriptor() protoreflect.EnumDescriptor { 113 + return file_zoekt_webserver_v1_webserver_proto_enumTypes[1].Descriptor() 114 + } 115 + 116 + func (ListOptions_RepoListField) Type() protoreflect.EnumType { 117 + return &file_zoekt_webserver_v1_webserver_proto_enumTypes[1] 118 + } 119 + 120 + func (x ListOptions_RepoListField) Number() protoreflect.EnumNumber { 121 + return protoreflect.EnumNumber(x) 122 + } 123 + 124 + // Deprecated: Use ListOptions_RepoListField.Descriptor instead. 125 + func (ListOptions_RepoListField) EnumDescriptor() ([]byte, []int) { 126 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{6, 0} 127 + } 128 + 129 + type SearchRequest struct { 130 + state protoimpl.MessageState 131 + sizeCache protoimpl.SizeCache 132 + unknownFields protoimpl.UnknownFields 133 + 134 + Query *Q `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` 135 + Opts *SearchOptions `protobuf:"bytes,2,opt,name=opts,proto3" json:"opts,omitempty"` 136 + } 137 + 138 + func (x *SearchRequest) Reset() { 139 + *x = SearchRequest{} 140 + if protoimpl.UnsafeEnabled { 141 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[0] 142 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 143 + ms.StoreMessageInfo(mi) 144 + } 145 + } 146 + 147 + func (x *SearchRequest) String() string { 148 + return protoimpl.X.MessageStringOf(x) 149 + } 150 + 151 + func (*SearchRequest) ProtoMessage() {} 152 + 153 + func (x *SearchRequest) ProtoReflect() protoreflect.Message { 154 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[0] 155 + if protoimpl.UnsafeEnabled && x != nil { 156 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 157 + if ms.LoadMessageInfo() == nil { 158 + ms.StoreMessageInfo(mi) 159 + } 160 + return ms 161 + } 162 + return mi.MessageOf(x) 163 + } 164 + 165 + // Deprecated: Use SearchRequest.ProtoReflect.Descriptor instead. 166 + func (*SearchRequest) Descriptor() ([]byte, []int) { 167 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{0} 168 + } 169 + 170 + func (x *SearchRequest) GetQuery() *Q { 171 + if x != nil { 172 + return x.Query 173 + } 174 + return nil 175 + } 176 + 177 + func (x *SearchRequest) GetOpts() *SearchOptions { 178 + if x != nil { 179 + return x.Opts 180 + } 181 + return nil 182 + } 183 + 184 + type SearchResponse struct { 185 + state protoimpl.MessageState 186 + sizeCache protoimpl.SizeCache 187 + unknownFields protoimpl.UnknownFields 188 + 189 + Stats *Stats `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"` 190 + Progress *Progress `protobuf:"bytes,2,opt,name=progress,proto3" json:"progress,omitempty"` 191 + Files []*FileMatch `protobuf:"bytes,3,rep,name=files,proto3" json:"files,omitempty"` 192 + } 193 + 194 + func (x *SearchResponse) Reset() { 195 + *x = SearchResponse{} 196 + if protoimpl.UnsafeEnabled { 197 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[1] 198 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 199 + ms.StoreMessageInfo(mi) 200 + } 201 + } 202 + 203 + func (x *SearchResponse) String() string { 204 + return protoimpl.X.MessageStringOf(x) 205 + } 206 + 207 + func (*SearchResponse) ProtoMessage() {} 208 + 209 + func (x *SearchResponse) ProtoReflect() protoreflect.Message { 210 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[1] 211 + if protoimpl.UnsafeEnabled && x != nil { 212 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 213 + if ms.LoadMessageInfo() == nil { 214 + ms.StoreMessageInfo(mi) 215 + } 216 + return ms 217 + } 218 + return mi.MessageOf(x) 219 + } 220 + 221 + // Deprecated: Use SearchResponse.ProtoReflect.Descriptor instead. 222 + func (*SearchResponse) Descriptor() ([]byte, []int) { 223 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{1} 224 + } 225 + 226 + func (x *SearchResponse) GetStats() *Stats { 227 + if x != nil { 228 + return x.Stats 229 + } 230 + return nil 231 + } 232 + 233 + func (x *SearchResponse) GetProgress() *Progress { 234 + if x != nil { 235 + return x.Progress 236 + } 237 + return nil 238 + } 239 + 240 + func (x *SearchResponse) GetFiles() []*FileMatch { 241 + if x != nil { 242 + return x.Files 243 + } 244 + return nil 245 + } 246 + 247 + type StreamSearchRequest struct { 248 + state protoimpl.MessageState 249 + sizeCache protoimpl.SizeCache 250 + unknownFields protoimpl.UnknownFields 251 + 252 + Request *SearchRequest `protobuf:"bytes,3,opt,name=request,proto3" json:"request,omitempty"` 253 + } 254 + 255 + func (x *StreamSearchRequest) Reset() { 256 + *x = StreamSearchRequest{} 257 + if protoimpl.UnsafeEnabled { 258 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[2] 259 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 260 + ms.StoreMessageInfo(mi) 261 + } 262 + } 263 + 264 + func (x *StreamSearchRequest) String() string { 265 + return protoimpl.X.MessageStringOf(x) 266 + } 267 + 268 + func (*StreamSearchRequest) ProtoMessage() {} 269 + 270 + func (x *StreamSearchRequest) ProtoReflect() protoreflect.Message { 271 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[2] 272 + if protoimpl.UnsafeEnabled && x != nil { 273 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 274 + if ms.LoadMessageInfo() == nil { 275 + ms.StoreMessageInfo(mi) 276 + } 277 + return ms 278 + } 279 + return mi.MessageOf(x) 280 + } 281 + 282 + // Deprecated: Use StreamSearchRequest.ProtoReflect.Descriptor instead. 283 + func (*StreamSearchRequest) Descriptor() ([]byte, []int) { 284 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{2} 285 + } 286 + 287 + func (x *StreamSearchRequest) GetRequest() *SearchRequest { 288 + if x != nil { 289 + return x.Request 290 + } 291 + return nil 292 + } 293 + 294 + type StreamSearchResponse struct { 295 + state protoimpl.MessageState 296 + sizeCache protoimpl.SizeCache 297 + unknownFields protoimpl.UnknownFields 298 + 299 + ResponseChunk *SearchResponse `protobuf:"bytes,6,opt,name=response_chunk,json=responseChunk,proto3" json:"response_chunk,omitempty"` 300 + } 301 + 302 + func (x *StreamSearchResponse) Reset() { 303 + *x = StreamSearchResponse{} 304 + if protoimpl.UnsafeEnabled { 305 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[3] 306 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 307 + ms.StoreMessageInfo(mi) 308 + } 309 + } 310 + 311 + func (x *StreamSearchResponse) String() string { 312 + return protoimpl.X.MessageStringOf(x) 313 + } 314 + 315 + func (*StreamSearchResponse) ProtoMessage() {} 316 + 317 + func (x *StreamSearchResponse) ProtoReflect() protoreflect.Message { 318 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[3] 319 + if protoimpl.UnsafeEnabled && x != nil { 320 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 321 + if ms.LoadMessageInfo() == nil { 322 + ms.StoreMessageInfo(mi) 323 + } 324 + return ms 325 + } 326 + return mi.MessageOf(x) 327 + } 328 + 329 + // Deprecated: Use StreamSearchResponse.ProtoReflect.Descriptor instead. 330 + func (*StreamSearchResponse) Descriptor() ([]byte, []int) { 331 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{3} 332 + } 333 + 334 + func (x *StreamSearchResponse) GetResponseChunk() *SearchResponse { 335 + if x != nil { 336 + return x.ResponseChunk 337 + } 338 + return nil 339 + } 340 + 341 + type SearchOptions struct { 342 + state protoimpl.MessageState 343 + sizeCache protoimpl.SizeCache 344 + unknownFields protoimpl.UnknownFields 345 + 346 + // Return an upper-bound estimate of eligible documents in 347 + // stats.ShardFilesConsidered. 348 + EstimateDocCount bool `protobuf:"varint,1,opt,name=estimate_doc_count,json=estimateDocCount,proto3" json:"estimate_doc_count,omitempty"` 349 + // Return the whole file. 350 + Whole bool `protobuf:"varint,2,opt,name=whole,proto3" json:"whole,omitempty"` 351 + // Maximum number of matches: skip all processing an index 352 + // shard after we found this many non-overlapping matches. 353 + ShardMaxMatchCount int64 `protobuf:"varint,3,opt,name=shard_max_match_count,json=shardMaxMatchCount,proto3" json:"shard_max_match_count,omitempty"` 354 + // Maximum number of matches: stop looking for more matches 355 + // once we have this many matches across shards. 356 + TotalMaxMatchCount int64 `protobuf:"varint,4,opt,name=total_max_match_count,json=totalMaxMatchCount,proto3" json:"total_max_match_count,omitempty"` 357 + // Maximum number of matches: skip processing documents for a repository in 358 + // a shard once we have found ShardRepoMaxMatchCount. 359 + // 360 + // A compound shard may contain multiple repositories. This will most often 361 + // be set to 1 to find all repositories containing a result. 362 + ShardRepoMaxMatchCount int64 `protobuf:"varint,5,opt,name=shard_repo_max_match_count,json=shardRepoMaxMatchCount,proto3" json:"shard_repo_max_match_count,omitempty"` 363 + // Abort the search after this much time has passed. 364 + MaxWallTime *durationpb.Duration `protobuf:"bytes,6,opt,name=max_wall_time,json=maxWallTime,proto3" json:"max_wall_time,omitempty"` 365 + // FlushWallTime if non-zero will stop streaming behaviour at first and 366 + // instead will collate and sort results. At FlushWallTime the results will 367 + // be sent and then the behaviour will revert to the normal streaming. 368 + FlushWallTime *durationpb.Duration `protobuf:"bytes,7,opt,name=flush_wall_time,json=flushWallTime,proto3" json:"flush_wall_time,omitempty"` 369 + // Truncates the number of documents (i.e. files) after collating and 370 + // sorting the results. 371 + MaxDocDisplayCount int64 `protobuf:"varint,8,opt,name=max_doc_display_count,json=maxDocDisplayCount,proto3" json:"max_doc_display_count,omitempty"` 372 + // Truncates the number of matchs after collating and sorting the results. 373 + MaxMatchDisplayCount int64 `protobuf:"varint,16,opt,name=max_match_display_count,json=maxMatchDisplayCount,proto3" json:"max_match_display_count,omitempty"` 374 + // If set to a number greater than zero then up to this many number 375 + // of context lines will be added before and after each matched line. 376 + // Note that the included context lines might contain matches and 377 + // it's up to the consumer of the result to remove those lines. 378 + NumContextLines int64 `protobuf:"varint,9,opt,name=num_context_lines,json=numContextLines,proto3" json:"num_context_lines,omitempty"` 379 + // If true, ChunkMatches will be returned in each FileMatch rather than LineMatches 380 + // EXPERIMENTAL: the behavior of this flag may be changed in future versions. 381 + ChunkMatches bool `protobuf:"varint,10,opt,name=chunk_matches,json=chunkMatches,proto3" json:"chunk_matches,omitempty"` 382 + // EXPERIMENTAL. If true, document ranks are used as additional input for 383 + // sorting matches. 384 + UseDocumentRanks bool `protobuf:"varint,11,opt,name=use_document_ranks,json=useDocumentRanks,proto3" json:"use_document_ranks,omitempty"` 385 + // EXPERIMENTAL. When UseDocumentRanks is enabled, this can be optionally set to adjust 386 + // their weight in the file match score. If the value is <= 0.0, the default weight value 387 + // will be used. This option is temporary and is only exposed for testing/ tuning purposes. 388 + DocumentRanksWeight float64 `protobuf:"fixed64,12,opt,name=document_ranks_weight,json=documentRanksWeight,proto3" json:"document_ranks_weight,omitempty"` 389 + // Trace turns on opentracing for this request if true and if the Jaeger address was provided as 390 + // a command-line flag 391 + Trace bool `protobuf:"varint,13,opt,name=trace,proto3" json:"trace,omitempty"` 392 + // If set, the search results will contain debug information for scoring. 393 + DebugScore bool `protobuf:"varint,14,opt,name=debug_score,json=debugScore,proto3" json:"debug_score,omitempty"` 394 + // EXPERIMENTAL. If true, use keyword-style scoring instead of the default scoring formula. 395 + // Currently, this treats each match in a file as a term and computes an approximation to BM25. 396 + // When enabled, all other scoring signals are ignored, including document ranks. 397 + UseKeywordScoring bool `protobuf:"varint,15,opt,name=use_keyword_scoring,json=useKeywordScoring,proto3" json:"use_keyword_scoring,omitempty"` 398 + } 399 + 400 + func (x *SearchOptions) Reset() { 401 + *x = SearchOptions{} 402 + if protoimpl.UnsafeEnabled { 403 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[4] 404 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 405 + ms.StoreMessageInfo(mi) 406 + } 407 + } 408 + 409 + func (x *SearchOptions) String() string { 410 + return protoimpl.X.MessageStringOf(x) 411 + } 412 + 413 + func (*SearchOptions) ProtoMessage() {} 414 + 415 + func (x *SearchOptions) ProtoReflect() protoreflect.Message { 416 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[4] 417 + if protoimpl.UnsafeEnabled && x != nil { 418 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 419 + if ms.LoadMessageInfo() == nil { 420 + ms.StoreMessageInfo(mi) 421 + } 422 + return ms 423 + } 424 + return mi.MessageOf(x) 425 + } 426 + 427 + // Deprecated: Use SearchOptions.ProtoReflect.Descriptor instead. 428 + func (*SearchOptions) Descriptor() ([]byte, []int) { 429 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{4} 430 + } 431 + 432 + func (x *SearchOptions) GetEstimateDocCount() bool { 433 + if x != nil { 434 + return x.EstimateDocCount 435 + } 436 + return false 437 + } 438 + 439 + func (x *SearchOptions) GetWhole() bool { 440 + if x != nil { 441 + return x.Whole 442 + } 443 + return false 444 + } 445 + 446 + func (x *SearchOptions) GetShardMaxMatchCount() int64 { 447 + if x != nil { 448 + return x.ShardMaxMatchCount 449 + } 450 + return 0 451 + } 452 + 453 + func (x *SearchOptions) GetTotalMaxMatchCount() int64 { 454 + if x != nil { 455 + return x.TotalMaxMatchCount 456 + } 457 + return 0 458 + } 459 + 460 + func (x *SearchOptions) GetShardRepoMaxMatchCount() int64 { 461 + if x != nil { 462 + return x.ShardRepoMaxMatchCount 463 + } 464 + return 0 465 + } 466 + 467 + func (x *SearchOptions) GetMaxWallTime() *durationpb.Duration { 468 + if x != nil { 469 + return x.MaxWallTime 470 + } 471 + return nil 472 + } 473 + 474 + func (x *SearchOptions) GetFlushWallTime() *durationpb.Duration { 475 + if x != nil { 476 + return x.FlushWallTime 477 + } 478 + return nil 479 + } 480 + 481 + func (x *SearchOptions) GetMaxDocDisplayCount() int64 { 482 + if x != nil { 483 + return x.MaxDocDisplayCount 484 + } 485 + return 0 486 + } 487 + 488 + func (x *SearchOptions) GetMaxMatchDisplayCount() int64 { 489 + if x != nil { 490 + return x.MaxMatchDisplayCount 491 + } 492 + return 0 493 + } 494 + 495 + func (x *SearchOptions) GetNumContextLines() int64 { 496 + if x != nil { 497 + return x.NumContextLines 498 + } 499 + return 0 500 + } 501 + 502 + func (x *SearchOptions) GetChunkMatches() bool { 503 + if x != nil { 504 + return x.ChunkMatches 505 + } 506 + return false 507 + } 508 + 509 + func (x *SearchOptions) GetUseDocumentRanks() bool { 510 + if x != nil { 511 + return x.UseDocumentRanks 512 + } 513 + return false 514 + } 515 + 516 + func (x *SearchOptions) GetDocumentRanksWeight() float64 { 517 + if x != nil { 518 + return x.DocumentRanksWeight 519 + } 520 + return 0 521 + } 522 + 523 + func (x *SearchOptions) GetTrace() bool { 524 + if x != nil { 525 + return x.Trace 526 + } 527 + return false 528 + } 529 + 530 + func (x *SearchOptions) GetDebugScore() bool { 531 + if x != nil { 532 + return x.DebugScore 533 + } 534 + return false 535 + } 536 + 537 + func (x *SearchOptions) GetUseKeywordScoring() bool { 538 + if x != nil { 539 + return x.UseKeywordScoring 540 + } 541 + return false 542 + } 543 + 544 + type ListRequest struct { 545 + state protoimpl.MessageState 546 + sizeCache protoimpl.SizeCache 547 + unknownFields protoimpl.UnknownFields 548 + 549 + Query *Q `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` 550 + Opts *ListOptions `protobuf:"bytes,2,opt,name=opts,proto3" json:"opts,omitempty"` 551 + } 552 + 553 + func (x *ListRequest) Reset() { 554 + *x = ListRequest{} 555 + if protoimpl.UnsafeEnabled { 556 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[5] 557 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 558 + ms.StoreMessageInfo(mi) 559 + } 560 + } 561 + 562 + func (x *ListRequest) String() string { 563 + return protoimpl.X.MessageStringOf(x) 564 + } 565 + 566 + func (*ListRequest) ProtoMessage() {} 567 + 568 + func (x *ListRequest) ProtoReflect() protoreflect.Message { 569 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[5] 570 + if protoimpl.UnsafeEnabled && x != nil { 571 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 572 + if ms.LoadMessageInfo() == nil { 573 + ms.StoreMessageInfo(mi) 574 + } 575 + return ms 576 + } 577 + return mi.MessageOf(x) 578 + } 579 + 580 + // Deprecated: Use ListRequest.ProtoReflect.Descriptor instead. 581 + func (*ListRequest) Descriptor() ([]byte, []int) { 582 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{5} 583 + } 584 + 585 + func (x *ListRequest) GetQuery() *Q { 586 + if x != nil { 587 + return x.Query 588 + } 589 + return nil 590 + } 591 + 592 + func (x *ListRequest) GetOpts() *ListOptions { 593 + if x != nil { 594 + return x.Opts 595 + } 596 + return nil 597 + } 598 + 599 + type ListOptions struct { 600 + state protoimpl.MessageState 601 + sizeCache protoimpl.SizeCache 602 + unknownFields protoimpl.UnknownFields 603 + 604 + // Field decides which field to populate in RepoList response. 605 + Field ListOptions_RepoListField `protobuf:"varint,1,opt,name=field,proto3,enum=zoekt.webserver.v1.ListOptions_RepoListField" json:"field,omitempty"` 606 + // Return only Minimal data per repo that Sourcegraph frontend needs. 607 + // 608 + // Deprecated: use Field 609 + Minimal bool `protobuf:"varint,16,opt,name=minimal,proto3" json:"minimal,omitempty"` 610 + } 611 + 612 + func (x *ListOptions) Reset() { 613 + *x = ListOptions{} 614 + if protoimpl.UnsafeEnabled { 615 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[6] 616 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 617 + ms.StoreMessageInfo(mi) 618 + } 619 + } 620 + 621 + func (x *ListOptions) String() string { 622 + return protoimpl.X.MessageStringOf(x) 623 + } 624 + 625 + func (*ListOptions) ProtoMessage() {} 626 + 627 + func (x *ListOptions) ProtoReflect() protoreflect.Message { 628 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[6] 629 + if protoimpl.UnsafeEnabled && x != nil { 630 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 631 + if ms.LoadMessageInfo() == nil { 632 + ms.StoreMessageInfo(mi) 633 + } 634 + return ms 635 + } 636 + return mi.MessageOf(x) 637 + } 638 + 639 + // Deprecated: Use ListOptions.ProtoReflect.Descriptor instead. 640 + func (*ListOptions) Descriptor() ([]byte, []int) { 641 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{6} 642 + } 643 + 644 + func (x *ListOptions) GetField() ListOptions_RepoListField { 645 + if x != nil { 646 + return x.Field 647 + } 648 + return ListOptions_REPO_LIST_FIELD_UNKNOWN_UNSPECIFIED 649 + } 650 + 651 + func (x *ListOptions) GetMinimal() bool { 652 + if x != nil { 653 + return x.Minimal 654 + } 655 + return false 656 + } 657 + 658 + type ListResponse struct { 659 + state protoimpl.MessageState 660 + sizeCache protoimpl.SizeCache 661 + unknownFields protoimpl.UnknownFields 662 + 663 + // Returned when ListOptions.Field is RepoListFieldRepos. 664 + Repos []*RepoListEntry `protobuf:"bytes,1,rep,name=repos,proto3" json:"repos,omitempty"` 665 + // ReposMap is set when ListOptions.Field is RepoListFieldReposMap. 666 + ReposMap map[uint32]*MinimalRepoListEntry `protobuf:"bytes,2,rep,name=repos_map,json=reposMap,proto3" json:"repos_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 667 + Crashes int64 `protobuf:"varint,3,opt,name=crashes,proto3" json:"crashes,omitempty"` 668 + // Stats response to a List request. 669 + // This is the aggregate RepoStats of all repos matching the input query. 670 + Stats *RepoStats `protobuf:"bytes,4,opt,name=stats,proto3" json:"stats,omitempty"` 671 + // Returned when ListOptions.Field is RepoListFieldMinimal. 672 + // 673 + // Deprecated: use ReposMap. 674 + Minimal map[uint32]*MinimalRepoListEntry `protobuf:"bytes,5,rep,name=minimal,proto3" json:"minimal,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 675 + } 676 + 677 + func (x *ListResponse) Reset() { 678 + *x = ListResponse{} 679 + if protoimpl.UnsafeEnabled { 680 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[7] 681 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 682 + ms.StoreMessageInfo(mi) 683 + } 684 + } 685 + 686 + func (x *ListResponse) String() string { 687 + return protoimpl.X.MessageStringOf(x) 688 + } 689 + 690 + func (*ListResponse) ProtoMessage() {} 691 + 692 + func (x *ListResponse) ProtoReflect() protoreflect.Message { 693 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[7] 694 + if protoimpl.UnsafeEnabled && x != nil { 695 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 696 + if ms.LoadMessageInfo() == nil { 697 + ms.StoreMessageInfo(mi) 698 + } 699 + return ms 700 + } 701 + return mi.MessageOf(x) 702 + } 703 + 704 + // Deprecated: Use ListResponse.ProtoReflect.Descriptor instead. 705 + func (*ListResponse) Descriptor() ([]byte, []int) { 706 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{7} 707 + } 708 + 709 + func (x *ListResponse) GetRepos() []*RepoListEntry { 710 + if x != nil { 711 + return x.Repos 712 + } 713 + return nil 714 + } 715 + 716 + func (x *ListResponse) GetReposMap() map[uint32]*MinimalRepoListEntry { 717 + if x != nil { 718 + return x.ReposMap 719 + } 720 + return nil 721 + } 722 + 723 + func (x *ListResponse) GetCrashes() int64 { 724 + if x != nil { 725 + return x.Crashes 726 + } 727 + return 0 728 + } 729 + 730 + func (x *ListResponse) GetStats() *RepoStats { 731 + if x != nil { 732 + return x.Stats 733 + } 734 + return nil 735 + } 736 + 737 + func (x *ListResponse) GetMinimal() map[uint32]*MinimalRepoListEntry { 738 + if x != nil { 739 + return x.Minimal 740 + } 741 + return nil 742 + } 743 + 744 + type RepoListEntry struct { 745 + state protoimpl.MessageState 746 + sizeCache protoimpl.SizeCache 747 + unknownFields protoimpl.UnknownFields 748 + 749 + Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` 750 + IndexMetadata *IndexMetadata `protobuf:"bytes,2,opt,name=index_metadata,json=indexMetadata,proto3" json:"index_metadata,omitempty"` 751 + Stats *RepoStats `protobuf:"bytes,3,opt,name=stats,proto3" json:"stats,omitempty"` 752 + } 753 + 754 + func (x *RepoListEntry) Reset() { 755 + *x = RepoListEntry{} 756 + if protoimpl.UnsafeEnabled { 757 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[8] 758 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 759 + ms.StoreMessageInfo(mi) 760 + } 761 + } 762 + 763 + func (x *RepoListEntry) String() string { 764 + return protoimpl.X.MessageStringOf(x) 765 + } 766 + 767 + func (*RepoListEntry) ProtoMessage() {} 768 + 769 + func (x *RepoListEntry) ProtoReflect() protoreflect.Message { 770 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[8] 771 + if protoimpl.UnsafeEnabled && x != nil { 772 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 773 + if ms.LoadMessageInfo() == nil { 774 + ms.StoreMessageInfo(mi) 775 + } 776 + return ms 777 + } 778 + return mi.MessageOf(x) 779 + } 780 + 781 + // Deprecated: Use RepoListEntry.ProtoReflect.Descriptor instead. 782 + func (*RepoListEntry) Descriptor() ([]byte, []int) { 783 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{8} 784 + } 785 + 786 + func (x *RepoListEntry) GetRepository() *Repository { 787 + if x != nil { 788 + return x.Repository 789 + } 790 + return nil 791 + } 792 + 793 + func (x *RepoListEntry) GetIndexMetadata() *IndexMetadata { 794 + if x != nil { 795 + return x.IndexMetadata 796 + } 797 + return nil 798 + } 799 + 800 + func (x *RepoListEntry) GetStats() *RepoStats { 801 + if x != nil { 802 + return x.Stats 803 + } 804 + return nil 805 + } 806 + 807 + type Repository struct { 808 + state protoimpl.MessageState 809 + sizeCache protoimpl.SizeCache 810 + unknownFields protoimpl.UnknownFields 811 + 812 + // Sourcegraph's repository ID 813 + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` 814 + // The repository name 815 + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` 816 + // The repository URL. 817 + Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"` 818 + // The physical source where this repo came from, eg. full 819 + // path to the zip filename or git repository directory. This 820 + // will not be exposed in the UI, but can be used to detect 821 + // orphaned index shards. 822 + Source string `protobuf:"bytes,4,opt,name=source,proto3" json:"source,omitempty"` 823 + // The branches indexed in this repo. 824 + Branches []*RepositoryBranch `protobuf:"bytes,5,rep,name=branches,proto3" json:"branches,omitempty"` 825 + // Nil if this is not the super project. 826 + SubRepoMap map[string]*Repository `protobuf:"bytes,6,rep,name=sub_repo_map,json=subRepoMap,proto3" json:"sub_repo_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 827 + // URL template to link to the commit of a branch 828 + CommitUrlTemplate string `protobuf:"bytes,7,opt,name=commit_url_template,json=commitUrlTemplate,proto3" json:"commit_url_template,omitempty"` 829 + // The repository URL for getting to a file. Has access to 830 + // {{.Version}}, {{.Path}} 831 + FileUrlTemplate string `protobuf:"bytes,8,opt,name=file_url_template,json=fileUrlTemplate,proto3" json:"file_url_template,omitempty"` 832 + // The URL fragment to add to a file URL for line numbers. has 833 + // access to {{.LineNumber}}. The fragment should include the 834 + // separator, generally '#' or ';'. 835 + LineFragmentTemplate string `protobuf:"bytes,9,opt,name=line_fragment_template,json=lineFragmentTemplate,proto3" json:"line_fragment_template,omitempty"` 836 + // Perf optimization: priority is set when we load the shard. It corresponds to 837 + // the value of "priority" stored in RawConfig. 838 + Priority float64 `protobuf:"fixed64,10,opt,name=priority,proto3" json:"priority,omitempty"` 839 + // All zoekt.* configuration settings. 840 + RawConfig map[string]string `protobuf:"bytes,11,rep,name=raw_config,json=rawConfig,proto3" json:"raw_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 841 + // Importance of the repository, bigger is more important 842 + Rank uint32 `protobuf:"varint,12,opt,name=rank,proto3" json:"rank,omitempty"` 843 + // index_options is a hash of the options used to create the index for the 844 + // repo. 845 + IndexOptions string `protobuf:"bytes,13,opt,name=index_options,json=indexOptions,proto3" json:"index_options,omitempty"` 846 + // has_symbols is true if this repository has indexed ctags 847 + // output. Sourcegraph specific: This field is more appropriate for 848 + // IndexMetadata. However, we store it here since the Sourcegraph frontend 849 + // can read this structure but not IndexMetadata. 850 + HasSymbols bool `protobuf:"varint,14,opt,name=has_symbols,json=hasSymbols,proto3" json:"has_symbols,omitempty"` 851 + // tombstone is true if we are not allowed to search this repo. 852 + Tombstone bool `protobuf:"varint,15,opt,name=tombstone,proto3" json:"tombstone,omitempty"` 853 + // latest_commit_date is the date of the latest commit among all indexed Branches. 854 + // The date might be time.Time's 0-value if the repository was last indexed 855 + // before this field was added. 856 + LatestCommitDate *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=latest_commit_date,json=latestCommitDate,proto3" json:"latest_commit_date,omitempty"` 857 + // file_tombstones is a set of file paths that should be ignored across all branches 858 + // in this shard. 859 + FileTombstones []string `protobuf:"bytes,17,rep,name=file_tombstones,json=fileTombstones,proto3" json:"file_tombstones,omitempty"` 860 + } 861 + 862 + func (x *Repository) Reset() { 863 + *x = Repository{} 864 + if protoimpl.UnsafeEnabled { 865 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[9] 866 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 867 + ms.StoreMessageInfo(mi) 868 + } 869 + } 870 + 871 + func (x *Repository) String() string { 872 + return protoimpl.X.MessageStringOf(x) 873 + } 874 + 875 + func (*Repository) ProtoMessage() {} 876 + 877 + func (x *Repository) ProtoReflect() protoreflect.Message { 878 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[9] 879 + if protoimpl.UnsafeEnabled && x != nil { 880 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 881 + if ms.LoadMessageInfo() == nil { 882 + ms.StoreMessageInfo(mi) 883 + } 884 + return ms 885 + } 886 + return mi.MessageOf(x) 887 + } 888 + 889 + // Deprecated: Use Repository.ProtoReflect.Descriptor instead. 890 + func (*Repository) Descriptor() ([]byte, []int) { 891 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{9} 892 + } 893 + 894 + func (x *Repository) GetId() uint32 { 895 + if x != nil { 896 + return x.Id 897 + } 898 + return 0 899 + } 900 + 901 + func (x *Repository) GetName() string { 902 + if x != nil { 903 + return x.Name 904 + } 905 + return "" 906 + } 907 + 908 + func (x *Repository) GetUrl() string { 909 + if x != nil { 910 + return x.Url 911 + } 912 + return "" 913 + } 914 + 915 + func (x *Repository) GetSource() string { 916 + if x != nil { 917 + return x.Source 918 + } 919 + return "" 920 + } 921 + 922 + func (x *Repository) GetBranches() []*RepositoryBranch { 923 + if x != nil { 924 + return x.Branches 925 + } 926 + return nil 927 + } 928 + 929 + func (x *Repository) GetSubRepoMap() map[string]*Repository { 930 + if x != nil { 931 + return x.SubRepoMap 932 + } 933 + return nil 934 + } 935 + 936 + func (x *Repository) GetCommitUrlTemplate() string { 937 + if x != nil { 938 + return x.CommitUrlTemplate 939 + } 940 + return "" 941 + } 942 + 943 + func (x *Repository) GetFileUrlTemplate() string { 944 + if x != nil { 945 + return x.FileUrlTemplate 946 + } 947 + return "" 948 + } 949 + 950 + func (x *Repository) GetLineFragmentTemplate() string { 951 + if x != nil { 952 + return x.LineFragmentTemplate 953 + } 954 + return "" 955 + } 956 + 957 + func (x *Repository) GetPriority() float64 { 958 + if x != nil { 959 + return x.Priority 960 + } 961 + return 0 962 + } 963 + 964 + func (x *Repository) GetRawConfig() map[string]string { 965 + if x != nil { 966 + return x.RawConfig 967 + } 968 + return nil 969 + } 970 + 971 + func (x *Repository) GetRank() uint32 { 972 + if x != nil { 973 + return x.Rank 974 + } 975 + return 0 976 + } 977 + 978 + func (x *Repository) GetIndexOptions() string { 979 + if x != nil { 980 + return x.IndexOptions 981 + } 982 + return "" 983 + } 984 + 985 + func (x *Repository) GetHasSymbols() bool { 986 + if x != nil { 987 + return x.HasSymbols 988 + } 989 + return false 990 + } 991 + 992 + func (x *Repository) GetTombstone() bool { 993 + if x != nil { 994 + return x.Tombstone 995 + } 996 + return false 997 + } 998 + 999 + func (x *Repository) GetLatestCommitDate() *timestamppb.Timestamp { 1000 + if x != nil { 1001 + return x.LatestCommitDate 1002 + } 1003 + return nil 1004 + } 1005 + 1006 + func (x *Repository) GetFileTombstones() []string { 1007 + if x != nil { 1008 + return x.FileTombstones 1009 + } 1010 + return nil 1011 + } 1012 + 1013 + type IndexMetadata struct { 1014 + state protoimpl.MessageState 1015 + sizeCache protoimpl.SizeCache 1016 + unknownFields protoimpl.UnknownFields 1017 + 1018 + IndexFormatVersion int64 `protobuf:"varint,1,opt,name=index_format_version,json=indexFormatVersion,proto3" json:"index_format_version,omitempty"` 1019 + IndexFeatureVersion int64 `protobuf:"varint,2,opt,name=index_feature_version,json=indexFeatureVersion,proto3" json:"index_feature_version,omitempty"` 1020 + IndexMinReaderVersion int64 `protobuf:"varint,3,opt,name=index_min_reader_version,json=indexMinReaderVersion,proto3" json:"index_min_reader_version,omitempty"` 1021 + IndexTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=index_time,json=indexTime,proto3" json:"index_time,omitempty"` 1022 + PlainAscii bool `protobuf:"varint,5,opt,name=plain_ascii,json=plainAscii,proto3" json:"plain_ascii,omitempty"` 1023 + LanguageMap map[string]uint32 `protobuf:"bytes,6,rep,name=language_map,json=languageMap,proto3" json:"language_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` 1024 + ZoektVersion string `protobuf:"bytes,7,opt,name=zoekt_version,json=zoektVersion,proto3" json:"zoekt_version,omitempty"` 1025 + Id string `protobuf:"bytes,8,opt,name=id,proto3" json:"id,omitempty"` 1026 + } 1027 + 1028 + func (x *IndexMetadata) Reset() { 1029 + *x = IndexMetadata{} 1030 + if protoimpl.UnsafeEnabled { 1031 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[10] 1032 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1033 + ms.StoreMessageInfo(mi) 1034 + } 1035 + } 1036 + 1037 + func (x *IndexMetadata) String() string { 1038 + return protoimpl.X.MessageStringOf(x) 1039 + } 1040 + 1041 + func (*IndexMetadata) ProtoMessage() {} 1042 + 1043 + func (x *IndexMetadata) ProtoReflect() protoreflect.Message { 1044 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[10] 1045 + if protoimpl.UnsafeEnabled && x != nil { 1046 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1047 + if ms.LoadMessageInfo() == nil { 1048 + ms.StoreMessageInfo(mi) 1049 + } 1050 + return ms 1051 + } 1052 + return mi.MessageOf(x) 1053 + } 1054 + 1055 + // Deprecated: Use IndexMetadata.ProtoReflect.Descriptor instead. 1056 + func (*IndexMetadata) Descriptor() ([]byte, []int) { 1057 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{10} 1058 + } 1059 + 1060 + func (x *IndexMetadata) GetIndexFormatVersion() int64 { 1061 + if x != nil { 1062 + return x.IndexFormatVersion 1063 + } 1064 + return 0 1065 + } 1066 + 1067 + func (x *IndexMetadata) GetIndexFeatureVersion() int64 { 1068 + if x != nil { 1069 + return x.IndexFeatureVersion 1070 + } 1071 + return 0 1072 + } 1073 + 1074 + func (x *IndexMetadata) GetIndexMinReaderVersion() int64 { 1075 + if x != nil { 1076 + return x.IndexMinReaderVersion 1077 + } 1078 + return 0 1079 + } 1080 + 1081 + func (x *IndexMetadata) GetIndexTime() *timestamppb.Timestamp { 1082 + if x != nil { 1083 + return x.IndexTime 1084 + } 1085 + return nil 1086 + } 1087 + 1088 + func (x *IndexMetadata) GetPlainAscii() bool { 1089 + if x != nil { 1090 + return x.PlainAscii 1091 + } 1092 + return false 1093 + } 1094 + 1095 + func (x *IndexMetadata) GetLanguageMap() map[string]uint32 { 1096 + if x != nil { 1097 + return x.LanguageMap 1098 + } 1099 + return nil 1100 + } 1101 + 1102 + func (x *IndexMetadata) GetZoektVersion() string { 1103 + if x != nil { 1104 + return x.ZoektVersion 1105 + } 1106 + return "" 1107 + } 1108 + 1109 + func (x *IndexMetadata) GetId() string { 1110 + if x != nil { 1111 + return x.Id 1112 + } 1113 + return "" 1114 + } 1115 + 1116 + type MinimalRepoListEntry struct { 1117 + state protoimpl.MessageState 1118 + sizeCache protoimpl.SizeCache 1119 + unknownFields protoimpl.UnknownFields 1120 + 1121 + HasSymbols bool `protobuf:"varint,1,opt,name=has_symbols,json=hasSymbols,proto3" json:"has_symbols,omitempty"` 1122 + Branches []*RepositoryBranch `protobuf:"bytes,2,rep,name=branches,proto3" json:"branches,omitempty"` 1123 + IndexTimeUnix int64 `protobuf:"varint,3,opt,name=index_time_unix,json=indexTimeUnix,proto3" json:"index_time_unix,omitempty"` 1124 + } 1125 + 1126 + func (x *MinimalRepoListEntry) Reset() { 1127 + *x = MinimalRepoListEntry{} 1128 + if protoimpl.UnsafeEnabled { 1129 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[11] 1130 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1131 + ms.StoreMessageInfo(mi) 1132 + } 1133 + } 1134 + 1135 + func (x *MinimalRepoListEntry) String() string { 1136 + return protoimpl.X.MessageStringOf(x) 1137 + } 1138 + 1139 + func (*MinimalRepoListEntry) ProtoMessage() {} 1140 + 1141 + func (x *MinimalRepoListEntry) ProtoReflect() protoreflect.Message { 1142 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[11] 1143 + if protoimpl.UnsafeEnabled && x != nil { 1144 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1145 + if ms.LoadMessageInfo() == nil { 1146 + ms.StoreMessageInfo(mi) 1147 + } 1148 + return ms 1149 + } 1150 + return mi.MessageOf(x) 1151 + } 1152 + 1153 + // Deprecated: Use MinimalRepoListEntry.ProtoReflect.Descriptor instead. 1154 + func (*MinimalRepoListEntry) Descriptor() ([]byte, []int) { 1155 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{11} 1156 + } 1157 + 1158 + func (x *MinimalRepoListEntry) GetHasSymbols() bool { 1159 + if x != nil { 1160 + return x.HasSymbols 1161 + } 1162 + return false 1163 + } 1164 + 1165 + func (x *MinimalRepoListEntry) GetBranches() []*RepositoryBranch { 1166 + if x != nil { 1167 + return x.Branches 1168 + } 1169 + return nil 1170 + } 1171 + 1172 + func (x *MinimalRepoListEntry) GetIndexTimeUnix() int64 { 1173 + if x != nil { 1174 + return x.IndexTimeUnix 1175 + } 1176 + return 0 1177 + } 1178 + 1179 + // RepositoryBranch describes an indexed branch, which is a name 1180 + // combined with a version. 1181 + type RepositoryBranch struct { 1182 + state protoimpl.MessageState 1183 + sizeCache protoimpl.SizeCache 1184 + unknownFields protoimpl.UnknownFields 1185 + 1186 + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1187 + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` 1188 + } 1189 + 1190 + func (x *RepositoryBranch) Reset() { 1191 + *x = RepositoryBranch{} 1192 + if protoimpl.UnsafeEnabled { 1193 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[12] 1194 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1195 + ms.StoreMessageInfo(mi) 1196 + } 1197 + } 1198 + 1199 + func (x *RepositoryBranch) String() string { 1200 + return protoimpl.X.MessageStringOf(x) 1201 + } 1202 + 1203 + func (*RepositoryBranch) ProtoMessage() {} 1204 + 1205 + func (x *RepositoryBranch) ProtoReflect() protoreflect.Message { 1206 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[12] 1207 + if protoimpl.UnsafeEnabled && x != nil { 1208 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1209 + if ms.LoadMessageInfo() == nil { 1210 + ms.StoreMessageInfo(mi) 1211 + } 1212 + return ms 1213 + } 1214 + return mi.MessageOf(x) 1215 + } 1216 + 1217 + // Deprecated: Use RepositoryBranch.ProtoReflect.Descriptor instead. 1218 + func (*RepositoryBranch) Descriptor() ([]byte, []int) { 1219 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{12} 1220 + } 1221 + 1222 + func (x *RepositoryBranch) GetName() string { 1223 + if x != nil { 1224 + return x.Name 1225 + } 1226 + return "" 1227 + } 1228 + 1229 + func (x *RepositoryBranch) GetVersion() string { 1230 + if x != nil { 1231 + return x.Version 1232 + } 1233 + return "" 1234 + } 1235 + 1236 + // RepoStats is a collection of statistics for a set of repositories. 1237 + type RepoStats struct { 1238 + state protoimpl.MessageState 1239 + sizeCache protoimpl.SizeCache 1240 + unknownFields protoimpl.UnknownFields 1241 + 1242 + // repos is used for aggregrating the number of repositories. 1243 + Repos int64 `protobuf:"varint,1,opt,name=repos,proto3" json:"repos,omitempty"` 1244 + // shards is the total number of search shards. 1245 + Shards int64 `protobuf:"varint,2,opt,name=shards,proto3" json:"shards,omitempty"` 1246 + // documents holds the number of documents or files. 1247 + Documents int64 `protobuf:"varint,3,opt,name=documents,proto3" json:"documents,omitempty"` 1248 + // index_bytes is the amount of RAM used for index overhead. 1249 + IndexBytes int64 `protobuf:"varint,4,opt,name=index_bytes,json=indexBytes,proto3" json:"index_bytes,omitempty"` 1250 + // content_bytes is the amount of RAM used for raw content. 1251 + ContentBytes int64 `protobuf:"varint,5,opt,name=content_bytes,json=contentBytes,proto3" json:"content_bytes,omitempty"` 1252 + // new_lines_count is the number of newlines "\n" that appear in the zoekt 1253 + // indexed documents. This is not exactly the same as line count, since it 1254 + // will not include lines not terminated by "\n" (eg a file with no "\n", or 1255 + // a final line without "\n"). Note: Zoekt deduplicates documents across 1256 + // branches, so if a path has the same contents on multiple branches, there 1257 + // is only one document for it. As such that document's newlines is only 1258 + // counted once. See DefaultBranchNewLinesCount and AllBranchesNewLinesCount 1259 + // for counts which do not deduplicate. 1260 + NewLinesCount uint64 `protobuf:"varint,6,opt,name=new_lines_count,json=newLinesCount,proto3" json:"new_lines_count,omitempty"` 1261 + // default_branch_new_lines_count is the number of newlines "\n" in the default 1262 + // branch. 1263 + DefaultBranchNewLinesCount uint64 `protobuf:"varint,7,opt,name=default_branch_new_lines_count,json=defaultBranchNewLinesCount,proto3" json:"default_branch_new_lines_count,omitempty"` 1264 + // other_branches_new_lines_count is the number of newlines "\n" in all branches 1265 + // except the default branch. 1266 + OtherBranchesNewLinesCount uint64 `protobuf:"varint,8,opt,name=other_branches_new_lines_count,json=otherBranchesNewLinesCount,proto3" json:"other_branches_new_lines_count,omitempty"` 1267 + } 1268 + 1269 + func (x *RepoStats) Reset() { 1270 + *x = RepoStats{} 1271 + if protoimpl.UnsafeEnabled { 1272 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[13] 1273 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1274 + ms.StoreMessageInfo(mi) 1275 + } 1276 + } 1277 + 1278 + func (x *RepoStats) String() string { 1279 + return protoimpl.X.MessageStringOf(x) 1280 + } 1281 + 1282 + func (*RepoStats) ProtoMessage() {} 1283 + 1284 + func (x *RepoStats) ProtoReflect() protoreflect.Message { 1285 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[13] 1286 + if protoimpl.UnsafeEnabled && x != nil { 1287 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1288 + if ms.LoadMessageInfo() == nil { 1289 + ms.StoreMessageInfo(mi) 1290 + } 1291 + return ms 1292 + } 1293 + return mi.MessageOf(x) 1294 + } 1295 + 1296 + // Deprecated: Use RepoStats.ProtoReflect.Descriptor instead. 1297 + func (*RepoStats) Descriptor() ([]byte, []int) { 1298 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{13} 1299 + } 1300 + 1301 + func (x *RepoStats) GetRepos() int64 { 1302 + if x != nil { 1303 + return x.Repos 1304 + } 1305 + return 0 1306 + } 1307 + 1308 + func (x *RepoStats) GetShards() int64 { 1309 + if x != nil { 1310 + return x.Shards 1311 + } 1312 + return 0 1313 + } 1314 + 1315 + func (x *RepoStats) GetDocuments() int64 { 1316 + if x != nil { 1317 + return x.Documents 1318 + } 1319 + return 0 1320 + } 1321 + 1322 + func (x *RepoStats) GetIndexBytes() int64 { 1323 + if x != nil { 1324 + return x.IndexBytes 1325 + } 1326 + return 0 1327 + } 1328 + 1329 + func (x *RepoStats) GetContentBytes() int64 { 1330 + if x != nil { 1331 + return x.ContentBytes 1332 + } 1333 + return 0 1334 + } 1335 + 1336 + func (x *RepoStats) GetNewLinesCount() uint64 { 1337 + if x != nil { 1338 + return x.NewLinesCount 1339 + } 1340 + return 0 1341 + } 1342 + 1343 + func (x *RepoStats) GetDefaultBranchNewLinesCount() uint64 { 1344 + if x != nil { 1345 + return x.DefaultBranchNewLinesCount 1346 + } 1347 + return 0 1348 + } 1349 + 1350 + func (x *RepoStats) GetOtherBranchesNewLinesCount() uint64 { 1351 + if x != nil { 1352 + return x.OtherBranchesNewLinesCount 1353 + } 1354 + return 0 1355 + } 1356 + 1357 + type Stats struct { 1358 + state protoimpl.MessageState 1359 + sizeCache protoimpl.SizeCache 1360 + unknownFields protoimpl.UnknownFields 1361 + 1362 + // Amount of I/O for reading contents. 1363 + ContentBytesLoaded int64 `protobuf:"varint,1,opt,name=content_bytes_loaded,json=contentBytesLoaded,proto3" json:"content_bytes_loaded,omitempty"` 1364 + // Amount of I/O for reading from index. 1365 + IndexBytesLoaded int64 `protobuf:"varint,2,opt,name=index_bytes_loaded,json=indexBytesLoaded,proto3" json:"index_bytes_loaded,omitempty"` 1366 + // Number of search shards that had a crash. 1367 + Crashes int64 `protobuf:"varint,3,opt,name=crashes,proto3" json:"crashes,omitempty"` 1368 + // Wall clock time for this search 1369 + Duration *durationpb.Duration `protobuf:"bytes,4,opt,name=duration,proto3" json:"duration,omitempty"` 1370 + // Number of files containing a match. 1371 + FileCount int64 `protobuf:"varint,5,opt,name=file_count,json=fileCount,proto3" json:"file_count,omitempty"` 1372 + // Number of files in shards that we considered. 1373 + ShardFilesConsidered int64 `protobuf:"varint,6,opt,name=shard_files_considered,json=shardFilesConsidered,proto3" json:"shard_files_considered,omitempty"` 1374 + // Files that we evaluated. Equivalent to files for which all 1375 + // atom matches (including negations) evaluated to true. 1376 + FilesConsidered int64 `protobuf:"varint,7,opt,name=files_considered,json=filesConsidered,proto3" json:"files_considered,omitempty"` 1377 + // Files for which we loaded file content to verify substring matches 1378 + FilesLoaded int64 `protobuf:"varint,8,opt,name=files_loaded,json=filesLoaded,proto3" json:"files_loaded,omitempty"` 1379 + // Candidate files whose contents weren't examined because we 1380 + // gathered enough matches. 1381 + FilesSkipped int64 `protobuf:"varint,9,opt,name=files_skipped,json=filesSkipped,proto3" json:"files_skipped,omitempty"` 1382 + // Shards that we scanned to find matches. 1383 + ShardsScanned int64 `protobuf:"varint,10,opt,name=shards_scanned,json=shardsScanned,proto3" json:"shards_scanned,omitempty"` 1384 + // Shards that we did not process because a query was canceled. 1385 + ShardsSkipped int64 `protobuf:"varint,11,opt,name=shards_skipped,json=shardsSkipped,proto3" json:"shards_skipped,omitempty"` 1386 + // Shards that we did not process because the query was rejected by the 1387 + // ngram filter indicating it had no matches. 1388 + ShardsSkippedFilter int64 `protobuf:"varint,12,opt,name=shards_skipped_filter,json=shardsSkippedFilter,proto3" json:"shards_skipped_filter,omitempty"` 1389 + // Number of non-overlapping matches 1390 + MatchCount int64 `protobuf:"varint,13,opt,name=match_count,json=matchCount,proto3" json:"match_count,omitempty"` 1391 + // Number of candidate matches as a result of searching ngrams. 1392 + NgramMatches int64 `protobuf:"varint,14,opt,name=ngram_matches,json=ngramMatches,proto3" json:"ngram_matches,omitempty"` 1393 + // Wall clock time for queued search. 1394 + Wait *durationpb.Duration `protobuf:"bytes,15,opt,name=wait,proto3" json:"wait,omitempty"` 1395 + // Aggregate wall clock time spent constructing and pruning the match tree. 1396 + // This accounts for time such as lookups in the trigram index. 1397 + MatchTreeConstruction *durationpb.Duration `protobuf:"bytes,19,opt,name=match_tree_construction,json=matchTreeConstruction,proto3" json:"match_tree_construction,omitempty"` 1398 + // Aggregate wall clock time spent searching the match tree. This accounts 1399 + // for the bulk of search work done looking for matches. 1400 + MatchTreeSearch *durationpb.Duration `protobuf:"bytes,20,opt,name=match_tree_search,json=matchTreeSearch,proto3" json:"match_tree_search,omitempty"` 1401 + // Number of times regexp was called on files that we evaluated. 1402 + RegexpsConsidered int64 `protobuf:"varint,16,opt,name=regexps_considered,json=regexpsConsidered,proto3" json:"regexps_considered,omitempty"` 1403 + // FlushReason explains why results were flushed. 1404 + FlushReason FlushReason `protobuf:"varint,17,opt,name=flush_reason,json=flushReason,proto3,enum=zoekt.webserver.v1.FlushReason" json:"flush_reason,omitempty"` 1405 + // NgramLookups is the number of times we accessed an ngram in the index. 1406 + NgramLookups int64 `protobuf:"varint,18,opt,name=ngram_lookups,json=ngramLookups,proto3" json:"ngram_lookups,omitempty"` 1407 + } 1408 + 1409 + func (x *Stats) Reset() { 1410 + *x = Stats{} 1411 + if protoimpl.UnsafeEnabled { 1412 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[14] 1413 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1414 + ms.StoreMessageInfo(mi) 1415 + } 1416 + } 1417 + 1418 + func (x *Stats) String() string { 1419 + return protoimpl.X.MessageStringOf(x) 1420 + } 1421 + 1422 + func (*Stats) ProtoMessage() {} 1423 + 1424 + func (x *Stats) ProtoReflect() protoreflect.Message { 1425 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[14] 1426 + if protoimpl.UnsafeEnabled && x != nil { 1427 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1428 + if ms.LoadMessageInfo() == nil { 1429 + ms.StoreMessageInfo(mi) 1430 + } 1431 + return ms 1432 + } 1433 + return mi.MessageOf(x) 1434 + } 1435 + 1436 + // Deprecated: Use Stats.ProtoReflect.Descriptor instead. 1437 + func (*Stats) Descriptor() ([]byte, []int) { 1438 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{14} 1439 + } 1440 + 1441 + func (x *Stats) GetContentBytesLoaded() int64 { 1442 + if x != nil { 1443 + return x.ContentBytesLoaded 1444 + } 1445 + return 0 1446 + } 1447 + 1448 + func (x *Stats) GetIndexBytesLoaded() int64 { 1449 + if x != nil { 1450 + return x.IndexBytesLoaded 1451 + } 1452 + return 0 1453 + } 1454 + 1455 + func (x *Stats) GetCrashes() int64 { 1456 + if x != nil { 1457 + return x.Crashes 1458 + } 1459 + return 0 1460 + } 1461 + 1462 + func (x *Stats) GetDuration() *durationpb.Duration { 1463 + if x != nil { 1464 + return x.Duration 1465 + } 1466 + return nil 1467 + } 1468 + 1469 + func (x *Stats) GetFileCount() int64 { 1470 + if x != nil { 1471 + return x.FileCount 1472 + } 1473 + return 0 1474 + } 1475 + 1476 + func (x *Stats) GetShardFilesConsidered() int64 { 1477 + if x != nil { 1478 + return x.ShardFilesConsidered 1479 + } 1480 + return 0 1481 + } 1482 + 1483 + func (x *Stats) GetFilesConsidered() int64 { 1484 + if x != nil { 1485 + return x.FilesConsidered 1486 + } 1487 + return 0 1488 + } 1489 + 1490 + func (x *Stats) GetFilesLoaded() int64 { 1491 + if x != nil { 1492 + return x.FilesLoaded 1493 + } 1494 + return 0 1495 + } 1496 + 1497 + func (x *Stats) GetFilesSkipped() int64 { 1498 + if x != nil { 1499 + return x.FilesSkipped 1500 + } 1501 + return 0 1502 + } 1503 + 1504 + func (x *Stats) GetShardsScanned() int64 { 1505 + if x != nil { 1506 + return x.ShardsScanned 1507 + } 1508 + return 0 1509 + } 1510 + 1511 + func (x *Stats) GetShardsSkipped() int64 { 1512 + if x != nil { 1513 + return x.ShardsSkipped 1514 + } 1515 + return 0 1516 + } 1517 + 1518 + func (x *Stats) GetShardsSkippedFilter() int64 { 1519 + if x != nil { 1520 + return x.ShardsSkippedFilter 1521 + } 1522 + return 0 1523 + } 1524 + 1525 + func (x *Stats) GetMatchCount() int64 { 1526 + if x != nil { 1527 + return x.MatchCount 1528 + } 1529 + return 0 1530 + } 1531 + 1532 + func (x *Stats) GetNgramMatches() int64 { 1533 + if x != nil { 1534 + return x.NgramMatches 1535 + } 1536 + return 0 1537 + } 1538 + 1539 + func (x *Stats) GetWait() *durationpb.Duration { 1540 + if x != nil { 1541 + return x.Wait 1542 + } 1543 + return nil 1544 + } 1545 + 1546 + func (x *Stats) GetMatchTreeConstruction() *durationpb.Duration { 1547 + if x != nil { 1548 + return x.MatchTreeConstruction 1549 + } 1550 + return nil 1551 + } 1552 + 1553 + func (x *Stats) GetMatchTreeSearch() *durationpb.Duration { 1554 + if x != nil { 1555 + return x.MatchTreeSearch 1556 + } 1557 + return nil 1558 + } 1559 + 1560 + func (x *Stats) GetRegexpsConsidered() int64 { 1561 + if x != nil { 1562 + return x.RegexpsConsidered 1563 + } 1564 + return 0 1565 + } 1566 + 1567 + func (x *Stats) GetFlushReason() FlushReason { 1568 + if x != nil { 1569 + return x.FlushReason 1570 + } 1571 + return FlushReason_FLUSH_REASON_UNKNOWN_UNSPECIFIED 1572 + } 1573 + 1574 + func (x *Stats) GetNgramLookups() int64 { 1575 + if x != nil { 1576 + return x.NgramLookups 1577 + } 1578 + return 0 1579 + } 1580 + 1581 + // Progress contains information about the global progress of the running search query. 1582 + // This is used by the frontend to reorder results and emit them when stable. 1583 + // Sourcegraph specific: this is used when querying multiple zoekt-webserver instances. 1584 + type Progress struct { 1585 + state protoimpl.MessageState 1586 + sizeCache protoimpl.SizeCache 1587 + unknownFields protoimpl.UnknownFields 1588 + 1589 + // Priority of the shard that was searched. 1590 + Priority float64 `protobuf:"fixed64,1,opt,name=priority,proto3" json:"priority,omitempty"` 1591 + // max_pending_priority is the maximum priority of pending result that is being searched in parallel. 1592 + // This is used to reorder results when the result set is known to be stable-- that is, when a result's 1593 + // Priority is greater than the max(MaxPendingPriority) from the latest results of each backend, it can be returned to the user. 1594 + // 1595 + // max_pending_priority decreases monotonically in each SearchResult. 1596 + MaxPendingPriority float64 `protobuf:"fixed64,2,opt,name=max_pending_priority,json=maxPendingPriority,proto3" json:"max_pending_priority,omitempty"` 1597 + } 1598 + 1599 + func (x *Progress) Reset() { 1600 + *x = Progress{} 1601 + if protoimpl.UnsafeEnabled { 1602 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[15] 1603 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1604 + ms.StoreMessageInfo(mi) 1605 + } 1606 + } 1607 + 1608 + func (x *Progress) String() string { 1609 + return protoimpl.X.MessageStringOf(x) 1610 + } 1611 + 1612 + func (*Progress) ProtoMessage() {} 1613 + 1614 + func (x *Progress) ProtoReflect() protoreflect.Message { 1615 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[15] 1616 + if protoimpl.UnsafeEnabled && x != nil { 1617 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1618 + if ms.LoadMessageInfo() == nil { 1619 + ms.StoreMessageInfo(mi) 1620 + } 1621 + return ms 1622 + } 1623 + return mi.MessageOf(x) 1624 + } 1625 + 1626 + // Deprecated: Use Progress.ProtoReflect.Descriptor instead. 1627 + func (*Progress) Descriptor() ([]byte, []int) { 1628 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{15} 1629 + } 1630 + 1631 + func (x *Progress) GetPriority() float64 { 1632 + if x != nil { 1633 + return x.Priority 1634 + } 1635 + return 0 1636 + } 1637 + 1638 + func (x *Progress) GetMaxPendingPriority() float64 { 1639 + if x != nil { 1640 + return x.MaxPendingPriority 1641 + } 1642 + return 0 1643 + } 1644 + 1645 + // FileMatch contains all the matches within a file. 1646 + type FileMatch struct { 1647 + state protoimpl.MessageState 1648 + sizeCache protoimpl.SizeCache 1649 + unknownFields protoimpl.UnknownFields 1650 + 1651 + // Ranking; the higher, the better. 1652 + Score float64 `protobuf:"fixed64,1,opt,name=score,proto3" json:"score,omitempty"` 1653 + // For debugging. Needs DebugScore set, but public so tests in 1654 + // other packages can print some diagnostics. 1655 + Debug string `protobuf:"bytes,2,opt,name=debug,proto3" json:"debug,omitempty"` 1656 + // The repository-relative path to the file. 1657 + // 🚨 Warning: file_name might not be a valid UTF-8 string. 1658 + FileName []byte `protobuf:"bytes,3,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"` 1659 + // Repository is the globally unique name of the repo of the 1660 + // match 1661 + Repository string `protobuf:"bytes,4,opt,name=repository,proto3" json:"repository,omitempty"` 1662 + Branches []string `protobuf:"bytes,5,rep,name=branches,proto3" json:"branches,omitempty"` 1663 + // One of line_matches or chunk_matches will be returned depending on whether 1664 + // the SearchOptions.ChunkMatches is set. 1665 + LineMatches []*LineMatch `protobuf:"bytes,6,rep,name=line_matches,json=lineMatches,proto3" json:"line_matches,omitempty"` 1666 + ChunkMatches []*ChunkMatch `protobuf:"bytes,7,rep,name=chunk_matches,json=chunkMatches,proto3" json:"chunk_matches,omitempty"` 1667 + // repository_id is a Sourcegraph extension. This is the ID of Repository in 1668 + // Sourcegraph. 1669 + RepositoryId uint32 `protobuf:"varint,8,opt,name=repository_id,json=repositoryId,proto3" json:"repository_id,omitempty"` 1670 + RepositoryPriority float64 `protobuf:"fixed64,9,opt,name=repository_priority,json=repositoryPriority,proto3" json:"repository_priority,omitempty"` 1671 + // Only set if requested 1672 + Content []byte `protobuf:"bytes,10,opt,name=content,proto3" json:"content,omitempty"` 1673 + // Checksum of the content. 1674 + Checksum []byte `protobuf:"bytes,11,opt,name=checksum,proto3" json:"checksum,omitempty"` 1675 + // Detected language of the result. 1676 + Language string `protobuf:"bytes,12,opt,name=language,proto3" json:"language,omitempty"` 1677 + // sub_repository_name is the globally unique name of the repo, 1678 + // if it came from a subrepository 1679 + SubRepositoryName string `protobuf:"bytes,13,opt,name=sub_repository_name,json=subRepositoryName,proto3" json:"sub_repository_name,omitempty"` 1680 + // sub_repository_path holds the prefix where the subrepository 1681 + // was mounted. 1682 + SubRepositoryPath string `protobuf:"bytes,14,opt,name=sub_repository_path,json=subRepositoryPath,proto3" json:"sub_repository_path,omitempty"` 1683 + // Commit SHA1 (hex) of the (sub)repo holding the file. 1684 + Version string `protobuf:"bytes,15,opt,name=version,proto3" json:"version,omitempty"` 1685 + } 1686 + 1687 + func (x *FileMatch) Reset() { 1688 + *x = FileMatch{} 1689 + if protoimpl.UnsafeEnabled { 1690 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[16] 1691 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1692 + ms.StoreMessageInfo(mi) 1693 + } 1694 + } 1695 + 1696 + func (x *FileMatch) String() string { 1697 + return protoimpl.X.MessageStringOf(x) 1698 + } 1699 + 1700 + func (*FileMatch) ProtoMessage() {} 1701 + 1702 + func (x *FileMatch) ProtoReflect() protoreflect.Message { 1703 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[16] 1704 + if protoimpl.UnsafeEnabled && x != nil { 1705 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1706 + if ms.LoadMessageInfo() == nil { 1707 + ms.StoreMessageInfo(mi) 1708 + } 1709 + return ms 1710 + } 1711 + return mi.MessageOf(x) 1712 + } 1713 + 1714 + // Deprecated: Use FileMatch.ProtoReflect.Descriptor instead. 1715 + func (*FileMatch) Descriptor() ([]byte, []int) { 1716 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{16} 1717 + } 1718 + 1719 + func (x *FileMatch) GetScore() float64 { 1720 + if x != nil { 1721 + return x.Score 1722 + } 1723 + return 0 1724 + } 1725 + 1726 + func (x *FileMatch) GetDebug() string { 1727 + if x != nil { 1728 + return x.Debug 1729 + } 1730 + return "" 1731 + } 1732 + 1733 + func (x *FileMatch) GetFileName() []byte { 1734 + if x != nil { 1735 + return x.FileName 1736 + } 1737 + return nil 1738 + } 1739 + 1740 + func (x *FileMatch) GetRepository() string { 1741 + if x != nil { 1742 + return x.Repository 1743 + } 1744 + return "" 1745 + } 1746 + 1747 + func (x *FileMatch) GetBranches() []string { 1748 + if x != nil { 1749 + return x.Branches 1750 + } 1751 + return nil 1752 + } 1753 + 1754 + func (x *FileMatch) GetLineMatches() []*LineMatch { 1755 + if x != nil { 1756 + return x.LineMatches 1757 + } 1758 + return nil 1759 + } 1760 + 1761 + func (x *FileMatch) GetChunkMatches() []*ChunkMatch { 1762 + if x != nil { 1763 + return x.ChunkMatches 1764 + } 1765 + return nil 1766 + } 1767 + 1768 + func (x *FileMatch) GetRepositoryId() uint32 { 1769 + if x != nil { 1770 + return x.RepositoryId 1771 + } 1772 + return 0 1773 + } 1774 + 1775 + func (x *FileMatch) GetRepositoryPriority() float64 { 1776 + if x != nil { 1777 + return x.RepositoryPriority 1778 + } 1779 + return 0 1780 + } 1781 + 1782 + func (x *FileMatch) GetContent() []byte { 1783 + if x != nil { 1784 + return x.Content 1785 + } 1786 + return nil 1787 + } 1788 + 1789 + func (x *FileMatch) GetChecksum() []byte { 1790 + if x != nil { 1791 + return x.Checksum 1792 + } 1793 + return nil 1794 + } 1795 + 1796 + func (x *FileMatch) GetLanguage() string { 1797 + if x != nil { 1798 + return x.Language 1799 + } 1800 + return "" 1801 + } 1802 + 1803 + func (x *FileMatch) GetSubRepositoryName() string { 1804 + if x != nil { 1805 + return x.SubRepositoryName 1806 + } 1807 + return "" 1808 + } 1809 + 1810 + func (x *FileMatch) GetSubRepositoryPath() string { 1811 + if x != nil { 1812 + return x.SubRepositoryPath 1813 + } 1814 + return "" 1815 + } 1816 + 1817 + func (x *FileMatch) GetVersion() string { 1818 + if x != nil { 1819 + return x.Version 1820 + } 1821 + return "" 1822 + } 1823 + 1824 + type LineMatch struct { 1825 + state protoimpl.MessageState 1826 + sizeCache protoimpl.SizeCache 1827 + unknownFields protoimpl.UnknownFields 1828 + 1829 + Line []byte `protobuf:"bytes,1,opt,name=line,proto3" json:"line,omitempty"` 1830 + LineStart int64 `protobuf:"varint,2,opt,name=line_start,json=lineStart,proto3" json:"line_start,omitempty"` 1831 + LineEnd int64 `protobuf:"varint,3,opt,name=line_end,json=lineEnd,proto3" json:"line_end,omitempty"` 1832 + LineNumber int64 `protobuf:"varint,4,opt,name=line_number,json=lineNumber,proto3" json:"line_number,omitempty"` 1833 + // before and after are only set when SearchOptions.NumContextLines is > 0 1834 + Before []byte `protobuf:"bytes,5,opt,name=before,proto3" json:"before,omitempty"` 1835 + After []byte `protobuf:"bytes,6,opt,name=after,proto3" json:"after,omitempty"` 1836 + // If set, this was a match on the filename. 1837 + FileName bool `protobuf:"varint,7,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"` 1838 + // The higher the better. Only ranks the quality of the match 1839 + // within the file, does not take rank of file into account 1840 + Score float64 `protobuf:"fixed64,8,opt,name=score,proto3" json:"score,omitempty"` 1841 + DebugScore string `protobuf:"bytes,9,opt,name=debug_score,json=debugScore,proto3" json:"debug_score,omitempty"` 1842 + LineFragments []*LineFragmentMatch `protobuf:"bytes,10,rep,name=line_fragments,json=lineFragments,proto3" json:"line_fragments,omitempty"` 1843 + } 1844 + 1845 + func (x *LineMatch) Reset() { 1846 + *x = LineMatch{} 1847 + if protoimpl.UnsafeEnabled { 1848 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[17] 1849 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1850 + ms.StoreMessageInfo(mi) 1851 + } 1852 + } 1853 + 1854 + func (x *LineMatch) String() string { 1855 + return protoimpl.X.MessageStringOf(x) 1856 + } 1857 + 1858 + func (*LineMatch) ProtoMessage() {} 1859 + 1860 + func (x *LineMatch) ProtoReflect() protoreflect.Message { 1861 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[17] 1862 + if protoimpl.UnsafeEnabled && x != nil { 1863 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1864 + if ms.LoadMessageInfo() == nil { 1865 + ms.StoreMessageInfo(mi) 1866 + } 1867 + return ms 1868 + } 1869 + return mi.MessageOf(x) 1870 + } 1871 + 1872 + // Deprecated: Use LineMatch.ProtoReflect.Descriptor instead. 1873 + func (*LineMatch) Descriptor() ([]byte, []int) { 1874 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{17} 1875 + } 1876 + 1877 + func (x *LineMatch) GetLine() []byte { 1878 + if x != nil { 1879 + return x.Line 1880 + } 1881 + return nil 1882 + } 1883 + 1884 + func (x *LineMatch) GetLineStart() int64 { 1885 + if x != nil { 1886 + return x.LineStart 1887 + } 1888 + return 0 1889 + } 1890 + 1891 + func (x *LineMatch) GetLineEnd() int64 { 1892 + if x != nil { 1893 + return x.LineEnd 1894 + } 1895 + return 0 1896 + } 1897 + 1898 + func (x *LineMatch) GetLineNumber() int64 { 1899 + if x != nil { 1900 + return x.LineNumber 1901 + } 1902 + return 0 1903 + } 1904 + 1905 + func (x *LineMatch) GetBefore() []byte { 1906 + if x != nil { 1907 + return x.Before 1908 + } 1909 + return nil 1910 + } 1911 + 1912 + func (x *LineMatch) GetAfter() []byte { 1913 + if x != nil { 1914 + return x.After 1915 + } 1916 + return nil 1917 + } 1918 + 1919 + func (x *LineMatch) GetFileName() bool { 1920 + if x != nil { 1921 + return x.FileName 1922 + } 1923 + return false 1924 + } 1925 + 1926 + func (x *LineMatch) GetScore() float64 { 1927 + if x != nil { 1928 + return x.Score 1929 + } 1930 + return 0 1931 + } 1932 + 1933 + func (x *LineMatch) GetDebugScore() string { 1934 + if x != nil { 1935 + return x.DebugScore 1936 + } 1937 + return "" 1938 + } 1939 + 1940 + func (x *LineMatch) GetLineFragments() []*LineFragmentMatch { 1941 + if x != nil { 1942 + return x.LineFragments 1943 + } 1944 + return nil 1945 + } 1946 + 1947 + type LineFragmentMatch struct { 1948 + state protoimpl.MessageState 1949 + sizeCache protoimpl.SizeCache 1950 + unknownFields protoimpl.UnknownFields 1951 + 1952 + // Offset within the line, in bytes. 1953 + LineOffset int64 `protobuf:"varint,1,opt,name=line_offset,json=lineOffset,proto3" json:"line_offset,omitempty"` 1954 + // Offset from file start, in bytes. 1955 + Offset uint32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` 1956 + // Number bytes that match. 1957 + MatchLength int64 `protobuf:"varint,3,opt,name=match_length,json=matchLength,proto3" json:"match_length,omitempty"` 1958 + SymbolInfo *SymbolInfo `protobuf:"bytes,4,opt,name=symbol_info,json=symbolInfo,proto3,oneof" json:"symbol_info,omitempty"` 1959 + } 1960 + 1961 + func (x *LineFragmentMatch) Reset() { 1962 + *x = LineFragmentMatch{} 1963 + if protoimpl.UnsafeEnabled { 1964 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[18] 1965 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1966 + ms.StoreMessageInfo(mi) 1967 + } 1968 + } 1969 + 1970 + func (x *LineFragmentMatch) String() string { 1971 + return protoimpl.X.MessageStringOf(x) 1972 + } 1973 + 1974 + func (*LineFragmentMatch) ProtoMessage() {} 1975 + 1976 + func (x *LineFragmentMatch) ProtoReflect() protoreflect.Message { 1977 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[18] 1978 + if protoimpl.UnsafeEnabled && x != nil { 1979 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1980 + if ms.LoadMessageInfo() == nil { 1981 + ms.StoreMessageInfo(mi) 1982 + } 1983 + return ms 1984 + } 1985 + return mi.MessageOf(x) 1986 + } 1987 + 1988 + // Deprecated: Use LineFragmentMatch.ProtoReflect.Descriptor instead. 1989 + func (*LineFragmentMatch) Descriptor() ([]byte, []int) { 1990 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{18} 1991 + } 1992 + 1993 + func (x *LineFragmentMatch) GetLineOffset() int64 { 1994 + if x != nil { 1995 + return x.LineOffset 1996 + } 1997 + return 0 1998 + } 1999 + 2000 + func (x *LineFragmentMatch) GetOffset() uint32 { 2001 + if x != nil { 2002 + return x.Offset 2003 + } 2004 + return 0 2005 + } 2006 + 2007 + func (x *LineFragmentMatch) GetMatchLength() int64 { 2008 + if x != nil { 2009 + return x.MatchLength 2010 + } 2011 + return 0 2012 + } 2013 + 2014 + func (x *LineFragmentMatch) GetSymbolInfo() *SymbolInfo { 2015 + if x != nil { 2016 + return x.SymbolInfo 2017 + } 2018 + return nil 2019 + } 2020 + 2021 + type SymbolInfo struct { 2022 + state protoimpl.MessageState 2023 + sizeCache protoimpl.SizeCache 2024 + unknownFields protoimpl.UnknownFields 2025 + 2026 + Sym string `protobuf:"bytes,1,opt,name=sym,proto3" json:"sym,omitempty"` 2027 + Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` 2028 + Parent string `protobuf:"bytes,3,opt,name=parent,proto3" json:"parent,omitempty"` 2029 + ParentKind string `protobuf:"bytes,4,opt,name=parent_kind,json=parentKind,proto3" json:"parent_kind,omitempty"` 2030 + } 2031 + 2032 + func (x *SymbolInfo) Reset() { 2033 + *x = SymbolInfo{} 2034 + if protoimpl.UnsafeEnabled { 2035 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[19] 2036 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2037 + ms.StoreMessageInfo(mi) 2038 + } 2039 + } 2040 + 2041 + func (x *SymbolInfo) String() string { 2042 + return protoimpl.X.MessageStringOf(x) 2043 + } 2044 + 2045 + func (*SymbolInfo) ProtoMessage() {} 2046 + 2047 + func (x *SymbolInfo) ProtoReflect() protoreflect.Message { 2048 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[19] 2049 + if protoimpl.UnsafeEnabled && x != nil { 2050 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2051 + if ms.LoadMessageInfo() == nil { 2052 + ms.StoreMessageInfo(mi) 2053 + } 2054 + return ms 2055 + } 2056 + return mi.MessageOf(x) 2057 + } 2058 + 2059 + // Deprecated: Use SymbolInfo.ProtoReflect.Descriptor instead. 2060 + func (*SymbolInfo) Descriptor() ([]byte, []int) { 2061 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{19} 2062 + } 2063 + 2064 + func (x *SymbolInfo) GetSym() string { 2065 + if x != nil { 2066 + return x.Sym 2067 + } 2068 + return "" 2069 + } 2070 + 2071 + func (x *SymbolInfo) GetKind() string { 2072 + if x != nil { 2073 + return x.Kind 2074 + } 2075 + return "" 2076 + } 2077 + 2078 + func (x *SymbolInfo) GetParent() string { 2079 + if x != nil { 2080 + return x.Parent 2081 + } 2082 + return "" 2083 + } 2084 + 2085 + func (x *SymbolInfo) GetParentKind() string { 2086 + if x != nil { 2087 + return x.ParentKind 2088 + } 2089 + return "" 2090 + } 2091 + 2092 + type ChunkMatch struct { 2093 + state protoimpl.MessageState 2094 + sizeCache protoimpl.SizeCache 2095 + unknownFields protoimpl.UnknownFields 2096 + 2097 + // A contiguous range of complete lines that fully contains Ranges. 2098 + Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` 2099 + // The location (inclusive) of the beginning of content 2100 + // relative to the beginning of the file. It will always be at the 2101 + // beginning of a line (Column will always be 1). 2102 + ContentStart *Location `protobuf:"bytes,2,opt,name=content_start,json=contentStart,proto3" json:"content_start,omitempty"` 2103 + // True if this match is a match on the file name, in 2104 + // which case Content will contain the file name. 2105 + FileName bool `protobuf:"varint,3,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"` 2106 + // A set of matching ranges within this chunk. Each range is relative 2107 + // to the beginning of the file (not the beginning of Content). 2108 + Ranges []*Range `protobuf:"bytes,4,rep,name=ranges,proto3" json:"ranges,omitempty"` 2109 + // The symbol information associated with Ranges. If it is non-nil, 2110 + // its length will equal that of Ranges. Any of its elements may be nil. 2111 + SymbolInfo []*SymbolInfo `protobuf:"bytes,5,rep,name=symbol_info,json=symbolInfo,proto3" json:"symbol_info,omitempty"` 2112 + Score float64 `protobuf:"fixed64,6,opt,name=score,proto3" json:"score,omitempty"` 2113 + DebugScore string `protobuf:"bytes,7,opt,name=debug_score,json=debugScore,proto3" json:"debug_score,omitempty"` 2114 + } 2115 + 2116 + func (x *ChunkMatch) Reset() { 2117 + *x = ChunkMatch{} 2118 + if protoimpl.UnsafeEnabled { 2119 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[20] 2120 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2121 + ms.StoreMessageInfo(mi) 2122 + } 2123 + } 2124 + 2125 + func (x *ChunkMatch) String() string { 2126 + return protoimpl.X.MessageStringOf(x) 2127 + } 2128 + 2129 + func (*ChunkMatch) ProtoMessage() {} 2130 + 2131 + func (x *ChunkMatch) ProtoReflect() protoreflect.Message { 2132 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[20] 2133 + if protoimpl.UnsafeEnabled && x != nil { 2134 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2135 + if ms.LoadMessageInfo() == nil { 2136 + ms.StoreMessageInfo(mi) 2137 + } 2138 + return ms 2139 + } 2140 + return mi.MessageOf(x) 2141 + } 2142 + 2143 + // Deprecated: Use ChunkMatch.ProtoReflect.Descriptor instead. 2144 + func (*ChunkMatch) Descriptor() ([]byte, []int) { 2145 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{20} 2146 + } 2147 + 2148 + func (x *ChunkMatch) GetContent() []byte { 2149 + if x != nil { 2150 + return x.Content 2151 + } 2152 + return nil 2153 + } 2154 + 2155 + func (x *ChunkMatch) GetContentStart() *Location { 2156 + if x != nil { 2157 + return x.ContentStart 2158 + } 2159 + return nil 2160 + } 2161 + 2162 + func (x *ChunkMatch) GetFileName() bool { 2163 + if x != nil { 2164 + return x.FileName 2165 + } 2166 + return false 2167 + } 2168 + 2169 + func (x *ChunkMatch) GetRanges() []*Range { 2170 + if x != nil { 2171 + return x.Ranges 2172 + } 2173 + return nil 2174 + } 2175 + 2176 + func (x *ChunkMatch) GetSymbolInfo() []*SymbolInfo { 2177 + if x != nil { 2178 + return x.SymbolInfo 2179 + } 2180 + return nil 2181 + } 2182 + 2183 + func (x *ChunkMatch) GetScore() float64 { 2184 + if x != nil { 2185 + return x.Score 2186 + } 2187 + return 0 2188 + } 2189 + 2190 + func (x *ChunkMatch) GetDebugScore() string { 2191 + if x != nil { 2192 + return x.DebugScore 2193 + } 2194 + return "" 2195 + } 2196 + 2197 + type Range struct { 2198 + state protoimpl.MessageState 2199 + sizeCache protoimpl.SizeCache 2200 + unknownFields protoimpl.UnknownFields 2201 + 2202 + // The inclusive beginning of the range. 2203 + Start *Location `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"` 2204 + // The exclusive end of the range. 2205 + End *Location `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"` 2206 + } 2207 + 2208 + func (x *Range) Reset() { 2209 + *x = Range{} 2210 + if protoimpl.UnsafeEnabled { 2211 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[21] 2212 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2213 + ms.StoreMessageInfo(mi) 2214 + } 2215 + } 2216 + 2217 + func (x *Range) String() string { 2218 + return protoimpl.X.MessageStringOf(x) 2219 + } 2220 + 2221 + func (*Range) ProtoMessage() {} 2222 + 2223 + func (x *Range) ProtoReflect() protoreflect.Message { 2224 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[21] 2225 + if protoimpl.UnsafeEnabled && x != nil { 2226 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2227 + if ms.LoadMessageInfo() == nil { 2228 + ms.StoreMessageInfo(mi) 2229 + } 2230 + return ms 2231 + } 2232 + return mi.MessageOf(x) 2233 + } 2234 + 2235 + // Deprecated: Use Range.ProtoReflect.Descriptor instead. 2236 + func (*Range) Descriptor() ([]byte, []int) { 2237 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{21} 2238 + } 2239 + 2240 + func (x *Range) GetStart() *Location { 2241 + if x != nil { 2242 + return x.Start 2243 + } 2244 + return nil 2245 + } 2246 + 2247 + func (x *Range) GetEnd() *Location { 2248 + if x != nil { 2249 + return x.End 2250 + } 2251 + return nil 2252 + } 2253 + 2254 + type Location struct { 2255 + state protoimpl.MessageState 2256 + sizeCache protoimpl.SizeCache 2257 + unknownFields protoimpl.UnknownFields 2258 + 2259 + // 0-based byte offset from the beginning of the file 2260 + ByteOffset uint32 `protobuf:"varint,1,opt,name=byte_offset,json=byteOffset,proto3" json:"byte_offset,omitempty"` 2261 + // 1-based line number from the beginning of the file 2262 + LineNumber uint32 `protobuf:"varint,2,opt,name=line_number,json=lineNumber,proto3" json:"line_number,omitempty"` 2263 + // 1-based column number (in runes) from the beginning of line 2264 + Column uint32 `protobuf:"varint,3,opt,name=column,proto3" json:"column,omitempty"` 2265 + } 2266 + 2267 + func (x *Location) Reset() { 2268 + *x = Location{} 2269 + if protoimpl.UnsafeEnabled { 2270 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[22] 2271 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2272 + ms.StoreMessageInfo(mi) 2273 + } 2274 + } 2275 + 2276 + func (x *Location) String() string { 2277 + return protoimpl.X.MessageStringOf(x) 2278 + } 2279 + 2280 + func (*Location) ProtoMessage() {} 2281 + 2282 + func (x *Location) ProtoReflect() protoreflect.Message { 2283 + mi := &file_zoekt_webserver_v1_webserver_proto_msgTypes[22] 2284 + if protoimpl.UnsafeEnabled && x != nil { 2285 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2286 + if ms.LoadMessageInfo() == nil { 2287 + ms.StoreMessageInfo(mi) 2288 + } 2289 + return ms 2290 + } 2291 + return mi.MessageOf(x) 2292 + } 2293 + 2294 + // Deprecated: Use Location.ProtoReflect.Descriptor instead. 2295 + func (*Location) Descriptor() ([]byte, []int) { 2296 + return file_zoekt_webserver_v1_webserver_proto_rawDescGZIP(), []int{22} 2297 + } 2298 + 2299 + func (x *Location) GetByteOffset() uint32 { 2300 + if x != nil { 2301 + return x.ByteOffset 2302 + } 2303 + return 0 2304 + } 2305 + 2306 + func (x *Location) GetLineNumber() uint32 { 2307 + if x != nil { 2308 + return x.LineNumber 2309 + } 2310 + return 0 2311 + } 2312 + 2313 + func (x *Location) GetColumn() uint32 { 2314 + if x != nil { 2315 + return x.Column 2316 + } 2317 + return 0 2318 + } 2319 + 2320 + var File_zoekt_webserver_v1_webserver_proto protoreflect.FileDescriptor 2321 + 2322 + var file_zoekt_webserver_v1_webserver_proto_rawDesc = []byte{ 2323 + 0x0a, 0x22, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2f, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 2324 + 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 2325 + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 2326 + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2327 + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 2328 + 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2329 + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 2330 + 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 2331 + 0x2f, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x71, 0x75, 2332 + 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x73, 0x0a, 0x0d, 0x53, 0x65, 0x61, 2333 + 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x71, 0x75, 2334 + 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 2335 + 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x51, 2336 + 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x35, 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18, 2337 + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 2338 + 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 2339 + 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x22, 0xd7, 2340 + 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 2341 + 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 2342 + 0x32, 0x19, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 2343 + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 2344 + 0x74, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 2345 + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 2346 + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 2347 + 0x73, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x05, 2348 + 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x7a, 0x6f, 2349 + 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 2350 + 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 2351 + 0x73, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x52, 0x09, 0x72, 2352 + 0x65, 0x70, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x52, 0x0e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x66, 2353 + 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x58, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 2354 + 0x61, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 2355 + 0x3b, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 2356 + 0x32, 0x21, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 2357 + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 2358 + 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4a, 0x04, 0x08, 0x01, 2359 + 0x10, 0x03, 0x22, 0x67, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x65, 0x61, 0x72, 2360 + 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0e, 0x72, 0x65, 2361 + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x06, 0x20, 0x01, 2362 + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 2363 + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 2364 + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 2365 + 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x06, 0x22, 0xfb, 0x05, 0x0a, 0x0d, 2366 + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 2367 + 0x12, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x6f, 0x63, 0x5f, 0x63, 0x6f, 2368 + 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x65, 0x73, 0x74, 0x69, 0x6d, 2369 + 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x77, 2370 + 0x68, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x77, 0x68, 0x6f, 0x6c, 2371 + 0x65, 0x12, 0x31, 0x0a, 0x15, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 2372 + 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 2373 + 0x52, 0x12, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 2374 + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 2375 + 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 2376 + 0x01, 0x28, 0x03, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x61, 0x78, 0x4d, 0x61, 0x74, 2377 + 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x1a, 0x73, 0x68, 0x61, 0x72, 0x64, 2378 + 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 2379 + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x73, 0x68, 0x61, 2380 + 0x72, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 2381 + 0x75, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 2382 + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 2383 + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 2384 + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x57, 0x61, 0x6c, 0x6c, 0x54, 0x69, 2385 + 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x0f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 2386 + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 2387 + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 2388 + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x57, 0x61, 0x6c, 2389 + 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x6f, 0x63, 2390 + 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 2391 + 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x44, 0x6f, 0x63, 0x44, 0x69, 0x73, 0x70, 2392 + 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x17, 0x6d, 0x61, 0x78, 0x5f, 2393 + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x6f, 2394 + 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x4d, 0x61, 2395 + 0x74, 0x63, 0x68, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 2396 + 0x2a, 0x0a, 0x11, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6c, 2397 + 0x69, 0x6e, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6e, 0x75, 0x6d, 0x43, 2398 + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 2399 + 0x68, 0x75, 0x6e, 0x6b, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 2400 + 0x28, 0x08, 0x52, 0x0c, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 2401 + 0x12, 0x2c, 0x0a, 0x12, 0x75, 0x73, 0x65, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 2402 + 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x75, 0x73, 2403 + 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x12, 0x32, 2404 + 0x0a, 0x15, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x73, 2405 + 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x13, 0x64, 2406 + 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x57, 0x65, 0x69, 0x67, 2407 + 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 2408 + 0x08, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x62, 0x75, 2409 + 0x67, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 2410 + 0x65, 0x62, 0x75, 0x67, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x75, 0x73, 0x65, 2411 + 0x5f, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x69, 0x6e, 0x67, 2412 + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x75, 0x73, 0x65, 0x4b, 0x65, 0x79, 0x77, 0x6f, 2413 + 0x72, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x6f, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 2414 + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 2415 + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 2416 + 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x52, 0x05, 2417 + 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x33, 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 2418 + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 2419 + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x70, 0x74, 2420 + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x22, 0xfe, 0x01, 0x0a, 0x0b, 0x4c, 2421 + 0x69, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x05, 0x66, 0x69, 2422 + 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 2423 + 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 2424 + 0x69, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x4c, 2425 + 0x69, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 2426 + 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 2427 + 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x22, 0x8f, 0x01, 0x0a, 0x0d, 0x52, 0x65, 2428 + 0x70, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x27, 0x0a, 0x23, 0x52, 2429 + 0x45, 0x50, 0x4f, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x55, 2430 + 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 2431 + 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x4c, 0x49, 0x53, 2432 + 0x54, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x53, 0x10, 0x01, 0x12, 2433 + 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x46, 0x49, 0x45, 2434 + 0x4c, 0x44, 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x4d, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 2435 + 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 2436 + 0x52, 0x45, 0x50, 0x4f, 0x53, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x03, 0x22, 0xf9, 0x03, 0x0a, 0x0c, 2437 + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x05, 2438 + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x7a, 0x6f, 2439 + 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 2440 + 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 2441 + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x4b, 0x0a, 0x09, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x5f, 0x6d, 2442 + 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 2443 + 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 2444 + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 2445 + 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x4d, 2446 + 0x61, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x03, 0x20, 2447 + 0x01, 0x28, 0x03, 0x52, 0x07, 0x63, 0x72, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x05, 2448 + 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x7a, 0x6f, 2449 + 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 2450 + 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 2451 + 0x73, 0x12, 0x47, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x03, 2452 + 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 2453 + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 2454 + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 2455 + 0x79, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x1a, 0x65, 0x0a, 0x0d, 0x52, 0x65, 2456 + 0x70, 0x6f, 0x73, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 2457 + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3e, 0x0a, 2458 + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x7a, 2459 + 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 2460 + 0x31, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x4c, 0x69, 0x73, 2461 + 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 2462 + 0x01, 0x1a, 0x64, 0x0a, 0x0c, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 2463 + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 2464 + 0x6b, 0x65, 0x79, 0x12, 0x3e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 2465 + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 2466 + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x52, 2467 + 0x65, 0x70, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x76, 0x61, 2468 + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xce, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6f, 2469 + 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x3e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 2470 + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 2471 + 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 2472 + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x0a, 0x72, 2473 + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x48, 0x0a, 0x0e, 0x69, 0x6e, 0x64, 2474 + 0x65, 0x78, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 2475 + 0x0b, 0x32, 0x21, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 2476 + 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4d, 0x65, 0x74, 0x61, 2477 + 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4d, 0x65, 0x74, 0x61, 0x64, 2478 + 0x61, 0x74, 0x61, 0x12, 0x33, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 2479 + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 2480 + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x74, 0x61, 0x74, 2481 + 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 0xf2, 0x06, 0x0a, 0x0a, 0x52, 0x65, 0x70, 2482 + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 2483 + 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 2484 + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 2485 + 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x16, 0x0a, 2486 + 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 2487 + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 2488 + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 2489 + 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 2490 + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x08, 0x62, 2491 + 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x5f, 0x72, 2492 + 0x65, 0x70, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 2493 + 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 2494 + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x75, 2495 + 0x62, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x73, 2496 + 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x70, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 2497 + 0x6d, 0x69, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 2498 + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x55, 0x72, 2499 + 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x69, 0x6c, 2500 + 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x08, 2501 + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x54, 0x65, 0x6d, 2502 + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x72, 2503 + 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 2504 + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 2505 + 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 2506 + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x70, 2507 + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x4c, 0x0a, 0x0a, 0x72, 0x61, 0x77, 0x5f, 0x63, 2508 + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x7a, 0x6f, 2509 + 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 2510 + 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x77, 0x43, 2511 + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x72, 0x61, 0x77, 0x43, 2512 + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x0c, 0x20, 2513 + 0x01, 0x28, 0x0d, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x64, 2514 + 0x65, 0x78, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 2515 + 0x52, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 2516 + 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x18, 0x0e, 0x20, 2517 + 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x12, 2518 + 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x6d, 0x62, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x18, 0x0f, 0x20, 0x01, 2519 + 0x28, 0x08, 0x52, 0x09, 0x74, 0x6f, 0x6d, 0x62, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x12, 0x48, 0x0a, 2520 + 0x12, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x64, 2521 + 0x61, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2522 + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 2523 + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 2524 + 0x6d, 0x69, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 2525 + 0x74, 0x6f, 0x6d, 0x62, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 2526 + 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x6f, 0x6d, 0x62, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x73, 2527 + 0x1a, 0x5d, 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 2528 + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 2529 + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 2530 + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 2531 + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 2532 + 0x74, 0x6f, 0x72, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 2533 + 0x3c, 0x0a, 0x0e, 0x52, 0x61, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 2534 + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 2535 + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 2536 + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd6, 0x03, 2537 + 0x0a, 0x0d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 2538 + 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 2539 + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x69, 2540 + 0x6e, 0x64, 0x65, 0x78, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 2541 + 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 2542 + 0x72, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 2543 + 0x52, 0x13, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x65, 2544 + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6d, 2545 + 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 2546 + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4d, 0x69, 2547 + 0x6e, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 2548 + 0x0a, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 2549 + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 2550 + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 2551 + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 2552 + 0x69, 0x6e, 0x5f, 0x61, 0x73, 0x63, 0x69, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 2553 + 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x41, 0x73, 0x63, 0x69, 0x69, 0x12, 0x55, 0x0a, 0x0c, 0x6c, 0x61, 2554 + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 2555 + 0x32, 0x32, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 2556 + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4d, 0x65, 0x74, 0x61, 0x64, 2557 + 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x70, 0x45, 2558 + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x4d, 0x61, 2559 + 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 2560 + 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x56, 2561 + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 2562 + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x3e, 0x0a, 0x10, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 2563 + 0x67, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 2564 + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 2565 + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 2566 + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa1, 0x01, 0x0a, 0x14, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 2567 + 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 2568 + 0x1f, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x18, 0x01, 2569 + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 2570 + 0x12, 0x40, 0x0a, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 2571 + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 2572 + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 2573 + 0x72, 0x79, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 2574 + 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, 2575 + 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x69, 0x6e, 0x64, 2576 + 0x65, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x22, 0x40, 0x0a, 0x10, 0x52, 0x65, 2577 + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x12, 2578 + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 2579 + 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 2580 + 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xcd, 0x02, 0x0a, 2581 + 0x09, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 2582 + 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x65, 0x70, 0x6f, 0x73, 2583 + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 2584 + 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 2585 + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x6f, 0x63, 2586 + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 2587 + 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x6e, 0x64, 2588 + 0x65, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 2589 + 0x6e, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 2590 + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 2591 + 0x6e, 0x65, 0x77, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 2592 + 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x43, 2593 + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x1e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 2594 + 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 2595 + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1a, 0x64, 0x65, 2596 + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x65, 0x77, 0x4c, 0x69, 2597 + 0x6e, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x1e, 0x6f, 0x74, 0x68, 0x65, 2598 + 0x72, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x6c, 2599 + 0x69, 0x6e, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 2600 + 0x52, 0x1a, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x4e, 2601 + 0x65, 0x77, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xa9, 0x07, 0x0a, 2602 + 0x05, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 2603 + 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x18, 0x01, 2604 + 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x79, 0x74, 2605 + 0x65, 0x73, 0x4c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x64, 0x65, 2606 + 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x18, 0x02, 2607 + 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 2608 + 0x4c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x61, 0x73, 0x68, 0x65, 2609 + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x63, 0x72, 0x61, 0x73, 0x68, 0x65, 0x73, 2610 + 0x12, 0x35, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 2611 + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 2612 + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x64, 2613 + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x5f, 2614 + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x66, 0x69, 0x6c, 2615 + 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 2616 + 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 2617 + 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x73, 0x68, 0x61, 0x72, 0x64, 0x46, 0x69, 0x6c, 2618 + 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 2619 + 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 2620 + 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6e, 2621 + 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x73, 2622 + 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 2623 + 0x69, 0x6c, 0x65, 0x73, 0x4c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 2624 + 0x6c, 0x65, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 2625 + 0x03, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x12, 2626 + 0x25, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x6e, 0x65, 2627 + 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x53, 2628 + 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 2629 + 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 2630 + 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x12, 0x32, 0x0a, 2631 + 0x15, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 2632 + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x73, 0x68, 2633 + 0x61, 0x72, 0x64, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 2634 + 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 2635 + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 2636 + 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x6d, 0x61, 0x74, 0x63, 2637 + 0x68, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6e, 0x67, 0x72, 0x61, 0x6d, 2638 + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x77, 0x61, 0x69, 0x74, 0x18, 2639 + 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 2640 + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 2641 + 0x52, 0x04, 0x77, 0x61, 0x69, 0x74, 0x12, 0x51, 0x0a, 0x17, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 2642 + 0x74, 0x72, 0x65, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 2643 + 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2644 + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 2645 + 0x6f, 0x6e, 0x52, 0x15, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6e, 2646 + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x11, 0x6d, 0x61, 0x74, 2647 + 0x63, 0x68, 0x5f, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x14, 2648 + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 2649 + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 2650 + 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x65, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 2651 + 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 2652 + 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x72, 0x65, 2653 + 0x67, 0x65, 0x78, 0x70, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x12, 2654 + 0x42, 0x0a, 0x0c, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 2655 + 0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 2656 + 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6c, 0x75, 0x73, 0x68, 2657 + 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x0b, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x52, 0x65, 0x61, 2658 + 0x73, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x6f, 2659 + 0x6b, 0x75, 0x70, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6e, 0x67, 0x72, 0x61, 2660 + 0x6d, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x22, 0x58, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x67, 2661 + 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 2662 + 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 2663 + 0x12, 0x30, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 2664 + 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 2665 + 0x6d, 0x61, 0x78, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 2666 + 0x74, 0x79, 0x22, 0xb9, 0x04, 0x0a, 0x09, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 2667 + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 2668 + 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x18, 2669 + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x12, 0x1b, 0x0a, 0x09, 2670 + 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 2671 + 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 2672 + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 2673 + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x72, 0x61, 2674 + 0x6e, 0x63, 0x68, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x62, 0x72, 0x61, 2675 + 0x6e, 0x63, 0x68, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0c, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6d, 0x61, 2676 + 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x7a, 0x6f, 2677 + 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 2678 + 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x0b, 0x6c, 0x69, 0x6e, 0x65, 2679 + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x0d, 0x63, 0x68, 0x75, 0x6e, 0x6b, 2680 + 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 2681 + 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 2682 + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x0c, 2683 + 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 2684 + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 2685 + 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x49, 2686 + 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 2687 + 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 2688 + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 2689 + 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 2690 + 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 2691 + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 2692 + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 2693 + 0x75, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 2694 + 0x75, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x75, 0x62, 0x5f, 0x72, 0x65, 0x70, 0x6f, 2695 + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 2696 + 0x09, 0x52, 0x11, 0x73, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 2697 + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x75, 0x62, 0x5f, 0x72, 0x65, 0x70, 0x6f, 2698 + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 2699 + 0x09, 0x52, 0x11, 0x73, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 2700 + 0x50, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 2701 + 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xca, 2702 + 0x02, 0x0a, 0x09, 0x4c, 0x69, 0x6e, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x12, 0x0a, 0x04, 2703 + 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 2704 + 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 2705 + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 2706 + 0x19, 0x0a, 0x08, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 2707 + 0x03, 0x52, 0x07, 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 2708 + 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 2709 + 0x0a, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x62, 2710 + 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x62, 0x65, 0x66, 2711 + 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 2712 + 0x28, 0x0c, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 2713 + 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x69, 2714 + 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 2715 + 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 2716 + 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 2717 + 0x09, 0x52, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x4c, 0x0a, 2718 + 0x0e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 2719 + 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 2720 + 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x46, 2721 + 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x0d, 0x6c, 0x69, 2722 + 0x6e, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xc5, 0x01, 0x0a, 0x11, 2723 + 0x4c, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 2724 + 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 2725 + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6c, 0x69, 0x6e, 0x65, 0x4f, 0x66, 0x66, 0x73, 2726 + 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 2727 + 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 2728 + 0x74, 0x63, 0x68, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 2729 + 0x52, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x44, 0x0a, 2730 + 0x0b, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 2731 + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 2732 + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x49, 0x6e, 2733 + 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 2734 + 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x5f, 0x69, 2735 + 0x6e, 0x66, 0x6f, 0x22, 0x6b, 0x0a, 0x0a, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 2736 + 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x79, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 2737 + 0x73, 0x79, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 2738 + 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 2739 + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 2740 + 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x04, 2741 + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4b, 0x69, 0x6e, 0x64, 2742 + 0x22, 0xb1, 0x02, 0x0a, 0x0a, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 2743 + 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 2744 + 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 2745 + 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 2746 + 0x32, 0x1c, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 2747 + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 2748 + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 2749 + 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 2750 + 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x61, 0x6e, 2751 + 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 2752 + 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 2753 + 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 2754 + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x03, 0x28, 2755 + 0x0b, 0x32, 0x1e, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 2756 + 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 2757 + 0x6f, 0x52, 0x0a, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 2758 + 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x63, 2759 + 0x6f, 0x72, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x73, 0x63, 0x6f, 2760 + 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x53, 2761 + 0x63, 0x6f, 0x72, 0x65, 0x22, 0x6b, 0x0a, 0x05, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x32, 0x0a, 2762 + 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x7a, 2763 + 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 2764 + 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 2765 + 0x74, 0x12, 0x2e, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 2766 + 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 2767 + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x65, 0x6e, 2768 + 0x64, 0x22, 0x64, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 2769 + 0x0b, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 2770 + 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1f, 2771 + 0x0a, 0x0b, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 2772 + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 2773 + 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 2774 + 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x2a, 0x8c, 0x01, 0x0a, 0x0b, 0x46, 0x6c, 0x75, 0x73, 2775 + 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x20, 0x46, 0x4c, 0x55, 0x53, 0x48, 2776 + 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 2777 + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 2778 + 0x1a, 0x46, 0x4c, 0x55, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x49, 2779 + 0x4d, 0x45, 0x52, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1c, 0x0a, 2780 + 0x18, 0x46, 0x4c, 0x55, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x49, 2781 + 0x4e, 0x41, 0x4c, 0x5f, 0x46, 0x4c, 0x55, 0x53, 0x48, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x46, 2782 + 0x4c, 0x55, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 2783 + 0x53, 0x49, 0x5a, 0x45, 0x10, 0x03, 0x32, 0x99, 0x02, 0x0a, 0x10, 0x57, 0x65, 0x62, 0x73, 0x65, 2784 + 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x51, 0x0a, 0x06, 0x53, 2785 + 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x21, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 2786 + 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 2787 + 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 2788 + 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 2789 + 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 2790 + 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x27, 2791 + 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 2792 + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 2793 + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 2794 + 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 2795 + 0x65, 0x61, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 2796 + 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x4b, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, 2797 + 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 2798 + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 2799 + 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 2800 + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 2801 + 0x22, 0x00, 0x42, 0x3d, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 2802 + 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x7a, 0x6f, 0x65, 2803 + 0x6b, 0x74, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x7a, 2804 + 0x6f, 0x65, 0x6b, 0x74, 0x2f, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x76, 2805 + 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 2806 + } 2807 + 2808 + var ( 2809 + file_zoekt_webserver_v1_webserver_proto_rawDescOnce sync.Once 2810 + file_zoekt_webserver_v1_webserver_proto_rawDescData = file_zoekt_webserver_v1_webserver_proto_rawDesc 2811 + ) 2812 + 2813 + func file_zoekt_webserver_v1_webserver_proto_rawDescGZIP() []byte { 2814 + file_zoekt_webserver_v1_webserver_proto_rawDescOnce.Do(func() { 2815 + file_zoekt_webserver_v1_webserver_proto_rawDescData = protoimpl.X.CompressGZIP(file_zoekt_webserver_v1_webserver_proto_rawDescData) 2816 + }) 2817 + return file_zoekt_webserver_v1_webserver_proto_rawDescData 2818 + } 2819 + 2820 + var file_zoekt_webserver_v1_webserver_proto_enumTypes = make([]protoimpl.EnumInfo, 2) 2821 + var file_zoekt_webserver_v1_webserver_proto_msgTypes = make([]protoimpl.MessageInfo, 28) 2822 + var file_zoekt_webserver_v1_webserver_proto_goTypes = []interface{}{ 2823 + (FlushReason)(0), // 0: zoekt.webserver.v1.FlushReason 2824 + (ListOptions_RepoListField)(0), // 1: zoekt.webserver.v1.ListOptions.RepoListField 2825 + (*SearchRequest)(nil), // 2: zoekt.webserver.v1.SearchRequest 2826 + (*SearchResponse)(nil), // 3: zoekt.webserver.v1.SearchResponse 2827 + (*StreamSearchRequest)(nil), // 4: zoekt.webserver.v1.StreamSearchRequest 2828 + (*StreamSearchResponse)(nil), // 5: zoekt.webserver.v1.StreamSearchResponse 2829 + (*SearchOptions)(nil), // 6: zoekt.webserver.v1.SearchOptions 2830 + (*ListRequest)(nil), // 7: zoekt.webserver.v1.ListRequest 2831 + (*ListOptions)(nil), // 8: zoekt.webserver.v1.ListOptions 2832 + (*ListResponse)(nil), // 9: zoekt.webserver.v1.ListResponse 2833 + (*RepoListEntry)(nil), // 10: zoekt.webserver.v1.RepoListEntry 2834 + (*Repository)(nil), // 11: zoekt.webserver.v1.Repository 2835 + (*IndexMetadata)(nil), // 12: zoekt.webserver.v1.IndexMetadata 2836 + (*MinimalRepoListEntry)(nil), // 13: zoekt.webserver.v1.MinimalRepoListEntry 2837 + (*RepositoryBranch)(nil), // 14: zoekt.webserver.v1.RepositoryBranch 2838 + (*RepoStats)(nil), // 15: zoekt.webserver.v1.RepoStats 2839 + (*Stats)(nil), // 16: zoekt.webserver.v1.Stats 2840 + (*Progress)(nil), // 17: zoekt.webserver.v1.Progress 2841 + (*FileMatch)(nil), // 18: zoekt.webserver.v1.FileMatch 2842 + (*LineMatch)(nil), // 19: zoekt.webserver.v1.LineMatch 2843 + (*LineFragmentMatch)(nil), // 20: zoekt.webserver.v1.LineFragmentMatch 2844 + (*SymbolInfo)(nil), // 21: zoekt.webserver.v1.SymbolInfo 2845 + (*ChunkMatch)(nil), // 22: zoekt.webserver.v1.ChunkMatch 2846 + (*Range)(nil), // 23: zoekt.webserver.v1.Range 2847 + (*Location)(nil), // 24: zoekt.webserver.v1.Location 2848 + nil, // 25: zoekt.webserver.v1.ListResponse.ReposMapEntry 2849 + nil, // 26: zoekt.webserver.v1.ListResponse.MinimalEntry 2850 + nil, // 27: zoekt.webserver.v1.Repository.SubRepoMapEntry 2851 + nil, // 28: zoekt.webserver.v1.Repository.RawConfigEntry 2852 + nil, // 29: zoekt.webserver.v1.IndexMetadata.LanguageMapEntry 2853 + (*Q)(nil), // 30: zoekt.webserver.v1.Q 2854 + (*durationpb.Duration)(nil), // 31: google.protobuf.Duration 2855 + (*timestamppb.Timestamp)(nil), // 32: google.protobuf.Timestamp 2856 + } 2857 + var file_zoekt_webserver_v1_webserver_proto_depIdxs = []int32{ 2858 + 30, // 0: zoekt.webserver.v1.SearchRequest.query:type_name -> zoekt.webserver.v1.Q 2859 + 6, // 1: zoekt.webserver.v1.SearchRequest.opts:type_name -> zoekt.webserver.v1.SearchOptions 2860 + 16, // 2: zoekt.webserver.v1.SearchResponse.stats:type_name -> zoekt.webserver.v1.Stats 2861 + 17, // 3: zoekt.webserver.v1.SearchResponse.progress:type_name -> zoekt.webserver.v1.Progress 2862 + 18, // 4: zoekt.webserver.v1.SearchResponse.files:type_name -> zoekt.webserver.v1.FileMatch 2863 + 2, // 5: zoekt.webserver.v1.StreamSearchRequest.request:type_name -> zoekt.webserver.v1.SearchRequest 2864 + 3, // 6: zoekt.webserver.v1.StreamSearchResponse.response_chunk:type_name -> zoekt.webserver.v1.SearchResponse 2865 + 31, // 7: zoekt.webserver.v1.SearchOptions.max_wall_time:type_name -> google.protobuf.Duration 2866 + 31, // 8: zoekt.webserver.v1.SearchOptions.flush_wall_time:type_name -> google.protobuf.Duration 2867 + 30, // 9: zoekt.webserver.v1.ListRequest.query:type_name -> zoekt.webserver.v1.Q 2868 + 8, // 10: zoekt.webserver.v1.ListRequest.opts:type_name -> zoekt.webserver.v1.ListOptions 2869 + 1, // 11: zoekt.webserver.v1.ListOptions.field:type_name -> zoekt.webserver.v1.ListOptions.RepoListField 2870 + 10, // 12: zoekt.webserver.v1.ListResponse.repos:type_name -> zoekt.webserver.v1.RepoListEntry 2871 + 25, // 13: zoekt.webserver.v1.ListResponse.repos_map:type_name -> zoekt.webserver.v1.ListResponse.ReposMapEntry 2872 + 15, // 14: zoekt.webserver.v1.ListResponse.stats:type_name -> zoekt.webserver.v1.RepoStats 2873 + 26, // 15: zoekt.webserver.v1.ListResponse.minimal:type_name -> zoekt.webserver.v1.ListResponse.MinimalEntry 2874 + 11, // 16: zoekt.webserver.v1.RepoListEntry.repository:type_name -> zoekt.webserver.v1.Repository 2875 + 12, // 17: zoekt.webserver.v1.RepoListEntry.index_metadata:type_name -> zoekt.webserver.v1.IndexMetadata 2876 + 15, // 18: zoekt.webserver.v1.RepoListEntry.stats:type_name -> zoekt.webserver.v1.RepoStats 2877 + 14, // 19: zoekt.webserver.v1.Repository.branches:type_name -> zoekt.webserver.v1.RepositoryBranch 2878 + 27, // 20: zoekt.webserver.v1.Repository.sub_repo_map:type_name -> zoekt.webserver.v1.Repository.SubRepoMapEntry 2879 + 28, // 21: zoekt.webserver.v1.Repository.raw_config:type_name -> zoekt.webserver.v1.Repository.RawConfigEntry 2880 + 32, // 22: zoekt.webserver.v1.Repository.latest_commit_date:type_name -> google.protobuf.Timestamp 2881 + 32, // 23: zoekt.webserver.v1.IndexMetadata.index_time:type_name -> google.protobuf.Timestamp 2882 + 29, // 24: zoekt.webserver.v1.IndexMetadata.language_map:type_name -> zoekt.webserver.v1.IndexMetadata.LanguageMapEntry 2883 + 14, // 25: zoekt.webserver.v1.MinimalRepoListEntry.branches:type_name -> zoekt.webserver.v1.RepositoryBranch 2884 + 31, // 26: zoekt.webserver.v1.Stats.duration:type_name -> google.protobuf.Duration 2885 + 31, // 27: zoekt.webserver.v1.Stats.wait:type_name -> google.protobuf.Duration 2886 + 31, // 28: zoekt.webserver.v1.Stats.match_tree_construction:type_name -> google.protobuf.Duration 2887 + 31, // 29: zoekt.webserver.v1.Stats.match_tree_search:type_name -> google.protobuf.Duration 2888 + 0, // 30: zoekt.webserver.v1.Stats.flush_reason:type_name -> zoekt.webserver.v1.FlushReason 2889 + 19, // 31: zoekt.webserver.v1.FileMatch.line_matches:type_name -> zoekt.webserver.v1.LineMatch 2890 + 22, // 32: zoekt.webserver.v1.FileMatch.chunk_matches:type_name -> zoekt.webserver.v1.ChunkMatch 2891 + 20, // 33: zoekt.webserver.v1.LineMatch.line_fragments:type_name -> zoekt.webserver.v1.LineFragmentMatch 2892 + 21, // 34: zoekt.webserver.v1.LineFragmentMatch.symbol_info:type_name -> zoekt.webserver.v1.SymbolInfo 2893 + 24, // 35: zoekt.webserver.v1.ChunkMatch.content_start:type_name -> zoekt.webserver.v1.Location 2894 + 23, // 36: zoekt.webserver.v1.ChunkMatch.ranges:type_name -> zoekt.webserver.v1.Range 2895 + 21, // 37: zoekt.webserver.v1.ChunkMatch.symbol_info:type_name -> zoekt.webserver.v1.SymbolInfo 2896 + 24, // 38: zoekt.webserver.v1.Range.start:type_name -> zoekt.webserver.v1.Location 2897 + 24, // 39: zoekt.webserver.v1.Range.end:type_name -> zoekt.webserver.v1.Location 2898 + 13, // 40: zoekt.webserver.v1.ListResponse.ReposMapEntry.value:type_name -> zoekt.webserver.v1.MinimalRepoListEntry 2899 + 13, // 41: zoekt.webserver.v1.ListResponse.MinimalEntry.value:type_name -> zoekt.webserver.v1.MinimalRepoListEntry 2900 + 11, // 42: zoekt.webserver.v1.Repository.SubRepoMapEntry.value:type_name -> zoekt.webserver.v1.Repository 2901 + 2, // 43: zoekt.webserver.v1.WebserverService.Search:input_type -> zoekt.webserver.v1.SearchRequest 2902 + 4, // 44: zoekt.webserver.v1.WebserverService.StreamSearch:input_type -> zoekt.webserver.v1.StreamSearchRequest 2903 + 7, // 45: zoekt.webserver.v1.WebserverService.List:input_type -> zoekt.webserver.v1.ListRequest 2904 + 3, // 46: zoekt.webserver.v1.WebserverService.Search:output_type -> zoekt.webserver.v1.SearchResponse 2905 + 5, // 47: zoekt.webserver.v1.WebserverService.StreamSearch:output_type -> zoekt.webserver.v1.StreamSearchResponse 2906 + 9, // 48: zoekt.webserver.v1.WebserverService.List:output_type -> zoekt.webserver.v1.ListResponse 2907 + 46, // [46:49] is the sub-list for method output_type 2908 + 43, // [43:46] is the sub-list for method input_type 2909 + 43, // [43:43] is the sub-list for extension type_name 2910 + 43, // [43:43] is the sub-list for extension extendee 2911 + 0, // [0:43] is the sub-list for field type_name 2912 + } 2913 + 2914 + func init() { file_zoekt_webserver_v1_webserver_proto_init() } 2915 + func file_zoekt_webserver_v1_webserver_proto_init() { 2916 + if File_zoekt_webserver_v1_webserver_proto != nil { 2917 + return 2918 + } 2919 + file_zoekt_webserver_v1_query_proto_init() 2920 + if !protoimpl.UnsafeEnabled { 2921 + file_zoekt_webserver_v1_webserver_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 2922 + switch v := v.(*SearchRequest); i { 2923 + case 0: 2924 + return &v.state 2925 + case 1: 2926 + return &v.sizeCache 2927 + case 2: 2928 + return &v.unknownFields 2929 + default: 2930 + return nil 2931 + } 2932 + } 2933 + file_zoekt_webserver_v1_webserver_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 2934 + switch v := v.(*SearchResponse); i { 2935 + case 0: 2936 + return &v.state 2937 + case 1: 2938 + return &v.sizeCache 2939 + case 2: 2940 + return &v.unknownFields 2941 + default: 2942 + return nil 2943 + } 2944 + } 2945 + file_zoekt_webserver_v1_webserver_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 2946 + switch v := v.(*StreamSearchRequest); i { 2947 + case 0: 2948 + return &v.state 2949 + case 1: 2950 + return &v.sizeCache 2951 + case 2: 2952 + return &v.unknownFields 2953 + default: 2954 + return nil 2955 + } 2956 + } 2957 + file_zoekt_webserver_v1_webserver_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 2958 + switch v := v.(*StreamSearchResponse); i { 2959 + case 0: 2960 + return &v.state 2961 + case 1: 2962 + return &v.sizeCache 2963 + case 2: 2964 + return &v.unknownFields 2965 + default: 2966 + return nil 2967 + } 2968 + } 2969 + file_zoekt_webserver_v1_webserver_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 2970 + switch v := v.(*SearchOptions); i { 2971 + case 0: 2972 + return &v.state 2973 + case 1: 2974 + return &v.sizeCache 2975 + case 2: 2976 + return &v.unknownFields 2977 + default: 2978 + return nil 2979 + } 2980 + } 2981 + file_zoekt_webserver_v1_webserver_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 2982 + switch v := v.(*ListRequest); i { 2983 + case 0: 2984 + return &v.state 2985 + case 1: 2986 + return &v.sizeCache 2987 + case 2: 2988 + return &v.unknownFields 2989 + default: 2990 + return nil 2991 + } 2992 + } 2993 + file_zoekt_webserver_v1_webserver_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 2994 + switch v := v.(*ListOptions); i { 2995 + case 0: 2996 + return &v.state 2997 + case 1: 2998 + return &v.sizeCache 2999 + case 2: 3000 + return &v.unknownFields 3001 + default: 3002 + return nil 3003 + } 3004 + } 3005 + file_zoekt_webserver_v1_webserver_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 3006 + switch v := v.(*ListResponse); i { 3007 + case 0: 3008 + return &v.state 3009 + case 1: 3010 + return &v.sizeCache 3011 + case 2: 3012 + return &v.unknownFields 3013 + default: 3014 + return nil 3015 + } 3016 + } 3017 + file_zoekt_webserver_v1_webserver_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 3018 + switch v := v.(*RepoListEntry); i { 3019 + case 0: 3020 + return &v.state 3021 + case 1: 3022 + return &v.sizeCache 3023 + case 2: 3024 + return &v.unknownFields 3025 + default: 3026 + return nil 3027 + } 3028 + } 3029 + file_zoekt_webserver_v1_webserver_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 3030 + switch v := v.(*Repository); i { 3031 + case 0: 3032 + return &v.state 3033 + case 1: 3034 + return &v.sizeCache 3035 + case 2: 3036 + return &v.unknownFields 3037 + default: 3038 + return nil 3039 + } 3040 + } 3041 + file_zoekt_webserver_v1_webserver_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 3042 + switch v := v.(*IndexMetadata); i { 3043 + case 0: 3044 + return &v.state 3045 + case 1: 3046 + return &v.sizeCache 3047 + case 2: 3048 + return &v.unknownFields 3049 + default: 3050 + return nil 3051 + } 3052 + } 3053 + file_zoekt_webserver_v1_webserver_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 3054 + switch v := v.(*MinimalRepoListEntry); i { 3055 + case 0: 3056 + return &v.state 3057 + case 1: 3058 + return &v.sizeCache 3059 + case 2: 3060 + return &v.unknownFields 3061 + default: 3062 + return nil 3063 + } 3064 + } 3065 + file_zoekt_webserver_v1_webserver_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 3066 + switch v := v.(*RepositoryBranch); i { 3067 + case 0: 3068 + return &v.state 3069 + case 1: 3070 + return &v.sizeCache 3071 + case 2: 3072 + return &v.unknownFields 3073 + default: 3074 + return nil 3075 + } 3076 + } 3077 + file_zoekt_webserver_v1_webserver_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 3078 + switch v := v.(*RepoStats); i { 3079 + case 0: 3080 + return &v.state 3081 + case 1: 3082 + return &v.sizeCache 3083 + case 2: 3084 + return &v.unknownFields 3085 + default: 3086 + return nil 3087 + } 3088 + } 3089 + file_zoekt_webserver_v1_webserver_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 3090 + switch v := v.(*Stats); i { 3091 + case 0: 3092 + return &v.state 3093 + case 1: 3094 + return &v.sizeCache 3095 + case 2: 3096 + return &v.unknownFields 3097 + default: 3098 + return nil 3099 + } 3100 + } 3101 + file_zoekt_webserver_v1_webserver_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 3102 + switch v := v.(*Progress); i { 3103 + case 0: 3104 + return &v.state 3105 + case 1: 3106 + return &v.sizeCache 3107 + case 2: 3108 + return &v.unknownFields 3109 + default: 3110 + return nil 3111 + } 3112 + } 3113 + file_zoekt_webserver_v1_webserver_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 3114 + switch v := v.(*FileMatch); i { 3115 + case 0: 3116 + return &v.state 3117 + case 1: 3118 + return &v.sizeCache 3119 + case 2: 3120 + return &v.unknownFields 3121 + default: 3122 + return nil 3123 + } 3124 + } 3125 + file_zoekt_webserver_v1_webserver_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 3126 + switch v := v.(*LineMatch); i { 3127 + case 0: 3128 + return &v.state 3129 + case 1: 3130 + return &v.sizeCache 3131 + case 2: 3132 + return &v.unknownFields 3133 + default: 3134 + return nil 3135 + } 3136 + } 3137 + file_zoekt_webserver_v1_webserver_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 3138 + switch v := v.(*LineFragmentMatch); i { 3139 + case 0: 3140 + return &v.state 3141 + case 1: 3142 + return &v.sizeCache 3143 + case 2: 3144 + return &v.unknownFields 3145 + default: 3146 + return nil 3147 + } 3148 + } 3149 + file_zoekt_webserver_v1_webserver_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 3150 + switch v := v.(*SymbolInfo); i { 3151 + case 0: 3152 + return &v.state 3153 + case 1: 3154 + return &v.sizeCache 3155 + case 2: 3156 + return &v.unknownFields 3157 + default: 3158 + return nil 3159 + } 3160 + } 3161 + file_zoekt_webserver_v1_webserver_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 3162 + switch v := v.(*ChunkMatch); i { 3163 + case 0: 3164 + return &v.state 3165 + case 1: 3166 + return &v.sizeCache 3167 + case 2: 3168 + return &v.unknownFields 3169 + default: 3170 + return nil 3171 + } 3172 + } 3173 + file_zoekt_webserver_v1_webserver_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 3174 + switch v := v.(*Range); i { 3175 + case 0: 3176 + return &v.state 3177 + case 1: 3178 + return &v.sizeCache 3179 + case 2: 3180 + return &v.unknownFields 3181 + default: 3182 + return nil 3183 + } 3184 + } 3185 + file_zoekt_webserver_v1_webserver_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 3186 + switch v := v.(*Location); i { 3187 + case 0: 3188 + return &v.state 3189 + case 1: 3190 + return &v.sizeCache 3191 + case 2: 3192 + return &v.unknownFields 3193 + default: 3194 + return nil 3195 + } 3196 + } 3197 + } 3198 + file_zoekt_webserver_v1_webserver_proto_msgTypes[18].OneofWrappers = []interface{}{} 3199 + type x struct{} 3200 + out := protoimpl.TypeBuilder{ 3201 + File: protoimpl.DescBuilder{ 3202 + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 3203 + RawDescriptor: file_zoekt_webserver_v1_webserver_proto_rawDesc, 3204 + NumEnums: 2, 3205 + NumMessages: 28, 3206 + NumExtensions: 0, 3207 + NumServices: 1, 3208 + }, 3209 + GoTypes: file_zoekt_webserver_v1_webserver_proto_goTypes, 3210 + DependencyIndexes: file_zoekt_webserver_v1_webserver_proto_depIdxs, 3211 + EnumInfos: file_zoekt_webserver_v1_webserver_proto_enumTypes, 3212 + MessageInfos: file_zoekt_webserver_v1_webserver_proto_msgTypes, 3213 + }.Build() 3214 + File_zoekt_webserver_v1_webserver_proto = out.File 3215 + file_zoekt_webserver_v1_webserver_proto_rawDesc = nil 3216 + file_zoekt_webserver_v1_webserver_proto_goTypes = nil 3217 + file_zoekt_webserver_v1_webserver_proto_depIdxs = nil 3218 + }
+24 -20
grpc/server/server.go cmd/zoekt-webserver/grpc/server/server.go
··· 5 5 "math" 6 6 7 7 "github.com/sourcegraph/zoekt/grpc/chunk" 8 + proto "github.com/sourcegraph/zoekt/grpc/protos/zoekt/webserver/v1" 8 9 "google.golang.org/grpc/codes" 9 10 "google.golang.org/grpc/status" 10 11 11 12 "github.com/sourcegraph/zoekt" 12 - v1 "github.com/sourcegraph/zoekt/grpc/v1" 13 13 "github.com/sourcegraph/zoekt/query" 14 14 "github.com/sourcegraph/zoekt/stream" 15 15 ) ··· 21 21 } 22 22 23 23 type Server struct { 24 - v1.UnimplementedWebserverServiceServer 24 + proto.UnimplementedWebserverServiceServer 25 25 streamer zoekt.Streamer 26 26 } 27 27 28 - func (s *Server) Search(ctx context.Context, req *v1.SearchRequest) (*v1.SearchResponse, error) { 28 + func (s *Server) Search(ctx context.Context, req *proto.SearchRequest) (*proto.SearchResponse, error) { 29 29 q, err := query.QFromProto(req.GetQuery()) 30 30 if err != nil { 31 31 return nil, status.Error(codes.InvalidArgument, err.Error()) ··· 39 39 return res.ToProto(), nil 40 40 } 41 41 42 - func (s *Server) StreamSearch(req *v1.SearchRequest, ss v1.WebserverService_StreamSearchServer) error { 43 - q, err := query.QFromProto(req.GetQuery()) 42 + func (s *Server) StreamSearch(req *proto.StreamSearchRequest, ss proto.WebserverService_StreamSearchServer) error { 43 + request := req.GetRequest() 44 + 45 + q, err := query.QFromProto(request.GetQuery()) 44 46 if err != nil { 45 47 return status.Error(codes.InvalidArgument, err.Error()) 46 48 } ··· 48 50 sender := gRPCChunkSender(ss) 49 51 sampler := stream.NewSamplingSender(sender) 50 52 51 - err = s.streamer.StreamSearch(ss.Context(), q, zoekt.SearchOptionsFromProto(req.GetOpts()), sampler) 53 + err = s.streamer.StreamSearch(ss.Context(), q, zoekt.SearchOptionsFromProto(request.GetOpts()), sampler) 52 54 if err == nil { 53 55 sampler.Flush() 54 56 } 55 57 return err 56 58 } 57 59 58 - func (s *Server) List(ctx context.Context, req *v1.ListRequest) (*v1.ListResponse, error) { 60 + func (s *Server) List(ctx context.Context, req *proto.ListRequest) (*proto.ListResponse, error) { 59 61 q, err := query.QFromProto(req.GetQuery()) 60 62 if err != nil { 61 63 return nil, status.Error(codes.InvalidArgument, err.Error()) ··· 70 72 } 71 73 72 74 // gRPCChunkSender is a zoekt.Sender that sends small chunks of FileMatches to the provided gRPC stream. 73 - func gRPCChunkSender(ss v1.WebserverService_StreamSearchServer) zoekt.Sender { 75 + func gRPCChunkSender(ss proto.WebserverService_StreamSearchServer) zoekt.Sender { 74 76 f := func(r *zoekt.SearchResult) { 75 - result := r.ToProto() 77 + result := r.ToStreamProto().GetResponseChunk() 76 78 77 79 if len(result.GetFiles()) == 0 { // stats-only result, send it immediately 78 - _ = ss.Send(result) 80 + _ = ss.Send(&proto.StreamSearchResponse{ 81 + ResponseChunk: result, 82 + }) 79 83 return 80 84 } 81 85 ··· 84 88 statsSent := false 85 89 numFilesSent := 0 86 90 87 - sendFunc := func(filesChunk []*v1.FileMatch) error { 91 + sendFunc := func(filesChunk []*proto.FileMatch) error { 88 92 numFilesSent += len(filesChunk) 89 93 90 - var stats *v1.Stats 94 + var stats *proto.Stats 91 95 if !statsSent { // We only send stats back on the first chunk 92 96 statsSent = true 93 97 stats = result.GetStats() ··· 96 100 progress := result.GetProgress() 97 101 98 102 if numFilesSent < len(result.GetFiles()) { // more chunks to come 99 - progress = &v1.Progress{ 103 + progress = &proto.Progress{ 100 104 Priority: result.GetProgress().GetPriority(), 101 105 102 106 // We want the client to consume the entire set of chunks - so we manually ··· 108 112 } 109 113 } 110 114 111 - response := &v1.SearchResponse{ 112 - Files: filesChunk, 113 - 114 - Stats: stats, 115 - Progress: progress, 116 - } 115 + return ss.Send(&proto.StreamSearchResponse{ 116 + ResponseChunk: &proto.SearchResponse{ 117 + Files: filesChunk, 117 118 118 - return ss.Send(response) 119 + Stats: stats, 120 + Progress: progress, 121 + }, 122 + }) 119 123 } 120 124 121 125 _ = chunk.SendAll(sendFunc, result.GetFiles()...)
+11 -7
grpc/server/server_test.go cmd/zoekt-webserver/grpc/server/server_test.go
··· 12 12 13 13 "github.com/google/go-cmp/cmp" 14 14 "github.com/google/go-cmp/cmp/cmpopts" 15 + "github.com/sourcegraph/zoekt/grpc/protos/zoekt/webserver/v1" 15 16 "go.uber.org/atomic" 16 17 "golang.org/x/net/http2" 17 18 "golang.org/x/net/http2/h2c" ··· 21 22 "google.golang.org/protobuf/testing/protocmp" 22 23 23 24 "github.com/sourcegraph/zoekt" 24 - v1 "github.com/sourcegraph/zoekt/grpc/v1" 25 25 "github.com/sourcegraph/zoekt/internal/mockSearcher" 26 26 "github.com/sourcegraph/zoekt/query" 27 27 ) ··· 85 85 t.Fatalf("got %+v, want %+v", l, mock.RepoList.ToProto()) 86 86 } 87 87 88 - cs, err := client.StreamSearch(context.Background(), &v1.SearchRequest{Query: query.QToProto(mock.WantSearch)}) 88 + request := v1.StreamSearchRequest{ 89 + Request: &v1.SearchRequest{Query: query.QToProto(mock.WantSearch)}, 90 + } 91 + 92 + cs, err := client.StreamSearch(context.Background(), &request) 89 93 if err != nil { 90 94 t.Fatal(err) 91 95 } ··· 203 207 type mockSearchStreamClient struct { 204 208 t *testing.T 205 209 206 - storedResponses []*v1.SearchResponse 210 + storedResponses []*v1.StreamSearchResponse 207 211 index int 208 212 209 213 startedReading atomic.Bool ··· 211 215 grpc.ClientStream 212 216 } 213 217 214 - func (m *mockSearchStreamClient) Recv() (*v1.SearchResponse, error) { 218 + func (m *mockSearchStreamClient) Recv() (*v1.StreamSearchResponse, error) { 215 219 m.startedReading.Store(true) 216 220 217 221 if m.index >= len(m.storedResponses) { ··· 223 227 return r, nil 224 228 } 225 229 226 - func (m *mockSearchStreamClient) storeResponse(r *v1.SearchResponse) { 230 + func (m *mockSearchStreamClient) storeResponse(r *v1.StreamSearchResponse) { 227 231 if m.startedReading.Load() { 228 232 m.t.Fatalf("cannot store additional responses after starting to read from stream") 229 233 } ··· 239 243 grpc.ServerStream 240 244 } 241 245 242 - func (m *mockSearchStreamServer) Send(r *v1.SearchResponse) error { 246 + func (m *mockSearchStreamServer) Send(r *v1.StreamSearchResponse) error { 243 247 m.pairedClient.storeResponse(r) 244 248 return nil 245 249 } ··· 261 265 t.Fatal(err) 262 266 } 263 267 264 - got = append(got, r) 268 + got = append(got, r.GetResponseChunk()) 265 269 } 266 270 267 271 return got
grpc/v1/buf.gen.yaml grpc/protos/buf.gen.yaml
-1784
grpc/v1/query.pb.go
··· 1 - // Code generated by protoc-gen-go. DO NOT EDIT. 2 - // versions: 3 - // protoc-gen-go v1.29.1 4 - // protoc (unknown) 5 - // source: query.proto 6 - 7 - package v1 8 - 9 - import ( 10 - protoreflect "google.golang.org/protobuf/reflect/protoreflect" 11 - protoimpl "google.golang.org/protobuf/runtime/protoimpl" 12 - reflect "reflect" 13 - sync "sync" 14 - ) 15 - 16 - const ( 17 - // Verify that this generated code is sufficiently up-to-date. 18 - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 19 - // Verify that runtime/protoimpl is sufficiently up-to-date. 20 - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 21 - ) 22 - 23 - type RawConfig_Flag int32 24 - 25 - const ( 26 - RawConfig_UNKNOWN RawConfig_Flag = 0 27 - RawConfig_ONLY_PUBLIC RawConfig_Flag = 1 28 - RawConfig_ONLY_PRIVATE RawConfig_Flag = 2 29 - RawConfig_ONLY_FORKS RawConfig_Flag = 4 30 - RawConfig_NO_FORKS RawConfig_Flag = 8 31 - RawConfig_ONLY_ARCHIVED RawConfig_Flag = 16 32 - RawConfig_NO_ARCHIVED RawConfig_Flag = 32 33 - ) 34 - 35 - // Enum value maps for RawConfig_Flag. 36 - var ( 37 - RawConfig_Flag_name = map[int32]string{ 38 - 0: "UNKNOWN", 39 - 1: "ONLY_PUBLIC", 40 - 2: "ONLY_PRIVATE", 41 - 4: "ONLY_FORKS", 42 - 8: "NO_FORKS", 43 - 16: "ONLY_ARCHIVED", 44 - 32: "NO_ARCHIVED", 45 - } 46 - RawConfig_Flag_value = map[string]int32{ 47 - "UNKNOWN": 0, 48 - "ONLY_PUBLIC": 1, 49 - "ONLY_PRIVATE": 2, 50 - "ONLY_FORKS": 4, 51 - "NO_FORKS": 8, 52 - "ONLY_ARCHIVED": 16, 53 - "NO_ARCHIVED": 32, 54 - } 55 - ) 56 - 57 - func (x RawConfig_Flag) Enum() *RawConfig_Flag { 58 - p := new(RawConfig_Flag) 59 - *p = x 60 - return p 61 - } 62 - 63 - func (x RawConfig_Flag) String() string { 64 - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 65 - } 66 - 67 - func (RawConfig_Flag) Descriptor() protoreflect.EnumDescriptor { 68 - return file_query_proto_enumTypes[0].Descriptor() 69 - } 70 - 71 - func (RawConfig_Flag) Type() protoreflect.EnumType { 72 - return &file_query_proto_enumTypes[0] 73 - } 74 - 75 - func (x RawConfig_Flag) Number() protoreflect.EnumNumber { 76 - return protoreflect.EnumNumber(x) 77 - } 78 - 79 - // Deprecated: Use RawConfig_Flag.Descriptor instead. 80 - func (RawConfig_Flag) EnumDescriptor() ([]byte, []int) { 81 - return file_query_proto_rawDescGZIP(), []int{1, 0} 82 - } 83 - 84 - type Type_Kind int32 85 - 86 - const ( 87 - Type_UNKNOWN Type_Kind = 0 88 - Type_FILE_MATCH Type_Kind = 1 89 - Type_FILE_NAME Type_Kind = 2 90 - Type_REPO Type_Kind = 3 91 - ) 92 - 93 - // Enum value maps for Type_Kind. 94 - var ( 95 - Type_Kind_name = map[int32]string{ 96 - 0: "UNKNOWN", 97 - 1: "FILE_MATCH", 98 - 2: "FILE_NAME", 99 - 3: "REPO", 100 - } 101 - Type_Kind_value = map[string]int32{ 102 - "UNKNOWN": 0, 103 - "FILE_MATCH": 1, 104 - "FILE_NAME": 2, 105 - "REPO": 3, 106 - } 107 - ) 108 - 109 - func (x Type_Kind) Enum() *Type_Kind { 110 - p := new(Type_Kind) 111 - *p = x 112 - return p 113 - } 114 - 115 - func (x Type_Kind) String() string { 116 - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 117 - } 118 - 119 - func (Type_Kind) Descriptor() protoreflect.EnumDescriptor { 120 - return file_query_proto_enumTypes[1].Descriptor() 121 - } 122 - 123 - func (Type_Kind) Type() protoreflect.EnumType { 124 - return &file_query_proto_enumTypes[1] 125 - } 126 - 127 - func (x Type_Kind) Number() protoreflect.EnumNumber { 128 - return protoreflect.EnumNumber(x) 129 - } 130 - 131 - // Deprecated: Use Type_Kind.Descriptor instead. 132 - func (Type_Kind) EnumDescriptor() ([]byte, []int) { 133 - return file_query_proto_rawDescGZIP(), []int{12, 0} 134 - } 135 - 136 - type Q struct { 137 - state protoimpl.MessageState 138 - sizeCache protoimpl.SizeCache 139 - unknownFields protoimpl.UnknownFields 140 - 141 - // Types that are assignable to Query: 142 - // 143 - // *Q_RawConfig 144 - // *Q_Regexp 145 - // *Q_Symbol 146 - // *Q_Language 147 - // *Q_Const 148 - // *Q_Repo 149 - // *Q_RepoRegexp 150 - // *Q_BranchesRepos 151 - // *Q_RepoIds 152 - // *Q_RepoSet 153 - // *Q_FileNameSet 154 - // *Q_Type 155 - // *Q_Substring 156 - // *Q_And 157 - // *Q_Or 158 - // *Q_Not 159 - // *Q_Branch 160 - Query isQ_Query `protobuf_oneof:"query"` 161 - } 162 - 163 - func (x *Q) Reset() { 164 - *x = Q{} 165 - if protoimpl.UnsafeEnabled { 166 - mi := &file_query_proto_msgTypes[0] 167 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 168 - ms.StoreMessageInfo(mi) 169 - } 170 - } 171 - 172 - func (x *Q) String() string { 173 - return protoimpl.X.MessageStringOf(x) 174 - } 175 - 176 - func (*Q) ProtoMessage() {} 177 - 178 - func (x *Q) ProtoReflect() protoreflect.Message { 179 - mi := &file_query_proto_msgTypes[0] 180 - if protoimpl.UnsafeEnabled && x != nil { 181 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 182 - if ms.LoadMessageInfo() == nil { 183 - ms.StoreMessageInfo(mi) 184 - } 185 - return ms 186 - } 187 - return mi.MessageOf(x) 188 - } 189 - 190 - // Deprecated: Use Q.ProtoReflect.Descriptor instead. 191 - func (*Q) Descriptor() ([]byte, []int) { 192 - return file_query_proto_rawDescGZIP(), []int{0} 193 - } 194 - 195 - func (m *Q) GetQuery() isQ_Query { 196 - if m != nil { 197 - return m.Query 198 - } 199 - return nil 200 - } 201 - 202 - func (x *Q) GetRawConfig() *RawConfig { 203 - if x, ok := x.GetQuery().(*Q_RawConfig); ok { 204 - return x.RawConfig 205 - } 206 - return nil 207 - } 208 - 209 - func (x *Q) GetRegexp() *Regexp { 210 - if x, ok := x.GetQuery().(*Q_Regexp); ok { 211 - return x.Regexp 212 - } 213 - return nil 214 - } 215 - 216 - func (x *Q) GetSymbol() *Symbol { 217 - if x, ok := x.GetQuery().(*Q_Symbol); ok { 218 - return x.Symbol 219 - } 220 - return nil 221 - } 222 - 223 - func (x *Q) GetLanguage() *Language { 224 - if x, ok := x.GetQuery().(*Q_Language); ok { 225 - return x.Language 226 - } 227 - return nil 228 - } 229 - 230 - func (x *Q) GetConst() bool { 231 - if x, ok := x.GetQuery().(*Q_Const); ok { 232 - return x.Const 233 - } 234 - return false 235 - } 236 - 237 - func (x *Q) GetRepo() *Repo { 238 - if x, ok := x.GetQuery().(*Q_Repo); ok { 239 - return x.Repo 240 - } 241 - return nil 242 - } 243 - 244 - func (x *Q) GetRepoRegexp() *RepoRegexp { 245 - if x, ok := x.GetQuery().(*Q_RepoRegexp); ok { 246 - return x.RepoRegexp 247 - } 248 - return nil 249 - } 250 - 251 - func (x *Q) GetBranchesRepos() *BranchesRepos { 252 - if x, ok := x.GetQuery().(*Q_BranchesRepos); ok { 253 - return x.BranchesRepos 254 - } 255 - return nil 256 - } 257 - 258 - func (x *Q) GetRepoIds() *RepoIds { 259 - if x, ok := x.GetQuery().(*Q_RepoIds); ok { 260 - return x.RepoIds 261 - } 262 - return nil 263 - } 264 - 265 - func (x *Q) GetRepoSet() *RepoSet { 266 - if x, ok := x.GetQuery().(*Q_RepoSet); ok { 267 - return x.RepoSet 268 - } 269 - return nil 270 - } 271 - 272 - func (x *Q) GetFileNameSet() *FileNameSet { 273 - if x, ok := x.GetQuery().(*Q_FileNameSet); ok { 274 - return x.FileNameSet 275 - } 276 - return nil 277 - } 278 - 279 - func (x *Q) GetType() *Type { 280 - if x, ok := x.GetQuery().(*Q_Type); ok { 281 - return x.Type 282 - } 283 - return nil 284 - } 285 - 286 - func (x *Q) GetSubstring() *Substring { 287 - if x, ok := x.GetQuery().(*Q_Substring); ok { 288 - return x.Substring 289 - } 290 - return nil 291 - } 292 - 293 - func (x *Q) GetAnd() *And { 294 - if x, ok := x.GetQuery().(*Q_And); ok { 295 - return x.And 296 - } 297 - return nil 298 - } 299 - 300 - func (x *Q) GetOr() *Or { 301 - if x, ok := x.GetQuery().(*Q_Or); ok { 302 - return x.Or 303 - } 304 - return nil 305 - } 306 - 307 - func (x *Q) GetNot() *Not { 308 - if x, ok := x.GetQuery().(*Q_Not); ok { 309 - return x.Not 310 - } 311 - return nil 312 - } 313 - 314 - func (x *Q) GetBranch() *Branch { 315 - if x, ok := x.GetQuery().(*Q_Branch); ok { 316 - return x.Branch 317 - } 318 - return nil 319 - } 320 - 321 - type isQ_Query interface { 322 - isQ_Query() 323 - } 324 - 325 - type Q_RawConfig struct { 326 - RawConfig *RawConfig `protobuf:"bytes,1,opt,name=raw_config,json=rawConfig,proto3,oneof"` 327 - } 328 - 329 - type Q_Regexp struct { 330 - Regexp *Regexp `protobuf:"bytes,2,opt,name=regexp,proto3,oneof"` 331 - } 332 - 333 - type Q_Symbol struct { 334 - Symbol *Symbol `protobuf:"bytes,3,opt,name=symbol,proto3,oneof"` 335 - } 336 - 337 - type Q_Language struct { 338 - Language *Language `protobuf:"bytes,4,opt,name=language,proto3,oneof"` 339 - } 340 - 341 - type Q_Const struct { 342 - Const bool `protobuf:"varint,5,opt,name=const,proto3,oneof"` 343 - } 344 - 345 - type Q_Repo struct { 346 - Repo *Repo `protobuf:"bytes,6,opt,name=repo,proto3,oneof"` 347 - } 348 - 349 - type Q_RepoRegexp struct { 350 - RepoRegexp *RepoRegexp `protobuf:"bytes,7,opt,name=repo_regexp,json=repoRegexp,proto3,oneof"` 351 - } 352 - 353 - type Q_BranchesRepos struct { 354 - BranchesRepos *BranchesRepos `protobuf:"bytes,8,opt,name=branches_repos,json=branchesRepos,proto3,oneof"` 355 - } 356 - 357 - type Q_RepoIds struct { 358 - RepoIds *RepoIds `protobuf:"bytes,9,opt,name=repo_ids,json=repoIds,proto3,oneof"` 359 - } 360 - 361 - type Q_RepoSet struct { 362 - RepoSet *RepoSet `protobuf:"bytes,10,opt,name=repo_set,json=repoSet,proto3,oneof"` 363 - } 364 - 365 - type Q_FileNameSet struct { 366 - FileNameSet *FileNameSet `protobuf:"bytes,11,opt,name=file_name_set,json=fileNameSet,proto3,oneof"` 367 - } 368 - 369 - type Q_Type struct { 370 - Type *Type `protobuf:"bytes,12,opt,name=type,proto3,oneof"` 371 - } 372 - 373 - type Q_Substring struct { 374 - Substring *Substring `protobuf:"bytes,13,opt,name=substring,proto3,oneof"` 375 - } 376 - 377 - type Q_And struct { 378 - And *And `protobuf:"bytes,14,opt,name=and,proto3,oneof"` 379 - } 380 - 381 - type Q_Or struct { 382 - Or *Or `protobuf:"bytes,15,opt,name=or,proto3,oneof"` 383 - } 384 - 385 - type Q_Not struct { 386 - Not *Not `protobuf:"bytes,16,opt,name=not,proto3,oneof"` 387 - } 388 - 389 - type Q_Branch struct { 390 - Branch *Branch `protobuf:"bytes,17,opt,name=branch,proto3,oneof"` 391 - } 392 - 393 - func (*Q_RawConfig) isQ_Query() {} 394 - 395 - func (*Q_Regexp) isQ_Query() {} 396 - 397 - func (*Q_Symbol) isQ_Query() {} 398 - 399 - func (*Q_Language) isQ_Query() {} 400 - 401 - func (*Q_Const) isQ_Query() {} 402 - 403 - func (*Q_Repo) isQ_Query() {} 404 - 405 - func (*Q_RepoRegexp) isQ_Query() {} 406 - 407 - func (*Q_BranchesRepos) isQ_Query() {} 408 - 409 - func (*Q_RepoIds) isQ_Query() {} 410 - 411 - func (*Q_RepoSet) isQ_Query() {} 412 - 413 - func (*Q_FileNameSet) isQ_Query() {} 414 - 415 - func (*Q_Type) isQ_Query() {} 416 - 417 - func (*Q_Substring) isQ_Query() {} 418 - 419 - func (*Q_And) isQ_Query() {} 420 - 421 - func (*Q_Or) isQ_Query() {} 422 - 423 - func (*Q_Not) isQ_Query() {} 424 - 425 - func (*Q_Branch) isQ_Query() {} 426 - 427 - // RawConfig filters repositories based on their encoded RawConfig map. 428 - type RawConfig struct { 429 - state protoimpl.MessageState 430 - sizeCache protoimpl.SizeCache 431 - unknownFields protoimpl.UnknownFields 432 - 433 - Flags []RawConfig_Flag `protobuf:"varint,1,rep,packed,name=flags,proto3,enum=grpc.v1.RawConfig_Flag" json:"flags,omitempty"` 434 - } 435 - 436 - func (x *RawConfig) Reset() { 437 - *x = RawConfig{} 438 - if protoimpl.UnsafeEnabled { 439 - mi := &file_query_proto_msgTypes[1] 440 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 441 - ms.StoreMessageInfo(mi) 442 - } 443 - } 444 - 445 - func (x *RawConfig) String() string { 446 - return protoimpl.X.MessageStringOf(x) 447 - } 448 - 449 - func (*RawConfig) ProtoMessage() {} 450 - 451 - func (x *RawConfig) ProtoReflect() protoreflect.Message { 452 - mi := &file_query_proto_msgTypes[1] 453 - if protoimpl.UnsafeEnabled && x != nil { 454 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 455 - if ms.LoadMessageInfo() == nil { 456 - ms.StoreMessageInfo(mi) 457 - } 458 - return ms 459 - } 460 - return mi.MessageOf(x) 461 - } 462 - 463 - // Deprecated: Use RawConfig.ProtoReflect.Descriptor instead. 464 - func (*RawConfig) Descriptor() ([]byte, []int) { 465 - return file_query_proto_rawDescGZIP(), []int{1} 466 - } 467 - 468 - func (x *RawConfig) GetFlags() []RawConfig_Flag { 469 - if x != nil { 470 - return x.Flags 471 - } 472 - return nil 473 - } 474 - 475 - // Regexp is a query looking for regular expressions matches. 476 - type Regexp struct { 477 - state protoimpl.MessageState 478 - sizeCache protoimpl.SizeCache 479 - unknownFields protoimpl.UnknownFields 480 - 481 - Regexp string `protobuf:"bytes,1,opt,name=regexp,proto3" json:"regexp,omitempty"` 482 - FileName bool `protobuf:"varint,2,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"` 483 - Content bool `protobuf:"varint,3,opt,name=content,proto3" json:"content,omitempty"` 484 - CaseSensitive bool `protobuf:"varint,4,opt,name=case_sensitive,json=caseSensitive,proto3" json:"case_sensitive,omitempty"` 485 - } 486 - 487 - func (x *Regexp) Reset() { 488 - *x = Regexp{} 489 - if protoimpl.UnsafeEnabled { 490 - mi := &file_query_proto_msgTypes[2] 491 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 492 - ms.StoreMessageInfo(mi) 493 - } 494 - } 495 - 496 - func (x *Regexp) String() string { 497 - return protoimpl.X.MessageStringOf(x) 498 - } 499 - 500 - func (*Regexp) ProtoMessage() {} 501 - 502 - func (x *Regexp) ProtoReflect() protoreflect.Message { 503 - mi := &file_query_proto_msgTypes[2] 504 - if protoimpl.UnsafeEnabled && x != nil { 505 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 506 - if ms.LoadMessageInfo() == nil { 507 - ms.StoreMessageInfo(mi) 508 - } 509 - return ms 510 - } 511 - return mi.MessageOf(x) 512 - } 513 - 514 - // Deprecated: Use Regexp.ProtoReflect.Descriptor instead. 515 - func (*Regexp) Descriptor() ([]byte, []int) { 516 - return file_query_proto_rawDescGZIP(), []int{2} 517 - } 518 - 519 - func (x *Regexp) GetRegexp() string { 520 - if x != nil { 521 - return x.Regexp 522 - } 523 - return "" 524 - } 525 - 526 - func (x *Regexp) GetFileName() bool { 527 - if x != nil { 528 - return x.FileName 529 - } 530 - return false 531 - } 532 - 533 - func (x *Regexp) GetContent() bool { 534 - if x != nil { 535 - return x.Content 536 - } 537 - return false 538 - } 539 - 540 - func (x *Regexp) GetCaseSensitive() bool { 541 - if x != nil { 542 - return x.CaseSensitive 543 - } 544 - return false 545 - } 546 - 547 - type Symbol struct { 548 - state protoimpl.MessageState 549 - sizeCache protoimpl.SizeCache 550 - unknownFields protoimpl.UnknownFields 551 - 552 - Expr *Q `protobuf:"bytes,1,opt,name=expr,proto3" json:"expr,omitempty"` 553 - } 554 - 555 - func (x *Symbol) Reset() { 556 - *x = Symbol{} 557 - if protoimpl.UnsafeEnabled { 558 - mi := &file_query_proto_msgTypes[3] 559 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 560 - ms.StoreMessageInfo(mi) 561 - } 562 - } 563 - 564 - func (x *Symbol) String() string { 565 - return protoimpl.X.MessageStringOf(x) 566 - } 567 - 568 - func (*Symbol) ProtoMessage() {} 569 - 570 - func (x *Symbol) ProtoReflect() protoreflect.Message { 571 - mi := &file_query_proto_msgTypes[3] 572 - if protoimpl.UnsafeEnabled && x != nil { 573 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 574 - if ms.LoadMessageInfo() == nil { 575 - ms.StoreMessageInfo(mi) 576 - } 577 - return ms 578 - } 579 - return mi.MessageOf(x) 580 - } 581 - 582 - // Deprecated: Use Symbol.ProtoReflect.Descriptor instead. 583 - func (*Symbol) Descriptor() ([]byte, []int) { 584 - return file_query_proto_rawDescGZIP(), []int{3} 585 - } 586 - 587 - func (x *Symbol) GetExpr() *Q { 588 - if x != nil { 589 - return x.Expr 590 - } 591 - return nil 592 - } 593 - 594 - type Language struct { 595 - state protoimpl.MessageState 596 - sizeCache protoimpl.SizeCache 597 - unknownFields protoimpl.UnknownFields 598 - 599 - Language string `protobuf:"bytes,1,opt,name=language,proto3" json:"language,omitempty"` 600 - } 601 - 602 - func (x *Language) Reset() { 603 - *x = Language{} 604 - if protoimpl.UnsafeEnabled { 605 - mi := &file_query_proto_msgTypes[4] 606 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 607 - ms.StoreMessageInfo(mi) 608 - } 609 - } 610 - 611 - func (x *Language) String() string { 612 - return protoimpl.X.MessageStringOf(x) 613 - } 614 - 615 - func (*Language) ProtoMessage() {} 616 - 617 - func (x *Language) ProtoReflect() protoreflect.Message { 618 - mi := &file_query_proto_msgTypes[4] 619 - if protoimpl.UnsafeEnabled && x != nil { 620 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 621 - if ms.LoadMessageInfo() == nil { 622 - ms.StoreMessageInfo(mi) 623 - } 624 - return ms 625 - } 626 - return mi.MessageOf(x) 627 - } 628 - 629 - // Deprecated: Use Language.ProtoReflect.Descriptor instead. 630 - func (*Language) Descriptor() ([]byte, []int) { 631 - return file_query_proto_rawDescGZIP(), []int{4} 632 - } 633 - 634 - func (x *Language) GetLanguage() string { 635 - if x != nil { 636 - return x.Language 637 - } 638 - return "" 639 - } 640 - 641 - type Repo struct { 642 - state protoimpl.MessageState 643 - sizeCache protoimpl.SizeCache 644 - unknownFields protoimpl.UnknownFields 645 - 646 - Regexp string `protobuf:"bytes,1,opt,name=regexp,proto3" json:"regexp,omitempty"` 647 - } 648 - 649 - func (x *Repo) Reset() { 650 - *x = Repo{} 651 - if protoimpl.UnsafeEnabled { 652 - mi := &file_query_proto_msgTypes[5] 653 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 654 - ms.StoreMessageInfo(mi) 655 - } 656 - } 657 - 658 - func (x *Repo) String() string { 659 - return protoimpl.X.MessageStringOf(x) 660 - } 661 - 662 - func (*Repo) ProtoMessage() {} 663 - 664 - func (x *Repo) ProtoReflect() protoreflect.Message { 665 - mi := &file_query_proto_msgTypes[5] 666 - if protoimpl.UnsafeEnabled && x != nil { 667 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 668 - if ms.LoadMessageInfo() == nil { 669 - ms.StoreMessageInfo(mi) 670 - } 671 - return ms 672 - } 673 - return mi.MessageOf(x) 674 - } 675 - 676 - // Deprecated: Use Repo.ProtoReflect.Descriptor instead. 677 - func (*Repo) Descriptor() ([]byte, []int) { 678 - return file_query_proto_rawDescGZIP(), []int{5} 679 - } 680 - 681 - func (x *Repo) GetRegexp() string { 682 - if x != nil { 683 - return x.Regexp 684 - } 685 - return "" 686 - } 687 - 688 - type RepoRegexp struct { 689 - state protoimpl.MessageState 690 - sizeCache protoimpl.SizeCache 691 - unknownFields protoimpl.UnknownFields 692 - 693 - Regexp string `protobuf:"bytes,1,opt,name=regexp,proto3" json:"regexp,omitempty"` 694 - } 695 - 696 - func (x *RepoRegexp) Reset() { 697 - *x = RepoRegexp{} 698 - if protoimpl.UnsafeEnabled { 699 - mi := &file_query_proto_msgTypes[6] 700 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 701 - ms.StoreMessageInfo(mi) 702 - } 703 - } 704 - 705 - func (x *RepoRegexp) String() string { 706 - return protoimpl.X.MessageStringOf(x) 707 - } 708 - 709 - func (*RepoRegexp) ProtoMessage() {} 710 - 711 - func (x *RepoRegexp) ProtoReflect() protoreflect.Message { 712 - mi := &file_query_proto_msgTypes[6] 713 - if protoimpl.UnsafeEnabled && x != nil { 714 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 715 - if ms.LoadMessageInfo() == nil { 716 - ms.StoreMessageInfo(mi) 717 - } 718 - return ms 719 - } 720 - return mi.MessageOf(x) 721 - } 722 - 723 - // Deprecated: Use RepoRegexp.ProtoReflect.Descriptor instead. 724 - func (*RepoRegexp) Descriptor() ([]byte, []int) { 725 - return file_query_proto_rawDescGZIP(), []int{6} 726 - } 727 - 728 - func (x *RepoRegexp) GetRegexp() string { 729 - if x != nil { 730 - return x.Regexp 731 - } 732 - return "" 733 - } 734 - 735 - // BranchesRepos is a slice of BranchRepos to match. 736 - type BranchesRepos struct { 737 - state protoimpl.MessageState 738 - sizeCache protoimpl.SizeCache 739 - unknownFields protoimpl.UnknownFields 740 - 741 - List []*BranchRepos `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` 742 - } 743 - 744 - func (x *BranchesRepos) Reset() { 745 - *x = BranchesRepos{} 746 - if protoimpl.UnsafeEnabled { 747 - mi := &file_query_proto_msgTypes[7] 748 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 749 - ms.StoreMessageInfo(mi) 750 - } 751 - } 752 - 753 - func (x *BranchesRepos) String() string { 754 - return protoimpl.X.MessageStringOf(x) 755 - } 756 - 757 - func (*BranchesRepos) ProtoMessage() {} 758 - 759 - func (x *BranchesRepos) ProtoReflect() protoreflect.Message { 760 - mi := &file_query_proto_msgTypes[7] 761 - if protoimpl.UnsafeEnabled && x != nil { 762 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 763 - if ms.LoadMessageInfo() == nil { 764 - ms.StoreMessageInfo(mi) 765 - } 766 - return ms 767 - } 768 - return mi.MessageOf(x) 769 - } 770 - 771 - // Deprecated: Use BranchesRepos.ProtoReflect.Descriptor instead. 772 - func (*BranchesRepos) Descriptor() ([]byte, []int) { 773 - return file_query_proto_rawDescGZIP(), []int{7} 774 - } 775 - 776 - func (x *BranchesRepos) GetList() []*BranchRepos { 777 - if x != nil { 778 - return x.List 779 - } 780 - return nil 781 - } 782 - 783 - // BranchRepos is a (branch, sourcegraph repo ids bitmap) tuple. It is a 784 - // Sourcegraph addition. 785 - type BranchRepos struct { 786 - state protoimpl.MessageState 787 - sizeCache protoimpl.SizeCache 788 - unknownFields protoimpl.UnknownFields 789 - 790 - Branch string `protobuf:"bytes,1,opt,name=branch,proto3" json:"branch,omitempty"` 791 - // a serialized roaring bitmap of the target repo ids 792 - Repos []byte `protobuf:"bytes,2,opt,name=repos,proto3" json:"repos,omitempty"` 793 - } 794 - 795 - func (x *BranchRepos) Reset() { 796 - *x = BranchRepos{} 797 - if protoimpl.UnsafeEnabled { 798 - mi := &file_query_proto_msgTypes[8] 799 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 800 - ms.StoreMessageInfo(mi) 801 - } 802 - } 803 - 804 - func (x *BranchRepos) String() string { 805 - return protoimpl.X.MessageStringOf(x) 806 - } 807 - 808 - func (*BranchRepos) ProtoMessage() {} 809 - 810 - func (x *BranchRepos) ProtoReflect() protoreflect.Message { 811 - mi := &file_query_proto_msgTypes[8] 812 - if protoimpl.UnsafeEnabled && x != nil { 813 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 814 - if ms.LoadMessageInfo() == nil { 815 - ms.StoreMessageInfo(mi) 816 - } 817 - return ms 818 - } 819 - return mi.MessageOf(x) 820 - } 821 - 822 - // Deprecated: Use BranchRepos.ProtoReflect.Descriptor instead. 823 - func (*BranchRepos) Descriptor() ([]byte, []int) { 824 - return file_query_proto_rawDescGZIP(), []int{8} 825 - } 826 - 827 - func (x *BranchRepos) GetBranch() string { 828 - if x != nil { 829 - return x.Branch 830 - } 831 - return "" 832 - } 833 - 834 - func (x *BranchRepos) GetRepos() []byte { 835 - if x != nil { 836 - return x.Repos 837 - } 838 - return nil 839 - } 840 - 841 - // Similar to BranchRepos but will be used to match only by repoid and 842 - // therefore matches all branches 843 - type RepoIds struct { 844 - state protoimpl.MessageState 845 - sizeCache protoimpl.SizeCache 846 - unknownFields protoimpl.UnknownFields 847 - 848 - // a serialized roaring bitmap of the target repo ids 849 - Repos []byte `protobuf:"bytes,1,opt,name=repos,proto3" json:"repos,omitempty"` 850 - } 851 - 852 - func (x *RepoIds) Reset() { 853 - *x = RepoIds{} 854 - if protoimpl.UnsafeEnabled { 855 - mi := &file_query_proto_msgTypes[9] 856 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 857 - ms.StoreMessageInfo(mi) 858 - } 859 - } 860 - 861 - func (x *RepoIds) String() string { 862 - return protoimpl.X.MessageStringOf(x) 863 - } 864 - 865 - func (*RepoIds) ProtoMessage() {} 866 - 867 - func (x *RepoIds) ProtoReflect() protoreflect.Message { 868 - mi := &file_query_proto_msgTypes[9] 869 - if protoimpl.UnsafeEnabled && x != nil { 870 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 871 - if ms.LoadMessageInfo() == nil { 872 - ms.StoreMessageInfo(mi) 873 - } 874 - return ms 875 - } 876 - return mi.MessageOf(x) 877 - } 878 - 879 - // Deprecated: Use RepoIds.ProtoReflect.Descriptor instead. 880 - func (*RepoIds) Descriptor() ([]byte, []int) { 881 - return file_query_proto_rawDescGZIP(), []int{9} 882 - } 883 - 884 - func (x *RepoIds) GetRepos() []byte { 885 - if x != nil { 886 - return x.Repos 887 - } 888 - return nil 889 - } 890 - 891 - // RepoSet is a list of repos to match. 892 - type RepoSet struct { 893 - state protoimpl.MessageState 894 - sizeCache protoimpl.SizeCache 895 - unknownFields protoimpl.UnknownFields 896 - 897 - Set map[string]bool `protobuf:"bytes,1,rep,name=set,proto3" json:"set,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` 898 - } 899 - 900 - func (x *RepoSet) Reset() { 901 - *x = RepoSet{} 902 - if protoimpl.UnsafeEnabled { 903 - mi := &file_query_proto_msgTypes[10] 904 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 905 - ms.StoreMessageInfo(mi) 906 - } 907 - } 908 - 909 - func (x *RepoSet) String() string { 910 - return protoimpl.X.MessageStringOf(x) 911 - } 912 - 913 - func (*RepoSet) ProtoMessage() {} 914 - 915 - func (x *RepoSet) ProtoReflect() protoreflect.Message { 916 - mi := &file_query_proto_msgTypes[10] 917 - if protoimpl.UnsafeEnabled && x != nil { 918 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 919 - if ms.LoadMessageInfo() == nil { 920 - ms.StoreMessageInfo(mi) 921 - } 922 - return ms 923 - } 924 - return mi.MessageOf(x) 925 - } 926 - 927 - // Deprecated: Use RepoSet.ProtoReflect.Descriptor instead. 928 - func (*RepoSet) Descriptor() ([]byte, []int) { 929 - return file_query_proto_rawDescGZIP(), []int{10} 930 - } 931 - 932 - func (x *RepoSet) GetSet() map[string]bool { 933 - if x != nil { 934 - return x.Set 935 - } 936 - return nil 937 - } 938 - 939 - // FileNameSet is a list of file names to match. 940 - type FileNameSet struct { 941 - state protoimpl.MessageState 942 - sizeCache protoimpl.SizeCache 943 - unknownFields protoimpl.UnknownFields 944 - 945 - Set []string `protobuf:"bytes,1,rep,name=set,proto3" json:"set,omitempty"` 946 - } 947 - 948 - func (x *FileNameSet) Reset() { 949 - *x = FileNameSet{} 950 - if protoimpl.UnsafeEnabled { 951 - mi := &file_query_proto_msgTypes[11] 952 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 953 - ms.StoreMessageInfo(mi) 954 - } 955 - } 956 - 957 - func (x *FileNameSet) String() string { 958 - return protoimpl.X.MessageStringOf(x) 959 - } 960 - 961 - func (*FileNameSet) ProtoMessage() {} 962 - 963 - func (x *FileNameSet) ProtoReflect() protoreflect.Message { 964 - mi := &file_query_proto_msgTypes[11] 965 - if protoimpl.UnsafeEnabled && x != nil { 966 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 967 - if ms.LoadMessageInfo() == nil { 968 - ms.StoreMessageInfo(mi) 969 - } 970 - return ms 971 - } 972 - return mi.MessageOf(x) 973 - } 974 - 975 - // Deprecated: Use FileNameSet.ProtoReflect.Descriptor instead. 976 - func (*FileNameSet) Descriptor() ([]byte, []int) { 977 - return file_query_proto_rawDescGZIP(), []int{11} 978 - } 979 - 980 - func (x *FileNameSet) GetSet() []string { 981 - if x != nil { 982 - return x.Set 983 - } 984 - return nil 985 - } 986 - 987 - // Type changes the result type returned. 988 - type Type struct { 989 - state protoimpl.MessageState 990 - sizeCache protoimpl.SizeCache 991 - unknownFields protoimpl.UnknownFields 992 - 993 - Child *Q `protobuf:"bytes,1,opt,name=child,proto3" json:"child,omitempty"` 994 - // TODO: type constants 995 - Type Type_Kind `protobuf:"varint,2,opt,name=type,proto3,enum=grpc.v1.Type_Kind" json:"type,omitempty"` 996 - } 997 - 998 - func (x *Type) Reset() { 999 - *x = Type{} 1000 - if protoimpl.UnsafeEnabled { 1001 - mi := &file_query_proto_msgTypes[12] 1002 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1003 - ms.StoreMessageInfo(mi) 1004 - } 1005 - } 1006 - 1007 - func (x *Type) String() string { 1008 - return protoimpl.X.MessageStringOf(x) 1009 - } 1010 - 1011 - func (*Type) ProtoMessage() {} 1012 - 1013 - func (x *Type) ProtoReflect() protoreflect.Message { 1014 - mi := &file_query_proto_msgTypes[12] 1015 - if protoimpl.UnsafeEnabled && x != nil { 1016 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1017 - if ms.LoadMessageInfo() == nil { 1018 - ms.StoreMessageInfo(mi) 1019 - } 1020 - return ms 1021 - } 1022 - return mi.MessageOf(x) 1023 - } 1024 - 1025 - // Deprecated: Use Type.ProtoReflect.Descriptor instead. 1026 - func (*Type) Descriptor() ([]byte, []int) { 1027 - return file_query_proto_rawDescGZIP(), []int{12} 1028 - } 1029 - 1030 - func (x *Type) GetChild() *Q { 1031 - if x != nil { 1032 - return x.Child 1033 - } 1034 - return nil 1035 - } 1036 - 1037 - func (x *Type) GetType() Type_Kind { 1038 - if x != nil { 1039 - return x.Type 1040 - } 1041 - return Type_UNKNOWN 1042 - } 1043 - 1044 - type Substring struct { 1045 - state protoimpl.MessageState 1046 - sizeCache protoimpl.SizeCache 1047 - unknownFields protoimpl.UnknownFields 1048 - 1049 - Pattern string `protobuf:"bytes,1,opt,name=pattern,proto3" json:"pattern,omitempty"` 1050 - CaseSensitive bool `protobuf:"varint,2,opt,name=case_sensitive,json=caseSensitive,proto3" json:"case_sensitive,omitempty"` 1051 - // Match only filename 1052 - FileName bool `protobuf:"varint,3,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"` 1053 - // Match only content 1054 - Content bool `protobuf:"varint,4,opt,name=content,proto3" json:"content,omitempty"` 1055 - } 1056 - 1057 - func (x *Substring) Reset() { 1058 - *x = Substring{} 1059 - if protoimpl.UnsafeEnabled { 1060 - mi := &file_query_proto_msgTypes[13] 1061 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1062 - ms.StoreMessageInfo(mi) 1063 - } 1064 - } 1065 - 1066 - func (x *Substring) String() string { 1067 - return protoimpl.X.MessageStringOf(x) 1068 - } 1069 - 1070 - func (*Substring) ProtoMessage() {} 1071 - 1072 - func (x *Substring) ProtoReflect() protoreflect.Message { 1073 - mi := &file_query_proto_msgTypes[13] 1074 - if protoimpl.UnsafeEnabled && x != nil { 1075 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1076 - if ms.LoadMessageInfo() == nil { 1077 - ms.StoreMessageInfo(mi) 1078 - } 1079 - return ms 1080 - } 1081 - return mi.MessageOf(x) 1082 - } 1083 - 1084 - // Deprecated: Use Substring.ProtoReflect.Descriptor instead. 1085 - func (*Substring) Descriptor() ([]byte, []int) { 1086 - return file_query_proto_rawDescGZIP(), []int{13} 1087 - } 1088 - 1089 - func (x *Substring) GetPattern() string { 1090 - if x != nil { 1091 - return x.Pattern 1092 - } 1093 - return "" 1094 - } 1095 - 1096 - func (x *Substring) GetCaseSensitive() bool { 1097 - if x != nil { 1098 - return x.CaseSensitive 1099 - } 1100 - return false 1101 - } 1102 - 1103 - func (x *Substring) GetFileName() bool { 1104 - if x != nil { 1105 - return x.FileName 1106 - } 1107 - return false 1108 - } 1109 - 1110 - func (x *Substring) GetContent() bool { 1111 - if x != nil { 1112 - return x.Content 1113 - } 1114 - return false 1115 - } 1116 - 1117 - // And is matched when all its children are. 1118 - type And struct { 1119 - state protoimpl.MessageState 1120 - sizeCache protoimpl.SizeCache 1121 - unknownFields protoimpl.UnknownFields 1122 - 1123 - Children []*Q `protobuf:"bytes,1,rep,name=children,proto3" json:"children,omitempty"` 1124 - } 1125 - 1126 - func (x *And) Reset() { 1127 - *x = And{} 1128 - if protoimpl.UnsafeEnabled { 1129 - mi := &file_query_proto_msgTypes[14] 1130 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1131 - ms.StoreMessageInfo(mi) 1132 - } 1133 - } 1134 - 1135 - func (x *And) String() string { 1136 - return protoimpl.X.MessageStringOf(x) 1137 - } 1138 - 1139 - func (*And) ProtoMessage() {} 1140 - 1141 - func (x *And) ProtoReflect() protoreflect.Message { 1142 - mi := &file_query_proto_msgTypes[14] 1143 - if protoimpl.UnsafeEnabled && x != nil { 1144 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1145 - if ms.LoadMessageInfo() == nil { 1146 - ms.StoreMessageInfo(mi) 1147 - } 1148 - return ms 1149 - } 1150 - return mi.MessageOf(x) 1151 - } 1152 - 1153 - // Deprecated: Use And.ProtoReflect.Descriptor instead. 1154 - func (*And) Descriptor() ([]byte, []int) { 1155 - return file_query_proto_rawDescGZIP(), []int{14} 1156 - } 1157 - 1158 - func (x *And) GetChildren() []*Q { 1159 - if x != nil { 1160 - return x.Children 1161 - } 1162 - return nil 1163 - } 1164 - 1165 - // Or is matched when any of its children is matched. 1166 - type Or struct { 1167 - state protoimpl.MessageState 1168 - sizeCache protoimpl.SizeCache 1169 - unknownFields protoimpl.UnknownFields 1170 - 1171 - Children []*Q `protobuf:"bytes,1,rep,name=children,proto3" json:"children,omitempty"` 1172 - } 1173 - 1174 - func (x *Or) Reset() { 1175 - *x = Or{} 1176 - if protoimpl.UnsafeEnabled { 1177 - mi := &file_query_proto_msgTypes[15] 1178 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1179 - ms.StoreMessageInfo(mi) 1180 - } 1181 - } 1182 - 1183 - func (x *Or) String() string { 1184 - return protoimpl.X.MessageStringOf(x) 1185 - } 1186 - 1187 - func (*Or) ProtoMessage() {} 1188 - 1189 - func (x *Or) ProtoReflect() protoreflect.Message { 1190 - mi := &file_query_proto_msgTypes[15] 1191 - if protoimpl.UnsafeEnabled && x != nil { 1192 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1193 - if ms.LoadMessageInfo() == nil { 1194 - ms.StoreMessageInfo(mi) 1195 - } 1196 - return ms 1197 - } 1198 - return mi.MessageOf(x) 1199 - } 1200 - 1201 - // Deprecated: Use Or.ProtoReflect.Descriptor instead. 1202 - func (*Or) Descriptor() ([]byte, []int) { 1203 - return file_query_proto_rawDescGZIP(), []int{15} 1204 - } 1205 - 1206 - func (x *Or) GetChildren() []*Q { 1207 - if x != nil { 1208 - return x.Children 1209 - } 1210 - return nil 1211 - } 1212 - 1213 - // Not inverts the meaning of its child. 1214 - type Not struct { 1215 - state protoimpl.MessageState 1216 - sizeCache protoimpl.SizeCache 1217 - unknownFields protoimpl.UnknownFields 1218 - 1219 - Child *Q `protobuf:"bytes,1,opt,name=child,proto3" json:"child,omitempty"` 1220 - } 1221 - 1222 - func (x *Not) Reset() { 1223 - *x = Not{} 1224 - if protoimpl.UnsafeEnabled { 1225 - mi := &file_query_proto_msgTypes[16] 1226 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1227 - ms.StoreMessageInfo(mi) 1228 - } 1229 - } 1230 - 1231 - func (x *Not) String() string { 1232 - return protoimpl.X.MessageStringOf(x) 1233 - } 1234 - 1235 - func (*Not) ProtoMessage() {} 1236 - 1237 - func (x *Not) ProtoReflect() protoreflect.Message { 1238 - mi := &file_query_proto_msgTypes[16] 1239 - if protoimpl.UnsafeEnabled && x != nil { 1240 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1241 - if ms.LoadMessageInfo() == nil { 1242 - ms.StoreMessageInfo(mi) 1243 - } 1244 - return ms 1245 - } 1246 - return mi.MessageOf(x) 1247 - } 1248 - 1249 - // Deprecated: Use Not.ProtoReflect.Descriptor instead. 1250 - func (*Not) Descriptor() ([]byte, []int) { 1251 - return file_query_proto_rawDescGZIP(), []int{16} 1252 - } 1253 - 1254 - func (x *Not) GetChild() *Q { 1255 - if x != nil { 1256 - return x.Child 1257 - } 1258 - return nil 1259 - } 1260 - 1261 - // Branch limits search to a specific branch. 1262 - type Branch struct { 1263 - state protoimpl.MessageState 1264 - sizeCache protoimpl.SizeCache 1265 - unknownFields protoimpl.UnknownFields 1266 - 1267 - Pattern string `protobuf:"bytes,1,opt,name=pattern,proto3" json:"pattern,omitempty"` 1268 - // exact is true if we want to Pattern to equal branch. 1269 - Exact bool `protobuf:"varint,2,opt,name=exact,proto3" json:"exact,omitempty"` 1270 - } 1271 - 1272 - func (x *Branch) Reset() { 1273 - *x = Branch{} 1274 - if protoimpl.UnsafeEnabled { 1275 - mi := &file_query_proto_msgTypes[17] 1276 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1277 - ms.StoreMessageInfo(mi) 1278 - } 1279 - } 1280 - 1281 - func (x *Branch) String() string { 1282 - return protoimpl.X.MessageStringOf(x) 1283 - } 1284 - 1285 - func (*Branch) ProtoMessage() {} 1286 - 1287 - func (x *Branch) ProtoReflect() protoreflect.Message { 1288 - mi := &file_query_proto_msgTypes[17] 1289 - if protoimpl.UnsafeEnabled && x != nil { 1290 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1291 - if ms.LoadMessageInfo() == nil { 1292 - ms.StoreMessageInfo(mi) 1293 - } 1294 - return ms 1295 - } 1296 - return mi.MessageOf(x) 1297 - } 1298 - 1299 - // Deprecated: Use Branch.ProtoReflect.Descriptor instead. 1300 - func (*Branch) Descriptor() ([]byte, []int) { 1301 - return file_query_proto_rawDescGZIP(), []int{17} 1302 - } 1303 - 1304 - func (x *Branch) GetPattern() string { 1305 - if x != nil { 1306 - return x.Pattern 1307 - } 1308 - return "" 1309 - } 1310 - 1311 - func (x *Branch) GetExact() bool { 1312 - if x != nil { 1313 - return x.Exact 1314 - } 1315 - return false 1316 - } 1317 - 1318 - var File_query_proto protoreflect.FileDescriptor 1319 - 1320 - var file_query_proto_rawDesc = []byte{ 1321 - 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x67, 1322 - 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x22, 0xff, 0x05, 0x0a, 0x01, 0x51, 0x12, 0x33, 0x0a, 0x0a, 1323 - 0x72, 0x61, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 1324 - 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x77, 0x43, 0x6f, 1325 - 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x09, 0x72, 0x61, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 1326 - 0x67, 0x12, 0x29, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 1327 - 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x65, 1328 - 0x78, 0x70, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x12, 0x29, 0x0a, 0x06, 1329 - 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 1330 - 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x48, 0x00, 0x52, 1331 - 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x2f, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 1332 - 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x70, 0x63, 1333 - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x08, 1334 - 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 1335 - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 1336 - 0x12, 0x23, 0x0a, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 1337 - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x48, 0x00, 0x52, 1338 - 0x04, 0x72, 0x65, 0x70, 0x6f, 0x12, 0x36, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x72, 0x65, 1339 - 0x67, 0x65, 0x78, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72, 0x70, 1340 - 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x48, 1341 - 0x00, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x12, 0x3f, 0x0a, 1342 - 0x0e, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x18, 1343 - 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 1344 - 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x48, 0x00, 0x52, 1345 - 0x0d, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x2d, 1346 - 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 1347 - 0x32, 0x10, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x49, 1348 - 0x64, 0x73, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x2d, 0x0a, 1349 - 0x08, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 1350 - 0x10, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x65, 1351 - 0x74, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x3a, 0x0a, 0x0d, 1352 - 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x0b, 0x20, 1353 - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 1354 - 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x6c, 1355 - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 1356 - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 1357 - 0x2e, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 1358 - 0x09, 0x73, 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 1359 - 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x74, 1360 - 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, 1361 - 0x67, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 1362 - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x03, 1363 - 0x61, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x02, 0x6f, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 1364 - 0x0b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x48, 0x00, 0x52, 0x02, 1365 - 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x6e, 0x6f, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 1366 - 0x0c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x48, 0x00, 0x52, 1367 - 0x03, 0x6e, 0x6f, 0x74, 0x12, 0x29, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x11, 1368 - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x42, 1369 - 0x72, 0x61, 0x6e, 0x63, 0x68, 0x48, 0x00, 0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x42, 1370 - 0x07, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xb4, 0x01, 0x0a, 0x09, 0x52, 0x61, 0x77, 1371 - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2d, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 1372 - 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 1373 - 0x52, 0x61, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x05, 1374 - 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x78, 0x0a, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x0b, 0x0a, 1375 - 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x4e, 1376 - 0x4c, 0x59, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 1377 - 0x4e, 0x4c, 0x59, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x0e, 0x0a, 1378 - 0x0a, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x53, 0x10, 0x04, 0x12, 0x0c, 0x0a, 1379 - 0x08, 0x4e, 0x4f, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x53, 0x10, 0x08, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 1380 - 0x4e, 0x4c, 0x59, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x56, 0x45, 0x44, 0x10, 0x10, 0x12, 0x0f, 1381 - 0x0a, 0x0b, 0x4e, 0x4f, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x56, 0x45, 0x44, 0x10, 0x20, 0x22, 1382 - 0x7e, 0x0a, 0x06, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 1383 - 0x65, 0x78, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 1384 - 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 1385 - 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 1386 - 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 1387 - 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x61, 0x73, 0x65, 1388 - 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 1389 - 0x52, 0x0d, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x22, 1390 - 0x28, 0x0a, 0x06, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1e, 0x0a, 0x04, 0x65, 0x78, 0x70, 1391 - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 1392 - 0x31, 0x2e, 0x51, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x22, 0x26, 0x0a, 0x08, 0x4c, 0x61, 0x6e, 1393 - 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 1394 - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 1395 - 0x65, 0x22, 0x1e, 0x0a, 0x04, 0x52, 0x65, 0x70, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 1396 - 0x65, 0x78, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 1397 - 0x70, 0x22, 0x24, 0x0a, 0x0a, 0x52, 0x65, 0x70, 0x6f, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x12, 1398 - 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 1399 - 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x22, 0x39, 0x0a, 0x0d, 0x42, 0x72, 0x61, 0x6e, 0x63, 1400 - 0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x28, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 1401 - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 1402 - 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x52, 0x04, 0x6c, 0x69, 1403 - 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x0b, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 1404 - 0x73, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 1405 - 0x09, 0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x70, 1406 - 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x22, 1407 - 0x1f, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 1408 - 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x72, 0x65, 0x70, 0x6f, 0x73, 1409 - 0x22, 0x6e, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x2b, 0x0a, 0x03, 0x73, 1410 - 0x65, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 1411 - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x65, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x45, 0x6e, 1412 - 0x74, 0x72, 0x79, 0x52, 0x03, 0x73, 0x65, 0x74, 0x1a, 0x36, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x45, 1413 - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 1414 - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 1415 - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 1416 - 0x22, 0x1f, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x12, 1417 - 0x10, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x73, 0x65, 1418 - 0x74, 0x22, 0x8e, 0x01, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x05, 0x63, 0x68, 1419 - 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x72, 0x70, 0x63, 1420 - 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x52, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x26, 0x0a, 0x04, 1421 - 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 1422 - 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 1423 - 0x74, 0x79, 0x70, 0x65, 0x22, 0x3c, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x0b, 0x0a, 0x07, 1424 - 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x46, 0x49, 0x4c, 1425 - 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x49, 0x4c, 1426 - 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x45, 0x50, 0x4f, 1427 - 0x10, 0x03, 0x22, 0x83, 0x01, 0x0a, 0x09, 0x53, 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 1428 - 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 1429 - 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x61, 1430 - 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 1431 - 0x28, 0x08, 0x52, 0x0d, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 1432 - 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 1433 - 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 1434 - 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 1435 - 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x2d, 0x0a, 0x03, 0x41, 0x6e, 0x64, 0x12, 1436 - 0x26, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 1437 - 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x52, 0x08, 0x63, 1438 - 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x22, 0x2c, 0x0a, 0x02, 0x4f, 0x72, 0x12, 0x26, 0x0a, 1439 - 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 1440 - 0x0a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x52, 0x08, 0x63, 0x68, 0x69, 1441 - 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x22, 0x27, 0x0a, 0x03, 0x4e, 0x6f, 0x74, 0x12, 0x20, 0x0a, 0x05, 1442 - 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x72, 1443 - 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x52, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x22, 0x38, 1444 - 0x0a, 0x06, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 1445 - 0x65, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 1446 - 0x72, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 1447 - 0x08, 0x52, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x42, 0x26, 0x5a, 0x24, 0x67, 0x69, 0x74, 0x68, 1448 - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 1449 - 0x70, 0x68, 0x2f, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 1450 - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1451 - } 1452 - 1453 - var ( 1454 - file_query_proto_rawDescOnce sync.Once 1455 - file_query_proto_rawDescData = file_query_proto_rawDesc 1456 - ) 1457 - 1458 - func file_query_proto_rawDescGZIP() []byte { 1459 - file_query_proto_rawDescOnce.Do(func() { 1460 - file_query_proto_rawDescData = protoimpl.X.CompressGZIP(file_query_proto_rawDescData) 1461 - }) 1462 - return file_query_proto_rawDescData 1463 - } 1464 - 1465 - var file_query_proto_enumTypes = make([]protoimpl.EnumInfo, 2) 1466 - var file_query_proto_msgTypes = make([]protoimpl.MessageInfo, 19) 1467 - var file_query_proto_goTypes = []interface{}{ 1468 - (RawConfig_Flag)(0), // 0: grpc.v1.RawConfig.Flag 1469 - (Type_Kind)(0), // 1: grpc.v1.Type.Kind 1470 - (*Q)(nil), // 2: grpc.v1.Q 1471 - (*RawConfig)(nil), // 3: grpc.v1.RawConfig 1472 - (*Regexp)(nil), // 4: grpc.v1.Regexp 1473 - (*Symbol)(nil), // 5: grpc.v1.Symbol 1474 - (*Language)(nil), // 6: grpc.v1.Language 1475 - (*Repo)(nil), // 7: grpc.v1.Repo 1476 - (*RepoRegexp)(nil), // 8: grpc.v1.RepoRegexp 1477 - (*BranchesRepos)(nil), // 9: grpc.v1.BranchesRepos 1478 - (*BranchRepos)(nil), // 10: grpc.v1.BranchRepos 1479 - (*RepoIds)(nil), // 11: grpc.v1.RepoIds 1480 - (*RepoSet)(nil), // 12: grpc.v1.RepoSet 1481 - (*FileNameSet)(nil), // 13: grpc.v1.FileNameSet 1482 - (*Type)(nil), // 14: grpc.v1.Type 1483 - (*Substring)(nil), // 15: grpc.v1.Substring 1484 - (*And)(nil), // 16: grpc.v1.And 1485 - (*Or)(nil), // 17: grpc.v1.Or 1486 - (*Not)(nil), // 18: grpc.v1.Not 1487 - (*Branch)(nil), // 19: grpc.v1.Branch 1488 - nil, // 20: grpc.v1.RepoSet.SetEntry 1489 - } 1490 - var file_query_proto_depIdxs = []int32{ 1491 - 3, // 0: grpc.v1.Q.raw_config:type_name -> grpc.v1.RawConfig 1492 - 4, // 1: grpc.v1.Q.regexp:type_name -> grpc.v1.Regexp 1493 - 5, // 2: grpc.v1.Q.symbol:type_name -> grpc.v1.Symbol 1494 - 6, // 3: grpc.v1.Q.language:type_name -> grpc.v1.Language 1495 - 7, // 4: grpc.v1.Q.repo:type_name -> grpc.v1.Repo 1496 - 8, // 5: grpc.v1.Q.repo_regexp:type_name -> grpc.v1.RepoRegexp 1497 - 9, // 6: grpc.v1.Q.branches_repos:type_name -> grpc.v1.BranchesRepos 1498 - 11, // 7: grpc.v1.Q.repo_ids:type_name -> grpc.v1.RepoIds 1499 - 12, // 8: grpc.v1.Q.repo_set:type_name -> grpc.v1.RepoSet 1500 - 13, // 9: grpc.v1.Q.file_name_set:type_name -> grpc.v1.FileNameSet 1501 - 14, // 10: grpc.v1.Q.type:type_name -> grpc.v1.Type 1502 - 15, // 11: grpc.v1.Q.substring:type_name -> grpc.v1.Substring 1503 - 16, // 12: grpc.v1.Q.and:type_name -> grpc.v1.And 1504 - 17, // 13: grpc.v1.Q.or:type_name -> grpc.v1.Or 1505 - 18, // 14: grpc.v1.Q.not:type_name -> grpc.v1.Not 1506 - 19, // 15: grpc.v1.Q.branch:type_name -> grpc.v1.Branch 1507 - 0, // 16: grpc.v1.RawConfig.flags:type_name -> grpc.v1.RawConfig.Flag 1508 - 2, // 17: grpc.v1.Symbol.expr:type_name -> grpc.v1.Q 1509 - 10, // 18: grpc.v1.BranchesRepos.list:type_name -> grpc.v1.BranchRepos 1510 - 20, // 19: grpc.v1.RepoSet.set:type_name -> grpc.v1.RepoSet.SetEntry 1511 - 2, // 20: grpc.v1.Type.child:type_name -> grpc.v1.Q 1512 - 1, // 21: grpc.v1.Type.type:type_name -> grpc.v1.Type.Kind 1513 - 2, // 22: grpc.v1.And.children:type_name -> grpc.v1.Q 1514 - 2, // 23: grpc.v1.Or.children:type_name -> grpc.v1.Q 1515 - 2, // 24: grpc.v1.Not.child:type_name -> grpc.v1.Q 1516 - 25, // [25:25] is the sub-list for method output_type 1517 - 25, // [25:25] is the sub-list for method input_type 1518 - 25, // [25:25] is the sub-list for extension type_name 1519 - 25, // [25:25] is the sub-list for extension extendee 1520 - 0, // [0:25] is the sub-list for field type_name 1521 - } 1522 - 1523 - func init() { file_query_proto_init() } 1524 - func file_query_proto_init() { 1525 - if File_query_proto != nil { 1526 - return 1527 - } 1528 - if !protoimpl.UnsafeEnabled { 1529 - file_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1530 - switch v := v.(*Q); i { 1531 - case 0: 1532 - return &v.state 1533 - case 1: 1534 - return &v.sizeCache 1535 - case 2: 1536 - return &v.unknownFields 1537 - default: 1538 - return nil 1539 - } 1540 - } 1541 - file_query_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1542 - switch v := v.(*RawConfig); i { 1543 - case 0: 1544 - return &v.state 1545 - case 1: 1546 - return &v.sizeCache 1547 - case 2: 1548 - return &v.unknownFields 1549 - default: 1550 - return nil 1551 - } 1552 - } 1553 - file_query_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1554 - switch v := v.(*Regexp); i { 1555 - case 0: 1556 - return &v.state 1557 - case 1: 1558 - return &v.sizeCache 1559 - case 2: 1560 - return &v.unknownFields 1561 - default: 1562 - return nil 1563 - } 1564 - } 1565 - file_query_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1566 - switch v := v.(*Symbol); i { 1567 - case 0: 1568 - return &v.state 1569 - case 1: 1570 - return &v.sizeCache 1571 - case 2: 1572 - return &v.unknownFields 1573 - default: 1574 - return nil 1575 - } 1576 - } 1577 - file_query_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1578 - switch v := v.(*Language); i { 1579 - case 0: 1580 - return &v.state 1581 - case 1: 1582 - return &v.sizeCache 1583 - case 2: 1584 - return &v.unknownFields 1585 - default: 1586 - return nil 1587 - } 1588 - } 1589 - file_query_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1590 - switch v := v.(*Repo); i { 1591 - case 0: 1592 - return &v.state 1593 - case 1: 1594 - return &v.sizeCache 1595 - case 2: 1596 - return &v.unknownFields 1597 - default: 1598 - return nil 1599 - } 1600 - } 1601 - file_query_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1602 - switch v := v.(*RepoRegexp); i { 1603 - case 0: 1604 - return &v.state 1605 - case 1: 1606 - return &v.sizeCache 1607 - case 2: 1608 - return &v.unknownFields 1609 - default: 1610 - return nil 1611 - } 1612 - } 1613 - file_query_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1614 - switch v := v.(*BranchesRepos); i { 1615 - case 0: 1616 - return &v.state 1617 - case 1: 1618 - return &v.sizeCache 1619 - case 2: 1620 - return &v.unknownFields 1621 - default: 1622 - return nil 1623 - } 1624 - } 1625 - file_query_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 1626 - switch v := v.(*BranchRepos); i { 1627 - case 0: 1628 - return &v.state 1629 - case 1: 1630 - return &v.sizeCache 1631 - case 2: 1632 - return &v.unknownFields 1633 - default: 1634 - return nil 1635 - } 1636 - } 1637 - file_query_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 1638 - switch v := v.(*RepoIds); i { 1639 - case 0: 1640 - return &v.state 1641 - case 1: 1642 - return &v.sizeCache 1643 - case 2: 1644 - return &v.unknownFields 1645 - default: 1646 - return nil 1647 - } 1648 - } 1649 - file_query_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 1650 - switch v := v.(*RepoSet); i { 1651 - case 0: 1652 - return &v.state 1653 - case 1: 1654 - return &v.sizeCache 1655 - case 2: 1656 - return &v.unknownFields 1657 - default: 1658 - return nil 1659 - } 1660 - } 1661 - file_query_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 1662 - switch v := v.(*FileNameSet); i { 1663 - case 0: 1664 - return &v.state 1665 - case 1: 1666 - return &v.sizeCache 1667 - case 2: 1668 - return &v.unknownFields 1669 - default: 1670 - return nil 1671 - } 1672 - } 1673 - file_query_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 1674 - switch v := v.(*Type); i { 1675 - case 0: 1676 - return &v.state 1677 - case 1: 1678 - return &v.sizeCache 1679 - case 2: 1680 - return &v.unknownFields 1681 - default: 1682 - return nil 1683 - } 1684 - } 1685 - file_query_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 1686 - switch v := v.(*Substring); i { 1687 - case 0: 1688 - return &v.state 1689 - case 1: 1690 - return &v.sizeCache 1691 - case 2: 1692 - return &v.unknownFields 1693 - default: 1694 - return nil 1695 - } 1696 - } 1697 - file_query_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 1698 - switch v := v.(*And); i { 1699 - case 0: 1700 - return &v.state 1701 - case 1: 1702 - return &v.sizeCache 1703 - case 2: 1704 - return &v.unknownFields 1705 - default: 1706 - return nil 1707 - } 1708 - } 1709 - file_query_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 1710 - switch v := v.(*Or); i { 1711 - case 0: 1712 - return &v.state 1713 - case 1: 1714 - return &v.sizeCache 1715 - case 2: 1716 - return &v.unknownFields 1717 - default: 1718 - return nil 1719 - } 1720 - } 1721 - file_query_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 1722 - switch v := v.(*Not); i { 1723 - case 0: 1724 - return &v.state 1725 - case 1: 1726 - return &v.sizeCache 1727 - case 2: 1728 - return &v.unknownFields 1729 - default: 1730 - return nil 1731 - } 1732 - } 1733 - file_query_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 1734 - switch v := v.(*Branch); i { 1735 - case 0: 1736 - return &v.state 1737 - case 1: 1738 - return &v.sizeCache 1739 - case 2: 1740 - return &v.unknownFields 1741 - default: 1742 - return nil 1743 - } 1744 - } 1745 - } 1746 - file_query_proto_msgTypes[0].OneofWrappers = []interface{}{ 1747 - (*Q_RawConfig)(nil), 1748 - (*Q_Regexp)(nil), 1749 - (*Q_Symbol)(nil), 1750 - (*Q_Language)(nil), 1751 - (*Q_Const)(nil), 1752 - (*Q_Repo)(nil), 1753 - (*Q_RepoRegexp)(nil), 1754 - (*Q_BranchesRepos)(nil), 1755 - (*Q_RepoIds)(nil), 1756 - (*Q_RepoSet)(nil), 1757 - (*Q_FileNameSet)(nil), 1758 - (*Q_Type)(nil), 1759 - (*Q_Substring)(nil), 1760 - (*Q_And)(nil), 1761 - (*Q_Or)(nil), 1762 - (*Q_Not)(nil), 1763 - (*Q_Branch)(nil), 1764 - } 1765 - type x struct{} 1766 - out := protoimpl.TypeBuilder{ 1767 - File: protoimpl.DescBuilder{ 1768 - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1769 - RawDescriptor: file_query_proto_rawDesc, 1770 - NumEnums: 2, 1771 - NumMessages: 19, 1772 - NumExtensions: 0, 1773 - NumServices: 0, 1774 - }, 1775 - GoTypes: file_query_proto_goTypes, 1776 - DependencyIndexes: file_query_proto_depIdxs, 1777 - EnumInfos: file_query_proto_enumTypes, 1778 - MessageInfos: file_query_proto_msgTypes, 1779 - }.Build() 1780 - File_query_proto = out.File 1781 - file_query_proto_rawDesc = nil 1782 - file_query_proto_goTypes = nil 1783 - file_query_proto_depIdxs = nil 1784 - }
+13 -13
grpc/v1/query.proto grpc/protos/zoekt/webserver/v1/query.proto
··· 1 1 syntax = "proto3"; 2 2 3 - package grpc.v1; 3 + package zoekt.webserver.v1; 4 4 5 - option go_package = "github.com/sourcegraph/zoekt/grpc/v1"; 5 + option go_package = "github.com/sourcegraph/zoekt/grpc/protos/zoekt/webserver/v1"; 6 6 7 7 message Q { 8 8 oneof query { ··· 29 29 // RawConfig filters repositories based on their encoded RawConfig map. 30 30 message RawConfig { 31 31 enum Flag { 32 - UNKNOWN = 0x00; 33 - ONLY_PUBLIC = 0x01; 34 - ONLY_PRIVATE = 0x02; 35 - ONLY_FORKS = 0x04; 36 - NO_FORKS = 0x08; 37 - ONLY_ARCHIVED = 0x10; 38 - NO_ARCHIVED = 0x20; 32 + FLAG_UNKNOWN_UNSPECIFIED = 0x00; 33 + FLAG_ONLY_PUBLIC = 0x01; 34 + FLAG_ONLY_PRIVATE = 0x02; 35 + FLAG_ONLY_FORKS = 0x04; 36 + FLAG_NO_FORKS = 0x08; 37 + FLAG_ONLY_ARCHIVED = 0x10; 38 + FLAG_NO_ARCHIVED = 0x20; 39 39 } 40 40 41 41 repeated Flag flags = 1; ··· 98 98 // Type changes the result type returned. 99 99 message Type { 100 100 enum Kind { 101 - UNKNOWN = 0; 102 - FILE_MATCH = 1; 103 - FILE_NAME = 2; 104 - REPO = 3; 101 + KIND_UNKNOWN_UNSPECIFIED = 0; 102 + KIND_FILE_MATCH = 1; 103 + KIND_FILE_NAME = 2; 104 + KIND_REPO = 3; 105 105 } 106 106 107 107 Q child = 1;
-3047
grpc/v1/webserver.pb.go
··· 1 - // Code generated by protoc-gen-go. DO NOT EDIT. 2 - // versions: 3 - // protoc-gen-go v1.29.1 4 - // protoc (unknown) 5 - // source: webserver.proto 6 - 7 - package v1 8 - 9 - import ( 10 - protoreflect "google.golang.org/protobuf/reflect/protoreflect" 11 - protoimpl "google.golang.org/protobuf/runtime/protoimpl" 12 - durationpb "google.golang.org/protobuf/types/known/durationpb" 13 - timestamppb "google.golang.org/protobuf/types/known/timestamppb" 14 - reflect "reflect" 15 - sync "sync" 16 - ) 17 - 18 - const ( 19 - // Verify that this generated code is sufficiently up-to-date. 20 - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 21 - // Verify that runtime/protoimpl is sufficiently up-to-date. 22 - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 23 - ) 24 - 25 - type FlushReason int32 26 - 27 - const ( 28 - FlushReason_UNKNOWN FlushReason = 0 29 - FlushReason_TIMER_EXPIRED FlushReason = 1 30 - FlushReason_FINAL_FLUSH FlushReason = 2 31 - FlushReason_MAX_SIZE FlushReason = 3 32 - ) 33 - 34 - // Enum value maps for FlushReason. 35 - var ( 36 - FlushReason_name = map[int32]string{ 37 - 0: "UNKNOWN", 38 - 1: "TIMER_EXPIRED", 39 - 2: "FINAL_FLUSH", 40 - 3: "MAX_SIZE", 41 - } 42 - FlushReason_value = map[string]int32{ 43 - "UNKNOWN": 0, 44 - "TIMER_EXPIRED": 1, 45 - "FINAL_FLUSH": 2, 46 - "MAX_SIZE": 3, 47 - } 48 - ) 49 - 50 - func (x FlushReason) Enum() *FlushReason { 51 - p := new(FlushReason) 52 - *p = x 53 - return p 54 - } 55 - 56 - func (x FlushReason) String() string { 57 - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 58 - } 59 - 60 - func (FlushReason) Descriptor() protoreflect.EnumDescriptor { 61 - return file_webserver_proto_enumTypes[0].Descriptor() 62 - } 63 - 64 - func (FlushReason) Type() protoreflect.EnumType { 65 - return &file_webserver_proto_enumTypes[0] 66 - } 67 - 68 - func (x FlushReason) Number() protoreflect.EnumNumber { 69 - return protoreflect.EnumNumber(x) 70 - } 71 - 72 - // Deprecated: Use FlushReason.Descriptor instead. 73 - func (FlushReason) EnumDescriptor() ([]byte, []int) { 74 - return file_webserver_proto_rawDescGZIP(), []int{0} 75 - } 76 - 77 - type ListOptions_RepoListField int32 78 - 79 - const ( 80 - ListOptions_REPO_LIST_FIELD_UNKNOWN ListOptions_RepoListField = 0 81 - ListOptions_REPO_LIST_FIELD_REPOS ListOptions_RepoListField = 1 82 - ListOptions_REPO_LIST_FIELD_MINIMAL ListOptions_RepoListField = 2 83 - ListOptions_REPO_LIST_FIELD_REPOS_MAP ListOptions_RepoListField = 3 84 - ) 85 - 86 - // Enum value maps for ListOptions_RepoListField. 87 - var ( 88 - ListOptions_RepoListField_name = map[int32]string{ 89 - 0: "REPO_LIST_FIELD_UNKNOWN", 90 - 1: "REPO_LIST_FIELD_REPOS", 91 - 2: "REPO_LIST_FIELD_MINIMAL", 92 - 3: "REPO_LIST_FIELD_REPOS_MAP", 93 - } 94 - ListOptions_RepoListField_value = map[string]int32{ 95 - "REPO_LIST_FIELD_UNKNOWN": 0, 96 - "REPO_LIST_FIELD_REPOS": 1, 97 - "REPO_LIST_FIELD_MINIMAL": 2, 98 - "REPO_LIST_FIELD_REPOS_MAP": 3, 99 - } 100 - ) 101 - 102 - func (x ListOptions_RepoListField) Enum() *ListOptions_RepoListField { 103 - p := new(ListOptions_RepoListField) 104 - *p = x 105 - return p 106 - } 107 - 108 - func (x ListOptions_RepoListField) String() string { 109 - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 110 - } 111 - 112 - func (ListOptions_RepoListField) Descriptor() protoreflect.EnumDescriptor { 113 - return file_webserver_proto_enumTypes[1].Descriptor() 114 - } 115 - 116 - func (ListOptions_RepoListField) Type() protoreflect.EnumType { 117 - return &file_webserver_proto_enumTypes[1] 118 - } 119 - 120 - func (x ListOptions_RepoListField) Number() protoreflect.EnumNumber { 121 - return protoreflect.EnumNumber(x) 122 - } 123 - 124 - // Deprecated: Use ListOptions_RepoListField.Descriptor instead. 125 - func (ListOptions_RepoListField) EnumDescriptor() ([]byte, []int) { 126 - return file_webserver_proto_rawDescGZIP(), []int{4, 0} 127 - } 128 - 129 - type SearchRequest struct { 130 - state protoimpl.MessageState 131 - sizeCache protoimpl.SizeCache 132 - unknownFields protoimpl.UnknownFields 133 - 134 - Query *Q `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` 135 - Opts *SearchOptions `protobuf:"bytes,2,opt,name=opts,proto3" json:"opts,omitempty"` 136 - } 137 - 138 - func (x *SearchRequest) Reset() { 139 - *x = SearchRequest{} 140 - if protoimpl.UnsafeEnabled { 141 - mi := &file_webserver_proto_msgTypes[0] 142 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 143 - ms.StoreMessageInfo(mi) 144 - } 145 - } 146 - 147 - func (x *SearchRequest) String() string { 148 - return protoimpl.X.MessageStringOf(x) 149 - } 150 - 151 - func (*SearchRequest) ProtoMessage() {} 152 - 153 - func (x *SearchRequest) ProtoReflect() protoreflect.Message { 154 - mi := &file_webserver_proto_msgTypes[0] 155 - if protoimpl.UnsafeEnabled && x != nil { 156 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 157 - if ms.LoadMessageInfo() == nil { 158 - ms.StoreMessageInfo(mi) 159 - } 160 - return ms 161 - } 162 - return mi.MessageOf(x) 163 - } 164 - 165 - // Deprecated: Use SearchRequest.ProtoReflect.Descriptor instead. 166 - func (*SearchRequest) Descriptor() ([]byte, []int) { 167 - return file_webserver_proto_rawDescGZIP(), []int{0} 168 - } 169 - 170 - func (x *SearchRequest) GetQuery() *Q { 171 - if x != nil { 172 - return x.Query 173 - } 174 - return nil 175 - } 176 - 177 - func (x *SearchRequest) GetOpts() *SearchOptions { 178 - if x != nil { 179 - return x.Opts 180 - } 181 - return nil 182 - } 183 - 184 - type SearchResponse struct { 185 - state protoimpl.MessageState 186 - sizeCache protoimpl.SizeCache 187 - unknownFields protoimpl.UnknownFields 188 - 189 - Stats *Stats `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"` 190 - Progress *Progress `protobuf:"bytes,2,opt,name=progress,proto3" json:"progress,omitempty"` 191 - Files []*FileMatch `protobuf:"bytes,3,rep,name=files,proto3" json:"files,omitempty"` 192 - } 193 - 194 - func (x *SearchResponse) Reset() { 195 - *x = SearchResponse{} 196 - if protoimpl.UnsafeEnabled { 197 - mi := &file_webserver_proto_msgTypes[1] 198 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 199 - ms.StoreMessageInfo(mi) 200 - } 201 - } 202 - 203 - func (x *SearchResponse) String() string { 204 - return protoimpl.X.MessageStringOf(x) 205 - } 206 - 207 - func (*SearchResponse) ProtoMessage() {} 208 - 209 - func (x *SearchResponse) ProtoReflect() protoreflect.Message { 210 - mi := &file_webserver_proto_msgTypes[1] 211 - if protoimpl.UnsafeEnabled && x != nil { 212 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 213 - if ms.LoadMessageInfo() == nil { 214 - ms.StoreMessageInfo(mi) 215 - } 216 - return ms 217 - } 218 - return mi.MessageOf(x) 219 - } 220 - 221 - // Deprecated: Use SearchResponse.ProtoReflect.Descriptor instead. 222 - func (*SearchResponse) Descriptor() ([]byte, []int) { 223 - return file_webserver_proto_rawDescGZIP(), []int{1} 224 - } 225 - 226 - func (x *SearchResponse) GetStats() *Stats { 227 - if x != nil { 228 - return x.Stats 229 - } 230 - return nil 231 - } 232 - 233 - func (x *SearchResponse) GetProgress() *Progress { 234 - if x != nil { 235 - return x.Progress 236 - } 237 - return nil 238 - } 239 - 240 - func (x *SearchResponse) GetFiles() []*FileMatch { 241 - if x != nil { 242 - return x.Files 243 - } 244 - return nil 245 - } 246 - 247 - type SearchOptions struct { 248 - state protoimpl.MessageState 249 - sizeCache protoimpl.SizeCache 250 - unknownFields protoimpl.UnknownFields 251 - 252 - // Return an upper-bound estimate of eligible documents in 253 - // stats.ShardFilesConsidered. 254 - EstimateDocCount bool `protobuf:"varint,1,opt,name=estimate_doc_count,json=estimateDocCount,proto3" json:"estimate_doc_count,omitempty"` 255 - // Return the whole file. 256 - Whole bool `protobuf:"varint,2,opt,name=whole,proto3" json:"whole,omitempty"` 257 - // Maximum number of matches: skip all processing an index 258 - // shard after we found this many non-overlapping matches. 259 - ShardMaxMatchCount int64 `protobuf:"varint,3,opt,name=shard_max_match_count,json=shardMaxMatchCount,proto3" json:"shard_max_match_count,omitempty"` 260 - // Maximum number of matches: stop looking for more matches 261 - // once we have this many matches across shards. 262 - TotalMaxMatchCount int64 `protobuf:"varint,4,opt,name=total_max_match_count,json=totalMaxMatchCount,proto3" json:"total_max_match_count,omitempty"` 263 - // Maximum number of matches: skip processing documents for a repository in 264 - // a shard once we have found ShardRepoMaxMatchCount. 265 - // 266 - // A compound shard may contain multiple repositories. This will most often 267 - // be set to 1 to find all repositories containing a result. 268 - ShardRepoMaxMatchCount int64 `protobuf:"varint,5,opt,name=shard_repo_max_match_count,json=shardRepoMaxMatchCount,proto3" json:"shard_repo_max_match_count,omitempty"` 269 - // Abort the search after this much time has passed. 270 - MaxWallTime *durationpb.Duration `protobuf:"bytes,6,opt,name=max_wall_time,json=maxWallTime,proto3" json:"max_wall_time,omitempty"` 271 - // FlushWallTime if non-zero will stop streaming behaviour at first and 272 - // instead will collate and sort results. At FlushWallTime the results will 273 - // be sent and then the behaviour will revert to the normal streaming. 274 - FlushWallTime *durationpb.Duration `protobuf:"bytes,7,opt,name=flush_wall_time,json=flushWallTime,proto3" json:"flush_wall_time,omitempty"` 275 - // Truncates the number of documents (i.e. files) after collating and 276 - // sorting the results. 277 - MaxDocDisplayCount int64 `protobuf:"varint,8,opt,name=max_doc_display_count,json=maxDocDisplayCount,proto3" json:"max_doc_display_count,omitempty"` 278 - // Truncates the number of matchs after collating and sorting the results. 279 - MaxMatchDisplayCount int64 `protobuf:"varint,16,opt,name=max_match_display_count,json=maxMatchDisplayCount,proto3" json:"max_match_display_count,omitempty"` 280 - // If set to a number greater than zero then up to this many number 281 - // of context lines will be added before and after each matched line. 282 - // Note that the included context lines might contain matches and 283 - // it's up to the consumer of the result to remove those lines. 284 - NumContextLines int64 `protobuf:"varint,9,opt,name=num_context_lines,json=numContextLines,proto3" json:"num_context_lines,omitempty"` 285 - // If true, ChunkMatches will be returned in each FileMatch rather than LineMatches 286 - // EXPERIMENTAL: the behavior of this flag may be changed in future versions. 287 - ChunkMatches bool `protobuf:"varint,10,opt,name=chunk_matches,json=chunkMatches,proto3" json:"chunk_matches,omitempty"` 288 - // EXPERIMENTAL. If true, document ranks are used as additional input for 289 - // sorting matches. 290 - UseDocumentRanks bool `protobuf:"varint,11,opt,name=use_document_ranks,json=useDocumentRanks,proto3" json:"use_document_ranks,omitempty"` 291 - // EXPERIMENTAL. When UseDocumentRanks is enabled, this can be optionally set to adjust 292 - // their weight in the file match score. If the value is <= 0.0, the default weight value 293 - // will be used. This option is temporary and is only exposed for testing/ tuning purposes. 294 - DocumentRanksWeight float64 `protobuf:"fixed64,12,opt,name=document_ranks_weight,json=documentRanksWeight,proto3" json:"document_ranks_weight,omitempty"` 295 - // Trace turns on opentracing for this request if true and if the Jaeger address was provided as 296 - // a command-line flag 297 - Trace bool `protobuf:"varint,13,opt,name=trace,proto3" json:"trace,omitempty"` 298 - // If set, the search results will contain debug information for scoring. 299 - DebugScore bool `protobuf:"varint,14,opt,name=debug_score,json=debugScore,proto3" json:"debug_score,omitempty"` 300 - // EXPERIMENTAL. If true, use keyword-style scoring instead of the default scoring formula. 301 - // Currently, this treats each match in a file as a term and computes an approximation to BM25. 302 - // When enabled, all other scoring signals are ignored, including document ranks. 303 - UseKeywordScoring bool `protobuf:"varint,15,opt,name=use_keyword_scoring,json=useKeywordScoring,proto3" json:"use_keyword_scoring,omitempty"` 304 - } 305 - 306 - func (x *SearchOptions) Reset() { 307 - *x = SearchOptions{} 308 - if protoimpl.UnsafeEnabled { 309 - mi := &file_webserver_proto_msgTypes[2] 310 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 311 - ms.StoreMessageInfo(mi) 312 - } 313 - } 314 - 315 - func (x *SearchOptions) String() string { 316 - return protoimpl.X.MessageStringOf(x) 317 - } 318 - 319 - func (*SearchOptions) ProtoMessage() {} 320 - 321 - func (x *SearchOptions) ProtoReflect() protoreflect.Message { 322 - mi := &file_webserver_proto_msgTypes[2] 323 - if protoimpl.UnsafeEnabled && x != nil { 324 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 325 - if ms.LoadMessageInfo() == nil { 326 - ms.StoreMessageInfo(mi) 327 - } 328 - return ms 329 - } 330 - return mi.MessageOf(x) 331 - } 332 - 333 - // Deprecated: Use SearchOptions.ProtoReflect.Descriptor instead. 334 - func (*SearchOptions) Descriptor() ([]byte, []int) { 335 - return file_webserver_proto_rawDescGZIP(), []int{2} 336 - } 337 - 338 - func (x *SearchOptions) GetEstimateDocCount() bool { 339 - if x != nil { 340 - return x.EstimateDocCount 341 - } 342 - return false 343 - } 344 - 345 - func (x *SearchOptions) GetWhole() bool { 346 - if x != nil { 347 - return x.Whole 348 - } 349 - return false 350 - } 351 - 352 - func (x *SearchOptions) GetShardMaxMatchCount() int64 { 353 - if x != nil { 354 - return x.ShardMaxMatchCount 355 - } 356 - return 0 357 - } 358 - 359 - func (x *SearchOptions) GetTotalMaxMatchCount() int64 { 360 - if x != nil { 361 - return x.TotalMaxMatchCount 362 - } 363 - return 0 364 - } 365 - 366 - func (x *SearchOptions) GetShardRepoMaxMatchCount() int64 { 367 - if x != nil { 368 - return x.ShardRepoMaxMatchCount 369 - } 370 - return 0 371 - } 372 - 373 - func (x *SearchOptions) GetMaxWallTime() *durationpb.Duration { 374 - if x != nil { 375 - return x.MaxWallTime 376 - } 377 - return nil 378 - } 379 - 380 - func (x *SearchOptions) GetFlushWallTime() *durationpb.Duration { 381 - if x != nil { 382 - return x.FlushWallTime 383 - } 384 - return nil 385 - } 386 - 387 - func (x *SearchOptions) GetMaxDocDisplayCount() int64 { 388 - if x != nil { 389 - return x.MaxDocDisplayCount 390 - } 391 - return 0 392 - } 393 - 394 - func (x *SearchOptions) GetMaxMatchDisplayCount() int64 { 395 - if x != nil { 396 - return x.MaxMatchDisplayCount 397 - } 398 - return 0 399 - } 400 - 401 - func (x *SearchOptions) GetNumContextLines() int64 { 402 - if x != nil { 403 - return x.NumContextLines 404 - } 405 - return 0 406 - } 407 - 408 - func (x *SearchOptions) GetChunkMatches() bool { 409 - if x != nil { 410 - return x.ChunkMatches 411 - } 412 - return false 413 - } 414 - 415 - func (x *SearchOptions) GetUseDocumentRanks() bool { 416 - if x != nil { 417 - return x.UseDocumentRanks 418 - } 419 - return false 420 - } 421 - 422 - func (x *SearchOptions) GetDocumentRanksWeight() float64 { 423 - if x != nil { 424 - return x.DocumentRanksWeight 425 - } 426 - return 0 427 - } 428 - 429 - func (x *SearchOptions) GetTrace() bool { 430 - if x != nil { 431 - return x.Trace 432 - } 433 - return false 434 - } 435 - 436 - func (x *SearchOptions) GetDebugScore() bool { 437 - if x != nil { 438 - return x.DebugScore 439 - } 440 - return false 441 - } 442 - 443 - func (x *SearchOptions) GetUseKeywordScoring() bool { 444 - if x != nil { 445 - return x.UseKeywordScoring 446 - } 447 - return false 448 - } 449 - 450 - type ListRequest struct { 451 - state protoimpl.MessageState 452 - sizeCache protoimpl.SizeCache 453 - unknownFields protoimpl.UnknownFields 454 - 455 - Query *Q `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` 456 - Opts *ListOptions `protobuf:"bytes,2,opt,name=opts,proto3" json:"opts,omitempty"` 457 - } 458 - 459 - func (x *ListRequest) Reset() { 460 - *x = ListRequest{} 461 - if protoimpl.UnsafeEnabled { 462 - mi := &file_webserver_proto_msgTypes[3] 463 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 464 - ms.StoreMessageInfo(mi) 465 - } 466 - } 467 - 468 - func (x *ListRequest) String() string { 469 - return protoimpl.X.MessageStringOf(x) 470 - } 471 - 472 - func (*ListRequest) ProtoMessage() {} 473 - 474 - func (x *ListRequest) ProtoReflect() protoreflect.Message { 475 - mi := &file_webserver_proto_msgTypes[3] 476 - if protoimpl.UnsafeEnabled && x != nil { 477 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 478 - if ms.LoadMessageInfo() == nil { 479 - ms.StoreMessageInfo(mi) 480 - } 481 - return ms 482 - } 483 - return mi.MessageOf(x) 484 - } 485 - 486 - // Deprecated: Use ListRequest.ProtoReflect.Descriptor instead. 487 - func (*ListRequest) Descriptor() ([]byte, []int) { 488 - return file_webserver_proto_rawDescGZIP(), []int{3} 489 - } 490 - 491 - func (x *ListRequest) GetQuery() *Q { 492 - if x != nil { 493 - return x.Query 494 - } 495 - return nil 496 - } 497 - 498 - func (x *ListRequest) GetOpts() *ListOptions { 499 - if x != nil { 500 - return x.Opts 501 - } 502 - return nil 503 - } 504 - 505 - type ListOptions struct { 506 - state protoimpl.MessageState 507 - sizeCache protoimpl.SizeCache 508 - unknownFields protoimpl.UnknownFields 509 - 510 - // Field decides which field to populate in RepoList response. 511 - Field ListOptions_RepoListField `protobuf:"varint,1,opt,name=field,proto3,enum=grpc.v1.ListOptions_RepoListField" json:"field,omitempty"` 512 - // Return only Minimal data per repo that Sourcegraph frontend needs. 513 - // 514 - // Deprecated: use Field 515 - Minimal bool `protobuf:"varint,16,opt,name=minimal,proto3" json:"minimal,omitempty"` 516 - } 517 - 518 - func (x *ListOptions) Reset() { 519 - *x = ListOptions{} 520 - if protoimpl.UnsafeEnabled { 521 - mi := &file_webserver_proto_msgTypes[4] 522 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 523 - ms.StoreMessageInfo(mi) 524 - } 525 - } 526 - 527 - func (x *ListOptions) String() string { 528 - return protoimpl.X.MessageStringOf(x) 529 - } 530 - 531 - func (*ListOptions) ProtoMessage() {} 532 - 533 - func (x *ListOptions) ProtoReflect() protoreflect.Message { 534 - mi := &file_webserver_proto_msgTypes[4] 535 - if protoimpl.UnsafeEnabled && x != nil { 536 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 537 - if ms.LoadMessageInfo() == nil { 538 - ms.StoreMessageInfo(mi) 539 - } 540 - return ms 541 - } 542 - return mi.MessageOf(x) 543 - } 544 - 545 - // Deprecated: Use ListOptions.ProtoReflect.Descriptor instead. 546 - func (*ListOptions) Descriptor() ([]byte, []int) { 547 - return file_webserver_proto_rawDescGZIP(), []int{4} 548 - } 549 - 550 - func (x *ListOptions) GetField() ListOptions_RepoListField { 551 - if x != nil { 552 - return x.Field 553 - } 554 - return ListOptions_REPO_LIST_FIELD_UNKNOWN 555 - } 556 - 557 - func (x *ListOptions) GetMinimal() bool { 558 - if x != nil { 559 - return x.Minimal 560 - } 561 - return false 562 - } 563 - 564 - type ListResponse struct { 565 - state protoimpl.MessageState 566 - sizeCache protoimpl.SizeCache 567 - unknownFields protoimpl.UnknownFields 568 - 569 - // Returned when ListOptions.Field is RepoListFieldRepos. 570 - Repos []*RepoListEntry `protobuf:"bytes,1,rep,name=repos,proto3" json:"repos,omitempty"` 571 - // ReposMap is set when ListOptions.Field is RepoListFieldReposMap. 572 - ReposMap map[uint32]*MinimalRepoListEntry `protobuf:"bytes,2,rep,name=repos_map,json=reposMap,proto3" json:"repos_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 573 - Crashes int64 `protobuf:"varint,3,opt,name=crashes,proto3" json:"crashes,omitempty"` 574 - // Stats response to a List request. 575 - // This is the aggregate RepoStats of all repos matching the input query. 576 - Stats *RepoStats `protobuf:"bytes,4,opt,name=stats,proto3" json:"stats,omitempty"` 577 - // Returned when ListOptions.Field is RepoListFieldMinimal. 578 - // 579 - // Deprecated: use ReposMap. 580 - Minimal map[uint32]*MinimalRepoListEntry `protobuf:"bytes,5,rep,name=minimal,proto3" json:"minimal,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 581 - } 582 - 583 - func (x *ListResponse) Reset() { 584 - *x = ListResponse{} 585 - if protoimpl.UnsafeEnabled { 586 - mi := &file_webserver_proto_msgTypes[5] 587 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 588 - ms.StoreMessageInfo(mi) 589 - } 590 - } 591 - 592 - func (x *ListResponse) String() string { 593 - return protoimpl.X.MessageStringOf(x) 594 - } 595 - 596 - func (*ListResponse) ProtoMessage() {} 597 - 598 - func (x *ListResponse) ProtoReflect() protoreflect.Message { 599 - mi := &file_webserver_proto_msgTypes[5] 600 - if protoimpl.UnsafeEnabled && x != nil { 601 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 602 - if ms.LoadMessageInfo() == nil { 603 - ms.StoreMessageInfo(mi) 604 - } 605 - return ms 606 - } 607 - return mi.MessageOf(x) 608 - } 609 - 610 - // Deprecated: Use ListResponse.ProtoReflect.Descriptor instead. 611 - func (*ListResponse) Descriptor() ([]byte, []int) { 612 - return file_webserver_proto_rawDescGZIP(), []int{5} 613 - } 614 - 615 - func (x *ListResponse) GetRepos() []*RepoListEntry { 616 - if x != nil { 617 - return x.Repos 618 - } 619 - return nil 620 - } 621 - 622 - func (x *ListResponse) GetReposMap() map[uint32]*MinimalRepoListEntry { 623 - if x != nil { 624 - return x.ReposMap 625 - } 626 - return nil 627 - } 628 - 629 - func (x *ListResponse) GetCrashes() int64 { 630 - if x != nil { 631 - return x.Crashes 632 - } 633 - return 0 634 - } 635 - 636 - func (x *ListResponse) GetStats() *RepoStats { 637 - if x != nil { 638 - return x.Stats 639 - } 640 - return nil 641 - } 642 - 643 - func (x *ListResponse) GetMinimal() map[uint32]*MinimalRepoListEntry { 644 - if x != nil { 645 - return x.Minimal 646 - } 647 - return nil 648 - } 649 - 650 - type RepoListEntry struct { 651 - state protoimpl.MessageState 652 - sizeCache protoimpl.SizeCache 653 - unknownFields protoimpl.UnknownFields 654 - 655 - Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` 656 - IndexMetadata *IndexMetadata `protobuf:"bytes,2,opt,name=index_metadata,json=indexMetadata,proto3" json:"index_metadata,omitempty"` 657 - Stats *RepoStats `protobuf:"bytes,3,opt,name=stats,proto3" json:"stats,omitempty"` 658 - } 659 - 660 - func (x *RepoListEntry) Reset() { 661 - *x = RepoListEntry{} 662 - if protoimpl.UnsafeEnabled { 663 - mi := &file_webserver_proto_msgTypes[6] 664 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 665 - ms.StoreMessageInfo(mi) 666 - } 667 - } 668 - 669 - func (x *RepoListEntry) String() string { 670 - return protoimpl.X.MessageStringOf(x) 671 - } 672 - 673 - func (*RepoListEntry) ProtoMessage() {} 674 - 675 - func (x *RepoListEntry) ProtoReflect() protoreflect.Message { 676 - mi := &file_webserver_proto_msgTypes[6] 677 - if protoimpl.UnsafeEnabled && x != nil { 678 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 679 - if ms.LoadMessageInfo() == nil { 680 - ms.StoreMessageInfo(mi) 681 - } 682 - return ms 683 - } 684 - return mi.MessageOf(x) 685 - } 686 - 687 - // Deprecated: Use RepoListEntry.ProtoReflect.Descriptor instead. 688 - func (*RepoListEntry) Descriptor() ([]byte, []int) { 689 - return file_webserver_proto_rawDescGZIP(), []int{6} 690 - } 691 - 692 - func (x *RepoListEntry) GetRepository() *Repository { 693 - if x != nil { 694 - return x.Repository 695 - } 696 - return nil 697 - } 698 - 699 - func (x *RepoListEntry) GetIndexMetadata() *IndexMetadata { 700 - if x != nil { 701 - return x.IndexMetadata 702 - } 703 - return nil 704 - } 705 - 706 - func (x *RepoListEntry) GetStats() *RepoStats { 707 - if x != nil { 708 - return x.Stats 709 - } 710 - return nil 711 - } 712 - 713 - type Repository struct { 714 - state protoimpl.MessageState 715 - sizeCache protoimpl.SizeCache 716 - unknownFields protoimpl.UnknownFields 717 - 718 - // Sourcegraph's repository ID 719 - Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` 720 - // The repository name 721 - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` 722 - // The repository URL. 723 - Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"` 724 - // The physical source where this repo came from, eg. full 725 - // path to the zip filename or git repository directory. This 726 - // will not be exposed in the UI, but can be used to detect 727 - // orphaned index shards. 728 - Source string `protobuf:"bytes,4,opt,name=source,proto3" json:"source,omitempty"` 729 - // The branches indexed in this repo. 730 - Branches []*RepositoryBranch `protobuf:"bytes,5,rep,name=branches,proto3" json:"branches,omitempty"` 731 - // Nil if this is not the super project. 732 - SubRepoMap map[string]*Repository `protobuf:"bytes,6,rep,name=sub_repo_map,json=subRepoMap,proto3" json:"sub_repo_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 733 - // URL template to link to the commit of a branch 734 - CommitUrlTemplate string `protobuf:"bytes,7,opt,name=commit_url_template,json=commitUrlTemplate,proto3" json:"commit_url_template,omitempty"` 735 - // The repository URL for getting to a file. Has access to 736 - // {{.Version}}, {{.Path}} 737 - FileUrlTemplate string `protobuf:"bytes,8,opt,name=file_url_template,json=fileUrlTemplate,proto3" json:"file_url_template,omitempty"` 738 - // The URL fragment to add to a file URL for line numbers. has 739 - // access to {{.LineNumber}}. The fragment should include the 740 - // separator, generally '#' or ';'. 741 - LineFragmentTemplate string `protobuf:"bytes,9,opt,name=line_fragment_template,json=lineFragmentTemplate,proto3" json:"line_fragment_template,omitempty"` 742 - // Perf optimization: priority is set when we load the shard. It corresponds to 743 - // the value of "priority" stored in RawConfig. 744 - Priority float64 `protobuf:"fixed64,10,opt,name=priority,proto3" json:"priority,omitempty"` 745 - // All zoekt.* configuration settings. 746 - RawConfig map[string]string `protobuf:"bytes,11,rep,name=raw_config,json=rawConfig,proto3" json:"raw_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 747 - // Importance of the repository, bigger is more important 748 - Rank uint32 `protobuf:"varint,12,opt,name=rank,proto3" json:"rank,omitempty"` 749 - // index_options is a hash of the options used to create the index for the 750 - // repo. 751 - IndexOptions string `protobuf:"bytes,13,opt,name=index_options,json=indexOptions,proto3" json:"index_options,omitempty"` 752 - // has_symbols is true if this repository has indexed ctags 753 - // output. Sourcegraph specific: This field is more appropriate for 754 - // IndexMetadata. However, we store it here since the Sourcegraph frontend 755 - // can read this structure but not IndexMetadata. 756 - HasSymbols bool `protobuf:"varint,14,opt,name=has_symbols,json=hasSymbols,proto3" json:"has_symbols,omitempty"` 757 - // tombstone is true if we are not allowed to search this repo. 758 - Tombstone bool `protobuf:"varint,15,opt,name=tombstone,proto3" json:"tombstone,omitempty"` 759 - // latest_commit_date is the date of the latest commit among all indexed Branches. 760 - // The date might be time.Time's 0-value if the repository was last indexed 761 - // before this field was added. 762 - LatestCommitDate *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=latest_commit_date,json=latestCommitDate,proto3" json:"latest_commit_date,omitempty"` 763 - // file_tombstones is a set of file paths that should be ignored across all branches 764 - // in this shard. 765 - FileTombstones []string `protobuf:"bytes,17,rep,name=FileTombstones,proto3" json:"FileTombstones,omitempty"` 766 - } 767 - 768 - func (x *Repository) Reset() { 769 - *x = Repository{} 770 - if protoimpl.UnsafeEnabled { 771 - mi := &file_webserver_proto_msgTypes[7] 772 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 773 - ms.StoreMessageInfo(mi) 774 - } 775 - } 776 - 777 - func (x *Repository) String() string { 778 - return protoimpl.X.MessageStringOf(x) 779 - } 780 - 781 - func (*Repository) ProtoMessage() {} 782 - 783 - func (x *Repository) ProtoReflect() protoreflect.Message { 784 - mi := &file_webserver_proto_msgTypes[7] 785 - if protoimpl.UnsafeEnabled && x != nil { 786 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 787 - if ms.LoadMessageInfo() == nil { 788 - ms.StoreMessageInfo(mi) 789 - } 790 - return ms 791 - } 792 - return mi.MessageOf(x) 793 - } 794 - 795 - // Deprecated: Use Repository.ProtoReflect.Descriptor instead. 796 - func (*Repository) Descriptor() ([]byte, []int) { 797 - return file_webserver_proto_rawDescGZIP(), []int{7} 798 - } 799 - 800 - func (x *Repository) GetId() uint32 { 801 - if x != nil { 802 - return x.Id 803 - } 804 - return 0 805 - } 806 - 807 - func (x *Repository) GetName() string { 808 - if x != nil { 809 - return x.Name 810 - } 811 - return "" 812 - } 813 - 814 - func (x *Repository) GetUrl() string { 815 - if x != nil { 816 - return x.Url 817 - } 818 - return "" 819 - } 820 - 821 - func (x *Repository) GetSource() string { 822 - if x != nil { 823 - return x.Source 824 - } 825 - return "" 826 - } 827 - 828 - func (x *Repository) GetBranches() []*RepositoryBranch { 829 - if x != nil { 830 - return x.Branches 831 - } 832 - return nil 833 - } 834 - 835 - func (x *Repository) GetSubRepoMap() map[string]*Repository { 836 - if x != nil { 837 - return x.SubRepoMap 838 - } 839 - return nil 840 - } 841 - 842 - func (x *Repository) GetCommitUrlTemplate() string { 843 - if x != nil { 844 - return x.CommitUrlTemplate 845 - } 846 - return "" 847 - } 848 - 849 - func (x *Repository) GetFileUrlTemplate() string { 850 - if x != nil { 851 - return x.FileUrlTemplate 852 - } 853 - return "" 854 - } 855 - 856 - func (x *Repository) GetLineFragmentTemplate() string { 857 - if x != nil { 858 - return x.LineFragmentTemplate 859 - } 860 - return "" 861 - } 862 - 863 - func (x *Repository) GetPriority() float64 { 864 - if x != nil { 865 - return x.Priority 866 - } 867 - return 0 868 - } 869 - 870 - func (x *Repository) GetRawConfig() map[string]string { 871 - if x != nil { 872 - return x.RawConfig 873 - } 874 - return nil 875 - } 876 - 877 - func (x *Repository) GetRank() uint32 { 878 - if x != nil { 879 - return x.Rank 880 - } 881 - return 0 882 - } 883 - 884 - func (x *Repository) GetIndexOptions() string { 885 - if x != nil { 886 - return x.IndexOptions 887 - } 888 - return "" 889 - } 890 - 891 - func (x *Repository) GetHasSymbols() bool { 892 - if x != nil { 893 - return x.HasSymbols 894 - } 895 - return false 896 - } 897 - 898 - func (x *Repository) GetTombstone() bool { 899 - if x != nil { 900 - return x.Tombstone 901 - } 902 - return false 903 - } 904 - 905 - func (x *Repository) GetLatestCommitDate() *timestamppb.Timestamp { 906 - if x != nil { 907 - return x.LatestCommitDate 908 - } 909 - return nil 910 - } 911 - 912 - func (x *Repository) GetFileTombstones() []string { 913 - if x != nil { 914 - return x.FileTombstones 915 - } 916 - return nil 917 - } 918 - 919 - type IndexMetadata struct { 920 - state protoimpl.MessageState 921 - sizeCache protoimpl.SizeCache 922 - unknownFields protoimpl.UnknownFields 923 - 924 - IndexFormatVersion int64 `protobuf:"varint,1,opt,name=index_format_version,json=indexFormatVersion,proto3" json:"index_format_version,omitempty"` 925 - IndexFeatureVersion int64 `protobuf:"varint,2,opt,name=index_feature_version,json=indexFeatureVersion,proto3" json:"index_feature_version,omitempty"` 926 - IndexMinReaderVersion int64 `protobuf:"varint,3,opt,name=index_min_reader_version,json=indexMinReaderVersion,proto3" json:"index_min_reader_version,omitempty"` 927 - IndexTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=index_time,json=indexTime,proto3" json:"index_time,omitempty"` 928 - PlainAscii bool `protobuf:"varint,5,opt,name=plain_ascii,json=plainAscii,proto3" json:"plain_ascii,omitempty"` 929 - LanguageMap map[string]uint32 `protobuf:"bytes,6,rep,name=language_map,json=languageMap,proto3" json:"language_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` 930 - ZoektVersion string `protobuf:"bytes,7,opt,name=zoekt_version,json=zoektVersion,proto3" json:"zoekt_version,omitempty"` 931 - Id string `protobuf:"bytes,8,opt,name=id,proto3" json:"id,omitempty"` 932 - } 933 - 934 - func (x *IndexMetadata) Reset() { 935 - *x = IndexMetadata{} 936 - if protoimpl.UnsafeEnabled { 937 - mi := &file_webserver_proto_msgTypes[8] 938 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 939 - ms.StoreMessageInfo(mi) 940 - } 941 - } 942 - 943 - func (x *IndexMetadata) String() string { 944 - return protoimpl.X.MessageStringOf(x) 945 - } 946 - 947 - func (*IndexMetadata) ProtoMessage() {} 948 - 949 - func (x *IndexMetadata) ProtoReflect() protoreflect.Message { 950 - mi := &file_webserver_proto_msgTypes[8] 951 - if protoimpl.UnsafeEnabled && x != nil { 952 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 953 - if ms.LoadMessageInfo() == nil { 954 - ms.StoreMessageInfo(mi) 955 - } 956 - return ms 957 - } 958 - return mi.MessageOf(x) 959 - } 960 - 961 - // Deprecated: Use IndexMetadata.ProtoReflect.Descriptor instead. 962 - func (*IndexMetadata) Descriptor() ([]byte, []int) { 963 - return file_webserver_proto_rawDescGZIP(), []int{8} 964 - } 965 - 966 - func (x *IndexMetadata) GetIndexFormatVersion() int64 { 967 - if x != nil { 968 - return x.IndexFormatVersion 969 - } 970 - return 0 971 - } 972 - 973 - func (x *IndexMetadata) GetIndexFeatureVersion() int64 { 974 - if x != nil { 975 - return x.IndexFeatureVersion 976 - } 977 - return 0 978 - } 979 - 980 - func (x *IndexMetadata) GetIndexMinReaderVersion() int64 { 981 - if x != nil { 982 - return x.IndexMinReaderVersion 983 - } 984 - return 0 985 - } 986 - 987 - func (x *IndexMetadata) GetIndexTime() *timestamppb.Timestamp { 988 - if x != nil { 989 - return x.IndexTime 990 - } 991 - return nil 992 - } 993 - 994 - func (x *IndexMetadata) GetPlainAscii() bool { 995 - if x != nil { 996 - return x.PlainAscii 997 - } 998 - return false 999 - } 1000 - 1001 - func (x *IndexMetadata) GetLanguageMap() map[string]uint32 { 1002 - if x != nil { 1003 - return x.LanguageMap 1004 - } 1005 - return nil 1006 - } 1007 - 1008 - func (x *IndexMetadata) GetZoektVersion() string { 1009 - if x != nil { 1010 - return x.ZoektVersion 1011 - } 1012 - return "" 1013 - } 1014 - 1015 - func (x *IndexMetadata) GetId() string { 1016 - if x != nil { 1017 - return x.Id 1018 - } 1019 - return "" 1020 - } 1021 - 1022 - type MinimalRepoListEntry struct { 1023 - state protoimpl.MessageState 1024 - sizeCache protoimpl.SizeCache 1025 - unknownFields protoimpl.UnknownFields 1026 - 1027 - HasSymbols bool `protobuf:"varint,1,opt,name=has_symbols,json=hasSymbols,proto3" json:"has_symbols,omitempty"` 1028 - Branches []*RepositoryBranch `protobuf:"bytes,2,rep,name=branches,proto3" json:"branches,omitempty"` 1029 - IndexTimeUnix int64 `protobuf:"varint,3,opt,name=index_time_unix,json=indexTimeUnix,proto3" json:"index_time_unix,omitempty"` 1030 - } 1031 - 1032 - func (x *MinimalRepoListEntry) Reset() { 1033 - *x = MinimalRepoListEntry{} 1034 - if protoimpl.UnsafeEnabled { 1035 - mi := &file_webserver_proto_msgTypes[9] 1036 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1037 - ms.StoreMessageInfo(mi) 1038 - } 1039 - } 1040 - 1041 - func (x *MinimalRepoListEntry) String() string { 1042 - return protoimpl.X.MessageStringOf(x) 1043 - } 1044 - 1045 - func (*MinimalRepoListEntry) ProtoMessage() {} 1046 - 1047 - func (x *MinimalRepoListEntry) ProtoReflect() protoreflect.Message { 1048 - mi := &file_webserver_proto_msgTypes[9] 1049 - if protoimpl.UnsafeEnabled && x != nil { 1050 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1051 - if ms.LoadMessageInfo() == nil { 1052 - ms.StoreMessageInfo(mi) 1053 - } 1054 - return ms 1055 - } 1056 - return mi.MessageOf(x) 1057 - } 1058 - 1059 - // Deprecated: Use MinimalRepoListEntry.ProtoReflect.Descriptor instead. 1060 - func (*MinimalRepoListEntry) Descriptor() ([]byte, []int) { 1061 - return file_webserver_proto_rawDescGZIP(), []int{9} 1062 - } 1063 - 1064 - func (x *MinimalRepoListEntry) GetHasSymbols() bool { 1065 - if x != nil { 1066 - return x.HasSymbols 1067 - } 1068 - return false 1069 - } 1070 - 1071 - func (x *MinimalRepoListEntry) GetBranches() []*RepositoryBranch { 1072 - if x != nil { 1073 - return x.Branches 1074 - } 1075 - return nil 1076 - } 1077 - 1078 - func (x *MinimalRepoListEntry) GetIndexTimeUnix() int64 { 1079 - if x != nil { 1080 - return x.IndexTimeUnix 1081 - } 1082 - return 0 1083 - } 1084 - 1085 - // RepositoryBranch describes an indexed branch, which is a name 1086 - // combined with a version. 1087 - type RepositoryBranch struct { 1088 - state protoimpl.MessageState 1089 - sizeCache protoimpl.SizeCache 1090 - unknownFields protoimpl.UnknownFields 1091 - 1092 - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1093 - Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` 1094 - } 1095 - 1096 - func (x *RepositoryBranch) Reset() { 1097 - *x = RepositoryBranch{} 1098 - if protoimpl.UnsafeEnabled { 1099 - mi := &file_webserver_proto_msgTypes[10] 1100 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1101 - ms.StoreMessageInfo(mi) 1102 - } 1103 - } 1104 - 1105 - func (x *RepositoryBranch) String() string { 1106 - return protoimpl.X.MessageStringOf(x) 1107 - } 1108 - 1109 - func (*RepositoryBranch) ProtoMessage() {} 1110 - 1111 - func (x *RepositoryBranch) ProtoReflect() protoreflect.Message { 1112 - mi := &file_webserver_proto_msgTypes[10] 1113 - if protoimpl.UnsafeEnabled && x != nil { 1114 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1115 - if ms.LoadMessageInfo() == nil { 1116 - ms.StoreMessageInfo(mi) 1117 - } 1118 - return ms 1119 - } 1120 - return mi.MessageOf(x) 1121 - } 1122 - 1123 - // Deprecated: Use RepositoryBranch.ProtoReflect.Descriptor instead. 1124 - func (*RepositoryBranch) Descriptor() ([]byte, []int) { 1125 - return file_webserver_proto_rawDescGZIP(), []int{10} 1126 - } 1127 - 1128 - func (x *RepositoryBranch) GetName() string { 1129 - if x != nil { 1130 - return x.Name 1131 - } 1132 - return "" 1133 - } 1134 - 1135 - func (x *RepositoryBranch) GetVersion() string { 1136 - if x != nil { 1137 - return x.Version 1138 - } 1139 - return "" 1140 - } 1141 - 1142 - // RepoStats is a collection of statistics for a set of repositories. 1143 - type RepoStats struct { 1144 - state protoimpl.MessageState 1145 - sizeCache protoimpl.SizeCache 1146 - unknownFields protoimpl.UnknownFields 1147 - 1148 - // repos is used for aggregrating the number of repositories. 1149 - Repos int64 `protobuf:"varint,1,opt,name=repos,proto3" json:"repos,omitempty"` 1150 - // shards is the total number of search shards. 1151 - Shards int64 `protobuf:"varint,2,opt,name=shards,proto3" json:"shards,omitempty"` 1152 - // documents holds the number of documents or files. 1153 - Documents int64 `protobuf:"varint,3,opt,name=documents,proto3" json:"documents,omitempty"` 1154 - // index_bytes is the amount of RAM used for index overhead. 1155 - IndexBytes int64 `protobuf:"varint,4,opt,name=index_bytes,json=indexBytes,proto3" json:"index_bytes,omitempty"` 1156 - // content_bytes is the amount of RAM used for raw content. 1157 - ContentBytes int64 `protobuf:"varint,5,opt,name=content_bytes,json=contentBytes,proto3" json:"content_bytes,omitempty"` 1158 - // new_lines_count is the number of newlines "\n" that appear in the zoekt 1159 - // indexed documents. This is not exactly the same as line count, since it 1160 - // will not include lines not terminated by "\n" (eg a file with no "\n", or 1161 - // a final line without "\n"). Note: Zoekt deduplicates documents across 1162 - // branches, so if a path has the same contents on multiple branches, there 1163 - // is only one document for it. As such that document's newlines is only 1164 - // counted once. See DefaultBranchNewLinesCount and AllBranchesNewLinesCount 1165 - // for counts which do not deduplicate. 1166 - NewLinesCount uint64 `protobuf:"varint,6,opt,name=new_lines_count,json=newLinesCount,proto3" json:"new_lines_count,omitempty"` 1167 - // default_branch_new_lines_count is the number of newlines "\n" in the default 1168 - // branch. 1169 - DefaultBranchNewLinesCount uint64 `protobuf:"varint,7,opt,name=default_branch_new_lines_count,json=defaultBranchNewLinesCount,proto3" json:"default_branch_new_lines_count,omitempty"` 1170 - // other_branches_new_lines_count is the number of newlines "\n" in all branches 1171 - // except the default branch. 1172 - OtherBranchesNewLinesCount uint64 `protobuf:"varint,8,opt,name=other_branches_new_lines_count,json=otherBranchesNewLinesCount,proto3" json:"other_branches_new_lines_count,omitempty"` 1173 - } 1174 - 1175 - func (x *RepoStats) Reset() { 1176 - *x = RepoStats{} 1177 - if protoimpl.UnsafeEnabled { 1178 - mi := &file_webserver_proto_msgTypes[11] 1179 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1180 - ms.StoreMessageInfo(mi) 1181 - } 1182 - } 1183 - 1184 - func (x *RepoStats) String() string { 1185 - return protoimpl.X.MessageStringOf(x) 1186 - } 1187 - 1188 - func (*RepoStats) ProtoMessage() {} 1189 - 1190 - func (x *RepoStats) ProtoReflect() protoreflect.Message { 1191 - mi := &file_webserver_proto_msgTypes[11] 1192 - if protoimpl.UnsafeEnabled && x != nil { 1193 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1194 - if ms.LoadMessageInfo() == nil { 1195 - ms.StoreMessageInfo(mi) 1196 - } 1197 - return ms 1198 - } 1199 - return mi.MessageOf(x) 1200 - } 1201 - 1202 - // Deprecated: Use RepoStats.ProtoReflect.Descriptor instead. 1203 - func (*RepoStats) Descriptor() ([]byte, []int) { 1204 - return file_webserver_proto_rawDescGZIP(), []int{11} 1205 - } 1206 - 1207 - func (x *RepoStats) GetRepos() int64 { 1208 - if x != nil { 1209 - return x.Repos 1210 - } 1211 - return 0 1212 - } 1213 - 1214 - func (x *RepoStats) GetShards() int64 { 1215 - if x != nil { 1216 - return x.Shards 1217 - } 1218 - return 0 1219 - } 1220 - 1221 - func (x *RepoStats) GetDocuments() int64 { 1222 - if x != nil { 1223 - return x.Documents 1224 - } 1225 - return 0 1226 - } 1227 - 1228 - func (x *RepoStats) GetIndexBytes() int64 { 1229 - if x != nil { 1230 - return x.IndexBytes 1231 - } 1232 - return 0 1233 - } 1234 - 1235 - func (x *RepoStats) GetContentBytes() int64 { 1236 - if x != nil { 1237 - return x.ContentBytes 1238 - } 1239 - return 0 1240 - } 1241 - 1242 - func (x *RepoStats) GetNewLinesCount() uint64 { 1243 - if x != nil { 1244 - return x.NewLinesCount 1245 - } 1246 - return 0 1247 - } 1248 - 1249 - func (x *RepoStats) GetDefaultBranchNewLinesCount() uint64 { 1250 - if x != nil { 1251 - return x.DefaultBranchNewLinesCount 1252 - } 1253 - return 0 1254 - } 1255 - 1256 - func (x *RepoStats) GetOtherBranchesNewLinesCount() uint64 { 1257 - if x != nil { 1258 - return x.OtherBranchesNewLinesCount 1259 - } 1260 - return 0 1261 - } 1262 - 1263 - type Stats struct { 1264 - state protoimpl.MessageState 1265 - sizeCache protoimpl.SizeCache 1266 - unknownFields protoimpl.UnknownFields 1267 - 1268 - // Amount of I/O for reading contents. 1269 - ContentBytesLoaded int64 `protobuf:"varint,1,opt,name=content_bytes_loaded,json=contentBytesLoaded,proto3" json:"content_bytes_loaded,omitempty"` 1270 - // Amount of I/O for reading from index. 1271 - IndexBytesLoaded int64 `protobuf:"varint,2,opt,name=index_bytes_loaded,json=indexBytesLoaded,proto3" json:"index_bytes_loaded,omitempty"` 1272 - // Number of search shards that had a crash. 1273 - Crashes int64 `protobuf:"varint,3,opt,name=crashes,proto3" json:"crashes,omitempty"` 1274 - // Wall clock time for this search 1275 - Duration *durationpb.Duration `protobuf:"bytes,4,opt,name=duration,proto3" json:"duration,omitempty"` 1276 - // Number of files containing a match. 1277 - FileCount int64 `protobuf:"varint,5,opt,name=file_count,json=fileCount,proto3" json:"file_count,omitempty"` 1278 - // Number of files in shards that we considered. 1279 - ShardFilesConsidered int64 `protobuf:"varint,6,opt,name=shard_files_considered,json=shardFilesConsidered,proto3" json:"shard_files_considered,omitempty"` 1280 - // Files that we evaluated. Equivalent to files for which all 1281 - // atom matches (including negations) evaluated to true. 1282 - FilesConsidered int64 `protobuf:"varint,7,opt,name=files_considered,json=filesConsidered,proto3" json:"files_considered,omitempty"` 1283 - // Files for which we loaded file content to verify substring matches 1284 - FilesLoaded int64 `protobuf:"varint,8,opt,name=files_loaded,json=filesLoaded,proto3" json:"files_loaded,omitempty"` 1285 - // Candidate files whose contents weren't examined because we 1286 - // gathered enough matches. 1287 - FilesSkipped int64 `protobuf:"varint,9,opt,name=files_skipped,json=filesSkipped,proto3" json:"files_skipped,omitempty"` 1288 - // Shards that we scanned to find matches. 1289 - ShardsScanned int64 `protobuf:"varint,10,opt,name=shards_scanned,json=shardsScanned,proto3" json:"shards_scanned,omitempty"` 1290 - // Shards that we did not process because a query was canceled. 1291 - ShardsSkipped int64 `protobuf:"varint,11,opt,name=shards_skipped,json=shardsSkipped,proto3" json:"shards_skipped,omitempty"` 1292 - // Shards that we did not process because the query was rejected by the 1293 - // ngram filter indicating it had no matches. 1294 - ShardsSkippedFilter int64 `protobuf:"varint,12,opt,name=shards_skipped_filter,json=shardsSkippedFilter,proto3" json:"shards_skipped_filter,omitempty"` 1295 - // Number of non-overlapping matches 1296 - MatchCount int64 `protobuf:"varint,13,opt,name=match_count,json=matchCount,proto3" json:"match_count,omitempty"` 1297 - // Number of candidate matches as a result of searching ngrams. 1298 - NgramMatches int64 `protobuf:"varint,14,opt,name=ngram_matches,json=ngramMatches,proto3" json:"ngram_matches,omitempty"` 1299 - // Wall clock time for queued search. 1300 - Wait *durationpb.Duration `protobuf:"bytes,15,opt,name=wait,proto3" json:"wait,omitempty"` 1301 - // Aggregate wall clock time spent constructing and pruning the match tree. 1302 - // This accounts for time such as lookups in the trigram index. 1303 - MatchTreeConstruction *durationpb.Duration `protobuf:"bytes,19,opt,name=match_tree_construction,json=matchTreeConstruction,proto3" json:"match_tree_construction,omitempty"` 1304 - // Aggregate wall clock time spent searching the match tree. This accounts 1305 - // for the bulk of search work done looking for matches. 1306 - MatchTreeSearch *durationpb.Duration `protobuf:"bytes,20,opt,name=match_tree_search,json=matchTreeSearch,proto3" json:"match_tree_search,omitempty"` 1307 - // Number of times regexp was called on files that we evaluated. 1308 - RegexpsConsidered int64 `protobuf:"varint,16,opt,name=regexps_considered,json=regexpsConsidered,proto3" json:"regexps_considered,omitempty"` 1309 - // FlushReason explains why results were flushed. 1310 - FlushReason FlushReason `protobuf:"varint,17,opt,name=flush_reason,json=flushReason,proto3,enum=grpc.v1.FlushReason" json:"flush_reason,omitempty"` 1311 - // NgramLookups is the number of times we accessed an ngram in the index. 1312 - NgramLookups int64 `protobuf:"varint,18,opt,name=ngram_lookups,json=ngramLookups,proto3" json:"ngram_lookups,omitempty"` 1313 - } 1314 - 1315 - func (x *Stats) Reset() { 1316 - *x = Stats{} 1317 - if protoimpl.UnsafeEnabled { 1318 - mi := &file_webserver_proto_msgTypes[12] 1319 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1320 - ms.StoreMessageInfo(mi) 1321 - } 1322 - } 1323 - 1324 - func (x *Stats) String() string { 1325 - return protoimpl.X.MessageStringOf(x) 1326 - } 1327 - 1328 - func (*Stats) ProtoMessage() {} 1329 - 1330 - func (x *Stats) ProtoReflect() protoreflect.Message { 1331 - mi := &file_webserver_proto_msgTypes[12] 1332 - if protoimpl.UnsafeEnabled && x != nil { 1333 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1334 - if ms.LoadMessageInfo() == nil { 1335 - ms.StoreMessageInfo(mi) 1336 - } 1337 - return ms 1338 - } 1339 - return mi.MessageOf(x) 1340 - } 1341 - 1342 - // Deprecated: Use Stats.ProtoReflect.Descriptor instead. 1343 - func (*Stats) Descriptor() ([]byte, []int) { 1344 - return file_webserver_proto_rawDescGZIP(), []int{12} 1345 - } 1346 - 1347 - func (x *Stats) GetContentBytesLoaded() int64 { 1348 - if x != nil { 1349 - return x.ContentBytesLoaded 1350 - } 1351 - return 0 1352 - } 1353 - 1354 - func (x *Stats) GetIndexBytesLoaded() int64 { 1355 - if x != nil { 1356 - return x.IndexBytesLoaded 1357 - } 1358 - return 0 1359 - } 1360 - 1361 - func (x *Stats) GetCrashes() int64 { 1362 - if x != nil { 1363 - return x.Crashes 1364 - } 1365 - return 0 1366 - } 1367 - 1368 - func (x *Stats) GetDuration() *durationpb.Duration { 1369 - if x != nil { 1370 - return x.Duration 1371 - } 1372 - return nil 1373 - } 1374 - 1375 - func (x *Stats) GetFileCount() int64 { 1376 - if x != nil { 1377 - return x.FileCount 1378 - } 1379 - return 0 1380 - } 1381 - 1382 - func (x *Stats) GetShardFilesConsidered() int64 { 1383 - if x != nil { 1384 - return x.ShardFilesConsidered 1385 - } 1386 - return 0 1387 - } 1388 - 1389 - func (x *Stats) GetFilesConsidered() int64 { 1390 - if x != nil { 1391 - return x.FilesConsidered 1392 - } 1393 - return 0 1394 - } 1395 - 1396 - func (x *Stats) GetFilesLoaded() int64 { 1397 - if x != nil { 1398 - return x.FilesLoaded 1399 - } 1400 - return 0 1401 - } 1402 - 1403 - func (x *Stats) GetFilesSkipped() int64 { 1404 - if x != nil { 1405 - return x.FilesSkipped 1406 - } 1407 - return 0 1408 - } 1409 - 1410 - func (x *Stats) GetShardsScanned() int64 { 1411 - if x != nil { 1412 - return x.ShardsScanned 1413 - } 1414 - return 0 1415 - } 1416 - 1417 - func (x *Stats) GetShardsSkipped() int64 { 1418 - if x != nil { 1419 - return x.ShardsSkipped 1420 - } 1421 - return 0 1422 - } 1423 - 1424 - func (x *Stats) GetShardsSkippedFilter() int64 { 1425 - if x != nil { 1426 - return x.ShardsSkippedFilter 1427 - } 1428 - return 0 1429 - } 1430 - 1431 - func (x *Stats) GetMatchCount() int64 { 1432 - if x != nil { 1433 - return x.MatchCount 1434 - } 1435 - return 0 1436 - } 1437 - 1438 - func (x *Stats) GetNgramMatches() int64 { 1439 - if x != nil { 1440 - return x.NgramMatches 1441 - } 1442 - return 0 1443 - } 1444 - 1445 - func (x *Stats) GetWait() *durationpb.Duration { 1446 - if x != nil { 1447 - return x.Wait 1448 - } 1449 - return nil 1450 - } 1451 - 1452 - func (x *Stats) GetMatchTreeConstruction() *durationpb.Duration { 1453 - if x != nil { 1454 - return x.MatchTreeConstruction 1455 - } 1456 - return nil 1457 - } 1458 - 1459 - func (x *Stats) GetMatchTreeSearch() *durationpb.Duration { 1460 - if x != nil { 1461 - return x.MatchTreeSearch 1462 - } 1463 - return nil 1464 - } 1465 - 1466 - func (x *Stats) GetRegexpsConsidered() int64 { 1467 - if x != nil { 1468 - return x.RegexpsConsidered 1469 - } 1470 - return 0 1471 - } 1472 - 1473 - func (x *Stats) GetFlushReason() FlushReason { 1474 - if x != nil { 1475 - return x.FlushReason 1476 - } 1477 - return FlushReason_UNKNOWN 1478 - } 1479 - 1480 - func (x *Stats) GetNgramLookups() int64 { 1481 - if x != nil { 1482 - return x.NgramLookups 1483 - } 1484 - return 0 1485 - } 1486 - 1487 - // Progress contains information about the global progress of the running search query. 1488 - // This is used by the frontend to reorder results and emit them when stable. 1489 - // Sourcegraph specific: this is used when querying multiple zoekt-webserver instances. 1490 - type Progress struct { 1491 - state protoimpl.MessageState 1492 - sizeCache protoimpl.SizeCache 1493 - unknownFields protoimpl.UnknownFields 1494 - 1495 - // Priority of the shard that was searched. 1496 - Priority float64 `protobuf:"fixed64,1,opt,name=priority,proto3" json:"priority,omitempty"` 1497 - // max_pending_priority is the maximum priority of pending result that is being searched in parallel. 1498 - // This is used to reorder results when the result set is known to be stable-- that is, when a result's 1499 - // Priority is greater than the max(MaxPendingPriority) from the latest results of each backend, it can be returned to the user. 1500 - // 1501 - // max_pending_priority decreases monotonically in each SearchResult. 1502 - MaxPendingPriority float64 `protobuf:"fixed64,2,opt,name=max_pending_priority,json=maxPendingPriority,proto3" json:"max_pending_priority,omitempty"` 1503 - } 1504 - 1505 - func (x *Progress) Reset() { 1506 - *x = Progress{} 1507 - if protoimpl.UnsafeEnabled { 1508 - mi := &file_webserver_proto_msgTypes[13] 1509 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1510 - ms.StoreMessageInfo(mi) 1511 - } 1512 - } 1513 - 1514 - func (x *Progress) String() string { 1515 - return protoimpl.X.MessageStringOf(x) 1516 - } 1517 - 1518 - func (*Progress) ProtoMessage() {} 1519 - 1520 - func (x *Progress) ProtoReflect() protoreflect.Message { 1521 - mi := &file_webserver_proto_msgTypes[13] 1522 - if protoimpl.UnsafeEnabled && x != nil { 1523 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1524 - if ms.LoadMessageInfo() == nil { 1525 - ms.StoreMessageInfo(mi) 1526 - } 1527 - return ms 1528 - } 1529 - return mi.MessageOf(x) 1530 - } 1531 - 1532 - // Deprecated: Use Progress.ProtoReflect.Descriptor instead. 1533 - func (*Progress) Descriptor() ([]byte, []int) { 1534 - return file_webserver_proto_rawDescGZIP(), []int{13} 1535 - } 1536 - 1537 - func (x *Progress) GetPriority() float64 { 1538 - if x != nil { 1539 - return x.Priority 1540 - } 1541 - return 0 1542 - } 1543 - 1544 - func (x *Progress) GetMaxPendingPriority() float64 { 1545 - if x != nil { 1546 - return x.MaxPendingPriority 1547 - } 1548 - return 0 1549 - } 1550 - 1551 - // FileMatch contains all the matches within a file. 1552 - type FileMatch struct { 1553 - state protoimpl.MessageState 1554 - sizeCache protoimpl.SizeCache 1555 - unknownFields protoimpl.UnknownFields 1556 - 1557 - // Ranking; the higher, the better. 1558 - Score float64 `protobuf:"fixed64,1,opt,name=score,proto3" json:"score,omitempty"` 1559 - // For debugging. Needs DebugScore set, but public so tests in 1560 - // other packages can print some diagnostics. 1561 - Debug string `protobuf:"bytes,2,opt,name=debug,proto3" json:"debug,omitempty"` 1562 - // The repository-relative path to the file. 1563 - // 🚨 Warning: file_name might not be a valid UTF-8 string. 1564 - FileName []byte `protobuf:"bytes,3,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"` 1565 - // Repository is the globally unique name of the repo of the 1566 - // match 1567 - Repository string `protobuf:"bytes,4,opt,name=repository,proto3" json:"repository,omitempty"` 1568 - Branches []string `protobuf:"bytes,5,rep,name=branches,proto3" json:"branches,omitempty"` 1569 - // One of line_matches or chunk_matches will be returned depending on whether 1570 - // the SearchOptions.ChunkMatches is set. 1571 - LineMatches []*LineMatch `protobuf:"bytes,6,rep,name=line_matches,json=lineMatches,proto3" json:"line_matches,omitempty"` 1572 - ChunkMatches []*ChunkMatch `protobuf:"bytes,7,rep,name=chunk_matches,json=chunkMatches,proto3" json:"chunk_matches,omitempty"` 1573 - // repository_id is a Sourcegraph extension. This is the ID of Repository in 1574 - // Sourcegraph. 1575 - RepositoryId uint32 `protobuf:"varint,8,opt,name=repository_id,json=repositoryId,proto3" json:"repository_id,omitempty"` 1576 - RepositoryPriority float64 `protobuf:"fixed64,9,opt,name=repository_priority,json=repositoryPriority,proto3" json:"repository_priority,omitempty"` 1577 - // Only set if requested 1578 - Content []byte `protobuf:"bytes,10,opt,name=content,proto3" json:"content,omitempty"` 1579 - // Checksum of the content. 1580 - Checksum []byte `protobuf:"bytes,11,opt,name=checksum,proto3" json:"checksum,omitempty"` 1581 - // Detected language of the result. 1582 - Language string `protobuf:"bytes,12,opt,name=language,proto3" json:"language,omitempty"` 1583 - // sub_repository_name is the globally unique name of the repo, 1584 - // if it came from a subrepository 1585 - SubRepositoryName string `protobuf:"bytes,13,opt,name=sub_repository_name,json=subRepositoryName,proto3" json:"sub_repository_name,omitempty"` 1586 - // sub_repository_path holds the prefix where the subrepository 1587 - // was mounted. 1588 - SubRepositoryPath string `protobuf:"bytes,14,opt,name=sub_repository_path,json=subRepositoryPath,proto3" json:"sub_repository_path,omitempty"` 1589 - // Commit SHA1 (hex) of the (sub)repo holding the file. 1590 - Version string `protobuf:"bytes,15,opt,name=version,proto3" json:"version,omitempty"` 1591 - } 1592 - 1593 - func (x *FileMatch) Reset() { 1594 - *x = FileMatch{} 1595 - if protoimpl.UnsafeEnabled { 1596 - mi := &file_webserver_proto_msgTypes[14] 1597 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1598 - ms.StoreMessageInfo(mi) 1599 - } 1600 - } 1601 - 1602 - func (x *FileMatch) String() string { 1603 - return protoimpl.X.MessageStringOf(x) 1604 - } 1605 - 1606 - func (*FileMatch) ProtoMessage() {} 1607 - 1608 - func (x *FileMatch) ProtoReflect() protoreflect.Message { 1609 - mi := &file_webserver_proto_msgTypes[14] 1610 - if protoimpl.UnsafeEnabled && x != nil { 1611 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1612 - if ms.LoadMessageInfo() == nil { 1613 - ms.StoreMessageInfo(mi) 1614 - } 1615 - return ms 1616 - } 1617 - return mi.MessageOf(x) 1618 - } 1619 - 1620 - // Deprecated: Use FileMatch.ProtoReflect.Descriptor instead. 1621 - func (*FileMatch) Descriptor() ([]byte, []int) { 1622 - return file_webserver_proto_rawDescGZIP(), []int{14} 1623 - } 1624 - 1625 - func (x *FileMatch) GetScore() float64 { 1626 - if x != nil { 1627 - return x.Score 1628 - } 1629 - return 0 1630 - } 1631 - 1632 - func (x *FileMatch) GetDebug() string { 1633 - if x != nil { 1634 - return x.Debug 1635 - } 1636 - return "" 1637 - } 1638 - 1639 - func (x *FileMatch) GetFileName() []byte { 1640 - if x != nil { 1641 - return x.FileName 1642 - } 1643 - return nil 1644 - } 1645 - 1646 - func (x *FileMatch) GetRepository() string { 1647 - if x != nil { 1648 - return x.Repository 1649 - } 1650 - return "" 1651 - } 1652 - 1653 - func (x *FileMatch) GetBranches() []string { 1654 - if x != nil { 1655 - return x.Branches 1656 - } 1657 - return nil 1658 - } 1659 - 1660 - func (x *FileMatch) GetLineMatches() []*LineMatch { 1661 - if x != nil { 1662 - return x.LineMatches 1663 - } 1664 - return nil 1665 - } 1666 - 1667 - func (x *FileMatch) GetChunkMatches() []*ChunkMatch { 1668 - if x != nil { 1669 - return x.ChunkMatches 1670 - } 1671 - return nil 1672 - } 1673 - 1674 - func (x *FileMatch) GetRepositoryId() uint32 { 1675 - if x != nil { 1676 - return x.RepositoryId 1677 - } 1678 - return 0 1679 - } 1680 - 1681 - func (x *FileMatch) GetRepositoryPriority() float64 { 1682 - if x != nil { 1683 - return x.RepositoryPriority 1684 - } 1685 - return 0 1686 - } 1687 - 1688 - func (x *FileMatch) GetContent() []byte { 1689 - if x != nil { 1690 - return x.Content 1691 - } 1692 - return nil 1693 - } 1694 - 1695 - func (x *FileMatch) GetChecksum() []byte { 1696 - if x != nil { 1697 - return x.Checksum 1698 - } 1699 - return nil 1700 - } 1701 - 1702 - func (x *FileMatch) GetLanguage() string { 1703 - if x != nil { 1704 - return x.Language 1705 - } 1706 - return "" 1707 - } 1708 - 1709 - func (x *FileMatch) GetSubRepositoryName() string { 1710 - if x != nil { 1711 - return x.SubRepositoryName 1712 - } 1713 - return "" 1714 - } 1715 - 1716 - func (x *FileMatch) GetSubRepositoryPath() string { 1717 - if x != nil { 1718 - return x.SubRepositoryPath 1719 - } 1720 - return "" 1721 - } 1722 - 1723 - func (x *FileMatch) GetVersion() string { 1724 - if x != nil { 1725 - return x.Version 1726 - } 1727 - return "" 1728 - } 1729 - 1730 - type LineMatch struct { 1731 - state protoimpl.MessageState 1732 - sizeCache protoimpl.SizeCache 1733 - unknownFields protoimpl.UnknownFields 1734 - 1735 - Line []byte `protobuf:"bytes,1,opt,name=line,proto3" json:"line,omitempty"` 1736 - LineStart int64 `protobuf:"varint,2,opt,name=line_start,json=lineStart,proto3" json:"line_start,omitempty"` 1737 - LineEnd int64 `protobuf:"varint,3,opt,name=line_end,json=lineEnd,proto3" json:"line_end,omitempty"` 1738 - LineNumber int64 `protobuf:"varint,4,opt,name=line_number,json=lineNumber,proto3" json:"line_number,omitempty"` 1739 - // before and after are only set when SearchOptions.NumContextLines is > 0 1740 - Before []byte `protobuf:"bytes,5,opt,name=before,proto3" json:"before,omitempty"` 1741 - After []byte `protobuf:"bytes,6,opt,name=after,proto3" json:"after,omitempty"` 1742 - // If set, this was a match on the filename. 1743 - FileName bool `protobuf:"varint,7,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"` 1744 - // The higher the better. Only ranks the quality of the match 1745 - // within the file, does not take rank of file into account 1746 - Score float64 `protobuf:"fixed64,8,opt,name=score,proto3" json:"score,omitempty"` 1747 - DebugScore string `protobuf:"bytes,9,opt,name=debug_score,json=debugScore,proto3" json:"debug_score,omitempty"` 1748 - LineFragments []*LineFragmentMatch `protobuf:"bytes,10,rep,name=line_fragments,json=lineFragments,proto3" json:"line_fragments,omitempty"` 1749 - } 1750 - 1751 - func (x *LineMatch) Reset() { 1752 - *x = LineMatch{} 1753 - if protoimpl.UnsafeEnabled { 1754 - mi := &file_webserver_proto_msgTypes[15] 1755 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1756 - ms.StoreMessageInfo(mi) 1757 - } 1758 - } 1759 - 1760 - func (x *LineMatch) String() string { 1761 - return protoimpl.X.MessageStringOf(x) 1762 - } 1763 - 1764 - func (*LineMatch) ProtoMessage() {} 1765 - 1766 - func (x *LineMatch) ProtoReflect() protoreflect.Message { 1767 - mi := &file_webserver_proto_msgTypes[15] 1768 - if protoimpl.UnsafeEnabled && x != nil { 1769 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1770 - if ms.LoadMessageInfo() == nil { 1771 - ms.StoreMessageInfo(mi) 1772 - } 1773 - return ms 1774 - } 1775 - return mi.MessageOf(x) 1776 - } 1777 - 1778 - // Deprecated: Use LineMatch.ProtoReflect.Descriptor instead. 1779 - func (*LineMatch) Descriptor() ([]byte, []int) { 1780 - return file_webserver_proto_rawDescGZIP(), []int{15} 1781 - } 1782 - 1783 - func (x *LineMatch) GetLine() []byte { 1784 - if x != nil { 1785 - return x.Line 1786 - } 1787 - return nil 1788 - } 1789 - 1790 - func (x *LineMatch) GetLineStart() int64 { 1791 - if x != nil { 1792 - return x.LineStart 1793 - } 1794 - return 0 1795 - } 1796 - 1797 - func (x *LineMatch) GetLineEnd() int64 { 1798 - if x != nil { 1799 - return x.LineEnd 1800 - } 1801 - return 0 1802 - } 1803 - 1804 - func (x *LineMatch) GetLineNumber() int64 { 1805 - if x != nil { 1806 - return x.LineNumber 1807 - } 1808 - return 0 1809 - } 1810 - 1811 - func (x *LineMatch) GetBefore() []byte { 1812 - if x != nil { 1813 - return x.Before 1814 - } 1815 - return nil 1816 - } 1817 - 1818 - func (x *LineMatch) GetAfter() []byte { 1819 - if x != nil { 1820 - return x.After 1821 - } 1822 - return nil 1823 - } 1824 - 1825 - func (x *LineMatch) GetFileName() bool { 1826 - if x != nil { 1827 - return x.FileName 1828 - } 1829 - return false 1830 - } 1831 - 1832 - func (x *LineMatch) GetScore() float64 { 1833 - if x != nil { 1834 - return x.Score 1835 - } 1836 - return 0 1837 - } 1838 - 1839 - func (x *LineMatch) GetDebugScore() string { 1840 - if x != nil { 1841 - return x.DebugScore 1842 - } 1843 - return "" 1844 - } 1845 - 1846 - func (x *LineMatch) GetLineFragments() []*LineFragmentMatch { 1847 - if x != nil { 1848 - return x.LineFragments 1849 - } 1850 - return nil 1851 - } 1852 - 1853 - type LineFragmentMatch struct { 1854 - state protoimpl.MessageState 1855 - sizeCache protoimpl.SizeCache 1856 - unknownFields protoimpl.UnknownFields 1857 - 1858 - // Offset within the line, in bytes. 1859 - LineOffset int64 `protobuf:"varint,1,opt,name=line_offset,json=lineOffset,proto3" json:"line_offset,omitempty"` 1860 - // Offset from file start, in bytes. 1861 - Offset uint32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` 1862 - // Number bytes that match. 1863 - MatchLength int64 `protobuf:"varint,3,opt,name=match_length,json=matchLength,proto3" json:"match_length,omitempty"` 1864 - SymbolInfo *SymbolInfo `protobuf:"bytes,4,opt,name=symbol_info,json=symbolInfo,proto3,oneof" json:"symbol_info,omitempty"` 1865 - } 1866 - 1867 - func (x *LineFragmentMatch) Reset() { 1868 - *x = LineFragmentMatch{} 1869 - if protoimpl.UnsafeEnabled { 1870 - mi := &file_webserver_proto_msgTypes[16] 1871 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1872 - ms.StoreMessageInfo(mi) 1873 - } 1874 - } 1875 - 1876 - func (x *LineFragmentMatch) String() string { 1877 - return protoimpl.X.MessageStringOf(x) 1878 - } 1879 - 1880 - func (*LineFragmentMatch) ProtoMessage() {} 1881 - 1882 - func (x *LineFragmentMatch) ProtoReflect() protoreflect.Message { 1883 - mi := &file_webserver_proto_msgTypes[16] 1884 - if protoimpl.UnsafeEnabled && x != nil { 1885 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1886 - if ms.LoadMessageInfo() == nil { 1887 - ms.StoreMessageInfo(mi) 1888 - } 1889 - return ms 1890 - } 1891 - return mi.MessageOf(x) 1892 - } 1893 - 1894 - // Deprecated: Use LineFragmentMatch.ProtoReflect.Descriptor instead. 1895 - func (*LineFragmentMatch) Descriptor() ([]byte, []int) { 1896 - return file_webserver_proto_rawDescGZIP(), []int{16} 1897 - } 1898 - 1899 - func (x *LineFragmentMatch) GetLineOffset() int64 { 1900 - if x != nil { 1901 - return x.LineOffset 1902 - } 1903 - return 0 1904 - } 1905 - 1906 - func (x *LineFragmentMatch) GetOffset() uint32 { 1907 - if x != nil { 1908 - return x.Offset 1909 - } 1910 - return 0 1911 - } 1912 - 1913 - func (x *LineFragmentMatch) GetMatchLength() int64 { 1914 - if x != nil { 1915 - return x.MatchLength 1916 - } 1917 - return 0 1918 - } 1919 - 1920 - func (x *LineFragmentMatch) GetSymbolInfo() *SymbolInfo { 1921 - if x != nil { 1922 - return x.SymbolInfo 1923 - } 1924 - return nil 1925 - } 1926 - 1927 - type SymbolInfo struct { 1928 - state protoimpl.MessageState 1929 - sizeCache protoimpl.SizeCache 1930 - unknownFields protoimpl.UnknownFields 1931 - 1932 - Sym string `protobuf:"bytes,1,opt,name=sym,proto3" json:"sym,omitempty"` 1933 - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` 1934 - Parent string `protobuf:"bytes,3,opt,name=parent,proto3" json:"parent,omitempty"` 1935 - ParentKind string `protobuf:"bytes,4,opt,name=parent_kind,json=parentKind,proto3" json:"parent_kind,omitempty"` 1936 - } 1937 - 1938 - func (x *SymbolInfo) Reset() { 1939 - *x = SymbolInfo{} 1940 - if protoimpl.UnsafeEnabled { 1941 - mi := &file_webserver_proto_msgTypes[17] 1942 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1943 - ms.StoreMessageInfo(mi) 1944 - } 1945 - } 1946 - 1947 - func (x *SymbolInfo) String() string { 1948 - return protoimpl.X.MessageStringOf(x) 1949 - } 1950 - 1951 - func (*SymbolInfo) ProtoMessage() {} 1952 - 1953 - func (x *SymbolInfo) ProtoReflect() protoreflect.Message { 1954 - mi := &file_webserver_proto_msgTypes[17] 1955 - if protoimpl.UnsafeEnabled && x != nil { 1956 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1957 - if ms.LoadMessageInfo() == nil { 1958 - ms.StoreMessageInfo(mi) 1959 - } 1960 - return ms 1961 - } 1962 - return mi.MessageOf(x) 1963 - } 1964 - 1965 - // Deprecated: Use SymbolInfo.ProtoReflect.Descriptor instead. 1966 - func (*SymbolInfo) Descriptor() ([]byte, []int) { 1967 - return file_webserver_proto_rawDescGZIP(), []int{17} 1968 - } 1969 - 1970 - func (x *SymbolInfo) GetSym() string { 1971 - if x != nil { 1972 - return x.Sym 1973 - } 1974 - return "" 1975 - } 1976 - 1977 - func (x *SymbolInfo) GetKind() string { 1978 - if x != nil { 1979 - return x.Kind 1980 - } 1981 - return "" 1982 - } 1983 - 1984 - func (x *SymbolInfo) GetParent() string { 1985 - if x != nil { 1986 - return x.Parent 1987 - } 1988 - return "" 1989 - } 1990 - 1991 - func (x *SymbolInfo) GetParentKind() string { 1992 - if x != nil { 1993 - return x.ParentKind 1994 - } 1995 - return "" 1996 - } 1997 - 1998 - type ChunkMatch struct { 1999 - state protoimpl.MessageState 2000 - sizeCache protoimpl.SizeCache 2001 - unknownFields protoimpl.UnknownFields 2002 - 2003 - // A contiguous range of complete lines that fully contains Ranges. 2004 - Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` 2005 - // The location (inclusive) of the beginning of content 2006 - // relative to the beginning of the file. It will always be at the 2007 - // beginning of a line (Column will always be 1). 2008 - ContentStart *Location `protobuf:"bytes,2,opt,name=content_start,json=contentStart,proto3" json:"content_start,omitempty"` 2009 - // True if this match is a match on the file name, in 2010 - // which case Content will contain the file name. 2011 - FileName bool `protobuf:"varint,3,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"` 2012 - // A set of matching ranges within this chunk. Each range is relative 2013 - // to the beginning of the file (not the beginning of Content). 2014 - Ranges []*Range `protobuf:"bytes,4,rep,name=ranges,proto3" json:"ranges,omitempty"` 2015 - // The symbol information associated with Ranges. If it is non-nil, 2016 - // its length will equal that of Ranges. Any of its elements may be nil. 2017 - SymbolInfo []*SymbolInfo `protobuf:"bytes,5,rep,name=symbol_info,json=symbolInfo,proto3" json:"symbol_info,omitempty"` 2018 - Score float64 `protobuf:"fixed64,6,opt,name=score,proto3" json:"score,omitempty"` 2019 - DebugScore string `protobuf:"bytes,7,opt,name=debug_score,json=debugScore,proto3" json:"debug_score,omitempty"` 2020 - } 2021 - 2022 - func (x *ChunkMatch) Reset() { 2023 - *x = ChunkMatch{} 2024 - if protoimpl.UnsafeEnabled { 2025 - mi := &file_webserver_proto_msgTypes[18] 2026 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2027 - ms.StoreMessageInfo(mi) 2028 - } 2029 - } 2030 - 2031 - func (x *ChunkMatch) String() string { 2032 - return protoimpl.X.MessageStringOf(x) 2033 - } 2034 - 2035 - func (*ChunkMatch) ProtoMessage() {} 2036 - 2037 - func (x *ChunkMatch) ProtoReflect() protoreflect.Message { 2038 - mi := &file_webserver_proto_msgTypes[18] 2039 - if protoimpl.UnsafeEnabled && x != nil { 2040 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2041 - if ms.LoadMessageInfo() == nil { 2042 - ms.StoreMessageInfo(mi) 2043 - } 2044 - return ms 2045 - } 2046 - return mi.MessageOf(x) 2047 - } 2048 - 2049 - // Deprecated: Use ChunkMatch.ProtoReflect.Descriptor instead. 2050 - func (*ChunkMatch) Descriptor() ([]byte, []int) { 2051 - return file_webserver_proto_rawDescGZIP(), []int{18} 2052 - } 2053 - 2054 - func (x *ChunkMatch) GetContent() []byte { 2055 - if x != nil { 2056 - return x.Content 2057 - } 2058 - return nil 2059 - } 2060 - 2061 - func (x *ChunkMatch) GetContentStart() *Location { 2062 - if x != nil { 2063 - return x.ContentStart 2064 - } 2065 - return nil 2066 - } 2067 - 2068 - func (x *ChunkMatch) GetFileName() bool { 2069 - if x != nil { 2070 - return x.FileName 2071 - } 2072 - return false 2073 - } 2074 - 2075 - func (x *ChunkMatch) GetRanges() []*Range { 2076 - if x != nil { 2077 - return x.Ranges 2078 - } 2079 - return nil 2080 - } 2081 - 2082 - func (x *ChunkMatch) GetSymbolInfo() []*SymbolInfo { 2083 - if x != nil { 2084 - return x.SymbolInfo 2085 - } 2086 - return nil 2087 - } 2088 - 2089 - func (x *ChunkMatch) GetScore() float64 { 2090 - if x != nil { 2091 - return x.Score 2092 - } 2093 - return 0 2094 - } 2095 - 2096 - func (x *ChunkMatch) GetDebugScore() string { 2097 - if x != nil { 2098 - return x.DebugScore 2099 - } 2100 - return "" 2101 - } 2102 - 2103 - type Range struct { 2104 - state protoimpl.MessageState 2105 - sizeCache protoimpl.SizeCache 2106 - unknownFields protoimpl.UnknownFields 2107 - 2108 - // The inclusive beginning of the range. 2109 - Start *Location `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"` 2110 - // The exclusive end of the range. 2111 - End *Location `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"` 2112 - } 2113 - 2114 - func (x *Range) Reset() { 2115 - *x = Range{} 2116 - if protoimpl.UnsafeEnabled { 2117 - mi := &file_webserver_proto_msgTypes[19] 2118 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2119 - ms.StoreMessageInfo(mi) 2120 - } 2121 - } 2122 - 2123 - func (x *Range) String() string { 2124 - return protoimpl.X.MessageStringOf(x) 2125 - } 2126 - 2127 - func (*Range) ProtoMessage() {} 2128 - 2129 - func (x *Range) ProtoReflect() protoreflect.Message { 2130 - mi := &file_webserver_proto_msgTypes[19] 2131 - if protoimpl.UnsafeEnabled && x != nil { 2132 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2133 - if ms.LoadMessageInfo() == nil { 2134 - ms.StoreMessageInfo(mi) 2135 - } 2136 - return ms 2137 - } 2138 - return mi.MessageOf(x) 2139 - } 2140 - 2141 - // Deprecated: Use Range.ProtoReflect.Descriptor instead. 2142 - func (*Range) Descriptor() ([]byte, []int) { 2143 - return file_webserver_proto_rawDescGZIP(), []int{19} 2144 - } 2145 - 2146 - func (x *Range) GetStart() *Location { 2147 - if x != nil { 2148 - return x.Start 2149 - } 2150 - return nil 2151 - } 2152 - 2153 - func (x *Range) GetEnd() *Location { 2154 - if x != nil { 2155 - return x.End 2156 - } 2157 - return nil 2158 - } 2159 - 2160 - type Location struct { 2161 - state protoimpl.MessageState 2162 - sizeCache protoimpl.SizeCache 2163 - unknownFields protoimpl.UnknownFields 2164 - 2165 - // 0-based byte offset from the beginning of the file 2166 - ByteOffset uint32 `protobuf:"varint,1,opt,name=byte_offset,json=byteOffset,proto3" json:"byte_offset,omitempty"` 2167 - // 1-based line number from the beginning of the file 2168 - LineNumber uint32 `protobuf:"varint,2,opt,name=line_number,json=lineNumber,proto3" json:"line_number,omitempty"` 2169 - // 1-based column number (in runes) from the beginning of line 2170 - Column uint32 `protobuf:"varint,3,opt,name=column,proto3" json:"column,omitempty"` 2171 - } 2172 - 2173 - func (x *Location) Reset() { 2174 - *x = Location{} 2175 - if protoimpl.UnsafeEnabled { 2176 - mi := &file_webserver_proto_msgTypes[20] 2177 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2178 - ms.StoreMessageInfo(mi) 2179 - } 2180 - } 2181 - 2182 - func (x *Location) String() string { 2183 - return protoimpl.X.MessageStringOf(x) 2184 - } 2185 - 2186 - func (*Location) ProtoMessage() {} 2187 - 2188 - func (x *Location) ProtoReflect() protoreflect.Message { 2189 - mi := &file_webserver_proto_msgTypes[20] 2190 - if protoimpl.UnsafeEnabled && x != nil { 2191 - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2192 - if ms.LoadMessageInfo() == nil { 2193 - ms.StoreMessageInfo(mi) 2194 - } 2195 - return ms 2196 - } 2197 - return mi.MessageOf(x) 2198 - } 2199 - 2200 - // Deprecated: Use Location.ProtoReflect.Descriptor instead. 2201 - func (*Location) Descriptor() ([]byte, []int) { 2202 - return file_webserver_proto_rawDescGZIP(), []int{20} 2203 - } 2204 - 2205 - func (x *Location) GetByteOffset() uint32 { 2206 - if x != nil { 2207 - return x.ByteOffset 2208 - } 2209 - return 0 2210 - } 2211 - 2212 - func (x *Location) GetLineNumber() uint32 { 2213 - if x != nil { 2214 - return x.LineNumber 2215 - } 2216 - return 0 2217 - } 2218 - 2219 - func (x *Location) GetColumn() uint32 { 2220 - if x != nil { 2221 - return x.Column 2222 - } 2223 - return 0 2224 - } 2225 - 2226 - var File_webserver_proto protoreflect.FileDescriptor 2227 - 2228 - var file_webserver_proto_rawDesc = []byte{ 2229 - 0x0a, 0x0f, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 2230 - 0x6f, 0x12, 0x07, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 2231 - 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 2232 - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 2233 - 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 2234 - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x71, 0x75, 0x65, 2235 - 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x0d, 0x53, 0x65, 0x61, 0x72, 2236 - 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x05, 0x71, 0x75, 0x65, 2237 - 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 2238 - 0x76, 0x31, 0x2e, 0x51, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x04, 0x6f, 2239 - 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x70, 0x63, 2240 - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 2241 - 0x73, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, 2242 - 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x73, 0x74, 2243 - 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x67, 0x72, 0x70, 0x63, 2244 - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 2245 - 0x12, 0x2d, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 2246 - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 2247 - 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 2248 - 0x28, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 2249 - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x61, 0x74, 2250 - 0x63, 0x68, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 2251 - 0x04, 0x08, 0x05, 0x10, 0x06, 0x52, 0x09, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x73, 2252 - 0x52, 0x0e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 2253 - 0x22, 0xfb, 0x05, 0x0a, 0x0d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 2254 - 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x64, 2255 - 0x6f, 0x63, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 2256 - 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 2257 - 0x12, 0x14, 0x0a, 0x05, 0x77, 0x68, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 2258 - 0x05, 0x77, 0x68, 0x6f, 0x6c, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 2259 - 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 2260 - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x78, 0x4d, 2261 - 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x6f, 0x74, 2262 - 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 2263 - 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 2264 - 0x61, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x1a, 2265 - 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 2266 - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 2267 - 0x52, 0x16, 0x73, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x78, 0x4d, 0x61, 2268 - 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 2269 - 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 2270 - 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 2271 - 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x57, 2272 - 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x0f, 0x66, 0x6c, 0x75, 0x73, 0x68, 2273 - 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 2274 - 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 2275 - 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x66, 0x6c, 0x75, 2276 - 0x73, 0x68, 0x57, 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x6d, 0x61, 2277 - 0x78, 0x5f, 0x64, 0x6f, 0x63, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x6f, 2278 - 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x44, 0x6f, 2279 - 0x63, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x35, 0x0a, 2280 - 0x17, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 2281 - 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 2282 - 0x6d, 0x61, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 2283 - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 2284 - 0x65, 0x78, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 2285 - 0x0f, 0x6e, 0x75, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x73, 2286 - 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 2287 - 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x4d, 0x61, 2288 - 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x75, 0x73, 0x65, 0x5f, 0x64, 0x6f, 0x63, 2289 - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 2290 - 0x08, 0x52, 0x10, 0x75, 0x73, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 2291 - 0x6e, 0x6b, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 2292 - 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0c, 0x20, 0x01, 2293 - 0x28, 0x01, 0x52, 0x13, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 2294 - 0x73, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 2295 - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x12, 0x1f, 0x0a, 2296 - 0x0b, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 2297 - 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2e, 2298 - 0x0a, 0x13, 0x75, 0x73, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x73, 0x63, 2299 - 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x75, 0x73, 0x65, 2300 - 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x59, 2301 - 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 2302 - 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 2303 - 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 2304 - 0x28, 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 2305 - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 2306 - 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x22, 0xe7, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 2307 - 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x0a, 0x05, 0x66, 0x69, 0x65, 2308 - 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 2309 - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 2310 - 0x65, 0x70, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x05, 0x66, 0x69, 2311 - 0x65, 0x6c, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x18, 0x10, 2312 - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x22, 0x83, 0x01, 2313 - 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 2314 - 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x46, 0x49, 0x45, 2315 - 0x4c, 0x44, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 2316 - 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 2317 - 0x52, 0x45, 0x50, 0x4f, 0x53, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x50, 0x4f, 0x5f, 2318 - 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x4d, 2319 - 0x41, 0x4c, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x4c, 0x49, 0x53, 2320 - 0x54, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x53, 0x5f, 0x4d, 0x41, 2321 - 0x50, 0x10, 0x03, 0x22, 0xb7, 0x03, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 2322 - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 2323 - 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 2324 - 0x70, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x72, 0x65, 0x70, 2325 - 0x6f, 0x73, 0x12, 0x40, 0x0a, 0x09, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x5f, 0x6d, 0x61, 0x70, 0x18, 2326 - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 2327 - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 2328 - 0x6f, 0x73, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 2329 - 0x73, 0x4d, 0x61, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 2330 - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x63, 0x72, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x28, 2331 - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 2332 - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x74, 0x61, 0x74, 2333 - 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 2334 - 0x6d, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x70, 0x63, 2335 - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 2336 - 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6d, 2337 - 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x1a, 0x5a, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x4d, 2338 - 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 2339 - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 2340 - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 2341 - 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x4c, 0x69, 2342 - 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 2343 - 0x38, 0x01, 0x1a, 0x59, 0x0a, 0x0c, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x45, 0x6e, 0x74, 2344 - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 2345 - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 2346 - 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, 2347 - 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 2348 - 0x72, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xad, 0x01, 2349 - 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 2350 - 0x33, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 2351 - 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 2352 - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 2353 - 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3d, 0x0a, 0x0e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6d, 0x65, 2354 - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 2355 - 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4d, 0x65, 0x74, 0x61, 2356 - 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4d, 0x65, 0x74, 0x61, 0x64, 2357 - 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 2358 - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 2359 - 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 0xc5, 0x06, 2360 - 0x0a, 0x0a, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 2361 - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 2362 - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 2363 - 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 2364 - 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 2365 - 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x62, 0x72, 2366 - 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 2367 - 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 2368 - 0x79, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 2369 - 0x73, 0x12, 0x45, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x6d, 0x61, 2370 - 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 2371 - 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x75, 0x62, 2372 - 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x73, 0x75, 2373 - 0x62, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x70, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 2374 - 0x69, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 2375 - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x55, 0x72, 0x6c, 2376 - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x69, 0x6c, 0x65, 2377 - 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 2378 - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x54, 0x65, 0x6d, 0x70, 2379 - 0x6c, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x72, 0x61, 2380 - 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x09, 2381 - 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 2382 - 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 2383 - 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x70, 0x72, 2384 - 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x41, 0x0a, 0x0a, 0x72, 0x61, 0x77, 0x5f, 0x63, 0x6f, 2385 - 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x70, 2386 - 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 2387 - 0x52, 0x61, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 2388 - 0x72, 0x61, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 2389 - 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x23, 0x0a, 2390 - 0x0d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 2391 - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x70, 0x74, 0x69, 0x6f, 2392 - 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 2393 - 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x53, 0x79, 0x6d, 0x62, 2394 - 0x6f, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x6d, 0x62, 0x73, 0x74, 0x6f, 0x6e, 0x65, 2395 - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x74, 0x6f, 0x6d, 0x62, 0x73, 0x74, 0x6f, 0x6e, 2396 - 0x65, 0x12, 0x48, 0x0a, 0x12, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 2397 - 0x69, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 2398 - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 2399 - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x6c, 0x61, 0x74, 0x65, 0x73, 2400 - 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x46, 2401 - 0x69, 0x6c, 0x65, 0x54, 0x6f, 0x6d, 0x62, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x73, 0x18, 0x11, 0x20, 2402 - 0x03, 0x28, 0x09, 0x52, 0x0e, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x6f, 0x6d, 0x62, 0x73, 0x74, 0x6f, 2403 - 0x6e, 0x65, 0x73, 0x1a, 0x52, 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 2404 - 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 2405 - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 2406 - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 2407 - 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x05, 0x76, 0x61, 2408 - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3c, 0x0a, 0x0e, 0x52, 0x61, 0x77, 0x43, 0x6f, 2409 - 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 2410 - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 2411 - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 2412 - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xcb, 0x03, 0x0a, 0x0d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4d, 2413 - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x64, 0x65, 0x78, 2414 - 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 2415 - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x46, 0x6f, 0x72, 0x6d, 2416 - 0x61, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x64, 2417 - 0x65, 0x78, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 2418 - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x46, 2419 - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 2420 - 0x18, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x65, 2421 - 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 2422 - 0x15, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4d, 0x69, 0x6e, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 2423 - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 2424 - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 2425 - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 2426 - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x54, 0x69, 0x6d, 2427 - 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x61, 0x73, 0x63, 0x69, 0x69, 2428 - 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x41, 0x73, 0x63, 2429 - 0x69, 0x69, 0x12, 0x4a, 0x0a, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x6d, 2430 - 0x61, 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 2431 - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 2432 - 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 2433 - 0x79, 0x52, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x23, 2434 - 0x0a, 0x0d, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 2435 - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x56, 0x65, 0x72, 0x73, 2436 - 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 2437 - 0x02, 0x69, 0x64, 0x1a, 0x3e, 0x0a, 0x10, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x4d, 2438 - 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 2439 - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 2440 - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 2441 - 0x02, 0x38, 0x01, 0x22, 0x96, 0x01, 0x0a, 0x14, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x52, 2442 - 0x65, 0x70, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 2443 - 0x68, 0x61, 0x73, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 2444 - 0x08, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x12, 0x35, 0x0a, 2445 - 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 2446 - 0x19, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 2447 - 0x74, 0x6f, 0x72, 0x79, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x08, 0x62, 0x72, 0x61, 0x6e, 2448 - 0x63, 0x68, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x74, 0x69, 2449 - 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x69, 2450 - 0x6e, 0x64, 0x65, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x22, 0x40, 0x0a, 0x10, 2451 - 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 2452 - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 2453 - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 2454 - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xcd, 2455 - 0x02, 0x0a, 0x09, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 2456 - 0x72, 0x65, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x65, 0x70, 2457 - 0x6f, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 2458 - 0x28, 0x03, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6f, 2459 - 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 2460 - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x65, 2461 - 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 2462 - 0x6e, 0x64, 0x65, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 2463 - 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 2464 - 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x26, 2465 - 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 2466 - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x4c, 0x69, 0x6e, 0x65, 2467 - 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x1e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 2468 - 0x74, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x6c, 0x69, 0x6e, 2469 - 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1a, 2470 - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x65, 0x77, 2471 - 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x1e, 0x6f, 0x74, 2472 - 0x68, 0x65, 0x72, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x6e, 0x65, 0x77, 2473 - 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 2474 - 0x28, 0x04, 0x52, 0x1a, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 2475 - 0x73, 0x4e, 0x65, 0x77, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x9e, 2476 - 0x07, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x74, 2477 - 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 2478 - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 2479 - 0x79, 0x74, 0x65, 0x73, 0x4c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x6e, 2480 - 0x64, 0x65, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 2481 - 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x79, 0x74, 2482 - 0x65, 0x73, 0x4c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x61, 0x73, 2483 - 0x68, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x63, 0x72, 0x61, 0x73, 0x68, 2484 - 0x65, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 2485 - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 2486 - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 2487 - 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 2488 - 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x66, 2489 - 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x68, 0x61, 0x72, 2490 - 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 2491 - 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x73, 0x68, 0x61, 0x72, 0x64, 0x46, 2492 - 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x12, 0x29, 2493 - 0x0a, 0x10, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 2494 - 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x43, 2495 - 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 2496 - 0x65, 0x73, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 2497 - 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x4c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 2498 - 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x18, 0x09, 0x20, 2499 - 0x01, 0x28, 0x03, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 2500 - 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x73, 0x63, 0x61, 0x6e, 2501 - 0x6e, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x64, 2502 - 0x73, 0x53, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x72, 2503 - 0x64, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 2504 - 0x52, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x12, 2505 - 0x32, 0x0a, 0x15, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 2506 - 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 2507 - 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x46, 0x69, 0x6c, 2508 - 0x74, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 2509 - 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x43, 2510 - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x6d, 0x61, 2511 - 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6e, 0x67, 0x72, 2512 - 0x61, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x77, 0x61, 0x69, 2513 - 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2514 - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 2515 - 0x6f, 0x6e, 0x52, 0x04, 0x77, 0x61, 0x69, 0x74, 0x12, 0x51, 0x0a, 0x17, 0x6d, 0x61, 0x74, 0x63, 2516 - 0x68, 0x5f, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 2517 - 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2518 - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 2519 - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x65, 0x65, 0x43, 2520 - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x11, 0x6d, 2521 - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 2522 - 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2523 - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 2524 - 0x6e, 0x52, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x65, 0x65, 0x53, 0x65, 0x61, 0x72, 2525 - 0x63, 0x68, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x73, 0x5f, 0x63, 0x6f, 2526 - 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 2527 - 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 2528 - 0x64, 0x12, 0x37, 0x0a, 0x0c, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 2529 - 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 2530 - 0x31, 0x2e, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x0b, 0x66, 2531 - 0x6c, 0x75, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x67, 2532 - 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 2533 - 0x03, 0x52, 0x0c, 0x6e, 0x67, 0x72, 0x61, 0x6d, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x22, 2534 - 0x58, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 2535 - 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x70, 2536 - 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x70, 2537 - 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 2538 - 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 2539 - 0x67, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xa3, 0x04, 0x0a, 0x09, 0x46, 0x69, 2540 - 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 2541 - 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 2542 - 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 2543 - 0x62, 0x75, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 2544 - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 2545 - 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x04, 2546 - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 2547 - 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 2548 - 0x28, 0x09, 0x52, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x0c, 2549 - 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 2550 - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 2551 - 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x0b, 0x6c, 0x69, 0x6e, 0x65, 0x4d, 0x61, 0x74, 0x63, 2552 - 0x68, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x0d, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x5f, 0x6d, 0x61, 0x74, 2553 - 0x63, 0x68, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72, 0x70, 2554 - 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 2555 - 0x0c, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x23, 0x0a, 2556 - 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 2557 - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 2558 - 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 2559 - 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 2560 - 0x12, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x69, 0x6f, 0x72, 2561 - 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x0a, 2562 - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 2563 - 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 2564 - 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 2565 - 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 2566 - 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x75, 0x62, 0x5f, 0x72, 0x65, 0x70, 2567 - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 2568 - 0x28, 0x09, 0x52, 0x11, 0x73, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 2569 - 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x75, 0x62, 0x5f, 0x72, 0x65, 0x70, 2570 - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x01, 2571 - 0x28, 0x09, 0x52, 0x11, 0x73, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 2572 - 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 2573 - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 2574 - 0xbf, 0x02, 0x0a, 0x09, 0x4c, 0x69, 0x6e, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x12, 0x0a, 2575 - 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6c, 0x69, 0x6e, 2576 - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 2577 - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 2578 - 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 2579 - 0x28, 0x03, 0x52, 0x07, 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 2580 - 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 2581 - 0x52, 0x0a, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 2582 - 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x62, 0x65, 2583 - 0x66, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 2584 - 0x01, 0x28, 0x0c, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 2585 - 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 2586 - 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 2587 - 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1f, 0x0a, 2588 - 0x0b, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 2589 - 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x41, 2590 - 0x0a, 0x0e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 2591 - 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 2592 - 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 2593 - 0x63, 0x68, 0x52, 0x0d, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 2594 - 0x73, 0x22, 0xba, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 2595 - 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 2596 - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6c, 0x69, 2597 - 0x6e, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 2598 - 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 2599 - 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 2600 - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, 0x6e, 2601 - 0x67, 0x74, 0x68, 0x12, 0x39, 0x0a, 0x0b, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 2602 - 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 2603 - 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 2604 - 0x0a, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x88, 0x01, 0x01, 0x42, 0x0e, 2605 - 0x0a, 0x0c, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x6b, 2606 - 0x0a, 0x0a, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 2607 - 0x73, 0x79, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x79, 0x6d, 0x12, 0x12, 2608 - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 2609 - 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 2610 - 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 2611 - 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 2612 - 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x22, 0x90, 0x02, 0x0a, 0x0a, 2613 - 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 2614 - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 2615 - 0x74, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 2616 - 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 2617 - 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 2618 - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 2619 - 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 2620 - 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x61, 0x6e, 2621 - 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x67, 0x72, 0x70, 0x63, 2622 - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x67, 0x65, 2623 - 0x73, 0x12, 0x34, 0x0a, 0x0b, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 2624 - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 2625 - 0x2e, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x79, 0x6d, 2626 - 0x62, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 2627 - 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1f, 0x0a, 2628 - 0x0b, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 2629 - 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x55, 2630 - 0x0a, 0x05, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 2631 - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 2632 - 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 2633 - 0x12, 0x23, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 2634 - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 2635 - 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x64, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 2636 - 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 2637 - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x73, 2638 - 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 2639 - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 2640 - 0x62, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 2641 - 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x2a, 0x4c, 0x0a, 0x0b, 0x46, 2642 - 0x6c, 0x75, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 2643 - 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x49, 0x4d, 0x45, 0x52, 2644 - 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x49, 2645 - 0x4e, 0x41, 0x4c, 0x5f, 0x46, 0x4c, 0x55, 0x53, 0x48, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 2646 - 0x41, 0x58, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x03, 0x32, 0xcb, 0x01, 0x0a, 0x10, 0x57, 0x65, 2647 - 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 2648 - 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x16, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 2649 - 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 2650 - 0x1a, 0x17, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 2651 - 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0c, 0x53, 2652 - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x16, 0x2e, 0x67, 0x72, 2653 - 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 2654 - 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 2655 - 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 2656 - 0x12, 0x35, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 2657 - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 2658 - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 2659 - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x26, 0x5a, 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, 2660 - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 2661 - 0x68, 0x2f, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x62, 2662 - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 2663 - } 2664 - 2665 - var ( 2666 - file_webserver_proto_rawDescOnce sync.Once 2667 - file_webserver_proto_rawDescData = file_webserver_proto_rawDesc 2668 - ) 2669 - 2670 - func file_webserver_proto_rawDescGZIP() []byte { 2671 - file_webserver_proto_rawDescOnce.Do(func() { 2672 - file_webserver_proto_rawDescData = protoimpl.X.CompressGZIP(file_webserver_proto_rawDescData) 2673 - }) 2674 - return file_webserver_proto_rawDescData 2675 - } 2676 - 2677 - var file_webserver_proto_enumTypes = make([]protoimpl.EnumInfo, 2) 2678 - var file_webserver_proto_msgTypes = make([]protoimpl.MessageInfo, 26) 2679 - var file_webserver_proto_goTypes = []interface{}{ 2680 - (FlushReason)(0), // 0: grpc.v1.FlushReason 2681 - (ListOptions_RepoListField)(0), // 1: grpc.v1.ListOptions.RepoListField 2682 - (*SearchRequest)(nil), // 2: grpc.v1.SearchRequest 2683 - (*SearchResponse)(nil), // 3: grpc.v1.SearchResponse 2684 - (*SearchOptions)(nil), // 4: grpc.v1.SearchOptions 2685 - (*ListRequest)(nil), // 5: grpc.v1.ListRequest 2686 - (*ListOptions)(nil), // 6: grpc.v1.ListOptions 2687 - (*ListResponse)(nil), // 7: grpc.v1.ListResponse 2688 - (*RepoListEntry)(nil), // 8: grpc.v1.RepoListEntry 2689 - (*Repository)(nil), // 9: grpc.v1.Repository 2690 - (*IndexMetadata)(nil), // 10: grpc.v1.IndexMetadata 2691 - (*MinimalRepoListEntry)(nil), // 11: grpc.v1.MinimalRepoListEntry 2692 - (*RepositoryBranch)(nil), // 12: grpc.v1.RepositoryBranch 2693 - (*RepoStats)(nil), // 13: grpc.v1.RepoStats 2694 - (*Stats)(nil), // 14: grpc.v1.Stats 2695 - (*Progress)(nil), // 15: grpc.v1.Progress 2696 - (*FileMatch)(nil), // 16: grpc.v1.FileMatch 2697 - (*LineMatch)(nil), // 17: grpc.v1.LineMatch 2698 - (*LineFragmentMatch)(nil), // 18: grpc.v1.LineFragmentMatch 2699 - (*SymbolInfo)(nil), // 19: grpc.v1.SymbolInfo 2700 - (*ChunkMatch)(nil), // 20: grpc.v1.ChunkMatch 2701 - (*Range)(nil), // 21: grpc.v1.Range 2702 - (*Location)(nil), // 22: grpc.v1.Location 2703 - nil, // 23: grpc.v1.ListResponse.ReposMapEntry 2704 - nil, // 24: grpc.v1.ListResponse.MinimalEntry 2705 - nil, // 25: grpc.v1.Repository.SubRepoMapEntry 2706 - nil, // 26: grpc.v1.Repository.RawConfigEntry 2707 - nil, // 27: grpc.v1.IndexMetadata.LanguageMapEntry 2708 - (*Q)(nil), // 28: grpc.v1.Q 2709 - (*durationpb.Duration)(nil), // 29: google.protobuf.Duration 2710 - (*timestamppb.Timestamp)(nil), // 30: google.protobuf.Timestamp 2711 - } 2712 - var file_webserver_proto_depIdxs = []int32{ 2713 - 28, // 0: grpc.v1.SearchRequest.query:type_name -> grpc.v1.Q 2714 - 4, // 1: grpc.v1.SearchRequest.opts:type_name -> grpc.v1.SearchOptions 2715 - 14, // 2: grpc.v1.SearchResponse.stats:type_name -> grpc.v1.Stats 2716 - 15, // 3: grpc.v1.SearchResponse.progress:type_name -> grpc.v1.Progress 2717 - 16, // 4: grpc.v1.SearchResponse.files:type_name -> grpc.v1.FileMatch 2718 - 29, // 5: grpc.v1.SearchOptions.max_wall_time:type_name -> google.protobuf.Duration 2719 - 29, // 6: grpc.v1.SearchOptions.flush_wall_time:type_name -> google.protobuf.Duration 2720 - 28, // 7: grpc.v1.ListRequest.query:type_name -> grpc.v1.Q 2721 - 6, // 8: grpc.v1.ListRequest.opts:type_name -> grpc.v1.ListOptions 2722 - 1, // 9: grpc.v1.ListOptions.field:type_name -> grpc.v1.ListOptions.RepoListField 2723 - 8, // 10: grpc.v1.ListResponse.repos:type_name -> grpc.v1.RepoListEntry 2724 - 23, // 11: grpc.v1.ListResponse.repos_map:type_name -> grpc.v1.ListResponse.ReposMapEntry 2725 - 13, // 12: grpc.v1.ListResponse.stats:type_name -> grpc.v1.RepoStats 2726 - 24, // 13: grpc.v1.ListResponse.minimal:type_name -> grpc.v1.ListResponse.MinimalEntry 2727 - 9, // 14: grpc.v1.RepoListEntry.repository:type_name -> grpc.v1.Repository 2728 - 10, // 15: grpc.v1.RepoListEntry.index_metadata:type_name -> grpc.v1.IndexMetadata 2729 - 13, // 16: grpc.v1.RepoListEntry.stats:type_name -> grpc.v1.RepoStats 2730 - 12, // 17: grpc.v1.Repository.branches:type_name -> grpc.v1.RepositoryBranch 2731 - 25, // 18: grpc.v1.Repository.sub_repo_map:type_name -> grpc.v1.Repository.SubRepoMapEntry 2732 - 26, // 19: grpc.v1.Repository.raw_config:type_name -> grpc.v1.Repository.RawConfigEntry 2733 - 30, // 20: grpc.v1.Repository.latest_commit_date:type_name -> google.protobuf.Timestamp 2734 - 30, // 21: grpc.v1.IndexMetadata.index_time:type_name -> google.protobuf.Timestamp 2735 - 27, // 22: grpc.v1.IndexMetadata.language_map:type_name -> grpc.v1.IndexMetadata.LanguageMapEntry 2736 - 12, // 23: grpc.v1.MinimalRepoListEntry.branches:type_name -> grpc.v1.RepositoryBranch 2737 - 29, // 24: grpc.v1.Stats.duration:type_name -> google.protobuf.Duration 2738 - 29, // 25: grpc.v1.Stats.wait:type_name -> google.protobuf.Duration 2739 - 29, // 26: grpc.v1.Stats.match_tree_construction:type_name -> google.protobuf.Duration 2740 - 29, // 27: grpc.v1.Stats.match_tree_search:type_name -> google.protobuf.Duration 2741 - 0, // 28: grpc.v1.Stats.flush_reason:type_name -> grpc.v1.FlushReason 2742 - 17, // 29: grpc.v1.FileMatch.line_matches:type_name -> grpc.v1.LineMatch 2743 - 20, // 30: grpc.v1.FileMatch.chunk_matches:type_name -> grpc.v1.ChunkMatch 2744 - 18, // 31: grpc.v1.LineMatch.line_fragments:type_name -> grpc.v1.LineFragmentMatch 2745 - 19, // 32: grpc.v1.LineFragmentMatch.symbol_info:type_name -> grpc.v1.SymbolInfo 2746 - 22, // 33: grpc.v1.ChunkMatch.content_start:type_name -> grpc.v1.Location 2747 - 21, // 34: grpc.v1.ChunkMatch.ranges:type_name -> grpc.v1.Range 2748 - 19, // 35: grpc.v1.ChunkMatch.symbol_info:type_name -> grpc.v1.SymbolInfo 2749 - 22, // 36: grpc.v1.Range.start:type_name -> grpc.v1.Location 2750 - 22, // 37: grpc.v1.Range.end:type_name -> grpc.v1.Location 2751 - 11, // 38: grpc.v1.ListResponse.ReposMapEntry.value:type_name -> grpc.v1.MinimalRepoListEntry 2752 - 11, // 39: grpc.v1.ListResponse.MinimalEntry.value:type_name -> grpc.v1.MinimalRepoListEntry 2753 - 9, // 40: grpc.v1.Repository.SubRepoMapEntry.value:type_name -> grpc.v1.Repository 2754 - 2, // 41: grpc.v1.WebserverService.Search:input_type -> grpc.v1.SearchRequest 2755 - 2, // 42: grpc.v1.WebserverService.StreamSearch:input_type -> grpc.v1.SearchRequest 2756 - 5, // 43: grpc.v1.WebserverService.List:input_type -> grpc.v1.ListRequest 2757 - 3, // 44: grpc.v1.WebserverService.Search:output_type -> grpc.v1.SearchResponse 2758 - 3, // 45: grpc.v1.WebserverService.StreamSearch:output_type -> grpc.v1.SearchResponse 2759 - 7, // 46: grpc.v1.WebserverService.List:output_type -> grpc.v1.ListResponse 2760 - 44, // [44:47] is the sub-list for method output_type 2761 - 41, // [41:44] is the sub-list for method input_type 2762 - 41, // [41:41] is the sub-list for extension type_name 2763 - 41, // [41:41] is the sub-list for extension extendee 2764 - 0, // [0:41] is the sub-list for field type_name 2765 - } 2766 - 2767 - func init() { file_webserver_proto_init() } 2768 - func file_webserver_proto_init() { 2769 - if File_webserver_proto != nil { 2770 - return 2771 - } 2772 - file_query_proto_init() 2773 - if !protoimpl.UnsafeEnabled { 2774 - file_webserver_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 2775 - switch v := v.(*SearchRequest); i { 2776 - case 0: 2777 - return &v.state 2778 - case 1: 2779 - return &v.sizeCache 2780 - case 2: 2781 - return &v.unknownFields 2782 - default: 2783 - return nil 2784 - } 2785 - } 2786 - file_webserver_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 2787 - switch v := v.(*SearchResponse); i { 2788 - case 0: 2789 - return &v.state 2790 - case 1: 2791 - return &v.sizeCache 2792 - case 2: 2793 - return &v.unknownFields 2794 - default: 2795 - return nil 2796 - } 2797 - } 2798 - file_webserver_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 2799 - switch v := v.(*SearchOptions); i { 2800 - case 0: 2801 - return &v.state 2802 - case 1: 2803 - return &v.sizeCache 2804 - case 2: 2805 - return &v.unknownFields 2806 - default: 2807 - return nil 2808 - } 2809 - } 2810 - file_webserver_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 2811 - switch v := v.(*ListRequest); i { 2812 - case 0: 2813 - return &v.state 2814 - case 1: 2815 - return &v.sizeCache 2816 - case 2: 2817 - return &v.unknownFields 2818 - default: 2819 - return nil 2820 - } 2821 - } 2822 - file_webserver_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 2823 - switch v := v.(*ListOptions); i { 2824 - case 0: 2825 - return &v.state 2826 - case 1: 2827 - return &v.sizeCache 2828 - case 2: 2829 - return &v.unknownFields 2830 - default: 2831 - return nil 2832 - } 2833 - } 2834 - file_webserver_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 2835 - switch v := v.(*ListResponse); i { 2836 - case 0: 2837 - return &v.state 2838 - case 1: 2839 - return &v.sizeCache 2840 - case 2: 2841 - return &v.unknownFields 2842 - default: 2843 - return nil 2844 - } 2845 - } 2846 - file_webserver_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 2847 - switch v := v.(*RepoListEntry); i { 2848 - case 0: 2849 - return &v.state 2850 - case 1: 2851 - return &v.sizeCache 2852 - case 2: 2853 - return &v.unknownFields 2854 - default: 2855 - return nil 2856 - } 2857 - } 2858 - file_webserver_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 2859 - switch v := v.(*Repository); i { 2860 - case 0: 2861 - return &v.state 2862 - case 1: 2863 - return &v.sizeCache 2864 - case 2: 2865 - return &v.unknownFields 2866 - default: 2867 - return nil 2868 - } 2869 - } 2870 - file_webserver_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 2871 - switch v := v.(*IndexMetadata); i { 2872 - case 0: 2873 - return &v.state 2874 - case 1: 2875 - return &v.sizeCache 2876 - case 2: 2877 - return &v.unknownFields 2878 - default: 2879 - return nil 2880 - } 2881 - } 2882 - file_webserver_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 2883 - switch v := v.(*MinimalRepoListEntry); i { 2884 - case 0: 2885 - return &v.state 2886 - case 1: 2887 - return &v.sizeCache 2888 - case 2: 2889 - return &v.unknownFields 2890 - default: 2891 - return nil 2892 - } 2893 - } 2894 - file_webserver_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 2895 - switch v := v.(*RepositoryBranch); i { 2896 - case 0: 2897 - return &v.state 2898 - case 1: 2899 - return &v.sizeCache 2900 - case 2: 2901 - return &v.unknownFields 2902 - default: 2903 - return nil 2904 - } 2905 - } 2906 - file_webserver_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 2907 - switch v := v.(*RepoStats); i { 2908 - case 0: 2909 - return &v.state 2910 - case 1: 2911 - return &v.sizeCache 2912 - case 2: 2913 - return &v.unknownFields 2914 - default: 2915 - return nil 2916 - } 2917 - } 2918 - file_webserver_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 2919 - switch v := v.(*Stats); i { 2920 - case 0: 2921 - return &v.state 2922 - case 1: 2923 - return &v.sizeCache 2924 - case 2: 2925 - return &v.unknownFields 2926 - default: 2927 - return nil 2928 - } 2929 - } 2930 - file_webserver_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 2931 - switch v := v.(*Progress); i { 2932 - case 0: 2933 - return &v.state 2934 - case 1: 2935 - return &v.sizeCache 2936 - case 2: 2937 - return &v.unknownFields 2938 - default: 2939 - return nil 2940 - } 2941 - } 2942 - file_webserver_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 2943 - switch v := v.(*FileMatch); i { 2944 - case 0: 2945 - return &v.state 2946 - case 1: 2947 - return &v.sizeCache 2948 - case 2: 2949 - return &v.unknownFields 2950 - default: 2951 - return nil 2952 - } 2953 - } 2954 - file_webserver_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 2955 - switch v := v.(*LineMatch); i { 2956 - case 0: 2957 - return &v.state 2958 - case 1: 2959 - return &v.sizeCache 2960 - case 2: 2961 - return &v.unknownFields 2962 - default: 2963 - return nil 2964 - } 2965 - } 2966 - file_webserver_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 2967 - switch v := v.(*LineFragmentMatch); i { 2968 - case 0: 2969 - return &v.state 2970 - case 1: 2971 - return &v.sizeCache 2972 - case 2: 2973 - return &v.unknownFields 2974 - default: 2975 - return nil 2976 - } 2977 - } 2978 - file_webserver_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 2979 - switch v := v.(*SymbolInfo); i { 2980 - case 0: 2981 - return &v.state 2982 - case 1: 2983 - return &v.sizeCache 2984 - case 2: 2985 - return &v.unknownFields 2986 - default: 2987 - return nil 2988 - } 2989 - } 2990 - file_webserver_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 2991 - switch v := v.(*ChunkMatch); i { 2992 - case 0: 2993 - return &v.state 2994 - case 1: 2995 - return &v.sizeCache 2996 - case 2: 2997 - return &v.unknownFields 2998 - default: 2999 - return nil 3000 - } 3001 - } 3002 - file_webserver_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 3003 - switch v := v.(*Range); i { 3004 - case 0: 3005 - return &v.state 3006 - case 1: 3007 - return &v.sizeCache 3008 - case 2: 3009 - return &v.unknownFields 3010 - default: 3011 - return nil 3012 - } 3013 - } 3014 - file_webserver_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 3015 - switch v := v.(*Location); i { 3016 - case 0: 3017 - return &v.state 3018 - case 1: 3019 - return &v.sizeCache 3020 - case 2: 3021 - return &v.unknownFields 3022 - default: 3023 - return nil 3024 - } 3025 - } 3026 - } 3027 - file_webserver_proto_msgTypes[16].OneofWrappers = []interface{}{} 3028 - type x struct{} 3029 - out := protoimpl.TypeBuilder{ 3030 - File: protoimpl.DescBuilder{ 3031 - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 3032 - RawDescriptor: file_webserver_proto_rawDesc, 3033 - NumEnums: 2, 3034 - NumMessages: 26, 3035 - NumExtensions: 0, 3036 - NumServices: 1, 3037 - }, 3038 - GoTypes: file_webserver_proto_goTypes, 3039 - DependencyIndexes: file_webserver_proto_depIdxs, 3040 - EnumInfos: file_webserver_proto_enumTypes, 3041 - MessageInfos: file_webserver_proto_msgTypes, 3042 - }.Build() 3043 - File_webserver_proto = out.File 3044 - file_webserver_proto_rawDesc = nil 3045 - file_webserver_proto_goTypes = nil 3046 - file_webserver_proto_depIdxs = nil 3047 - }
+20 -10
grpc/v1/webserver.proto grpc/protos/zoekt/webserver/v1/webserver.proto
··· 1 1 syntax = "proto3"; 2 2 3 - package grpc.v1; 3 + package zoekt.webserver.v1; 4 4 5 5 import "google/protobuf/duration.proto"; 6 6 import "google/protobuf/timestamp.proto"; 7 - import "query.proto"; 7 + import "zoekt/webserver/v1/query.proto"; 8 8 9 - option go_package = "github.com/sourcegraph/zoekt/grpc/v1"; 9 + option go_package = "github.com/sourcegraph/zoekt/grpc/protos/zoekt/webserver/v1"; 10 10 11 11 service WebserverService { 12 12 rpc Search(SearchRequest) returns (SearchResponse) {} 13 13 14 - rpc StreamSearch(SearchRequest) returns (stream SearchResponse) {} 14 + rpc StreamSearch(StreamSearchRequest) returns (stream StreamSearchResponse) {} 15 15 16 16 // List lists repositories. The query `q` can only contain 17 17 // query.Repo atoms. ··· 33 33 repeated FileMatch files = 3; 34 34 } 35 35 36 + message StreamSearchRequest { 37 + reserved 1 to 2; 38 + SearchRequest request = 3; 39 + } 40 + 41 + message StreamSearchResponse { 42 + reserved 1 to 5; 43 + SearchResponse response_chunk = 6; 44 + } 45 + 36 46 message SearchOptions { 37 47 // Return an upper-bound estimate of eligible documents in 38 48 // stats.ShardFilesConsidered. ··· 110 120 111 121 message ListOptions { 112 122 enum RepoListField { 113 - REPO_LIST_FIELD_UNKNOWN = 0; 123 + REPO_LIST_FIELD_UNKNOWN_UNSPECIFIED = 0; 114 124 REPO_LIST_FIELD_REPOS = 1; 115 125 REPO_LIST_FIELD_MINIMAL = 2; 116 126 REPO_LIST_FIELD_REPOS_MAP = 3; ··· 214 224 215 225 // file_tombstones is a set of file paths that should be ignored across all branches 216 226 // in this shard. 217 - repeated string FileTombstones = 17; 227 + repeated string file_tombstones = 17; 218 228 } 219 229 220 230 message IndexMetadata { ··· 350 360 } 351 361 352 362 enum FlushReason { 353 - UNKNOWN = 0; 354 - TIMER_EXPIRED = 1; 355 - FINAL_FLUSH = 2; 356 - MAX_SIZE = 3; 363 + FLUSH_REASON_UNKNOWN_UNSPECIFIED = 0; 364 + FLUSH_REASON_TIMER_EXPIRED = 1; 365 + FLUSH_REASON_FINAL_FLUSH = 2; 366 + FLUSH_REASON_MAX_SIZE = 3; 357 367 } 358 368 359 369 // Progress contains information about the global progress of the running search query.
+16 -16
grpc/v1/webserver_grpc.pb.go grpc/protos/zoekt/webserver/v1/webserver_grpc.pb.go
··· 2 2 // versions: 3 3 // - protoc-gen-go-grpc v1.3.0 4 4 // - protoc (unknown) 5 - // source: webserver.proto 5 + // source: zoekt/webserver/v1/webserver.proto 6 6 7 7 package v1 8 8 ··· 19 19 const _ = grpc.SupportPackageIsVersion7 20 20 21 21 const ( 22 - WebserverService_Search_FullMethodName = "/grpc.v1.WebserverService/Search" 23 - WebserverService_StreamSearch_FullMethodName = "/grpc.v1.WebserverService/StreamSearch" 24 - WebserverService_List_FullMethodName = "/grpc.v1.WebserverService/List" 22 + WebserverService_Search_FullMethodName = "/zoekt.webserver.v1.WebserverService/Search" 23 + WebserverService_StreamSearch_FullMethodName = "/zoekt.webserver.v1.WebserverService/StreamSearch" 24 + WebserverService_List_FullMethodName = "/zoekt.webserver.v1.WebserverService/List" 25 25 ) 26 26 27 27 // WebserverServiceClient is the client API for WebserverService service. ··· 29 29 // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. 30 30 type WebserverServiceClient interface { 31 31 Search(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (*SearchResponse, error) 32 - StreamSearch(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (WebserverService_StreamSearchClient, error) 32 + StreamSearch(ctx context.Context, in *StreamSearchRequest, opts ...grpc.CallOption) (WebserverService_StreamSearchClient, error) 33 33 // List lists repositories. The query `q` can only contain 34 34 // query.Repo atoms. 35 35 List(ctx context.Context, in *ListRequest, opts ...grpc.CallOption) (*ListResponse, error) ··· 52 52 return out, nil 53 53 } 54 54 55 - func (c *webserverServiceClient) StreamSearch(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (WebserverService_StreamSearchClient, error) { 55 + func (c *webserverServiceClient) StreamSearch(ctx context.Context, in *StreamSearchRequest, opts ...grpc.CallOption) (WebserverService_StreamSearchClient, error) { 56 56 stream, err := c.cc.NewStream(ctx, &WebserverService_ServiceDesc.Streams[0], WebserverService_StreamSearch_FullMethodName, opts...) 57 57 if err != nil { 58 58 return nil, err ··· 68 68 } 69 69 70 70 type WebserverService_StreamSearchClient interface { 71 - Recv() (*SearchResponse, error) 71 + Recv() (*StreamSearchResponse, error) 72 72 grpc.ClientStream 73 73 } 74 74 ··· 76 76 grpc.ClientStream 77 77 } 78 78 79 - func (x *webserverServiceStreamSearchClient) Recv() (*SearchResponse, error) { 80 - m := new(SearchResponse) 79 + func (x *webserverServiceStreamSearchClient) Recv() (*StreamSearchResponse, error) { 80 + m := new(StreamSearchResponse) 81 81 if err := x.ClientStream.RecvMsg(m); err != nil { 82 82 return nil, err 83 83 } ··· 98 98 // for forward compatibility 99 99 type WebserverServiceServer interface { 100 100 Search(context.Context, *SearchRequest) (*SearchResponse, error) 101 - StreamSearch(*SearchRequest, WebserverService_StreamSearchServer) error 101 + StreamSearch(*StreamSearchRequest, WebserverService_StreamSearchServer) error 102 102 // List lists repositories. The query `q` can only contain 103 103 // query.Repo atoms. 104 104 List(context.Context, *ListRequest) (*ListResponse, error) ··· 112 112 func (UnimplementedWebserverServiceServer) Search(context.Context, *SearchRequest) (*SearchResponse, error) { 113 113 return nil, status.Errorf(codes.Unimplemented, "method Search not implemented") 114 114 } 115 - func (UnimplementedWebserverServiceServer) StreamSearch(*SearchRequest, WebserverService_StreamSearchServer) error { 115 + func (UnimplementedWebserverServiceServer) StreamSearch(*StreamSearchRequest, WebserverService_StreamSearchServer) error { 116 116 return status.Errorf(codes.Unimplemented, "method StreamSearch not implemented") 117 117 } 118 118 func (UnimplementedWebserverServiceServer) List(context.Context, *ListRequest) (*ListResponse, error) { ··· 150 150 } 151 151 152 152 func _WebserverService_StreamSearch_Handler(srv interface{}, stream grpc.ServerStream) error { 153 - m := new(SearchRequest) 153 + m := new(StreamSearchRequest) 154 154 if err := stream.RecvMsg(m); err != nil { 155 155 return err 156 156 } ··· 158 158 } 159 159 160 160 type WebserverService_StreamSearchServer interface { 161 - Send(*SearchResponse) error 161 + Send(*StreamSearchResponse) error 162 162 grpc.ServerStream 163 163 } 164 164 ··· 166 166 grpc.ServerStream 167 167 } 168 168 169 - func (x *webserverServiceStreamSearchServer) Send(m *SearchResponse) error { 169 + func (x *webserverServiceStreamSearchServer) Send(m *StreamSearchResponse) error { 170 170 return x.ServerStream.SendMsg(m) 171 171 } 172 172 ··· 192 192 // It's only intended for direct use with grpc.RegisterService, 193 193 // and not to be introspected or modified (even as a copy) 194 194 var WebserverService_ServiceDesc = grpc.ServiceDesc{ 195 - ServiceName: "grpc.v1.WebserverService", 195 + ServiceName: "zoekt.webserver.v1.WebserverService", 196 196 HandlerType: (*WebserverServiceServer)(nil), 197 197 Methods: []grpc.MethodDesc{ 198 198 { ··· 211 211 ServerStreams: true, 212 212 }, 213 213 }, 214 - Metadata: "webserver.proto", 214 + Metadata: "zoekt/webserver/v1/webserver.proto", 215 215 }
+111 -111
query/query_proto.go
··· 6 6 7 7 "github.com/RoaringBitmap/roaring" 8 8 "github.com/grafana/regexp" 9 - v1 "github.com/sourcegraph/zoekt/grpc/v1" 9 + proto "github.com/sourcegraph/zoekt/grpc/protos/zoekt/webserver/v1" 10 10 ) 11 11 12 - func QToProto(q Q) *v1.Q { 12 + func QToProto(q Q) *proto.Q { 13 13 switch v := q.(type) { 14 14 case RawConfig: 15 - return &v1.Q{Query: &v1.Q_RawConfig{RawConfig: v.ToProto()}} 15 + return &proto.Q{Query: &proto.Q_RawConfig{RawConfig: v.ToProto()}} 16 16 case *Regexp: 17 - return &v1.Q{Query: &v1.Q_Regexp{Regexp: v.ToProto()}} 17 + return &proto.Q{Query: &proto.Q_Regexp{Regexp: v.ToProto()}} 18 18 case *Symbol: 19 - return &v1.Q{Query: &v1.Q_Symbol{Symbol: v.ToProto()}} 19 + return &proto.Q{Query: &proto.Q_Symbol{Symbol: v.ToProto()}} 20 20 case *Language: 21 - return &v1.Q{Query: &v1.Q_Language{Language: v.ToProto()}} 21 + return &proto.Q{Query: &proto.Q_Language{Language: v.ToProto()}} 22 22 case *Const: 23 - return &v1.Q{Query: &v1.Q_Const{Const: v.Value}} 23 + return &proto.Q{Query: &proto.Q_Const{Const: v.Value}} 24 24 case *Repo: 25 - return &v1.Q{Query: &v1.Q_Repo{Repo: v.ToProto()}} 25 + return &proto.Q{Query: &proto.Q_Repo{Repo: v.ToProto()}} 26 26 case *RepoRegexp: 27 - return &v1.Q{Query: &v1.Q_RepoRegexp{RepoRegexp: v.ToProto()}} 27 + return &proto.Q{Query: &proto.Q_RepoRegexp{RepoRegexp: v.ToProto()}} 28 28 case *BranchesRepos: 29 - return &v1.Q{Query: &v1.Q_BranchesRepos{BranchesRepos: v.ToProto()}} 29 + return &proto.Q{Query: &proto.Q_BranchesRepos{BranchesRepos: v.ToProto()}} 30 30 case *RepoIDs: 31 - return &v1.Q{Query: &v1.Q_RepoIds{RepoIds: v.ToProto()}} 31 + return &proto.Q{Query: &proto.Q_RepoIds{RepoIds: v.ToProto()}} 32 32 case *RepoSet: 33 - return &v1.Q{Query: &v1.Q_RepoSet{RepoSet: v.ToProto()}} 33 + return &proto.Q{Query: &proto.Q_RepoSet{RepoSet: v.ToProto()}} 34 34 case *FileNameSet: 35 - return &v1.Q{Query: &v1.Q_FileNameSet{FileNameSet: v.ToProto()}} 35 + return &proto.Q{Query: &proto.Q_FileNameSet{FileNameSet: v.ToProto()}} 36 36 case *Type: 37 - return &v1.Q{Query: &v1.Q_Type{Type: v.ToProto()}} 37 + return &proto.Q{Query: &proto.Q_Type{Type: v.ToProto()}} 38 38 case *Substring: 39 - return &v1.Q{Query: &v1.Q_Substring{Substring: v.ToProto()}} 39 + return &proto.Q{Query: &proto.Q_Substring{Substring: v.ToProto()}} 40 40 case *And: 41 - return &v1.Q{Query: &v1.Q_And{And: v.ToProto()}} 41 + return &proto.Q{Query: &proto.Q_And{And: v.ToProto()}} 42 42 case *Or: 43 - return &v1.Q{Query: &v1.Q_Or{Or: v.ToProto()}} 43 + return &proto.Q{Query: &proto.Q_Or{Or: v.ToProto()}} 44 44 case *Not: 45 - return &v1.Q{Query: &v1.Q_Not{Not: v.ToProto()}} 45 + return &proto.Q{Query: &proto.Q_Not{Not: v.ToProto()}} 46 46 case *Branch: 47 - return &v1.Q{Query: &v1.Q_Branch{Branch: v.ToProto()}} 47 + return &proto.Q{Query: &proto.Q_Branch{Branch: v.ToProto()}} 48 48 default: 49 49 // The following nodes do not have a proto representation: 50 50 // - GobCache: only needed for Gob encoding ··· 53 53 } 54 54 } 55 55 56 - func QFromProto(p *v1.Q) (Q, error) { 56 + func QFromProto(p *proto.Q) (Q, error) { 57 57 switch v := p.Query.(type) { 58 - case *v1.Q_RawConfig: 58 + case *proto.Q_RawConfig: 59 59 return RawConfigFromProto(v.RawConfig), nil 60 - case *v1.Q_Regexp: 60 + case *proto.Q_Regexp: 61 61 return RegexpFromProto(v.Regexp) 62 - case *v1.Q_Symbol: 62 + case *proto.Q_Symbol: 63 63 return SymbolFromProto(v.Symbol) 64 - case *v1.Q_Language: 64 + case *proto.Q_Language: 65 65 return LanguageFromProto(v.Language), nil 66 - case *v1.Q_Const: 66 + case *proto.Q_Const: 67 67 return &Const{Value: v.Const}, nil 68 - case *v1.Q_Repo: 68 + case *proto.Q_Repo: 69 69 return RepoFromProto(v.Repo) 70 - case *v1.Q_RepoRegexp: 70 + case *proto.Q_RepoRegexp: 71 71 return RepoRegexpFromProto(v.RepoRegexp) 72 - case *v1.Q_BranchesRepos: 72 + case *proto.Q_BranchesRepos: 73 73 return BranchesReposFromProto(v.BranchesRepos) 74 - case *v1.Q_RepoIds: 74 + case *proto.Q_RepoIds: 75 75 return RepoIDsFromProto(v.RepoIds) 76 - case *v1.Q_RepoSet: 76 + case *proto.Q_RepoSet: 77 77 return RepoSetFromProto(v.RepoSet), nil 78 - case *v1.Q_FileNameSet: 78 + case *proto.Q_FileNameSet: 79 79 return FileNameSetFromProto(v.FileNameSet), nil 80 - case *v1.Q_Type: 80 + case *proto.Q_Type: 81 81 return TypeFromProto(v.Type) 82 - case *v1.Q_Substring: 82 + case *proto.Q_Substring: 83 83 return SubstringFromProto(v.Substring), nil 84 - case *v1.Q_And: 84 + case *proto.Q_And: 85 85 return AndFromProto(v.And) 86 - case *v1.Q_Or: 86 + case *proto.Q_Or: 87 87 return OrFromProto(v.Or) 88 - case *v1.Q_Not: 88 + case *proto.Q_Not: 89 89 return NotFromProto(v.Not) 90 - case *v1.Q_Branch: 90 + case *proto.Q_Branch: 91 91 return BranchFromProto(v.Branch), nil 92 92 default: 93 93 panic(fmt.Sprintf("unknown query node %T", p.Query)) 94 94 } 95 95 } 96 96 97 - func RegexpFromProto(p *v1.Regexp) (*Regexp, error) { 97 + func RegexpFromProto(p *proto.Regexp) (*Regexp, error) { 98 98 parsed, err := syntax.Parse(p.GetRegexp(), regexpFlags) 99 99 if err != nil { 100 100 return nil, err ··· 107 107 }, nil 108 108 } 109 109 110 - func (r *Regexp) ToProto() *v1.Regexp { 111 - return &v1.Regexp{ 110 + func (r *Regexp) ToProto() *proto.Regexp { 111 + return &proto.Regexp{ 112 112 Regexp: r.Regexp.String(), 113 113 FileName: r.FileName, 114 114 Content: r.Content, ··· 116 116 } 117 117 } 118 118 119 - func SymbolFromProto(p *v1.Symbol) (*Symbol, error) { 119 + func SymbolFromProto(p *proto.Symbol) (*Symbol, error) { 120 120 expr, err := QFromProto(p.GetExpr()) 121 121 if err != nil { 122 122 return nil, err ··· 127 127 }, nil 128 128 } 129 129 130 - func (s *Symbol) ToProto() *v1.Symbol { 131 - return &v1.Symbol{ 130 + func (s *Symbol) ToProto() *proto.Symbol { 131 + return &proto.Symbol{ 132 132 Expr: QToProto(s.Expr), 133 133 } 134 134 } 135 135 136 - func LanguageFromProto(p *v1.Language) *Language { 136 + func LanguageFromProto(p *proto.Language) *Language { 137 137 return &Language{ 138 138 Language: p.GetLanguage(), 139 139 } 140 140 } 141 141 142 - func (l *Language) ToProto() *v1.Language { 143 - return &v1.Language{Language: l.Language} 142 + func (l *Language) ToProto() *proto.Language { 143 + return &proto.Language{Language: l.Language} 144 144 } 145 145 146 - func RepoFromProto(p *v1.Repo) (*Repo, error) { 146 + func RepoFromProto(p *proto.Repo) (*Repo, error) { 147 147 r, err := regexp.Compile(p.GetRegexp()) 148 148 if err != nil { 149 149 return nil, err ··· 153 153 }, nil 154 154 } 155 155 156 - func (q *Repo) ToProto() *v1.Repo { 157 - return &v1.Repo{ 156 + func (q *Repo) ToProto() *proto.Repo { 157 + return &proto.Repo{ 158 158 Regexp: q.Regexp.String(), 159 159 } 160 160 } 161 161 162 - func RepoRegexpFromProto(p *v1.RepoRegexp) (*RepoRegexp, error) { 162 + func RepoRegexpFromProto(p *proto.RepoRegexp) (*RepoRegexp, error) { 163 163 r, err := regexp.Compile(p.GetRegexp()) 164 164 if err != nil { 165 165 return nil, err ··· 169 169 }, nil 170 170 } 171 171 172 - func (q *RepoRegexp) ToProto() *v1.RepoRegexp { 173 - return &v1.RepoRegexp{ 172 + func (q *RepoRegexp) ToProto() *proto.RepoRegexp { 173 + return &proto.RepoRegexp{ 174 174 Regexp: q.Regexp.String(), 175 175 } 176 176 } 177 177 178 - func BranchesReposFromProto(p *v1.BranchesRepos) (*BranchesRepos, error) { 178 + func BranchesReposFromProto(p *proto.BranchesRepos) (*BranchesRepos, error) { 179 179 brs := make([]BranchRepos, len(p.GetList())) 180 180 for i, br := range p.GetList() { 181 181 branchRepos, err := BranchReposFromProto(br) ··· 189 189 }, nil 190 190 } 191 191 192 - func (br *BranchesRepos) ToProto() *v1.BranchesRepos { 193 - list := make([]*v1.BranchRepos, len(br.List)) 192 + func (br *BranchesRepos) ToProto() *proto.BranchesRepos { 193 + list := make([]*proto.BranchRepos, len(br.List)) 194 194 for i, branchRepo := range br.List { 195 195 list[i] = branchRepo.ToProto() 196 196 } 197 197 198 - return &v1.BranchesRepos{ 198 + return &proto.BranchesRepos{ 199 199 List: list, 200 200 } 201 201 } 202 202 203 - func RepoIDsFromProto(p *v1.RepoIds) (*RepoIDs, error) { 203 + func RepoIDsFromProto(p *proto.RepoIds) (*RepoIDs, error) { 204 204 bm := roaring.NewBitmap() 205 205 err := bm.UnmarshalBinary(p.GetRepos()) 206 206 if err != nil { ··· 212 212 }, nil 213 213 } 214 214 215 - func (q *RepoIDs) ToProto() *v1.RepoIds { 215 + func (q *RepoIDs) ToProto() *proto.RepoIds { 216 216 b, err := q.Repos.ToBytes() 217 217 if err != nil { 218 218 panic("unexpected error marshalling bitmap: " + err.Error()) 219 219 } 220 - return &v1.RepoIds{ 220 + return &proto.RepoIds{ 221 221 Repos: b, 222 222 } 223 223 } 224 224 225 - func BranchReposFromProto(p *v1.BranchRepos) (BranchRepos, error) { 225 + func BranchReposFromProto(p *proto.BranchRepos) (BranchRepos, error) { 226 226 bm := roaring.NewBitmap() 227 227 err := bm.UnmarshalBinary(p.GetRepos()) 228 228 if err != nil { ··· 234 234 }, nil 235 235 } 236 236 237 - func (br *BranchRepos) ToProto() *v1.BranchRepos { 237 + func (br *BranchRepos) ToProto() *proto.BranchRepos { 238 238 b, err := br.Repos.ToBytes() 239 239 if err != nil { 240 240 panic("unexpected error marshalling bitmap: " + err.Error()) 241 241 } 242 242 243 - return &v1.BranchRepos{ 243 + return &proto.BranchRepos{ 244 244 Branch: br.Branch, 245 245 Repos: b, 246 246 } 247 247 } 248 248 249 - func RepoSetFromProto(p *v1.RepoSet) *RepoSet { 249 + func RepoSetFromProto(p *proto.RepoSet) *RepoSet { 250 250 return &RepoSet{ 251 251 Set: p.GetSet(), 252 252 } 253 253 } 254 254 255 - func (q *RepoSet) ToProto() *v1.RepoSet { 256 - return &v1.RepoSet{ 255 + func (q *RepoSet) ToProto() *proto.RepoSet { 256 + return &proto.RepoSet{ 257 257 Set: q.Set, 258 258 } 259 259 } 260 260 261 - func FileNameSetFromProto(p *v1.FileNameSet) *FileNameSet { 261 + func FileNameSetFromProto(p *proto.FileNameSet) *FileNameSet { 262 262 m := make(map[string]struct{}, len(p.GetSet())) 263 263 for _, name := range p.GetSet() { 264 264 m[name] = struct{}{} ··· 268 268 } 269 269 } 270 270 271 - func (q *FileNameSet) ToProto() *v1.FileNameSet { 271 + func (q *FileNameSet) ToProto() *proto.FileNameSet { 272 272 s := make([]string, 0, len(q.Set)) 273 273 for name := range q.Set { 274 274 s = append(s, name) 275 275 } 276 - return &v1.FileNameSet{ 276 + return &proto.FileNameSet{ 277 277 Set: s, 278 278 } 279 279 } 280 280 281 - func TypeFromProto(p *v1.Type) (*Type, error) { 281 + func TypeFromProto(p *proto.Type) (*Type, error) { 282 282 child, err := QFromProto(p.GetChild()) 283 283 if err != nil { 284 284 return nil, err ··· 286 286 287 287 var kind uint8 288 288 switch p.GetType() { 289 - case v1.Type_FILE_MATCH: 289 + case proto.Type_KIND_FILE_MATCH: 290 290 kind = TypeFileMatch 291 - case v1.Type_FILE_NAME: 291 + case proto.Type_KIND_FILE_NAME: 292 292 kind = TypeFileName 293 - case v1.Type_REPO: 293 + case proto.Type_KIND_REPO: 294 294 kind = TypeRepo 295 295 } 296 296 ··· 301 301 }, nil 302 302 } 303 303 304 - func (q *Type) ToProto() *v1.Type { 305 - var kind v1.Type_Kind 304 + func (q *Type) ToProto() *proto.Type { 305 + var kind proto.Type_Kind 306 306 switch q.Type { 307 307 case TypeFileMatch: 308 - kind = v1.Type_FILE_MATCH 308 + kind = proto.Type_KIND_FILE_MATCH 309 309 case TypeFileName: 310 - kind = v1.Type_FILE_NAME 310 + kind = proto.Type_KIND_FILE_NAME 311 311 case TypeRepo: 312 - kind = v1.Type_REPO 312 + kind = proto.Type_KIND_REPO 313 313 } 314 314 315 - return &v1.Type{ 315 + return &proto.Type{ 316 316 Child: QToProto(q.Child), 317 317 Type: kind, 318 318 } 319 319 } 320 320 321 - func SubstringFromProto(p *v1.Substring) *Substring { 321 + func SubstringFromProto(p *proto.Substring) *Substring { 322 322 return &Substring{ 323 323 Pattern: p.GetPattern(), 324 324 CaseSensitive: p.GetCaseSensitive(), ··· 327 327 } 328 328 } 329 329 330 - func (q *Substring) ToProto() *v1.Substring { 331 - return &v1.Substring{ 330 + func (q *Substring) ToProto() *proto.Substring { 331 + return &proto.Substring{ 332 332 Pattern: q.Pattern, 333 333 CaseSensitive: q.CaseSensitive, 334 334 FileName: q.FileName, ··· 336 336 } 337 337 } 338 338 339 - func OrFromProto(p *v1.Or) (*Or, error) { 339 + func OrFromProto(p *proto.Or) (*Or, error) { 340 340 children := make([]Q, len(p.GetChildren())) 341 341 for i, child := range p.GetChildren() { 342 342 c, err := QFromProto(child) ··· 350 350 }, nil 351 351 } 352 352 353 - func (q *Or) ToProto() *v1.Or { 354 - children := make([]*v1.Q, len(q.Children)) 353 + func (q *Or) ToProto() *proto.Or { 354 + children := make([]*proto.Q, len(q.Children)) 355 355 for i, child := range q.Children { 356 356 children[i] = QToProto(child) 357 357 } 358 - return &v1.Or{ 358 + return &proto.Or{ 359 359 Children: children, 360 360 } 361 361 } 362 362 363 - func NotFromProto(p *v1.Not) (*Not, error) { 363 + func NotFromProto(p *proto.Not) (*Not, error) { 364 364 child, err := QFromProto(p.GetChild()) 365 365 if err != nil { 366 366 return nil, err ··· 370 370 }, nil 371 371 } 372 372 373 - func (q *Not) ToProto() *v1.Not { 374 - return &v1.Not{ 373 + func (q *Not) ToProto() *proto.Not { 374 + return &proto.Not{ 375 375 Child: QToProto(q.Child), 376 376 } 377 377 } 378 378 379 - func AndFromProto(p *v1.And) (*And, error) { 379 + func AndFromProto(p *proto.And) (*And, error) { 380 380 children := make([]Q, len(p.GetChildren())) 381 381 for i, child := range p.GetChildren() { 382 382 c, err := QFromProto(child) ··· 390 390 }, nil 391 391 } 392 392 393 - func (q *And) ToProto() *v1.And { 394 - children := make([]*v1.Q, len(q.Children)) 393 + func (q *And) ToProto() *proto.And { 394 + children := make([]*proto.Q, len(q.Children)) 395 395 for i, child := range q.Children { 396 396 children[i] = QToProto(child) 397 397 } 398 - return &v1.And{ 398 + return &proto.And{ 399 399 Children: children, 400 400 } 401 401 } 402 402 403 - func BranchFromProto(p *v1.Branch) *Branch { 403 + func BranchFromProto(p *proto.Branch) *Branch { 404 404 return &Branch{ 405 405 Pattern: p.GetPattern(), 406 406 Exact: p.GetExact(), 407 407 } 408 408 } 409 409 410 - func (q *Branch) ToProto() *v1.Branch { 411 - return &v1.Branch{ 410 + func (q *Branch) ToProto() *proto.Branch { 411 + return &proto.Branch{ 412 412 Pattern: q.Pattern, 413 413 Exact: q.Exact, 414 414 } 415 415 } 416 416 417 - func RawConfigFromProto(p *v1.RawConfig) (res RawConfig) { 417 + func RawConfigFromProto(p *proto.RawConfig) (res RawConfig) { 418 418 for _, protoFlag := range p.Flags { 419 419 switch protoFlag { 420 - case v1.RawConfig_ONLY_PUBLIC: 420 + case proto.RawConfig_FLAG_ONLY_PUBLIC: 421 421 res |= RcOnlyPublic 422 - case v1.RawConfig_ONLY_PRIVATE: 422 + case proto.RawConfig_FLAG_ONLY_PRIVATE: 423 423 res |= RcOnlyPrivate 424 - case v1.RawConfig_ONLY_FORKS: 424 + case proto.RawConfig_FLAG_ONLY_FORKS: 425 425 res |= RcOnlyForks 426 - case v1.RawConfig_NO_FORKS: 426 + case proto.RawConfig_FLAG_NO_FORKS: 427 427 res |= RcNoForks 428 - case v1.RawConfig_ONLY_ARCHIVED: 428 + case proto.RawConfig_FLAG_ONLY_ARCHIVED: 429 429 res |= RcOnlyArchived 430 - case v1.RawConfig_NO_ARCHIVED: 430 + case proto.RawConfig_FLAG_NO_ARCHIVED: 431 431 res |= RcNoArchived 432 432 } 433 433 } 434 434 return res 435 435 } 436 436 437 - func (r RawConfig) ToProto() *v1.RawConfig { 438 - var flags []v1.RawConfig_Flag 437 + func (r RawConfig) ToProto() *proto.RawConfig { 438 + var flags []proto.RawConfig_Flag 439 439 for _, flag := range flagNames { 440 440 if r&flag.Mask != 0 { 441 441 switch flag.Mask { 442 442 case RcOnlyPublic: 443 - flags = append(flags, v1.RawConfig_ONLY_PUBLIC) 443 + flags = append(flags, proto.RawConfig_FLAG_ONLY_PUBLIC) 444 444 case RcOnlyPrivate: 445 - flags = append(flags, v1.RawConfig_ONLY_PRIVATE) 445 + flags = append(flags, proto.RawConfig_FLAG_ONLY_PRIVATE) 446 446 case RcOnlyForks: 447 - flags = append(flags, v1.RawConfig_ONLY_FORKS) 447 + flags = append(flags, proto.RawConfig_FLAG_ONLY_FORKS) 448 448 case RcNoForks: 449 - flags = append(flags, v1.RawConfig_NO_FORKS) 449 + flags = append(flags, proto.RawConfig_FLAG_NO_FORKS) 450 450 case RcOnlyArchived: 451 - flags = append(flags, v1.RawConfig_ONLY_ARCHIVED) 451 + flags = append(flags, proto.RawConfig_FLAG_ONLY_ARCHIVED) 452 452 case RcNoArchived: 453 - flags = append(flags, v1.RawConfig_NO_ARCHIVED) 453 + flags = append(flags, proto.RawConfig_FLAG_NO_ARCHIVED) 454 454 } 455 455 } 456 456 } 457 - return &v1.RawConfig{Flags: flags} 457 + return &proto.RawConfig{Flags: flags} 458 458 }