diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 640b4777..00000000 --- a/Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -FROM golang:1.18 as builder - -ENV GO111MODULE=on \ - GOPROXY=https://goproxy.cn,direct - -WORKDIR /app - -COPY . . - -RUN GOOS=linux GOARCH=amd64 go build ./cmds/kcl-go - -FROM kcllang/kcl - -WORKDIR /app - -RUN mkdir /app/bin -COPY --from=builder /app/kcl-go ./bin/ - -ENV PATH="/app/bin:${PATH}" -ENV LANG=en_US.utf8 - -CMD ["bash"] diff --git a/examples/kubernetes/main.go b/examples/kubernetes/main.go index c3b7a276..329e24f6 100644 --- a/examples/kubernetes/main.go +++ b/examples/kubernetes/main.go @@ -1,19 +1,14 @@ -// Copyright 2023 The KCL Authors. All rights reserved. - -// Run CGO Mode: -// KCLVM_SERVICE_CLIENT_HANDLER=native KCLVM_PLUGIN_DEBUG=1 go run -tags=kclvm_service_capi . - package main import ( "fmt" - "kcl-lang.io/kcl-go" + kcl "kcl-lang.io/kcl-go" _ "kcl-lang.io/kcl-go/pkg/kcl_plugin/hello_plugin" ) func main() { - yaml := kclvm.MustRun("kubernetes.k", kclvm.WithCode(k_code)).GetRawYamlResult() + yaml := kcl.MustRun("kubernetes.k", kcl.WithCode(k_code)).GetRawYamlResult() fmt.Println(yaml) } diff --git a/go.mod b/go.mod index ae755e1d..dda98d93 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( google.golang.org/protobuf v1.30.0 gopkg.in/yaml.v3 v3.0.1 kcl-lang.io/kpm v0.6.0 - kcl-lang.io/lib v0.7.7 + kcl-lang.io/lib v0.7.8 ) require ( diff --git a/go.sum b/go.sum index 4998057b..a1b0dfa7 100644 --- a/go.sum +++ b/go.sum @@ -794,8 +794,8 @@ honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= kcl-lang.io/kpm v0.6.0 h1:8gHMyV2l/EpZ/w27c3UyybXEBATvAzL81JdAFzdYqWc= kcl-lang.io/kpm v0.6.0/go.mod h1:s9w+2itB6AcCNjdppZv2Tc9vGhKk/axtJ5XJYaWNR+0= -kcl-lang.io/lib v0.7.7 h1:zz6KO7ZZl74xq8I85102Z/dPdN9c89e0qEk0ZjnOAH8= -kcl-lang.io/lib v0.7.7/go.mod h1:ubsalGXxJaa5II/EsHmsI/tL2EluYHIcW+BwzQPt+uY= +kcl-lang.io/lib v0.7.8 h1:kOYlrFqZkwzCG/CFs63cwbX3pPCNUci1Xvj7zqqnLno= +kcl-lang.io/lib v0.7.8/go.mod h1:ubsalGXxJaa5II/EsHmsI/tL2EluYHIcW+BwzQPt+uY= oras.land/oras-go v1.2.3 h1:v8PJl+gEAntI1pJ/LCrDgsuk+1PKVavVEPsYIHFE5uY= oras.land/oras-go v1.2.3/go.mod h1:M/uaPdYklze0Vf3AakfarnpoEckvw0ESbRdN8Z1vdJg= oras.land/oras-go/v2 v2.3.0 h1:lqX1aXdN+DAmDTKjiDyvq85cIaI4RkIKp/PghWlAGIU= diff --git a/pkg/service/client_kclvm_service.go b/pkg/service/client_kclvm_service.go index 78b4f03d..ea752cfb 100644 --- a/pkg/service/client_kclvm_service.go +++ b/pkg/service/client_kclvm_service.go @@ -69,6 +69,14 @@ func (p *KclvmServiceClient) ParseProgram(args *gpyrpc.ParseProgram_Args) (resp return } +func (p *KclvmServiceClient) LoadPackage(args *gpyrpc.LoadPackage_Args) (resp *gpyrpc.LoadPackage_Result, err error) { + p.Runtime.DoTask(func(c *rpc.Client, stderr io.Reader) { + resp, err = p.getClient(c).LoadPackage(args) + err = p.wrapErr(err, stderr) + }) + return +} + func (p *KclvmServiceClient) FormatCode(args *gpyrpc.FormatCode_Args) (resp *gpyrpc.FormatCode_Result, err error) { p.Runtime.DoTask(func(c *rpc.Client, stderr io.Reader) { resp, err = p.getClient(c).FormatCode(args) diff --git a/pkg/service/grpc_server.go b/pkg/service/grpc_server.go index ec1a44a2..c1ede6ba 100644 --- a/pkg/service/grpc_server.go +++ b/pkg/service/grpc_server.go @@ -49,6 +49,9 @@ func (p *_KclvmServiceImpl) ParseFile(ctx context.Context, args *gpyrpc.ParseFil func (p *_KclvmServiceImpl) ParseProgram(ctx context.Context, args *gpyrpc.ParseProgram_Args) (*gpyrpc.ParseProgram_Result, error) { return p.c.ParseProgram(args) } +func (p *_KclvmServiceImpl) LoadPackage(ctx context.Context, args *gpyrpc.LoadPackage_Args) (*gpyrpc.LoadPackage_Result, error) { + return p.c.LoadPackage(args) +} func (p *_KclvmServiceImpl) FormatCode(ctx context.Context, args *gpyrpc.FormatCode_Args) (*gpyrpc.FormatCode_Result, error) { return p.c.FormatCode(args) } diff --git a/pkg/service/kclvm_service.go b/pkg/service/kclvm_service.go index e22bf7d2..f0d0f911 100644 --- a/pkg/service/kclvm_service.go +++ b/pkg/service/kclvm_service.go @@ -7,6 +7,7 @@ type KclvmService interface { ExecProgram(in *gpyrpc.ExecProgram_Args) (out *gpyrpc.ExecProgram_Result, err error) ParseFile(in *gpyrpc.ParseFile_Args) (out *gpyrpc.ParseFile_Result, err error) ParseProgram(in *gpyrpc.ParseProgram_Args) (out *gpyrpc.ParseProgram_Result, err error) + LoadPackage(in *gpyrpc.LoadPackage_Args) (out *gpyrpc.LoadPackage_Result, err error) FormatCode(in *gpyrpc.FormatCode_Args) (out *gpyrpc.FormatCode_Result, err error) FormatPath(in *gpyrpc.FormatPath_Args) (out *gpyrpc.FormatPath_Result, err error) LintPath(in *gpyrpc.LintPath_Args) (out *gpyrpc.LintPath_Result, err error) diff --git a/pkg/service/rest_server.go b/pkg/service/rest_server.go index e5492be6..f308d5e0 100644 --- a/pkg/service/rest_server.go +++ b/pkg/service/rest_server.go @@ -62,6 +62,7 @@ func (p *restServer) initHttpRrouter() { p.router.GET("/api:protorpc/KclvmService.ExecProgram", p.handle_ExecProgram) p.router.GET("/api:protorpc/KclvmService.ParseFile", p.handle_ParseFile) p.router.GET("/api:protorpc/KclvmService.ParseProgram", p.handle_ParseProgram) + p.router.GET("/api:protorpc/KclvmService.LoadPackage", p.handle_LoadPackage) p.router.GET("/api:protorpc/KclvmService.FormatCode", p.handle_FormatCode) p.router.GET("/api:protorpc/KclvmService.FormatPath", p.handle_FormatPath) p.router.GET("/api:protorpc/KclvmService.LintPath", p.handle_LintPath) @@ -75,6 +76,7 @@ func (p *restServer) initHttpRrouter() { p.router.POST("/api:protorpc/KclvmService.ExecProgram", p.handle_ExecProgram) p.router.POST("/api:protorpc/KclvmService.ParseFile", p.handle_ParseFile) p.router.POST("/api:protorpc/KclvmService.ParseProgram", p.handle_ParseProgram) + p.router.POST("/api:protorpc/KclvmService.LoadPackage", p.handle_LoadPackage) p.router.POST("/api:protorpc/KclvmService.FormatCode", p.handle_FormatCode) p.router.POST("/api:protorpc/KclvmService.FormatPath", p.handle_FormatPath) p.router.POST("/api:protorpc/KclvmService.LintPath", p.handle_LintPath) @@ -158,6 +160,13 @@ func (p *restServer) handle_ParseProgram(w http.ResponseWriter, r *http.Request, }) } +func (p *restServer) handle_LoadPackage(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { + var args = new(gpyrpc.LoadPackage_Args) + p.handle(w, r, args, func() (proto.Message, error) { + return p.c.LoadPackage(args) + }) +} + func (p *restServer) handle_FormatCode(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { var args = new(gpyrpc.FormatCode_Args) p.handle(w, r, args, func() (proto.Message, error) { diff --git a/pkg/spec/gpyrpc/gpyrpc.pb.go b/pkg/spec/gpyrpc/gpyrpc.pb.go index 45e7ab56..7ed7591c 100644 --- a/pkg/spec/gpyrpc/gpyrpc.pb.go +++ b/pkg/spec/gpyrpc/gpyrpc.pb.go @@ -1,4 +1,4 @@ -// Copyright 2023 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. // // This file defines the request parameters and return structure of the KCL RPC server. @@ -704,7 +704,7 @@ type ParseProgram_Result struct { unknownFields protoimpl.UnknownFields AstJson string `protobuf:"bytes,1,opt,name=ast_json,json=astJson,proto3" json:"ast_json,omitempty"` // JSON string value - Paths []string `protobuf:"bytes,2,rep,name=paths,proto3" json:"paths,omitempty"` // Return the files in the order they should be compiled + Paths []string `protobuf:"bytes,2,rep,name=paths,proto3" json:"paths,omitempty"` // Returns the files in the order they should be compiled Errors []*Error `protobuf:"bytes,3,rep,name=errors,proto3" json:"errors,omitempty"` // Parse errors } @@ -761,6 +761,488 @@ func (x *ParseProgram_Result) GetErrors() []*Error { return nil } +type LoadPackage_Args struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ParseArgs *ParseProgram_Args `protobuf:"bytes,1,opt,name=parse_args,json=parseArgs,proto3" json:"parse_args,omitempty"` + ResolveAst bool `protobuf:"varint,2,opt,name=resolve_ast,json=resolveAst,proto3" json:"resolve_ast,omitempty"` + LoadBuiltin bool `protobuf:"varint,3,opt,name=load_builtin,json=loadBuiltin,proto3" json:"load_builtin,omitempty"` + WithAstIndex bool `protobuf:"varint,4,opt,name=with_ast_index,json=withAstIndex,proto3" json:"with_ast_index,omitempty"` +} + +func (x *LoadPackage_Args) Reset() { + *x = LoadPackage_Args{} + if protoimpl.UnsafeEnabled { + mi := &file_gpyrpc_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoadPackage_Args) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoadPackage_Args) ProtoMessage() {} + +func (x *LoadPackage_Args) ProtoReflect() protoreflect.Message { + mi := &file_gpyrpc_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LoadPackage_Args.ProtoReflect.Descriptor instead. +func (*LoadPackage_Args) Descriptor() ([]byte, []int) { + return file_gpyrpc_proto_rawDescGZIP(), []int{13} +} + +func (x *LoadPackage_Args) GetParseArgs() *ParseProgram_Args { + if x != nil { + return x.ParseArgs + } + return nil +} + +func (x *LoadPackage_Args) GetResolveAst() bool { + if x != nil { + return x.ResolveAst + } + return false +} + +func (x *LoadPackage_Args) GetLoadBuiltin() bool { + if x != nil { + return x.LoadBuiltin + } + return false +} + +func (x *LoadPackage_Args) GetWithAstIndex() bool { + if x != nil { + return x.WithAstIndex + } + return false +} + +type LoadPackage_Result struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Program string `protobuf:"bytes,1,opt,name=program,proto3" json:"program,omitempty"` // JSON string value + Paths []string `protobuf:"bytes,2,rep,name=paths,proto3" json:"paths,omitempty"` // Returns the files in the order they should be compiled + ParseErrors []*Error `protobuf:"bytes,3,rep,name=parse_errors,json=parseErrors,proto3" json:"parse_errors,omitempty"` // Parse errors + TypeErrors []*Error `protobuf:"bytes,4,rep,name=type_errors,json=typeErrors,proto3" json:"type_errors,omitempty"` // Type errors + Scopes map[string]*Scope `protobuf:"bytes,5,rep,name=scopes,proto3" json:"scopes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Map key is the ScopeIndex json string. + Symbols map[string]*Symbol `protobuf:"bytes,6,rep,name=symbols,proto3" json:"symbols,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Map key is the SymbolIndex json string. + NodeSymbolMap map[string]*SymbolIndex `protobuf:"bytes,7,rep,name=node_symbol_map,json=nodeSymbolMap,proto3" json:"node_symbol_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Map key is the AST index UUID string. + SymbolNodeMap map[string]string `protobuf:"bytes,8,rep,name=symbol_node_map,json=symbolNodeMap,proto3" json:"symbol_node_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Map key is the SymbolIndex json string. + FullyQualifiedNameMap map[string]*SymbolIndex `protobuf:"bytes,9,rep,name=fully_qualified_name_map,json=fullyQualifiedNameMap,proto3" json:"fully_qualified_name_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Map key is the fully_qualified_name e.g. `pkg.Name` + PkgScopeMap map[string]*ScopeIndex `protobuf:"bytes,10,rep,name=pkg_scope_map,json=pkgScopeMap,proto3" json:"pkg_scope_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Map key is the package path. +} + +func (x *LoadPackage_Result) Reset() { + *x = LoadPackage_Result{} + if protoimpl.UnsafeEnabled { + mi := &file_gpyrpc_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoadPackage_Result) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoadPackage_Result) ProtoMessage() {} + +func (x *LoadPackage_Result) ProtoReflect() protoreflect.Message { + mi := &file_gpyrpc_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LoadPackage_Result.ProtoReflect.Descriptor instead. +func (*LoadPackage_Result) Descriptor() ([]byte, []int) { + return file_gpyrpc_proto_rawDescGZIP(), []int{14} +} + +func (x *LoadPackage_Result) GetProgram() string { + if x != nil { + return x.Program + } + return "" +} + +func (x *LoadPackage_Result) GetPaths() []string { + if x != nil { + return x.Paths + } + return nil +} + +func (x *LoadPackage_Result) GetParseErrors() []*Error { + if x != nil { + return x.ParseErrors + } + return nil +} + +func (x *LoadPackage_Result) GetTypeErrors() []*Error { + if x != nil { + return x.TypeErrors + } + return nil +} + +func (x *LoadPackage_Result) GetScopes() map[string]*Scope { + if x != nil { + return x.Scopes + } + return nil +} + +func (x *LoadPackage_Result) GetSymbols() map[string]*Symbol { + if x != nil { + return x.Symbols + } + return nil +} + +func (x *LoadPackage_Result) GetNodeSymbolMap() map[string]*SymbolIndex { + if x != nil { + return x.NodeSymbolMap + } + return nil +} + +func (x *LoadPackage_Result) GetSymbolNodeMap() map[string]string { + if x != nil { + return x.SymbolNodeMap + } + return nil +} + +func (x *LoadPackage_Result) GetFullyQualifiedNameMap() map[string]*SymbolIndex { + if x != nil { + return x.FullyQualifiedNameMap + } + return nil +} + +func (x *LoadPackage_Result) GetPkgScopeMap() map[string]*ScopeIndex { + if x != nil { + return x.PkgScopeMap + } + return nil +} + +type Symbol struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ty *KclType `protobuf:"bytes,1,opt,name=ty,proto3" json:"ty,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Owner *SymbolIndex `protobuf:"bytes,3,opt,name=owner,proto3" json:"owner,omitempty"` + Def *SymbolIndex `protobuf:"bytes,4,opt,name=def,proto3" json:"def,omitempty"` + Attrs []*SymbolIndex `protobuf:"bytes,5,rep,name=attrs,proto3" json:"attrs,omitempty"` + IsGlobal bool `protobuf:"varint,6,opt,name=is_global,json=isGlobal,proto3" json:"is_global,omitempty"` +} + +func (x *Symbol) Reset() { + *x = Symbol{} + if protoimpl.UnsafeEnabled { + mi := &file_gpyrpc_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Symbol) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Symbol) ProtoMessage() {} + +func (x *Symbol) ProtoReflect() protoreflect.Message { + mi := &file_gpyrpc_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Symbol.ProtoReflect.Descriptor instead. +func (*Symbol) Descriptor() ([]byte, []int) { + return file_gpyrpc_proto_rawDescGZIP(), []int{15} +} + +func (x *Symbol) GetTy() *KclType { + if x != nil { + return x.Ty + } + return nil +} + +func (x *Symbol) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Symbol) GetOwner() *SymbolIndex { + if x != nil { + return x.Owner + } + return nil +} + +func (x *Symbol) GetDef() *SymbolIndex { + if x != nil { + return x.Def + } + return nil +} + +func (x *Symbol) GetAttrs() []*SymbolIndex { + if x != nil { + return x.Attrs + } + return nil +} + +func (x *Symbol) GetIsGlobal() bool { + if x != nil { + return x.IsGlobal + } + return false +} + +type Scope struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"` + Parent *ScopeIndex `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"` + Owner *SymbolIndex `protobuf:"bytes,3,opt,name=owner,proto3" json:"owner,omitempty"` + Children []*ScopeIndex `protobuf:"bytes,4,rep,name=children,proto3" json:"children,omitempty"` + Defs []*SymbolIndex `protobuf:"bytes,5,rep,name=defs,proto3" json:"defs,omitempty"` +} + +func (x *Scope) Reset() { + *x = Scope{} + if protoimpl.UnsafeEnabled { + mi := &file_gpyrpc_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Scope) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Scope) ProtoMessage() {} + +func (x *Scope) ProtoReflect() protoreflect.Message { + mi := &file_gpyrpc_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Scope.ProtoReflect.Descriptor instead. +func (*Scope) Descriptor() ([]byte, []int) { + return file_gpyrpc_proto_rawDescGZIP(), []int{16} +} + +func (x *Scope) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *Scope) GetParent() *ScopeIndex { + if x != nil { + return x.Parent + } + return nil +} + +func (x *Scope) GetOwner() *SymbolIndex { + if x != nil { + return x.Owner + } + return nil +} + +func (x *Scope) GetChildren() []*ScopeIndex { + if x != nil { + return x.Children + } + return nil +} + +func (x *Scope) GetDefs() []*SymbolIndex { + if x != nil { + return x.Defs + } + return nil +} + +type SymbolIndex struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + I uint64 `protobuf:"varint,1,opt,name=i,proto3" json:"i,omitempty"` + G uint64 `protobuf:"varint,2,opt,name=g,proto3" json:"g,omitempty"` + Kind string `protobuf:"bytes,3,opt,name=kind,proto3" json:"kind,omitempty"` +} + +func (x *SymbolIndex) Reset() { + *x = SymbolIndex{} + if protoimpl.UnsafeEnabled { + mi := &file_gpyrpc_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SymbolIndex) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SymbolIndex) ProtoMessage() {} + +func (x *SymbolIndex) ProtoReflect() protoreflect.Message { + mi := &file_gpyrpc_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SymbolIndex.ProtoReflect.Descriptor instead. +func (*SymbolIndex) Descriptor() ([]byte, []int) { + return file_gpyrpc_proto_rawDescGZIP(), []int{17} +} + +func (x *SymbolIndex) GetI() uint64 { + if x != nil { + return x.I + } + return 0 +} + +func (x *SymbolIndex) GetG() uint64 { + if x != nil { + return x.G + } + return 0 +} + +func (x *SymbolIndex) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +type ScopeIndex struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + I uint64 `protobuf:"varint,1,opt,name=i,proto3" json:"i,omitempty"` + G uint64 `protobuf:"varint,2,opt,name=g,proto3" json:"g,omitempty"` + Kind string `protobuf:"bytes,3,opt,name=kind,proto3" json:"kind,omitempty"` +} + +func (x *ScopeIndex) Reset() { + *x = ScopeIndex{} + if protoimpl.UnsafeEnabled { + mi := &file_gpyrpc_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ScopeIndex) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ScopeIndex) ProtoMessage() {} + +func (x *ScopeIndex) ProtoReflect() protoreflect.Message { + mi := &file_gpyrpc_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ScopeIndex.ProtoReflect.Descriptor instead. +func (*ScopeIndex) Descriptor() ([]byte, []int) { + return file_gpyrpc_proto_rawDescGZIP(), []int{18} +} + +func (x *ScopeIndex) GetI() uint64 { + if x != nil { + return x.I + } + return 0 +} + +func (x *ScopeIndex) GetG() uint64 { + if x != nil { + return x.G + } + return 0 +} + +func (x *ScopeIndex) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + type ExecProgram_Args struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -796,7 +1278,7 @@ type ExecProgram_Args struct { func (x *ExecProgram_Args) Reset() { *x = ExecProgram_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[13] + mi := &file_gpyrpc_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -809,7 +1291,7 @@ func (x *ExecProgram_Args) String() string { func (*ExecProgram_Args) ProtoMessage() {} func (x *ExecProgram_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[13] + mi := &file_gpyrpc_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -822,7 +1304,7 @@ func (x *ExecProgram_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use ExecProgram_Args.ProtoReflect.Descriptor instead. func (*ExecProgram_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{13} + return file_gpyrpc_proto_rawDescGZIP(), []int{19} } func (x *ExecProgram_Args) GetWorkDir() string { @@ -951,7 +1433,7 @@ type ExecProgram_Result struct { func (x *ExecProgram_Result) Reset() { *x = ExecProgram_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[14] + mi := &file_gpyrpc_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -964,7 +1446,7 @@ func (x *ExecProgram_Result) String() string { func (*ExecProgram_Result) ProtoMessage() {} func (x *ExecProgram_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[14] + mi := &file_gpyrpc_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -977,7 +1459,7 @@ func (x *ExecProgram_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use ExecProgram_Result.ProtoReflect.Descriptor instead. func (*ExecProgram_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{14} + return file_gpyrpc_proto_rawDescGZIP(), []int{20} } func (x *ExecProgram_Result) GetJsonResult() string { @@ -1019,7 +1501,7 @@ type ResetPlugin_Args struct { func (x *ResetPlugin_Args) Reset() { *x = ResetPlugin_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[15] + mi := &file_gpyrpc_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1032,7 +1514,7 @@ func (x *ResetPlugin_Args) String() string { func (*ResetPlugin_Args) ProtoMessage() {} func (x *ResetPlugin_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[15] + mi := &file_gpyrpc_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1045,7 +1527,7 @@ func (x *ResetPlugin_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use ResetPlugin_Args.ProtoReflect.Descriptor instead. func (*ResetPlugin_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{15} + return file_gpyrpc_proto_rawDescGZIP(), []int{21} } func (x *ResetPlugin_Args) GetPluginRoot() string { @@ -1064,7 +1546,7 @@ type ResetPlugin_Result struct { func (x *ResetPlugin_Result) Reset() { *x = ResetPlugin_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[16] + mi := &file_gpyrpc_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1077,7 +1559,7 @@ func (x *ResetPlugin_Result) String() string { func (*ResetPlugin_Result) ProtoMessage() {} func (x *ResetPlugin_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[16] + mi := &file_gpyrpc_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1090,7 +1572,7 @@ func (x *ResetPlugin_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use ResetPlugin_Result.ProtoReflect.Descriptor instead. func (*ResetPlugin_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{16} + return file_gpyrpc_proto_rawDescGZIP(), []int{22} } type FormatCode_Args struct { @@ -1104,7 +1586,7 @@ type FormatCode_Args struct { func (x *FormatCode_Args) Reset() { *x = FormatCode_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[17] + mi := &file_gpyrpc_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1117,7 +1599,7 @@ func (x *FormatCode_Args) String() string { func (*FormatCode_Args) ProtoMessage() {} func (x *FormatCode_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[17] + mi := &file_gpyrpc_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1130,7 +1612,7 @@ func (x *FormatCode_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use FormatCode_Args.ProtoReflect.Descriptor instead. func (*FormatCode_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{17} + return file_gpyrpc_proto_rawDescGZIP(), []int{23} } func (x *FormatCode_Args) GetSource() string { @@ -1151,7 +1633,7 @@ type FormatCode_Result struct { func (x *FormatCode_Result) Reset() { *x = FormatCode_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[18] + mi := &file_gpyrpc_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1164,7 +1646,7 @@ func (x *FormatCode_Result) String() string { func (*FormatCode_Result) ProtoMessage() {} func (x *FormatCode_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[18] + mi := &file_gpyrpc_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1177,7 +1659,7 @@ func (x *FormatCode_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use FormatCode_Result.ProtoReflect.Descriptor instead. func (*FormatCode_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{18} + return file_gpyrpc_proto_rawDescGZIP(), []int{24} } func (x *FormatCode_Result) GetFormatted() []byte { @@ -1198,7 +1680,7 @@ type FormatPath_Args struct { func (x *FormatPath_Args) Reset() { *x = FormatPath_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[19] + mi := &file_gpyrpc_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1211,7 +1693,7 @@ func (x *FormatPath_Args) String() string { func (*FormatPath_Args) ProtoMessage() {} func (x *FormatPath_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[19] + mi := &file_gpyrpc_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1224,7 +1706,7 @@ func (x *FormatPath_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use FormatPath_Args.ProtoReflect.Descriptor instead. func (*FormatPath_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{19} + return file_gpyrpc_proto_rawDescGZIP(), []int{25} } func (x *FormatPath_Args) GetPath() string { @@ -1245,7 +1727,7 @@ type FormatPath_Result struct { func (x *FormatPath_Result) Reset() { *x = FormatPath_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[20] + mi := &file_gpyrpc_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1258,7 +1740,7 @@ func (x *FormatPath_Result) String() string { func (*FormatPath_Result) ProtoMessage() {} func (x *FormatPath_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[20] + mi := &file_gpyrpc_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1271,7 +1753,7 @@ func (x *FormatPath_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use FormatPath_Result.ProtoReflect.Descriptor instead. func (*FormatPath_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{20} + return file_gpyrpc_proto_rawDescGZIP(), []int{26} } func (x *FormatPath_Result) GetChangedPaths() []string { @@ -1292,7 +1774,7 @@ type LintPath_Args struct { func (x *LintPath_Args) Reset() { *x = LintPath_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[21] + mi := &file_gpyrpc_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1305,7 +1787,7 @@ func (x *LintPath_Args) String() string { func (*LintPath_Args) ProtoMessage() {} func (x *LintPath_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[21] + mi := &file_gpyrpc_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1318,7 +1800,7 @@ func (x *LintPath_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use LintPath_Args.ProtoReflect.Descriptor instead. func (*LintPath_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{21} + return file_gpyrpc_proto_rawDescGZIP(), []int{27} } func (x *LintPath_Args) GetPaths() []string { @@ -1339,7 +1821,7 @@ type LintPath_Result struct { func (x *LintPath_Result) Reset() { *x = LintPath_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[22] + mi := &file_gpyrpc_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1352,7 +1834,7 @@ func (x *LintPath_Result) String() string { func (*LintPath_Result) ProtoMessage() {} func (x *LintPath_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[22] + mi := &file_gpyrpc_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1365,7 +1847,7 @@ func (x *LintPath_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use LintPath_Result.ProtoReflect.Descriptor instead. func (*LintPath_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{22} + return file_gpyrpc_proto_rawDescGZIP(), []int{28} } func (x *LintPath_Result) GetResults() []string { @@ -1388,7 +1870,7 @@ type OverrideFile_Args struct { func (x *OverrideFile_Args) Reset() { *x = OverrideFile_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[23] + mi := &file_gpyrpc_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1401,7 +1883,7 @@ func (x *OverrideFile_Args) String() string { func (*OverrideFile_Args) ProtoMessage() {} func (x *OverrideFile_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[23] + mi := &file_gpyrpc_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1414,7 +1896,7 @@ func (x *OverrideFile_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use OverrideFile_Args.ProtoReflect.Descriptor instead. func (*OverrideFile_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{23} + return file_gpyrpc_proto_rawDescGZIP(), []int{29} } func (x *OverrideFile_Args) GetFile() string { @@ -1449,7 +1931,7 @@ type OverrideFile_Result struct { func (x *OverrideFile_Result) Reset() { *x = OverrideFile_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[24] + mi := &file_gpyrpc_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1462,7 +1944,7 @@ func (x *OverrideFile_Result) String() string { func (*OverrideFile_Result) ProtoMessage() {} func (x *OverrideFile_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[24] + mi := &file_gpyrpc_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1475,7 +1957,7 @@ func (x *OverrideFile_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use OverrideFile_Result.ProtoReflect.Descriptor instead. func (*OverrideFile_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{24} + return file_gpyrpc_proto_rawDescGZIP(), []int{30} } func (x *OverrideFile_Result) GetResult() bool { @@ -1497,7 +1979,7 @@ type GetFullSchemaType_Args struct { func (x *GetFullSchemaType_Args) Reset() { *x = GetFullSchemaType_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[25] + mi := &file_gpyrpc_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1510,7 +1992,7 @@ func (x *GetFullSchemaType_Args) String() string { func (*GetFullSchemaType_Args) ProtoMessage() {} func (x *GetFullSchemaType_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[25] + mi := &file_gpyrpc_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1523,7 +2005,7 @@ func (x *GetFullSchemaType_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use GetFullSchemaType_Args.ProtoReflect.Descriptor instead. func (*GetFullSchemaType_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{25} + return file_gpyrpc_proto_rawDescGZIP(), []int{31} } func (x *GetFullSchemaType_Args) GetExecArgs() *ExecProgram_Args { @@ -1553,7 +2035,7 @@ type GetSchemaType_Args struct { func (x *GetSchemaType_Args) Reset() { *x = GetSchemaType_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[26] + mi := &file_gpyrpc_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1566,7 +2048,7 @@ func (x *GetSchemaType_Args) String() string { func (*GetSchemaType_Args) ProtoMessage() {} func (x *GetSchemaType_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[26] + mi := &file_gpyrpc_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1579,7 +2061,7 @@ func (x *GetSchemaType_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSchemaType_Args.ProtoReflect.Descriptor instead. func (*GetSchemaType_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{26} + return file_gpyrpc_proto_rawDescGZIP(), []int{32} } func (x *GetSchemaType_Args) GetFile() string { @@ -1614,7 +2096,7 @@ type GetSchemaType_Result struct { func (x *GetSchemaType_Result) Reset() { *x = GetSchemaType_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[27] + mi := &file_gpyrpc_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1627,7 +2109,7 @@ func (x *GetSchemaType_Result) String() string { func (*GetSchemaType_Result) ProtoMessage() {} func (x *GetSchemaType_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[27] + mi := &file_gpyrpc_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1640,7 +2122,7 @@ func (x *GetSchemaType_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSchemaType_Result.ProtoReflect.Descriptor instead. func (*GetSchemaType_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{27} + return file_gpyrpc_proto_rawDescGZIP(), []int{33} } func (x *GetSchemaType_Result) GetSchemaTypeList() []*KclType { @@ -1663,7 +2145,7 @@ type GetSchemaTypeMapping_Args struct { func (x *GetSchemaTypeMapping_Args) Reset() { *x = GetSchemaTypeMapping_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[28] + mi := &file_gpyrpc_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1676,7 +2158,7 @@ func (x *GetSchemaTypeMapping_Args) String() string { func (*GetSchemaTypeMapping_Args) ProtoMessage() {} func (x *GetSchemaTypeMapping_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[28] + mi := &file_gpyrpc_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1689,7 +2171,7 @@ func (x *GetSchemaTypeMapping_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSchemaTypeMapping_Args.ProtoReflect.Descriptor instead. func (*GetSchemaTypeMapping_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{28} + return file_gpyrpc_proto_rawDescGZIP(), []int{34} } func (x *GetSchemaTypeMapping_Args) GetFile() string { @@ -1724,7 +2206,7 @@ type GetSchemaTypeMapping_Result struct { func (x *GetSchemaTypeMapping_Result) Reset() { *x = GetSchemaTypeMapping_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[29] + mi := &file_gpyrpc_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1737,7 +2219,7 @@ func (x *GetSchemaTypeMapping_Result) String() string { func (*GetSchemaTypeMapping_Result) ProtoMessage() {} func (x *GetSchemaTypeMapping_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[29] + mi := &file_gpyrpc_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1750,7 +2232,7 @@ func (x *GetSchemaTypeMapping_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSchemaTypeMapping_Result.ProtoReflect.Descriptor instead. func (*GetSchemaTypeMapping_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{29} + return file_gpyrpc_proto_rawDescGZIP(), []int{35} } func (x *GetSchemaTypeMapping_Result) GetSchemaTypeMapping() map[string]*KclType { @@ -1776,7 +2258,7 @@ type ValidateCode_Args struct { func (x *ValidateCode_Args) Reset() { *x = ValidateCode_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[30] + mi := &file_gpyrpc_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1789,7 +2271,7 @@ func (x *ValidateCode_Args) String() string { func (*ValidateCode_Args) ProtoMessage() {} func (x *ValidateCode_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[30] + mi := &file_gpyrpc_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1802,7 +2284,7 @@ func (x *ValidateCode_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateCode_Args.ProtoReflect.Descriptor instead. func (*ValidateCode_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{30} + return file_gpyrpc_proto_rawDescGZIP(), []int{36} } func (x *ValidateCode_Args) GetData() string { @@ -1859,7 +2341,7 @@ type ValidateCode_Result struct { func (x *ValidateCode_Result) Reset() { *x = ValidateCode_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[31] + mi := &file_gpyrpc_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1872,7 +2354,7 @@ func (x *ValidateCode_Result) String() string { func (*ValidateCode_Result) ProtoMessage() {} func (x *ValidateCode_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[31] + mi := &file_gpyrpc_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1885,7 +2367,7 @@ func (x *ValidateCode_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateCode_Result.ProtoReflect.Descriptor instead. func (*ValidateCode_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{31} + return file_gpyrpc_proto_rawDescGZIP(), []int{37} } func (x *ValidateCode_Result) GetSuccess() bool { @@ -1915,7 +2397,7 @@ type Position struct { func (x *Position) Reset() { *x = Position{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[32] + mi := &file_gpyrpc_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1928,7 +2410,7 @@ func (x *Position) String() string { func (*Position) ProtoMessage() {} func (x *Position) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[32] + mi := &file_gpyrpc_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1941,7 +2423,7 @@ func (x *Position) ProtoReflect() protoreflect.Message { // Deprecated: Use Position.ProtoReflect.Descriptor instead. func (*Position) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{32} + return file_gpyrpc_proto_rawDescGZIP(), []int{38} } func (x *Position) GetLine() int64 { @@ -1979,7 +2461,7 @@ type ListDepFiles_Args struct { func (x *ListDepFiles_Args) Reset() { *x = ListDepFiles_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[33] + mi := &file_gpyrpc_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1992,7 +2474,7 @@ func (x *ListDepFiles_Args) String() string { func (*ListDepFiles_Args) ProtoMessage() {} func (x *ListDepFiles_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[33] + mi := &file_gpyrpc_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2005,7 +2487,7 @@ func (x *ListDepFiles_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDepFiles_Args.ProtoReflect.Descriptor instead. func (*ListDepFiles_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{33} + return file_gpyrpc_proto_rawDescGZIP(), []int{39} } func (x *ListDepFiles_Args) GetWorkDir() string { @@ -2049,7 +2531,7 @@ type ListDepFiles_Result struct { func (x *ListDepFiles_Result) Reset() { *x = ListDepFiles_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[34] + mi := &file_gpyrpc_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2062,7 +2544,7 @@ func (x *ListDepFiles_Result) String() string { func (*ListDepFiles_Result) ProtoMessage() {} func (x *ListDepFiles_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[34] + mi := &file_gpyrpc_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2075,7 +2557,7 @@ func (x *ListDepFiles_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDepFiles_Result.ProtoReflect.Descriptor instead. func (*ListDepFiles_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{34} + return file_gpyrpc_proto_rawDescGZIP(), []int{40} } func (x *ListDepFiles_Result) GetPkgroot() string { @@ -2111,7 +2593,7 @@ type LoadSettingsFiles_Args struct { func (x *LoadSettingsFiles_Args) Reset() { *x = LoadSettingsFiles_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[35] + mi := &file_gpyrpc_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2124,7 +2606,7 @@ func (x *LoadSettingsFiles_Args) String() string { func (*LoadSettingsFiles_Args) ProtoMessage() {} func (x *LoadSettingsFiles_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[35] + mi := &file_gpyrpc_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2137,7 +2619,7 @@ func (x *LoadSettingsFiles_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use LoadSettingsFiles_Args.ProtoReflect.Descriptor instead. func (*LoadSettingsFiles_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{35} + return file_gpyrpc_proto_rawDescGZIP(), []int{41} } func (x *LoadSettingsFiles_Args) GetWorkDir() string { @@ -2166,7 +2648,7 @@ type LoadSettingsFiles_Result struct { func (x *LoadSettingsFiles_Result) Reset() { *x = LoadSettingsFiles_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[36] + mi := &file_gpyrpc_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2179,7 +2661,7 @@ func (x *LoadSettingsFiles_Result) String() string { func (*LoadSettingsFiles_Result) ProtoMessage() {} func (x *LoadSettingsFiles_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[36] + mi := &file_gpyrpc_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2192,7 +2674,7 @@ func (x *LoadSettingsFiles_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use LoadSettingsFiles_Result.ProtoReflect.Descriptor instead. func (*LoadSettingsFiles_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{36} + return file_gpyrpc_proto_rawDescGZIP(), []int{42} } func (x *LoadSettingsFiles_Result) GetKclCliConfigs() *CliConfig { @@ -2229,7 +2711,7 @@ type CliConfig struct { func (x *CliConfig) Reset() { *x = CliConfig{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[37] + mi := &file_gpyrpc_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2242,7 +2724,7 @@ func (x *CliConfig) String() string { func (*CliConfig) ProtoMessage() {} func (x *CliConfig) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[37] + mi := &file_gpyrpc_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2255,7 +2737,7 @@ func (x *CliConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use CliConfig.ProtoReflect.Descriptor instead. func (*CliConfig) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{37} + return file_gpyrpc_proto_rawDescGZIP(), []int{43} } func (x *CliConfig) GetFiles() []string { @@ -2340,7 +2822,7 @@ type KeyValuePair struct { func (x *KeyValuePair) Reset() { *x = KeyValuePair{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[38] + mi := &file_gpyrpc_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2353,7 +2835,7 @@ func (x *KeyValuePair) String() string { func (*KeyValuePair) ProtoMessage() {} func (x *KeyValuePair) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[38] + mi := &file_gpyrpc_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2366,7 +2848,7 @@ func (x *KeyValuePair) ProtoReflect() protoreflect.Message { // Deprecated: Use KeyValuePair.ProtoReflect.Descriptor instead. func (*KeyValuePair) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{38} + return file_gpyrpc_proto_rawDescGZIP(), []int{44} } func (x *KeyValuePair) GetKey() string { @@ -2397,7 +2879,7 @@ type Rename_Args struct { func (x *Rename_Args) Reset() { *x = Rename_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[39] + mi := &file_gpyrpc_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2410,7 +2892,7 @@ func (x *Rename_Args) String() string { func (*Rename_Args) ProtoMessage() {} func (x *Rename_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[39] + mi := &file_gpyrpc_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2423,7 +2905,7 @@ func (x *Rename_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use Rename_Args.ProtoReflect.Descriptor instead. func (*Rename_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{39} + return file_gpyrpc_proto_rawDescGZIP(), []int{45} } func (x *Rename_Args) GetPackageRoot() string { @@ -2465,7 +2947,7 @@ type Rename_Result struct { func (x *Rename_Result) Reset() { *x = Rename_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[40] + mi := &file_gpyrpc_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2478,7 +2960,7 @@ func (x *Rename_Result) String() string { func (*Rename_Result) ProtoMessage() {} func (x *Rename_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[40] + mi := &file_gpyrpc_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2491,7 +2973,7 @@ func (x *Rename_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use Rename_Result.ProtoReflect.Descriptor instead. func (*Rename_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{40} + return file_gpyrpc_proto_rawDescGZIP(), []int{46} } func (x *Rename_Result) GetChangedFiles() []string { @@ -2515,7 +2997,7 @@ type RenameCode_Args struct { func (x *RenameCode_Args) Reset() { *x = RenameCode_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[41] + mi := &file_gpyrpc_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2528,7 +3010,7 @@ func (x *RenameCode_Args) String() string { func (*RenameCode_Args) ProtoMessage() {} func (x *RenameCode_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[41] + mi := &file_gpyrpc_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2541,7 +3023,7 @@ func (x *RenameCode_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use RenameCode_Args.ProtoReflect.Descriptor instead. func (*RenameCode_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{41} + return file_gpyrpc_proto_rawDescGZIP(), []int{47} } func (x *RenameCode_Args) GetPackageRoot() string { @@ -2583,7 +3065,7 @@ type RenameCode_Result struct { func (x *RenameCode_Result) Reset() { *x = RenameCode_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[42] + mi := &file_gpyrpc_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2596,7 +3078,7 @@ func (x *RenameCode_Result) String() string { func (*RenameCode_Result) ProtoMessage() {} func (x *RenameCode_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[42] + mi := &file_gpyrpc_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2609,7 +3091,7 @@ func (x *RenameCode_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use RenameCode_Result.ProtoReflect.Descriptor instead. func (*RenameCode_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{42} + return file_gpyrpc_proto_rawDescGZIP(), []int{48} } func (x *RenameCode_Result) GetChangedCodes() map[string]string { @@ -2633,7 +3115,7 @@ type Test_Args struct { func (x *Test_Args) Reset() { *x = Test_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[43] + mi := &file_gpyrpc_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2646,7 +3128,7 @@ func (x *Test_Args) String() string { func (*Test_Args) ProtoMessage() {} func (x *Test_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[43] + mi := &file_gpyrpc_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2659,7 +3141,7 @@ func (x *Test_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use Test_Args.ProtoReflect.Descriptor instead. func (*Test_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{43} + return file_gpyrpc_proto_rawDescGZIP(), []int{49} } func (x *Test_Args) GetExecArgs() *ExecProgram_Args { @@ -2701,7 +3183,7 @@ type Test_Result struct { func (x *Test_Result) Reset() { *x = Test_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[44] + mi := &file_gpyrpc_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2714,7 +3196,7 @@ func (x *Test_Result) String() string { func (*Test_Result) ProtoMessage() {} func (x *Test_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[44] + mi := &file_gpyrpc_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2727,7 +3209,7 @@ func (x *Test_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use Test_Result.ProtoReflect.Descriptor instead. func (*Test_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{44} + return file_gpyrpc_proto_rawDescGZIP(), []int{50} } func (x *Test_Result) GetInfo() []*TestCaseInfo { @@ -2751,7 +3233,7 @@ type TestCaseInfo struct { func (x *TestCaseInfo) Reset() { *x = TestCaseInfo{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[45] + mi := &file_gpyrpc_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2764,7 +3246,7 @@ func (x *TestCaseInfo) String() string { func (*TestCaseInfo) ProtoMessage() {} func (x *TestCaseInfo) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[45] + mi := &file_gpyrpc_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2777,7 +3259,7 @@ func (x *TestCaseInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use TestCaseInfo.ProtoReflect.Descriptor instead. func (*TestCaseInfo) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{45} + return file_gpyrpc_proto_rawDescGZIP(), []int{51} } func (x *TestCaseInfo) GetName() string { @@ -2833,7 +3315,7 @@ type KclType struct { func (x *KclType) Reset() { *x = KclType{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[46] + mi := &file_gpyrpc_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2846,7 +3328,7 @@ func (x *KclType) String() string { func (*KclType) ProtoMessage() {} func (x *KclType) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[46] + mi := &file_gpyrpc_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2859,7 +3341,7 @@ func (x *KclType) ProtoReflect() protoreflect.Message { // Deprecated: Use KclType.ProtoReflect.Descriptor instead. func (*KclType) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{46} + return file_gpyrpc_proto_rawDescGZIP(), []int{52} } func (x *KclType) GetType() string { @@ -2980,7 +3462,7 @@ type Decorator struct { func (x *Decorator) Reset() { *x = Decorator{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[47] + mi := &file_gpyrpc_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2993,7 +3475,7 @@ func (x *Decorator) String() string { func (*Decorator) ProtoMessage() {} func (x *Decorator) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[47] + mi := &file_gpyrpc_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3006,7 +3488,7 @@ func (x *Decorator) ProtoReflect() protoreflect.Message { // Deprecated: Use Decorator.ProtoReflect.Descriptor instead. func (*Decorator) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{47} + return file_gpyrpc_proto_rawDescGZIP(), []int{53} } func (x *Decorator) GetName() string { @@ -3043,7 +3525,7 @@ type Example struct { func (x *Example) Reset() { *x = Example{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[48] + mi := &file_gpyrpc_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3056,7 +3538,7 @@ func (x *Example) String() string { func (*Example) ProtoMessage() {} func (x *Example) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[48] + mi := &file_gpyrpc_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3069,7 +3551,7 @@ func (x *Example) ProtoReflect() protoreflect.Message { // Deprecated: Use Example.ProtoReflect.Descriptor instead. func (*Example) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{48} + return file_gpyrpc_proto_rawDescGZIP(), []int{54} } func (x *Example) GetSummary() string { @@ -3163,349 +3645,471 @@ var file_gpyrpc_proto_rawDesc = []byte{ 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x12, 0x25, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x92, 0x05, 0x0a, 0x10, 0x45, - 0x78, 0x65, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, - 0x19, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x69, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x6b, 0x5f, - 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6b, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x6b, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x73, - 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6b, 0x43, 0x6f, 0x64, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6d, 0x64, 0x41, 0x72, 0x67, - 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x6f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6d, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x79, 0x61, 0x6d, - 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, - 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x59, 0x61, 0x6d, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, - 0x69, 0x64, 0x65, 0x5f, 0x61, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, - 0x72, 0x69, 0x6e, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x41, 0x73, 0x74, 0x12, - 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x74, 0x72, - 0x69, 0x63, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x21, 0x0a, - 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x6e, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, - 0x62, 0x75, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, - 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x6f, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x3f, 0x0a, - 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6b, 0x67, 0x73, 0x18, 0x0d, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6d, - 0x64, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6b, 0x67, 0x53, 0x70, 0x65, 0x63, - 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6b, 0x67, 0x73, 0x12, 0x37, - 0x0a, 0x18, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, - 0x79, 0x70, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x69, - 0x6c, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, - 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, - 0x74, 0x68, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x11, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, - 0x98, 0x01, 0x0a, 0x12, 0x45, 0x78, 0x65, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6a, 0x73, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x79, 0x61, 0x6d, 0x6c, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x79, 0x61, - 0x6d, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x5f, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, - 0x6f, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x72, 0x72, - 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x65, 0x72, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x33, 0x0a, 0x10, 0x52, 0x65, - 0x73, 0x65, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x1f, - 0x0a, 0x0b, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x6f, 0x6f, 0x74, 0x22, - 0x14, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x65, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x29, 0x0a, 0x0f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, - 0x6f, 0x64, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0x31, 0x0a, 0x11, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, - 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x74, 0x65, 0x64, 0x22, 0x25, 0x0a, 0x0f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x50, 0x61, 0x74, - 0x68, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x38, 0x0a, 0x11, 0x46, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x50, 0x61, 0x74, 0x68, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, - 0x61, 0x74, 0x68, 0x73, 0x22, 0x25, 0x0a, 0x0d, 0x4c, 0x69, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, - 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x22, 0x2b, 0x0a, 0x0f, 0x4c, - 0x69, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x60, 0x0a, 0x11, 0x4f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x05, 0x73, 0x70, 0x65, 0x63, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6d, 0x70, 0x6f, 0x72, - 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x69, - 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x74, 0x68, 0x73, 0x22, 0x2d, 0x0a, 0x13, 0x4f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x70, 0x0a, 0x16, 0x47, 0x65, 0x74, - 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, - 0x72, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x61, 0x72, 0x67, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, - 0x45, 0x78, 0x65, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, 0x72, 0x67, 0x73, - 0x52, 0x08, 0x65, 0x78, 0x65, 0x63, 0x41, 0x72, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x5d, 0x0a, 0x12, 0x47, - 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x72, 0x67, - 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x51, 0x0a, 0x14, 0x47, 0x65, - 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x39, 0x0a, 0x10, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, - 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x64, 0x0a, - 0x19, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, - 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, - 0x61, 0x6d, 0x65, 0x22, 0xe0, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x6a, 0x0a, 0x13, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x3a, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, - 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x1a, - 0x55, 0x0a, 0x16, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, - 0x70, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, - 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa6, 0x01, 0x0a, 0x11, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, - 0x50, 0x0a, 0x13, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x22, 0x52, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, - 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, - 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, - 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, - 0x70, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, - 0x6f, 0x72, 0x6b, 0x44, 0x69, 0x72, 0x12, 0x20, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x5f, 0x61, 0x62, - 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x75, 0x73, - 0x65, 0x41, 0x62, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x75, 0x73, 0x65, - 0x5f, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x46, 0x61, 0x73, 0x74, 0x50, 0x61, 0x72, 0x73, 0x65, - 0x72, 0x22, 0x5f, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x46, 0x69, 0x6c, 0x65, - 0x73, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6b, 0x67, 0x72, - 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6b, 0x67, 0x72, 0x6f, - 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6b, 0x67, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6b, 0x67, 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, - 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x6c, - 0x65, 0x73, 0x22, 0x49, 0x0a, 0x16, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, - 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x69, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0x8c, 0x01, - 0x0a, 0x18, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x46, 0x69, - 0x6c, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x39, 0x0a, 0x0f, 0x6b, 0x63, - 0x6c, 0x5f, 0x63, 0x6c, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x69, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6b, 0x63, 0x6c, 0x43, 0x6c, 0x69, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x0b, 0x6b, 0x63, 0x6c, 0x5f, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x70, 0x79, - 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, - 0x52, 0x0a, 0x6b, 0x63, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xd3, 0x02, 0x0a, - 0x09, 0x43, 0x6c, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, - 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, - 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x70, - 0x61, 0x74, 0x68, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x73, - 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, - 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x12, 0x1b, 0x0a, 0x09, - 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x08, 0x73, 0x6f, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, 0x63, + 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x10, 0x4c, + 0x6f, 0x61, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, + 0x38, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x72, + 0x73, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x52, 0x09, + 0x70, 0x61, 0x72, 0x73, 0x65, 0x41, 0x72, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x5f, 0x61, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x41, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x6f, + 0x61, 0x64, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x12, 0x24, 0x0a, + 0x0e, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x61, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x77, 0x69, 0x74, 0x68, 0x41, 0x73, 0x74, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x22, 0xfa, 0x08, 0x0a, 0x12, 0x4c, 0x6f, 0x61, 0x64, 0x50, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x67, 0x72, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x12, 0x30, 0x0a, 0x0c, 0x70, 0x61, + 0x72, 0x73, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0d, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, + 0x0b, 0x70, 0x61, 0x72, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x0b, + 0x74, 0x79, 0x70, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x52, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x3e, 0x0a, 0x06, + 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, + 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x07, + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x12, + 0x55, 0x0a, 0x0f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x5f, 0x6d, + 0x61, 0x70, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, + 0x63, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x4d, + 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x53, 0x79, 0x6d, + 0x62, 0x6f, 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x55, 0x0a, 0x0f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, + 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2d, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x50, 0x61, 0x63, + 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x79, 0x6d, 0x62, + 0x6f, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x6e, 0x0a, + 0x18, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x35, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x50, 0x61, 0x63, + 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x46, 0x75, 0x6c, 0x6c, + 0x79, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, + 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x51, 0x75, 0x61, + 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x4f, 0x0a, + 0x0d, 0x70, 0x6b, 0x67, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0a, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, + 0x61, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x2e, 0x50, 0x6b, 0x67, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x0b, 0x70, 0x6b, 0x67, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x1a, 0x48, + 0x0a, 0x0b, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x23, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, + 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4a, 0x0a, 0x0c, 0x53, 0x79, 0x6d, 0x62, + 0x6f, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x67, 0x70, 0x79, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x55, 0x0a, 0x12, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x79, 0x6d, 0x62, + 0x6f, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x70, + 0x79, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x53, + 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5d, 0x0a, + 0x1a, 0x46, 0x75, 0x6c, 0x6c, 0x79, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, + 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, + 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x52, 0x0a, 0x10, + 0x50, 0x6b, 0x67, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x28, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0xd7, 0x01, 0x0a, 0x06, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1f, 0x0a, 0x02, 0x74, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, + 0x2e, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x02, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x29, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x03, 0x64, + 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x03, 0x64, + 0x65, 0x66, 0x12, 0x29, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x79, 0x6d, 0x62, 0x6f, + 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x12, 0x1b, 0x0a, + 0x09, 0x69, 0x73, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x08, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x22, 0xcb, 0x01, 0x0a, 0x05, 0x53, + 0x63, 0x6f, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x79, 0x6d, + 0x62, 0x6f, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, + 0x2e, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, + 0x27, 0x0a, 0x04, 0x64, 0x65, 0x66, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x52, 0x04, 0x64, 0x65, 0x66, 0x73, 0x22, 0x3d, 0x0a, 0x0b, 0x53, 0x79, 0x6d, 0x62, + 0x6f, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x69, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x01, 0x69, 0x12, 0x0c, 0x0a, 0x01, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x01, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x3c, 0x0a, 0x0a, 0x53, 0x63, 0x6f, 0x70, 0x65, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x01, 0x69, 0x12, 0x0c, 0x0a, 0x01, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x01, + 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x92, 0x05, 0x0a, 0x10, 0x45, 0x78, 0x65, 0x63, 0x50, 0x72, + 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x6f, + 0x72, 0x6b, 0x44, 0x69, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x6b, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, + 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, + 0x6b, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x0a, + 0x0b, 0x6b, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x09, 0x6b, 0x43, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, + 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x70, + 0x79, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6d, 0x64, 0x41, 0x72, 0x67, 0x53, 0x70, 0x65, 0x63, 0x52, + 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, + 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, + 0x63, 0x2e, 0x43, 0x6d, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x70, 0x65, + 0x63, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x79, 0x61, 0x6d, 0x6c, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x59, 0x61, 0x6d, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2c, 0x0a, 0x12, + 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x61, + 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x4f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x41, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, + 0x72, 0x69, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, + 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x73, + 0x6f, 0x72, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, + 0x73, 0x6f, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6b, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6d, 0x64, 0x45, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6b, 0x67, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0c, 0x65, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6b, 0x67, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x6e, 0x63, + 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x50, 0x61, - 0x74, 0x68, 0x22, 0x36, 0x0a, 0x0c, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, - 0x69, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x0b, 0x52, - 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x1f, 0x0a, - 0x0b, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1d, - 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x19, 0x0a, - 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6e, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x34, 0x0a, 0x0d, 0x52, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x22, 0xfd, - 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x41, 0x72, - 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x6f, - 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, - 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x5f, - 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x79, 0x6d, 0x62, - 0x6f, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4b, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, - 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, - 0x5f, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, - 0x64, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x3e, - 0x0a, 0x10, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa6, - 0x01, 0x0a, 0x11, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x50, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, - 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x70, - 0x79, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x43, 0x6f, - 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x64, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x1a, 0x3f, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x64, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x99, 0x01, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74, - 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x61, 0x72, - 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, - 0x63, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, 0x72, - 0x67, 0x73, 0x52, 0x08, 0x65, 0x78, 0x65, 0x63, 0x41, 0x72, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, - 0x70, 0x6b, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, - 0x70, 0x6b, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x75, 0x6e, 0x5f, 0x72, - 0x65, 0x67, 0x65, 0x78, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x75, 0x6e, - 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x66, - 0x61, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x46, - 0x61, 0x73, 0x74, 0x22, 0x37, 0x0a, 0x0b, 0x54, 0x65, 0x73, 0x74, 0x5f, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, - 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x75, 0x0a, 0x0c, - 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x22, 0xc7, 0x05, 0x0a, 0x07, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, - 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x75, 0x6e, 0x69, 0x6f, 0x6e, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, - 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x64, 0x6f, 0x63, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x6f, 0x63, 0x12, - 0x3f, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, - 0x54, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, 0x72, - 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x23, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, - 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, - 0x69, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x31, 0x0a, 0x0a, 0x64, 0x65, 0x63, 0x6f, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, - 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, - 0x0a, 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x66, - 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, - 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6b, 0x67, 0x5f, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6b, 0x67, 0x50, 0x61, - 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, - 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, - 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x1a, - 0x4e, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, - 0x4c, 0x0a, 0x0d, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb7, 0x01, - 0x0a, 0x09, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3b, 0x0a, - 0x08, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x2e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x08, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x4b, 0x65, - 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5b, 0x0a, 0x07, 0x45, 0x78, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x32, 0x82, 0x01, 0x0a, 0x0e, 0x42, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, - 0x11, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x5f, 0x41, 0x72, - 0x67, 0x73, 0x1a, 0x13, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, 0x6e, 0x67, - 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x40, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x4d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x17, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x19, - 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x32, 0x9f, 0x09, 0x0a, 0x0c, 0x4b, 0x63, - 0x6c, 0x76, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x50, 0x69, - 0x6e, 0x67, 0x12, 0x11, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, 0x6e, 0x67, - 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x13, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, - 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x43, 0x0a, 0x0b, 0x45, 0x78, - 0x65, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x18, 0x2e, 0x67, 0x70, 0x79, 0x72, - 0x70, 0x63, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, - 0x72, 0x67, 0x73, 0x1a, 0x1a, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x65, - 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x3d, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x16, 0x2e, 0x67, - 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x5f, - 0x41, 0x72, 0x67, 0x73, 0x1a, 0x18, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, - 0x72, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x46, - 0x0a, 0x0c, 0x50, 0x61, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x19, - 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, - 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x1b, 0x2e, 0x67, 0x70, 0x79, 0x72, + 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x5f, 0x6f, 0x6e, + 0x6c, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, + 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x61, + 0x74, 0x68, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x98, 0x01, 0x0a, 0x12, 0x45, + 0x78, 0x65, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x79, 0x61, 0x6d, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x33, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x65, 0x74, 0x50, 0x6c, + 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x6f, 0x6f, 0x74, 0x22, 0x14, 0x0a, 0x12, 0x52, 0x65, + 0x73, 0x65, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x22, 0x29, 0x0a, 0x0f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x41, + 0x72, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x31, 0x0a, 0x11, 0x46, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x22, 0x25, + 0x0a, 0x0f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x50, 0x61, 0x74, 0x68, 0x5f, 0x41, 0x72, 0x67, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x38, 0x0a, 0x11, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x50, + 0x61, 0x74, 0x68, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x22, + 0x25, 0x0a, 0x0d, 0x4c, 0x69, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x5f, 0x41, 0x72, 0x67, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x22, 0x2b, 0x0a, 0x0f, 0x4c, 0x69, 0x6e, 0x74, 0x50, 0x61, + 0x74, 0x68, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x22, 0x60, 0x0a, 0x11, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x46, + 0x69, 0x6c, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x73, 0x70, 0x65, + 0x63, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x50, 0x61, 0x74, 0x68, 0x73, 0x22, 0x2d, 0x0a, 0x13, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, + 0x65, 0x46, 0x69, 0x6c, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x22, 0x70, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x35, + 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x50, + 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x52, 0x08, 0x65, 0x78, 0x65, + 0x63, 0x41, 0x72, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x5d, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x51, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x39, 0x0a, + 0x10, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6c, 0x69, 0x73, + 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, + 0x2e, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x64, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, + 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xe0, + 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, + 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x6a, + 0x0a, 0x13, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6d, 0x61, + 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x70, + 0x79, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, + 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, + 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, + 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x1a, 0x55, 0x0a, 0x16, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, + 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0xa6, 0x01, 0x0a, 0x11, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x64, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x66, + 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x50, 0x0a, 0x13, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, + 0x72, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x65, 0x72, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x52, 0x0a, 0x08, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x99, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x46, 0x69, 0x6c, 0x65, + 0x73, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, + 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x69, + 0x72, 0x12, 0x20, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x5f, 0x61, 0x62, 0x73, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x41, 0x62, 0x73, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, + 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x5f, 0x66, 0x61, 0x73, 0x74, + 0x5f, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x75, + 0x73, 0x65, 0x46, 0x61, 0x73, 0x74, 0x50, 0x61, 0x72, 0x73, 0x65, 0x72, 0x22, 0x5f, 0x0a, 0x13, + 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6b, 0x67, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6b, 0x67, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x70, 0x6b, 0x67, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x70, 0x6b, 0x67, 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0x49, 0x0a, + 0x16, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x46, 0x69, 0x6c, + 0x65, 0x73, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x64, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x44, + 0x69, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x18, 0x4c, 0x6f, 0x61, + 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x39, 0x0a, 0x0f, 0x6b, 0x63, 0x6c, 0x5f, 0x63, 0x6c, 0x69, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, + 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x0d, 0x6b, 0x63, 0x6c, 0x43, 0x6c, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x12, 0x35, 0x0a, 0x0b, 0x6b, 0x63, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, + 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0a, 0x6b, 0x63, 0x6c, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xd3, 0x02, 0x0a, 0x09, 0x43, 0x6c, 0x69, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, + 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x10, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x6e, 0x6f, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, + 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x5f, + 0x6b, 0x65, 0x79, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x6f, 0x72, 0x74, + 0x4b, 0x65, 0x79, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, 0x36, 0x0a, + 0x0c, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, + 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, + 0x6b, 0x61, 0x67, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x79, 0x6d, 0x62, + 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, + 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x6c, + 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x66, + 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x4e, + 0x61, 0x6d, 0x65, 0x22, 0x34, 0x0a, 0x0d, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, + 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x22, 0xfd, 0x01, 0x0a, 0x0f, 0x52, 0x65, + 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x21, 0x0a, + 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x6f, 0x6f, 0x74, + 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x50, 0x61, 0x74, + 0x68, 0x12, 0x4b, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, + 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, + 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x19, + 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6e, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x3e, 0x0a, 0x10, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa6, 0x01, 0x0a, 0x11, 0x52, 0x65, + 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x50, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, + 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, + 0x73, 0x1a, 0x3f, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x99, 0x01, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74, 0x5f, 0x41, 0x72, 0x67, 0x73, + 0x12, 0x35, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x65, + 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x52, 0x08, 0x65, + 0x78, 0x65, 0x63, 0x41, 0x72, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6b, 0x67, 0x5f, 0x6c, + 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6b, 0x67, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x75, 0x6e, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x75, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x78, + 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x66, 0x61, 0x73, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x46, 0x61, 0x73, 0x74, 0x22, 0x37, + 0x0a, 0x0b, 0x54, 0x65, 0x73, 0x74, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x28, 0x0a, + 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x70, + 0x79, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x75, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x43, + 0x61, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, + 0x0b, 0x6c, 0x6f, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xc7, + 0x05, 0x0a, 0x07, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x30, + 0x0a, 0x0b, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x64, 0x6f, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x6f, 0x63, 0x12, 0x3f, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, + 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x2e, + 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x72, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x04, 0x69, 0x74, + 0x65, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, + 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, + 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, + 0x69, 0x6e, 0x65, 0x12, 0x31, 0x0a, 0x0a, 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, + 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x64, 0x65, 0x63, 0x6f, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6b, 0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6b, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x39, 0x0a, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x2e, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x1a, 0x4e, 0x0a, 0x0f, 0x50, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, + 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4c, 0x0a, 0x0d, 0x45, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, + 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb7, 0x01, 0x0a, 0x09, 0x44, 0x65, 0x63, + 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, + 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, + 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x77, + 0x6f, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x70, 0x79, + 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x4b, 0x65, + 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x65, 0x79, + 0x77, 0x6f, 0x72, 0x64, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x5b, 0x0a, 0x07, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x32, + 0x82, 0x01, 0x0a, 0x0e, 0x42, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x11, 0x2e, 0x67, 0x70, 0x79, + 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x13, 0x2e, + 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x12, 0x40, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x12, 0x17, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x19, 0x2e, 0x67, 0x70, 0x79, 0x72, + 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x32, 0xe4, 0x09, 0x0a, 0x0c, 0x4b, 0x63, 0x6c, 0x76, 0x6d, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x11, 0x2e, + 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x5f, 0x41, 0x72, 0x67, 0x73, + 0x1a, 0x13, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x5f, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x43, 0x0a, 0x0b, 0x45, 0x78, 0x65, 0x63, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x61, 0x6d, 0x12, 0x18, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, + 0x65, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x1a, + 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x50, 0x72, 0x6f, 0x67, + 0x72, 0x61, 0x6d, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3d, 0x0a, 0x09, 0x50, 0x61, + 0x72, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, + 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, + 0x18, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x46, 0x69, + 0x6c, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x50, 0x61, 0x72, + 0x73, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x19, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, + 0x41, 0x72, 0x67, 0x73, 0x1a, 0x1b, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, + 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x43, 0x0a, 0x0b, 0x4c, 0x6f, 0x61, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, + 0x12, 0x18, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x50, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x1a, 0x2e, 0x67, 0x70, 0x79, + 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x40, 0x0a, 0x0a, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x19, 0x2e, @@ -3581,7 +4185,7 @@ func file_gpyrpc_proto_rawDescGZIP() []byte { return file_gpyrpc_proto_rawDescData } -var file_gpyrpc_proto_msgTypes = make([]protoimpl.MessageInfo, 55) +var file_gpyrpc_proto_msgTypes = make([]protoimpl.MessageInfo, 67) var file_gpyrpc_proto_goTypes = []interface{}{ (*CmdExternalPkgSpec)(nil), // 0: gpyrpc.CmdExternalPkgSpec (*CmdArgSpec)(nil), // 1: gpyrpc.CmdArgSpec @@ -3596,121 +4200,157 @@ var file_gpyrpc_proto_goTypes = []interface{}{ (*ParseFile_Result)(nil), // 10: gpyrpc.ParseFile_Result (*ParseProgram_Args)(nil), // 11: gpyrpc.ParseProgram_Args (*ParseProgram_Result)(nil), // 12: gpyrpc.ParseProgram_Result - (*ExecProgram_Args)(nil), // 13: gpyrpc.ExecProgram_Args - (*ExecProgram_Result)(nil), // 14: gpyrpc.ExecProgram_Result - (*ResetPlugin_Args)(nil), // 15: gpyrpc.ResetPlugin_Args - (*ResetPlugin_Result)(nil), // 16: gpyrpc.ResetPlugin_Result - (*FormatCode_Args)(nil), // 17: gpyrpc.FormatCode_Args - (*FormatCode_Result)(nil), // 18: gpyrpc.FormatCode_Result - (*FormatPath_Args)(nil), // 19: gpyrpc.FormatPath_Args - (*FormatPath_Result)(nil), // 20: gpyrpc.FormatPath_Result - (*LintPath_Args)(nil), // 21: gpyrpc.LintPath_Args - (*LintPath_Result)(nil), // 22: gpyrpc.LintPath_Result - (*OverrideFile_Args)(nil), // 23: gpyrpc.OverrideFile_Args - (*OverrideFile_Result)(nil), // 24: gpyrpc.OverrideFile_Result - (*GetFullSchemaType_Args)(nil), // 25: gpyrpc.GetFullSchemaType_Args - (*GetSchemaType_Args)(nil), // 26: gpyrpc.GetSchemaType_Args - (*GetSchemaType_Result)(nil), // 27: gpyrpc.GetSchemaType_Result - (*GetSchemaTypeMapping_Args)(nil), // 28: gpyrpc.GetSchemaTypeMapping_Args - (*GetSchemaTypeMapping_Result)(nil), // 29: gpyrpc.GetSchemaTypeMapping_Result - (*ValidateCode_Args)(nil), // 30: gpyrpc.ValidateCode_Args - (*ValidateCode_Result)(nil), // 31: gpyrpc.ValidateCode_Result - (*Position)(nil), // 32: gpyrpc.Position - (*ListDepFiles_Args)(nil), // 33: gpyrpc.ListDepFiles_Args - (*ListDepFiles_Result)(nil), // 34: gpyrpc.ListDepFiles_Result - (*LoadSettingsFiles_Args)(nil), // 35: gpyrpc.LoadSettingsFiles_Args - (*LoadSettingsFiles_Result)(nil), // 36: gpyrpc.LoadSettingsFiles_Result - (*CliConfig)(nil), // 37: gpyrpc.CliConfig - (*KeyValuePair)(nil), // 38: gpyrpc.KeyValuePair - (*Rename_Args)(nil), // 39: gpyrpc.Rename_Args - (*Rename_Result)(nil), // 40: gpyrpc.Rename_Result - (*RenameCode_Args)(nil), // 41: gpyrpc.RenameCode_Args - (*RenameCode_Result)(nil), // 42: gpyrpc.RenameCode_Result - (*Test_Args)(nil), // 43: gpyrpc.Test_Args - (*Test_Result)(nil), // 44: gpyrpc.Test_Result - (*TestCaseInfo)(nil), // 45: gpyrpc.TestCaseInfo - (*KclType)(nil), // 46: gpyrpc.KclType - (*Decorator)(nil), // 47: gpyrpc.Decorator - (*Example)(nil), // 48: gpyrpc.Example - nil, // 49: gpyrpc.GetSchemaTypeMapping_Result.SchemaTypeMappingEntry - nil, // 50: gpyrpc.RenameCode_Args.SourceCodesEntry - nil, // 51: gpyrpc.RenameCode_Result.ChangedCodesEntry - nil, // 52: gpyrpc.KclType.PropertiesEntry - nil, // 53: gpyrpc.KclType.ExamplesEntry - nil, // 54: gpyrpc.Decorator.KeywordsEntry + (*LoadPackage_Args)(nil), // 13: gpyrpc.LoadPackage_Args + (*LoadPackage_Result)(nil), // 14: gpyrpc.LoadPackage_Result + (*Symbol)(nil), // 15: gpyrpc.Symbol + (*Scope)(nil), // 16: gpyrpc.Scope + (*SymbolIndex)(nil), // 17: gpyrpc.SymbolIndex + (*ScopeIndex)(nil), // 18: gpyrpc.ScopeIndex + (*ExecProgram_Args)(nil), // 19: gpyrpc.ExecProgram_Args + (*ExecProgram_Result)(nil), // 20: gpyrpc.ExecProgram_Result + (*ResetPlugin_Args)(nil), // 21: gpyrpc.ResetPlugin_Args + (*ResetPlugin_Result)(nil), // 22: gpyrpc.ResetPlugin_Result + (*FormatCode_Args)(nil), // 23: gpyrpc.FormatCode_Args + (*FormatCode_Result)(nil), // 24: gpyrpc.FormatCode_Result + (*FormatPath_Args)(nil), // 25: gpyrpc.FormatPath_Args + (*FormatPath_Result)(nil), // 26: gpyrpc.FormatPath_Result + (*LintPath_Args)(nil), // 27: gpyrpc.LintPath_Args + (*LintPath_Result)(nil), // 28: gpyrpc.LintPath_Result + (*OverrideFile_Args)(nil), // 29: gpyrpc.OverrideFile_Args + (*OverrideFile_Result)(nil), // 30: gpyrpc.OverrideFile_Result + (*GetFullSchemaType_Args)(nil), // 31: gpyrpc.GetFullSchemaType_Args + (*GetSchemaType_Args)(nil), // 32: gpyrpc.GetSchemaType_Args + (*GetSchemaType_Result)(nil), // 33: gpyrpc.GetSchemaType_Result + (*GetSchemaTypeMapping_Args)(nil), // 34: gpyrpc.GetSchemaTypeMapping_Args + (*GetSchemaTypeMapping_Result)(nil), // 35: gpyrpc.GetSchemaTypeMapping_Result + (*ValidateCode_Args)(nil), // 36: gpyrpc.ValidateCode_Args + (*ValidateCode_Result)(nil), // 37: gpyrpc.ValidateCode_Result + (*Position)(nil), // 38: gpyrpc.Position + (*ListDepFiles_Args)(nil), // 39: gpyrpc.ListDepFiles_Args + (*ListDepFiles_Result)(nil), // 40: gpyrpc.ListDepFiles_Result + (*LoadSettingsFiles_Args)(nil), // 41: gpyrpc.LoadSettingsFiles_Args + (*LoadSettingsFiles_Result)(nil), // 42: gpyrpc.LoadSettingsFiles_Result + (*CliConfig)(nil), // 43: gpyrpc.CliConfig + (*KeyValuePair)(nil), // 44: gpyrpc.KeyValuePair + (*Rename_Args)(nil), // 45: gpyrpc.Rename_Args + (*Rename_Result)(nil), // 46: gpyrpc.Rename_Result + (*RenameCode_Args)(nil), // 47: gpyrpc.RenameCode_Args + (*RenameCode_Result)(nil), // 48: gpyrpc.RenameCode_Result + (*Test_Args)(nil), // 49: gpyrpc.Test_Args + (*Test_Result)(nil), // 50: gpyrpc.Test_Result + (*TestCaseInfo)(nil), // 51: gpyrpc.TestCaseInfo + (*KclType)(nil), // 52: gpyrpc.KclType + (*Decorator)(nil), // 53: gpyrpc.Decorator + (*Example)(nil), // 54: gpyrpc.Example + nil, // 55: gpyrpc.LoadPackage_Result.ScopesEntry + nil, // 56: gpyrpc.LoadPackage_Result.SymbolsEntry + nil, // 57: gpyrpc.LoadPackage_Result.NodeSymbolMapEntry + nil, // 58: gpyrpc.LoadPackage_Result.SymbolNodeMapEntry + nil, // 59: gpyrpc.LoadPackage_Result.FullyQualifiedNameMapEntry + nil, // 60: gpyrpc.LoadPackage_Result.PkgScopeMapEntry + nil, // 61: gpyrpc.GetSchemaTypeMapping_Result.SchemaTypeMappingEntry + nil, // 62: gpyrpc.RenameCode_Args.SourceCodesEntry + nil, // 63: gpyrpc.RenameCode_Result.ChangedCodesEntry + nil, // 64: gpyrpc.KclType.PropertiesEntry + nil, // 65: gpyrpc.KclType.ExamplesEntry + nil, // 66: gpyrpc.Decorator.KeywordsEntry } var file_gpyrpc_proto_depIdxs = []int32{ 4, // 0: gpyrpc.Error.messages:type_name -> gpyrpc.Message - 32, // 1: gpyrpc.Message.pos:type_name -> gpyrpc.Position + 38, // 1: gpyrpc.Message.pos:type_name -> gpyrpc.Position 0, // 2: gpyrpc.ParseFile_Args.external_pkgs:type_name -> gpyrpc.CmdExternalPkgSpec 3, // 3: gpyrpc.ParseFile_Result.errors:type_name -> gpyrpc.Error 0, // 4: gpyrpc.ParseProgram_Args.external_pkgs:type_name -> gpyrpc.CmdExternalPkgSpec 3, // 5: gpyrpc.ParseProgram_Result.errors:type_name -> gpyrpc.Error - 1, // 6: gpyrpc.ExecProgram_Args.args:type_name -> gpyrpc.CmdArgSpec - 2, // 7: gpyrpc.ExecProgram_Args.overrides:type_name -> gpyrpc.CmdOverrideSpec - 0, // 8: gpyrpc.ExecProgram_Args.external_pkgs:type_name -> gpyrpc.CmdExternalPkgSpec - 13, // 9: gpyrpc.GetFullSchemaType_Args.exec_args:type_name -> gpyrpc.ExecProgram_Args - 46, // 10: gpyrpc.GetSchemaType_Result.schema_type_list:type_name -> gpyrpc.KclType - 49, // 11: gpyrpc.GetSchemaTypeMapping_Result.schema_type_mapping:type_name -> gpyrpc.GetSchemaTypeMapping_Result.SchemaTypeMappingEntry - 37, // 12: gpyrpc.LoadSettingsFiles_Result.kcl_cli_configs:type_name -> gpyrpc.CliConfig - 38, // 13: gpyrpc.LoadSettingsFiles_Result.kcl_options:type_name -> gpyrpc.KeyValuePair - 50, // 14: gpyrpc.RenameCode_Args.source_codes:type_name -> gpyrpc.RenameCode_Args.SourceCodesEntry - 51, // 15: gpyrpc.RenameCode_Result.changed_codes:type_name -> gpyrpc.RenameCode_Result.ChangedCodesEntry - 13, // 16: gpyrpc.Test_Args.exec_args:type_name -> gpyrpc.ExecProgram_Args - 45, // 17: gpyrpc.Test_Result.info:type_name -> gpyrpc.TestCaseInfo - 46, // 18: gpyrpc.KclType.union_types:type_name -> gpyrpc.KclType - 52, // 19: gpyrpc.KclType.properties:type_name -> gpyrpc.KclType.PropertiesEntry - 46, // 20: gpyrpc.KclType.key:type_name -> gpyrpc.KclType - 46, // 21: gpyrpc.KclType.item:type_name -> gpyrpc.KclType - 47, // 22: gpyrpc.KclType.decorators:type_name -> gpyrpc.Decorator - 53, // 23: gpyrpc.KclType.examples:type_name -> gpyrpc.KclType.ExamplesEntry - 54, // 24: gpyrpc.Decorator.keywords:type_name -> gpyrpc.Decorator.KeywordsEntry - 46, // 25: gpyrpc.GetSchemaTypeMapping_Result.SchemaTypeMappingEntry.value:type_name -> gpyrpc.KclType - 46, // 26: gpyrpc.KclType.PropertiesEntry.value:type_name -> gpyrpc.KclType - 48, // 27: gpyrpc.KclType.ExamplesEntry.value:type_name -> gpyrpc.Example - 5, // 28: gpyrpc.BuiltinService.Ping:input_type -> gpyrpc.Ping_Args - 7, // 29: gpyrpc.BuiltinService.ListMethod:input_type -> gpyrpc.ListMethod_Args - 5, // 30: gpyrpc.KclvmService.Ping:input_type -> gpyrpc.Ping_Args - 13, // 31: gpyrpc.KclvmService.ExecProgram:input_type -> gpyrpc.ExecProgram_Args - 9, // 32: gpyrpc.KclvmService.ParseFile:input_type -> gpyrpc.ParseFile_Args - 11, // 33: gpyrpc.KclvmService.ParseProgram:input_type -> gpyrpc.ParseProgram_Args - 17, // 34: gpyrpc.KclvmService.FormatCode:input_type -> gpyrpc.FormatCode_Args - 19, // 35: gpyrpc.KclvmService.FormatPath:input_type -> gpyrpc.FormatPath_Args - 21, // 36: gpyrpc.KclvmService.LintPath:input_type -> gpyrpc.LintPath_Args - 23, // 37: gpyrpc.KclvmService.OverrideFile:input_type -> gpyrpc.OverrideFile_Args - 26, // 38: gpyrpc.KclvmService.GetSchemaType:input_type -> gpyrpc.GetSchemaType_Args - 25, // 39: gpyrpc.KclvmService.GetFullSchemaType:input_type -> gpyrpc.GetFullSchemaType_Args - 28, // 40: gpyrpc.KclvmService.GetSchemaTypeMapping:input_type -> gpyrpc.GetSchemaTypeMapping_Args - 30, // 41: gpyrpc.KclvmService.ValidateCode:input_type -> gpyrpc.ValidateCode_Args - 33, // 42: gpyrpc.KclvmService.ListDepFiles:input_type -> gpyrpc.ListDepFiles_Args - 35, // 43: gpyrpc.KclvmService.LoadSettingsFiles:input_type -> gpyrpc.LoadSettingsFiles_Args - 39, // 44: gpyrpc.KclvmService.Rename:input_type -> gpyrpc.Rename_Args - 41, // 45: gpyrpc.KclvmService.RenameCode:input_type -> gpyrpc.RenameCode_Args - 43, // 46: gpyrpc.KclvmService.Test:input_type -> gpyrpc.Test_Args - 6, // 47: gpyrpc.BuiltinService.Ping:output_type -> gpyrpc.Ping_Result - 8, // 48: gpyrpc.BuiltinService.ListMethod:output_type -> gpyrpc.ListMethod_Result - 6, // 49: gpyrpc.KclvmService.Ping:output_type -> gpyrpc.Ping_Result - 14, // 50: gpyrpc.KclvmService.ExecProgram:output_type -> gpyrpc.ExecProgram_Result - 10, // 51: gpyrpc.KclvmService.ParseFile:output_type -> gpyrpc.ParseFile_Result - 12, // 52: gpyrpc.KclvmService.ParseProgram:output_type -> gpyrpc.ParseProgram_Result - 18, // 53: gpyrpc.KclvmService.FormatCode:output_type -> gpyrpc.FormatCode_Result - 20, // 54: gpyrpc.KclvmService.FormatPath:output_type -> gpyrpc.FormatPath_Result - 22, // 55: gpyrpc.KclvmService.LintPath:output_type -> gpyrpc.LintPath_Result - 24, // 56: gpyrpc.KclvmService.OverrideFile:output_type -> gpyrpc.OverrideFile_Result - 27, // 57: gpyrpc.KclvmService.GetSchemaType:output_type -> gpyrpc.GetSchemaType_Result - 27, // 58: gpyrpc.KclvmService.GetFullSchemaType:output_type -> gpyrpc.GetSchemaType_Result - 29, // 59: gpyrpc.KclvmService.GetSchemaTypeMapping:output_type -> gpyrpc.GetSchemaTypeMapping_Result - 31, // 60: gpyrpc.KclvmService.ValidateCode:output_type -> gpyrpc.ValidateCode_Result - 34, // 61: gpyrpc.KclvmService.ListDepFiles:output_type -> gpyrpc.ListDepFiles_Result - 36, // 62: gpyrpc.KclvmService.LoadSettingsFiles:output_type -> gpyrpc.LoadSettingsFiles_Result - 40, // 63: gpyrpc.KclvmService.Rename:output_type -> gpyrpc.Rename_Result - 42, // 64: gpyrpc.KclvmService.RenameCode:output_type -> gpyrpc.RenameCode_Result - 44, // 65: gpyrpc.KclvmService.Test:output_type -> gpyrpc.Test_Result - 47, // [47:66] is the sub-list for method output_type - 28, // [28:47] is the sub-list for method input_type - 28, // [28:28] is the sub-list for extension type_name - 28, // [28:28] is the sub-list for extension extendee - 0, // [0:28] is the sub-list for field type_name + 11, // 6: gpyrpc.LoadPackage_Args.parse_args:type_name -> gpyrpc.ParseProgram_Args + 3, // 7: gpyrpc.LoadPackage_Result.parse_errors:type_name -> gpyrpc.Error + 3, // 8: gpyrpc.LoadPackage_Result.type_errors:type_name -> gpyrpc.Error + 55, // 9: gpyrpc.LoadPackage_Result.scopes:type_name -> gpyrpc.LoadPackage_Result.ScopesEntry + 56, // 10: gpyrpc.LoadPackage_Result.symbols:type_name -> gpyrpc.LoadPackage_Result.SymbolsEntry + 57, // 11: gpyrpc.LoadPackage_Result.node_symbol_map:type_name -> gpyrpc.LoadPackage_Result.NodeSymbolMapEntry + 58, // 12: gpyrpc.LoadPackage_Result.symbol_node_map:type_name -> gpyrpc.LoadPackage_Result.SymbolNodeMapEntry + 59, // 13: gpyrpc.LoadPackage_Result.fully_qualified_name_map:type_name -> gpyrpc.LoadPackage_Result.FullyQualifiedNameMapEntry + 60, // 14: gpyrpc.LoadPackage_Result.pkg_scope_map:type_name -> gpyrpc.LoadPackage_Result.PkgScopeMapEntry + 52, // 15: gpyrpc.Symbol.ty:type_name -> gpyrpc.KclType + 17, // 16: gpyrpc.Symbol.owner:type_name -> gpyrpc.SymbolIndex + 17, // 17: gpyrpc.Symbol.def:type_name -> gpyrpc.SymbolIndex + 17, // 18: gpyrpc.Symbol.attrs:type_name -> gpyrpc.SymbolIndex + 18, // 19: gpyrpc.Scope.parent:type_name -> gpyrpc.ScopeIndex + 17, // 20: gpyrpc.Scope.owner:type_name -> gpyrpc.SymbolIndex + 18, // 21: gpyrpc.Scope.children:type_name -> gpyrpc.ScopeIndex + 17, // 22: gpyrpc.Scope.defs:type_name -> gpyrpc.SymbolIndex + 1, // 23: gpyrpc.ExecProgram_Args.args:type_name -> gpyrpc.CmdArgSpec + 2, // 24: gpyrpc.ExecProgram_Args.overrides:type_name -> gpyrpc.CmdOverrideSpec + 0, // 25: gpyrpc.ExecProgram_Args.external_pkgs:type_name -> gpyrpc.CmdExternalPkgSpec + 19, // 26: gpyrpc.GetFullSchemaType_Args.exec_args:type_name -> gpyrpc.ExecProgram_Args + 52, // 27: gpyrpc.GetSchemaType_Result.schema_type_list:type_name -> gpyrpc.KclType + 61, // 28: gpyrpc.GetSchemaTypeMapping_Result.schema_type_mapping:type_name -> gpyrpc.GetSchemaTypeMapping_Result.SchemaTypeMappingEntry + 43, // 29: gpyrpc.LoadSettingsFiles_Result.kcl_cli_configs:type_name -> gpyrpc.CliConfig + 44, // 30: gpyrpc.LoadSettingsFiles_Result.kcl_options:type_name -> gpyrpc.KeyValuePair + 62, // 31: gpyrpc.RenameCode_Args.source_codes:type_name -> gpyrpc.RenameCode_Args.SourceCodesEntry + 63, // 32: gpyrpc.RenameCode_Result.changed_codes:type_name -> gpyrpc.RenameCode_Result.ChangedCodesEntry + 19, // 33: gpyrpc.Test_Args.exec_args:type_name -> gpyrpc.ExecProgram_Args + 51, // 34: gpyrpc.Test_Result.info:type_name -> gpyrpc.TestCaseInfo + 52, // 35: gpyrpc.KclType.union_types:type_name -> gpyrpc.KclType + 64, // 36: gpyrpc.KclType.properties:type_name -> gpyrpc.KclType.PropertiesEntry + 52, // 37: gpyrpc.KclType.key:type_name -> gpyrpc.KclType + 52, // 38: gpyrpc.KclType.item:type_name -> gpyrpc.KclType + 53, // 39: gpyrpc.KclType.decorators:type_name -> gpyrpc.Decorator + 65, // 40: gpyrpc.KclType.examples:type_name -> gpyrpc.KclType.ExamplesEntry + 66, // 41: gpyrpc.Decorator.keywords:type_name -> gpyrpc.Decorator.KeywordsEntry + 16, // 42: gpyrpc.LoadPackage_Result.ScopesEntry.value:type_name -> gpyrpc.Scope + 15, // 43: gpyrpc.LoadPackage_Result.SymbolsEntry.value:type_name -> gpyrpc.Symbol + 17, // 44: gpyrpc.LoadPackage_Result.NodeSymbolMapEntry.value:type_name -> gpyrpc.SymbolIndex + 17, // 45: gpyrpc.LoadPackage_Result.FullyQualifiedNameMapEntry.value:type_name -> gpyrpc.SymbolIndex + 18, // 46: gpyrpc.LoadPackage_Result.PkgScopeMapEntry.value:type_name -> gpyrpc.ScopeIndex + 52, // 47: gpyrpc.GetSchemaTypeMapping_Result.SchemaTypeMappingEntry.value:type_name -> gpyrpc.KclType + 52, // 48: gpyrpc.KclType.PropertiesEntry.value:type_name -> gpyrpc.KclType + 54, // 49: gpyrpc.KclType.ExamplesEntry.value:type_name -> gpyrpc.Example + 5, // 50: gpyrpc.BuiltinService.Ping:input_type -> gpyrpc.Ping_Args + 7, // 51: gpyrpc.BuiltinService.ListMethod:input_type -> gpyrpc.ListMethod_Args + 5, // 52: gpyrpc.KclvmService.Ping:input_type -> gpyrpc.Ping_Args + 19, // 53: gpyrpc.KclvmService.ExecProgram:input_type -> gpyrpc.ExecProgram_Args + 9, // 54: gpyrpc.KclvmService.ParseFile:input_type -> gpyrpc.ParseFile_Args + 11, // 55: gpyrpc.KclvmService.ParseProgram:input_type -> gpyrpc.ParseProgram_Args + 13, // 56: gpyrpc.KclvmService.LoadPackage:input_type -> gpyrpc.LoadPackage_Args + 23, // 57: gpyrpc.KclvmService.FormatCode:input_type -> gpyrpc.FormatCode_Args + 25, // 58: gpyrpc.KclvmService.FormatPath:input_type -> gpyrpc.FormatPath_Args + 27, // 59: gpyrpc.KclvmService.LintPath:input_type -> gpyrpc.LintPath_Args + 29, // 60: gpyrpc.KclvmService.OverrideFile:input_type -> gpyrpc.OverrideFile_Args + 32, // 61: gpyrpc.KclvmService.GetSchemaType:input_type -> gpyrpc.GetSchemaType_Args + 31, // 62: gpyrpc.KclvmService.GetFullSchemaType:input_type -> gpyrpc.GetFullSchemaType_Args + 34, // 63: gpyrpc.KclvmService.GetSchemaTypeMapping:input_type -> gpyrpc.GetSchemaTypeMapping_Args + 36, // 64: gpyrpc.KclvmService.ValidateCode:input_type -> gpyrpc.ValidateCode_Args + 39, // 65: gpyrpc.KclvmService.ListDepFiles:input_type -> gpyrpc.ListDepFiles_Args + 41, // 66: gpyrpc.KclvmService.LoadSettingsFiles:input_type -> gpyrpc.LoadSettingsFiles_Args + 45, // 67: gpyrpc.KclvmService.Rename:input_type -> gpyrpc.Rename_Args + 47, // 68: gpyrpc.KclvmService.RenameCode:input_type -> gpyrpc.RenameCode_Args + 49, // 69: gpyrpc.KclvmService.Test:input_type -> gpyrpc.Test_Args + 6, // 70: gpyrpc.BuiltinService.Ping:output_type -> gpyrpc.Ping_Result + 8, // 71: gpyrpc.BuiltinService.ListMethod:output_type -> gpyrpc.ListMethod_Result + 6, // 72: gpyrpc.KclvmService.Ping:output_type -> gpyrpc.Ping_Result + 20, // 73: gpyrpc.KclvmService.ExecProgram:output_type -> gpyrpc.ExecProgram_Result + 10, // 74: gpyrpc.KclvmService.ParseFile:output_type -> gpyrpc.ParseFile_Result + 12, // 75: gpyrpc.KclvmService.ParseProgram:output_type -> gpyrpc.ParseProgram_Result + 14, // 76: gpyrpc.KclvmService.LoadPackage:output_type -> gpyrpc.LoadPackage_Result + 24, // 77: gpyrpc.KclvmService.FormatCode:output_type -> gpyrpc.FormatCode_Result + 26, // 78: gpyrpc.KclvmService.FormatPath:output_type -> gpyrpc.FormatPath_Result + 28, // 79: gpyrpc.KclvmService.LintPath:output_type -> gpyrpc.LintPath_Result + 30, // 80: gpyrpc.KclvmService.OverrideFile:output_type -> gpyrpc.OverrideFile_Result + 33, // 81: gpyrpc.KclvmService.GetSchemaType:output_type -> gpyrpc.GetSchemaType_Result + 33, // 82: gpyrpc.KclvmService.GetFullSchemaType:output_type -> gpyrpc.GetSchemaType_Result + 35, // 83: gpyrpc.KclvmService.GetSchemaTypeMapping:output_type -> gpyrpc.GetSchemaTypeMapping_Result + 37, // 84: gpyrpc.KclvmService.ValidateCode:output_type -> gpyrpc.ValidateCode_Result + 40, // 85: gpyrpc.KclvmService.ListDepFiles:output_type -> gpyrpc.ListDepFiles_Result + 42, // 86: gpyrpc.KclvmService.LoadSettingsFiles:output_type -> gpyrpc.LoadSettingsFiles_Result + 46, // 87: gpyrpc.KclvmService.Rename:output_type -> gpyrpc.Rename_Result + 48, // 88: gpyrpc.KclvmService.RenameCode:output_type -> gpyrpc.RenameCode_Result + 50, // 89: gpyrpc.KclvmService.Test:output_type -> gpyrpc.Test_Result + 70, // [70:90] is the sub-list for method output_type + 50, // [50:70] is the sub-list for method input_type + 50, // [50:50] is the sub-list for extension type_name + 50, // [50:50] is the sub-list for extension extendee + 0, // [0:50] is the sub-list for field type_name } func init() { file_gpyrpc_proto_init() } @@ -3876,7 +4516,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecProgram_Args); i { + switch v := v.(*LoadPackage_Args); i { case 0: return &v.state case 1: @@ -3888,7 +4528,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecProgram_Result); i { + switch v := v.(*LoadPackage_Result); i { case 0: return &v.state case 1: @@ -3900,7 +4540,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResetPlugin_Args); i { + switch v := v.(*Symbol); i { case 0: return &v.state case 1: @@ -3912,7 +4552,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResetPlugin_Result); i { + switch v := v.(*Scope); i { case 0: return &v.state case 1: @@ -3924,7 +4564,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FormatCode_Args); i { + switch v := v.(*SymbolIndex); i { case 0: return &v.state case 1: @@ -3936,7 +4576,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FormatCode_Result); i { + switch v := v.(*ScopeIndex); i { case 0: return &v.state case 1: @@ -3948,7 +4588,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FormatPath_Args); i { + switch v := v.(*ExecProgram_Args); i { case 0: return &v.state case 1: @@ -3960,7 +4600,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FormatPath_Result); i { + switch v := v.(*ExecProgram_Result); i { case 0: return &v.state case 1: @@ -3972,7 +4612,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LintPath_Args); i { + switch v := v.(*ResetPlugin_Args); i { case 0: return &v.state case 1: @@ -3984,7 +4624,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LintPath_Result); i { + switch v := v.(*ResetPlugin_Result); i { case 0: return &v.state case 1: @@ -3996,7 +4636,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OverrideFile_Args); i { + switch v := v.(*FormatCode_Args); i { case 0: return &v.state case 1: @@ -4008,7 +4648,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OverrideFile_Result); i { + switch v := v.(*FormatCode_Result); i { case 0: return &v.state case 1: @@ -4020,7 +4660,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetFullSchemaType_Args); i { + switch v := v.(*FormatPath_Args); i { case 0: return &v.state case 1: @@ -4032,7 +4672,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSchemaType_Args); i { + switch v := v.(*FormatPath_Result); i { case 0: return &v.state case 1: @@ -4044,7 +4684,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSchemaType_Result); i { + switch v := v.(*LintPath_Args); i { case 0: return &v.state case 1: @@ -4056,7 +4696,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSchemaTypeMapping_Args); i { + switch v := v.(*LintPath_Result); i { case 0: return &v.state case 1: @@ -4068,7 +4708,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSchemaTypeMapping_Result); i { + switch v := v.(*OverrideFile_Args); i { case 0: return &v.state case 1: @@ -4080,7 +4720,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidateCode_Args); i { + switch v := v.(*OverrideFile_Result); i { case 0: return &v.state case 1: @@ -4092,7 +4732,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidateCode_Result); i { + switch v := v.(*GetFullSchemaType_Args); i { case 0: return &v.state case 1: @@ -4104,7 +4744,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Position); i { + switch v := v.(*GetSchemaType_Args); i { case 0: return &v.state case 1: @@ -4116,7 +4756,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDepFiles_Args); i { + switch v := v.(*GetSchemaType_Result); i { case 0: return &v.state case 1: @@ -4128,7 +4768,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDepFiles_Result); i { + switch v := v.(*GetSchemaTypeMapping_Args); i { case 0: return &v.state case 1: @@ -4140,7 +4780,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LoadSettingsFiles_Args); i { + switch v := v.(*GetSchemaTypeMapping_Result); i { case 0: return &v.state case 1: @@ -4152,7 +4792,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LoadSettingsFiles_Result); i { + switch v := v.(*ValidateCode_Args); i { case 0: return &v.state case 1: @@ -4164,7 +4804,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CliConfig); i { + switch v := v.(*ValidateCode_Result); i { case 0: return &v.state case 1: @@ -4176,7 +4816,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KeyValuePair); i { + switch v := v.(*Position); i { case 0: return &v.state case 1: @@ -4188,7 +4828,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Rename_Args); i { + switch v := v.(*ListDepFiles_Args); i { case 0: return &v.state case 1: @@ -4200,7 +4840,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Rename_Result); i { + switch v := v.(*ListDepFiles_Result); i { case 0: return &v.state case 1: @@ -4212,7 +4852,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RenameCode_Args); i { + switch v := v.(*LoadSettingsFiles_Args); i { case 0: return &v.state case 1: @@ -4224,7 +4864,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RenameCode_Result); i { + switch v := v.(*LoadSettingsFiles_Result); i { case 0: return &v.state case 1: @@ -4236,7 +4876,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Test_Args); i { + switch v := v.(*CliConfig); i { case 0: return &v.state case 1: @@ -4248,7 +4888,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Test_Result); i { + switch v := v.(*KeyValuePair); i { case 0: return &v.state case 1: @@ -4260,7 +4900,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TestCaseInfo); i { + switch v := v.(*Rename_Args); i { case 0: return &v.state case 1: @@ -4272,7 +4912,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KclType); i { + switch v := v.(*Rename_Result); i { case 0: return &v.state case 1: @@ -4284,7 +4924,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Decorator); i { + switch v := v.(*RenameCode_Args); i { case 0: return &v.state case 1: @@ -4296,6 +4936,78 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RenameCode_Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gpyrpc_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Test_Args); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gpyrpc_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Test_Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gpyrpc_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TestCaseInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gpyrpc_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KclType); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gpyrpc_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Decorator); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gpyrpc_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Example); i { case 0: return &v.state @@ -4314,7 +5026,7 @@ func file_gpyrpc_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_gpyrpc_proto_rawDesc, NumEnums: 0, - NumMessages: 55, + NumMessages: 67, NumExtensions: 0, NumServices: 2, }, @@ -4452,6 +5164,7 @@ type KclvmServiceClient interface { ExecProgram(ctx context.Context, in *ExecProgram_Args, opts ...grpc.CallOption) (*ExecProgram_Result, error) ParseFile(ctx context.Context, in *ParseFile_Args, opts ...grpc.CallOption) (*ParseFile_Result, error) ParseProgram(ctx context.Context, in *ParseProgram_Args, opts ...grpc.CallOption) (*ParseProgram_Result, error) + LoadPackage(ctx context.Context, in *LoadPackage_Args, opts ...grpc.CallOption) (*LoadPackage_Result, error) FormatCode(ctx context.Context, in *FormatCode_Args, opts ...grpc.CallOption) (*FormatCode_Result, error) FormatPath(ctx context.Context, in *FormatPath_Args, opts ...grpc.CallOption) (*FormatPath_Result, error) LintPath(ctx context.Context, in *LintPath_Args, opts ...grpc.CallOption) (*LintPath_Result, error) @@ -4511,6 +5224,15 @@ func (c *kclvmServiceClient) ParseProgram(ctx context.Context, in *ParseProgram_ return out, nil } +func (c *kclvmServiceClient) LoadPackage(ctx context.Context, in *LoadPackage_Args, opts ...grpc.CallOption) (*LoadPackage_Result, error) { + out := new(LoadPackage_Result) + err := c.cc.Invoke(ctx, "/gpyrpc.KclvmService/LoadPackage", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *kclvmServiceClient) FormatCode(ctx context.Context, in *FormatCode_Args, opts ...grpc.CallOption) (*FormatCode_Result, error) { out := new(FormatCode_Result) err := c.cc.Invoke(ctx, "/gpyrpc.KclvmService/FormatCode", in, out, opts...) @@ -4634,6 +5356,7 @@ type KclvmServiceServer interface { ExecProgram(context.Context, *ExecProgram_Args) (*ExecProgram_Result, error) ParseFile(context.Context, *ParseFile_Args) (*ParseFile_Result, error) ParseProgram(context.Context, *ParseProgram_Args) (*ParseProgram_Result, error) + LoadPackage(context.Context, *LoadPackage_Args) (*LoadPackage_Result, error) FormatCode(context.Context, *FormatCode_Args) (*FormatCode_Result, error) FormatPath(context.Context, *FormatPath_Args) (*FormatPath_Result, error) LintPath(context.Context, *LintPath_Args) (*LintPath_Result, error) @@ -4665,6 +5388,9 @@ func (*UnimplementedKclvmServiceServer) ParseFile(context.Context, *ParseFile_Ar func (*UnimplementedKclvmServiceServer) ParseProgram(context.Context, *ParseProgram_Args) (*ParseProgram_Result, error) { return nil, status.Errorf(codes.Unimplemented, "method ParseProgram not implemented") } +func (*UnimplementedKclvmServiceServer) LoadPackage(context.Context, *LoadPackage_Args) (*LoadPackage_Result, error) { + return nil, status.Errorf(codes.Unimplemented, "method LoadPackage not implemented") +} func (*UnimplementedKclvmServiceServer) FormatCode(context.Context, *FormatCode_Args) (*FormatCode_Result, error) { return nil, status.Errorf(codes.Unimplemented, "method FormatCode not implemented") } @@ -4781,6 +5507,24 @@ func _KclvmService_ParseProgram_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } +func _KclvmService_LoadPackage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(LoadPackage_Args) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(KclvmServiceServer).LoadPackage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gpyrpc.KclvmService/LoadPackage", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(KclvmServiceServer).LoadPackage(ctx, req.(*LoadPackage_Args)) + } + return interceptor(ctx, in, info, handler) +} + func _KclvmService_FormatCode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(FormatCode_Args) if err := dec(in); err != nil { @@ -5035,6 +5779,10 @@ var _KclvmService_serviceDesc = grpc.ServiceDesc{ MethodName: "ParseProgram", Handler: _KclvmService_ParseProgram_Handler, }, + { + MethodName: "LoadPackage", + Handler: _KclvmService_LoadPackage_Handler, + }, { MethodName: "FormatCode", Handler: _KclvmService_FormatCode_Handler, diff --git a/pkg/spec/gpyrpc/gpyrpc.pb.protorpc.go b/pkg/spec/gpyrpc/gpyrpc.pb.protorpc.go index 43eca21e..c8ed1085 100644 --- a/pkg/spec/gpyrpc/gpyrpc.pb.protorpc.go +++ b/pkg/spec/gpyrpc/gpyrpc.pb.protorpc.go @@ -214,6 +214,7 @@ type PROTORPC_KclvmService interface { Ping(in *Ping_Args, out *Ping_Result) error ExecProgram(in *ExecProgram_Args, out *ExecProgram_Result) error ParseProgram(in *ParseProgram_Args, out *ParseProgram_Result) error + LoadPackage(in *LoadPackage_Args, out *LoadPackage_Result) error FormatCode(in *FormatCode_Args, out *FormatCode_Result) error FormatPath(in *FormatPath_Args, out *FormatPath_Result) error LintPath(in *LintPath_Args, out *LintPath_Result) error @@ -463,6 +464,45 @@ func (c *PROTORPC_KclvmServiceClient) AsyncParseProgram(in *ParseProgram_Args, o ) } +func (c *PROTORPC_KclvmServiceClient) LoadPackage(in *LoadPackage_Args) (out *LoadPackage_Result, err error) { + if in == nil { + in = new(LoadPackage_Args) + } + + type Validator interface { + Validate() error + } + if x, ok := proto.Message(in).(Validator); ok { + if err := x.Validate(); err != nil { + return nil, err + } + } + + out = new(LoadPackage_Result) + if err = c.Call("KclvmService.LoadPackage", in, out); err != nil { + return nil, err + } + + if x, ok := proto.Message(out).(Validator); ok { + if err := x.Validate(); err != nil { + return out, err + } + } + + return out, nil +} + +func (c *PROTORPC_KclvmServiceClient) AsyncLoadPackage(in *LoadPackage_Args, out *LoadPackage_Result, done chan *rpc.Call) *rpc.Call { + if in == nil { + in = new(LoadPackage_Args) + } + return c.Go( + "KclvmService.LoadPackage", + in, out, + done, + ) +} + func (c *PROTORPC_KclvmServiceClient) FormatCode(in *FormatCode_Args) (out *FormatCode_Result, err error) { if in == nil { in = new(FormatCode_Args) diff --git a/pkg/spec/gpyrpc/gpyrpc.proto b/pkg/spec/gpyrpc/gpyrpc.proto index 2e9137b7..3d892977 100644 --- a/pkg/spec/gpyrpc/gpyrpc.proto +++ b/pkg/spec/gpyrpc/gpyrpc.proto @@ -1,4 +1,4 @@ -// Copyright 2023 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. // // This file defines the request parameters and return structure of the KCL RPC server. @@ -62,6 +62,7 @@ service KclvmService { rpc ParseFile(ParseFile_Args) returns(ParseFile_Result); rpc ParseProgram(ParseProgram_Args) returns(ParseProgram_Result); + rpc LoadPackage(LoadPackage_Args) returns(LoadPackage_Result); rpc FormatCode(FormatCode_Args) returns(FormatCode_Result); rpc FormatPath(FormatPath_Args) returns(FormatPath_Result); @@ -115,11 +116,60 @@ message ParseProgram_Args { } message ParseProgram_Result { - string ast_json = 1; // JSON string value - repeated string paths = 2; // Return the files in the order they should be compiled + string ast_json = 1; // JSON string value + repeated string paths = 2; // Returns the files in the order they should be compiled repeated Error errors = 3; // Parse errors } +message LoadPackage_Args { + ParseProgram_Args parse_args = 1; + bool resolve_ast = 2; + bool load_builtin = 3; + bool with_ast_index = 4; +} + +message LoadPackage_Result { + string program = 1; // JSON string value + repeated string paths = 2; // Returns the files in the order they should be compiled + repeated Error parse_errors = 3; // Parse errors + repeated Error type_errors = 4; // Type errors + map scopes = 5; // Map key is the ScopeIndex json string. + map symbols = 6; // Map key is the SymbolIndex json string. + map node_symbol_map = 7; // Map key is the AST index UUID string. + map symbol_node_map = 8; // Map key is the SymbolIndex json string. + map fully_qualified_name_map = 9; // Map key is the fully_qualified_name e.g. `pkg.Name` + map pkg_scope_map = 10; // Map key is the package path. +} + +message Symbol { + KclType ty = 1; + string name = 2; + SymbolIndex owner = 3; + SymbolIndex def = 4; + repeated SymbolIndex attrs = 5; + bool is_global = 6; +} + +message Scope { + string kind = 1; + ScopeIndex parent = 2; + SymbolIndex owner = 3; + repeated ScopeIndex children = 4; + repeated SymbolIndex defs = 5; +} + +message SymbolIndex { + uint64 i = 1; + uint64 g = 2; + string kind = 3; +} + +message ScopeIndex { + uint64 i = 1; + uint64 g = 2; + string kind = 3; +} + message ExecProgram_Args { string work_dir = 1; @@ -280,7 +330,7 @@ message LoadSettingsFiles_Result { } message CliConfig { - repeated string files = 1; + repeated string files = 1; string output = 2; repeated string overrides = 3; repeated string path_selector = 4; @@ -303,14 +353,14 @@ message KeyValuePair { // --------------------------------------------------------------------------------- message Rename_Args { - string package_root = 1; // the file path to the package root - string symbol_path = 2; // the path to the target symbol to be renamed. The symbol path should conform to format: `:` When the pkgpath is '__main__', `:` can be omitted. - repeated string file_paths = 3; // the paths to the source code files - string new_name = 4; // the new name of the symbol + string package_root = 1; // the file path to the package root + string symbol_path = 2; // the path to the target symbol to be renamed. The symbol path should conform to format: `:` When the pkgpath is '__main__', `:` can be omitted. + repeated string file_paths = 3; // the paths to the source code files + string new_name = 4; // the new name of the symbol } message Rename_Result { - repeated string changed_files = 1; // the file paths got changed + repeated string changed_files = 1; // the file paths got changed } // --------------------------------------------------------------------------------- @@ -319,14 +369,14 @@ message Rename_Result { // --------------------------------------------------------------------------------- message RenameCode_Args { - string package_root = 1; // the file path to the package root - string symbol_path = 2; // the path to the target symbol to be renamed. The symbol path should conform to format: `:` When the pkgpath is '__main__', `:` can be omitted. - map source_codes = 3; // the source code. a : map - string new_name = 4; // the new name of the symbol + string package_root = 1; // the file path to the package root + string symbol_path = 2; // the path to the target symbol to be renamed. The symbol path should conform to format: `:` When the pkgpath is '__main__', `:` can be omitted. + map source_codes = 3; // the source code. a : map + string new_name = 4; // the new name of the symbol } message RenameCode_Result { - map changed_codes = 1; // the changed code. a : map + map changed_codes = 1; // the changed code. a : map } // --------------------------------------------------------------------------------- diff --git a/scripts/kclvm.go b/scripts/kclvm.go index ec5c2060..d8480533 100644 --- a/scripts/kclvm.go +++ b/scripts/kclvm.go @@ -17,9 +17,10 @@ const ( ) const ( - KclvmAbiVersion KclvmVersionType = KclvmVersionType_v0_7_4 - KclvmVersionType_latest = KclvmVersionType_v0_7_4 + KclvmAbiVersion KclvmVersionType = KclvmVersionType_v0_7_5 + KclvmVersionType_latest = KclvmVersionType_v0_7_5 + KclvmVersionType_v0_7_5 KclvmVersionType = "v0.7.5" KclvmVersionType_v0_7_4 KclvmVersionType = "v0.7.4" KclvmVersionType_v0_7_3 KclvmVersionType = "v0.7.3" KclvmVersionType_v0_7_2 KclvmVersionType = "v0.7.2"