diff --git a/playground/api/v1/api.proto b/playground/api/v1/api.proto index 87bcb5adf5952..877fa0b18008b 100644 --- a/playground/api/v1/api.proto +++ b/playground/api/v1/api.proto @@ -75,6 +75,16 @@ message CheckStatusResponse { Status status = 1; } +// GetValidationOutputRequest contains information of the pipeline uuid. +message GetValidationOutputRequest { + string pipeline_uuid = 1; +} + +// GetValidationOutputResponse represents the result of the code validation. +message GetValidationOutputResponse { + string output = 1; +} + // GetPreparationOutputRequest contains information of the pipeline uuid. message GetPreparationOutputRequest { string pipeline_uuid = 1; @@ -211,6 +221,9 @@ service PlaygroundService { // Get the error of pipeline execution. rpc GetRunError(GetRunErrorRequest) returns (GetRunErrorResponse); + // Get the result of pipeline validation. + rpc GetValidationOutput(GetValidationOutputRequest) returns (GetValidationOutputResponse); + // Get the result of pipeline preparation. rpc GetPreparationOutput(GetPreparationOutputRequest) returns (GetPreparationOutputResponse); diff --git a/playground/backend/cmd/server/controller.go b/playground/backend/cmd/server/controller.go index 076a84908c013..013597a0e1560 100644 --- a/playground/backend/cmd/server/controller.go +++ b/playground/backend/cmd/server/controller.go @@ -181,6 +181,21 @@ func (controller *playgroundController) GetRunError(ctx context.Context, info *p return &pb.GetRunErrorResponse{Output: runError}, nil } +//GetValidationOutput is returning output of validation for specific pipeline by PipelineUuid +func (controller *playgroundController) GetValidationOutput(ctx context.Context, info *pb.GetValidationOutputRequest) (*pb.GetValidationOutputResponse, error) { + pipelineId, err := uuid.Parse(info.PipelineUuid) + errorMessage := "Error during getting compilation output" + if err != nil { + logger.Errorf("%s: GetValidationOutput(): pipelineId has incorrect value and couldn't be parsed as uuid value: %s", info.PipelineUuid, err.Error()) + return nil, errors.InvalidArgumentError(errorMessage, "pipelineId has incorrect value and couldn't be parsed as uuid value: %s", info.PipelineUuid) + } + validationOutput, err := code_processing.GetProcessingOutput(ctx, controller.cacheService, pipelineId, cache.ValidationOutput, errorMessage) + if err != nil { + return nil, err + } + return &pb.GetValidationOutputResponse{Output: validationOutput}, nil +} + //GetPreparationOutput is returning output of prepare step for specific pipeline by PipelineUuid func (controller *playgroundController) GetPreparationOutput(ctx context.Context, info *pb.GetPreparationOutputRequest) (*pb.GetPreparationOutputResponse, error) { pipelineId, err := uuid.Parse(info.PipelineUuid) diff --git a/playground/backend/internal/api/v1/api.pb.go b/playground/backend/internal/api/v1/api.pb.go index 464dce300f6d1..cadd4e1c06a74 100644 --- a/playground/backend/internal/api/v1/api.pb.go +++ b/playground/backend/internal/api/v1/api.pb.go @@ -432,6 +432,102 @@ func (x *CheckStatusResponse) GetStatus() Status { return Status_STATUS_UNSPECIFIED } +// GetValidationOutputRequest contains information of the pipeline uuid. +type GetValidationOutputRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PipelineUuid string `protobuf:"bytes,1,opt,name=pipeline_uuid,json=pipelineUuid,proto3" json:"pipeline_uuid,omitempty"` +} + +func (x *GetValidationOutputRequest) Reset() { + *x = GetValidationOutputRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_v1_api_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetValidationOutputRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetValidationOutputRequest) ProtoMessage() {} + +func (x *GetValidationOutputRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_v1_api_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetValidationOutputRequest.ProtoReflect.Descriptor instead. +func (*GetValidationOutputRequest) Descriptor() ([]byte, []int) { + return file_api_v1_api_proto_rawDescGZIP(), []int{4} +} + +func (x *GetValidationOutputRequest) GetPipelineUuid() string { + if x != nil { + return x.PipelineUuid + } + return "" +} + +// GetValidationOutputResponse represents the result of the code validation. +type GetValidationOutputResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Output string `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"` +} + +func (x *GetValidationOutputResponse) Reset() { + *x = GetValidationOutputResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_v1_api_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetValidationOutputResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetValidationOutputResponse) ProtoMessage() {} + +func (x *GetValidationOutputResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_v1_api_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetValidationOutputResponse.ProtoReflect.Descriptor instead. +func (*GetValidationOutputResponse) Descriptor() ([]byte, []int) { + return file_api_v1_api_proto_rawDescGZIP(), []int{5} +} + +func (x *GetValidationOutputResponse) GetOutput() string { + if x != nil { + return x.Output + } + return "" +} + // GetPreparationOutputRequest contains information of the pipeline uuid. type GetPreparationOutputRequest struct { state protoimpl.MessageState @@ -444,7 +540,7 @@ type GetPreparationOutputRequest struct { func (x *GetPreparationOutputRequest) Reset() { *x = GetPreparationOutputRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[4] + mi := &file_api_v1_api_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -457,7 +553,7 @@ func (x *GetPreparationOutputRequest) String() string { func (*GetPreparationOutputRequest) ProtoMessage() {} func (x *GetPreparationOutputRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[4] + mi := &file_api_v1_api_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -470,7 +566,7 @@ func (x *GetPreparationOutputRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPreparationOutputRequest.ProtoReflect.Descriptor instead. func (*GetPreparationOutputRequest) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{4} + return file_api_v1_api_proto_rawDescGZIP(), []int{6} } func (x *GetPreparationOutputRequest) GetPipelineUuid() string { @@ -492,7 +588,7 @@ type GetPreparationOutputResponse struct { func (x *GetPreparationOutputResponse) Reset() { *x = GetPreparationOutputResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[5] + mi := &file_api_v1_api_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -505,7 +601,7 @@ func (x *GetPreparationOutputResponse) String() string { func (*GetPreparationOutputResponse) ProtoMessage() {} func (x *GetPreparationOutputResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[5] + mi := &file_api_v1_api_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -518,7 +614,7 @@ func (x *GetPreparationOutputResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPreparationOutputResponse.ProtoReflect.Descriptor instead. func (*GetPreparationOutputResponse) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{5} + return file_api_v1_api_proto_rawDescGZIP(), []int{7} } func (x *GetPreparationOutputResponse) GetOutput() string { @@ -540,7 +636,7 @@ type GetCompileOutputRequest struct { func (x *GetCompileOutputRequest) Reset() { *x = GetCompileOutputRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[6] + mi := &file_api_v1_api_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -553,7 +649,7 @@ func (x *GetCompileOutputRequest) String() string { func (*GetCompileOutputRequest) ProtoMessage() {} func (x *GetCompileOutputRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[6] + mi := &file_api_v1_api_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -566,7 +662,7 @@ func (x *GetCompileOutputRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCompileOutputRequest.ProtoReflect.Descriptor instead. func (*GetCompileOutputRequest) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{6} + return file_api_v1_api_proto_rawDescGZIP(), []int{8} } func (x *GetCompileOutputRequest) GetPipelineUuid() string { @@ -588,7 +684,7 @@ type GetCompileOutputResponse struct { func (x *GetCompileOutputResponse) Reset() { *x = GetCompileOutputResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[7] + mi := &file_api_v1_api_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -601,7 +697,7 @@ func (x *GetCompileOutputResponse) String() string { func (*GetCompileOutputResponse) ProtoMessage() {} func (x *GetCompileOutputResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[7] + mi := &file_api_v1_api_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -614,7 +710,7 @@ func (x *GetCompileOutputResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCompileOutputResponse.ProtoReflect.Descriptor instead. func (*GetCompileOutputResponse) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{7} + return file_api_v1_api_proto_rawDescGZIP(), []int{9} } func (x *GetCompileOutputResponse) GetOutput() string { @@ -636,7 +732,7 @@ type GetRunOutputRequest struct { func (x *GetRunOutputRequest) Reset() { *x = GetRunOutputRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[8] + mi := &file_api_v1_api_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -649,7 +745,7 @@ func (x *GetRunOutputRequest) String() string { func (*GetRunOutputRequest) ProtoMessage() {} func (x *GetRunOutputRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[8] + mi := &file_api_v1_api_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -662,7 +758,7 @@ func (x *GetRunOutputRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRunOutputRequest.ProtoReflect.Descriptor instead. func (*GetRunOutputRequest) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{8} + return file_api_v1_api_proto_rawDescGZIP(), []int{10} } func (x *GetRunOutputRequest) GetPipelineUuid() string { @@ -684,7 +780,7 @@ type GetRunOutputResponse struct { func (x *GetRunOutputResponse) Reset() { *x = GetRunOutputResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[9] + mi := &file_api_v1_api_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -697,7 +793,7 @@ func (x *GetRunOutputResponse) String() string { func (*GetRunOutputResponse) ProtoMessage() {} func (x *GetRunOutputResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[9] + mi := &file_api_v1_api_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -710,7 +806,7 @@ func (x *GetRunOutputResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRunOutputResponse.ProtoReflect.Descriptor instead. func (*GetRunOutputResponse) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{9} + return file_api_v1_api_proto_rawDescGZIP(), []int{11} } func (x *GetRunOutputResponse) GetOutput() string { @@ -732,7 +828,7 @@ type GetRunErrorRequest struct { func (x *GetRunErrorRequest) Reset() { *x = GetRunErrorRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[10] + mi := &file_api_v1_api_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -745,7 +841,7 @@ func (x *GetRunErrorRequest) String() string { func (*GetRunErrorRequest) ProtoMessage() {} func (x *GetRunErrorRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[10] + mi := &file_api_v1_api_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -758,7 +854,7 @@ func (x *GetRunErrorRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRunErrorRequest.ProtoReflect.Descriptor instead. func (*GetRunErrorRequest) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{10} + return file_api_v1_api_proto_rawDescGZIP(), []int{12} } func (x *GetRunErrorRequest) GetPipelineUuid() string { @@ -780,7 +876,7 @@ type GetRunErrorResponse struct { func (x *GetRunErrorResponse) Reset() { *x = GetRunErrorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[11] + mi := &file_api_v1_api_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -793,7 +889,7 @@ func (x *GetRunErrorResponse) String() string { func (*GetRunErrorResponse) ProtoMessage() {} func (x *GetRunErrorResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[11] + mi := &file_api_v1_api_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -806,7 +902,7 @@ func (x *GetRunErrorResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRunErrorResponse.ProtoReflect.Descriptor instead. func (*GetRunErrorResponse) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{11} + return file_api_v1_api_proto_rawDescGZIP(), []int{13} } func (x *GetRunErrorResponse) GetOutput() string { @@ -828,7 +924,7 @@ type GetLogsRequest struct { func (x *GetLogsRequest) Reset() { *x = GetLogsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[12] + mi := &file_api_v1_api_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -841,7 +937,7 @@ func (x *GetLogsRequest) String() string { func (*GetLogsRequest) ProtoMessage() {} func (x *GetLogsRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[12] + mi := &file_api_v1_api_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -854,7 +950,7 @@ func (x *GetLogsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetLogsRequest.ProtoReflect.Descriptor instead. func (*GetLogsRequest) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{12} + return file_api_v1_api_proto_rawDescGZIP(), []int{14} } func (x *GetLogsRequest) GetPipelineUuid() string { @@ -876,7 +972,7 @@ type GetLogsResponse struct { func (x *GetLogsResponse) Reset() { *x = GetLogsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[13] + mi := &file_api_v1_api_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -889,7 +985,7 @@ func (x *GetLogsResponse) String() string { func (*GetLogsResponse) ProtoMessage() {} func (x *GetLogsResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[13] + mi := &file_api_v1_api_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -902,7 +998,7 @@ func (x *GetLogsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetLogsResponse.ProtoReflect.Descriptor instead. func (*GetLogsResponse) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{13} + return file_api_v1_api_proto_rawDescGZIP(), []int{15} } func (x *GetLogsResponse) GetOutput() string { @@ -924,7 +1020,7 @@ type CancelRequest struct { func (x *CancelRequest) Reset() { *x = CancelRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[14] + mi := &file_api_v1_api_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -937,7 +1033,7 @@ func (x *CancelRequest) String() string { func (*CancelRequest) ProtoMessage() {} func (x *CancelRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[14] + mi := &file_api_v1_api_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -950,7 +1046,7 @@ func (x *CancelRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelRequest.ProtoReflect.Descriptor instead. func (*CancelRequest) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{14} + return file_api_v1_api_proto_rawDescGZIP(), []int{16} } func (x *CancelRequest) GetPipelineUuid() string { @@ -970,7 +1066,7 @@ type CancelResponse struct { func (x *CancelResponse) Reset() { *x = CancelResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[15] + mi := &file_api_v1_api_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -983,7 +1079,7 @@ func (x *CancelResponse) String() string { func (*CancelResponse) ProtoMessage() {} func (x *CancelResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[15] + mi := &file_api_v1_api_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -996,7 +1092,7 @@ func (x *CancelResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelResponse.ProtoReflect.Descriptor instead. func (*CancelResponse) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{15} + return file_api_v1_api_proto_rawDescGZIP(), []int{17} } // PrecompiledObject represents one PrecompiledObject with its information @@ -1015,7 +1111,7 @@ type PrecompiledObject struct { func (x *PrecompiledObject) Reset() { *x = PrecompiledObject{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[16] + mi := &file_api_v1_api_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1028,7 +1124,7 @@ func (x *PrecompiledObject) String() string { func (*PrecompiledObject) ProtoMessage() {} func (x *PrecompiledObject) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[16] + mi := &file_api_v1_api_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1041,7 +1137,7 @@ func (x *PrecompiledObject) ProtoReflect() protoreflect.Message { // Deprecated: Use PrecompiledObject.ProtoReflect.Descriptor instead. func (*PrecompiledObject) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{16} + return file_api_v1_api_proto_rawDescGZIP(), []int{18} } func (x *PrecompiledObject) GetCloudPath() string { @@ -1092,7 +1188,7 @@ type Categories struct { func (x *Categories) Reset() { *x = Categories{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[17] + mi := &file_api_v1_api_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1105,7 +1201,7 @@ func (x *Categories) String() string { func (*Categories) ProtoMessage() {} func (x *Categories) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[17] + mi := &file_api_v1_api_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1118,7 +1214,7 @@ func (x *Categories) ProtoReflect() protoreflect.Message { // Deprecated: Use Categories.ProtoReflect.Descriptor instead. func (*Categories) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{17} + return file_api_v1_api_proto_rawDescGZIP(), []int{19} } func (x *Categories) GetSdk() Sdk { @@ -1148,7 +1244,7 @@ type GetPrecompiledObjectsRequest struct { func (x *GetPrecompiledObjectsRequest) Reset() { *x = GetPrecompiledObjectsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[18] + mi := &file_api_v1_api_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1161,7 +1257,7 @@ func (x *GetPrecompiledObjectsRequest) String() string { func (*GetPrecompiledObjectsRequest) ProtoMessage() {} func (x *GetPrecompiledObjectsRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[18] + mi := &file_api_v1_api_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1174,7 +1270,7 @@ func (x *GetPrecompiledObjectsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPrecompiledObjectsRequest.ProtoReflect.Descriptor instead. func (*GetPrecompiledObjectsRequest) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{18} + return file_api_v1_api_proto_rawDescGZIP(), []int{20} } func (x *GetPrecompiledObjectsRequest) GetSdk() Sdk { @@ -1203,7 +1299,7 @@ type GetPrecompiledObjectCodeRequest struct { func (x *GetPrecompiledObjectCodeRequest) Reset() { *x = GetPrecompiledObjectCodeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[19] + mi := &file_api_v1_api_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1216,7 +1312,7 @@ func (x *GetPrecompiledObjectCodeRequest) String() string { func (*GetPrecompiledObjectCodeRequest) ProtoMessage() {} func (x *GetPrecompiledObjectCodeRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[19] + mi := &file_api_v1_api_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1229,7 +1325,7 @@ func (x *GetPrecompiledObjectCodeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPrecompiledObjectCodeRequest.ProtoReflect.Descriptor instead. func (*GetPrecompiledObjectCodeRequest) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{19} + return file_api_v1_api_proto_rawDescGZIP(), []int{21} } func (x *GetPrecompiledObjectCodeRequest) GetCloudPath() string { @@ -1251,7 +1347,7 @@ type GetPrecompiledObjectOutputRequest struct { func (x *GetPrecompiledObjectOutputRequest) Reset() { *x = GetPrecompiledObjectOutputRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[20] + mi := &file_api_v1_api_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1264,7 +1360,7 @@ func (x *GetPrecompiledObjectOutputRequest) String() string { func (*GetPrecompiledObjectOutputRequest) ProtoMessage() {} func (x *GetPrecompiledObjectOutputRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[20] + mi := &file_api_v1_api_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1277,7 +1373,7 @@ func (x *GetPrecompiledObjectOutputRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GetPrecompiledObjectOutputRequest.ProtoReflect.Descriptor instead. func (*GetPrecompiledObjectOutputRequest) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{20} + return file_api_v1_api_proto_rawDescGZIP(), []int{22} } func (x *GetPrecompiledObjectOutputRequest) GetCloudPath() string { @@ -1299,7 +1395,7 @@ type GetPrecompiledObjectLogsRequest struct { func (x *GetPrecompiledObjectLogsRequest) Reset() { *x = GetPrecompiledObjectLogsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[21] + mi := &file_api_v1_api_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1312,7 +1408,7 @@ func (x *GetPrecompiledObjectLogsRequest) String() string { func (*GetPrecompiledObjectLogsRequest) ProtoMessage() {} func (x *GetPrecompiledObjectLogsRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[21] + mi := &file_api_v1_api_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1325,7 +1421,7 @@ func (x *GetPrecompiledObjectLogsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPrecompiledObjectLogsRequest.ProtoReflect.Descriptor instead. func (*GetPrecompiledObjectLogsRequest) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{21} + return file_api_v1_api_proto_rawDescGZIP(), []int{23} } func (x *GetPrecompiledObjectLogsRequest) GetCloudPath() string { @@ -1347,7 +1443,7 @@ type GetPrecompiledObjectsResponse struct { func (x *GetPrecompiledObjectsResponse) Reset() { *x = GetPrecompiledObjectsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[22] + mi := &file_api_v1_api_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1360,7 +1456,7 @@ func (x *GetPrecompiledObjectsResponse) String() string { func (*GetPrecompiledObjectsResponse) ProtoMessage() {} func (x *GetPrecompiledObjectsResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[22] + mi := &file_api_v1_api_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1373,7 +1469,7 @@ func (x *GetPrecompiledObjectsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPrecompiledObjectsResponse.ProtoReflect.Descriptor instead. func (*GetPrecompiledObjectsResponse) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{22} + return file_api_v1_api_proto_rawDescGZIP(), []int{24} } func (x *GetPrecompiledObjectsResponse) GetSdkCategories() []*Categories { @@ -1395,7 +1491,7 @@ type GetPrecompiledObjectCodeResponse struct { func (x *GetPrecompiledObjectCodeResponse) Reset() { *x = GetPrecompiledObjectCodeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[23] + mi := &file_api_v1_api_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1408,7 +1504,7 @@ func (x *GetPrecompiledObjectCodeResponse) String() string { func (*GetPrecompiledObjectCodeResponse) ProtoMessage() {} func (x *GetPrecompiledObjectCodeResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[23] + mi := &file_api_v1_api_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1421,7 +1517,7 @@ func (x *GetPrecompiledObjectCodeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPrecompiledObjectCodeResponse.ProtoReflect.Descriptor instead. func (*GetPrecompiledObjectCodeResponse) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{23} + return file_api_v1_api_proto_rawDescGZIP(), []int{25} } func (x *GetPrecompiledObjectCodeResponse) GetCode() string { @@ -1443,7 +1539,7 @@ type GetPrecompiledObjectOutputResponse struct { func (x *GetPrecompiledObjectOutputResponse) Reset() { *x = GetPrecompiledObjectOutputResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[24] + mi := &file_api_v1_api_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1456,7 +1552,7 @@ func (x *GetPrecompiledObjectOutputResponse) String() string { func (*GetPrecompiledObjectOutputResponse) ProtoMessage() {} func (x *GetPrecompiledObjectOutputResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[24] + mi := &file_api_v1_api_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1469,7 +1565,7 @@ func (x *GetPrecompiledObjectOutputResponse) ProtoReflect() protoreflect.Message // Deprecated: Use GetPrecompiledObjectOutputResponse.ProtoReflect.Descriptor instead. func (*GetPrecompiledObjectOutputResponse) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{24} + return file_api_v1_api_proto_rawDescGZIP(), []int{26} } func (x *GetPrecompiledObjectOutputResponse) GetOutput() string { @@ -1491,7 +1587,7 @@ type GetPrecompiledObjectLogsResponse struct { func (x *GetPrecompiledObjectLogsResponse) Reset() { *x = GetPrecompiledObjectLogsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[25] + mi := &file_api_v1_api_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1504,7 +1600,7 @@ func (x *GetPrecompiledObjectLogsResponse) String() string { func (*GetPrecompiledObjectLogsResponse) ProtoMessage() {} func (x *GetPrecompiledObjectLogsResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[25] + mi := &file_api_v1_api_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1517,7 +1613,7 @@ func (x *GetPrecompiledObjectLogsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPrecompiledObjectLogsResponse.ProtoReflect.Descriptor instead. func (*GetPrecompiledObjectLogsResponse) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{25} + return file_api_v1_api_proto_rawDescGZIP(), []int{27} } func (x *GetPrecompiledObjectLogsResponse) GetOutput() string { @@ -1539,7 +1635,7 @@ type Categories_Category struct { func (x *Categories_Category) Reset() { *x = Categories_Category{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_api_proto_msgTypes[26] + mi := &file_api_v1_api_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1552,7 +1648,7 @@ func (x *Categories_Category) String() string { func (*Categories_Category) ProtoMessage() {} func (x *Categories_Category) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_api_proto_msgTypes[26] + mi := &file_api_v1_api_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1565,7 +1661,7 @@ func (x *Categories_Category) ProtoReflect() protoreflect.Message { // Deprecated: Use Categories_Category.ProtoReflect.Descriptor instead. func (*Categories_Category) Descriptor() ([]byte, []int) { - return file_api_v1_api_proto_rawDescGZIP(), []int{17, 0} + return file_api_v1_api_proto_rawDescGZIP(), []int{19, 0} } func (x *Categories_Category) GetCategoryName() string { @@ -1604,214 +1700,227 @@ var file_api_v1_api_proto_rawDesc = []byte{ 0x13, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x42, 0x0a, 0x1b, - 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, - 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x55, 0x75, 0x69, 0x64, - 0x22, 0x36, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x3e, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, - 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x55, 0x75, 0x69, 0x64, 0x22, 0x32, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x41, 0x0a, 0x1a, + 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x55, 0x75, 0x69, 0x64, 0x22, + 0x35, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x42, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, + 0x70, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x55, 0x75, 0x69, 0x64, 0x22, 0x36, 0x0a, 0x1c, 0x47, 0x65, + 0x74, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x22, 0x3e, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, + 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x55, 0x75, + 0x69, 0x64, 0x22, 0x32, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x3a, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, + 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x55, 0x75, + 0x69, 0x64, 0x22, 0x2e, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x22, 0x39, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x55, 0x75, 0x69, 0x64, 0x22, 0x2d, 0x0a, + 0x13, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x3a, 0x0a, 0x13, - 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, - 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x55, 0x75, 0x69, 0x64, 0x22, 0x2e, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, - 0x75, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x39, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, - 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x35, 0x0a, 0x0e, + 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x55, - 0x75, 0x69, 0x64, 0x22, 0x2d, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x22, 0x35, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x69, 0x70, - 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x55, 0x75, 0x69, 0x64, 0x22, 0x29, 0x0a, 0x0f, 0x47, 0x65, 0x74, - 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x22, 0x34, 0x0a, 0x0d, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, - 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x69, - 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x55, 0x75, 0x69, 0x64, 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x61, - 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc6, 0x01, 0x0a, - 0x11, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x61, 0x74, - 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x69, - 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe5, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, - 0x72, 0x69, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x03, 0x73, 0x64, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x64, 0x6b, 0x52, 0x03, - 0x73, 0x64, 0x6b, 0x12, 0x3b, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x2e, 0x43, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, - 0x1a, 0x7b, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, - 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x4a, 0x0a, 0x13, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, - 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, - 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x12, 0x70, 0x72, 0x65, 0x63, 0x6f, - 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0x59, 0x0a, - 0x1c, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, - 0x03, 0x73, 0x64, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x64, 0x6b, 0x52, 0x03, 0x73, 0x64, 0x6b, 0x12, 0x1a, 0x0a, 0x08, - 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 0x40, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x50, + 0x75, 0x69, 0x64, 0x22, 0x29, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x34, + 0x0a, 0x0d, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x23, 0x0a, 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x55, 0x75, 0x69, 0x64, 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc6, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x65, 0x63, 0x6f, + 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x31, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, + 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, + 0xe5, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1d, + 0x0a, 0x03, 0x73, 0x64, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x64, 0x6b, 0x52, 0x03, 0x73, 0x64, 0x6b, 0x12, 0x3b, 0x0a, + 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, + 0x6f, 0x72, 0x69, 0x65, 0x73, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0a, + 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x7b, 0x0a, 0x08, 0x43, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, + 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x13, 0x70, + 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x12, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0x59, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x50, 0x72, + 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x03, 0x73, 0x64, 0x6b, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x64, + 0x6b, 0x52, 0x03, 0x73, 0x64, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x22, 0x40, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, + 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x50, 0x61, 0x74, 0x68, 0x22, 0x42, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, + 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x61, 0x74, 0x68, 0x22, 0x40, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, + 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x61, 0x74, 0x68, 0x22, 0x42, 0x0a, 0x21, 0x47, 0x65, + 0x09, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x61, 0x74, 0x68, 0x22, 0x5a, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x61, 0x74, 0x68, 0x22, 0x40, - 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x61, 0x74, 0x68, - 0x22, 0x5a, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, - 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x39, 0x0a, 0x0e, 0x73, 0x64, 0x6b, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, - 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0d, 0x73, - 0x64, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x22, 0x36, 0x0a, 0x20, + 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0e, 0x73, + 0x64, 0x6b, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x74, + 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0d, 0x73, 0x64, 0x6b, 0x43, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x22, 0x36, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, + 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, + 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3c, + 0x0a, 0x22, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x3a, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3c, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, - 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x22, 0x3a, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, - 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2a, 0x52, - 0x0a, 0x03, 0x53, 0x64, 0x6b, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x44, 0x4b, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x44, - 0x4b, 0x5f, 0x4a, 0x41, 0x56, 0x41, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x44, 0x4b, 0x5f, - 0x47, 0x4f, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x44, 0x4b, 0x5f, 0x50, 0x59, 0x54, 0x48, - 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x44, 0x4b, 0x5f, 0x53, 0x43, 0x49, 0x4f, - 0x10, 0x04, 0x2a, 0xb8, 0x02, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, - 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, - 0x1c, 0x0a, 0x18, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x14, 0x0a, - 0x10, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x49, 0x4c, 0x49, 0x4e, - 0x47, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4f, - 0x4d, 0x50, 0x49, 0x4c, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x06, 0x12, 0x14, 0x0a, - 0x10, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4e, - 0x47, 0x10, 0x07, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x49, - 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x08, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x09, 0x12, 0x10, - 0x0a, 0x0c, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x0a, - 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x54, - 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x0b, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x0c, 0x2a, 0xae, 0x01, - 0x0a, 0x15, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x23, 0x50, 0x52, 0x45, 0x43, 0x4f, - 0x4d, 0x50, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x52, 0x45, 0x43, 0x4f, 0x4d, 0x50, 0x49, 0x4c, 0x45, 0x44, 0x5f, - 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x58, 0x41, 0x4d, - 0x50, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x52, 0x45, 0x43, 0x4f, 0x4d, 0x50, - 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x4b, 0x41, 0x54, 0x41, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x52, 0x45, 0x43, 0x4f, - 0x4d, 0x50, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x10, 0x03, 0x32, 0x92, - 0x08, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x64, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x46, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x52, - 0x75, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x52, 0x75, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x16, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x46, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1a, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x72, - 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, - 0x23, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x70, - 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x10, 0x47, 0x65, - 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1f, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x69, - 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, - 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x37, 0x0a, 0x06, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x15, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, - 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x15, 0x47, 0x65, + 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2a, 0x52, 0x0a, 0x03, 0x53, 0x64, 0x6b, 0x12, + 0x13, 0x0a, 0x0f, 0x53, 0x44, 0x4b, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x44, 0x4b, 0x5f, 0x4a, 0x41, 0x56, 0x41, + 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x44, 0x4b, 0x5f, 0x47, 0x4f, 0x10, 0x02, 0x12, 0x0e, + 0x0a, 0x0a, 0x53, 0x44, 0x4b, 0x5f, 0x50, 0x59, 0x54, 0x48, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x0c, + 0x0a, 0x08, 0x53, 0x44, 0x4b, 0x5f, 0x53, 0x43, 0x49, 0x4f, 0x10, 0x04, 0x2a, 0xb8, 0x02, 0x0a, + 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, + 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x52, + 0x45, 0x50, 0x41, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x54, 0x41, + 0x54, 0x55, 0x53, 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x49, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x18, 0x0a, + 0x14, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x49, 0x4c, 0x45, 0x5f, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x07, 0x12, 0x13, 0x0a, + 0x0f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, + 0x10, 0x08, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x55, 0x4e, + 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x09, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x0a, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, + 0x10, 0x0b, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x41, 0x4e, + 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x0c, 0x2a, 0xae, 0x01, 0x0a, 0x15, 0x50, 0x72, 0x65, 0x63, + 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x27, 0x0a, 0x23, 0x50, 0x52, 0x45, 0x43, 0x4f, 0x4d, 0x50, 0x49, 0x4c, 0x45, 0x44, + 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x52, + 0x45, 0x43, 0x4f, 0x4d, 0x50, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x01, 0x12, + 0x20, 0x0a, 0x1c, 0x50, 0x52, 0x45, 0x43, 0x4f, 0x4d, 0x50, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x4f, + 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x41, 0x54, 0x41, 0x10, + 0x02, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x52, 0x45, 0x43, 0x4f, 0x4d, 0x50, 0x49, 0x4c, 0x45, 0x44, + 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x49, + 0x54, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x10, 0x03, 0x32, 0xf2, 0x08, 0x0a, 0x11, 0x50, 0x6c, 0x61, + 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3a, + 0x0a, 0x07, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x43, 0x6f, + 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, + 0x75, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x4f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, + 0x07, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x47, 0x65, 0x74, + 0x52, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x52, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x5e, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x61, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x23, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x70, 0x61, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x69, + 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x43, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, + 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x24, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, + 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x28, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, + 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x64, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, - 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x6d, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, - 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x27, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, - 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x73, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, - 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x29, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, - 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, - 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x67, 0x73, - 0x12, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, - 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x6f, - 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, - 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x42, 0x38, 0x5a, 0x36, 0x62, 0x65, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x61, 0x63, - 0x68, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, - 0x64, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x3b, 0x70, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x29, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, + 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, + 0x0a, 0x18, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x27, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, + 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x38, 0x5a, + 0x36, 0x62, 0x65, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x6f, 0x72, 0x67, + 0x2f, 0x70, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2f, 0x62, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x3b, 0x70, 0x6c, 0x61, + 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1827,7 +1936,7 @@ func file_api_v1_api_proto_rawDescGZIP() []byte { } var file_api_v1_api_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_api_v1_api_proto_msgTypes = make([]protoimpl.MessageInfo, 27) +var file_api_v1_api_proto_msgTypes = make([]protoimpl.MessageInfo, 29) var file_api_v1_api_proto_goTypes = []interface{}{ (Sdk)(0), // 0: api.v1.Sdk (Status)(0), // 1: api.v1.Status @@ -1836,65 +1945,69 @@ var file_api_v1_api_proto_goTypes = []interface{}{ (*RunCodeResponse)(nil), // 4: api.v1.RunCodeResponse (*CheckStatusRequest)(nil), // 5: api.v1.CheckStatusRequest (*CheckStatusResponse)(nil), // 6: api.v1.CheckStatusResponse - (*GetPreparationOutputRequest)(nil), // 7: api.v1.GetPreparationOutputRequest - (*GetPreparationOutputResponse)(nil), // 8: api.v1.GetPreparationOutputResponse - (*GetCompileOutputRequest)(nil), // 9: api.v1.GetCompileOutputRequest - (*GetCompileOutputResponse)(nil), // 10: api.v1.GetCompileOutputResponse - (*GetRunOutputRequest)(nil), // 11: api.v1.GetRunOutputRequest - (*GetRunOutputResponse)(nil), // 12: api.v1.GetRunOutputResponse - (*GetRunErrorRequest)(nil), // 13: api.v1.GetRunErrorRequest - (*GetRunErrorResponse)(nil), // 14: api.v1.GetRunErrorResponse - (*GetLogsRequest)(nil), // 15: api.v1.GetLogsRequest - (*GetLogsResponse)(nil), // 16: api.v1.GetLogsResponse - (*CancelRequest)(nil), // 17: api.v1.CancelRequest - (*CancelResponse)(nil), // 18: api.v1.CancelResponse - (*PrecompiledObject)(nil), // 19: api.v1.PrecompiledObject - (*Categories)(nil), // 20: api.v1.Categories - (*GetPrecompiledObjectsRequest)(nil), // 21: api.v1.GetPrecompiledObjectsRequest - (*GetPrecompiledObjectCodeRequest)(nil), // 22: api.v1.GetPrecompiledObjectCodeRequest - (*GetPrecompiledObjectOutputRequest)(nil), // 23: api.v1.GetPrecompiledObjectOutputRequest - (*GetPrecompiledObjectLogsRequest)(nil), // 24: api.v1.GetPrecompiledObjectLogsRequest - (*GetPrecompiledObjectsResponse)(nil), // 25: api.v1.GetPrecompiledObjectsResponse - (*GetPrecompiledObjectCodeResponse)(nil), // 26: api.v1.GetPrecompiledObjectCodeResponse - (*GetPrecompiledObjectOutputResponse)(nil), // 27: api.v1.GetPrecompiledObjectOutputResponse - (*GetPrecompiledObjectLogsResponse)(nil), // 28: api.v1.GetPrecompiledObjectLogsResponse - (*Categories_Category)(nil), // 29: api.v1.Categories.Category + (*GetValidationOutputRequest)(nil), // 7: api.v1.GetValidationOutputRequest + (*GetValidationOutputResponse)(nil), // 8: api.v1.GetValidationOutputResponse + (*GetPreparationOutputRequest)(nil), // 9: api.v1.GetPreparationOutputRequest + (*GetPreparationOutputResponse)(nil), // 10: api.v1.GetPreparationOutputResponse + (*GetCompileOutputRequest)(nil), // 11: api.v1.GetCompileOutputRequest + (*GetCompileOutputResponse)(nil), // 12: api.v1.GetCompileOutputResponse + (*GetRunOutputRequest)(nil), // 13: api.v1.GetRunOutputRequest + (*GetRunOutputResponse)(nil), // 14: api.v1.GetRunOutputResponse + (*GetRunErrorRequest)(nil), // 15: api.v1.GetRunErrorRequest + (*GetRunErrorResponse)(nil), // 16: api.v1.GetRunErrorResponse + (*GetLogsRequest)(nil), // 17: api.v1.GetLogsRequest + (*GetLogsResponse)(nil), // 18: api.v1.GetLogsResponse + (*CancelRequest)(nil), // 19: api.v1.CancelRequest + (*CancelResponse)(nil), // 20: api.v1.CancelResponse + (*PrecompiledObject)(nil), // 21: api.v1.PrecompiledObject + (*Categories)(nil), // 22: api.v1.Categories + (*GetPrecompiledObjectsRequest)(nil), // 23: api.v1.GetPrecompiledObjectsRequest + (*GetPrecompiledObjectCodeRequest)(nil), // 24: api.v1.GetPrecompiledObjectCodeRequest + (*GetPrecompiledObjectOutputRequest)(nil), // 25: api.v1.GetPrecompiledObjectOutputRequest + (*GetPrecompiledObjectLogsRequest)(nil), // 26: api.v1.GetPrecompiledObjectLogsRequest + (*GetPrecompiledObjectsResponse)(nil), // 27: api.v1.GetPrecompiledObjectsResponse + (*GetPrecompiledObjectCodeResponse)(nil), // 28: api.v1.GetPrecompiledObjectCodeResponse + (*GetPrecompiledObjectOutputResponse)(nil), // 29: api.v1.GetPrecompiledObjectOutputResponse + (*GetPrecompiledObjectLogsResponse)(nil), // 30: api.v1.GetPrecompiledObjectLogsResponse + (*Categories_Category)(nil), // 31: api.v1.Categories.Category } var file_api_v1_api_proto_depIdxs = []int32{ 0, // 0: api.v1.RunCodeRequest.sdk:type_name -> api.v1.Sdk 1, // 1: api.v1.CheckStatusResponse.status:type_name -> api.v1.Status 2, // 2: api.v1.PrecompiledObject.type:type_name -> api.v1.PrecompiledObjectType 0, // 3: api.v1.Categories.sdk:type_name -> api.v1.Sdk - 29, // 4: api.v1.Categories.categories:type_name -> api.v1.Categories.Category + 31, // 4: api.v1.Categories.categories:type_name -> api.v1.Categories.Category 0, // 5: api.v1.GetPrecompiledObjectsRequest.sdk:type_name -> api.v1.Sdk - 20, // 6: api.v1.GetPrecompiledObjectsResponse.sdk_categories:type_name -> api.v1.Categories - 19, // 7: api.v1.Categories.Category.precompiled_objects:type_name -> api.v1.PrecompiledObject + 22, // 6: api.v1.GetPrecompiledObjectsResponse.sdk_categories:type_name -> api.v1.Categories + 21, // 7: api.v1.Categories.Category.precompiled_objects:type_name -> api.v1.PrecompiledObject 3, // 8: api.v1.PlaygroundService.RunCode:input_type -> api.v1.RunCodeRequest 5, // 9: api.v1.PlaygroundService.CheckStatus:input_type -> api.v1.CheckStatusRequest - 11, // 10: api.v1.PlaygroundService.GetRunOutput:input_type -> api.v1.GetRunOutputRequest - 15, // 11: api.v1.PlaygroundService.GetLogs:input_type -> api.v1.GetLogsRequest - 13, // 12: api.v1.PlaygroundService.GetRunError:input_type -> api.v1.GetRunErrorRequest - 7, // 13: api.v1.PlaygroundService.GetPreparationOutput:input_type -> api.v1.GetPreparationOutputRequest - 9, // 14: api.v1.PlaygroundService.GetCompileOutput:input_type -> api.v1.GetCompileOutputRequest - 17, // 15: api.v1.PlaygroundService.Cancel:input_type -> api.v1.CancelRequest - 21, // 16: api.v1.PlaygroundService.GetPrecompiledObjects:input_type -> api.v1.GetPrecompiledObjectsRequest - 22, // 17: api.v1.PlaygroundService.GetPrecompiledObjectCode:input_type -> api.v1.GetPrecompiledObjectCodeRequest - 23, // 18: api.v1.PlaygroundService.GetPrecompiledObjectOutput:input_type -> api.v1.GetPrecompiledObjectOutputRequest - 24, // 19: api.v1.PlaygroundService.GetPrecompiledObjectLogs:input_type -> api.v1.GetPrecompiledObjectLogsRequest - 4, // 20: api.v1.PlaygroundService.RunCode:output_type -> api.v1.RunCodeResponse - 6, // 21: api.v1.PlaygroundService.CheckStatus:output_type -> api.v1.CheckStatusResponse - 12, // 22: api.v1.PlaygroundService.GetRunOutput:output_type -> api.v1.GetRunOutputResponse - 16, // 23: api.v1.PlaygroundService.GetLogs:output_type -> api.v1.GetLogsResponse - 14, // 24: api.v1.PlaygroundService.GetRunError:output_type -> api.v1.GetRunErrorResponse - 8, // 25: api.v1.PlaygroundService.GetPreparationOutput:output_type -> api.v1.GetPreparationOutputResponse - 10, // 26: api.v1.PlaygroundService.GetCompileOutput:output_type -> api.v1.GetCompileOutputResponse - 18, // 27: api.v1.PlaygroundService.Cancel:output_type -> api.v1.CancelResponse - 25, // 28: api.v1.PlaygroundService.GetPrecompiledObjects:output_type -> api.v1.GetPrecompiledObjectsResponse - 26, // 29: api.v1.PlaygroundService.GetPrecompiledObjectCode:output_type -> api.v1.GetPrecompiledObjectCodeResponse - 27, // 30: api.v1.PlaygroundService.GetPrecompiledObjectOutput:output_type -> api.v1.GetPrecompiledObjectOutputResponse - 28, // 31: api.v1.PlaygroundService.GetPrecompiledObjectLogs:output_type -> api.v1.GetPrecompiledObjectLogsResponse - 20, // [20:32] is the sub-list for method output_type - 8, // [8:20] is the sub-list for method input_type + 13, // 10: api.v1.PlaygroundService.GetRunOutput:input_type -> api.v1.GetRunOutputRequest + 17, // 11: api.v1.PlaygroundService.GetLogs:input_type -> api.v1.GetLogsRequest + 15, // 12: api.v1.PlaygroundService.GetRunError:input_type -> api.v1.GetRunErrorRequest + 7, // 13: api.v1.PlaygroundService.GetValidationOutput:input_type -> api.v1.GetValidationOutputRequest + 9, // 14: api.v1.PlaygroundService.GetPreparationOutput:input_type -> api.v1.GetPreparationOutputRequest + 11, // 15: api.v1.PlaygroundService.GetCompileOutput:input_type -> api.v1.GetCompileOutputRequest + 19, // 16: api.v1.PlaygroundService.Cancel:input_type -> api.v1.CancelRequest + 23, // 17: api.v1.PlaygroundService.GetPrecompiledObjects:input_type -> api.v1.GetPrecompiledObjectsRequest + 24, // 18: api.v1.PlaygroundService.GetPrecompiledObjectCode:input_type -> api.v1.GetPrecompiledObjectCodeRequest + 25, // 19: api.v1.PlaygroundService.GetPrecompiledObjectOutput:input_type -> api.v1.GetPrecompiledObjectOutputRequest + 26, // 20: api.v1.PlaygroundService.GetPrecompiledObjectLogs:input_type -> api.v1.GetPrecompiledObjectLogsRequest + 4, // 21: api.v1.PlaygroundService.RunCode:output_type -> api.v1.RunCodeResponse + 6, // 22: api.v1.PlaygroundService.CheckStatus:output_type -> api.v1.CheckStatusResponse + 14, // 23: api.v1.PlaygroundService.GetRunOutput:output_type -> api.v1.GetRunOutputResponse + 18, // 24: api.v1.PlaygroundService.GetLogs:output_type -> api.v1.GetLogsResponse + 16, // 25: api.v1.PlaygroundService.GetRunError:output_type -> api.v1.GetRunErrorResponse + 8, // 26: api.v1.PlaygroundService.GetValidationOutput:output_type -> api.v1.GetValidationOutputResponse + 10, // 27: api.v1.PlaygroundService.GetPreparationOutput:output_type -> api.v1.GetPreparationOutputResponse + 12, // 28: api.v1.PlaygroundService.GetCompileOutput:output_type -> api.v1.GetCompileOutputResponse + 20, // 29: api.v1.PlaygroundService.Cancel:output_type -> api.v1.CancelResponse + 27, // 30: api.v1.PlaygroundService.GetPrecompiledObjects:output_type -> api.v1.GetPrecompiledObjectsResponse + 28, // 31: api.v1.PlaygroundService.GetPrecompiledObjectCode:output_type -> api.v1.GetPrecompiledObjectCodeResponse + 29, // 32: api.v1.PlaygroundService.GetPrecompiledObjectOutput:output_type -> api.v1.GetPrecompiledObjectOutputResponse + 30, // 33: api.v1.PlaygroundService.GetPrecompiledObjectLogs:output_type -> api.v1.GetPrecompiledObjectLogsResponse + 21, // [21:34] is the sub-list for method output_type + 8, // [8:21] is the sub-list for method input_type 8, // [8:8] is the sub-list for extension type_name 8, // [8:8] is the sub-list for extension extendee 0, // [0:8] is the sub-list for field type_name @@ -1955,7 +2068,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPreparationOutputRequest); i { + switch v := v.(*GetValidationOutputRequest); i { case 0: return &v.state case 1: @@ -1967,7 +2080,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPreparationOutputResponse); i { + switch v := v.(*GetValidationOutputResponse); i { case 0: return &v.state case 1: @@ -1979,7 +2092,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCompileOutputRequest); i { + switch v := v.(*GetPreparationOutputRequest); i { case 0: return &v.state case 1: @@ -1991,7 +2104,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCompileOutputResponse); i { + switch v := v.(*GetPreparationOutputResponse); i { case 0: return &v.state case 1: @@ -2003,7 +2116,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRunOutputRequest); i { + switch v := v.(*GetCompileOutputRequest); i { case 0: return &v.state case 1: @@ -2015,7 +2128,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRunOutputResponse); i { + switch v := v.(*GetCompileOutputResponse); i { case 0: return &v.state case 1: @@ -2027,7 +2140,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRunErrorRequest); i { + switch v := v.(*GetRunOutputRequest); i { case 0: return &v.state case 1: @@ -2039,7 +2152,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRunErrorResponse); i { + switch v := v.(*GetRunOutputResponse); i { case 0: return &v.state case 1: @@ -2051,7 +2164,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLogsRequest); i { + switch v := v.(*GetRunErrorRequest); i { case 0: return &v.state case 1: @@ -2063,7 +2176,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLogsResponse); i { + switch v := v.(*GetRunErrorResponse); i { case 0: return &v.state case 1: @@ -2075,7 +2188,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelRequest); i { + switch v := v.(*GetLogsRequest); i { case 0: return &v.state case 1: @@ -2087,7 +2200,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelResponse); i { + switch v := v.(*GetLogsResponse); i { case 0: return &v.state case 1: @@ -2099,7 +2212,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PrecompiledObject); i { + switch v := v.(*CancelRequest); i { case 0: return &v.state case 1: @@ -2111,7 +2224,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Categories); i { + switch v := v.(*CancelResponse); i { case 0: return &v.state case 1: @@ -2123,7 +2236,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPrecompiledObjectsRequest); i { + switch v := v.(*PrecompiledObject); i { case 0: return &v.state case 1: @@ -2135,7 +2248,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPrecompiledObjectCodeRequest); i { + switch v := v.(*Categories); i { case 0: return &v.state case 1: @@ -2147,7 +2260,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPrecompiledObjectOutputRequest); i { + switch v := v.(*GetPrecompiledObjectsRequest); i { case 0: return &v.state case 1: @@ -2159,7 +2272,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPrecompiledObjectLogsRequest); i { + switch v := v.(*GetPrecompiledObjectCodeRequest); i { case 0: return &v.state case 1: @@ -2171,7 +2284,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPrecompiledObjectsResponse); i { + switch v := v.(*GetPrecompiledObjectOutputRequest); i { case 0: return &v.state case 1: @@ -2183,7 +2296,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPrecompiledObjectCodeResponse); i { + switch v := v.(*GetPrecompiledObjectLogsRequest); i { case 0: return &v.state case 1: @@ -2195,7 +2308,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPrecompiledObjectOutputResponse); i { + switch v := v.(*GetPrecompiledObjectsResponse); i { case 0: return &v.state case 1: @@ -2207,7 +2320,7 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPrecompiledObjectLogsResponse); i { + switch v := v.(*GetPrecompiledObjectCodeResponse); i { case 0: return &v.state case 1: @@ -2219,6 +2332,30 @@ func file_api_v1_api_proto_init() { } } file_api_v1_api_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPrecompiledObjectOutputResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_v1_api_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPrecompiledObjectLogsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_v1_api_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Categories_Category); i { case 0: return &v.state @@ -2237,7 +2374,7 @@ func file_api_v1_api_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_api_v1_api_proto_rawDesc, NumEnums: 3, - NumMessages: 27, + NumMessages: 29, NumExtensions: 0, NumServices: 1, }, diff --git a/playground/backend/internal/api/v1/api_grpc.pb.go b/playground/backend/internal/api/v1/api_grpc.pb.go index a045ff7fa84be..aa1736c2397f0 100644 --- a/playground/backend/internal/api/v1/api_grpc.pb.go +++ b/playground/backend/internal/api/v1/api_grpc.pb.go @@ -45,6 +45,8 @@ type PlaygroundServiceClient interface { GetLogs(ctx context.Context, in *GetLogsRequest, opts ...grpc.CallOption) (*GetLogsResponse, error) // Get the error of pipeline execution. GetRunError(ctx context.Context, in *GetRunErrorRequest, opts ...grpc.CallOption) (*GetRunErrorResponse, error) + // Get the result of pipeline validation. + GetValidationOutput(ctx context.Context, in *GetValidationOutputRequest, opts ...grpc.CallOption) (*GetValidationOutputResponse, error) // Get the result of pipeline preparation. GetPreparationOutput(ctx context.Context, in *GetPreparationOutputRequest, opts ...grpc.CallOption) (*GetPreparationOutputResponse, error) // Get the result of pipeline compilation. @@ -114,6 +116,15 @@ func (c *playgroundServiceClient) GetRunError(ctx context.Context, in *GetRunErr return out, nil } +func (c *playgroundServiceClient) GetValidationOutput(ctx context.Context, in *GetValidationOutputRequest, opts ...grpc.CallOption) (*GetValidationOutputResponse, error) { + out := new(GetValidationOutputResponse) + err := c.cc.Invoke(ctx, "/api.v1.PlaygroundService/GetValidationOutput", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *playgroundServiceClient) GetPreparationOutput(ctx context.Context, in *GetPreparationOutputRequest, opts ...grpc.CallOption) (*GetPreparationOutputResponse, error) { out := new(GetPreparationOutputResponse) err := c.cc.Invoke(ctx, "/api.v1.PlaygroundService/GetPreparationOutput", in, out, opts...) @@ -191,6 +202,8 @@ type PlaygroundServiceServer interface { GetLogs(context.Context, *GetLogsRequest) (*GetLogsResponse, error) // Get the error of pipeline execution. GetRunError(context.Context, *GetRunErrorRequest) (*GetRunErrorResponse, error) + // Get the result of pipeline validation. + GetValidationOutput(context.Context, *GetValidationOutputRequest) (*GetValidationOutputResponse, error) // Get the result of pipeline preparation. GetPreparationOutput(context.Context, *GetPreparationOutputRequest) (*GetPreparationOutputResponse, error) // Get the result of pipeline compilation. @@ -226,6 +239,9 @@ func (UnimplementedPlaygroundServiceServer) GetLogs(context.Context, *GetLogsReq func (UnimplementedPlaygroundServiceServer) GetRunError(context.Context, *GetRunErrorRequest) (*GetRunErrorResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetRunError not implemented") } +func (UnimplementedPlaygroundServiceServer) GetValidationOutput(context.Context, *GetValidationOutputRequest) (*GetValidationOutputResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetValidationOutput not implemented") +} func (UnimplementedPlaygroundServiceServer) GetPreparationOutput(context.Context, *GetPreparationOutputRequest) (*GetPreparationOutputResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetPreparationOutput not implemented") } @@ -349,6 +365,24 @@ func _PlaygroundService_GetRunError_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } +func _PlaygroundService_GetValidationOutput_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetValidationOutputRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PlaygroundServiceServer).GetValidationOutput(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.v1.PlaygroundService/GetValidationOutput", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PlaygroundServiceServer).GetValidationOutput(ctx, req.(*GetValidationOutputRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _PlaygroundService_GetPreparationOutput_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetPreparationOutputRequest) if err := dec(in); err != nil { @@ -502,6 +536,10 @@ var PlaygroundService_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetRunError", Handler: _PlaygroundService_GetRunError_Handler, }, + { + MethodName: "GetValidationOutput", + Handler: _PlaygroundService_GetValidationOutput_Handler, + }, { MethodName: "GetPreparationOutput", Handler: _PlaygroundService_GetPreparationOutput_Handler, diff --git a/playground/backend/internal/cache/cache.go b/playground/backend/internal/cache/cache.go index 0b632dfcc4b2d..1f52236b6b447 100644 --- a/playground/backend/internal/cache/cache.go +++ b/playground/backend/internal/cache/cache.go @@ -35,6 +35,9 @@ const ( // RunError is used to keep run code error value RunError SubKey = "RUN_ERROR" + // ValidationOutput is used to keep validation output value + ValidationOutput SubKey = "VALIDATION_OUTPUT" + // PreparationOutput is used to keep prepare step output value PreparationOutput SubKey = "PREPARATION_OUTPUT" diff --git a/playground/backend/internal/cache/redis/redis_cache.go b/playground/backend/internal/cache/redis/redis_cache.go index a9631a256c3eb..51bb9bda447d8 100644 --- a/playground/backend/internal/cache/redis/redis_cache.go +++ b/playground/backend/internal/cache/redis/redis_cache.go @@ -101,7 +101,7 @@ func unmarshalBySubKey(subKey cache.SubKey, value string) (result interface{}, e switch subKey { case cache.Status: result = new(pb.Status) - case cache.RunOutput, cache.RunError, cache.PreparationOutput, cache.CompileOutput, cache.Logs: + case cache.RunOutput, cache.RunError, cache.ValidationOutput, cache.PreparationOutput, cache.CompileOutput, cache.Logs: result = "" case cache.Canceled: result = false diff --git a/playground/backend/internal/code_processing/code_processing.go b/playground/backend/internal/code_processing/code_processing.go index 56d660d9b9016..b85674568b866 100644 --- a/playground/backend/internal/code_processing/code_processing.go +++ b/playground/backend/internal/code_processing/code_processing.go @@ -88,7 +88,8 @@ func Process(ctx context.Context, cacheService cache.Cache, lc *fs_tool.LifeCycl } if !ok { // Validate step is finished, but code isn't valid - _ = processError(pipelineLifeCycleCtx, errorChannel, pipelineId, cacheService, "Validate", pb.Status_STATUS_VALIDATION_ERROR) + err := <-errorChannel + _ = processErrorWithSavingOutput(pipelineLifeCycleCtx, err, []byte(err.Error()), pipelineId, cache.ValidationOutput, cacheService, "Validate", pb.Status_STATUS_VALIDATION_ERROR) return } // Validate step is finished and code is valid @@ -418,15 +419,6 @@ func finishByTimeout(ctx context.Context, pipelineId uuid.UUID, cacheService cac return utils.SetToCache(ctx, cacheService, pipelineId, cache.Status, pb.Status_STATUS_RUN_TIMEOUT) } -// processError processes error received during processing validation or preparation steps. -// This method sets corresponding status to the cache. -func processError(ctx context.Context, errorChannel chan error, pipelineId uuid.UUID, cacheService cache.Cache, errorTitle string, newStatus pb.Status) error { - err := <-errorChannel - logger.Errorf("%s: %s(): %s\n", pipelineId, errorTitle, err.Error()) - - return utils.SetToCache(ctx, cacheService, pipelineId, cache.Status, newStatus) -} - // processErrorWithSavingOutput processes error with saving to cache received error output. func processErrorWithSavingOutput(ctx context.Context, err error, errorOutput []byte, pipelineId uuid.UUID, subKey cache.SubKey, cacheService cache.Cache, errorTitle string, newStatus pb.Status) error { logger.Errorf("%s: %s(): err: %s, output: %s\n", pipelineId, errorTitle, err.Error(), errorOutput) diff --git a/playground/frontend/lib/api/v1/api.pb.dart b/playground/frontend/lib/api/v1/api.pb.dart index d2481f40cfc1b..ecd6ca10cd8d6 100644 --- a/playground/frontend/lib/api/v1/api.pb.dart +++ b/playground/frontend/lib/api/v1/api.pb.dart @@ -233,7 +233,6 @@ class CheckStatusResponse extends $pb.GeneratedMessage { @$pb.TagNumber(1) Status get status => $_getN(0); - @$pb.TagNumber(1) set status(Status v) { setField(1, v); @@ -241,11 +240,171 @@ class CheckStatusResponse extends $pb.GeneratedMessage { @$pb.TagNumber(1) $core.bool hasStatus() => $_has(0); - @$pb.TagNumber(1) void clearStatus() => clearField(1); } +class GetValidationOutputRequest extends $pb.GeneratedMessage { + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'GetValidationOutputRequest', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'api.v1'), + createEmptyInstance: create) + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'pipelineUuid') + ..hasRequiredFields = false; + + GetValidationOutputRequest._() : super(); + + factory GetValidationOutputRequest({ + $core.String? pipelineUuid, + }) { + final _result = create(); + if (pipelineUuid != null) { + _result.pipelineUuid = pipelineUuid; + } + return _result; + } + + factory GetValidationOutputRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + + factory GetValidationOutputRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetValidationOutputRequest clone() => + GetValidationOutputRequest()..mergeFromMessage(this); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetValidationOutputRequest copyWith( + void Function(GetValidationOutputRequest) updates) => + super.copyWith( + (message) => updates(message as GetValidationOutputRequest)) + as GetValidationOutputRequest; // ignore: deprecated_member_use + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetValidationOutputRequest create() => GetValidationOutputRequest._(); + + GetValidationOutputRequest createEmptyInstance() => create(); + + static $pb.PbList createRepeated() => + $pb.PbList(); + + @$core.pragma('dart2js:noInline') + static GetValidationOutputRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetValidationOutputRequest? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get pipelineUuid => $_getSZ(0); + + @$pb.TagNumber(1) + set pipelineUuid($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasPipelineUuid() => $_has(0); + @$pb.TagNumber(1) + void clearPipelineUuid() => clearField(1); +} + +class GetValidationOutputResponse extends $pb.GeneratedMessage { + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'GetValidationOutputResponse', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'api.v1'), + createEmptyInstance: create) + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'output') + ..hasRequiredFields = false; + + GetValidationOutputResponse._() : super(); + + factory GetValidationOutputResponse({ + $core.String? output, + }) { + final _result = create(); + if (output != null) { + _result.output = output; + } + return _result; + } + + factory GetValidationOutputResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + + factory GetValidationOutputResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetValidationOutputResponse clone() => + GetValidationOutputResponse()..mergeFromMessage(this); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetValidationOutputResponse copyWith( + void Function(GetValidationOutputResponse) updates) => + super.copyWith( + (message) => updates(message as GetValidationOutputResponse)) + as GetValidationOutputResponse; // ignore: deprecated_member_use + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetValidationOutputResponse create() => + GetValidationOutputResponse._(); + + GetValidationOutputResponse createEmptyInstance() => create(); + + static $pb.PbList createRepeated() => + $pb.PbList(); + + @$core.pragma('dart2js:noInline') + static GetValidationOutputResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetValidationOutputResponse? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get output => $_getSZ(0); + + @$pb.TagNumber(1) + set output($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasOutput() => $_has(0); + @$pb.TagNumber(1) + void clearOutput() => clearField(1); +} + class GetPreparationOutputRequest extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( const $core.bool.fromEnvironment('protobuf.omit_message_names') @@ -323,7 +482,6 @@ class GetPreparationOutputRequest extends $pb.GeneratedMessage { @$pb.TagNumber(1) $core.bool hasPipelineUuid() => $_has(0); - @$pb.TagNumber(1) void clearPipelineUuid() => clearField(1); } @@ -405,7 +563,6 @@ class GetPreparationOutputResponse extends $pb.GeneratedMessage { @$pb.TagNumber(1) $core.bool hasOutput() => $_has(0); - @$pb.TagNumber(1) void clearOutput() => clearField(1); } @@ -1068,7 +1225,6 @@ class Categories extends $pb.GeneratedMessage { $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static Categories create() => Categories._(); - Categories createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @@ -1088,7 +1244,6 @@ class Categories extends $pb.GeneratedMessage { @$pb.TagNumber(1) $core.bool hasSdk() => $_has(0); - @$pb.TagNumber(1) void clearSdk() => clearField(1); @@ -1186,7 +1341,6 @@ class GetPrecompiledObjectsRequest extends $pb.GeneratedMessage { @$pb.TagNumber(1) $core.bool hasSdk() => $_has(0); - @$pb.TagNumber(1) void clearSdk() => clearField(1); @@ -1200,7 +1354,6 @@ class GetPrecompiledObjectsRequest extends $pb.GeneratedMessage { @$pb.TagNumber(2) $core.bool hasCategory() => $_has(1); - @$pb.TagNumber(2) void clearCategory() => clearField(2); } @@ -1283,7 +1436,6 @@ class GetPrecompiledObjectCodeRequest extends $pb.GeneratedMessage { @$pb.TagNumber(1) $core.bool hasCloudPath() => $_has(0); - @$pb.TagNumber(1) void clearCloudPath() => clearField(1); } @@ -1366,7 +1518,6 @@ class GetPrecompiledObjectOutputRequest extends $pb.GeneratedMessage { @$pb.TagNumber(1) $core.bool hasCloudPath() => $_has(0); - @$pb.TagNumber(1) void clearCloudPath() => clearField(1); } @@ -1449,7 +1600,6 @@ class GetPrecompiledObjectLogsRequest extends $pb.GeneratedMessage { @$pb.TagNumber(1) $core.bool hasCloudPath() => $_has(0); - @$pb.TagNumber(1) void clearCloudPath() => clearField(1); } @@ -1565,13 +1715,14 @@ class GetPrecompiledObjectCodeResponse extends $pb.GeneratedMessage { create()..mergeFromJson(i, r); @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' - 'Will be removed in next major version') - GetPrecompiledObjectCodeResponse clone() => GetPrecompiledObjectCodeResponse()..mergeFromMessage(this); - @$core.Deprecated( - 'Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetPrecompiledObjectCodeResponse clone() => + GetPrecompiledObjectCodeResponse()..mergeFromMessage(this); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') GetPrecompiledObjectCodeResponse copyWith( void Function(GetPrecompiledObjectCodeResponse) updates) => super.copyWith( @@ -1604,7 +1755,6 @@ class GetPrecompiledObjectCodeResponse extends $pb.GeneratedMessage { @$pb.TagNumber(1) $core.bool hasCode() => $_has(0); - @$pb.TagNumber(1) void clearCode() => clearField(1); } @@ -1687,7 +1837,6 @@ class GetPrecompiledObjectOutputResponse extends $pb.GeneratedMessage { @$pb.TagNumber(1) $core.bool hasOutput() => $_has(0); - @$pb.TagNumber(1) void clearOutput() => clearField(1); } @@ -1770,7 +1919,6 @@ class GetPrecompiledObjectLogsResponse extends $pb.GeneratedMessage { @$pb.TagNumber(1) $core.bool hasOutput() => $_has(0); - @$pb.TagNumber(1) void clearOutput() => clearField(1); } diff --git a/playground/frontend/lib/api/v1/api.pbgrpc.dart b/playground/frontend/lib/api/v1/api.pbgrpc.dart index 552fe5873e1d5..a2d2b5616331b 100644 --- a/playground/frontend/lib/api/v1/api.pbgrpc.dart +++ b/playground/frontend/lib/api/v1/api.pbgrpc.dart @@ -57,6 +57,12 @@ class PlaygroundServiceClient extends $grpc.Client { ($0.GetRunErrorRequest value) => value.writeToBuffer(), ($core.List<$core.int> value) => $0.GetRunErrorResponse.fromBuffer(value)); + static final _$getValidationOutput = $grpc.ClientMethod< + $0.GetValidationOutputRequest, $0.GetValidationOutputResponse>( + '/api.v1.PlaygroundService/GetValidationOutput', + ($0.GetValidationOutputRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $0.GetValidationOutputResponse.fromBuffer(value)); static final _$getPreparationOutput = $grpc.ClientMethod< $0.GetPreparationOutputRequest, $0.GetPreparationOutputResponse>( '/api.v1.PlaygroundService/GetPreparationOutput', @@ -135,6 +141,12 @@ class PlaygroundServiceClient extends $grpc.Client { return $createUnaryCall(_$getRunError, request, options: options); } + $grpc.ResponseFuture<$0.GetValidationOutputResponse> getValidationOutput( + $0.GetValidationOutputRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getValidationOutput, request, options: options); + } + $grpc.ResponseFuture<$0.GetPreparationOutputResponse> getPreparationOutput( $0.GetPreparationOutputRequest request, {$grpc.CallOptions? options}) { @@ -225,6 +237,15 @@ abstract class PlaygroundServiceBase extends $grpc.Service { ($core.List<$core.int> value) => $0.GetRunErrorRequest.fromBuffer(value), ($0.GetRunErrorResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.GetValidationOutputRequest, + $0.GetValidationOutputResponse>( + 'GetValidationOutput', + getValidationOutput_Pre, + false, + false, + ($core.List<$core.int> value) => + $0.GetValidationOutputRequest.fromBuffer(value), + ($0.GetValidationOutputResponse value) => value.writeToBuffer())); $addMethod($grpc.ServiceMethod<$0.GetPreparationOutputRequest, $0.GetPreparationOutputResponse>( 'GetPreparationOutput', @@ -315,6 +336,12 @@ abstract class PlaygroundServiceBase extends $grpc.Service { return getRunError(call, await request); } + $async.Future<$0.GetValidationOutputResponse> getValidationOutput_Pre( + $grpc.ServiceCall call, + $async.Future<$0.GetValidationOutputRequest> request) async { + return getValidationOutput(call, await request); + } + $async.Future<$0.GetPreparationOutputResponse> getPreparationOutput_Pre( $grpc.ServiceCall call, $async.Future<$0.GetPreparationOutputRequest> request) async { @@ -371,6 +398,9 @@ abstract class PlaygroundServiceBase extends $grpc.Service { $async.Future<$0.GetRunErrorResponse> getRunError( $grpc.ServiceCall call, $0.GetRunErrorRequest request); + $async.Future<$0.GetValidationOutputResponse> getValidationOutput( + $grpc.ServiceCall call, $0.GetValidationOutputRequest request); + $async.Future<$0.GetPreparationOutputResponse> getPreparationOutput( $grpc.ServiceCall call, $0.GetPreparationOutputRequest request); @@ -389,7 +419,6 @@ abstract class PlaygroundServiceBase extends $grpc.Service { $async.Future<$0.GetPrecompiledObjectOutputResponse> getPrecompiledObjectOutput( $grpc.ServiceCall call, $0.GetPrecompiledObjectOutputRequest request); - $async.Future<$0.GetPrecompiledObjectLogsResponse> getPrecompiledObjectLogs( $grpc.ServiceCall call, $0.GetPrecompiledObjectLogsRequest request); } diff --git a/playground/frontend/lib/api/v1/api.pbjson.dart b/playground/frontend/lib/api/v1/api.pbjson.dart index d56a8af9d5f48..36f3f0dccfc4c 100644 --- a/playground/frontend/lib/api/v1/api.pbjson.dart +++ b/playground/frontend/lib/api/v1/api.pbjson.dart @@ -20,7 +20,6 @@ import 'dart:convert' as $convert; import 'dart:core' as $core; import 'dart:typed_data' as $typed_data; - @$core.Deprecated('Use sdkDescriptor instead') const Sdk$json = const { '1': 'Sdk', @@ -101,7 +100,8 @@ const CheckStatusRequest$json = const { }; /// Descriptor for `CheckStatusRequest`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List checkStatusRequestDescriptor = $convert.base64Decode('ChJDaGVja1N0YXR1c1JlcXVlc3QSIwoNcGlwZWxpbmVfdXVpZBgBIAEoCVIMcGlwZWxpbmVVdWlk'); +final $typed_data.Uint8List checkStatusRequestDescriptor = $convert.base64Decode( + 'ChJDaGVja1N0YXR1c1JlcXVlc3QSIwoNcGlwZWxpbmVfdXVpZBgBIAEoCVIMcGlwZWxpbmVVdWlk'); @$core.Deprecated('Use checkStatusResponseDescriptor instead') const CheckStatusResponse$json = const { '1': 'CheckStatusResponse', @@ -120,6 +120,30 @@ const CheckStatusResponse$json = const { /// Descriptor for `CheckStatusResponse`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List checkStatusResponseDescriptor = $convert.base64Decode( 'ChNDaGVja1N0YXR1c1Jlc3BvbnNlEiYKBnN0YXR1cxgBIAEoDjIOLmFwaS52MS5TdGF0dXNSBnN0YXR1cw=='); +@$core.Deprecated('Use getValidationOutputRequestDescriptor instead') +const GetValidationOutputRequest$json = const { + '1': 'GetValidationOutputRequest', + '2': const [ + const {'1': 'pipeline_uuid', '3': 1, '4': 1, '5': 9, '10': 'pipelineUuid'}, + ], +}; + +/// Descriptor for `GetValidationOutputRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getValidationOutputRequestDescriptor = + $convert.base64Decode( + 'ChpHZXRWYWxpZGF0aW9uT3V0cHV0UmVxdWVzdBIjCg1waXBlbGluZV91dWlkGAEgASgJUgxwaXBlbGluZVV1aWQ='); +@$core.Deprecated('Use getValidationOutputResponseDescriptor instead') +const GetValidationOutputResponse$json = const { + '1': 'GetValidationOutputResponse', + '2': const [ + const {'1': 'output', '3': 1, '4': 1, '5': 9, '10': 'output'}, + ], +}; + +/// Descriptor for `GetValidationOutputResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getValidationOutputResponseDescriptor = + $convert.base64Decode( + 'ChtHZXRWYWxpZGF0aW9uT3V0cHV0UmVzcG9uc2USFgoGb3V0cHV0GAEgASgJUgZvdXRwdXQ='); @$core.Deprecated('Use getPreparationOutputRequestDescriptor instead') const GetPreparationOutputRequest$json = const { '1': 'GetPreparationOutputRequest', @@ -188,7 +212,9 @@ const GetRunOutputResponse$json = const { }; /// Descriptor for `GetRunOutputResponse`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getRunOutputResponseDescriptor = $convert.base64Decode('ChRHZXRSdW5PdXRwdXRSZXNwb25zZRIWCgZvdXRwdXQYASABKAlSBm91dHB1dA=='); +final $typed_data.Uint8List getRunOutputResponseDescriptor = + $convert.base64Decode( + 'ChRHZXRSdW5PdXRwdXRSZXNwb25zZRIWCgZvdXRwdXQYASABKAlSBm91dHB1dA=='); @$core.Deprecated('Use getRunErrorRequestDescriptor instead') const GetRunErrorRequest$json = const { '1': 'GetRunErrorRequest', @@ -362,7 +388,9 @@ const GetPrecompiledObjectCodeResponse$json = const { }; /// Descriptor for `GetPrecompiledObjectCodeResponse`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getPrecompiledObjectCodeResponseDescriptor = $convert.base64Decode('CiBHZXRQcmVjb21waWxlZE9iamVjdENvZGVSZXNwb25zZRISCgRjb2RlGAEgASgJUgRjb2Rl'); +final $typed_data.Uint8List getPrecompiledObjectCodeResponseDescriptor = + $convert.base64Decode( + 'CiBHZXRQcmVjb21waWxlZE9iamVjdENvZGVSZXNwb25zZRISCgRjb2RlGAEgASgJUgRjb2Rl'); @$core.Deprecated('Use getPrecompiledObjectOutputResponseDescriptor instead') const GetPrecompiledObjectOutputResponse$json = const { '1': 'GetPrecompiledObjectOutputResponse',