// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.31.0
// 	protoc        (unknown)
// source: autokitteh/sessions/v1/session.proto

package sessionsv1

import (
	_ "buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate"
	v1 "go.autokitteh.dev/autokitteh/proto/gen/go/autokitteh/program/v1"
	v11 "go.autokitteh.dev/autokitteh/proto/gen/go/autokitteh/values/v1"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type SessionStateType int32

const (
	SessionStateType_SESSION_STATE_TYPE_UNSPECIFIED SessionStateType = 0
	SessionStateType_SESSION_STATE_TYPE_CREATED     SessionStateType = 1
	SessionStateType_SESSION_STATE_TYPE_RUNNING     SessionStateType = 2
	SessionStateType_SESSION_STATE_TYPE_ERROR       SessionStateType = 3
	SessionStateType_SESSION_STATE_TYPE_COMPLETED   SessionStateType = 4
	SessionStateType_SESSION_STATE_TYPE_STOPPED     SessionStateType = 5
)

// Enum value maps for SessionStateType.
var (
	SessionStateType_name = map[int32]string{
		0: "SESSION_STATE_TYPE_UNSPECIFIED",
		1: "SESSION_STATE_TYPE_CREATED",
		2: "SESSION_STATE_TYPE_RUNNING",
		3: "SESSION_STATE_TYPE_ERROR",
		4: "SESSION_STATE_TYPE_COMPLETED",
		5: "SESSION_STATE_TYPE_STOPPED",
	}
	SessionStateType_value = map[string]int32{
		"SESSION_STATE_TYPE_UNSPECIFIED": 0,
		"SESSION_STATE_TYPE_CREATED":     1,
		"SESSION_STATE_TYPE_RUNNING":     2,
		"SESSION_STATE_TYPE_ERROR":       3,
		"SESSION_STATE_TYPE_COMPLETED":   4,
		"SESSION_STATE_TYPE_STOPPED":     5,
	}
)

func (x SessionStateType) Enum() *SessionStateType {
	p := new(SessionStateType)
	*p = x
	return p
}

func (x SessionStateType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SessionStateType) Descriptor() protoreflect.EnumDescriptor {
	return file_autokitteh_sessions_v1_session_proto_enumTypes[0].Descriptor()
}

func (SessionStateType) Type() protoreflect.EnumType {
	return &file_autokitteh_sessions_v1_session_proto_enumTypes[0]
}

func (x SessionStateType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SessionStateType.Descriptor instead.
func (SessionStateType) EnumDescriptor() ([]byte, []int) {
	return file_autokitteh_sessions_v1_session_proto_rawDescGZIP(), []int{0}
}

// Bitfield.
type SessionLogRecord_Type int32

const (
	SessionLogRecord_TYPE_UNSPECIFIED           SessionLogRecord_Type = 0
	SessionLogRecord_TYPE_PRINT                 SessionLogRecord_Type = 1
	SessionLogRecord_TYPE_CALL_SPEC             SessionLogRecord_Type = 2
	SessionLogRecord_TYPE_CALL_ATTEMPT_START    SessionLogRecord_Type = 4
	SessionLogRecord_TYPE_CALL_ATTEMPT_COMPLETE SessionLogRecord_Type = 8
	SessionLogRecord_TYPE_STATE                 SessionLogRecord_Type = 16
	SessionLogRecord_TYPE_STOP_REQUEST          SessionLogRecord_Type = 32
	SessionLogRecord_TYPE_OUTCOME               SessionLogRecord_Type = 64
)

// Enum value maps for SessionLogRecord_Type.
var (
	SessionLogRecord_Type_name = map[int32]string{
		0:  "TYPE_UNSPECIFIED",
		1:  "TYPE_PRINT",
		2:  "TYPE_CALL_SPEC",
		4:  "TYPE_CALL_ATTEMPT_START",
		8:  "TYPE_CALL_ATTEMPT_COMPLETE",
		16: "TYPE_STATE",
		32: "TYPE_STOP_REQUEST",
		64: "TYPE_OUTCOME",
	}
	SessionLogRecord_Type_value = map[string]int32{
		"TYPE_UNSPECIFIED":           0,
		"TYPE_PRINT":                 1,
		"TYPE_CALL_SPEC":             2,
		"TYPE_CALL_ATTEMPT_START":    4,
		"TYPE_CALL_ATTEMPT_COMPLETE": 8,
		"TYPE_STATE":                 16,
		"TYPE_STOP_REQUEST":          32,
		"TYPE_OUTCOME":               64,
	}
)

func (x SessionLogRecord_Type) Enum() *SessionLogRecord_Type {
	p := new(SessionLogRecord_Type)
	*p = x
	return p
}

func (x SessionLogRecord_Type) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SessionLogRecord_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_autokitteh_sessions_v1_session_proto_enumTypes[1].Descriptor()
}

func (SessionLogRecord_Type) Type() protoreflect.EnumType {
	return &file_autokitteh_sessions_v1_session_proto_enumTypes[1]
}

func (x SessionLogRecord_Type) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SessionLogRecord_Type.Descriptor instead.
func (SessionLogRecord_Type) EnumDescriptor() ([]byte, []int) {
	return file_autokitteh_sessions_v1_session_proto_rawDescGZIP(), []int{2, 0}
}

type SessionState struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// one of the following is required.
	Created   *SessionState_Created   `protobuf:"bytes,10,opt,name=created,proto3" json:"created,omitempty"`
	Running   *SessionState_Running   `protobuf:"bytes,11,opt,name=running,proto3" json:"running,omitempty"`
	Error     *SessionState_Error     `protobuf:"bytes,12,opt,name=error,proto3" json:"error,omitempty"`
	Completed *SessionState_Completed `protobuf:"bytes,13,opt,name=completed,proto3" json:"completed,omitempty"`
	Stopped   *SessionState_Stopped   `protobuf:"bytes,14,opt,name=stopped,proto3" json:"stopped,omitempty"`
}

func (x *SessionState) Reset() {
	*x = SessionState{}
	if protoimpl.UnsafeEnabled {
		mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SessionState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SessionState) ProtoMessage() {}

func (x *SessionState) ProtoReflect() protoreflect.Message {
	mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SessionState.ProtoReflect.Descriptor instead.
func (*SessionState) Descriptor() ([]byte, []int) {
	return file_autokitteh_sessions_v1_session_proto_rawDescGZIP(), []int{0}
}

func (x *SessionState) GetCreated() *SessionState_Created {
	if x != nil {
		return x.Created
	}
	return nil
}

func (x *SessionState) GetRunning() *SessionState_Running {
	if x != nil {
		return x.Running
	}
	return nil
}

func (x *SessionState) GetError() *SessionState_Error {
	if x != nil {
		return x.Error
	}
	return nil
}

func (x *SessionState) GetCompleted() *SessionState_Completed {
	if x != nil {
		return x.Completed
	}
	return nil
}

func (x *SessionState) GetStopped() *SessionState_Stopped {
	if x != nil {
		return x.Stopped
	}
	return nil
}

type Call struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Spec     *Call_Spec      `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"`
	Attempts []*Call_Attempt `protobuf:"bytes,2,rep,name=attempts,proto3" json:"attempts,omitempty"`
}

func (x *Call) Reset() {
	*x = Call{}
	if protoimpl.UnsafeEnabled {
		mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Call) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Call) ProtoMessage() {}

func (x *Call) ProtoReflect() protoreflect.Message {
	mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Call.ProtoReflect.Descriptor instead.
func (*Call) Descriptor() ([]byte, []int) {
	return file_autokitteh_sessions_v1_session_proto_rawDescGZIP(), []int{1}
}

func (x *Call) GetSpec() *Call_Spec {
	if x != nil {
		return x.Spec
	}
	return nil
}

func (x *Call) GetAttempts() []*Call_Attempt {
	if x != nil {
		return x.Attempts
	}
	return nil
}

type SessionLogRecord struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	T         *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=t,proto3" json:"t,omitempty"`
	ProcessId string                 `protobuf:"bytes,2,opt,name=process_id,json=processId,proto3" json:"process_id,omitempty"`
	// one of the following is required.
	Print               *SessionLogRecord_Print       `protobuf:"bytes,10,opt,name=print,proto3" json:"print,omitempty"` // deprecated, avoid.
	CallSpec            *Call_Spec                    `protobuf:"bytes,11,opt,name=call_spec,json=callSpec,proto3" json:"call_spec,omitempty"`
	CallAttemptStart    *Call_Attempt_Start           `protobuf:"bytes,12,opt,name=call_attempt_start,json=callAttemptStart,proto3" json:"call_attempt_start,omitempty"`
	CallAttemptComplete *Call_Attempt_Complete        `protobuf:"bytes,13,opt,name=call_attempt_complete,json=callAttemptComplete,proto3" json:"call_attempt_complete,omitempty"`
	State               *SessionState                 `protobuf:"bytes,14,opt,name=state,proto3" json:"state,omitempty"`
	StopRequest         *SessionLogRecord_StopRequest `protobuf:"bytes,15,opt,name=stop_request,json=stopRequest,proto3" json:"stop_request,omitempty"`
	Outcome             *SessionLogRecord_Outcome     `protobuf:"bytes,16,opt,name=outcome,proto3" json:"outcome,omitempty"`
}

func (x *SessionLogRecord) Reset() {
	*x = SessionLogRecord{}
	if protoimpl.UnsafeEnabled {
		mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SessionLogRecord) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SessionLogRecord) ProtoMessage() {}

func (x *SessionLogRecord) ProtoReflect() protoreflect.Message {
	mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SessionLogRecord.ProtoReflect.Descriptor instead.
func (*SessionLogRecord) Descriptor() ([]byte, []int) {
	return file_autokitteh_sessions_v1_session_proto_rawDescGZIP(), []int{2}
}

func (x *SessionLogRecord) GetT() *timestamppb.Timestamp {
	if x != nil {
		return x.T
	}
	return nil
}

func (x *SessionLogRecord) GetProcessId() string {
	if x != nil {
		return x.ProcessId
	}
	return ""
}

func (x *SessionLogRecord) GetPrint() *SessionLogRecord_Print {
	if x != nil {
		return x.Print
	}
	return nil
}

func (x *SessionLogRecord) GetCallSpec() *Call_Spec {
	if x != nil {
		return x.CallSpec
	}
	return nil
}

func (x *SessionLogRecord) GetCallAttemptStart() *Call_Attempt_Start {
	if x != nil {
		return x.CallAttemptStart
	}
	return nil
}

func (x *SessionLogRecord) GetCallAttemptComplete() *Call_Attempt_Complete {
	if x != nil {
		return x.CallAttemptComplete
	}
	return nil
}

func (x *SessionLogRecord) GetState() *SessionState {
	if x != nil {
		return x.State
	}
	return nil
}

func (x *SessionLogRecord) GetStopRequest() *SessionLogRecord_StopRequest {
	if x != nil {
		return x.StopRequest
	}
	return nil
}

func (x *SessionLogRecord) GetOutcome() *SessionLogRecord_Outcome {
	if x != nil {
		return x.Outcome
	}
	return nil
}

type Session struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	SessionId       string                 `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	BuildId         string                 `protobuf:"bytes,2,opt,name=build_id,json=buildId,proto3" json:"build_id,omitempty"`
	ProjectId       string                 `protobuf:"bytes,3,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Entrypoint      *v1.CodeLocation       `protobuf:"bytes,4,opt,name=entrypoint,proto3" json:"entrypoint,omitempty"`
	Inputs          map[string]*v11.Value  `protobuf:"bytes,5,rep,name=inputs,proto3" json:"inputs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	ParentSessionId string                 `protobuf:"bytes,6,opt,name=parent_session_id,json=parentSessionId,proto3" json:"parent_session_id,omitempty"`
	Memo            map[string]string      `protobuf:"bytes,7,rep,name=memo,proto3" json:"memo,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	CreatedAt       *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt       *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	State           SessionStateType       `protobuf:"varint,12,opt,name=state,proto3,enum=autokitteh.sessions.v1.SessionStateType" json:"state,omitempty"`
	IsDurable       bool                   `protobuf:"varint,13,opt,name=is_durable,json=isDurable,proto3" json:"is_durable,omitempty"`
	// These are for auditing/searches only.
	DeploymentId string `protobuf:"bytes,20,opt,name=deployment_id,json=deploymentId,proto3" json:"deployment_id,omitempty"`
	EventId      string `protobuf:"bytes,21,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"`
}

func (x *Session) Reset() {
	*x = Session{}
	if protoimpl.UnsafeEnabled {
		mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Session) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Session) ProtoMessage() {}

func (x *Session) ProtoReflect() protoreflect.Message {
	mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Session.ProtoReflect.Descriptor instead.
func (*Session) Descriptor() ([]byte, []int) {
	return file_autokitteh_sessions_v1_session_proto_rawDescGZIP(), []int{3}
}

func (x *Session) GetSessionId() string {
	if x != nil {
		return x.SessionId
	}
	return ""
}

func (x *Session) GetBuildId() string {
	if x != nil {
		return x.BuildId
	}
	return ""
}

func (x *Session) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *Session) GetEntrypoint() *v1.CodeLocation {
	if x != nil {
		return x.Entrypoint
	}
	return nil
}

func (x *Session) GetInputs() map[string]*v11.Value {
	if x != nil {
		return x.Inputs
	}
	return nil
}

func (x *Session) GetParentSessionId() string {
	if x != nil {
		return x.ParentSessionId
	}
	return ""
}

func (x *Session) GetMemo() map[string]string {
	if x != nil {
		return x.Memo
	}
	return nil
}

func (x *Session) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *Session) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

func (x *Session) GetState() SessionStateType {
	if x != nil {
		return x.State
	}
	return SessionStateType_SESSION_STATE_TYPE_UNSPECIFIED
}

func (x *Session) GetIsDurable() bool {
	if x != nil {
		return x.IsDurable
	}
	return false
}

func (x *Session) GetDeploymentId() string {
	if x != nil {
		return x.DeploymentId
	}
	return ""
}

func (x *Session) GetEventId() string {
	if x != nil {
		return x.EventId
	}
	return ""
}

type SessionState_Created struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *SessionState_Created) Reset() {
	*x = SessionState_Created{}
	if protoimpl.UnsafeEnabled {
		mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SessionState_Created) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SessionState_Created) ProtoMessage() {}

func (x *SessionState_Created) ProtoReflect() protoreflect.Message {
	mi := &file_autokitteh_sessions_v1_session_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 SessionState_Created.ProtoReflect.Descriptor instead.
func (*SessionState_Created) Descriptor() ([]byte, []int) {
	return file_autokitteh_sessions_v1_session_proto_rawDescGZIP(), []int{0, 0}
}

type SessionState_Running struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	RunId string     `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	Call  *v11.Value `protobuf:"bytes,2,opt,name=call,proto3" json:"call,omitempty"` // present if run is a Call.
}

func (x *SessionState_Running) Reset() {
	*x = SessionState_Running{}
	if protoimpl.UnsafeEnabled {
		mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SessionState_Running) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SessionState_Running) ProtoMessage() {}

func (x *SessionState_Running) ProtoReflect() protoreflect.Message {
	mi := &file_autokitteh_sessions_v1_session_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 SessionState_Running.ProtoReflect.Descriptor instead.
func (*SessionState_Running) Descriptor() ([]byte, []int) {
	return file_autokitteh_sessions_v1_session_proto_rawDescGZIP(), []int{0, 1}
}

func (x *SessionState_Running) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *SessionState_Running) GetCall() *v11.Value {
	if x != nil {
		return x.Call
	}
	return nil
}

type SessionState_Error struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Prints []string  `protobuf:"bytes,1,rep,name=prints,proto3" json:"prints,omitempty"`
	Error  *v1.Error `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *SessionState_Error) Reset() {
	*x = SessionState_Error{}
	if protoimpl.UnsafeEnabled {
		mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SessionState_Error) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SessionState_Error) ProtoMessage() {}

func (x *SessionState_Error) ProtoReflect() protoreflect.Message {
	mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SessionState_Error.ProtoReflect.Descriptor instead.
func (*SessionState_Error) Descriptor() ([]byte, []int) {
	return file_autokitteh_sessions_v1_session_proto_rawDescGZIP(), []int{0, 2}
}

func (x *SessionState_Error) GetPrints() []string {
	if x != nil {
		return x.Prints
	}
	return nil
}

func (x *SessionState_Error) GetError() *v1.Error {
	if x != nil {
		return x.Error
	}
	return nil
}

type SessionState_Completed struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Prints      []string              `protobuf:"bytes,1,rep,name=prints,proto3" json:"prints,omitempty"`
	Exports     map[string]*v11.Value `protobuf:"bytes,2,rep,name=exports,proto3" json:"exports,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	ReturnValue *v11.Value            `protobuf:"bytes,3,opt,name=return_value,json=returnValue,proto3" json:"return_value,omitempty"`
}

func (x *SessionState_Completed) Reset() {
	*x = SessionState_Completed{}
	if protoimpl.UnsafeEnabled {
		mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SessionState_Completed) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SessionState_Completed) ProtoMessage() {}

func (x *SessionState_Completed) ProtoReflect() protoreflect.Message {
	mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SessionState_Completed.ProtoReflect.Descriptor instead.
func (*SessionState_Completed) Descriptor() ([]byte, []int) {
	return file_autokitteh_sessions_v1_session_proto_rawDescGZIP(), []int{0, 3}
}

func (x *SessionState_Completed) GetPrints() []string {
	if x != nil {
		return x.Prints
	}
	return nil
}

func (x *SessionState_Completed) GetExports() map[string]*v11.Value {
	if x != nil {
		return x.Exports
	}
	return nil
}

func (x *SessionState_Completed) GetReturnValue() *v11.Value {
	if x != nil {
		return x.ReturnValue
	}
	return nil
}

type SessionState_Stopped struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Reason string `protobuf:"bytes,1,opt,name=reason,proto3" json:"reason,omitempty"`
}

func (x *SessionState_Stopped) Reset() {
	*x = SessionState_Stopped{}
	if protoimpl.UnsafeEnabled {
		mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SessionState_Stopped) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SessionState_Stopped) ProtoMessage() {}

func (x *SessionState_Stopped) ProtoReflect() protoreflect.Message {
	mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SessionState_Stopped.ProtoReflect.Descriptor instead.
func (*SessionState_Stopped) Descriptor() ([]byte, []int) {
	return file_autokitteh_sessions_v1_session_proto_rawDescGZIP(), []int{0, 4}
}

func (x *SessionState_Stopped) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

type Call_Spec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Function *v11.Value            `protobuf:"bytes,1,opt,name=function,proto3" json:"function,omitempty"`
	Args     []*v11.Value          `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"`
	Kwargs   map[string]*v11.Value `protobuf:"bytes,3,rep,name=kwargs,proto3" json:"kwargs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	Seq      uint32                `protobuf:"varint,4,opt,name=seq,proto3" json:"seq,omitempty"`
}

func (x *Call_Spec) Reset() {
	*x = Call_Spec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Call_Spec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Call_Spec) ProtoMessage() {}

func (x *Call_Spec) ProtoReflect() protoreflect.Message {
	mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Call_Spec.ProtoReflect.Descriptor instead.
func (*Call_Spec) Descriptor() ([]byte, []int) {
	return file_autokitteh_sessions_v1_session_proto_rawDescGZIP(), []int{1, 0}
}

func (x *Call_Spec) GetFunction() *v11.Value {
	if x != nil {
		return x.Function
	}
	return nil
}

func (x *Call_Spec) GetArgs() []*v11.Value {
	if x != nil {
		return x.Args
	}
	return nil
}

func (x *Call_Spec) GetKwargs() map[string]*v11.Value {
	if x != nil {
		return x.Kwargs
	}
	return nil
}

func (x *Call_Spec) GetSeq() uint32 {
	if x != nil {
		return x.Seq
	}
	return 0
}

type Call_Attempt struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Start    *Call_Attempt_Start    `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"`
	Complete *Call_Attempt_Complete `protobuf:"bytes,2,opt,name=complete,proto3" json:"complete,omitempty"`
}

func (x *Call_Attempt) Reset() {
	*x = Call_Attempt{}
	if protoimpl.UnsafeEnabled {
		mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Call_Attempt) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Call_Attempt) ProtoMessage() {}

func (x *Call_Attempt) ProtoReflect() protoreflect.Message {
	mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Call_Attempt.ProtoReflect.Descriptor instead.
func (*Call_Attempt) Descriptor() ([]byte, []int) {
	return file_autokitteh_sessions_v1_session_proto_rawDescGZIP(), []int{1, 1}
}

func (x *Call_Attempt) GetStart() *Call_Attempt_Start {
	if x != nil {
		return x.Start
	}
	return nil
}

func (x *Call_Attempt) GetComplete() *Call_Attempt_Complete {
	if x != nil {
		return x.Complete
	}
	return nil
}

type Call_Attempt_Result struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// one of the following is required.
	Value *v11.Value `protobuf:"bytes,10,opt,name=value,proto3" json:"value,omitempty"`
	Error *v1.Error  `protobuf:"bytes,11,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *Call_Attempt_Result) Reset() {
	*x = Call_Attempt_Result{}
	if protoimpl.UnsafeEnabled {
		mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Call_Attempt_Result) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Call_Attempt_Result) ProtoMessage() {}

func (x *Call_Attempt_Result) ProtoReflect() protoreflect.Message {
	mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[13]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Call_Attempt_Result.ProtoReflect.Descriptor instead.
func (*Call_Attempt_Result) Descriptor() ([]byte, []int) {
	return file_autokitteh_sessions_v1_session_proto_rawDescGZIP(), []int{1, 1, 0}
}

func (x *Call_Attempt_Result) GetValue() *v11.Value {
	if x != nil {
		return x.Value
	}
	return nil
}

func (x *Call_Attempt_Result) GetError() *v1.Error {
	if x != nil {
		return x.Error
	}
	return nil
}

type Call_Attempt_Start struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	StartedAt *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
	Num       uint32                 `protobuf:"varint,5,opt,name=num,proto3" json:"num,omitempty"`
}

func (x *Call_Attempt_Start) Reset() {
	*x = Call_Attempt_Start{}
	if protoimpl.UnsafeEnabled {
		mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Call_Attempt_Start) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Call_Attempt_Start) ProtoMessage() {}

func (x *Call_Attempt_Start) ProtoReflect() protoreflect.Message {
	mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[14]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Call_Attempt_Start.ProtoReflect.Descriptor instead.
func (*Call_Attempt_Start) Descriptor() ([]byte, []int) {
	return file_autokitteh_sessions_v1_session_proto_rawDescGZIP(), []int{1, 1, 1}
}

func (x *Call_Attempt_Start) GetStartedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.StartedAt
	}
	return nil
}

func (x *Call_Attempt_Start) GetNum() uint32 {
	if x != nil {
		return x.Num
	}
	return 0
}

type Call_Attempt_Complete struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	CompletedAt   *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"`
	RetryInterval *durationpb.Duration   `protobuf:"bytes,2,opt,name=retry_interval,json=retryInterval,proto3" json:"retry_interval,omitempty"` // deprecated.
	IsLast        bool                   `protobuf:"varint,3,opt,name=is_last,json=isLast,proto3" json:"is_last,omitempty"`
	Result        *Call_Attempt_Result   `protobuf:"bytes,4,opt,name=result,proto3" json:"result,omitempty"`
}

func (x *Call_Attempt_Complete) Reset() {
	*x = Call_Attempt_Complete{}
	if protoimpl.UnsafeEnabled {
		mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Call_Attempt_Complete) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Call_Attempt_Complete) ProtoMessage() {}

func (x *Call_Attempt_Complete) ProtoReflect() protoreflect.Message {
	mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[15]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Call_Attempt_Complete.ProtoReflect.Descriptor instead.
func (*Call_Attempt_Complete) Descriptor() ([]byte, []int) {
	return file_autokitteh_sessions_v1_session_proto_rawDescGZIP(), []int{1, 1, 2}
}

func (x *Call_Attempt_Complete) GetCompletedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CompletedAt
	}
	return nil
}

func (x *Call_Attempt_Complete) GetRetryInterval() *durationpb.Duration {
	if x != nil {
		return x.RetryInterval
	}
	return nil
}

func (x *Call_Attempt_Complete) GetIsLast() bool {
	if x != nil {
		return x.IsLast
	}
	return false
}

func (x *Call_Attempt_Complete) GetResult() *Call_Attempt_Result {
	if x != nil {
		return x.Result
	}
	return nil
}

type SessionLogRecord_Print struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Text  string     `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"` // deprecated, use value instead.
	Value *v11.Value `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// for prints that happened inside an activity.
	CallSeq uint32 `protobuf:"varint,3,opt,name=call_seq,json=callSeq,proto3" json:"call_seq,omitempty"`
}

func (x *SessionLogRecord_Print) Reset() {
	*x = SessionLogRecord_Print{}
	if protoimpl.UnsafeEnabled {
		mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SessionLogRecord_Print) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SessionLogRecord_Print) ProtoMessage() {}

func (x *SessionLogRecord_Print) ProtoReflect() protoreflect.Message {
	mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[16]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SessionLogRecord_Print.ProtoReflect.Descriptor instead.
func (*SessionLogRecord_Print) Descriptor() ([]byte, []int) {
	return file_autokitteh_sessions_v1_session_proto_rawDescGZIP(), []int{2, 0}
}

func (x *SessionLogRecord_Print) GetText() string {
	if x != nil {
		return x.Text
	}
	return ""
}

func (x *SessionLogRecord_Print) GetValue() *v11.Value {
	if x != nil {
		return x.Value
	}
	return nil
}

func (x *SessionLogRecord_Print) GetCallSeq() uint32 {
	if x != nil {
		return x.CallSeq
	}
	return 0
}

type SessionLogRecord_StopRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"`
}

func (x *SessionLogRecord_StopRequest) Reset() {
	*x = SessionLogRecord_StopRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SessionLogRecord_StopRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SessionLogRecord_StopRequest) ProtoMessage() {}

func (x *SessionLogRecord_StopRequest) ProtoReflect() protoreflect.Message {
	mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[17]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SessionLogRecord_StopRequest.ProtoReflect.Descriptor instead.
func (*SessionLogRecord_StopRequest) Descriptor() ([]byte, []int) {
	return file_autokitteh_sessions_v1_session_proto_rawDescGZIP(), []int{2, 1}
}

func (x *SessionLogRecord_StopRequest) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

type SessionLogRecord_Outcome struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Value *v11.Value `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
}

func (x *SessionLogRecord_Outcome) Reset() {
	*x = SessionLogRecord_Outcome{}
	if protoimpl.UnsafeEnabled {
		mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SessionLogRecord_Outcome) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SessionLogRecord_Outcome) ProtoMessage() {}

func (x *SessionLogRecord_Outcome) ProtoReflect() protoreflect.Message {
	mi := &file_autokitteh_sessions_v1_session_proto_msgTypes[18]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SessionLogRecord_Outcome.ProtoReflect.Descriptor instead.
func (*SessionLogRecord_Outcome) Descriptor() ([]byte, []int) {
	return file_autokitteh_sessions_v1_session_proto_rawDescGZIP(), []int{2, 2}
}

func (x *SessionLogRecord_Outcome) GetValue() *v11.Value {
	if x != nil {
		return x.Value
	}
	return nil
}

var File_autokitteh_sessions_v1_session_proto protoreflect.FileDescriptor

var file_autokitteh_sessions_v1_session_proto_rawDesc = []byte{
	0x0a, 0x24, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2f, 0x73, 0x65, 0x73,
	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74,
	0x65, 0x68, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x23,
	0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2f, 0x70, 0x72, 0x6f, 0x67, 0x72,
	0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2f,
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69,
	0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88, 0x07, 0x0a, 0x0c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
	0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x46, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
	0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74,
	0x74, 0x65, 0x68, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e,
	0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x64, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x46, 0x0a,
	0x07, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c,
	0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2e, 0x73, 0x65, 0x73, 0x73,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53,
	0x74, 0x61, 0x74, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x72, 0x75,
	0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x40, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0c,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65,
	0x68, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65,
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72,
	0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c,
	0x65, 0x74, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x61, 0x75, 0x74,
	0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
	0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65,
	0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70,
	0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x46, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64,
	0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74,
	0x74, 0x65, 0x68, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e,
	0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x74, 0x6f,
	0x70, 0x70, 0x65, 0x64, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x1a, 0x09, 0x0a,
	0x07, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x1a, 0x5a, 0x0a, 0x07, 0x52, 0x75, 0x6e, 0x6e,
	0x69, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0xf7, 0x18, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x05, 0x72, 0x75,
	0x6e, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x04, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2e, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04,
	0x63, 0x61, 0x6c, 0x6c, 0x1a, 0x5c, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x16, 0x0a,
	0x06, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x70,
	0x72, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65,
	0x68, 0x2e, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, 0x72,
	0x6f, 0x72, 0x42, 0x07, 0xfa, 0xf7, 0x18, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x05, 0x65, 0x72, 0x72,
	0x6f, 0x72, 0x1a, 0xa7, 0x02, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64,
	0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x06, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x69, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x6f,
	0x72, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x61, 0x75, 0x74, 0x6f,
	0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
	0x76, 0x31, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e,
	0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74,
	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x12, 0xfa, 0xf7, 0x18, 0x0e, 0x9a, 0x01, 0x0b, 0x22,
	0x04, 0x72, 0x02, 0x10, 0x01, 0x2a, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x07, 0x65, 0x78, 0x70, 0x6f,
	0x72, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x75, 0x74, 0x6f,
	0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x76, 0x31,
	0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x1a, 0x57, 0x0a, 0x0c, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x6e,
	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65,
	0x68, 0x2e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75,
	0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x21, 0x0a, 0x07,
	0x53, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f,
	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22,
	0xc3, 0x08, 0x0a, 0x04, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x3e, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74,
	0x74, 0x65, 0x68, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e,
	0x43, 0x61, 0x6c, 0x6c, 0x2e, 0x53, 0x70, 0x65, 0x63, 0x42, 0x07, 0xfa, 0xf7, 0x18, 0x03, 0xc8,
	0x01, 0x01, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x4e, 0x0a, 0x08, 0x61, 0x74, 0x74, 0x65,
	0x6d, 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x75, 0x74,
	0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
	0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74,
	0x42, 0x0c, 0xfa, 0xf7, 0x18, 0x08, 0x92, 0x01, 0x05, 0x22, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08,
	0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x1a, 0xcc, 0x02, 0x0a, 0x04, 0x53, 0x70, 0x65,
	0x63, 0x12, 0x40, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68,
	0x2e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x42, 0x07, 0xfa, 0xf7, 0x18, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2e, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c,
	0xfa, 0xf7, 0x18, 0x08, 0x92, 0x01, 0x05, 0x22, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x04, 0x61, 0x72,
	0x67, 0x73, 0x12, 0x59, 0x0a, 0x06, 0x6b, 0x77, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2e,
	0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6c, 0x6c,
	0x2e, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4b, 0x77, 0x61, 0x72, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x42, 0x12, 0xfa, 0xf7, 0x18, 0x0e, 0x9a, 0x01, 0x0b, 0x22, 0x04, 0x72, 0x02, 0x10, 0x01,
	0x2a, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x06, 0x6b, 0x77, 0x61, 0x72, 0x67, 0x73, 0x12, 0x10, 0x0a,
	0x03, 0x73, 0x65, 0x71, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x73, 0x65, 0x71, 0x1a,
	0x56, 0x0a, 0x0b, 0x4b, 0x77, 0x61, 0x72, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
	0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1b, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2e, 0x76, 0x61, 0x6c,
	0x75, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xdb, 0x04, 0x0a, 0x07, 0x41, 0x74, 0x74, 0x65,
	0x6d, 0x70, 0x74, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2e,
	0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6c, 0x6c,
	0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x05,
	0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x49, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69,
	0x74, 0x74, 0x65, 0x68, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31,
	0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2e, 0x43, 0x6f,
	0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65,
	0x1a, 0x6f, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x75, 0x74, 0x6f,
	0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x76, 0x31,
	0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x32, 0x0a,
	0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61,
	0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61,
	0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f,
	0x72, 0x1a, 0x5d, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x42, 0x0a, 0x0a, 0x73, 0x74,
	0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x07, 0xfa, 0xf7, 0x18, 0x03,
	0xc8, 0x01, 0x01, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x10,
	0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6e, 0x75, 0x6d,
	0x1a, 0xf2, 0x01, 0x0a, 0x08, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x46, 0x0a,
	0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42,
	0x07, 0xfa, 0xf7, 0x18, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
	0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x40, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x69,
	0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
	0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x72, 0x79, 0x49,
	0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6c, 0x61,
	0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4c, 0x61, 0x73, 0x74,
	0x12, 0x43, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2b, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2e, 0x73, 0x65,
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x2e, 0x41,
	0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72,
	0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x88, 0x08, 0x0a, 0x10, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
	0x6e, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x28, 0x0a, 0x01, 0x74, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x52, 0x01, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f,
	0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
	0x73, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2e,
	0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x73, 0x73,
	0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x50, 0x72, 0x69,
	0x6e, 0x74, 0x52, 0x05, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x09, 0x63, 0x61, 0x6c,
	0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61,
	0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x2e, 0x53, 0x70, 0x65, 0x63, 0x52,
	0x08, 0x63, 0x61, 0x6c, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x12, 0x58, 0x0a, 0x12, 0x63, 0x61, 0x6c,
	0x6c, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18,
	0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74,
	0x65, 0x68, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43,
	0x61, 0x6c, 0x6c, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72,
	0x74, 0x52, 0x10, 0x63, 0x61, 0x6c, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x53, 0x74,
	0x61, 0x72, 0x74, 0x12, 0x61, 0x0a, 0x15, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x74, 0x74, 0x65,
	0x6d, 0x70, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2e,
	0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6c, 0x6c,
	0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74,
	0x65, 0x52, 0x13, 0x63, 0x61, 0x6c, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x43, 0x6f,
	0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18,
	0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74,
	0x65, 0x68, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53,
	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61,
	0x74, 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b,
	0x69, 0x74, 0x74, 0x65, 0x68, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76,
	0x31, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x63, 0x6f,
	0x72, 0x64, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0b,
	0x73, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x07, 0x6f,
	0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x61,
	0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67,
	0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x07,
	0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x1a, 0x69, 0x0a, 0x05, 0x50, 0x72, 0x69, 0x6e, 0x74,
	0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x74, 0x65, 0x78, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68,
	0x2e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x5f,
	0x73, 0x65, 0x71, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x61, 0x6c, 0x6c, 0x53,
	0x65, 0x71, 0x1a, 0x25, 0x0a, 0x0b, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x1a, 0x3c, 0x0a, 0x07, 0x4f, 0x75, 0x74,
	0x63, 0x6f, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68,
	0x2e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb6, 0x01, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65,
	0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50,
	0x52, 0x49, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43,
	0x41, 0x4c, 0x4c, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x59,
	0x50, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x4d, 0x50, 0x54, 0x5f,
	0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x04, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x59, 0x50, 0x45, 0x5f,
	0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x4d, 0x50, 0x54, 0x5f, 0x43, 0x4f, 0x4d,
	0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x08, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f,
	0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x10, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x59, 0x50, 0x45, 0x5f,
	0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x20, 0x12, 0x10,
	0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x43, 0x4f, 0x4d, 0x45, 0x10, 0x40,
	0x22, 0x9a, 0x06, 0x0a, 0x07, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a,
	0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x62,
	0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62,
	0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f,
	0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x61, 0x75, 0x74, 0x6f,
	0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x2e, 0x76,
	0x31, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x07,
	0xfa, 0xf7, 0x18, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f,
	0x69, 0x6e, 0x74, 0x12, 0x57, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x05, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68,
	0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x73,
	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
	0x42, 0x12, 0xfa, 0xf7, 0x18, 0x0e, 0x9a, 0x01, 0x0b, 0x22, 0x04, 0x72, 0x02, 0x10, 0x01, 0x2a,
	0x03, 0xc8, 0x01, 0x01, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11,
	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
	0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53,
	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f,
	0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74,
	0x74, 0x65, 0x68, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e,
	0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
	0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74,
	0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3e, 0x0a,
	0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x61,
	0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61,
	0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a,
	0x0a, 0x69, 0x73, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d,
	0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49,
	0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x15, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x1a, 0x56, 0x0a, 0x0b,
	0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a,
	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61,
	0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73,
	0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x3a, 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a, 0x09, 0x4d, 0x65, 0x6d, 0x6f, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
	0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0xd6, 0x01,
	0x0a, 0x10, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x54, 0x79,
	0x70, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54,
	0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f,
	0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x52, 0x45,
	0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f,
	0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x55, 0x4e,
	0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f,
	0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x52, 0x52,
	0x4f, 0x52, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f,
	0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c,
	0x45, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f,
	0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x4f,
	0x50, 0x50, 0x45, 0x44, 0x10, 0x05, 0x42, 0xf1, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x61,
	0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72,
	0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4b, 0x67, 0x6f, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69,
	0x74, 0x74, 0x65, 0x68, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74,
	0x74, 0x65, 0x68, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f,
	0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x2f, 0x73, 0x65, 0x73, 0x73,
	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
	0x76, 0x31, 0xa2, 0x02, 0x03, 0x41, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x41, 0x75, 0x74, 0x6f, 0x6b,
	0x69, 0x74, 0x74, 0x65, 0x68, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56,
	0x31, 0xca, 0x02, 0x16, 0x41, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x5c, 0x53,
	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x22, 0x41, 0x75, 0x74,
	0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x5c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
	0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea,
	0x02, 0x18, 0x41, 0x75, 0x74, 0x6f, 0x6b, 0x69, 0x74, 0x74, 0x65, 0x68, 0x3a, 0x3a, 0x53, 0x65,
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x33,
}

var (
	file_autokitteh_sessions_v1_session_proto_rawDescOnce sync.Once
	file_autokitteh_sessions_v1_session_proto_rawDescData = file_autokitteh_sessions_v1_session_proto_rawDesc
)

func file_autokitteh_sessions_v1_session_proto_rawDescGZIP() []byte {
	file_autokitteh_sessions_v1_session_proto_rawDescOnce.Do(func() {
		file_autokitteh_sessions_v1_session_proto_rawDescData = protoimpl.X.CompressGZIP(file_autokitteh_sessions_v1_session_proto_rawDescData)
	})
	return file_autokitteh_sessions_v1_session_proto_rawDescData
}

var file_autokitteh_sessions_v1_session_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_autokitteh_sessions_v1_session_proto_msgTypes = make([]protoimpl.MessageInfo, 21)
var file_autokitteh_sessions_v1_session_proto_goTypes = []interface{}{
	(SessionStateType)(0),                // 0: autokitteh.sessions.v1.SessionStateType
	(SessionLogRecord_Type)(0),           // 1: autokitteh.sessions.v1.SessionLogRecord.Type
	(*SessionState)(nil),                 // 2: autokitteh.sessions.v1.SessionState
	(*Call)(nil),                         // 3: autokitteh.sessions.v1.Call
	(*SessionLogRecord)(nil),             // 4: autokitteh.sessions.v1.SessionLogRecord
	(*Session)(nil),                      // 5: autokitteh.sessions.v1.Session
	(*SessionState_Created)(nil),         // 6: autokitteh.sessions.v1.SessionState.Created
	(*SessionState_Running)(nil),         // 7: autokitteh.sessions.v1.SessionState.Running
	(*SessionState_Error)(nil),           // 8: autokitteh.sessions.v1.SessionState.Error
	(*SessionState_Completed)(nil),       // 9: autokitteh.sessions.v1.SessionState.Completed
	(*SessionState_Stopped)(nil),         // 10: autokitteh.sessions.v1.SessionState.Stopped
	nil,                                  // 11: autokitteh.sessions.v1.SessionState.Completed.ExportsEntry
	(*Call_Spec)(nil),                    // 12: autokitteh.sessions.v1.Call.Spec
	(*Call_Attempt)(nil),                 // 13: autokitteh.sessions.v1.Call.Attempt
	nil,                                  // 14: autokitteh.sessions.v1.Call.Spec.KwargsEntry
	(*Call_Attempt_Result)(nil),          // 15: autokitteh.sessions.v1.Call.Attempt.Result
	(*Call_Attempt_Start)(nil),           // 16: autokitteh.sessions.v1.Call.Attempt.Start
	(*Call_Attempt_Complete)(nil),        // 17: autokitteh.sessions.v1.Call.Attempt.Complete
	(*SessionLogRecord_Print)(nil),       // 18: autokitteh.sessions.v1.SessionLogRecord.Print
	(*SessionLogRecord_StopRequest)(nil), // 19: autokitteh.sessions.v1.SessionLogRecord.StopRequest
	(*SessionLogRecord_Outcome)(nil),     // 20: autokitteh.sessions.v1.SessionLogRecord.Outcome
	nil,                                  // 21: autokitteh.sessions.v1.Session.InputsEntry
	nil,                                  // 22: autokitteh.sessions.v1.Session.MemoEntry
	(*timestamppb.Timestamp)(nil),        // 23: google.protobuf.Timestamp
	(*v1.CodeLocation)(nil),              // 24: autokitteh.program.v1.CodeLocation
	(*v11.Value)(nil),                    // 25: autokitteh.values.v1.Value
	(*v1.Error)(nil),                     // 26: autokitteh.program.v1.Error
	(*durationpb.Duration)(nil),          // 27: google.protobuf.Duration
}
var file_autokitteh_sessions_v1_session_proto_depIdxs = []int32{
	6,  // 0: autokitteh.sessions.v1.SessionState.created:type_name -> autokitteh.sessions.v1.SessionState.Created
	7,  // 1: autokitteh.sessions.v1.SessionState.running:type_name -> autokitteh.sessions.v1.SessionState.Running
	8,  // 2: autokitteh.sessions.v1.SessionState.error:type_name -> autokitteh.sessions.v1.SessionState.Error
	9,  // 3: autokitteh.sessions.v1.SessionState.completed:type_name -> autokitteh.sessions.v1.SessionState.Completed
	10, // 4: autokitteh.sessions.v1.SessionState.stopped:type_name -> autokitteh.sessions.v1.SessionState.Stopped
	12, // 5: autokitteh.sessions.v1.Call.spec:type_name -> autokitteh.sessions.v1.Call.Spec
	13, // 6: autokitteh.sessions.v1.Call.attempts:type_name -> autokitteh.sessions.v1.Call.Attempt
	23, // 7: autokitteh.sessions.v1.SessionLogRecord.t:type_name -> google.protobuf.Timestamp
	18, // 8: autokitteh.sessions.v1.SessionLogRecord.print:type_name -> autokitteh.sessions.v1.SessionLogRecord.Print
	12, // 9: autokitteh.sessions.v1.SessionLogRecord.call_spec:type_name -> autokitteh.sessions.v1.Call.Spec
	16, // 10: autokitteh.sessions.v1.SessionLogRecord.call_attempt_start:type_name -> autokitteh.sessions.v1.Call.Attempt.Start
	17, // 11: autokitteh.sessions.v1.SessionLogRecord.call_attempt_complete:type_name -> autokitteh.sessions.v1.Call.Attempt.Complete
	2,  // 12: autokitteh.sessions.v1.SessionLogRecord.state:type_name -> autokitteh.sessions.v1.SessionState
	19, // 13: autokitteh.sessions.v1.SessionLogRecord.stop_request:type_name -> autokitteh.sessions.v1.SessionLogRecord.StopRequest
	20, // 14: autokitteh.sessions.v1.SessionLogRecord.outcome:type_name -> autokitteh.sessions.v1.SessionLogRecord.Outcome
	24, // 15: autokitteh.sessions.v1.Session.entrypoint:type_name -> autokitteh.program.v1.CodeLocation
	21, // 16: autokitteh.sessions.v1.Session.inputs:type_name -> autokitteh.sessions.v1.Session.InputsEntry
	22, // 17: autokitteh.sessions.v1.Session.memo:type_name -> autokitteh.sessions.v1.Session.MemoEntry
	23, // 18: autokitteh.sessions.v1.Session.created_at:type_name -> google.protobuf.Timestamp
	23, // 19: autokitteh.sessions.v1.Session.updated_at:type_name -> google.protobuf.Timestamp
	0,  // 20: autokitteh.sessions.v1.Session.state:type_name -> autokitteh.sessions.v1.SessionStateType
	25, // 21: autokitteh.sessions.v1.SessionState.Running.call:type_name -> autokitteh.values.v1.Value
	26, // 22: autokitteh.sessions.v1.SessionState.Error.error:type_name -> autokitteh.program.v1.Error
	11, // 23: autokitteh.sessions.v1.SessionState.Completed.exports:type_name -> autokitteh.sessions.v1.SessionState.Completed.ExportsEntry
	25, // 24: autokitteh.sessions.v1.SessionState.Completed.return_value:type_name -> autokitteh.values.v1.Value
	25, // 25: autokitteh.sessions.v1.SessionState.Completed.ExportsEntry.value:type_name -> autokitteh.values.v1.Value
	25, // 26: autokitteh.sessions.v1.Call.Spec.function:type_name -> autokitteh.values.v1.Value
	25, // 27: autokitteh.sessions.v1.Call.Spec.args:type_name -> autokitteh.values.v1.Value
	14, // 28: autokitteh.sessions.v1.Call.Spec.kwargs:type_name -> autokitteh.sessions.v1.Call.Spec.KwargsEntry
	16, // 29: autokitteh.sessions.v1.Call.Attempt.start:type_name -> autokitteh.sessions.v1.Call.Attempt.Start
	17, // 30: autokitteh.sessions.v1.Call.Attempt.complete:type_name -> autokitteh.sessions.v1.Call.Attempt.Complete
	25, // 31: autokitteh.sessions.v1.Call.Spec.KwargsEntry.value:type_name -> autokitteh.values.v1.Value
	25, // 32: autokitteh.sessions.v1.Call.Attempt.Result.value:type_name -> autokitteh.values.v1.Value
	26, // 33: autokitteh.sessions.v1.Call.Attempt.Result.error:type_name -> autokitteh.program.v1.Error
	23, // 34: autokitteh.sessions.v1.Call.Attempt.Start.started_at:type_name -> google.protobuf.Timestamp
	23, // 35: autokitteh.sessions.v1.Call.Attempt.Complete.completed_at:type_name -> google.protobuf.Timestamp
	27, // 36: autokitteh.sessions.v1.Call.Attempt.Complete.retry_interval:type_name -> google.protobuf.Duration
	15, // 37: autokitteh.sessions.v1.Call.Attempt.Complete.result:type_name -> autokitteh.sessions.v1.Call.Attempt.Result
	25, // 38: autokitteh.sessions.v1.SessionLogRecord.Print.value:type_name -> autokitteh.values.v1.Value
	25, // 39: autokitteh.sessions.v1.SessionLogRecord.Outcome.value:type_name -> autokitteh.values.v1.Value
	25, // 40: autokitteh.sessions.v1.Session.InputsEntry.value:type_name -> autokitteh.values.v1.Value
	41, // [41:41] is the sub-list for method output_type
	41, // [41:41] is the sub-list for method input_type
	41, // [41:41] is the sub-list for extension type_name
	41, // [41:41] is the sub-list for extension extendee
	0,  // [0:41] is the sub-list for field type_name
}

func init() { file_autokitteh_sessions_v1_session_proto_init() }
func file_autokitteh_sessions_v1_session_proto_init() {
	if File_autokitteh_sessions_v1_session_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_autokitteh_sessions_v1_session_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SessionState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_autokitteh_sessions_v1_session_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Call); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_autokitteh_sessions_v1_session_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SessionLogRecord); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_autokitteh_sessions_v1_session_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Session); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_autokitteh_sessions_v1_session_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SessionState_Created); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_autokitteh_sessions_v1_session_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SessionState_Running); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_autokitteh_sessions_v1_session_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SessionState_Error); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_autokitteh_sessions_v1_session_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SessionState_Completed); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_autokitteh_sessions_v1_session_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SessionState_Stopped); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_autokitteh_sessions_v1_session_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Call_Spec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_autokitteh_sessions_v1_session_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Call_Attempt); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_autokitteh_sessions_v1_session_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Call_Attempt_Result); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_autokitteh_sessions_v1_session_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Call_Attempt_Start); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_autokitteh_sessions_v1_session_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Call_Attempt_Complete); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_autokitteh_sessions_v1_session_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SessionLogRecord_Print); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_autokitteh_sessions_v1_session_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SessionLogRecord_StopRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_autokitteh_sessions_v1_session_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SessionLogRecord_Outcome); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_autokitteh_sessions_v1_session_proto_rawDesc,
			NumEnums:      2,
			NumMessages:   21,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_autokitteh_sessions_v1_session_proto_goTypes,
		DependencyIndexes: file_autokitteh_sessions_v1_session_proto_depIdxs,
		EnumInfos:         file_autokitteh_sessions_v1_session_proto_enumTypes,
		MessageInfos:      file_autokitteh_sessions_v1_session_proto_msgTypes,
	}.Build()
	File_autokitteh_sessions_v1_session_proto = out.File
	file_autokitteh_sessions_v1_session_proto_rawDesc = nil
	file_autokitteh_sessions_v1_session_proto_goTypes = nil
	file_autokitteh_sessions_v1_session_proto_depIdxs = nil
}
