diff --git a/internal/armada/event/conversion/conversions.go b/internal/armada/event/conversion/conversions.go index 0e16860b9bb..ecb8a749dfd 100644 --- a/internal/armada/event/conversion/conversions.go +++ b/internal/armada/event/conversion/conversions.go @@ -6,6 +6,7 @@ import ( log "github.com/sirupsen/logrus" "github.com/armadaproject/armada/internal/common/eventutil" + protoutil "github.com/armadaproject/armada/internal/common/proto" "github.com/armadaproject/armada/pkg/api" "github.com/armadaproject/armada/pkg/armadaevents" ) @@ -87,7 +88,7 @@ func FromInternalSubmit(owner string, groups []string, queue string, jobSet stri JobId: jobId, JobSetId: jobSet, Queue: queue, - Created: time, + Created: protoutil.ToTimestamp(time), Job: *job, } @@ -95,7 +96,7 @@ func FromInternalSubmit(owner string, groups []string, queue string, jobSet stri JobId: jobId, JobSetId: jobSet, Queue: queue, - Created: time, + Created: protoutil.ToTimestamp(time), } return []*api.EventMessage{ @@ -125,7 +126,7 @@ func FromInternalPreemptionRequested(userId string, queueName string, jobSetName JobId: jobId, JobSetId: jobSetName, Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), Requestor: userId, }, }, @@ -146,7 +147,7 @@ func FromInternalCancel(userId string, queueName string, jobSetName string, time JobId: jobId, JobSetId: jobSetName, Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), Requestor: userId, }, }, @@ -167,7 +168,7 @@ func FromInternalCancelled(userId string, queueName string, jobSetName string, t JobId: jobId, JobSetId: jobSetName, Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), Requestor: userId, }, }, @@ -187,7 +188,7 @@ func FromInternalReprioritiseJob(userId string, queueName string, jobSetName str JobId: jobId, JobSetId: jobSetName, Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), NewPriority: float64(e.Priority), Requestor: userId, }, @@ -208,7 +209,7 @@ func FromInternalReprioritisedJob(userId string, queueName string, jobSetName st JobId: jobId, JobSetId: jobSetName, Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), NewPriority: float64(e.Priority), Requestor: userId, }, @@ -229,7 +230,7 @@ func FromInternalLogJobRunLeased(queueName string, jobSetName string, time time. JobId: jobId, JobSetId: jobSetName, Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), ClusterId: e.ExecutorId, }, }, @@ -247,7 +248,7 @@ func FromInternalJobSucceeded(queueName string, jobSetName string, time time.Tim JobId: jobId, JobSetId: jobSetName, Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), } if len(e.ResourceInfos) > 0 { @@ -285,7 +286,7 @@ func FromInternalJobRunErrors(queueName string, jobSetName string, time time.Tim JobId: jobId, JobSetId: jobSetName, Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), }, }, } @@ -305,7 +306,7 @@ func FromInternalJobRunErrors(queueName string, jobSetName string, time time.Tim PodNumber: reason.PodUnschedulable.GetPodNumber(), JobSetId: jobSetName, Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), }, }, } @@ -318,7 +319,7 @@ func FromInternalJobRunErrors(queueName string, jobSetName string, time time.Tim JobId: jobId, JobSetId: jobSetName, Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), ClusterId: objectMeta.GetExecutorId(), Reason: reason.PodLeaseReturned.GetMessage(), KubernetesId: objectMeta.GetKubernetesId(), @@ -338,7 +339,7 @@ func FromInternalJobRunErrors(queueName string, jobSetName string, time time.Tim PodNamespace: objectMeta.GetNamespace(), PodName: objectMeta.GetName(), Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), ClusterId: objectMeta.GetExecutorId(), Reason: reason.PodTerminated.GetMessage(), KubernetesId: objectMeta.GetKubernetesId(), @@ -379,7 +380,7 @@ func FromInternalJobErrors(queueName string, jobSetName string, time time.Time, JobId: jobId, JobSetId: jobSetName, Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), Reason: "preempted", }, }, @@ -392,7 +393,7 @@ func FromInternalJobErrors(queueName string, jobSetName string, time time.Time, JobId: jobId, JobSetId: jobSetName, Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), Reason: reason.MaxRunsExceeded.Message, }, }, @@ -405,7 +406,7 @@ func FromInternalJobErrors(queueName string, jobSetName string, time time.Time, JobId: jobId, JobSetId: jobSetName, Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), Reason: reason.GangJobUnschedulable.Message, }, }, @@ -418,7 +419,7 @@ func FromInternalJobErrors(queueName string, jobSetName string, time time.Time, JobId: jobId, JobSetId: jobSetName, Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), Reason: reason.JobRejected.Message, Cause: api.Cause_Rejected, }, @@ -433,7 +434,7 @@ func FromInternalJobErrors(queueName string, jobSetName string, time time.Time, JobId: jobId, JobSetId: jobSetName, Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), }, }, } @@ -453,7 +454,7 @@ func FromInternalJobRunRunning(queueName string, jobSetName string, time time.Ti JobId: jobId, JobSetId: jobSetName, Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), } if len(e.ResourceInfos) > 0 { @@ -485,7 +486,7 @@ func FromInternalJobRunAssigned(queueName string, jobSetName string, time time.T JobId: jobId, JobSetId: jobSetName, Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), } if len(e.ResourceInfos) > 0 { @@ -540,7 +541,7 @@ func FromInternalJobRunPreempted(queueName string, jobSetName string, time time. JobId: jobId, JobSetId: jobSetName, Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), RunId: runId, PreemptiveJobId: preemptiveJobId, PreemptiveRunId: preemptiveRunId, @@ -565,7 +566,7 @@ func FromInternalResourceUtilisation(queueName string, jobSetName string, time t JobId: jobId, JobSetId: jobSetName, Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), ClusterId: e.GetResourceInfo().GetObjectMeta().GetExecutorId(), KubernetesId: e.GetResourceInfo().GetObjectMeta().GetKubernetesId(), MaxResourcesForPeriod: e.MaxResourcesForPeriod, @@ -595,7 +596,7 @@ func FromInternalStandaloneIngressInfo(queueName string, jobSetName string, time JobId: jobId, JobSetId: jobSetName, Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), ClusterId: e.GetObjectMeta().GetExecutorId(), KubernetesId: e.GetObjectMeta().GetKubernetesId(), NodeName: e.GetNodeName(), @@ -620,7 +621,7 @@ func makeJobFailed(jobId string, queueName string, jobSetName string, time time. JobId: jobId, JobSetId: jobSetName, Queue: queueName, - Created: time, + Created: protoutil.ToTimestamp(time), ClusterId: podError.GetObjectMeta().GetExecutorId(), PodNamespace: podError.GetObjectMeta().GetNamespace(), KubernetesId: podError.GetObjectMeta().GetKubernetesId(), diff --git a/internal/armada/event/conversion/conversions_test.go b/internal/armada/event/conversion/conversions_test.go index 379d848fa8e..5902260ac4d 100644 --- a/internal/armada/event/conversion/conversions_test.go +++ b/internal/armada/event/conversion/conversions_test.go @@ -11,6 +11,7 @@ import ( v11 "k8s.io/api/networking/v1" "k8s.io/apimachinery/pkg/api/resource" + protoutil "github.com/armadaproject/armada/internal/common/proto" "github.com/armadaproject/armada/internal/scheduler/schedulerobjects" "github.com/armadaproject/armada/pkg/api" "github.com/armadaproject/armada/pkg/armadaevents" @@ -31,18 +32,15 @@ var ( ) const ( - jobSetName = "testJobset" - executorId = "testCluster" - nodeName = "testNode" - podName = "test-pod" - queue = "test-queue" - userId = "testUser" - namespace = "test-ns" - priority = 3 - newPriority = 4 - podNumber = 6 - errMsg = "sample error message" - leaseReturnedMsg = "lease returned error message" + jobSetName = "testJobset" + executorId = "testCluster" + nodeName = "testNode" + podName = "test-pod" + queue = "test-queue" + userId = "testUser" + namespace = "test-ns" + priority = 3 + podNumber = 6 ) var baseTime, _ = time.Parse("2006-01-02T15:04:05.000Z", "2022-03-01T15:04:05.000Z") @@ -83,7 +81,7 @@ func TestConvertSubmitted(t *testing.T) { JobId: jobIdString, JobSetId: jobSetName, Queue: queue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), Job: api.Job{ Id: jobIdString, JobSetId: jobSetName, @@ -91,7 +89,7 @@ func TestConvertSubmitted(t *testing.T) { Namespace: namespace, Owner: userId, Priority: priority, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), K8SIngress: []*v11.Ingress{}, K8SService: []*v1.Service{}, PodSpec: &v1.PodSpec{ @@ -114,7 +112,7 @@ func TestConvertSubmitted(t *testing.T) { JobId: jobIdString, JobSetId: jobSetName, Queue: queue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), }}, }, } @@ -140,7 +138,7 @@ func TestConvertCancel(t *testing.T) { JobId: jobIdString, JobSetId: jobSetName, Queue: queue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), Requestor: userId, }, }, @@ -169,7 +167,7 @@ func TestConvertCancelled(t *testing.T) { JobId: jobIdString, JobSetId: jobSetName, Queue: queue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), Requestor: userId, }, }, @@ -198,7 +196,7 @@ func TestConvertReprioritising(t *testing.T) { JobId: jobIdString, JobSetId: jobSetName, Queue: queue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), Requestor: userId, }, }, @@ -227,7 +225,7 @@ func TestConvertReprioritised(t *testing.T) { JobId: jobIdString, JobSetId: jobSetName, Queue: queue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), Requestor: userId, }, }, @@ -267,7 +265,7 @@ func TestConvertLeased(t *testing.T) { JobId: jobIdString, JobSetId: jobSetName, Queue: queue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), ClusterId: executorId, }, }, @@ -305,7 +303,7 @@ func TestConvertLeaseExpired(t *testing.T) { JobId: jobIdString, JobSetId: jobSetName, Queue: queue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), }, }, }, @@ -359,7 +357,7 @@ func TestConvertPodUnschedulable(t *testing.T) { PodNumber: podNumber, JobSetId: jobSetName, Queue: queue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), }, }, }, @@ -410,7 +408,7 @@ func TestConvertPodLeaseReturned(t *testing.T) { PodNumber: podNumber, JobSetId: jobSetName, Queue: queue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), RunAttempted: true, }, }, @@ -464,7 +462,7 @@ func TestConvertPodTerminated(t *testing.T) { PodNumber: podNumber, JobSetId: jobSetName, Queue: queue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), }, }, }, @@ -548,7 +546,7 @@ func TestConvertJobError(t *testing.T) { PodNumber: podNumber, JobSetId: jobSetName, Queue: queue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), Cause: api.Cause_DeadlineExceeded, ContainerStatuses: []*api.ContainerStatus{ { @@ -569,7 +567,7 @@ func TestConvertJobError(t *testing.T) { Reason: "Max runs", JobSetId: jobSetName, Queue: queue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), Cause: api.Cause_Error, }, }, @@ -614,7 +612,7 @@ func TestConvertJobSucceeded(t *testing.T) { JobId: jobIdString, JobSetId: jobSetName, Queue: queue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), ClusterId: executorId, KubernetesId: runIdString, NodeName: nodeName, @@ -665,7 +663,7 @@ func TestConvertJobRunning(t *testing.T) { JobId: jobIdString, JobSetId: jobSetName, Queue: queue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), ClusterId: executorId, KubernetesId: runIdString, NodeName: nodeName, @@ -715,7 +713,7 @@ func TestIgnoredEventDoesntDuplicate(t *testing.T) { JobId: jobIdString, JobSetId: jobSetName, Queue: queue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), }, }, }, @@ -760,7 +758,7 @@ func TestConvertJobAssigned(t *testing.T) { JobId: jobIdString, JobSetId: jobSetName, Queue: queue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), ClusterId: executorId, KubernetesId: runIdString, PodNumber: podNumber, @@ -816,7 +814,7 @@ func TestConvertResourceUtilisation(t *testing.T) { JobId: jobIdString, JobSetId: jobSetName, Queue: queue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), ClusterId: executorId, KubernetesId: runIdString, MaxResourcesForPeriod: map[string]resource.Quantity{ @@ -872,7 +870,7 @@ func TestConvertIngressInfo(t *testing.T) { JobId: jobIdString, JobSetId: jobSetName, Queue: queue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), ClusterId: executorId, KubernetesId: runIdString, NodeName: nodeName, @@ -909,7 +907,7 @@ func TestConvertJobPreemptionRequested(t *testing.T) { JobId: jobIdString, JobSetId: jobSetName, Queue: queue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), Requestor: userId, }, }, @@ -941,7 +939,7 @@ func TestConvertJobRunPreempted(t *testing.T) { JobId: jobIdString, JobSetId: jobSetName, Queue: queue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), RunId: runIdString, PreemptiveJobId: preemptiveJobIdString, PreemptiveRunId: preemptiveRunIdString, diff --git a/internal/armada/event/event_repository_test.go b/internal/armada/event/event_repository_test.go index fec8063d896..14483cf745e 100644 --- a/internal/armada/event/event_repository_test.go +++ b/internal/armada/event/event_repository_test.go @@ -12,6 +12,7 @@ import ( "github.com/armadaproject/armada/internal/armada/event/sequence" "github.com/armadaproject/armada/internal/common/armadacontext" "github.com/armadaproject/armada/internal/common/compress" + protoutil "github.com/armadaproject/armada/internal/common/proto" "github.com/armadaproject/armada/pkg/api" "github.com/armadaproject/armada/pkg/armadaevents" ) @@ -113,7 +114,7 @@ var expectedPending = api.EventMessage{ JobId: jobIdString, JobSetId: jobSetName, Queue: testQueue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), ClusterId: executorId, KubernetesId: runIdString, PodNumber: podNumber, @@ -129,7 +130,7 @@ var expectedRunning = api.EventMessage{ JobId: jobIdString, JobSetId: jobSetName, Queue: testQueue, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), ClusterId: executorId, KubernetesId: runIdString, NodeName: nodeName, diff --git a/internal/armada/event/event_test.go b/internal/armada/event/event_test.go index 28a37bfc459..38354890855 100644 --- a/internal/armada/event/event_test.go +++ b/internal/armada/event/event_test.go @@ -23,6 +23,7 @@ import ( "github.com/armadaproject/armada/internal/common/auth/permission" "github.com/armadaproject/armada/internal/common/compress" "github.com/armadaproject/armada/internal/common/database/lookout" + protoutil "github.com/armadaproject/armada/internal/common/proto" "github.com/armadaproject/armada/pkg/api" "github.com/armadaproject/armada/pkg/armadaevents" "github.com/armadaproject/armada/pkg/client/queue" @@ -104,7 +105,7 @@ func TestEventServer_ForceNew(t *testing.T) { JobId: jobIdString, JobSetId: jobSetId, Queue: q.Name, - Created: baseTime, + Created: protoutil.ToTimestamp(baseTime), }} assert.Equal(t, expected, stream.sendMessages[len(stream.sendMessages)-1].Message.Events) }, diff --git a/internal/armada/queryapi/query_api.go b/internal/armada/queryapi/query_api.go index 890ec9cbe77..3833b1d6ad4 100644 --- a/internal/armada/queryapi/query_api.go +++ b/internal/armada/queryapi/query_api.go @@ -95,10 +95,10 @@ func (q *QueryApi) GetJobDetails(ctx context.Context, req *api.JobDetailsRequest Jobset: row.Jobset, Namespace: NilStringToString(row.Namespace), State: apiJobState, - SubmittedTs: DbTimeToGoTime(row.Submitted), - CancelTs: DbTimeToGoTime(row.Cancelled), + SubmittedTs: DbTimeToTimestamp(row.Submitted), + CancelTs: DbTimeToTimestamp(row.Cancelled), CancelReason: NilStringToString(row.CancelReason), - LastTransitionTs: DbTimeToGoTime(row.LastTransitionTime), + LastTransitionTs: DbTimeToTimestamp(row.LastTransitionTime), LatestRunId: NilStringToString(row.LatestRunID), JobSpec: jobSpec, } @@ -202,9 +202,9 @@ func parseJobDetails(row database.JobRun) *api.JobRunDetails { State: runState, Cluster: row.Cluster, Node: NilStringToString(row.Node), - LeasedTs: DbTimeToGoTime(row.Leased), - PendingTs: DbTimeToGoTime(row.Pending), - StartedTs: DbTimeToGoTime(row.Started), - FinishedTs: DbTimeToGoTime(row.Finished), + LeasedTs: DbTimeToTimestamp(row.Leased), + PendingTs: DbTimeToTimestamp(row.Pending), + StartedTs: DbTimeToTimestamp(row.Started), + FinishedTs: DbTimeToTimestamp(row.Finished), } } diff --git a/internal/armada/queryapi/query_api_test.go b/internal/armada/queryapi/query_api_test.go index 731bbb248d0..3b86c61854f 100644 --- a/internal/armada/queryapi/query_api_test.go +++ b/internal/armada/queryapi/query_api_test.go @@ -16,6 +16,7 @@ import ( "github.com/armadaproject/armada/internal/common/compress" dbcommon "github.com/armadaproject/armada/internal/common/database" "github.com/armadaproject/armada/internal/common/database/lookout" + protoutil "github.com/armadaproject/armada/internal/common/proto" "github.com/armadaproject/armada/pkg/api" ) @@ -25,6 +26,7 @@ const ( var ( baseTime, _ = time.Parse("2006-01-02T15:04:05.000Z", "2022-03-01T15:04:05.000Z") + baseTimestamp = protoutil.ToTimestamp(baseTime) testDecompressor = func() compress.Decompressor { return &compress.NoOpDecompressor{} } ) @@ -348,10 +350,10 @@ func newJobDetails(jobId string, state api.JobState, latestRunId string, runs .. Jobset: "testJobset", Namespace: "testNamespace", State: state, - SubmittedTs: &baseTime, + SubmittedTs: baseTimestamp, CancelTs: nil, CancelReason: "", - LastTransitionTs: &baseTime, + LastTransitionTs: baseTimestamp, LatestRunId: latestRunId, JobSpec: nil, JobRuns: runs, @@ -365,9 +367,9 @@ func newJobRunDetails(jobId string, runId string, state api.JobRunState, leased State: state, Cluster: "testCluster", Node: "testNode", - LeasedTs: &leased, - PendingTs: &baseTime, - StartedTs: &baseTime, + LeasedTs: protoutil.ToTimestamp(leased), + PendingTs: baseTimestamp, + StartedTs: baseTimestamp, FinishedTs: nil, } } diff --git a/internal/armada/queryapi/util.go b/internal/armada/queryapi/util.go index 239af87ba23..877a81fc015 100644 --- a/internal/armada/queryapi/util.go +++ b/internal/armada/queryapi/util.go @@ -1,9 +1,10 @@ package queryapi import ( - "time" - + "github.com/gogo/protobuf/types" "github.com/jackc/pgx/v5/pgtype" + + protoutil "github.com/armadaproject/armada/internal/common/proto" ) func NilStringToString(s *string) string { @@ -13,10 +14,9 @@ func NilStringToString(s *string) string { return *s } -func DbTimeToGoTime(t pgtype.Timestamp) *time.Time { +func DbTimeToTimestamp(t pgtype.Timestamp) *types.Timestamp { if !t.Valid { return nil } - tt := t.Time.UTC() - return &tt + return protoutil.ToTimestamp(t.Time.UTC()) } diff --git a/internal/armadactl/watch.go b/internal/armadactl/watch.go index 872a01388c8..dccaf5e510d 100644 --- a/internal/armadactl/watch.go +++ b/internal/armadactl/watch.go @@ -7,6 +7,7 @@ import ( "time" "github.com/armadaproject/armada/internal/common/armadacontext" + protoutil "github.com/armadaproject/armada/internal/common/proto" "github.com/armadaproject/armada/pkg/api" "github.com/armadaproject/armada/pkg/client" "github.com/armadaproject/armada/pkg/client/domain" @@ -53,7 +54,8 @@ func (a *App) Watch(queue string, jobSetId string, raw bool, exitOnInactive bool } func (a *App) printSummary(state *domain.WatchContext, e api.Event) { - summary := fmt.Sprintf("%s | ", e.GetCreated().Format(time.Stamp)) + ts := protoutil.ToStdTime(e.GetCreated()) + summary := fmt.Sprintf("%s | ", ts.Format(time.Stamp)) summary += state.GetCurrentStateSummary() summary += fmt.Sprintf(" | %s, job id: %s", reflect.TypeOf(e).String()[5:], e.GetJobId()) diff --git a/internal/common/eventutil/eventutil.go b/internal/common/eventutil/eventutil.go index 9ca907556b3..9a7a62bd496 100644 --- a/internal/common/eventutil/eventutil.go +++ b/internal/common/eventutil/eventutil.go @@ -14,6 +14,7 @@ import ( "github.com/armadaproject/armada/internal/common/armadacontext" "github.com/armadaproject/armada/internal/common/armadaerrors" + protoutil "github.com/armadaproject/armada/internal/common/proto" "github.com/armadaproject/armada/internal/common/slices" "github.com/armadaproject/armada/pkg/api" "github.com/armadaproject/armada/pkg/armadaevents" @@ -163,7 +164,7 @@ func ApiJobFromLogSubmitJob(ownerId string, groups []string, queueName string, j PodSpecs: podSpecs, SchedulingResourceRequirements: schedulingResourceRequirements, - Created: time, + Created: protoutil.ToTimestamp(time), Owner: ownerId, QueueOwnershipUserGroups: groups, }, nil diff --git a/internal/common/proto/protoutil.go b/internal/common/proto/protoutil.go index 5745327c873..e5cbba39e47 100644 --- a/internal/common/proto/protoutil.go +++ b/internal/common/proto/protoutil.go @@ -1,7 +1,10 @@ package protoutil import ( + "time" + "github.com/gogo/protobuf/proto" + "github.com/gogo/protobuf/types" "github.com/pkg/errors" "github.com/armadaproject/armada/internal/common/compress" @@ -72,3 +75,18 @@ func MustMarshallAndCompress(msg proto.Message, compressor compress.Compressor) } return b } + +func ToStdTime(ts *types.Timestamp) time.Time { + if ts == nil { + return time.Time{}.UTC() + } + + return time.Unix(ts.Seconds, int64(ts.Nanos)).UTC() +} + +func ToTimestamp(t time.Time) *types.Timestamp { + return &types.Timestamp{ + Seconds: t.Unix(), + Nanos: int32(t.Nanosecond()), + } +} diff --git a/internal/common/proto/protoutil_test.go b/internal/common/proto/protoutil_test.go index 3d717e9e001..cc6bca52841 100644 --- a/internal/common/proto/protoutil_test.go +++ b/internal/common/proto/protoutil_test.go @@ -1,9 +1,12 @@ package protoutil import ( + "fmt" "testing" + "time" "github.com/gogo/protobuf/proto" + "github.com/gogo/protobuf/types" "github.com/google/uuid" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -63,3 +66,45 @@ func TestMustMarshallAndCompress(t *testing.T) { bytes := MustMarshallAndCompress(msg, compressor) assert.Equal(t, compressedMsg, bytes) } + +func TestToTimestamp(t *testing.T) { + tests := map[string]struct { + ts *types.Timestamp + t time.Time + }{ + "unix epoch": { + ts: &types.Timestamp{Seconds: 0, Nanos: 0}, + t: utcDate(1970, 1, 1), + }, + "before unix epoch": { + ts: &types.Timestamp{Seconds: -281836800, Nanos: 0}, + t: utcDate(1961, 1, 26), + }, + "after unix epoch": { + ts: &types.Timestamp{Seconds: 1296000000, Nanos: 0}, + t: utcDate(2011, 1, 26), + }, + "after the epoch, in the middle of the day": { + ts: &types.Timestamp{Seconds: 1296012345, Nanos: 940483}, + t: time.Date(2011, 1, 26, 3, 25, 45, 940483, time.UTC), + }, + } + + for name, tc := range tests { + testName := fmt.Sprintf("ToTimestamp: %s", name) + t.Run(testName, func(t *testing.T) { + assert.Equal(t, tc.ts, ToTimestamp(tc.t)) + }) + } + + for name, tc := range tests { + testName := fmt.Sprintf("ToStdTime: %s", name) + t.Run(testName, func(t *testing.T) { + assert.Equal(t, tc.t, ToStdTime(tc.ts)) + }) + } +} + +func utcDate(year, month, day int) time.Time { + return time.Date(year, time.Month(month), day, 0, 0, 0, 0, time.UTC) +} diff --git a/pkg/api/event.pb.go b/pkg/api/event.pb.go index e92fb2334e8..40318daf484 100644 --- a/pkg/api/event.pb.go +++ b/pkg/api/event.pb.go @@ -12,12 +12,10 @@ import ( math_bits "math/bits" reflect "reflect" strings "strings" - time "time" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" - github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" types "github.com/gogo/protobuf/types" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" @@ -30,7 +28,6 @@ import ( var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf -var _ = time.Kitchen // This is a compile-time assertion to ensure that this generated file // is compatible with the proto package it is being compiled against. @@ -73,11 +70,11 @@ func (Cause) EnumDescriptor() ([]byte, []int) { } type JobSubmittedEvent struct { - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` - JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` - Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` - Created time.Time `protobuf:"bytes,4,opt,name=created,proto3,stdtime" json:"created"` - Job Job `protobuf:"bytes,5,opt,name=job,proto3" json:"job"` + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` + JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` + Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` + Created *types.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + Job Job `protobuf:"bytes,5,opt,name=job,proto3" json:"job"` } func (m *JobSubmittedEvent) Reset() { *m = JobSubmittedEvent{} } @@ -133,11 +130,11 @@ func (m *JobSubmittedEvent) GetQueue() string { return "" } -func (m *JobSubmittedEvent) GetCreated() time.Time { +func (m *JobSubmittedEvent) GetCreated() *types.Timestamp { if m != nil { return m.Created } - return time.Time{} + return nil } func (m *JobSubmittedEvent) GetJob() Job { @@ -148,10 +145,10 @@ func (m *JobSubmittedEvent) GetJob() Job { } type JobQueuedEvent struct { - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` - JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` - Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` - Created time.Time `protobuf:"bytes,4,opt,name=created,proto3,stdtime" json:"created"` + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` + JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` + Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` + Created *types.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` } func (m *JobQueuedEvent) Reset() { *m = JobQueuedEvent{} } @@ -207,19 +204,19 @@ func (m *JobQueuedEvent) GetQueue() string { return "" } -func (m *JobQueuedEvent) GetCreated() time.Time { +func (m *JobQueuedEvent) GetCreated() *types.Timestamp { if m != nil { return m.Created } - return time.Time{} + return nil } type JobLeasedEvent struct { - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` - JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` - Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` - Created time.Time `protobuf:"bytes,4,opt,name=created,proto3,stdtime" json:"created"` - ClusterId string `protobuf:"bytes,5,opt,name=cluster_id,json=clusterId,proto3" json:"clusterId,omitempty"` + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` + JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` + Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` + Created *types.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + ClusterId string `protobuf:"bytes,5,opt,name=cluster_id,json=clusterId,proto3" json:"clusterId,omitempty"` } func (m *JobLeasedEvent) Reset() { *m = JobLeasedEvent{} } @@ -275,11 +272,11 @@ func (m *JobLeasedEvent) GetQueue() string { return "" } -func (m *JobLeasedEvent) GetCreated() time.Time { +func (m *JobLeasedEvent) GetCreated() *types.Timestamp { if m != nil { return m.Created } - return time.Time{} + return nil } func (m *JobLeasedEvent) GetClusterId() string { @@ -290,15 +287,15 @@ func (m *JobLeasedEvent) GetClusterId() string { } type JobLeaseReturnedEvent struct { - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` - JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` - Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` - Created time.Time `protobuf:"bytes,4,opt,name=created,proto3,stdtime" json:"created"` - ClusterId string `protobuf:"bytes,5,opt,name=cluster_id,json=clusterId,proto3" json:"clusterId,omitempty"` - Reason string `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"` - KubernetesId string `protobuf:"bytes,7,opt,name=kubernetes_id,json=kubernetesId,proto3" json:"kubernetesId,omitempty"` - PodNumber int32 `protobuf:"varint,8,opt,name=pod_number,json=podNumber,proto3" json:"podNumber,omitempty"` - RunAttempted bool `protobuf:"varint,9,opt,name=run_attempted,json=runAttempted,proto3" json:"runAttempted,omitempty"` + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` + JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` + Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` + Created *types.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + ClusterId string `protobuf:"bytes,5,opt,name=cluster_id,json=clusterId,proto3" json:"clusterId,omitempty"` + Reason string `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"` + KubernetesId string `protobuf:"bytes,7,opt,name=kubernetes_id,json=kubernetesId,proto3" json:"kubernetesId,omitempty"` + PodNumber int32 `protobuf:"varint,8,opt,name=pod_number,json=podNumber,proto3" json:"podNumber,omitempty"` + RunAttempted bool `protobuf:"varint,9,opt,name=run_attempted,json=runAttempted,proto3" json:"runAttempted,omitempty"` } func (m *JobLeaseReturnedEvent) Reset() { *m = JobLeaseReturnedEvent{} } @@ -354,11 +351,11 @@ func (m *JobLeaseReturnedEvent) GetQueue() string { return "" } -func (m *JobLeaseReturnedEvent) GetCreated() time.Time { +func (m *JobLeaseReturnedEvent) GetCreated() *types.Timestamp { if m != nil { return m.Created } - return time.Time{} + return nil } func (m *JobLeaseReturnedEvent) GetClusterId() string { @@ -397,10 +394,10 @@ func (m *JobLeaseReturnedEvent) GetRunAttempted() bool { } type JobLeaseExpiredEvent struct { - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` - JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` - Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` - Created time.Time `protobuf:"bytes,4,opt,name=created,proto3,stdtime" json:"created"` + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` + JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` + Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` + Created *types.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` } func (m *JobLeaseExpiredEvent) Reset() { *m = JobLeaseExpiredEvent{} } @@ -456,23 +453,23 @@ func (m *JobLeaseExpiredEvent) GetQueue() string { return "" } -func (m *JobLeaseExpiredEvent) GetCreated() time.Time { +func (m *JobLeaseExpiredEvent) GetCreated() *types.Timestamp { if m != nil { return m.Created } - return time.Time{} + return nil } type JobPendingEvent struct { - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` - JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` - Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` - Created time.Time `protobuf:"bytes,4,opt,name=created,proto3,stdtime" json:"created"` - ClusterId string `protobuf:"bytes,5,opt,name=cluster_id,json=clusterId,proto3" json:"clusterId,omitempty"` - KubernetesId string `protobuf:"bytes,6,opt,name=kubernetes_id,json=kubernetesId,proto3" json:"kubernetesId,omitempty"` - PodNumber int32 `protobuf:"varint,7,opt,name=pod_number,json=podNumber,proto3" json:"podNumber,omitempty"` - PodName string `protobuf:"bytes,8,opt,name=pod_name,json=podName,proto3" json:"podName,omitempty"` - PodNamespace string `protobuf:"bytes,9,opt,name=pod_namespace,json=podNamespace,proto3" json:"podNamespace,omitempty"` + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` + JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` + Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` + Created *types.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + ClusterId string `protobuf:"bytes,5,opt,name=cluster_id,json=clusterId,proto3" json:"clusterId,omitempty"` + KubernetesId string `protobuf:"bytes,6,opt,name=kubernetes_id,json=kubernetesId,proto3" json:"kubernetesId,omitempty"` + PodNumber int32 `protobuf:"varint,7,opt,name=pod_number,json=podNumber,proto3" json:"podNumber,omitempty"` + PodName string `protobuf:"bytes,8,opt,name=pod_name,json=podName,proto3" json:"podName,omitempty"` + PodNamespace string `protobuf:"bytes,9,opt,name=pod_namespace,json=podNamespace,proto3" json:"podNamespace,omitempty"` } func (m *JobPendingEvent) Reset() { *m = JobPendingEvent{} } @@ -528,11 +525,11 @@ func (m *JobPendingEvent) GetQueue() string { return "" } -func (m *JobPendingEvent) GetCreated() time.Time { +func (m *JobPendingEvent) GetCreated() *types.Timestamp { if m != nil { return m.Created } - return time.Time{} + return nil } func (m *JobPendingEvent) GetClusterId() string { @@ -571,16 +568,16 @@ func (m *JobPendingEvent) GetPodNamespace() string { } type JobRunningEvent struct { - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` - JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` - Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` - Created time.Time `protobuf:"bytes,4,opt,name=created,proto3,stdtime" json:"created"` - ClusterId string `protobuf:"bytes,5,opt,name=cluster_id,json=clusterId,proto3" json:"clusterId,omitempty"` - KubernetesId string `protobuf:"bytes,6,opt,name=kubernetes_id,json=kubernetesId,proto3" json:"kubernetesId,omitempty"` - NodeName string `protobuf:"bytes,7,opt,name=node_name,json=nodeName,proto3" json:"nodeName,omitempty"` - PodNumber int32 `protobuf:"varint,8,opt,name=pod_number,json=podNumber,proto3" json:"podNumber,omitempty"` - PodName string `protobuf:"bytes,9,opt,name=pod_name,json=podName,proto3" json:"podName,omitempty"` - PodNamespace string `protobuf:"bytes,10,opt,name=pod_namespace,json=podNamespace,proto3" json:"podNamespace,omitempty"` + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` + JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` + Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` + Created *types.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + ClusterId string `protobuf:"bytes,5,opt,name=cluster_id,json=clusterId,proto3" json:"clusterId,omitempty"` + KubernetesId string `protobuf:"bytes,6,opt,name=kubernetes_id,json=kubernetesId,proto3" json:"kubernetesId,omitempty"` + NodeName string `protobuf:"bytes,7,opt,name=node_name,json=nodeName,proto3" json:"nodeName,omitempty"` + PodNumber int32 `protobuf:"varint,8,opt,name=pod_number,json=podNumber,proto3" json:"podNumber,omitempty"` + PodName string `protobuf:"bytes,9,opt,name=pod_name,json=podName,proto3" json:"podName,omitempty"` + PodNamespace string `protobuf:"bytes,10,opt,name=pod_namespace,json=podNamespace,proto3" json:"podNamespace,omitempty"` } func (m *JobRunningEvent) Reset() { *m = JobRunningEvent{} } @@ -636,11 +633,11 @@ func (m *JobRunningEvent) GetQueue() string { return "" } -func (m *JobRunningEvent) GetCreated() time.Time { +func (m *JobRunningEvent) GetCreated() *types.Timestamp { if m != nil { return m.Created } - return time.Time{} + return nil } func (m *JobRunningEvent) GetClusterId() string { @@ -689,7 +686,7 @@ type JobIngressInfoEvent struct { JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` - Created time.Time `protobuf:"bytes,4,opt,name=created,proto3,stdtime" json:"created"` + Created *types.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` ClusterId string `protobuf:"bytes,5,opt,name=cluster_id,json=clusterId,proto3" json:"clusterId,omitempty"` KubernetesId string `protobuf:"bytes,6,opt,name=kubernetes_id,json=kubernetesId,proto3" json:"kubernetesId,omitempty"` NodeName string `protobuf:"bytes,7,opt,name=node_name,json=nodeName,proto3" json:"nodeName,omitempty"` @@ -752,11 +749,11 @@ func (m *JobIngressInfoEvent) GetQueue() string { return "" } -func (m *JobIngressInfoEvent) GetCreated() time.Time { +func (m *JobIngressInfoEvent) GetCreated() *types.Timestamp { if m != nil { return m.Created } - return time.Time{} + return nil } func (m *JobIngressInfoEvent) GetClusterId() string { @@ -809,17 +806,17 @@ func (m *JobIngressInfoEvent) GetIngressAddresses() map[int32]string { } type JobUnableToScheduleEvent struct { - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` - JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` - Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` - Created time.Time `protobuf:"bytes,4,opt,name=created,proto3,stdtime" json:"created"` - ClusterId string `protobuf:"bytes,5,opt,name=cluster_id,json=clusterId,proto3" json:"clusterId,omitempty"` - Reason string `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"` - KubernetesId string `protobuf:"bytes,7,opt,name=kubernetes_id,json=kubernetesId,proto3" json:"kubernetesId,omitempty"` - NodeName string `protobuf:"bytes,8,opt,name=node_name,json=nodeName,proto3" json:"nodeName,omitempty"` - PodNumber int32 `protobuf:"varint,9,opt,name=pod_number,json=podNumber,proto3" json:"podNumber,omitempty"` - PodName string `protobuf:"bytes,10,opt,name=pod_name,json=podName,proto3" json:"podName,omitempty"` - PodNamespace string `protobuf:"bytes,11,opt,name=pod_namespace,json=podNamespace,proto3" json:"podNamespace,omitempty"` + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` + JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` + Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` + Created *types.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + ClusterId string `protobuf:"bytes,5,opt,name=cluster_id,json=clusterId,proto3" json:"clusterId,omitempty"` + Reason string `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"` + KubernetesId string `protobuf:"bytes,7,opt,name=kubernetes_id,json=kubernetesId,proto3" json:"kubernetesId,omitempty"` + NodeName string `protobuf:"bytes,8,opt,name=node_name,json=nodeName,proto3" json:"nodeName,omitempty"` + PodNumber int32 `protobuf:"varint,9,opt,name=pod_number,json=podNumber,proto3" json:"podNumber,omitempty"` + PodName string `protobuf:"bytes,10,opt,name=pod_name,json=podName,proto3" json:"podName,omitempty"` + PodNamespace string `protobuf:"bytes,11,opt,name=pod_namespace,json=podNamespace,proto3" json:"podNamespace,omitempty"` } func (m *JobUnableToScheduleEvent) Reset() { *m = JobUnableToScheduleEvent{} } @@ -875,11 +872,11 @@ func (m *JobUnableToScheduleEvent) GetQueue() string { return "" } -func (m *JobUnableToScheduleEvent) GetCreated() time.Time { +func (m *JobUnableToScheduleEvent) GetCreated() *types.Timestamp { if m != nil { return m.Created } - return time.Time{} + return nil } func (m *JobUnableToScheduleEvent) GetClusterId() string { @@ -935,7 +932,7 @@ type JobFailedEvent struct { JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` - Created time.Time `protobuf:"bytes,4,opt,name=created,proto3,stdtime" json:"created"` + Created *types.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` ClusterId string `protobuf:"bytes,5,opt,name=cluster_id,json=clusterId,proto3" json:"clusterId,omitempty"` Reason string `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"` ExitCodes map[string]int32 `protobuf:"bytes,7,rep,name=exit_codes,json=exitCodes,proto3" json:"exitCodes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // Deprecated: Do not use. @@ -1001,11 +998,11 @@ func (m *JobFailedEvent) GetQueue() string { return "" } -func (m *JobFailedEvent) GetCreated() time.Time { +func (m *JobFailedEvent) GetCreated() *types.Timestamp { if m != nil { return m.Created } - return time.Time{} + return nil } func (m *JobFailedEvent) GetClusterId() string { @@ -1080,11 +1077,11 @@ func (m *JobFailedEvent) GetCause() Cause { } type JobPreemptingEvent struct { - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` - JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` - Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` - Created time.Time `protobuf:"bytes,4,opt,name=created,proto3,stdtime" json:"created"` - Requestor string `protobuf:"bytes,5,opt,name=requestor,proto3" json:"requestor,omitempty"` + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` + JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` + Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` + Created *types.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + Requestor string `protobuf:"bytes,5,opt,name=requestor,proto3" json:"requestor,omitempty"` } func (m *JobPreemptingEvent) Reset() { *m = JobPreemptingEvent{} } @@ -1140,11 +1137,11 @@ func (m *JobPreemptingEvent) GetQueue() string { return "" } -func (m *JobPreemptingEvent) GetCreated() time.Time { +func (m *JobPreemptingEvent) GetCreated() *types.Timestamp { if m != nil { return m.Created } - return time.Time{} + return nil } func (m *JobPreemptingEvent) GetRequestor() string { @@ -1155,14 +1152,14 @@ func (m *JobPreemptingEvent) GetRequestor() string { } type JobPreemptedEvent struct { - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` - JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` - Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` - Created time.Time `protobuf:"bytes,4,opt,name=created,proto3,stdtime" json:"created"` - ClusterId string `protobuf:"bytes,5,opt,name=cluster_id,json=clusterId,proto3" json:"clusterId,omitempty"` - RunId string `protobuf:"bytes,6,opt,name=run_id,json=runId,proto3" json:"runId,omitempty"` - PreemptiveJobId string `protobuf:"bytes,7,opt,name=preemptive_job_id,json=preemptiveJobId,proto3" json:"preemptiveJobId,omitempty"` - PreemptiveRunId string `protobuf:"bytes,8,opt,name=preemptive_run_id,json=preemptiveRunId,proto3" json:"preemptiveRunId,omitempty"` + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` + JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` + Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` + Created *types.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + ClusterId string `protobuf:"bytes,5,opt,name=cluster_id,json=clusterId,proto3" json:"clusterId,omitempty"` + RunId string `protobuf:"bytes,6,opt,name=run_id,json=runId,proto3" json:"runId,omitempty"` + PreemptiveJobId string `protobuf:"bytes,7,opt,name=preemptive_job_id,json=preemptiveJobId,proto3" json:"preemptiveJobId,omitempty"` + PreemptiveRunId string `protobuf:"bytes,8,opt,name=preemptive_run_id,json=preemptiveRunId,proto3" json:"preemptiveRunId,omitempty"` } func (m *JobPreemptedEvent) Reset() { *m = JobPreemptedEvent{} } @@ -1218,11 +1215,11 @@ func (m *JobPreemptedEvent) GetQueue() string { return "" } -func (m *JobPreemptedEvent) GetCreated() time.Time { +func (m *JobPreemptedEvent) GetCreated() *types.Timestamp { if m != nil { return m.Created } - return time.Time{} + return nil } func (m *JobPreemptedEvent) GetClusterId() string { @@ -1254,16 +1251,16 @@ func (m *JobPreemptedEvent) GetPreemptiveRunId() string { } type JobSucceededEvent struct { - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` - JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` - Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` - Created time.Time `protobuf:"bytes,4,opt,name=created,proto3,stdtime" json:"created"` - ClusterId string `protobuf:"bytes,5,opt,name=cluster_id,json=clusterId,proto3" json:"clusterId,omitempty"` - KubernetesId string `protobuf:"bytes,6,opt,name=kubernetes_id,json=kubernetesId,proto3" json:"kubernetesId,omitempty"` - NodeName string `protobuf:"bytes,7,opt,name=node_name,json=nodeName,proto3" json:"nodeName,omitempty"` - PodNumber int32 `protobuf:"varint,8,opt,name=pod_number,json=podNumber,proto3" json:"podNumber,omitempty"` - PodName string `protobuf:"bytes,9,opt,name=pod_name,json=podName,proto3" json:"podName,omitempty"` - PodNamespace string `protobuf:"bytes,10,opt,name=pod_namespace,json=podNamespace,proto3" json:"podNamespace,omitempty"` + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` + JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` + Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` + Created *types.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + ClusterId string `protobuf:"bytes,5,opt,name=cluster_id,json=clusterId,proto3" json:"clusterId,omitempty"` + KubernetesId string `protobuf:"bytes,6,opt,name=kubernetes_id,json=kubernetesId,proto3" json:"kubernetesId,omitempty"` + NodeName string `protobuf:"bytes,7,opt,name=node_name,json=nodeName,proto3" json:"nodeName,omitempty"` + PodNumber int32 `protobuf:"varint,8,opt,name=pod_number,json=podNumber,proto3" json:"podNumber,omitempty"` + PodName string `protobuf:"bytes,9,opt,name=pod_name,json=podName,proto3" json:"podName,omitempty"` + PodNamespace string `protobuf:"bytes,10,opt,name=pod_namespace,json=podNamespace,proto3" json:"podNamespace,omitempty"` } func (m *JobSucceededEvent) Reset() { *m = JobSucceededEvent{} } @@ -1319,11 +1316,11 @@ func (m *JobSucceededEvent) GetQueue() string { return "" } -func (m *JobSucceededEvent) GetCreated() time.Time { +func (m *JobSucceededEvent) GetCreated() *types.Timestamp { if m != nil { return m.Created } - return time.Time{} + return nil } func (m *JobSucceededEvent) GetClusterId() string { @@ -1372,7 +1369,7 @@ type JobUtilisationEvent struct { JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` - Created time.Time `protobuf:"bytes,4,opt,name=created,proto3,stdtime" json:"created"` + Created *types.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` ClusterId string `protobuf:"bytes,5,opt,name=cluster_id,json=clusterId,proto3" json:"clusterId,omitempty"` KubernetesId string `protobuf:"bytes,6,opt,name=kubernetes_id,json=kubernetesId,proto3" json:"kubernetesId,omitempty"` MaxResourcesForPeriod map[string]resource.Quantity `protobuf:"bytes,7,rep,name=MaxResourcesForPeriod,proto3" json:"MaxResourcesForPeriod" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` @@ -1436,11 +1433,11 @@ func (m *JobUtilisationEvent) GetQueue() string { return "" } -func (m *JobUtilisationEvent) GetCreated() time.Time { +func (m *JobUtilisationEvent) GetCreated() *types.Timestamp { if m != nil { return m.Created } - return time.Time{} + return nil } func (m *JobUtilisationEvent) GetClusterId() string { @@ -1500,12 +1497,12 @@ func (m *JobUtilisationEvent) GetTotalCumulativeUsage() map[string]resource.Quan } type JobReprioritizingEvent struct { - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` - JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` - Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` - Created time.Time `protobuf:"bytes,4,opt,name=created,proto3,stdtime" json:"created"` - NewPriority float64 `protobuf:"fixed64,5,opt,name=new_priority,json=newPriority,proto3" json:"newPriority,omitempty"` - Requestor string `protobuf:"bytes,6,opt,name=requestor,proto3" json:"requestor,omitempty"` + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` + JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` + Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` + Created *types.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + NewPriority float64 `protobuf:"fixed64,5,opt,name=new_priority,json=newPriority,proto3" json:"newPriority,omitempty"` + Requestor string `protobuf:"bytes,6,opt,name=requestor,proto3" json:"requestor,omitempty"` } func (m *JobReprioritizingEvent) Reset() { *m = JobReprioritizingEvent{} } @@ -1561,11 +1558,11 @@ func (m *JobReprioritizingEvent) GetQueue() string { return "" } -func (m *JobReprioritizingEvent) GetCreated() time.Time { +func (m *JobReprioritizingEvent) GetCreated() *types.Timestamp { if m != nil { return m.Created } - return time.Time{} + return nil } func (m *JobReprioritizingEvent) GetNewPriority() float64 { @@ -1583,12 +1580,12 @@ func (m *JobReprioritizingEvent) GetRequestor() string { } type JobReprioritizedEvent struct { - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` - JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` - Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` - Created time.Time `protobuf:"bytes,4,opt,name=created,proto3,stdtime" json:"created"` - NewPriority float64 `protobuf:"fixed64,5,opt,name=new_priority,json=newPriority,proto3" json:"newPriority,omitempty"` - Requestor string `protobuf:"bytes,6,opt,name=requestor,proto3" json:"requestor,omitempty"` + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` + JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` + Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` + Created *types.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + NewPriority float64 `protobuf:"fixed64,5,opt,name=new_priority,json=newPriority,proto3" json:"newPriority,omitempty"` + Requestor string `protobuf:"bytes,6,opt,name=requestor,proto3" json:"requestor,omitempty"` } func (m *JobReprioritizedEvent) Reset() { *m = JobReprioritizedEvent{} } @@ -1644,11 +1641,11 @@ func (m *JobReprioritizedEvent) GetQueue() string { return "" } -func (m *JobReprioritizedEvent) GetCreated() time.Time { +func (m *JobReprioritizedEvent) GetCreated() *types.Timestamp { if m != nil { return m.Created } - return time.Time{} + return nil } func (m *JobReprioritizedEvent) GetNewPriority() float64 { @@ -1666,12 +1663,12 @@ func (m *JobReprioritizedEvent) GetRequestor() string { } type JobCancellingEvent struct { - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` - JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` - Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` - Created time.Time `protobuf:"bytes,4,opt,name=created,proto3,stdtime" json:"created"` - Requestor string `protobuf:"bytes,5,opt,name=requestor,proto3" json:"requestor,omitempty"` - Reason string `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"` + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` + JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` + Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` + Created *types.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + Requestor string `protobuf:"bytes,5,opt,name=requestor,proto3" json:"requestor,omitempty"` + Reason string `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"` } func (m *JobCancellingEvent) Reset() { *m = JobCancellingEvent{} } @@ -1727,11 +1724,11 @@ func (m *JobCancellingEvent) GetQueue() string { return "" } -func (m *JobCancellingEvent) GetCreated() time.Time { +func (m *JobCancellingEvent) GetCreated() *types.Timestamp { if m != nil { return m.Created } - return time.Time{} + return nil } func (m *JobCancellingEvent) GetRequestor() string { @@ -1749,12 +1746,12 @@ func (m *JobCancellingEvent) GetReason() string { } type JobCancelledEvent struct { - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` - JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` - Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` - Created time.Time `protobuf:"bytes,4,opt,name=created,proto3,stdtime" json:"created"` - Requestor string `protobuf:"bytes,5,opt,name=requestor,proto3" json:"requestor,omitempty"` - Reason string `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"` + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` + JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` + Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` + Created *types.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + Requestor string `protobuf:"bytes,5,opt,name=requestor,proto3" json:"requestor,omitempty"` + Reason string `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"` } func (m *JobCancelledEvent) Reset() { *m = JobCancelledEvent{} } @@ -1810,11 +1807,11 @@ func (m *JobCancelledEvent) GetQueue() string { return "" } -func (m *JobCancelledEvent) GetCreated() time.Time { +func (m *JobCancelledEvent) GetCreated() *types.Timestamp { if m != nil { return m.Created } - return time.Time{} + return nil } func (m *JobCancelledEvent) GetRequestor() string { @@ -1832,16 +1829,16 @@ func (m *JobCancelledEvent) GetReason() string { } type JobTerminatedEvent struct { - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` - JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` - Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` - Created time.Time `protobuf:"bytes,4,opt,name=created,proto3,stdtime" json:"created"` - ClusterId string `protobuf:"bytes,5,opt,name=cluster_id,json=clusterId,proto3" json:"clusterId,omitempty"` - KubernetesId string `protobuf:"bytes,6,opt,name=kubernetes_id,json=kubernetesId,proto3" json:"kubernetesId,omitempty"` - PodNumber int32 `protobuf:"varint,7,opt,name=pod_number,json=podNumber,proto3" json:"podNumber,omitempty"` - PodName string `protobuf:"bytes,9,opt,name=pod_name,json=podName,proto3" json:"podName,omitempty"` - PodNamespace string `protobuf:"bytes,10,opt,name=pod_namespace,json=podNamespace,proto3" json:"podNamespace,omitempty"` - Reason string `protobuf:"bytes,8,opt,name=reason,proto3" json:"reason,omitempty"` + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` + JobSetId string `protobuf:"bytes,2,opt,name=job_set_id,json=jobSetId,proto3" json:"jobSetId,omitempty"` + Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` + Created *types.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + ClusterId string `protobuf:"bytes,5,opt,name=cluster_id,json=clusterId,proto3" json:"clusterId,omitempty"` + KubernetesId string `protobuf:"bytes,6,opt,name=kubernetes_id,json=kubernetesId,proto3" json:"kubernetesId,omitempty"` + PodNumber int32 `protobuf:"varint,7,opt,name=pod_number,json=podNumber,proto3" json:"podNumber,omitempty"` + PodName string `protobuf:"bytes,9,opt,name=pod_name,json=podName,proto3" json:"podName,omitempty"` + PodNamespace string `protobuf:"bytes,10,opt,name=pod_namespace,json=podNamespace,proto3" json:"podNamespace,omitempty"` + Reason string `protobuf:"bytes,8,opt,name=reason,proto3" json:"reason,omitempty"` } func (m *JobTerminatedEvent) Reset() { *m = JobTerminatedEvent{} } @@ -1897,11 +1894,11 @@ func (m *JobTerminatedEvent) GetQueue() string { return "" } -func (m *JobTerminatedEvent) GetCreated() time.Time { +func (m *JobTerminatedEvent) GetCreated() *types.Timestamp { if m != nil { return m.Created } - return time.Time{} + return nil } func (m *JobTerminatedEvent) GetClusterId() string { @@ -2548,154 +2545,153 @@ func init() { func init() { proto.RegisterFile("pkg/api/event.proto", fileDescriptor_7758595c3bb8cf56) } var fileDescriptor_7758595c3bb8cf56 = []byte{ - // 2337 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcf, 0x6f, 0x1b, 0xc7, - 0xf5, 0xd7, 0x52, 0xe2, 0xaf, 0xa1, 0x7e, 0x8e, 0x7e, 0x78, 0x4d, 0xdb, 0xa2, 0xc0, 0x00, 0xdf, - 0x28, 0x46, 0x4c, 0xe6, 0x2b, 0x27, 0x45, 0x60, 0x14, 0x28, 0x4c, 0x45, 0x49, 0x24, 0xc4, 0xb5, - 0x43, 0xd9, 0x48, 0x5b, 0x04, 0x60, 0x96, 0xbb, 0x23, 0x6a, 0x25, 0x72, 0x67, 0xb3, 0x3b, 0x6b, - 0x5b, 0x31, 0x02, 0x14, 0x2d, 0x50, 0xe4, 0x52, 0x34, 0x68, 0x7b, 0x6e, 0x02, 0xf4, 0xd6, 0x53, - 0xff, 0x82, 0x1e, 0x8a, 0x1e, 0x72, 0x74, 0xd1, 0x4b, 0x4e, 0x6c, 0x6b, 0x3b, 0x45, 0xc1, 0x43, - 0xef, 0xbd, 0x15, 0xf3, 0x66, 0x76, 0x39, 0xb3, 0xa6, 0x61, 0x59, 0x69, 0x52, 0x43, 0xe0, 0x25, - 0x31, 0x3f, 0x6f, 0xde, 0x9b, 0x37, 0x6f, 0x3e, 0x3b, 0xef, 0xcd, 0x0f, 0xa1, 0x45, 0xff, 0xb0, - 0x53, 0xb7, 0x7c, 0xb7, 0x4e, 0x6e, 0x13, 0x8f, 0xd5, 0xfc, 0x80, 0x32, 0x8a, 0x27, 0x2d, 0xdf, - 0x2d, 0x57, 0x3a, 0x94, 0x76, 0xba, 0xa4, 0x0e, 0x50, 0x3b, 0xda, 0xab, 0x33, 0xb7, 0x47, 0x42, - 0x66, 0xf5, 0x7c, 0xd1, 0xaa, 0xbc, 0x14, 0xab, 0x86, 0x51, 0xbb, 0xe7, 0xb2, 0x34, 0xba, 0x4f, - 0xac, 0x2e, 0xdb, 0x97, 0xe8, 0xb9, 0xb4, 0x31, 0xd2, 0xf3, 0xd9, 0x91, 0x14, 0x5e, 0xea, 0xb8, - 0x6c, 0x3f, 0x6a, 0xd7, 0x6c, 0xda, 0xab, 0x77, 0x68, 0x87, 0x0e, 0x5b, 0xf1, 0x5f, 0xf0, 0x03, - 0xfe, 0x25, 0x9b, 0x9f, 0x97, 0xb6, 0x78, 0x27, 0x96, 0xe7, 0x51, 0x66, 0x31, 0x97, 0x7a, 0xa1, - 0x94, 0xbe, 0x7a, 0xf8, 0x7a, 0x58, 0x73, 0x29, 0x97, 0xf6, 0x2c, 0x7b, 0xdf, 0xf5, 0x48, 0x70, - 0x54, 0x8f, 0x7d, 0x0a, 0x48, 0x48, 0xa3, 0xc0, 0x26, 0xf5, 0x0e, 0xf1, 0x48, 0x60, 0x31, 0xe2, - 0x08, 0xad, 0xea, 0xaf, 0x33, 0x68, 0x61, 0x87, 0xb6, 0x77, 0x61, 0x24, 0x8c, 0x38, 0x5b, 0x3c, - 0x1a, 0xf8, 0x22, 0xca, 0x1d, 0xd0, 0x76, 0xcb, 0x75, 0x4c, 0x63, 0xcd, 0x58, 0x2f, 0x36, 0x16, - 0x07, 0xfd, 0xca, 0xdc, 0x01, 0x6d, 0x6f, 0x3b, 0x2f, 0xd3, 0x9e, 0xcb, 0x60, 0x0c, 0xcd, 0x2c, - 0x00, 0xf8, 0x55, 0x84, 0x78, 0xdb, 0x90, 0x30, 0xde, 0x3e, 0x03, 0xed, 0x57, 0x06, 0xfd, 0x0a, - 0x3e, 0xa0, 0xed, 0x5d, 0xc2, 0x34, 0x95, 0x42, 0x8c, 0xe1, 0x97, 0x50, 0xf6, 0xc3, 0x88, 0x44, - 0xc4, 0x9c, 0x1c, 0x76, 0x00, 0x80, 0xda, 0x01, 0x00, 0x78, 0x1b, 0xe5, 0xed, 0x80, 0x70, 0x9f, - 0xcd, 0xa9, 0x35, 0x63, 0xbd, 0xb4, 0x51, 0xae, 0x89, 0x40, 0xd4, 0xe2, 0x70, 0xd5, 0x6e, 0xc6, - 0x33, 0xd4, 0x58, 0xfc, 0xa2, 0x5f, 0x99, 0x18, 0xf4, 0x2b, 0xb1, 0xca, 0xa7, 0x7f, 0xad, 0x18, - 0xcd, 0xf8, 0x07, 0x7e, 0x11, 0x4d, 0x1e, 0xd0, 0xb6, 0x99, 0x05, 0x33, 0x85, 0x9a, 0xe5, 0xbb, - 0xb5, 0x1d, 0xda, 0x6e, 0x94, 0xa4, 0x12, 0x17, 0x36, 0xf9, 0x7f, 0xaa, 0xff, 0x34, 0xd0, 0xec, - 0x0e, 0x6d, 0xbf, 0xcb, 0x1d, 0x38, 0xdd, 0x31, 0xa9, 0x7e, 0x9e, 0x81, 0xa1, 0xbe, 0x43, 0xac, - 0xf0, 0xb4, 0x4f, 0xff, 0x77, 0x10, 0xb2, 0xbb, 0x51, 0xc8, 0x48, 0xc0, 0x7d, 0xcd, 0x42, 0xd7, - 0x67, 0x06, 0xfd, 0xca, 0xa2, 0x44, 0x35, 0x67, 0x8b, 0x09, 0x58, 0xfd, 0xc5, 0x14, 0x5a, 0x8e, - 0x43, 0xd4, 0x24, 0x2c, 0x0a, 0xbc, 0x71, 0xa4, 0x46, 0x46, 0x0a, 0xbf, 0x8c, 0x72, 0x01, 0xb1, - 0x42, 0xea, 0x99, 0x39, 0xd0, 0x59, 0x1a, 0xf4, 0x2b, 0xf3, 0x02, 0x51, 0x14, 0x64, 0x1b, 0xfc, - 0x3d, 0x34, 0x73, 0x18, 0xb5, 0x49, 0xe0, 0x11, 0x46, 0x42, 0xde, 0x51, 0x1e, 0x94, 0xca, 0x83, - 0x7e, 0x65, 0x65, 0x28, 0xd0, 0xfa, 0x9a, 0x56, 0x71, 0xee, 0xa6, 0x4f, 0x9d, 0x96, 0x17, 0xf5, - 0xda, 0x24, 0x30, 0x0b, 0x6b, 0xc6, 0x7a, 0x56, 0xb8, 0xe9, 0x53, 0xe7, 0xfb, 0x00, 0xaa, 0x6e, - 0x26, 0x20, 0xef, 0x38, 0x88, 0xbc, 0x96, 0xc5, 0x40, 0x44, 0x1c, 0xb3, 0xb8, 0x66, 0xac, 0x17, - 0x44, 0xc7, 0x41, 0xe4, 0x5d, 0x8d, 0x71, 0xb5, 0x63, 0x15, 0xaf, 0xfe, 0xcb, 0x40, 0x4b, 0x31, - 0x23, 0xb6, 0xee, 0xfa, 0x6e, 0x70, 0xda, 0x57, 0x89, 0x9f, 0x4f, 0xa1, 0xb9, 0x1d, 0xda, 0xbe, - 0x41, 0x3c, 0xc7, 0xf5, 0x3a, 0x63, 0xf2, 0x8f, 0x22, 0xff, 0x63, 0x74, 0xce, 0x7d, 0x2d, 0x3a, - 0xe7, 0x8f, 0x4d, 0xe7, 0x57, 0x50, 0x01, 0xf4, 0xac, 0x1e, 0x81, 0x8f, 0xa0, 0xd8, 0x58, 0x1e, - 0xf4, 0x2b, 0x0b, 0xbc, 0x81, 0xd5, 0x53, 0x63, 0x95, 0x97, 0x10, 0x77, 0x35, 0xd6, 0x08, 0x7d, - 0xcb, 0x26, 0xf0, 0x01, 0x48, 0x57, 0x65, 0x1b, 0xc0, 0x55, 0x57, 0x55, 0xbc, 0xfa, 0x47, 0xc1, - 0x87, 0x66, 0xe4, 0x79, 0x63, 0x3e, 0x7c, 0x53, 0x7c, 0xb8, 0x8c, 0x8a, 0x1e, 0x75, 0x88, 0x98, - 0xd8, 0xfc, 0x30, 0x46, 0x1c, 0x4c, 0xcd, 0x6c, 0x21, 0xc6, 0x4e, 0xbc, 0x26, 0xaa, 0x24, 0x2a, - 0x9e, 0x8c, 0x44, 0xe8, 0x19, 0x49, 0xf4, 0xfb, 0x1c, 0x5a, 0xdc, 0xa1, 0xed, 0x6d, 0xaf, 0x13, - 0x90, 0x30, 0xdc, 0xf6, 0xf6, 0xe8, 0x98, 0x48, 0xa7, 0x8b, 0x48, 0xe8, 0x64, 0x44, 0x2a, 0x3d, - 0x1b, 0x91, 0xf0, 0x3d, 0xb4, 0xe0, 0x0a, 0x12, 0xb5, 0x2c, 0xc7, 0xe1, 0xff, 0x27, 0xa1, 0x59, - 0x5c, 0x9b, 0x5c, 0x2f, 0x6d, 0xd4, 0xe2, 0x2a, 0x3f, 0xcd, 0xb2, 0x9a, 0x04, 0xae, 0xc6, 0x0a, - 0x5b, 0x1e, 0x0b, 0x8e, 0x1a, 0xab, 0x83, 0x7e, 0xa5, 0xec, 0xa6, 0x44, 0x4a, 0xc7, 0xf3, 0x69, - 0x59, 0xf9, 0x10, 0x2d, 0x8f, 0x34, 0x85, 0x5f, 0x40, 0x93, 0x87, 0xe4, 0x08, 0x38, 0x9c, 0x6d, - 0x2c, 0x0c, 0xfa, 0x95, 0x99, 0x43, 0x72, 0xa4, 0x98, 0xe2, 0x52, 0xce, 0xc4, 0xdb, 0x56, 0x37, - 0x22, 0x92, 0xba, 0xc0, 0x44, 0x00, 0x54, 0x26, 0x02, 0x70, 0x25, 0xf3, 0xba, 0x51, 0xfd, 0xf7, - 0x14, 0x32, 0x77, 0x68, 0xfb, 0x96, 0x67, 0xb5, 0xbb, 0xe4, 0x26, 0xdd, 0xb5, 0xf7, 0x89, 0x13, - 0x75, 0xc9, 0xf8, 0xbb, 0x79, 0x0e, 0xaa, 0x51, 0xed, 0x2b, 0x2b, 0x9c, 0xe8, 0x2b, 0x2b, 0x3e, - 0xc7, 0x5f, 0x59, 0xf5, 0x7e, 0x1e, 0x76, 0x8a, 0x6f, 0x5a, 0x6e, 0x77, 0xbc, 0xff, 0xf9, 0x6f, - 0x30, 0xee, 0x7d, 0x84, 0xc8, 0x5d, 0x97, 0xb5, 0x6c, 0xea, 0x90, 0xd0, 0xcc, 0xc3, 0x7a, 0x55, - 0x8d, 0xd7, 0x2b, 0x25, 0xcc, 0xb5, 0xad, 0xbb, 0x2e, 0xdb, 0xe4, 0x8d, 0xc4, 0x1a, 0x75, 0x96, - 0x7b, 0x42, 0x62, 0x6c, 0x68, 0xd8, 0x34, 0x9a, 0xc5, 0x04, 0x7e, 0x9c, 0xcf, 0x85, 0xaf, 0xc3, - 0xe7, 0xe2, 0x89, 0xf8, 0x8c, 0x4e, 0xc4, 0xe7, 0x99, 0x93, 0xf1, 0x79, 0xf6, 0x19, 0xb3, 0x86, - 0x83, 0xb0, 0x4d, 0x3d, 0x66, 0xb9, 0x1e, 0x09, 0x5a, 0x21, 0xb3, 0x58, 0xc4, 0xd3, 0x46, 0x09, - 0xa6, 0x61, 0x09, 0xa6, 0x61, 0x33, 0x16, 0xef, 0x82, 0xb4, 0x51, 0x19, 0xf4, 0x2b, 0xe7, 0x6c, - 0x1d, 0xd4, 0xb2, 0xc3, 0xc2, 0x63, 0x42, 0xfc, 0x1a, 0xca, 0xda, 0x56, 0x14, 0x12, 0x73, 0x7a, - 0xcd, 0x58, 0x9f, 0xdd, 0x40, 0xc2, 0x30, 0x47, 0x04, 0x99, 0x41, 0xa8, 0x92, 0x19, 0x80, 0xb2, - 0x83, 0x66, 0xf5, 0x59, 0x57, 0xd3, 0x49, 0xf1, 0x78, 0xe9, 0x24, 0xfb, 0xd4, 0x74, 0xf2, 0xdb, - 0x0c, 0xc2, 0x7c, 0x5b, 0x17, 0x10, 0x2e, 0x3a, 0xf5, 0x95, 0xfc, 0x6b, 0xa8, 0x18, 0x90, 0x0f, - 0x23, 0x12, 0x32, 0x1a, 0xa8, 0x5f, 0x75, 0x02, 0xaa, 0xdc, 0x4c, 0xc0, 0xea, 0x57, 0x93, 0x70, - 0x48, 0x2a, 0xa3, 0x34, 0x5e, 0xfb, 0x46, 0xaf, 0x7d, 0x17, 0x51, 0x2e, 0x88, 0xbc, 0x61, 0x79, - 0x0a, 0xee, 0x06, 0x91, 0xa7, 0xc7, 0x03, 0x00, 0xbc, 0x8d, 0x16, 0x7c, 0xc9, 0xb9, 0xdb, 0xa4, - 0x25, 0xc3, 0x28, 0xf2, 0xed, 0x85, 0x41, 0xbf, 0x72, 0x76, 0x28, 0xdc, 0x49, 0x05, 0x74, 0x2e, - 0x25, 0x4a, 0x99, 0x92, 0x1e, 0x14, 0x46, 0x99, 0x6a, 0xa6, 0x7c, 0x99, 0x4b, 0x89, 0xaa, 0x7f, - 0x9a, 0x92, 0x87, 0xe1, 0xb6, 0x4d, 0x88, 0x33, 0x9e, 0xe7, 0xf1, 0xb6, 0xf6, 0x44, 0xdb, 0xda, - 0xcf, 0x8a, 0xb0, 0xad, 0xbd, 0xc5, 0xdc, 0xae, 0x1b, 0xc2, 0x1d, 0xcd, 0x98, 0x48, 0xdf, 0x08, - 0x91, 0x3e, 0x31, 0xd0, 0xf2, 0x35, 0xeb, 0x6e, 0x53, 0x5e, 0x6e, 0x85, 0x6f, 0xd2, 0xe0, 0x06, - 0x09, 0x5c, 0xea, 0xc8, 0x5a, 0xea, 0x72, 0x5c, 0x4b, 0xa5, 0xa7, 0xa2, 0x36, 0x52, 0x4b, 0x14, - 0x57, 0x17, 0xe4, 0x58, 0x47, 0x5b, 0x6e, 0x8e, 0x86, 0x4f, 0x7b, 0xed, 0x8f, 0x7f, 0x66, 0xa0, - 0x15, 0x46, 0x99, 0xd5, 0x6d, 0xd9, 0x51, 0x2f, 0xea, 0x5a, 0xb0, 0xd8, 0x46, 0xa1, 0xd5, 0xe1, - 0x75, 0x0d, 0x8f, 0xf5, 0xc6, 0x13, 0x63, 0x7d, 0x93, 0xab, 0x6d, 0x26, 0x5a, 0xb7, 0xb8, 0x92, - 0x08, 0xf5, 0x79, 0x19, 0xea, 0x25, 0x36, 0xa2, 0x49, 0x73, 0x24, 0x5a, 0xfe, 0xdc, 0x40, 0xe5, - 0x27, 0xcf, 0xde, 0xf1, 0x8a, 0xa4, 0x1f, 0xaa, 0x45, 0x52, 0x69, 0xa3, 0x56, 0x13, 0x57, 0xa7, - 0x35, 0xf5, 0xea, 0xb4, 0xe6, 0x1f, 0x76, 0x60, 0x48, 0xf1, 0xd5, 0x69, 0xed, 0xdd, 0xc8, 0xf2, - 0x98, 0xcb, 0x8e, 0x9e, 0x56, 0x54, 0x95, 0x3f, 0x33, 0xd0, 0xd9, 0x27, 0x0e, 0xfa, 0x79, 0xf0, - 0xb0, 0xfa, 0x55, 0x06, 0xad, 0xec, 0xd0, 0x76, 0x93, 0xf8, 0x81, 0x4b, 0x03, 0x97, 0xb9, 0x1f, - 0x9d, 0xfa, 0xd2, 0xef, 0xbb, 0x68, 0xda, 0x23, 0x77, 0x5a, 0x72, 0xc0, 0x47, 0xb0, 0x4c, 0x19, - 0xb0, 0x93, 0x5a, 0xf6, 0xc8, 0x9d, 0x1b, 0x12, 0x56, 0x5c, 0x28, 0x29, 0xb0, 0x5e, 0x38, 0xe6, - 0x8e, 0x5d, 0x38, 0x3e, 0xca, 0xc0, 0xc5, 0xa1, 0x12, 0xe7, 0xd3, 0x5e, 0x54, 0xfc, 0x4f, 0xc2, - 0xfc, 0x67, 0xb1, 0x8b, 0xd9, 0xb4, 0x3c, 0x9b, 0x74, 0xbb, 0xe3, 0x5d, 0xcc, 0xc8, 0x28, 0x3d, - 0xdb, 0xd9, 0x44, 0xf5, 0xbe, 0x78, 0x18, 0x22, 0x63, 0x7a, 0xda, 0x69, 0xfb, 0xad, 0x84, 0xf4, - 0x0f, 0x53, 0x40, 0xd3, 0x9b, 0x24, 0xe8, 0xb9, 0x9e, 0x35, 0xde, 0x47, 0x3e, 0xcf, 0xd7, 0xa8, - 0xdf, 0xce, 0x56, 0x41, 0x21, 0x50, 0xe1, 0x18, 0x04, 0x7a, 0x34, 0x8d, 0xa6, 0x81, 0x33, 0xd7, - 0x48, 0xc8, 0x0b, 0x0a, 0x7c, 0x1d, 0x15, 0xc3, 0xf8, 0xe5, 0x16, 0xb0, 0xa7, 0xb4, 0xb1, 0x12, - 0xd7, 0x61, 0xfa, 0x93, 0x2e, 0x11, 0x80, 0xa4, 0xf1, 0xd0, 0xf8, 0xdb, 0x13, 0xcd, 0xa1, 0x0d, - 0xbc, 0x89, 0x72, 0xc0, 0x03, 0x47, 0x16, 0x1e, 0x8b, 0xb1, 0x35, 0xe5, 0x25, 0x94, 0x70, 0x52, - 0x34, 0xd3, 0xec, 0x48, 0x55, 0x6e, 0xa4, 0x0b, 0xaf, 0x89, 0x80, 0x6f, 0x8a, 0x11, 0xe5, 0x8d, - 0x91, 0x30, 0x22, 0x9a, 0xe9, 0x46, 0x04, 0x86, 0x3f, 0x40, 0xb3, 0xf0, 0xaf, 0x56, 0x20, 0x1f, - 0xdc, 0x24, 0x7c, 0x54, 0x8d, 0x69, 0xaf, 0x71, 0x1a, 0xe7, 0x06, 0xfd, 0xca, 0x99, 0xae, 0x8a, - 0x6b, 0xa6, 0x67, 0x34, 0x11, 0x7e, 0x1f, 0x09, 0xa0, 0x45, 0xc4, 0x03, 0x0e, 0xf9, 0x2c, 0xec, - 0xac, 0xd6, 0x81, 0xfa, 0xb8, 0x43, 0xcc, 0x6b, 0x57, 0x81, 0x35, 0xf3, 0xd3, 0xaa, 0x04, 0xbf, - 0x85, 0xf2, 0xbe, 0x78, 0x2c, 0x01, 0xfc, 0x8d, 0x4f, 0x14, 0x53, 0x6f, 0x28, 0x24, 0xc3, 0x04, - 0xa2, 0x59, 0x8b, 0xb5, 0xb9, 0xa1, 0x40, 0xdc, 0xb2, 0x03, 0x95, 0x15, 0x43, 0xea, 0xe5, 0xbb, - 0x30, 0x24, 0x1b, 0xea, 0x86, 0x24, 0x88, 0x7b, 0x08, 0x47, 0x70, 0x6d, 0xd4, 0x62, 0xb4, 0x15, - 0xca, 0x8b, 0x23, 0xe0, 0x5d, 0x69, 0xe3, 0x42, 0x52, 0xbd, 0x8f, 0xba, 0x58, 0x12, 0x97, 0x62, - 0x51, 0x4a, 0xa4, 0xf5, 0x32, 0x9f, 0x96, 0x72, 0x16, 0xec, 0xc1, 0x11, 0x36, 0x7c, 0x4b, 0x0a, - 0x0b, 0x94, 0x83, 0x6d, 0xc1, 0x02, 0xd1, 0x4c, 0x67, 0x81, 0xc0, 0x04, 0xc1, 0xe5, 0x69, 0x0c, - 0x7c, 0x5c, 0x1a, 0xc1, 0xd5, 0x63, 0x9a, 0x98, 0xe0, 0x12, 0x4b, 0x13, 0x5c, 0xc2, 0xb8, 0x85, - 0x66, 0x02, 0xb5, 0x1a, 0x83, 0x8d, 0x90, 0xc2, 0xaa, 0xc7, 0x4b, 0x35, 0xc1, 0x2a, 0x4d, 0x49, - 0x67, 0x95, 0x26, 0xc2, 0xbb, 0x08, 0xd9, 0x49, 0x1d, 0x02, 0x67, 0xbe, 0xa5, 0x8d, 0x33, 0xb1, - 0xf5, 0x54, 0x85, 0xd2, 0x30, 0xf9, 0xe6, 0x67, 0xd8, 0x5c, 0xb3, 0xab, 0x98, 0xe1, 0x61, 0xb0, - 0xe3, 0x44, 0x0c, 0xa7, 0xe3, 0x4a, 0x18, 0xf4, 0x0c, 0x2d, 0x57, 0xd8, 0x18, 0xd3, 0xc3, 0x90, - 0xc0, 0xdc, 0x4b, 0x96, 0xa4, 0x21, 0x38, 0x38, 0x57, 0xbc, 0x4c, 0x25, 0x28, 0xe1, 0xe5, 0xb0, - 0xb9, 0xee, 0xe5, 0x10, 0xc7, 0xef, 0xa1, 0x52, 0x34, 0xdc, 0xfc, 0x99, 0x73, 0x60, 0xd5, 0x7c, - 0xd2, 0xbe, 0x50, 0x14, 0x85, 0x8a, 0x82, 0x66, 0x57, 0xb5, 0x84, 0x7f, 0x80, 0xa6, 0xe3, 0xeb, - 0x5d, 0xd7, 0xdb, 0xa3, 0xe6, 0x82, 0x6e, 0x39, 0x7d, 0xb3, 0x2b, 0x2c, 0xbb, 0x43, 0x54, 0xb7, - 0xac, 0x08, 0xb0, 0x8d, 0x66, 0x03, 0x6d, 0x13, 0x64, 0x62, 0xb0, 0x7d, 0x6e, 0x04, 0x1f, 0x92, - 0x59, 0x3b, 0x3f, 0xe8, 0x57, 0x4c, 0x5d, 0x4d, 0xeb, 0x21, 0x65, 0x92, 0xcf, 0x9e, 0x1f, 0x1f, - 0x1d, 0x9b, 0xcb, 0xfa, 0xec, 0xe9, 0x67, 0xca, 0x32, 0x4d, 0xc5, 0x98, 0x3e, 0x7b, 0x09, 0xcc, - 0x67, 0xcf, 0x4f, 0x4e, 0xec, 0xcd, 0x15, 0x7d, 0xf6, 0x52, 0x67, 0xf9, 0x62, 0xf6, 0x86, 0xcd, - 0xf5, 0xd9, 0x1b, 0xe2, 0x8d, 0x02, 0xca, 0xc1, 0x53, 0xe8, 0xb0, 0xfa, 0xd3, 0x0c, 0x9a, 0x4b, - 0xdd, 0x7c, 0xe0, 0xff, 0x43, 0x53, 0x90, 0x17, 0x45, 0x89, 0x82, 0x07, 0xfd, 0xca, 0xac, 0xa7, - 0x27, 0x45, 0x90, 0xe3, 0x0d, 0x54, 0x88, 0x6f, 0xa0, 0xe4, 0x15, 0x04, 0x94, 0x27, 0x31, 0xa6, - 0x96, 0x27, 0x31, 0x86, 0xeb, 0x28, 0xdf, 0x13, 0x09, 0x4d, 0x16, 0x28, 0xb0, 0x96, 0x49, 0x48, - 0x4d, 0xbb, 0x12, 0x52, 0xb2, 0xe6, 0xd4, 0x31, 0x6e, 0xd9, 0x92, 0x0b, 0x98, 0xec, 0xb3, 0x5c, - 0xc0, 0x54, 0x3f, 0x42, 0x18, 0x02, 0xb8, 0xcb, 0x02, 0x62, 0xf5, 0xe2, 0x8c, 0xbb, 0x86, 0x32, - 0x49, 0xa1, 0x36, 0x3f, 0xe8, 0x57, 0xa6, 0x5d, 0xb5, 0x0e, 0xc9, 0xb8, 0x0e, 0x6e, 0x0c, 0x47, - 0x23, 0x72, 0xe8, 0x02, 0x74, 0xa8, 0xe6, 0xed, 0xa7, 0x0d, 0xb0, 0xfa, 0xcb, 0x0c, 0x9a, 0xd9, - 0x81, 0xea, 0xad, 0x29, 0x6a, 0xcd, 0x63, 0xf4, 0xfb, 0x12, 0xca, 0xde, 0xb1, 0x98, 0xbd, 0x0f, - 0xbd, 0x16, 0xc4, 0xd0, 0x00, 0x50, 0x87, 0x06, 0x00, 0xde, 0x44, 0x73, 0x7b, 0x01, 0xed, 0xb5, - 0x64, 0x77, 0xbc, 0xc6, 0x12, 0x81, 0x87, 0xa5, 0x8e, 0x8b, 0xa4, 0xa3, 0x5a, 0x91, 0x35, 0xa3, - 0x09, 0x86, 0x45, 0xe5, 0xd4, 0x53, 0x8b, 0xca, 0x37, 0xd0, 0x2c, 0x09, 0x02, 0x1a, 0x6c, 0xef, - 0x5d, 0x73, 0xc3, 0x90, 0x73, 0x36, 0x0b, 0x3e, 0xc2, 0x87, 0xa4, 0x4b, 0x14, 0xe5, 0x94, 0x4e, - 0xf5, 0x37, 0x06, 0x9a, 0x7e, 0x8f, 0xfb, 0x1f, 0xc7, 0x24, 0xf1, 0xc0, 0x78, 0xaa, 0x07, 0x27, - 0xab, 0x9b, 0x2f, 0xa1, 0x3c, 0xc4, 0x29, 0x89, 0x8f, 0x48, 0x57, 0x01, 0xed, 0x69, 0x0a, 0x39, - 0x81, 0x5c, 0x7c, 0x07, 0x65, 0x81, 0x56, 0xb8, 0x88, 0xb2, 0x5b, 0xdc, 0xf7, 0xf9, 0x09, 0x5c, - 0x42, 0xf9, 0xad, 0xdb, 0xae, 0xcd, 0x88, 0x33, 0x6f, 0xe0, 0x3c, 0x9a, 0xbc, 0x7e, 0xfd, 0xda, - 0x7c, 0x06, 0x2f, 0xa1, 0xf9, 0x37, 0x88, 0xe5, 0x74, 0x5d, 0x8f, 0x6c, 0xdd, 0x15, 0x99, 0x69, - 0x7e, 0x12, 0x4f, 0xa3, 0x42, 0x93, 0x1c, 0x10, 0x68, 0x3c, 0xb5, 0xf1, 0x0f, 0x03, 0x65, 0xc5, - 0x06, 0x81, 0xa0, 0xb9, 0xb7, 0x08, 0x13, 0x7c, 0x00, 0x24, 0xc4, 0x38, 0x49, 0x82, 0x09, 0x45, - 0xca, 0x67, 0x86, 0x3c, 0xd3, 0x38, 0x5b, 0x7d, 0xe1, 0x27, 0x7f, 0x79, 0xf4, 0xab, 0xcc, 0x85, - 0xaa, 0x59, 0xbf, 0xfd, 0xff, 0xf5, 0x03, 0xda, 0xbe, 0x14, 0x12, 0x56, 0xbf, 0x07, 0x81, 0xf9, - 0xb8, 0x7e, 0xcf, 0x75, 0x3e, 0xbe, 0x62, 0x5c, 0x7c, 0xc5, 0xc0, 0x57, 0x50, 0x16, 0xc2, 0x8b, - 0x05, 0x61, 0xd5, 0x50, 0x3f, 0xd9, 0xf6, 0xe4, 0x27, 0x19, 0x03, 0x74, 0x73, 0x6f, 0xc3, 0x9f, - 0x3d, 0xe0, 0x95, 0xc7, 0xf6, 0x0b, 0x5b, 0x3c, 0x48, 0x65, 0xb1, 0x5a, 0x8b, 0x46, 0x9b, 0xfb, - 0xc4, 0x3e, 0x6c, 0x92, 0xd0, 0xa7, 0x5e, 0x48, 0x1a, 0x1f, 0x7c, 0xf9, 0xf7, 0xd5, 0x89, 0x1f, - 0x3f, 0x58, 0x35, 0xbe, 0x78, 0xb0, 0x6a, 0xdc, 0x7f, 0xb0, 0x6a, 0xfc, 0xed, 0xc1, 0xaa, 0xf1, - 0xe9, 0xc3, 0xd5, 0x89, 0xfb, 0x0f, 0x57, 0x27, 0xbe, 0x7c, 0xb8, 0x3a, 0xf1, 0xa3, 0x17, 0x95, - 0xbf, 0x93, 0xb0, 0x82, 0x9e, 0xe5, 0x58, 0x7e, 0x40, 0x79, 0xa0, 0xe4, 0xaf, 0xf8, 0xcf, 0x1c, - 0x7e, 0x97, 0x59, 0xba, 0x0a, 0xc0, 0x0d, 0x21, 0xae, 0x6d, 0xd3, 0xda, 0x55, 0xdf, 0x6d, 0xe7, - 0xc0, 0x97, 0xcb, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0xf6, 0xfc, 0x80, 0xa6, 0xf4, 0x31, 0x00, - 0x00, + // 2333 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcd, 0x6f, 0x1b, 0xc7, + 0x15, 0xd7, 0x52, 0xe2, 0xd7, 0x50, 0x9f, 0x63, 0x49, 0x5e, 0xd3, 0xb6, 0x28, 0x30, 0x40, 0xa3, + 0x18, 0x31, 0x99, 0xca, 0x49, 0x11, 0x18, 0x05, 0x0a, 0x53, 0x51, 0x12, 0xa9, 0x71, 0xed, 0x50, + 0x36, 0xd2, 0x16, 0x01, 0x98, 0xe5, 0xee, 0x88, 0x5a, 0x89, 0xdc, 0xd9, 0xec, 0xce, 0xda, 0x56, + 0x8c, 0x00, 0x45, 0x0b, 0x14, 0xb9, 0xf5, 0x0b, 0xe8, 0xb1, 0x5f, 0x40, 0x2f, 0x3d, 0xf6, 0x2f, + 0xe8, 0xa1, 0x28, 0x72, 0x0c, 0x92, 0x4b, 0x4e, 0x44, 0x6b, 0x07, 0x09, 0xc0, 0x53, 0xef, 0xbd, + 0x14, 0xf3, 0x66, 0x76, 0x39, 0xb3, 0xa6, 0x60, 0x59, 0x69, 0x52, 0x43, 0xe1, 0xc5, 0x96, 0x7e, + 0x6f, 0xde, 0x9b, 0xb7, 0x6f, 0x7e, 0x33, 0xef, 0xcd, 0x87, 0xd0, 0x19, 0xff, 0xa0, 0x53, 0xb7, + 0x7c, 0xb7, 0x4e, 0xee, 0x10, 0x8f, 0xd5, 0xfc, 0x80, 0x32, 0x8a, 0x27, 0x2d, 0xdf, 0x2d, 0x57, + 0x3a, 0x94, 0x76, 0xba, 0xa4, 0x0e, 0x50, 0x3b, 0xda, 0xad, 0x33, 0xb7, 0x47, 0x42, 0x66, 0xf5, + 0x7c, 0xd1, 0xaa, 0xbc, 0x18, 0xab, 0x86, 0x51, 0xbb, 0xe7, 0xb2, 0x34, 0xba, 0x47, 0xac, 0x2e, + 0xdb, 0x93, 0xe8, 0xf9, 0xb4, 0x31, 0xd2, 0xf3, 0xd9, 0xa1, 0x14, 0x5e, 0xee, 0xb8, 0x6c, 0x2f, + 0x6a, 0xd7, 0x6c, 0xda, 0xab, 0x77, 0x68, 0x87, 0x0e, 0x5b, 0xf1, 0xdf, 0xe0, 0x17, 0xf8, 0x49, + 0x36, 0xbf, 0x20, 0x6d, 0xf1, 0x4e, 0x2c, 0xcf, 0xa3, 0xcc, 0x62, 0x2e, 0xf5, 0x42, 0x29, 0x7d, + 0xf1, 0xe0, 0xe5, 0xb0, 0xe6, 0x52, 0x2e, 0xed, 0x59, 0xf6, 0x9e, 0xeb, 0x91, 0xe0, 0xb0, 0x1e, + 0xfb, 0x14, 0x90, 0x90, 0x46, 0x81, 0x4d, 0xea, 0x1d, 0xe2, 0x91, 0xc0, 0x62, 0xc4, 0x11, 0x5a, + 0xd5, 0xdf, 0x66, 0xd0, 0xc2, 0x36, 0x6d, 0xef, 0xc0, 0x97, 0x30, 0xe2, 0x6c, 0xf2, 0x68, 0xe0, + 0x4b, 0x28, 0xb7, 0x4f, 0xdb, 0x2d, 0xd7, 0x31, 0x8d, 0x55, 0x63, 0xad, 0xd8, 0x38, 0x33, 0xe8, + 0x57, 0xe6, 0xf6, 0x69, 0x7b, 0xcb, 0x79, 0x9e, 0xf6, 0x5c, 0x06, 0xdf, 0xd0, 0xcc, 0x02, 0x80, + 0x5f, 0x44, 0x88, 0xb7, 0x0d, 0x09, 0xe3, 0xed, 0x33, 0xd0, 0x7e, 0x79, 0xd0, 0xaf, 0xe0, 0x7d, + 0xda, 0xde, 0x21, 0x4c, 0x53, 0x29, 0xc4, 0x18, 0x7e, 0x0e, 0x65, 0xdf, 0x8d, 0x48, 0x44, 0xcc, + 0xc9, 0x61, 0x07, 0x00, 0xa8, 0x1d, 0x00, 0x80, 0xbf, 0x8f, 0xf2, 0x76, 0x40, 0xb8, 0xcf, 0xe6, + 0xd4, 0xaa, 0xb1, 0x56, 0x5a, 0x2f, 0xd7, 0x44, 0x20, 0x6a, 0x71, 0xb8, 0x6a, 0xb7, 0xe2, 0x11, + 0x6a, 0x2c, 0x0d, 0xfa, 0x95, 0x05, 0xd9, 0x5c, 0x31, 0x15, 0x5b, 0xc0, 0xcf, 0xa2, 0xc9, 0x7d, + 0xda, 0x36, 0xb3, 0x60, 0xa8, 0x50, 0xb3, 0x7c, 0xb7, 0xb6, 0x4d, 0xdb, 0x8d, 0xd2, 0x87, 0xfd, + 0xca, 0xc4, 0xa0, 0x5f, 0xe1, 0xc2, 0x26, 0xff, 0xa7, 0x3a, 0x30, 0xd0, 0xec, 0x36, 0x6d, 0xbf, + 0xc9, 0x5d, 0x38, 0xed, 0x51, 0xa9, 0xfe, 0x29, 0x03, 0x1f, 0xfb, 0x06, 0xb1, 0xc2, 0xd3, 0x4f, + 0x81, 0xef, 0x20, 0x64, 0x77, 0xa3, 0x90, 0x91, 0x80, 0x7b, 0x9b, 0x85, 0xce, 0xcf, 0x0e, 0xfa, + 0x95, 0x33, 0x12, 0xd5, 0xdc, 0x2d, 0x26, 0x60, 0xf5, 0x57, 0x53, 0x68, 0x29, 0x0e, 0x52, 0x93, + 0xb0, 0x28, 0xf0, 0xc6, 0xb1, 0x3a, 0x22, 0x56, 0xf8, 0x79, 0x94, 0x0b, 0x88, 0x15, 0x52, 0xcf, + 0xcc, 0x81, 0xce, 0xe2, 0xa0, 0x5f, 0x99, 0x17, 0x88, 0xa2, 0x20, 0xdb, 0xe0, 0xef, 0xa1, 0x99, + 0x83, 0xa8, 0x4d, 0x02, 0x8f, 0x30, 0x12, 0xf2, 0x8e, 0xf2, 0xa0, 0x54, 0x1e, 0xf4, 0x2b, 0xcb, + 0x43, 0x81, 0xd6, 0xd7, 0xb4, 0x8a, 0x73, 0x37, 0x7d, 0xea, 0xb4, 0xbc, 0xa8, 0xd7, 0x26, 0x81, + 0x59, 0x58, 0x35, 0xd6, 0xb2, 0xc2, 0x4d, 0x9f, 0x3a, 0x3f, 0x00, 0x50, 0x75, 0x33, 0x01, 0x79, + 0xc7, 0x41, 0xe4, 0xb5, 0x2c, 0x06, 0x22, 0xe2, 0x98, 0xc5, 0x55, 0x63, 0xad, 0x20, 0x3a, 0x0e, + 0x22, 0xef, 0x5a, 0x8c, 0xab, 0x1d, 0xab, 0x78, 0xf5, 0xdf, 0x06, 0x5a, 0x8c, 0x39, 0xb1, 0x79, + 0xcf, 0x77, 0x83, 0xd3, 0xbf, 0x56, 0xfc, 0x62, 0x0a, 0xcd, 0x6d, 0xd3, 0xf6, 0x4d, 0xe2, 0x39, + 0xae, 0xd7, 0x19, 0x4f, 0x80, 0xd1, 0x13, 0xe0, 0x11, 0x4a, 0xe7, 0xbe, 0x14, 0xa5, 0xf3, 0xc7, + 0xa6, 0xf4, 0x0b, 0xa8, 0x00, 0x7a, 0x56, 0x8f, 0xc0, 0x44, 0x28, 0x8a, 0x4f, 0xe4, 0x0d, 0xac, + 0x9e, 0x1a, 0xad, 0xbc, 0x84, 0xb8, 0xab, 0xb1, 0x46, 0xe8, 0x5b, 0x36, 0x81, 0x49, 0x20, 0x5d, + 0x95, 0x6d, 0x00, 0x57, 0x5d, 0x55, 0xf1, 0xea, 0xdf, 0x05, 0x23, 0x9a, 0x91, 0xe7, 0x8d, 0x19, + 0xf1, 0xd5, 0x31, 0xe2, 0x0a, 0x2a, 0x7a, 0xd4, 0x21, 0x62, 0x68, 0xf3, 0xc3, 0x28, 0x71, 0x30, + 0x35, 0xb6, 0x85, 0x18, 0x3b, 0xf1, 0xca, 0xa8, 0xd2, 0xa8, 0x78, 0x32, 0x1a, 0xa1, 0x27, 0xa4, + 0xd1, 0x5f, 0x73, 0xe8, 0xcc, 0x36, 0x6d, 0x6f, 0x79, 0x9d, 0x80, 0x84, 0xe1, 0x96, 0xb7, 0x4b, + 0xc7, 0x54, 0x3a, 0x6d, 0x54, 0x42, 0x27, 0xa3, 0x52, 0xe9, 0xc9, 0xa8, 0x84, 0xef, 0xa3, 0x05, + 0x57, 0xd0, 0xa8, 0x65, 0x39, 0x0e, 0xff, 0x9f, 0x84, 0x66, 0x71, 0x75, 0x72, 0xad, 0xb4, 0x5e, + 0x8b, 0x6b, 0xfe, 0x34, 0xcf, 0x6a, 0x12, 0xb8, 0x16, 0x2b, 0x6c, 0x7a, 0x2c, 0x38, 0x6c, 0xac, + 0x0c, 0xfa, 0x95, 0xb2, 0x9b, 0x12, 0x29, 0x1d, 0xcf, 0xa7, 0x65, 0xe5, 0x03, 0xb4, 0x34, 0xd2, + 0x14, 0x7e, 0x06, 0x4d, 0x1e, 0x90, 0x43, 0x60, 0x71, 0xb6, 0xb1, 0x30, 0xe8, 0x57, 0x66, 0x0e, + 0xc8, 0xa1, 0x62, 0x8a, 0x4b, 0x39, 0x17, 0xef, 0x58, 0xdd, 0x88, 0x48, 0xf2, 0x02, 0x17, 0x01, + 0x50, 0xb9, 0x08, 0xc0, 0xd5, 0xcc, 0xcb, 0x46, 0xf5, 0x3f, 0x53, 0xc8, 0xdc, 0xa6, 0xed, 0xdb, + 0x9e, 0xd5, 0xee, 0x92, 0x5b, 0x74, 0xc7, 0xde, 0x23, 0x4e, 0xd4, 0x25, 0xe3, 0x99, 0xf3, 0x54, + 0xd4, 0xa5, 0xda, 0x3c, 0x2b, 0x9c, 0x68, 0x9e, 0x15, 0x9f, 0xe2, 0x79, 0x56, 0xfd, 0x38, 0x0f, + 0xfb, 0xc6, 0x57, 0x2d, 0xb7, 0x3b, 0xde, 0x0b, 0xfd, 0x6f, 0x38, 0xf7, 0x36, 0x42, 0xe4, 0x9e, + 0xcb, 0x5a, 0x36, 0x75, 0x48, 0x68, 0xe6, 0x61, 0xcd, 0xaa, 0xc6, 0x6b, 0x96, 0x12, 0xe8, 0xda, + 0xe6, 0x3d, 0x97, 0x6d, 0xf0, 0x46, 0x62, 0x9d, 0x3a, 0xc7, 0x3d, 0x21, 0x31, 0x36, 0x34, 0x6c, + 0x1a, 0xcd, 0x62, 0x02, 0x3f, 0xca, 0xe8, 0xc2, 0x97, 0x61, 0x74, 0xf1, 0x44, 0x8c, 0x46, 0x27, + 0x62, 0xf4, 0xcc, 0xc9, 0x18, 0x3d, 0xfb, 0x84, 0x99, 0xc3, 0x41, 0xd8, 0xa6, 0x1e, 0xb3, 0x5c, + 0x8f, 0x04, 0xad, 0x90, 0x59, 0x2c, 0xe2, 0xa9, 0xa3, 0x04, 0xc3, 0xb0, 0x08, 0xc3, 0xb0, 0x11, + 0x8b, 0x77, 0x40, 0xda, 0xa8, 0x0c, 0xfa, 0x95, 0xf3, 0xb6, 0x0e, 0x6a, 0x19, 0x62, 0xe1, 0x11, + 0x21, 0x7e, 0x09, 0x65, 0x6d, 0x2b, 0x0a, 0x89, 0x39, 0xbd, 0x6a, 0xac, 0xcd, 0xae, 0x23, 0x61, + 0x98, 0x23, 0x82, 0xce, 0x20, 0x54, 0xe9, 0x0c, 0x40, 0xd9, 0x41, 0xb3, 0xfa, 0xa8, 0xab, 0x29, + 0xa5, 0x78, 0xbc, 0x94, 0x92, 0x7d, 0x6c, 0x4a, 0xf9, 0x73, 0x06, 0x61, 0xbe, 0xc1, 0x0b, 0x08, + 0x17, 0x7d, 0x03, 0x2a, 0xfa, 0x97, 0x50, 0x31, 0x20, 0xef, 0x46, 0x24, 0x64, 0x34, 0x50, 0xe7, + 0x75, 0x02, 0xaa, 0xec, 0x4c, 0xc0, 0xea, 0x17, 0x93, 0x70, 0x74, 0x2a, 0xe3, 0x34, 0x5e, 0xff, + 0x8e, 0x5a, 0xff, 0x2e, 0xa1, 0x5c, 0x10, 0x79, 0xc3, 0x32, 0x15, 0x1c, 0x0e, 0x22, 0x4f, 0x8f, + 0x08, 0x00, 0x78, 0x0b, 0x2d, 0xf8, 0x92, 0x77, 0x77, 0x48, 0x4b, 0x06, 0x52, 0x64, 0xdd, 0x8b, + 0x83, 0x7e, 0xe5, 0xdc, 0x50, 0xb8, 0x9d, 0x0a, 0xe9, 0x5c, 0x4a, 0x94, 0x32, 0x25, 0x3d, 0x28, + 0x8c, 0x32, 0xd5, 0x4c, 0xf9, 0x32, 0x97, 0x12, 0x55, 0xff, 0x31, 0x25, 0x0f, 0xc9, 0x6d, 0x9b, + 0x10, 0x67, 0x3c, 0xd2, 0xe3, 0x2d, 0xee, 0x09, 0xb7, 0xb8, 0x7f, 0x2c, 0xc2, 0x16, 0xf7, 0x36, + 0x73, 0xbb, 0x6e, 0x08, 0xb7, 0x37, 0x63, 0x2a, 0x7d, 0x45, 0x54, 0xfa, 0xc0, 0x40, 0x4b, 0xd7, + 0xad, 0x7b, 0x4d, 0x79, 0xf1, 0x15, 0xbe, 0x4a, 0x83, 0x9b, 0x24, 0x70, 0xa9, 0x23, 0x6b, 0xaa, + 0x2b, 0x71, 0x4d, 0x95, 0x1e, 0x8c, 0xda, 0x48, 0x2d, 0x51, 0x64, 0x5d, 0x94, 0xd7, 0x44, 0xa3, + 0x2d, 0x37, 0x47, 0xc3, 0xa7, 0x7d, 0x17, 0x80, 0x7f, 0x6e, 0xa0, 0x65, 0x46, 0x99, 0xd5, 0x6d, + 0xd9, 0x51, 0x2f, 0xea, 0x5a, 0xb0, 0xe0, 0x46, 0xa1, 0xd5, 0xe1, 0xf5, 0x0d, 0x8f, 0xf5, 0xfa, + 0x91, 0xb1, 0xbe, 0xc5, 0xd5, 0x36, 0x12, 0xad, 0xdb, 0x5c, 0x49, 0x84, 0xfa, 0x82, 0x0c, 0xf5, + 0x22, 0x1b, 0xd1, 0xa4, 0x39, 0x12, 0x2d, 0xff, 0xc1, 0x40, 0xe5, 0xa3, 0x47, 0xef, 0x78, 0xc5, + 0xd2, 0x8f, 0xd4, 0x62, 0xa9, 0xb4, 0x5e, 0xab, 0x89, 0x6b, 0xd5, 0x9a, 0x7a, 0xad, 0x5a, 0xf3, + 0x0f, 0x3a, 0xf0, 0x49, 0xf1, 0xb5, 0x6a, 0xed, 0xcd, 0xc8, 0xf2, 0x98, 0xcb, 0x0e, 0x1f, 0x57, + 0x5c, 0x95, 0x7f, 0x6f, 0xa0, 0x73, 0x47, 0x7e, 0xf4, 0xd3, 0xe0, 0x61, 0xf5, 0x8b, 0x0c, 0x5a, + 0xde, 0xa6, 0xed, 0x26, 0xf1, 0x03, 0x97, 0x06, 0x2e, 0x73, 0xdf, 0xfb, 0x06, 0x94, 0x80, 0xdf, + 0x45, 0xd3, 0x1e, 0xb9, 0xdb, 0x92, 0x9f, 0x7c, 0x08, 0x0b, 0x95, 0x01, 0x7b, 0xaa, 0x25, 0x8f, + 0xdc, 0xbd, 0x29, 0x61, 0x45, 0xb3, 0xa4, 0xc0, 0x7a, 0x01, 0x99, 0x3b, 0x76, 0x01, 0xf9, 0x79, + 0x06, 0x2e, 0x14, 0x95, 0x48, 0x9f, 0xfe, 0xd2, 0xe2, 0xff, 0x12, 0xe8, 0x4f, 0xc4, 0x8e, 0x66, + 0xc3, 0xf2, 0x6c, 0xd2, 0xed, 0x8e, 0x77, 0x34, 0x47, 0xc4, 0xe9, 0xc9, 0x4e, 0x2a, 0xaa, 0x1f, + 0x8b, 0xa7, 0x23, 0x32, 0xaa, 0xa7, 0x9f, 0xba, 0x5f, 0x4b, 0x50, 0xff, 0x36, 0x05, 0x54, 0xbd, + 0x45, 0x82, 0x9e, 0xeb, 0x59, 0xe3, 0x5d, 0xe5, 0xd3, 0x7d, 0xc1, 0xfa, 0xf5, 0x6c, 0x1b, 0x14, + 0x0a, 0x15, 0x8e, 0x41, 0xa1, 0xcf, 0xa6, 0xd1, 0x34, 0xb0, 0xe6, 0x3a, 0x09, 0x79, 0x69, 0x81, + 0x6f, 0xa0, 0x62, 0x18, 0xbf, 0xef, 0x02, 0xfe, 0x94, 0xd6, 0x97, 0xe3, 0x8a, 0x4c, 0x7f, 0xf8, + 0x25, 0x02, 0x90, 0x34, 0x1e, 0x1a, 0x7f, 0x7d, 0xa2, 0x39, 0xb4, 0x81, 0x37, 0x50, 0x0e, 0x98, + 0xe0, 0xc8, 0x12, 0xe4, 0x4c, 0x6c, 0x4d, 0x79, 0x2d, 0x25, 0x9c, 0x14, 0xcd, 0x34, 0x3b, 0x52, + 0x95, 0x1b, 0xe9, 0xc2, 0x7b, 0x23, 0x60, 0x9c, 0x62, 0x44, 0x79, 0x85, 0x24, 0x8c, 0x88, 0x66, + 0xba, 0x11, 0x81, 0xe1, 0x77, 0xd0, 0x2c, 0xfc, 0xd4, 0x0a, 0xe4, 0x83, 0x9c, 0x84, 0x91, 0xaa, + 0x31, 0xed, 0xb5, 0x4e, 0xe3, 0xfc, 0xa0, 0x5f, 0x39, 0xdb, 0x55, 0x71, 0xcd, 0xf4, 0x8c, 0x26, + 0xc2, 0x6f, 0x23, 0x01, 0xb4, 0x88, 0x78, 0xde, 0x21, 0x9f, 0x8e, 0x9d, 0xd3, 0x3a, 0x50, 0x9f, + 0x7e, 0x88, 0x71, 0xed, 0x2a, 0xb0, 0x66, 0x7e, 0x5a, 0x95, 0xe0, 0xd7, 0x50, 0xde, 0x17, 0x0f, + 0x29, 0x80, 0xbf, 0xf1, 0x19, 0x63, 0xea, 0x7d, 0x85, 0x64, 0x98, 0x40, 0x34, 0x6b, 0xb1, 0x36, + 0x37, 0x14, 0x88, 0xfb, 0x77, 0xa0, 0xb2, 0x62, 0x48, 0xbd, 0x96, 0x17, 0x86, 0x64, 0x43, 0xdd, + 0x90, 0x04, 0x71, 0x0f, 0xe1, 0x08, 0x2e, 0x93, 0x5a, 0x8c, 0xb6, 0x42, 0x79, 0x9d, 0x04, 0xbc, + 0x2b, 0xad, 0x5f, 0x4c, 0xea, 0xf8, 0x51, 0xd7, 0x4d, 0xe2, 0xaa, 0x2c, 0x4a, 0x89, 0xb4, 0x5e, + 0xe6, 0xd3, 0x52, 0xce, 0x82, 0x5d, 0x38, 0xd4, 0x86, 0xb9, 0xa4, 0xb0, 0x40, 0x39, 0xea, 0x16, + 0x2c, 0x10, 0xcd, 0x74, 0x16, 0x08, 0x4c, 0x10, 0x5c, 0x9e, 0xcd, 0xc0, 0xe4, 0xd2, 0x08, 0xae, + 0x1e, 0xda, 0xc4, 0x04, 0x97, 0x58, 0x9a, 0xe0, 0x12, 0xc6, 0x2d, 0x34, 0x13, 0xa8, 0x55, 0x19, + 0x6c, 0x89, 0x14, 0x56, 0x3d, 0x5a, 0xb2, 0x09, 0x56, 0x69, 0x4a, 0x3a, 0xab, 0x34, 0x11, 0xde, + 0x41, 0xc8, 0x4e, 0xaa, 0x11, 0x38, 0x05, 0x2e, 0xad, 0x9f, 0x8d, 0xad, 0xa7, 0xea, 0x94, 0x86, + 0xc9, 0xb7, 0x41, 0xc3, 0xe6, 0x9a, 0x5d, 0xc5, 0x0c, 0x0f, 0x83, 0x1d, 0x27, 0x63, 0x38, 0x2f, + 0x57, 0xc2, 0xa0, 0x67, 0x69, 0xb9, 0xc2, 0xc6, 0x98, 0x1e, 0x86, 0x04, 0xe6, 0x5e, 0xb2, 0x24, + 0x11, 0xc1, 0x51, 0xba, 0xe2, 0x65, 0x2a, 0x45, 0x09, 0x2f, 0x87, 0xcd, 0x75, 0x2f, 0x87, 0x38, + 0x7e, 0x0b, 0x95, 0xa2, 0xe1, 0x36, 0xd0, 0x9c, 0x03, 0xab, 0xe6, 0x51, 0x3b, 0x44, 0x51, 0x1a, + 0x2a, 0x0a, 0x9a, 0x5d, 0xd5, 0x12, 0xfe, 0x21, 0x9a, 0x8e, 0x2f, 0x7d, 0x5d, 0x6f, 0x97, 0x9a, + 0x0b, 0xba, 0xe5, 0xf4, 0x7d, 0xaf, 0xb0, 0xec, 0x0e, 0x51, 0xdd, 0xb2, 0x22, 0xc0, 0x36, 0x9a, + 0x0d, 0xb4, 0xed, 0x90, 0x89, 0xc1, 0xf6, 0xf9, 0x11, 0x7c, 0x48, 0x46, 0xed, 0xc2, 0xa0, 0x5f, + 0x31, 0x75, 0x35, 0xad, 0x87, 0x94, 0x49, 0x3e, 0x7a, 0x7e, 0x7c, 0x94, 0x6c, 0x2e, 0xe9, 0xa3, + 0xa7, 0x9f, 0x31, 0xcb, 0x34, 0x15, 0x63, 0xfa, 0xe8, 0x25, 0x30, 0x1f, 0x3d, 0x3f, 0x39, 0xc3, + 0x37, 0x97, 0xf5, 0xd1, 0x4b, 0x9d, 0xee, 0x8b, 0xd1, 0x1b, 0x36, 0xd7, 0x47, 0x6f, 0x88, 0x37, + 0x0a, 0x28, 0x07, 0x0f, 0xa6, 0xc3, 0xea, 0xcf, 0x32, 0x68, 0x2e, 0x75, 0x17, 0x82, 0xbf, 0x85, + 0xa6, 0x20, 0x2f, 0x8a, 0x22, 0x05, 0x0f, 0xfa, 0x95, 0x59, 0x4f, 0x4f, 0x8a, 0x20, 0xc7, 0xeb, + 0xa8, 0x10, 0xdf, 0x49, 0xc9, 0x4b, 0x09, 0x28, 0x50, 0x62, 0x4c, 0x2d, 0x50, 0x62, 0x0c, 0xd7, + 0x51, 0xbe, 0x27, 0x12, 0x9a, 0x2c, 0x51, 0x60, 0x2d, 0x93, 0x90, 0x9a, 0x76, 0x25, 0xa4, 0x64, + 0xcd, 0xa9, 0x63, 0xdc, 0xbb, 0x25, 0x57, 0x32, 0xd9, 0x27, 0xb9, 0x92, 0xa9, 0xbe, 0x87, 0x30, + 0x04, 0x70, 0x87, 0x05, 0xc4, 0xea, 0xc5, 0x19, 0x77, 0x15, 0x65, 0x92, 0x52, 0x6d, 0x7e, 0xd0, + 0xaf, 0x4c, 0xbb, 0x6a, 0x1d, 0x92, 0x71, 0x1d, 0xdc, 0x18, 0x7e, 0x8d, 0xc8, 0xa1, 0x0b, 0xd0, + 0xa1, 0x9a, 0xb7, 0x1f, 0xf7, 0x81, 0xd5, 0x5f, 0x67, 0xd0, 0xcc, 0x36, 0xd4, 0x6f, 0x4d, 0x51, + 0x6d, 0x1e, 0xa3, 0xdf, 0xe7, 0x50, 0xf6, 0xae, 0xc5, 0xec, 0x3d, 0xe8, 0xb5, 0x20, 0x3e, 0x0d, + 0x00, 0xf5, 0xd3, 0x00, 0xc0, 0x1b, 0x68, 0x6e, 0x37, 0xa0, 0xbd, 0x96, 0xec, 0x8e, 0xd7, 0x58, + 0x22, 0xf0, 0xb0, 0xd4, 0x71, 0x91, 0x74, 0x54, 0x2b, 0xb2, 0x66, 0x34, 0xc1, 0xb0, 0xac, 0x9c, + 0x7a, 0x6c, 0x59, 0xf9, 0x0a, 0x9a, 0x25, 0x41, 0x40, 0x83, 0xad, 0xdd, 0xeb, 0x6e, 0x18, 0x72, + 0xce, 0x66, 0xc1, 0x47, 0x98, 0x48, 0xba, 0x44, 0x51, 0x4e, 0xe9, 0x54, 0x7f, 0x67, 0xa0, 0xe9, + 0xb7, 0xb8, 0xff, 0x71, 0x4c, 0x12, 0x0f, 0x8c, 0xc7, 0x7a, 0x70, 0xb2, 0xca, 0xf9, 0x32, 0xca, + 0x43, 0x9c, 0x92, 0xf8, 0x88, 0x74, 0x15, 0xd0, 0x9e, 0xa6, 0x90, 0x13, 0xc8, 0xa5, 0x37, 0x50, + 0x16, 0x68, 0x85, 0x8b, 0x28, 0xbb, 0xc9, 0x7d, 0x9f, 0x9f, 0xc0, 0x25, 0x94, 0xdf, 0xbc, 0xe3, + 0xda, 0x8c, 0x38, 0xf3, 0x06, 0xce, 0xa3, 0xc9, 0x1b, 0x37, 0xae, 0xcf, 0x67, 0xf0, 0x22, 0x9a, + 0x7f, 0x85, 0x58, 0x4e, 0xd7, 0xf5, 0xc8, 0xe6, 0x3d, 0x91, 0x99, 0xe6, 0x27, 0xf1, 0x34, 0x2a, + 0x34, 0xc9, 0x3e, 0x81, 0xc6, 0x53, 0xeb, 0x9f, 0x1b, 0x28, 0x2b, 0xb6, 0x08, 0x04, 0xcd, 0xbd, + 0x46, 0x98, 0xe0, 0x03, 0x20, 0x21, 0xc6, 0x49, 0x12, 0x4c, 0x28, 0x52, 0x3e, 0x3b, 0xe4, 0x99, + 0xc6, 0xd9, 0xea, 0x33, 0x3f, 0xfd, 0xe4, 0xb3, 0xdf, 0x64, 0x2e, 0x56, 0xcd, 0xfa, 0x9d, 0x6f, + 0xd7, 0xf7, 0x69, 0xfb, 0x72, 0x48, 0x58, 0xfd, 0x3e, 0x04, 0xe6, 0xfd, 0xfa, 0x7d, 0xd7, 0x79, + 0xff, 0xaa, 0x71, 0xe9, 0x05, 0x03, 0x5f, 0x45, 0x59, 0x08, 0x2f, 0x16, 0x84, 0x55, 0x43, 0x7d, + 0xb4, 0xed, 0xc9, 0x0f, 0x32, 0x06, 0xe8, 0xe6, 0x5e, 0x87, 0x3f, 0x8e, 0xc0, 0xcb, 0x8f, 0xec, + 0x18, 0x36, 0x79, 0x90, 0xca, 0x62, 0xb5, 0x16, 0x8d, 0x36, 0xf6, 0x88, 0x7d, 0xd0, 0x24, 0xa1, + 0x4f, 0xbd, 0x90, 0x34, 0xde, 0xf9, 0xf4, 0x5f, 0x2b, 0x13, 0x3f, 0x79, 0xb0, 0x62, 0x7c, 0xf8, + 0x60, 0xc5, 0xf8, 0xe8, 0xc1, 0x8a, 0xf1, 0xcf, 0x07, 0x2b, 0xc6, 0x2f, 0x1f, 0xae, 0x4c, 0x7c, + 0xf4, 0x70, 0x65, 0xe2, 0xd3, 0x87, 0x2b, 0x13, 0x3f, 0x7e, 0x56, 0xf9, 0x6b, 0x0a, 0x2b, 0xe8, + 0x59, 0x8e, 0xe5, 0x07, 0x94, 0x07, 0x4a, 0xfe, 0x16, 0xff, 0x31, 0xc4, 0x5f, 0x32, 0x8b, 0xd7, + 0x00, 0xb8, 0x29, 0xc4, 0xb5, 0x2d, 0x5a, 0xbb, 0xe6, 0xbb, 0xed, 0x1c, 0xf8, 0x72, 0xe5, 0xbf, + 0x01, 0x00, 0x00, 0xff, 0xff, 0x0c, 0x6e, 0x85, 0x25, 0x1a, 0x32, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2936,14 +2932,18 @@ func (m *JobSubmittedEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { } i-- dAtA[i] = 0x2a - n2, err2 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err2 != nil { - return 0, err2 + if m.Created != nil { + { + size, err := m.Created.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 } - i -= n2 - i = encodeVarintEvent(dAtA, i, uint64(n2)) - i-- - dAtA[i] = 0x22 if len(m.Queue) > 0 { i -= len(m.Queue) copy(dAtA[i:], m.Queue) @@ -2988,14 +2988,18 @@ func (m *JobQueuedEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - n3, err3 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err3 != nil { - return 0, err3 + if m.Created != nil { + { + size, err := m.Created.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 } - i -= n3 - i = encodeVarintEvent(dAtA, i, uint64(n3)) - i-- - dAtA[i] = 0x22 if len(m.Queue) > 0 { i -= len(m.Queue) copy(dAtA[i:], m.Queue) @@ -3047,14 +3051,18 @@ func (m *JobLeasedEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x2a } - n4, err4 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err4 != nil { - return 0, err4 + if m.Created != nil { + { + size, err := m.Created.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 } - i -= n4 - i = encodeVarintEvent(dAtA, i, uint64(n4)) - i-- - dAtA[i] = 0x22 if len(m.Queue) > 0 { i -= len(m.Queue) copy(dAtA[i:], m.Queue) @@ -3135,14 +3143,18 @@ func (m *JobLeaseReturnedEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x2a } - n5, err5 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err5 != nil { - return 0, err5 + if m.Created != nil { + { + size, err := m.Created.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 } - i -= n5 - i = encodeVarintEvent(dAtA, i, uint64(n5)) - i-- - dAtA[i] = 0x22 if len(m.Queue) > 0 { i -= len(m.Queue) copy(dAtA[i:], m.Queue) @@ -3187,14 +3199,18 @@ func (m *JobLeaseExpiredEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - n6, err6 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err6 != nil { - return 0, err6 + if m.Created != nil { + { + size, err := m.Created.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 } - i -= n6 - i = encodeVarintEvent(dAtA, i, uint64(n6)) - i-- - dAtA[i] = 0x22 if len(m.Queue) > 0 { i -= len(m.Queue) copy(dAtA[i:], m.Queue) @@ -3272,14 +3288,18 @@ func (m *JobPendingEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x2a } - n7, err7 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err7 != nil { - return 0, err7 + if m.Created != nil { + { + size, err := m.Created.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 } - i -= n7 - i = encodeVarintEvent(dAtA, i, uint64(n7)) - i-- - dAtA[i] = 0x22 if len(m.Queue) > 0 { i -= len(m.Queue) copy(dAtA[i:], m.Queue) @@ -3364,14 +3384,18 @@ func (m *JobRunningEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x2a } - n8, err8 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err8 != nil { - return 0, err8 + if m.Created != nil { + { + size, err := m.Created.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 } - i -= n8 - i = encodeVarintEvent(dAtA, i, uint64(n8)) - i-- - dAtA[i] = 0x22 if len(m.Queue) > 0 { i -= len(m.Queue) copy(dAtA[i:], m.Queue) @@ -3473,14 +3497,18 @@ func (m *JobIngressInfoEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x2a } - n9, err9 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err9 != nil { - return 0, err9 + if m.Created != nil { + { + size, err := m.Created.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 } - i -= n9 - i = encodeVarintEvent(dAtA, i, uint64(n9)) - i-- - dAtA[i] = 0x22 if len(m.Queue) > 0 { i -= len(m.Queue) copy(dAtA[i:], m.Queue) @@ -3572,14 +3600,18 @@ func (m *JobUnableToScheduleEvent) MarshalToSizedBuffer(dAtA []byte) (int, error i-- dAtA[i] = 0x2a } - n10, err10 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err10 != nil { - return 0, err10 + if m.Created != nil { + { + size, err := m.Created.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 } - i -= n10 - i = encodeVarintEvent(dAtA, i, uint64(n10)) - i-- - dAtA[i] = 0x22 if len(m.Queue) > 0 { i -= len(m.Queue) copy(dAtA[i:], m.Queue) @@ -3707,14 +3739,18 @@ func (m *JobFailedEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x2a } - n11, err11 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err11 != nil { - return 0, err11 + if m.Created != nil { + { + size, err := m.Created.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 } - i -= n11 - i = encodeVarintEvent(dAtA, i, uint64(n11)) - i-- - dAtA[i] = 0x22 if len(m.Queue) > 0 { i -= len(m.Queue) copy(dAtA[i:], m.Queue) @@ -3766,14 +3802,18 @@ func (m *JobPreemptingEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x2a } - n12, err12 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err12 != nil { - return 0, err12 + if m.Created != nil { + { + size, err := m.Created.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 } - i -= n12 - i = encodeVarintEvent(dAtA, i, uint64(n12)) - i-- - dAtA[i] = 0x22 if len(m.Queue) > 0 { i -= len(m.Queue) copy(dAtA[i:], m.Queue) @@ -3846,14 +3886,18 @@ func (m *JobPreemptedEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x2a } - n13, err13 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err13 != nil { - return 0, err13 + if m.Created != nil { + { + size, err := m.Created.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 } - i -= n13 - i = encodeVarintEvent(dAtA, i, uint64(n13)) - i-- - dAtA[i] = 0x22 if len(m.Queue) > 0 { i -= len(m.Queue) copy(dAtA[i:], m.Queue) @@ -3938,14 +3982,18 @@ func (m *JobSucceededEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x2a } - n14, err14 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err14 != nil { - return 0, err14 + if m.Created != nil { + { + size, err := m.Created.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 } - i -= n14 - i = encodeVarintEvent(dAtA, i, uint64(n14)) - i-- - dAtA[i] = 0x22 if len(m.Queue) > 0 { i -= len(m.Queue) copy(dAtA[i:], m.Queue) @@ -4078,14 +4126,18 @@ func (m *JobUtilisationEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x2a } - n17, err17 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err17 != nil { - return 0, err17 + if m.Created != nil { + { + size, err := m.Created.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 } - i -= n17 - i = encodeVarintEvent(dAtA, i, uint64(n17)) - i-- - dAtA[i] = 0x22 if len(m.Queue) > 0 { i -= len(m.Queue) copy(dAtA[i:], m.Queue) @@ -4143,14 +4195,18 @@ func (m *JobReprioritizingEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) i-- dAtA[i] = 0x29 } - n18, err18 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err18 != nil { - return 0, err18 + if m.Created != nil { + { + size, err := m.Created.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 } - i -= n18 - i = encodeVarintEvent(dAtA, i, uint64(n18)) - i-- - dAtA[i] = 0x22 if len(m.Queue) > 0 { i -= len(m.Queue) copy(dAtA[i:], m.Queue) @@ -4208,14 +4264,18 @@ func (m *JobReprioritizedEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x29 } - n19, err19 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err19 != nil { - return 0, err19 + if m.Created != nil { + { + size, err := m.Created.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 } - i -= n19 - i = encodeVarintEvent(dAtA, i, uint64(n19)) - i-- - dAtA[i] = 0x22 if len(m.Queue) > 0 { i -= len(m.Queue) copy(dAtA[i:], m.Queue) @@ -4274,14 +4334,18 @@ func (m *JobCancellingEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x2a } - n20, err20 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err20 != nil { - return 0, err20 + if m.Created != nil { + { + size, err := m.Created.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 } - i -= n20 - i = encodeVarintEvent(dAtA, i, uint64(n20)) - i-- - dAtA[i] = 0x22 if len(m.Queue) > 0 { i -= len(m.Queue) copy(dAtA[i:], m.Queue) @@ -4340,14 +4404,18 @@ func (m *JobCancelledEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x2a } - n21, err21 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err21 != nil { - return 0, err21 + if m.Created != nil { + { + size, err := m.Created.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 } - i -= n21 - i = encodeVarintEvent(dAtA, i, uint64(n21)) - i-- - dAtA[i] = 0x22 if len(m.Queue) > 0 { i -= len(m.Queue) copy(dAtA[i:], m.Queue) @@ -4432,14 +4500,18 @@ func (m *JobTerminatedEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x2a } - n22, err22 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err22 != nil { - return 0, err22 + if m.Created != nil { + { + size, err := m.Created.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvent(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 } - i -= n22 - i = encodeVarintEvent(dAtA, i, uint64(n22)) - i-- - dAtA[i] = 0x22 if len(m.Queue) > 0 { i -= len(m.Queue) copy(dAtA[i:], m.Queue) @@ -5136,8 +5208,10 @@ func (m *JobSubmittedEvent) Size() (n int) { if l > 0 { n += 1 + l + sovEvent(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Created) - n += 1 + l + sovEvent(uint64(l)) + if m.Created != nil { + l = m.Created.Size() + n += 1 + l + sovEvent(uint64(l)) + } l = m.Job.Size() n += 1 + l + sovEvent(uint64(l)) return n @@ -5161,8 +5235,10 @@ func (m *JobQueuedEvent) Size() (n int) { if l > 0 { n += 1 + l + sovEvent(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Created) - n += 1 + l + sovEvent(uint64(l)) + if m.Created != nil { + l = m.Created.Size() + n += 1 + l + sovEvent(uint64(l)) + } return n } @@ -5184,8 +5260,10 @@ func (m *JobLeasedEvent) Size() (n int) { if l > 0 { n += 1 + l + sovEvent(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Created) - n += 1 + l + sovEvent(uint64(l)) + if m.Created != nil { + l = m.Created.Size() + n += 1 + l + sovEvent(uint64(l)) + } l = len(m.ClusterId) if l > 0 { n += 1 + l + sovEvent(uint64(l)) @@ -5211,8 +5289,10 @@ func (m *JobLeaseReturnedEvent) Size() (n int) { if l > 0 { n += 1 + l + sovEvent(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Created) - n += 1 + l + sovEvent(uint64(l)) + if m.Created != nil { + l = m.Created.Size() + n += 1 + l + sovEvent(uint64(l)) + } l = len(m.ClusterId) if l > 0 { n += 1 + l + sovEvent(uint64(l)) @@ -5252,8 +5332,10 @@ func (m *JobLeaseExpiredEvent) Size() (n int) { if l > 0 { n += 1 + l + sovEvent(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Created) - n += 1 + l + sovEvent(uint64(l)) + if m.Created != nil { + l = m.Created.Size() + n += 1 + l + sovEvent(uint64(l)) + } return n } @@ -5275,8 +5357,10 @@ func (m *JobPendingEvent) Size() (n int) { if l > 0 { n += 1 + l + sovEvent(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Created) - n += 1 + l + sovEvent(uint64(l)) + if m.Created != nil { + l = m.Created.Size() + n += 1 + l + sovEvent(uint64(l)) + } l = len(m.ClusterId) if l > 0 { n += 1 + l + sovEvent(uint64(l)) @@ -5317,8 +5401,10 @@ func (m *JobRunningEvent) Size() (n int) { if l > 0 { n += 1 + l + sovEvent(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Created) - n += 1 + l + sovEvent(uint64(l)) + if m.Created != nil { + l = m.Created.Size() + n += 1 + l + sovEvent(uint64(l)) + } l = len(m.ClusterId) if l > 0 { n += 1 + l + sovEvent(uint64(l)) @@ -5363,8 +5449,10 @@ func (m *JobIngressInfoEvent) Size() (n int) { if l > 0 { n += 1 + l + sovEvent(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Created) - n += 1 + l + sovEvent(uint64(l)) + if m.Created != nil { + l = m.Created.Size() + n += 1 + l + sovEvent(uint64(l)) + } l = len(m.ClusterId) if l > 0 { n += 1 + l + sovEvent(uint64(l)) @@ -5417,8 +5505,10 @@ func (m *JobUnableToScheduleEvent) Size() (n int) { if l > 0 { n += 1 + l + sovEvent(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Created) - n += 1 + l + sovEvent(uint64(l)) + if m.Created != nil { + l = m.Created.Size() + n += 1 + l + sovEvent(uint64(l)) + } l = len(m.ClusterId) if l > 0 { n += 1 + l + sovEvent(uint64(l)) @@ -5467,8 +5557,10 @@ func (m *JobFailedEvent) Size() (n int) { if l > 0 { n += 1 + l + sovEvent(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Created) - n += 1 + l + sovEvent(uint64(l)) + if m.Created != nil { + l = m.Created.Size() + n += 1 + l + sovEvent(uint64(l)) + } l = len(m.ClusterId) if l > 0 { n += 1 + l + sovEvent(uint64(l)) @@ -5534,8 +5626,10 @@ func (m *JobPreemptingEvent) Size() (n int) { if l > 0 { n += 1 + l + sovEvent(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Created) - n += 1 + l + sovEvent(uint64(l)) + if m.Created != nil { + l = m.Created.Size() + n += 1 + l + sovEvent(uint64(l)) + } l = len(m.Requestor) if l > 0 { n += 1 + l + sovEvent(uint64(l)) @@ -5561,8 +5655,10 @@ func (m *JobPreemptedEvent) Size() (n int) { if l > 0 { n += 1 + l + sovEvent(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Created) - n += 1 + l + sovEvent(uint64(l)) + if m.Created != nil { + l = m.Created.Size() + n += 1 + l + sovEvent(uint64(l)) + } l = len(m.ClusterId) if l > 0 { n += 1 + l + sovEvent(uint64(l)) @@ -5600,8 +5696,10 @@ func (m *JobSucceededEvent) Size() (n int) { if l > 0 { n += 1 + l + sovEvent(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Created) - n += 1 + l + sovEvent(uint64(l)) + if m.Created != nil { + l = m.Created.Size() + n += 1 + l + sovEvent(uint64(l)) + } l = len(m.ClusterId) if l > 0 { n += 1 + l + sovEvent(uint64(l)) @@ -5646,8 +5744,10 @@ func (m *JobUtilisationEvent) Size() (n int) { if l > 0 { n += 1 + l + sovEvent(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Created) - n += 1 + l + sovEvent(uint64(l)) + if m.Created != nil { + l = m.Created.Size() + n += 1 + l + sovEvent(uint64(l)) + } l = len(m.ClusterId) if l > 0 { n += 1 + l + sovEvent(uint64(l)) @@ -5710,8 +5810,10 @@ func (m *JobReprioritizingEvent) Size() (n int) { if l > 0 { n += 1 + l + sovEvent(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Created) - n += 1 + l + sovEvent(uint64(l)) + if m.Created != nil { + l = m.Created.Size() + n += 1 + l + sovEvent(uint64(l)) + } if m.NewPriority != 0 { n += 9 } @@ -5740,8 +5842,10 @@ func (m *JobReprioritizedEvent) Size() (n int) { if l > 0 { n += 1 + l + sovEvent(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Created) - n += 1 + l + sovEvent(uint64(l)) + if m.Created != nil { + l = m.Created.Size() + n += 1 + l + sovEvent(uint64(l)) + } if m.NewPriority != 0 { n += 9 } @@ -5770,8 +5874,10 @@ func (m *JobCancellingEvent) Size() (n int) { if l > 0 { n += 1 + l + sovEvent(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Created) - n += 1 + l + sovEvent(uint64(l)) + if m.Created != nil { + l = m.Created.Size() + n += 1 + l + sovEvent(uint64(l)) + } l = len(m.Requestor) if l > 0 { n += 1 + l + sovEvent(uint64(l)) @@ -5801,8 +5907,10 @@ func (m *JobCancelledEvent) Size() (n int) { if l > 0 { n += 1 + l + sovEvent(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Created) - n += 1 + l + sovEvent(uint64(l)) + if m.Created != nil { + l = m.Created.Size() + n += 1 + l + sovEvent(uint64(l)) + } l = len(m.Requestor) if l > 0 { n += 1 + l + sovEvent(uint64(l)) @@ -5832,8 +5940,10 @@ func (m *JobTerminatedEvent) Size() (n int) { if l > 0 { n += 1 + l + sovEvent(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Created) - n += 1 + l + sovEvent(uint64(l)) + if m.Created != nil { + l = m.Created.Size() + n += 1 + l + sovEvent(uint64(l)) + } l = len(m.ClusterId) if l > 0 { n += 1 + l + sovEvent(uint64(l)) @@ -6206,7 +6316,7 @@ func (this *JobSubmittedEvent) String() string { `JobId:` + fmt.Sprintf("%v", this.JobId) + `,`, `JobSetId:` + fmt.Sprintf("%v", this.JobSetId) + `,`, `Queue:` + fmt.Sprintf("%v", this.Queue) + `,`, - `Created:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `Created:` + strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1) + `,`, `Job:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Job), "Job", "Job", 1), `&`, ``, 1) + `,`, `}`, }, "") @@ -6220,7 +6330,7 @@ func (this *JobQueuedEvent) String() string { `JobId:` + fmt.Sprintf("%v", this.JobId) + `,`, `JobSetId:` + fmt.Sprintf("%v", this.JobSetId) + `,`, `Queue:` + fmt.Sprintf("%v", this.Queue) + `,`, - `Created:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `Created:` + strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1) + `,`, `}`, }, "") return s @@ -6233,7 +6343,7 @@ func (this *JobLeasedEvent) String() string { `JobId:` + fmt.Sprintf("%v", this.JobId) + `,`, `JobSetId:` + fmt.Sprintf("%v", this.JobSetId) + `,`, `Queue:` + fmt.Sprintf("%v", this.Queue) + `,`, - `Created:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `Created:` + strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1) + `,`, `ClusterId:` + fmt.Sprintf("%v", this.ClusterId) + `,`, `}`, }, "") @@ -6247,7 +6357,7 @@ func (this *JobLeaseReturnedEvent) String() string { `JobId:` + fmt.Sprintf("%v", this.JobId) + `,`, `JobSetId:` + fmt.Sprintf("%v", this.JobSetId) + `,`, `Queue:` + fmt.Sprintf("%v", this.Queue) + `,`, - `Created:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `Created:` + strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1) + `,`, `ClusterId:` + fmt.Sprintf("%v", this.ClusterId) + `,`, `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, `KubernetesId:` + fmt.Sprintf("%v", this.KubernetesId) + `,`, @@ -6265,7 +6375,7 @@ func (this *JobLeaseExpiredEvent) String() string { `JobId:` + fmt.Sprintf("%v", this.JobId) + `,`, `JobSetId:` + fmt.Sprintf("%v", this.JobSetId) + `,`, `Queue:` + fmt.Sprintf("%v", this.Queue) + `,`, - `Created:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `Created:` + strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1) + `,`, `}`, }, "") return s @@ -6278,7 +6388,7 @@ func (this *JobPendingEvent) String() string { `JobId:` + fmt.Sprintf("%v", this.JobId) + `,`, `JobSetId:` + fmt.Sprintf("%v", this.JobSetId) + `,`, `Queue:` + fmt.Sprintf("%v", this.Queue) + `,`, - `Created:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `Created:` + strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1) + `,`, `ClusterId:` + fmt.Sprintf("%v", this.ClusterId) + `,`, `KubernetesId:` + fmt.Sprintf("%v", this.KubernetesId) + `,`, `PodNumber:` + fmt.Sprintf("%v", this.PodNumber) + `,`, @@ -6296,7 +6406,7 @@ func (this *JobRunningEvent) String() string { `JobId:` + fmt.Sprintf("%v", this.JobId) + `,`, `JobSetId:` + fmt.Sprintf("%v", this.JobSetId) + `,`, `Queue:` + fmt.Sprintf("%v", this.Queue) + `,`, - `Created:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `Created:` + strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1) + `,`, `ClusterId:` + fmt.Sprintf("%v", this.ClusterId) + `,`, `KubernetesId:` + fmt.Sprintf("%v", this.KubernetesId) + `,`, `NodeName:` + fmt.Sprintf("%v", this.NodeName) + `,`, @@ -6325,7 +6435,7 @@ func (this *JobIngressInfoEvent) String() string { `JobId:` + fmt.Sprintf("%v", this.JobId) + `,`, `JobSetId:` + fmt.Sprintf("%v", this.JobSetId) + `,`, `Queue:` + fmt.Sprintf("%v", this.Queue) + `,`, - `Created:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `Created:` + strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1) + `,`, `ClusterId:` + fmt.Sprintf("%v", this.ClusterId) + `,`, `KubernetesId:` + fmt.Sprintf("%v", this.KubernetesId) + `,`, `NodeName:` + fmt.Sprintf("%v", this.NodeName) + `,`, @@ -6345,7 +6455,7 @@ func (this *JobUnableToScheduleEvent) String() string { `JobId:` + fmt.Sprintf("%v", this.JobId) + `,`, `JobSetId:` + fmt.Sprintf("%v", this.JobSetId) + `,`, `Queue:` + fmt.Sprintf("%v", this.Queue) + `,`, - `Created:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `Created:` + strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1) + `,`, `ClusterId:` + fmt.Sprintf("%v", this.ClusterId) + `,`, `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, `KubernetesId:` + fmt.Sprintf("%v", this.KubernetesId) + `,`, @@ -6380,7 +6490,7 @@ func (this *JobFailedEvent) String() string { `JobId:` + fmt.Sprintf("%v", this.JobId) + `,`, `JobSetId:` + fmt.Sprintf("%v", this.JobSetId) + `,`, `Queue:` + fmt.Sprintf("%v", this.Queue) + `,`, - `Created:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `Created:` + strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1) + `,`, `ClusterId:` + fmt.Sprintf("%v", this.ClusterId) + `,`, `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, `ExitCodes:` + mapStringForExitCodes + `,`, @@ -6403,7 +6513,7 @@ func (this *JobPreemptingEvent) String() string { `JobId:` + fmt.Sprintf("%v", this.JobId) + `,`, `JobSetId:` + fmt.Sprintf("%v", this.JobSetId) + `,`, `Queue:` + fmt.Sprintf("%v", this.Queue) + `,`, - `Created:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `Created:` + strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1) + `,`, `Requestor:` + fmt.Sprintf("%v", this.Requestor) + `,`, `}`, }, "") @@ -6417,7 +6527,7 @@ func (this *JobPreemptedEvent) String() string { `JobId:` + fmt.Sprintf("%v", this.JobId) + `,`, `JobSetId:` + fmt.Sprintf("%v", this.JobSetId) + `,`, `Queue:` + fmt.Sprintf("%v", this.Queue) + `,`, - `Created:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `Created:` + strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1) + `,`, `ClusterId:` + fmt.Sprintf("%v", this.ClusterId) + `,`, `RunId:` + fmt.Sprintf("%v", this.RunId) + `,`, `PreemptiveJobId:` + fmt.Sprintf("%v", this.PreemptiveJobId) + `,`, @@ -6434,7 +6544,7 @@ func (this *JobSucceededEvent) String() string { `JobId:` + fmt.Sprintf("%v", this.JobId) + `,`, `JobSetId:` + fmt.Sprintf("%v", this.JobSetId) + `,`, `Queue:` + fmt.Sprintf("%v", this.Queue) + `,`, - `Created:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `Created:` + strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1) + `,`, `ClusterId:` + fmt.Sprintf("%v", this.ClusterId) + `,`, `KubernetesId:` + fmt.Sprintf("%v", this.KubernetesId) + `,`, `NodeName:` + fmt.Sprintf("%v", this.NodeName) + `,`, @@ -6473,7 +6583,7 @@ func (this *JobUtilisationEvent) String() string { `JobId:` + fmt.Sprintf("%v", this.JobId) + `,`, `JobSetId:` + fmt.Sprintf("%v", this.JobSetId) + `,`, `Queue:` + fmt.Sprintf("%v", this.Queue) + `,`, - `Created:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `Created:` + strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1) + `,`, `ClusterId:` + fmt.Sprintf("%v", this.ClusterId) + `,`, `KubernetesId:` + fmt.Sprintf("%v", this.KubernetesId) + `,`, `MaxResourcesForPeriod:` + mapStringForMaxResourcesForPeriod + `,`, @@ -6494,7 +6604,7 @@ func (this *JobReprioritizingEvent) String() string { `JobId:` + fmt.Sprintf("%v", this.JobId) + `,`, `JobSetId:` + fmt.Sprintf("%v", this.JobSetId) + `,`, `Queue:` + fmt.Sprintf("%v", this.Queue) + `,`, - `Created:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `Created:` + strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1) + `,`, `NewPriority:` + fmt.Sprintf("%v", this.NewPriority) + `,`, `Requestor:` + fmt.Sprintf("%v", this.Requestor) + `,`, `}`, @@ -6509,7 +6619,7 @@ func (this *JobReprioritizedEvent) String() string { `JobId:` + fmt.Sprintf("%v", this.JobId) + `,`, `JobSetId:` + fmt.Sprintf("%v", this.JobSetId) + `,`, `Queue:` + fmt.Sprintf("%v", this.Queue) + `,`, - `Created:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `Created:` + strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1) + `,`, `NewPriority:` + fmt.Sprintf("%v", this.NewPriority) + `,`, `Requestor:` + fmt.Sprintf("%v", this.Requestor) + `,`, `}`, @@ -6524,7 +6634,7 @@ func (this *JobCancellingEvent) String() string { `JobId:` + fmt.Sprintf("%v", this.JobId) + `,`, `JobSetId:` + fmt.Sprintf("%v", this.JobSetId) + `,`, `Queue:` + fmt.Sprintf("%v", this.Queue) + `,`, - `Created:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `Created:` + strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1) + `,`, `Requestor:` + fmt.Sprintf("%v", this.Requestor) + `,`, `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, `}`, @@ -6539,7 +6649,7 @@ func (this *JobCancelledEvent) String() string { `JobId:` + fmt.Sprintf("%v", this.JobId) + `,`, `JobSetId:` + fmt.Sprintf("%v", this.JobSetId) + `,`, `Queue:` + fmt.Sprintf("%v", this.Queue) + `,`, - `Created:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `Created:` + strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1) + `,`, `Requestor:` + fmt.Sprintf("%v", this.Requestor) + `,`, `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, `}`, @@ -6554,7 +6664,7 @@ func (this *JobTerminatedEvent) String() string { `JobId:` + fmt.Sprintf("%v", this.JobId) + `,`, `JobSetId:` + fmt.Sprintf("%v", this.JobSetId) + `,`, `Queue:` + fmt.Sprintf("%v", this.Queue) + `,`, - `Created:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `Created:` + strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1) + `,`, `ClusterId:` + fmt.Sprintf("%v", this.ClusterId) + `,`, `KubernetesId:` + fmt.Sprintf("%v", this.KubernetesId) + `,`, `PodNumber:` + fmt.Sprintf("%v", this.PodNumber) + `,`, @@ -6978,7 +7088,10 @@ func (m *JobSubmittedEvent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Created, dAtA[iNdEx:postIndex]); err != nil { + if m.Created == nil { + m.Created = &types.Timestamp{} + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -7190,7 +7303,10 @@ func (m *JobQueuedEvent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Created, dAtA[iNdEx:postIndex]); err != nil { + if m.Created == nil { + m.Created = &types.Timestamp{} + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -7369,7 +7485,10 @@ func (m *JobLeasedEvent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Created, dAtA[iNdEx:postIndex]); err != nil { + if m.Created == nil { + m.Created = &types.Timestamp{} + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -7580,7 +7699,10 @@ func (m *JobLeaseReturnedEvent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Created, dAtA[iNdEx:postIndex]); err != nil { + if m.Created == nil { + m.Created = &types.Timestamp{} + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -7894,7 +8016,10 @@ func (m *JobLeaseExpiredEvent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Created, dAtA[iNdEx:postIndex]); err != nil { + if m.Created == nil { + m.Created = &types.Timestamp{} + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -8073,7 +8198,10 @@ func (m *JobPendingEvent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Created, dAtA[iNdEx:postIndex]); err != nil { + if m.Created == nil { + m.Created = &types.Timestamp{} + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -8399,7 +8527,10 @@ func (m *JobRunningEvent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Created, dAtA[iNdEx:postIndex]); err != nil { + if m.Created == nil { + m.Created = &types.Timestamp{} + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -8757,7 +8888,10 @@ func (m *JobIngressInfoEvent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Created, dAtA[iNdEx:postIndex]); err != nil { + if m.Created == nil { + m.Created = &types.Timestamp{} + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -9228,7 +9362,10 @@ func (m *JobUnableToScheduleEvent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Created, dAtA[iNdEx:postIndex]); err != nil { + if m.Created == nil { + m.Created = &types.Timestamp{} + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -9618,7 +9755,10 @@ func (m *JobFailedEvent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Created, dAtA[iNdEx:postIndex]); err != nil { + if m.Created == nil { + m.Created = &types.Timestamp{} + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -10174,7 +10314,10 @@ func (m *JobPreemptingEvent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Created, dAtA[iNdEx:postIndex]); err != nil { + if m.Created == nil { + m.Created = &types.Timestamp{} + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -10385,7 +10528,10 @@ func (m *JobPreemptedEvent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Created, dAtA[iNdEx:postIndex]); err != nil { + if m.Created == nil { + m.Created = &types.Timestamp{} + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -10692,7 +10838,10 @@ func (m *JobSucceededEvent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Created, dAtA[iNdEx:postIndex]); err != nil { + if m.Created == nil { + m.Created = &types.Timestamp{} + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -11050,7 +11199,10 @@ func (m *JobUtilisationEvent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Created, dAtA[iNdEx:postIndex]); err != nil { + if m.Created == nil { + m.Created = &types.Timestamp{} + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -11666,7 +11818,10 @@ func (m *JobReprioritizingEvent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Created, dAtA[iNdEx:postIndex]); err != nil { + if m.Created == nil { + m.Created = &types.Timestamp{} + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -11888,7 +12043,10 @@ func (m *JobReprioritizedEvent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Created, dAtA[iNdEx:postIndex]); err != nil { + if m.Created == nil { + m.Created = &types.Timestamp{} + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -12110,7 +12268,10 @@ func (m *JobCancellingEvent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Created, dAtA[iNdEx:postIndex]); err != nil { + if m.Created == nil { + m.Created = &types.Timestamp{} + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -12353,7 +12514,10 @@ func (m *JobCancelledEvent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Created, dAtA[iNdEx:postIndex]); err != nil { + if m.Created == nil { + m.Created = &types.Timestamp{} + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -12596,7 +12760,10 @@ func (m *JobTerminatedEvent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Created, dAtA[iNdEx:postIndex]); err != nil { + if m.Created == nil { + m.Created = &types.Timestamp{} + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex diff --git a/pkg/api/event.proto b/pkg/api/event.proto index 908c7fa26cb..4637285c4f9 100644 --- a/pkg/api/event.proto +++ b/pkg/api/event.proto @@ -19,7 +19,7 @@ message JobSubmittedEvent { string job_id = 1; string job_set_id = 2; string queue = 3; - google.protobuf.Timestamp created = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + google.protobuf.Timestamp created = 4; Job job = 5 [(gogoproto.nullable) = false]; } @@ -27,14 +27,14 @@ message JobQueuedEvent { string job_id = 1; string job_set_id = 2; string queue = 3; - google.protobuf.Timestamp created = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + google.protobuf.Timestamp created = 4; } message JobLeasedEvent { string job_id = 1; string job_set_id = 2; string queue = 3; - google.protobuf.Timestamp created = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + google.protobuf.Timestamp created = 4; string cluster_id = 5; } @@ -42,7 +42,7 @@ message JobLeaseReturnedEvent { string job_id = 1; string job_set_id = 2; string queue = 3; - google.protobuf.Timestamp created = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + google.protobuf.Timestamp created = 4; string cluster_id = 5; string reason = 6; string kubernetes_id = 7; @@ -54,14 +54,14 @@ message JobLeaseExpiredEvent { string job_id = 1; string job_set_id = 2; string queue = 3; - google.protobuf.Timestamp created = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + google.protobuf.Timestamp created = 4; } message JobPendingEvent { string job_id = 1; string job_set_id = 2; string queue = 3; - google.protobuf.Timestamp created = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + google.protobuf.Timestamp created = 4; string cluster_id = 5; string kubernetes_id = 6; int32 pod_number = 7; @@ -73,7 +73,7 @@ message JobRunningEvent { string job_id = 1; string job_set_id = 2; string queue = 3; - google.protobuf.Timestamp created = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + google.protobuf.Timestamp created = 4; string cluster_id = 5; string kubernetes_id = 6; string node_name = 7; @@ -86,7 +86,7 @@ message JobIngressInfoEvent { string job_id = 1; string job_set_id = 2; string queue = 3; - google.protobuf.Timestamp created = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + google.protobuf.Timestamp created = 4; string cluster_id = 5; string kubernetes_id = 6; string node_name = 7; @@ -100,7 +100,7 @@ message JobUnableToScheduleEvent { string job_id = 1; string job_set_id = 2; string queue = 3; - google.protobuf.Timestamp created = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + google.protobuf.Timestamp created = 4; string cluster_id = 5; string reason = 6; string kubernetes_id = 7; @@ -114,7 +114,7 @@ message JobFailedEvent { string job_id = 1; string job_set_id = 2; string queue = 3; - google.protobuf.Timestamp created = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + google.protobuf.Timestamp created = 4; string cluster_id = 5; string reason = 6; map exit_codes = 7 [deprecated = true]; @@ -131,7 +131,7 @@ message JobPreemptingEvent { string job_id = 1; string job_set_id = 2; string queue = 3; - google.protobuf.Timestamp created = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + google.protobuf.Timestamp created = 4; string requestor = 5; } @@ -139,7 +139,7 @@ message JobPreemptedEvent { string job_id = 1; string job_set_id = 2; string queue = 3; - google.protobuf.Timestamp created = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + google.protobuf.Timestamp created = 4; string cluster_id = 5; string run_id = 6; string preemptive_job_id = 7; @@ -150,7 +150,7 @@ message JobSucceededEvent { string job_id = 1; string job_set_id = 2; string queue = 3; - google.protobuf.Timestamp created = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + google.protobuf.Timestamp created = 4; string cluster_id = 5; string kubernetes_id = 6; string node_name = 7; @@ -163,7 +163,7 @@ message JobUtilisationEvent { string job_id = 1; string job_set_id = 2; string queue = 3; - google.protobuf.Timestamp created = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + google.protobuf.Timestamp created = 4; string cluster_id = 5; string kubernetes_id = 6; map MaxResourcesForPeriod = 7 [(gogoproto.nullable) = false]; @@ -178,7 +178,7 @@ message JobReprioritizingEvent { string job_id = 1; string job_set_id = 2; string queue = 3; - google.protobuf.Timestamp created = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + google.protobuf.Timestamp created = 4; double new_priority = 5; string requestor = 6; } @@ -187,7 +187,7 @@ message JobReprioritizedEvent { string job_id = 1; string job_set_id = 2; string queue = 3; - google.protobuf.Timestamp created = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + google.protobuf.Timestamp created = 4; double new_priority = 5; string requestor = 6; } @@ -196,7 +196,7 @@ message JobCancellingEvent { string job_id = 1; string job_set_id = 2; string queue = 3; - google.protobuf.Timestamp created = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + google.protobuf.Timestamp created = 4; string requestor = 5; string reason = 6; } @@ -205,7 +205,7 @@ message JobCancelledEvent { string job_id = 1; string job_set_id = 2; string queue = 3; - google.protobuf.Timestamp created = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + google.protobuf.Timestamp created = 4; string requestor = 5; string reason = 6; } @@ -214,7 +214,7 @@ message JobTerminatedEvent { string job_id = 1; string job_set_id = 2; string queue = 3; - google.protobuf.Timestamp created = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + google.protobuf.Timestamp created = 4; string cluster_id = 5; string kubernetes_id = 6; int32 pod_number = 7; diff --git a/pkg/api/event_util.go b/pkg/api/event_util.go index fabf707ed99..d66913e86ca 100644 --- a/pkg/api/event_util.go +++ b/pkg/api/event_util.go @@ -3,8 +3,8 @@ package api import ( "encoding/json" "reflect" - "time" + "github.com/gogo/protobuf/types" "github.com/pkg/errors" ) @@ -12,7 +12,7 @@ type Event interface { GetJobId() string GetJobSetId() string GetQueue() string - GetCreated() time.Time + GetCreated() *types.Timestamp } type KubernetesEvent interface { diff --git a/pkg/api/job.pb.go b/pkg/api/job.pb.go index 8774b995235..6867c6383db 100644 --- a/pkg/api/job.pb.go +++ b/pkg/api/job.pb.go @@ -11,13 +11,11 @@ import ( math_bits "math/bits" reflect "reflect" strings "strings" - time "time" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" - _ "github.com/gogo/protobuf/types" - github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" + types "github.com/gogo/protobuf/types" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" @@ -28,7 +26,6 @@ import ( var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf -var _ = time.Kitchen // This is a compile-time assertion to ensure that this generated file // is compatible with the proto package it is being compiled against. @@ -86,15 +83,15 @@ func (JobRunState) EnumDescriptor() ([]byte, []int) { } type JobRunDetails struct { - RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"runId,omitempty"` - JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` - State JobRunState `protobuf:"varint,3,opt,name=state,proto3,enum=api.JobRunState" json:"state,omitempty"` - Cluster string `protobuf:"bytes,4,opt,name=cluster,proto3" json:"cluster,omitempty"` - Node string `protobuf:"bytes,5,opt,name=node,proto3" json:"node,omitempty"` - LeasedTs *time.Time `protobuf:"bytes,7,opt,name=leased_ts,json=leasedTs,proto3,stdtime" json:"leasedTs,omitempty"` - PendingTs *time.Time `protobuf:"bytes,8,opt,name=pending_ts,json=pendingTs,proto3,stdtime" json:"pendingTs,omitempty"` - StartedTs *time.Time `protobuf:"bytes,9,opt,name=started_ts,json=startedTs,proto3,stdtime" json:"startedTs,omitempty"` - FinishedTs *time.Time `protobuf:"bytes,10,opt,name=finished_ts,json=finishedTs,proto3,stdtime" json:"finishedTs,omitempty"` + RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"runId,omitempty"` + JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"jobId,omitempty"` + State JobRunState `protobuf:"varint,3,opt,name=state,proto3,enum=api.JobRunState" json:"state,omitempty"` + Cluster string `protobuf:"bytes,4,opt,name=cluster,proto3" json:"cluster,omitempty"` + Node string `protobuf:"bytes,5,opt,name=node,proto3" json:"node,omitempty"` + LeasedTs *types.Timestamp `protobuf:"bytes,7,opt,name=leased_ts,json=leasedTs,proto3" json:"leasedTs,omitempty"` + PendingTs *types.Timestamp `protobuf:"bytes,8,opt,name=pending_ts,json=pendingTs,proto3" json:"pendingTs,omitempty"` + StartedTs *types.Timestamp `protobuf:"bytes,9,opt,name=started_ts,json=startedTs,proto3" json:"startedTs,omitempty"` + FinishedTs *types.Timestamp `protobuf:"bytes,10,opt,name=finished_ts,json=finishedTs,proto3" json:"finishedTs,omitempty"` } func (m *JobRunDetails) Reset() { *m = JobRunDetails{} } @@ -164,28 +161,28 @@ func (m *JobRunDetails) GetNode() string { return "" } -func (m *JobRunDetails) GetLeasedTs() *time.Time { +func (m *JobRunDetails) GetLeasedTs() *types.Timestamp { if m != nil { return m.LeasedTs } return nil } -func (m *JobRunDetails) GetPendingTs() *time.Time { +func (m *JobRunDetails) GetPendingTs() *types.Timestamp { if m != nil { return m.PendingTs } return nil } -func (m *JobRunDetails) GetStartedTs() *time.Time { +func (m *JobRunDetails) GetStartedTs() *types.Timestamp { if m != nil { return m.StartedTs } return nil } -func (m *JobRunDetails) GetFinishedTs() *time.Time { +func (m *JobRunDetails) GetFinishedTs() *types.Timestamp { if m != nil { return m.FinishedTs } @@ -198,10 +195,10 @@ type JobDetails struct { Jobset string `protobuf:"bytes,3,opt,name=jobset,proto3" json:"jobset,omitempty"` Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"` State JobState `protobuf:"varint,5,opt,name=state,proto3,enum=api.JobState" json:"state,omitempty"` - SubmittedTs *time.Time `protobuf:"bytes,6,opt,name=submitted_ts,json=submittedTs,proto3,stdtime" json:"submittedTs,omitempty"` - CancelTs *time.Time `protobuf:"bytes,7,opt,name=cancel_ts,json=cancelTs,proto3,stdtime" json:"cancelTs,omitempty"` + SubmittedTs *types.Timestamp `protobuf:"bytes,6,opt,name=submitted_ts,json=submittedTs,proto3" json:"submittedTs,omitempty"` + CancelTs *types.Timestamp `protobuf:"bytes,7,opt,name=cancel_ts,json=cancelTs,proto3" json:"cancelTs,omitempty"` CancelReason string `protobuf:"bytes,8,opt,name=cancel_reason,json=cancelReason,proto3" json:"cancelReason,omitempty"` - LastTransitionTs *time.Time `protobuf:"bytes,9,opt,name=last_transition_ts,json=lastTransitionTs,proto3,stdtime" json:"lastTransitionTs,omitempty"` + LastTransitionTs *types.Timestamp `protobuf:"bytes,9,opt,name=last_transition_ts,json=lastTransitionTs,proto3" json:"lastTransitionTs,omitempty"` LatestRunId string `protobuf:"bytes,10,opt,name=latest_run_id,json=latestRunId,proto3" json:"latestRunId,omitempty"` JobSpec *Job `protobuf:"bytes,11,opt,name=job_spec,json=jobSpec,proto3" json:"jobSpec,omitempty"` JobRuns []*JobRunDetails `protobuf:"bytes,12,rep,name=job_runs,json=jobRuns,proto3" json:"jobRuns,omitempty"` @@ -274,14 +271,14 @@ func (m *JobDetails) GetState() JobState { return JobState_QUEUED } -func (m *JobDetails) GetSubmittedTs() *time.Time { +func (m *JobDetails) GetSubmittedTs() *types.Timestamp { if m != nil { return m.SubmittedTs } return nil } -func (m *JobDetails) GetCancelTs() *time.Time { +func (m *JobDetails) GetCancelTs() *types.Timestamp { if m != nil { return m.CancelTs } @@ -295,7 +292,7 @@ func (m *JobDetails) GetCancelReason() string { return "" } -func (m *JobDetails) GetLastTransitionTs() *time.Time { +func (m *JobDetails) GetLastTransitionTs() *types.Timestamp { if m != nil { return m.LastTransitionTs } @@ -615,87 +612,87 @@ func init() { func init() { proto.RegisterFile("pkg/api/job.proto", fileDescriptor_e45f6b75bfad87a4) } var fileDescriptor_e45f6b75bfad87a4 = []byte{ - // 1274 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x51, 0x6f, 0xdb, 0xd4, - 0x17, 0xaf, 0xd3, 0xa6, 0x4d, 0x4e, 0x9a, 0xd6, 0xbd, 0x6d, 0xd7, 0x34, 0xdb, 0x92, 0xca, 0x7f, - 0xfd, 0x59, 0x99, 0xb6, 0x44, 0x14, 0x21, 0x4d, 0x45, 0x13, 0xb4, 0x8d, 0x99, 0x52, 0x46, 0xa8, - 0x9c, 0x14, 0x06, 0x1a, 0x8a, 0xec, 0xe4, 0x2e, 0x73, 0x96, 0xd8, 0x9e, 0xef, 0xf5, 0x44, 0x25, - 0x1e, 0x10, 0x12, 0x0f, 0xbc, 0x4d, 0xe2, 0x33, 0xec, 0xbb, 0xc0, 0xdb, 0x24, 0x5e, 0xf6, 0x42, - 0x80, 0x0e, 0x09, 0x29, 0x4f, 0x7c, 0x04, 0xe4, 0x7b, 0x6d, 0xe7, 0xda, 0xe9, 0x94, 0xc2, 0x5b, - 0xfc, 0x3b, 0xe7, 0xfc, 0xee, 0x3d, 0xe7, 0xfc, 0xce, 0xb1, 0x03, 0x6b, 0xce, 0x93, 0x5e, 0x55, - 0x77, 0xcc, 0x6a, 0xdf, 0x36, 0x2a, 0x8e, 0x6b, 0x53, 0x1b, 0xcd, 0xeb, 0x8e, 0x59, 0xbc, 0xdd, - 0x33, 0xe9, 0x63, 0xcf, 0xa8, 0x74, 0xec, 0x61, 0xb5, 0x67, 0xf7, 0xec, 0x2a, 0xb3, 0x19, 0xde, - 0x23, 0xf6, 0xc4, 0x1e, 0xd8, 0x2f, 0x1e, 0x53, 0xdc, 0x08, 0x69, 0x88, 0x67, 0x0c, 0x4d, 0x1a, - 0xa0, 0xe5, 0x9e, 0x6d, 0xf7, 0x06, 0x78, 0x12, 0x4b, 0xcd, 0x21, 0x26, 0x54, 0x1f, 0x3a, 0x81, - 0xc3, 0xb5, 0xc0, 0xc1, 0x8f, 0xd4, 0x2d, 0xcb, 0xa6, 0x3a, 0x35, 0x6d, 0x8b, 0x70, 0xab, 0xf2, - 0xeb, 0x02, 0xe4, 0x8f, 0x6d, 0x43, 0xf3, 0xac, 0x1a, 0xa6, 0xba, 0x39, 0x20, 0xe8, 0x26, 0x2c, - 0xba, 0x9e, 0xd5, 0x36, 0xbb, 0x05, 0x69, 0x47, 0xda, 0xcd, 0x1e, 0xae, 0x8f, 0x47, 0xe5, 0x55, - 0xd7, 0xb3, 0xea, 0xdd, 0x5b, 0xf6, 0xd0, 0xa4, 0x78, 0xe8, 0xd0, 0x33, 0x2d, 0xcd, 0x00, 0xdf, - 0xb7, 0x6f, 0x1b, 0xbe, 0x6f, 0x6a, 0xe2, 0xdb, 0xb7, 0x8d, 0xb8, 0x2f, 0x03, 0xd0, 0xfb, 0x90, - 0x26, 0x54, 0xa7, 0xb8, 0x30, 0xbf, 0x23, 0xed, 0xae, 0xec, 0xc9, 0x15, 0xdd, 0x31, 0x2b, 0xfc, - 0xe8, 0xa6, 0x8f, 0xf3, 0x60, 0xe6, 0x22, 0x06, 0x33, 0x00, 0x55, 0x61, 0xa9, 0x33, 0xf0, 0x08, - 0xc5, 0x6e, 0x61, 0x81, 0x9d, 0xb4, 0x39, 0x1e, 0x95, 0xd7, 0x02, 0x48, 0x70, 0x0f, 0xbd, 0xd0, - 0x5b, 0xb0, 0x60, 0xd9, 0x5d, 0x5c, 0x48, 0x33, 0x6f, 0x34, 0x1e, 0x95, 0x57, 0xfc, 0x67, 0xc1, - 0x95, 0xd9, 0x51, 0x13, 0xb2, 0x03, 0xac, 0x13, 0xdc, 0x6d, 0x53, 0x52, 0x58, 0xda, 0x91, 0x76, - 0x73, 0x7b, 0xc5, 0x0a, 0xaf, 0x58, 0x25, 0x2c, 0x69, 0xa5, 0x15, 0x96, 0xf4, 0xb0, 0x38, 0x1e, - 0x95, 0x11, 0x0f, 0x68, 0x91, 0x09, 0xd9, 0xf3, 0xdf, 0xca, 0x92, 0x96, 0x09, 0x71, 0xf4, 0x19, - 0x80, 0x83, 0xad, 0xae, 0x69, 0xf5, 0x7c, 0xd6, 0xcc, 0x4c, 0xd6, 0xab, 0xe3, 0x51, 0x79, 0x3d, - 0x88, 0x98, 0xa2, 0xcd, 0x46, 0x06, 0x9f, 0x97, 0x50, 0xdd, 0xa5, 0xfc, 0xb6, 0xd9, 0xcb, 0xf1, - 0x06, 0x11, 0xd3, 0xbc, 0x91, 0x01, 0x7d, 0x01, 0xb9, 0x47, 0xa6, 0x65, 0x92, 0xc7, 0x9c, 0x18, - 0x66, 0x12, 0x5f, 0x1b, 0x8f, 0xca, 0x1b, 0x61, 0xc8, 0x14, 0x33, 0x4c, 0x2c, 0xca, 0x8b, 0x45, - 0x80, 0x63, 0xdb, 0x10, 0xc4, 0x15, 0x08, 0x46, 0x9a, 0x29, 0x98, 0xb7, 0x21, 0xfd, 0xd4, 0xc3, - 0x1e, 0x16, 0xb5, 0xc5, 0x00, 0xd1, 0x95, 0x01, 0xe8, 0x16, 0xa3, 0x25, 0x98, 0x32, 0x71, 0x65, - 0x0f, 0x37, 0xc6, 0xa3, 0xb2, 0xcc, 0x11, 0xc1, 0x39, 0xf0, 0x41, 0xef, 0x41, 0xd6, 0xd2, 0x87, - 0x98, 0x38, 0x7a, 0x07, 0x07, 0x72, 0xda, 0xf2, 0x2b, 0x15, 0x81, 0x42, 0xcc, 0xc4, 0x13, 0xdd, - 0x09, 0x05, 0x9c, 0x66, 0x02, 0xce, 0x87, 0x02, 0x9e, 0xad, 0xde, 0x87, 0xb0, 0xcc, 0x67, 0x36, - 0xe8, 0xdc, 0xe2, 0xcc, 0x02, 0x5f, 0x1f, 0x8f, 0xca, 0x9b, 0x51, 0xcc, 0x54, 0x85, 0x73, 0x82, - 0xc9, 0x97, 0x70, 0x47, 0xb7, 0x3a, 0x78, 0xf0, 0x2f, 0x24, 0xcc, 0x03, 0xa6, 0x25, 0x1c, 0xe2, - 0xe8, 0x03, 0xc8, 0x07, 0xa4, 0x2e, 0xd6, 0x89, 0x6d, 0x31, 0x15, 0x67, 0x59, 0xf0, 0x15, 0x6e, - 0xd0, 0x18, 0x2e, 0x24, 0xbb, 0x2c, 0xe2, 0x68, 0x00, 0x68, 0xa0, 0x13, 0xda, 0xa6, 0xae, 0x6e, - 0x11, 0xd3, 0x5f, 0x39, 0x97, 0xd3, 0xac, 0x32, 0x1e, 0x95, 0x8b, 0x7e, 0x64, 0x2b, 0x0a, 0x9c, - 0xba, 0xa6, 0x9c, 0xb4, 0xa3, 0xbb, 0x90, 0x1f, 0xe8, 0x14, 0x13, 0xda, 0x0e, 0x76, 0x17, 0xb0, - 0xeb, 0x6e, 0xfb, 0x65, 0xe4, 0x06, 0x2d, 0xb1, 0xc1, 0x72, 0x02, 0x8c, 0xf6, 0x21, 0xe3, 0xcb, - 0x92, 0x38, 0xb8, 0x53, 0xc8, 0xb1, 0x2b, 0x66, 0xc2, 0xee, 0xf2, 0x4d, 0xd3, 0xb7, 0x8d, 0xa6, - 0x83, 0x3b, 0xe2, 0xa6, 0x09, 0x20, 0x54, 0xe3, 0xb1, 0xae, 0x67, 0x91, 0xc2, 0xf2, 0xce, 0xfc, - 0x6e, 0x6e, 0x0f, 0x09, 0xab, 0x2d, 0x10, 0x7e, 0xc4, 0xa2, 0x79, 0x16, 0x49, 0xb0, 0xf8, 0x90, - 0xf2, 0xb3, 0x04, 0x6b, 0x93, 0x39, 0xd1, 0xf0, 0x53, 0x0f, 0x13, 0x8a, 0x6e, 0xc3, 0x12, 0x1f, - 0x17, 0x52, 0x90, 0x76, 0xe6, 0x05, 0x61, 0xd7, 0xbb, 0x24, 0x21, 0xec, 0x7a, 0x97, 0xa0, 0x23, - 0x58, 0xc5, 0x5f, 0x3b, 0xba, 0xd5, 0x6d, 0x47, 0xd9, 0xf8, 0xb3, 0x93, 0x61, 0x8b, 0x60, 0x8b, - 0x9b, 0x8e, 0xa7, 0x32, 0xc9, 0xc7, 0x0c, 0xe8, 0x43, 0x58, 0x11, 0x48, 0x5c, 0xcf, 0x62, 0x33, - 0x95, 0xe1, 0xad, 0x8f, 0x5c, 0x35, 0x2f, 0xd6, 0x7a, 0x11, 0x57, 0xfe, 0x96, 0x00, 0x89, 0xb9, - 0x10, 0xc7, 0xb6, 0x08, 0x46, 0x06, 0xe4, 0x7c, 0xc6, 0x2e, 0x87, 0x59, 0x42, 0xb9, 0xbd, 0x1b, - 0x61, 0xad, 0x12, 0xde, 0x02, 0xa4, 0x5a, 0xd4, 0x3d, 0x3b, 0x2c, 0xf8, 0x2b, 0xa7, 0x1f, 0x81, - 0xc2, 0xe1, 0x30, 0x41, 0x8b, 0xcf, 0x60, 0x35, 0x11, 0x88, 0xfe, 0x07, 0xf3, 0x4f, 0xf0, 0x59, - 0xb0, 0x6f, 0xd6, 0xc6, 0xa3, 0x72, 0xfe, 0x09, 0x3e, 0x13, 0xc2, 0x7d, 0x2b, 0xda, 0x87, 0xf4, - 0x33, 0x7d, 0x10, 0xec, 0x9a, 0xdc, 0xde, 0x6a, 0xe2, 0x56, 0x7c, 0xba, 0x99, 0x87, 0x38, 0xdd, - 0x0c, 0xd8, 0x4f, 0xdd, 0x91, 0x94, 0x1f, 0x52, 0xb0, 0x19, 0x6b, 0x78, 0x94, 0xb5, 0x0b, 0xab, - 0x41, 0x1d, 0x13, 0x99, 0xdf, 0x9e, 0x56, 0x89, 0x98, 0xfc, 0x04, 0xe5, 0xf9, 0xb3, 0x16, 0xf6, - 0x45, 0x5c, 0x6c, 0x61, 0xcc, 0x50, 0xfc, 0x86, 0xd5, 0x3f, 0xc1, 0x70, 0xb9, 0x42, 0xdc, 0x8d, - 0x17, 0xe2, 0x22, 0x29, 0xcf, 0xaa, 0x85, 0x0a, 0x1b, 0x89, 0xac, 0x22, 0x31, 0xf3, 0xe1, 0x8c, - 0x89, 0x99, 0x7d, 0x48, 0xc4, 0xc4, 0xcc, 0x11, 0xe5, 0x00, 0xe4, 0x60, 0xb9, 0x7a, 0xff, 0x71, - 0x1e, 0x94, 0xbf, 0xf8, 0x50, 0x85, 0x1c, 0x41, 0x47, 0xbe, 0x02, 0x60, 0xe3, 0xe1, 0xaf, 0xe6, - 0xb0, 0x19, 0xff, 0x17, 0x97, 0xb9, 0x17, 0x6b, 0x04, 0x5b, 0xef, 0x41, 0x13, 0xd8, 0x6b, 0xa2, - 0x1f, 0x62, 0xe2, 0x6b, 0x22, 0x02, 0x8b, 0x04, 0x56, 0xe2, 0x51, 0x97, 0x2b, 0xfc, 0x1d, 0xb1, - 0xf0, 0x17, 0xbf, 0x5d, 0xde, 0x5c, 0xf3, 0x9b, 0xdf, 0xa7, 0x20, 0x27, 0x7c, 0x4b, 0xa1, 0x4d, - 0x58, 0xd3, 0x4e, 0x1b, 0xed, 0x66, 0xeb, 0xa0, 0xa5, 0xb6, 0x4f, 0x1b, 0x1f, 0x37, 0x3e, 0xfd, - 0xbc, 0x21, 0xcf, 0xa1, 0x0d, 0x90, 0x27, 0xf0, 0x7d, 0xf5, 0xa0, 0xa9, 0xd6, 0x64, 0x29, 0xee, - 0x7c, 0xa2, 0x36, 0x6a, 0xf5, 0xc6, 0x3d, 0x39, 0x15, 0x87, 0xb5, 0xd3, 0x46, 0xc3, 0x87, 0xe7, - 0xd1, 0x16, 0xac, 0x4f, 0xe0, 0xe6, 0xe9, 0xd1, 0x91, 0xaa, 0xd6, 0xd4, 0x9a, 0xbc, 0x10, 0x27, - 0xff, 0xe8, 0xa0, 0x7e, 0x5f, 0xad, 0xc9, 0xe9, 0xb8, 0xfb, 0x89, 0xa6, 0xaa, 0x9f, 0x9c, 0xb4, - 0xd4, 0x9a, 0xbc, 0x18, 0x37, 0x1c, 0x1d, 0x34, 0x8e, 0xd4, 0xfb, 0x7e, 0xc4, 0x12, 0xba, 0x0a, - 0x5b, 0x89, 0x4b, 0xb6, 0xd5, 0x07, 0x27, 0x75, 0x4d, 0xad, 0xc9, 0x19, 0x74, 0x1d, 0xb6, 0xb5, - 0xd3, 0x46, 0x33, 0x66, 0xd5, 0xd4, 0xd6, 0xa9, 0xd6, 0x50, 0x6b, 0x72, 0x76, 0xef, 0x45, 0x0a, - 0x16, 0x8e, 0x6d, 0x83, 0xa0, 0x07, 0xb0, 0x7c, 0x0f, 0xd3, 0xa8, 0xa1, 0x68, 0x33, 0xd9, 0x60, - 0x26, 0xa8, 0xe2, 0x95, 0x8b, 0xfb, 0xae, 0x6c, 0x7f, 0xf7, 0xcb, 0x9f, 0x3f, 0xa6, 0xd6, 0x95, - 0x95, 0xea, 0xb3, 0x77, 0xfc, 0xcf, 0xf6, 0x2a, 0x61, 0xf6, 0x7d, 0xe9, 0x26, 0x7a, 0x08, 0x79, - 0xce, 0x1c, 0x7e, 0xd3, 0x5c, 0x99, 0x5a, 0x61, 0x9c, 0x7b, 0xeb, 0x0d, 0xab, 0x4d, 0x29, 0x32, - 0xf2, 0x0d, 0x65, 0x35, 0x24, 0x0f, 0x16, 0x83, 0xcf, 0x8e, 0x41, 0xe6, 0xec, 0xc2, 0x17, 0xf9, - 0xf6, 0x45, 0x9b, 0x82, 0x9f, 0x51, 0x7c, 0xf3, 0x12, 0x89, 0x1f, 0xe3, 0x7a, 0x96, 0x70, 0xcc, - 0x61, 0xfd, 0xd5, 0x1f, 0xa5, 0xb9, 0x6f, 0xcf, 0x4b, 0xd2, 0x4f, 0xe7, 0x25, 0xe9, 0xe5, 0x79, - 0x49, 0xfa, 0xfd, 0xbc, 0x24, 0x3d, 0x7f, 0x5d, 0x9a, 0x7b, 0xf9, 0xba, 0x34, 0xf7, 0xea, 0x75, - 0x69, 0xee, 0xcb, 0x1b, 0xc2, 0x9f, 0x13, 0xdd, 0x1d, 0xea, 0x5d, 0xdd, 0x71, 0xed, 0x3e, 0xee, - 0xd0, 0xe0, 0xa9, 0x1a, 0xfc, 0x1b, 0x31, 0x16, 0xd9, 0x4b, 0xfc, 0xdd, 0x7f, 0x02, 0x00, 0x00, - 0xff, 0xff, 0x5b, 0x9b, 0x23, 0x20, 0xe6, 0x0c, 0x00, 0x00, + // 1268 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x41, 0x6f, 0xe3, 0xc4, + 0x17, 0xaf, 0x93, 0xa6, 0x4d, 0x26, 0x9b, 0xc6, 0x9d, 0xa6, 0x6d, 0x9a, 0xfd, 0xff, 0xe3, 0x2a, + 0x08, 0xb6, 0xac, 0x76, 0x13, 0x11, 0x84, 0xb4, 0x2a, 0x5a, 0x41, 0xd3, 0x98, 0x55, 0xca, 0x92, + 0xad, 0x9c, 0x44, 0xac, 0x10, 0x28, 0xb2, 0x93, 0xd9, 0xac, 0xb3, 0x89, 0xed, 0xf5, 0x8c, 0x57, + 0x54, 0xe2, 0x80, 0x90, 0x38, 0x70, 0x43, 0xe2, 0xc4, 0x07, 0xe0, 0xbb, 0xc0, 0x01, 0x69, 0x25, + 0x2e, 0x7b, 0xb2, 0xa0, 0x8b, 0x84, 0xe4, 0x13, 0x1f, 0x01, 0x79, 0xc6, 0x76, 0xc6, 0x6e, 0xab, + 0x14, 0x6e, 0xf1, 0xef, 0xbd, 0xf7, 0x9b, 0x99, 0xf7, 0x7e, 0xef, 0xcd, 0x04, 0x6c, 0x5a, 0xcf, + 0x26, 0x0d, 0xd5, 0xd2, 0x1b, 0x53, 0x53, 0xab, 0x5b, 0xb6, 0x49, 0x4c, 0x98, 0x56, 0x2d, 0xbd, + 0x72, 0x77, 0xa2, 0x93, 0xa7, 0x8e, 0x56, 0x1f, 0x99, 0xf3, 0xc6, 0xc4, 0x9c, 0x98, 0x0d, 0x6a, + 0xd3, 0x9c, 0x27, 0xf4, 0x8b, 0x7e, 0xd0, 0x5f, 0x2c, 0xa6, 0x52, 0x0a, 0x69, 0xb0, 0xa3, 0xcd, + 0x75, 0x12, 0xa0, 0xd2, 0xc4, 0x34, 0x27, 0x33, 0xb4, 0x88, 0x25, 0xfa, 0x1c, 0x61, 0xa2, 0xce, + 0xad, 0xc0, 0xe1, 0x7f, 0x81, 0x83, 0x1f, 0xa9, 0x1a, 0x86, 0x49, 0x54, 0xa2, 0x9b, 0x06, 0x66, + 0xd6, 0xda, 0xaf, 0xab, 0xa0, 0x70, 0x62, 0x6a, 0x8a, 0x63, 0xb4, 0x11, 0x51, 0xf5, 0x19, 0x86, + 0xb7, 0xc1, 0x9a, 0xed, 0x18, 0x43, 0x7d, 0x5c, 0x16, 0xf6, 0x85, 0x83, 0x5c, 0x6b, 0xcb, 0x73, + 0xa5, 0xa2, 0xed, 0x18, 0x9d, 0xf1, 0x1d, 0x73, 0xae, 0x13, 0x34, 0xb7, 0xc8, 0x99, 0x92, 0xa1, + 0x80, 0xef, 0x3b, 0x35, 0x35, 0xdf, 0x37, 0xb5, 0xf0, 0x9d, 0x9a, 0x5a, 0xdc, 0x97, 0x02, 0xf0, + 0x7d, 0x90, 0xc1, 0x44, 0x25, 0xa8, 0x9c, 0xde, 0x17, 0x0e, 0x36, 0x9a, 0x62, 0x5d, 0xb5, 0xf4, + 0x3a, 0x5b, 0xba, 0xe7, 0xe3, 0x2c, 0x98, 0xba, 0xf0, 0xc1, 0x14, 0x80, 0x0d, 0xb0, 0x3e, 0x9a, + 0x39, 0x98, 0x20, 0xbb, 0xbc, 0x4a, 0x57, 0xda, 0xf6, 0x5c, 0x69, 0x33, 0x80, 0x38, 0xf7, 0xd0, + 0x0b, 0xbe, 0x05, 0x56, 0x0d, 0x73, 0x8c, 0xca, 0x19, 0xea, 0x0d, 0x3d, 0x57, 0xda, 0xf0, 0xbf, + 0x39, 0x57, 0x6a, 0x87, 0x8f, 0x40, 0x6e, 0x86, 0x54, 0x8c, 0xc6, 0x43, 0x82, 0xcb, 0xeb, 0xfb, + 0xc2, 0x41, 0xbe, 0x59, 0xa9, 0xb3, 0x8c, 0xd5, 0xc3, 0x94, 0xd6, 0xfb, 0x61, 0x4a, 0x5b, 0x3b, + 0x9e, 0x2b, 0x41, 0x16, 0xd0, 0xc7, 0x1c, 0x59, 0x36, 0xc4, 0xa0, 0x02, 0x80, 0x85, 0x8c, 0xb1, + 0x6e, 0x4c, 0x7c, 0xc6, 0xec, 0x52, 0xc6, 0x5d, 0xcf, 0x95, 0xb6, 0x82, 0x88, 0x18, 0x65, 0x2e, + 0x02, 0x7d, 0x4e, 0x4c, 0x54, 0x9b, 0xb0, 0x5d, 0xe6, 0xae, 0xc7, 0x19, 0x44, 0xc4, 0x39, 0x23, + 0x10, 0x0e, 0x40, 0xfe, 0x89, 0x6e, 0xe8, 0xf8, 0x29, 0x23, 0x05, 0x4b, 0x49, 0xcb, 0x9e, 0x2b, + 0x95, 0xc2, 0x90, 0x18, 0x2b, 0x58, 0xa0, 0xb5, 0x1f, 0xd7, 0x00, 0x38, 0x31, 0x35, 0x4e, 0x4c, + 0x81, 0x40, 0x84, 0xa5, 0x02, 0x79, 0x1b, 0x64, 0x9e, 0x3b, 0xc8, 0x41, 0xbc, 0x96, 0x28, 0xc0, + 0xbb, 0x52, 0x00, 0xde, 0xa1, 0xb4, 0x18, 0x11, 0x2a, 0xa6, 0x5c, 0xab, 0xe4, 0xb9, 0x92, 0xc8, + 0x10, 0xce, 0x39, 0xf0, 0x81, 0xef, 0x81, 0x9c, 0xa1, 0xce, 0x11, 0xb6, 0xd4, 0x11, 0x0a, 0xe4, + 0x43, 0x33, 0x14, 0x81, 0x7c, 0x86, 0x22, 0x10, 0xde, 0x0b, 0x05, 0x9b, 0xa1, 0x82, 0x2d, 0x84, + 0x82, 0x5d, 0xae, 0xd6, 0xc7, 0xe0, 0x06, 0xeb, 0xd1, 0xa0, 0x62, 0x6b, 0x4b, 0x93, 0xbb, 0xe7, + 0xb9, 0xd2, 0x76, 0x14, 0x13, 0xcb, 0x6e, 0x9e, 0x83, 0x7d, 0xb9, 0x8e, 0x54, 0x63, 0x84, 0x66, + 0xff, 0x42, 0xae, 0x2c, 0x20, 0x2e, 0xd7, 0x10, 0x83, 0x1f, 0x80, 0x42, 0x40, 0x68, 0x23, 0x15, + 0x9b, 0x06, 0x55, 0x6c, 0xae, 0x55, 0xf1, 0x5c, 0x69, 0x87, 0x19, 0x14, 0x8a, 0x73, 0xc1, 0x37, + 0x78, 0x1c, 0x3e, 0x05, 0x70, 0xa6, 0x62, 0x32, 0x24, 0xb6, 0x6a, 0x60, 0xdd, 0x1f, 0x2d, 0xd7, + 0xd3, 0x68, 0xd5, 0x73, 0xa5, 0x8a, 0x1f, 0xd9, 0x8f, 0x02, 0x63, 0x5b, 0x14, 0x93, 0x36, 0x78, + 0x1f, 0x14, 0x66, 0x2a, 0x41, 0x98, 0x0c, 0x83, 0xf9, 0x04, 0xe8, 0x56, 0x69, 0xea, 0x98, 0x41, + 0x49, 0x4c, 0xa9, 0x3c, 0x07, 0xc3, 0x43, 0x90, 0xf5, 0xa5, 0x88, 0x2d, 0x34, 0x2a, 0xe7, 0xe9, + 0xf6, 0xb2, 0x61, 0x45, 0xd9, 0x34, 0x99, 0x9a, 0x5a, 0xcf, 0x42, 0x23, 0x7e, 0x9a, 0x04, 0x10, + 0x6c, 0xb3, 0x58, 0xdb, 0x31, 0x70, 0xf9, 0xc6, 0x7e, 0xfa, 0x20, 0xdf, 0x84, 0xdc, 0xf8, 0x0a, + 0xc4, 0x1e, 0xb1, 0x28, 0x8e, 0x81, 0x13, 0x2c, 0x3e, 0x54, 0xfb, 0x45, 0x00, 0x9b, 0x8b, 0xde, + 0x50, 0xd0, 0x73, 0x07, 0x61, 0x02, 0xef, 0x82, 0x75, 0xd6, 0x22, 0xb8, 0x2c, 0xec, 0xa7, 0x39, + 0x31, 0x77, 0xc6, 0x38, 0x21, 0xe6, 0xce, 0x18, 0xc3, 0x63, 0x50, 0x44, 0x5f, 0x5a, 0xaa, 0x31, + 0x1e, 0x46, 0xa7, 0xf1, 0xfb, 0x25, 0xdb, 0xba, 0xe9, 0xb9, 0xd2, 0x2e, 0x33, 0x9d, 0x5c, 0x38, + 0x49, 0x21, 0x66, 0x80, 0x1f, 0x82, 0x0d, 0x8e, 0xc4, 0x76, 0x0c, 0xda, 0x47, 0x59, 0x56, 0xf6, + 0xc8, 0x55, 0x71, 0x62, 0x65, 0xe7, 0xf1, 0xda, 0xdf, 0x02, 0x80, 0xfc, 0x59, 0xb0, 0x65, 0x1a, + 0x18, 0x41, 0x0d, 0xe4, 0x7d, 0xc6, 0x31, 0x83, 0xe9, 0x81, 0xf2, 0xcd, 0x5b, 0x61, 0xae, 0x12, + 0xde, 0x1c, 0x24, 0x1b, 0xc4, 0x3e, 0x63, 0x23, 0x66, 0x1a, 0x81, 0xfc, 0x88, 0x59, 0xa0, 0x95, + 0x17, 0xa0, 0x98, 0x08, 0x84, 0x6f, 0x80, 0xf4, 0x33, 0x74, 0x16, 0xcc, 0x98, 0x4d, 0xcf, 0x95, + 0x0a, 0xcf, 0xd0, 0x19, 0x17, 0xee, 0x5b, 0xe1, 0x21, 0xc8, 0xbc, 0x50, 0x67, 0xc1, 0x7c, 0xc9, + 0x37, 0x8b, 0x89, 0x5d, 0xb1, 0x8e, 0xa6, 0x1e, 0x7c, 0x47, 0x53, 0xe0, 0x30, 0x75, 0x4f, 0xa8, + 0x7d, 0x97, 0x02, 0xdb, 0xb1, 0x82, 0x47, 0xa7, 0xb6, 0x41, 0x31, 0xc8, 0x63, 0xe2, 0xe4, 0x77, + 0x2f, 0xaa, 0x84, 0x3f, 0xfc, 0x02, 0x65, 0xe7, 0xa7, 0x25, 0x9c, 0xf2, 0x38, 0x5f, 0xc2, 0x98, + 0xa1, 0xf2, 0x15, 0xcd, 0x7f, 0x82, 0xe1, 0x7a, 0x89, 0xb8, 0x1f, 0x4f, 0xc4, 0x65, 0x52, 0x5e, + 0x96, 0x0b, 0x19, 0x94, 0x12, 0xa7, 0x8a, 0xc4, 0xcc, 0x9a, 0x33, 0x26, 0x66, 0xfa, 0x58, 0x88, + 0x89, 0x99, 0x21, 0xb5, 0x23, 0x20, 0x06, 0x03, 0xd5, 0xf9, 0x8f, 0xfd, 0x50, 0xfb, 0x8b, 0x35, + 0x55, 0xc8, 0x11, 0x54, 0xe4, 0x0b, 0x00, 0x68, 0x7b, 0xf8, 0xe3, 0x38, 0x2c, 0xc6, 0x9b, 0xfc, + 0x00, 0x77, 0x62, 0x85, 0xa0, 0x23, 0x3d, 0x28, 0x02, 0xbd, 0x1a, 0xa6, 0x21, 0xc6, 0x5f, 0x0d, + 0x11, 0x58, 0xc1, 0x60, 0x23, 0x1e, 0x75, 0xbd, 0xc4, 0xdf, 0xe3, 0x13, 0x7f, 0xf9, 0x8d, 0x72, + 0x75, 0xce, 0x6f, 0x7f, 0x9b, 0x02, 0x79, 0xee, 0xbd, 0x04, 0xb7, 0xc1, 0xa6, 0x32, 0xe8, 0x0e, + 0x7b, 0xfd, 0xa3, 0xbe, 0x3c, 0x1c, 0x74, 0x3f, 0xee, 0x3e, 0xfa, 0xb4, 0x2b, 0xae, 0xc0, 0x12, + 0x10, 0x17, 0xf0, 0x43, 0xf9, 0xa8, 0x27, 0xb7, 0x45, 0x21, 0xee, 0x7c, 0x2a, 0x77, 0xdb, 0x9d, + 0xee, 0x03, 0x31, 0x15, 0x87, 0x95, 0x41, 0xb7, 0xeb, 0xc3, 0x69, 0xb8, 0x0b, 0xb6, 0x16, 0x70, + 0x6f, 0x70, 0x7c, 0x2c, 0xcb, 0x6d, 0xb9, 0x2d, 0xae, 0xc6, 0xc9, 0x3f, 0x3a, 0xea, 0x3c, 0x94, + 0xdb, 0x62, 0x26, 0xee, 0x7e, 0xaa, 0xc8, 0xf2, 0x27, 0xa7, 0x7d, 0xb9, 0x2d, 0xae, 0xc5, 0x0d, + 0xc7, 0x47, 0xdd, 0x63, 0xf9, 0xa1, 0x1f, 0xb1, 0x0e, 0x6f, 0x82, 0xdd, 0xc4, 0x26, 0x87, 0xf2, + 0xe3, 0xd3, 0x8e, 0x22, 0xb7, 0xc5, 0x2c, 0xfc, 0x3f, 0xd8, 0x53, 0x06, 0xdd, 0x5e, 0xcc, 0xaa, + 0xc8, 0xfd, 0x81, 0xd2, 0x95, 0xdb, 0x62, 0xae, 0xf9, 0x53, 0x0a, 0xac, 0x9e, 0x98, 0x1a, 0xf6, + 0xaf, 0xd9, 0x07, 0x88, 0x44, 0x05, 0x85, 0xdb, 0xc9, 0x02, 0x53, 0x41, 0x55, 0x76, 0x2e, 0xaf, + 0x7b, 0x6d, 0xef, 0x9b, 0xdf, 0xfe, 0xfc, 0x21, 0xb5, 0x55, 0xdb, 0x68, 0xbc, 0x78, 0xc7, 0x7f, + 0x9a, 0x37, 0x30, 0xb5, 0x1f, 0x0a, 0xb7, 0xe1, 0xe7, 0xa0, 0xc0, 0x98, 0xc3, 0x77, 0xcc, 0xce, + 0x85, 0x11, 0xc6, 0xb8, 0x77, 0xaf, 0x18, 0x6d, 0xb5, 0x0a, 0x25, 0x2f, 0xd5, 0x8a, 0x21, 0x79, + 0x30, 0x18, 0x7c, 0x76, 0x04, 0x44, 0xc6, 0xce, 0xbd, 0xba, 0xf7, 0x2e, 0x9b, 0x14, 0x6c, 0x8d, + 0xca, 0xd5, 0x43, 0x24, 0xbe, 0x8c, 0xed, 0x18, 0xdc, 0x32, 0xad, 0xce, 0xab, 0x3f, 0xaa, 0x2b, + 0x5f, 0x9f, 0x57, 0x85, 0x9f, 0xcf, 0xab, 0xc2, 0xcb, 0xf3, 0xaa, 0xf0, 0xfb, 0x79, 0x55, 0xf8, + 0xfe, 0x75, 0x75, 0xe5, 0xe5, 0xeb, 0xea, 0xca, 0xab, 0xd7, 0xd5, 0x95, 0xcf, 0x6e, 0x71, 0x7f, + 0x40, 0x54, 0x7b, 0xae, 0x8e, 0x55, 0xcb, 0x36, 0xa7, 0x68, 0x44, 0x82, 0xaf, 0x46, 0xf0, 0x8f, + 0x43, 0x5b, 0xa3, 0x17, 0xf8, 0xbb, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0xff, 0x4a, 0xae, 0x2e, + 0xca, 0x0c, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -871,42 +868,50 @@ func (m *JobRunDetails) MarshalToSizedBuffer(dAtA []byte) (int, error) { var l int _ = l if m.FinishedTs != nil { - n1, err1 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.FinishedTs, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.FinishedTs):]) - if err1 != nil { - return 0, err1 + { + size, err := m.FinishedTs.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintJob(dAtA, i, uint64(size)) } - i -= n1 - i = encodeVarintJob(dAtA, i, uint64(n1)) i-- dAtA[i] = 0x52 } if m.StartedTs != nil { - n2, err2 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.StartedTs, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartedTs):]) - if err2 != nil { - return 0, err2 + { + size, err := m.StartedTs.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintJob(dAtA, i, uint64(size)) } - i -= n2 - i = encodeVarintJob(dAtA, i, uint64(n2)) i-- dAtA[i] = 0x4a } if m.PendingTs != nil { - n3, err3 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.PendingTs, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.PendingTs):]) - if err3 != nil { - return 0, err3 + { + size, err := m.PendingTs.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintJob(dAtA, i, uint64(size)) } - i -= n3 - i = encodeVarintJob(dAtA, i, uint64(n3)) i-- dAtA[i] = 0x42 } if m.LeasedTs != nil { - n4, err4 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LeasedTs, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LeasedTs):]) - if err4 != nil { - return 0, err4 + { + size, err := m.LeasedTs.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintJob(dAtA, i, uint64(size)) } - i -= n4 - i = encodeVarintJob(dAtA, i, uint64(n4)) i-- dAtA[i] = 0x3a } @@ -1000,12 +1005,14 @@ func (m *JobDetails) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x52 } if m.LastTransitionTs != nil { - n6, err6 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastTransitionTs, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastTransitionTs):]) - if err6 != nil { - return 0, err6 + { + size, err := m.LastTransitionTs.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintJob(dAtA, i, uint64(size)) } - i -= n6 - i = encodeVarintJob(dAtA, i, uint64(n6)) i-- dAtA[i] = 0x4a } @@ -1017,22 +1024,26 @@ func (m *JobDetails) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x42 } if m.CancelTs != nil { - n7, err7 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.CancelTs, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.CancelTs):]) - if err7 != nil { - return 0, err7 + { + size, err := m.CancelTs.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintJob(dAtA, i, uint64(size)) } - i -= n7 - i = encodeVarintJob(dAtA, i, uint64(n7)) i-- dAtA[i] = 0x3a } if m.SubmittedTs != nil { - n8, err8 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.SubmittedTs, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.SubmittedTs):]) - if err8 != nil { - return 0, err8 + { + size, err := m.SubmittedTs.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintJob(dAtA, i, uint64(size)) } - i -= n8 - i = encodeVarintJob(dAtA, i, uint64(n8)) i-- dAtA[i] = 0x32 } @@ -1363,19 +1374,19 @@ func (m *JobRunDetails) Size() (n int) { n += 1 + l + sovJob(uint64(l)) } if m.LeasedTs != nil { - l = github_com_gogo_protobuf_types.SizeOfStdTime(*m.LeasedTs) + l = m.LeasedTs.Size() n += 1 + l + sovJob(uint64(l)) } if m.PendingTs != nil { - l = github_com_gogo_protobuf_types.SizeOfStdTime(*m.PendingTs) + l = m.PendingTs.Size() n += 1 + l + sovJob(uint64(l)) } if m.StartedTs != nil { - l = github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartedTs) + l = m.StartedTs.Size() n += 1 + l + sovJob(uint64(l)) } if m.FinishedTs != nil { - l = github_com_gogo_protobuf_types.SizeOfStdTime(*m.FinishedTs) + l = m.FinishedTs.Size() n += 1 + l + sovJob(uint64(l)) } return n @@ -1407,11 +1418,11 @@ func (m *JobDetails) Size() (n int) { n += 1 + sovJob(uint64(m.State)) } if m.SubmittedTs != nil { - l = github_com_gogo_protobuf_types.SizeOfStdTime(*m.SubmittedTs) + l = m.SubmittedTs.Size() n += 1 + l + sovJob(uint64(l)) } if m.CancelTs != nil { - l = github_com_gogo_protobuf_types.SizeOfStdTime(*m.CancelTs) + l = m.CancelTs.Size() n += 1 + l + sovJob(uint64(l)) } l = len(m.CancelReason) @@ -1419,7 +1430,7 @@ func (m *JobDetails) Size() (n int) { n += 1 + l + sovJob(uint64(l)) } if m.LastTransitionTs != nil { - l = github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastTransitionTs) + l = m.LastTransitionTs.Size() n += 1 + l + sovJob(uint64(l)) } l = len(m.LatestRunId) @@ -1907,9 +1918,9 @@ func (m *JobRunDetails) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.LeasedTs == nil { - m.LeasedTs = new(time.Time) + m.LeasedTs = &types.Timestamp{} } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(m.LeasedTs, dAtA[iNdEx:postIndex]); err != nil { + if err := m.LeasedTs.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -1943,9 +1954,9 @@ func (m *JobRunDetails) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.PendingTs == nil { - m.PendingTs = new(time.Time) + m.PendingTs = &types.Timestamp{} } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(m.PendingTs, dAtA[iNdEx:postIndex]); err != nil { + if err := m.PendingTs.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -1979,9 +1990,9 @@ func (m *JobRunDetails) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.StartedTs == nil { - m.StartedTs = new(time.Time) + m.StartedTs = &types.Timestamp{} } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(m.StartedTs, dAtA[iNdEx:postIndex]); err != nil { + if err := m.StartedTs.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -2015,9 +2026,9 @@ func (m *JobRunDetails) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.FinishedTs == nil { - m.FinishedTs = new(time.Time) + m.FinishedTs = &types.Timestamp{} } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(m.FinishedTs, dAtA[iNdEx:postIndex]); err != nil { + if err := m.FinishedTs.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -2248,9 +2259,9 @@ func (m *JobDetails) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.SubmittedTs == nil { - m.SubmittedTs = new(time.Time) + m.SubmittedTs = &types.Timestamp{} } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(m.SubmittedTs, dAtA[iNdEx:postIndex]); err != nil { + if err := m.SubmittedTs.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -2284,9 +2295,9 @@ func (m *JobDetails) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.CancelTs == nil { - m.CancelTs = new(time.Time) + m.CancelTs = &types.Timestamp{} } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(m.CancelTs, dAtA[iNdEx:postIndex]); err != nil { + if err := m.CancelTs.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -2352,9 +2363,9 @@ func (m *JobDetails) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.LastTransitionTs == nil { - m.LastTransitionTs = new(time.Time) + m.LastTransitionTs = &types.Timestamp{} } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(m.LastTransitionTs, dAtA[iNdEx:postIndex]); err != nil { + if err := m.LastTransitionTs.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex diff --git a/pkg/api/job.proto b/pkg/api/job.proto index f48247c6086..15ceafcf7bf 100644 --- a/pkg/api/job.proto +++ b/pkg/api/job.proto @@ -29,10 +29,10 @@ message JobRunDetails { JobRunState state = 3; string cluster = 4; string node = 5; - google.protobuf.Timestamp leased_ts = 7 [(gogoproto.stdtime) = true]; - google.protobuf.Timestamp pending_ts = 8 [(gogoproto.stdtime) = true]; - google.protobuf.Timestamp started_ts = 9 [(gogoproto.stdtime) = true]; - google.protobuf.Timestamp finished_ts = 10 [(gogoproto.stdtime) = true]; + google.protobuf.Timestamp leased_ts = 7; + google.protobuf.Timestamp pending_ts = 8; + google.protobuf.Timestamp started_ts = 9; + google.protobuf.Timestamp finished_ts = 10; } @@ -42,10 +42,10 @@ message JobDetails { string jobset = 3; string namespace = 4; JobState state = 5; - google.protobuf.Timestamp submitted_ts = 6 [(gogoproto.stdtime) = true]; - google.protobuf.Timestamp cancel_ts = 7 [(gogoproto.stdtime) = true]; + google.protobuf.Timestamp submitted_ts = 6; + google.protobuf.Timestamp cancel_ts = 7; string cancel_reason = 8; - google.protobuf.Timestamp last_transition_ts = 9 [(gogoproto.stdtime) = true]; + google.protobuf.Timestamp last_transition_ts = 9; string latest_run_id = 10; Job job_spec = 11; // Only filled in if expand_job_spec is true repeated JobRunDetails job_runs = 12; // Only filled in if expand_job_run is true; diff --git a/pkg/api/submit.pb.go b/pkg/api/submit.pb.go index 83a137983f6..715474a80f8 100644 --- a/pkg/api/submit.pb.go +++ b/pkg/api/submit.pb.go @@ -12,12 +12,10 @@ import ( math_bits "math/bits" reflect "reflect" strings "strings" - time "time" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" - github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" types "github.com/gogo/protobuf/types" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" @@ -31,7 +29,6 @@ import ( var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf -var _ = time.Kitchen // This is a compile-time assertion to ensure that this generated file // is compatible with the proto package it is being compiled against. @@ -739,7 +736,7 @@ type Job struct { // This field is populated automatically at submission. // Submitting a job with this field already populated results in an error. SchedulingResourceRequirements v1.ResourceRequirements `protobuf:"bytes,21,opt,name=scheduling_resource_requirements,json=schedulingResourceRequirements,proto3" json:"schedulingResourceRequirements"` - Created time.Time `protobuf:"bytes,6,opt,name=created,proto3,stdtime" json:"created"` + Created *types.Timestamp `protobuf:"bytes,6,opt,name=created,proto3" json:"created,omitempty"` // Services can be provided either as Armada-specific config objects or as proper k8s objects. // These options are exclusive, i.e., if either ingress or services is provided, // then neither of k8s_ingress or k8s_service can be provided, and vice versa. @@ -893,11 +890,11 @@ func (m *Job) GetSchedulingResourceRequirements() v1.ResourceRequirements { return v1.ResourceRequirements{} } -func (m *Job) GetCreated() time.Time { +func (m *Job) GetCreated() *types.Timestamp { if m != nil { return m.Created } - return time.Time{} + return nil } func (m *Job) GetIngress() []*IngressConfig { @@ -2084,194 +2081,193 @@ func init() { func init() { proto.RegisterFile("pkg/api/submit.proto", fileDescriptor_e998bacb27df16c1) } var fileDescriptor_e998bacb27df16c1 = []byte{ - // 2981 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcb, 0x6f, 0x1b, 0xd7, - 0xd5, 0xe7, 0x88, 0x7a, 0xf1, 0x50, 0x0f, 0xea, 0xea, 0xe1, 0x11, 0xed, 0x88, 0xf2, 0x24, 0xf1, - 0x27, 0x0b, 0x09, 0x15, 0x2b, 0x5f, 0x50, 0xdb, 0x4d, 0xe1, 0x8a, 0x12, 0x6d, 0x4b, 0xb1, 0x65, - 0x85, 0xb2, 0x92, 0xa6, 0x28, 0xca, 0x0c, 0x39, 0x57, 0xd4, 0x48, 0xe4, 0x0c, 0x33, 0x33, 0x94, - 0xab, 0x16, 0x01, 0x8a, 0xa2, 0x68, 0x17, 0xdd, 0x04, 0xe8, 0xae, 0x05, 0x92, 0x45, 0x77, 0xe9, - 0xa2, 0x9b, 0xa2, 0xe8, 0x9f, 0x90, 0x65, 0x80, 0xa2, 0x40, 0xba, 0x61, 0x5a, 0xbb, 0x0f, 0x80, - 0xbb, 0xee, 0xbb, 0x28, 0xee, 0xb9, 0x77, 0x38, 0x77, 0xf8, 0x10, 0x45, 0xdb, 0x4a, 0x36, 0xdd, - 0xe9, 0xfe, 0xee, 0x79, 0xcf, 0xb9, 0xe7, 0x9e, 0x73, 0x29, 0x98, 0xa9, 0x1e, 0x95, 0x56, 0xf4, - 0xaa, 0xb9, 0xe2, 0xd6, 0x0a, 0x15, 0xd3, 0x4b, 0x57, 0x1d, 0xdb, 0xb3, 0x49, 0x54, 0xaf, 0x9a, - 0xc9, 0x8b, 0x25, 0xdb, 0x2e, 0x95, 0xe9, 0x0a, 0x42, 0x85, 0xda, 0xfe, 0x0a, 0xad, 0x54, 0xbd, - 0x13, 0x4e, 0x91, 0x4c, 0xb5, 0x6e, 0x7a, 0x66, 0x85, 0xba, 0x9e, 0x5e, 0xa9, 0x0a, 0x02, 0xed, - 0xe8, 0xba, 0x9b, 0x36, 0x6d, 0x94, 0x5d, 0xb4, 0x1d, 0xba, 0x72, 0x7c, 0x6d, 0xa5, 0x44, 0x2d, - 0xea, 0xe8, 0x1e, 0x35, 0x04, 0xcd, 0x92, 0x44, 0x63, 0x51, 0xef, 0x91, 0xed, 0x1c, 0x99, 0x56, - 0xa9, 0x13, 0xe5, 0x25, 0xa1, 0x8e, 0x51, 0xea, 0x96, 0x65, 0x7b, 0xba, 0x67, 0xda, 0x96, 0x2b, - 0x76, 0x5f, 0x2d, 0x99, 0xde, 0x41, 0xad, 0x90, 0x2e, 0xda, 0x95, 0x95, 0x92, 0x5d, 0xb2, 0x03, - 0xab, 0xd8, 0x0a, 0x17, 0xf8, 0x97, 0x20, 0x6f, 0xfa, 0x7c, 0x40, 0xf5, 0xb2, 0x77, 0xc0, 0x51, - 0xed, 0x93, 0x18, 0xcc, 0x6c, 0xd9, 0x85, 0x5d, 0x8c, 0x43, 0x8e, 0x7e, 0x50, 0xa3, 0xae, 0xb7, - 0xe9, 0xd1, 0x0a, 0x59, 0x85, 0xd1, 0xaa, 0x63, 0xda, 0x8e, 0xe9, 0x9d, 0xa8, 0xca, 0xa2, 0xb2, - 0xa4, 0x64, 0xe6, 0x1a, 0xf5, 0x14, 0xf1, 0xb1, 0x57, 0xec, 0x8a, 0xe9, 0x61, 0x68, 0x72, 0x4d, - 0x3a, 0xf2, 0x06, 0xc4, 0x2c, 0xbd, 0x42, 0xdd, 0xaa, 0x5e, 0xa4, 0x6a, 0x74, 0x51, 0x59, 0x8a, - 0x65, 0x2e, 0x34, 0xea, 0xa9, 0xe9, 0x26, 0x28, 0x71, 0x05, 0x94, 0xe4, 0x75, 0x88, 0x15, 0xcb, - 0x26, 0xb5, 0xbc, 0xbc, 0x69, 0xa8, 0xa3, 0xc8, 0x86, 0xba, 0x38, 0xb8, 0x69, 0xc8, 0xba, 0x7c, - 0x8c, 0xec, 0xc2, 0x70, 0x59, 0x2f, 0xd0, 0xb2, 0xab, 0x0e, 0x2e, 0x46, 0x97, 0xe2, 0xab, 0x2f, - 0xa7, 0xf5, 0xaa, 0x99, 0xee, 0xe4, 0x4a, 0xfa, 0x1e, 0xd2, 0x65, 0x2d, 0xcf, 0x39, 0xc9, 0xcc, - 0x34, 0xea, 0xa9, 0x04, 0x67, 0x94, 0xc4, 0x0a, 0x51, 0xa4, 0x04, 0x71, 0x29, 0xce, 0xea, 0x10, - 0x4a, 0x5e, 0xee, 0x2e, 0x79, 0x2d, 0x20, 0xe6, 0xe2, 0xe7, 0x1b, 0xf5, 0xd4, 0xac, 0x24, 0x42, - 0xd2, 0x21, 0x4b, 0x26, 0x3f, 0x57, 0x60, 0xc6, 0xa1, 0x1f, 0xd4, 0x4c, 0x87, 0x1a, 0x79, 0xcb, - 0x36, 0x68, 0x5e, 0x38, 0x33, 0x8c, 0x2a, 0xaf, 0x75, 0x57, 0x99, 0x13, 0x5c, 0xdb, 0xb6, 0x41, - 0x65, 0xc7, 0xb4, 0x46, 0x3d, 0x75, 0xc9, 0x69, 0xdb, 0x0c, 0x0c, 0x50, 0x95, 0x1c, 0x69, 0xdf, - 0x27, 0x0f, 0x60, 0xb4, 0x6a, 0x1b, 0x79, 0xb7, 0x4a, 0x8b, 0xea, 0xc0, 0xa2, 0xb2, 0x14, 0x5f, - 0xbd, 0x98, 0xe6, 0x09, 0x8a, 0x36, 0xb0, 0x24, 0x4e, 0x1f, 0x5f, 0x4b, 0xef, 0xd8, 0xc6, 0x6e, - 0x95, 0x16, 0xf1, 0x7b, 0x4e, 0x55, 0xf9, 0x22, 0x24, 0x7b, 0x44, 0x80, 0x64, 0x07, 0x62, 0xbe, - 0x40, 0x57, 0x1d, 0x41, 0x77, 0x4e, 0x95, 0xc8, 0xd3, 0x8a, 0x2f, 0xdc, 0x50, 0x5a, 0x09, 0x8c, - 0xac, 0xc3, 0x88, 0x69, 0x95, 0x1c, 0xea, 0xba, 0x6a, 0x0c, 0xe5, 0x11, 0x14, 0xb4, 0xc9, 0xb1, - 0x75, 0xdb, 0xda, 0x37, 0x4b, 0x99, 0x59, 0x66, 0x98, 0x20, 0x93, 0xa4, 0xf8, 0x9c, 0xe4, 0x36, - 0x8c, 0xba, 0xd4, 0x39, 0x36, 0x8b, 0xd4, 0x55, 0x41, 0x92, 0xb2, 0xcb, 0x41, 0x21, 0x05, 0x8d, - 0xf1, 0xe9, 0x64, 0x63, 0x7c, 0x8c, 0xe5, 0xb8, 0x5b, 0x3c, 0xa0, 0x46, 0xad, 0x4c, 0x1d, 0x35, - 0x1e, 0xe4, 0x78, 0x13, 0x94, 0x73, 0xbc, 0x09, 0x26, 0x75, 0x88, 0x4b, 0x5f, 0x8b, 0xbc, 0x08, - 0xd1, 0x23, 0xca, 0x0f, 0x56, 0x2c, 0x33, 0xd5, 0xa8, 0xa7, 0xc6, 0x8f, 0xa8, 0x7c, 0xa6, 0xd8, - 0x2e, 0xb9, 0x0a, 0x43, 0xc7, 0x7a, 0xb9, 0x46, 0xf1, 0xbb, 0xc4, 0x32, 0xd3, 0x8d, 0x7a, 0x6a, - 0x12, 0x01, 0x89, 0x90, 0x53, 0xdc, 0x1c, 0xb8, 0xae, 0x24, 0xf7, 0x21, 0xd1, 0x9a, 0x8f, 0xe7, - 0xa2, 0xa7, 0x02, 0x17, 0xba, 0x24, 0xe1, 0x79, 0xa8, 0xd3, 0xfe, 0x1d, 0x85, 0xf1, 0xd0, 0xa7, - 0x26, 0x37, 0x61, 0xd0, 0x3b, 0xa9, 0x52, 0x54, 0x33, 0xb1, 0x9a, 0x90, 0x93, 0xe1, 0xe1, 0x49, - 0x95, 0xe2, 0x19, 0x9f, 0x60, 0x14, 0xa1, 0x04, 0x45, 0x1e, 0xa6, 0xbc, 0x6a, 0x3b, 0x9e, 0xab, - 0x0e, 0x2c, 0x46, 0x97, 0xc6, 0xb9, 0x72, 0x04, 0x64, 0xe5, 0x08, 0x90, 0xf7, 0xc3, 0xc5, 0x20, - 0x8a, 0x49, 0xf3, 0x62, 0x7b, 0xea, 0x3d, 0x7d, 0x15, 0xb8, 0x01, 0x71, 0xaf, 0xec, 0xe6, 0xa9, - 0xa5, 0x17, 0xca, 0xd4, 0x50, 0x07, 0x17, 0x95, 0xa5, 0xd1, 0x8c, 0xda, 0xa8, 0xa7, 0x66, 0x3c, - 0x16, 0x51, 0x44, 0x25, 0x5e, 0x08, 0x50, 0xac, 0x99, 0xd4, 0xf1, 0xf2, 0xac, 0x8a, 0xaa, 0x43, - 0x52, 0xcd, 0xa4, 0x8e, 0xb7, 0xad, 0x57, 0x68, 0xa8, 0x66, 0x0a, 0x8c, 0xdc, 0x82, 0xf1, 0x9a, - 0x4b, 0xf3, 0xc5, 0x72, 0xcd, 0xf5, 0xa8, 0xb3, 0xb9, 0xa3, 0x0e, 0xa3, 0xc6, 0x64, 0xa3, 0x9e, - 0x9a, 0xab, 0xb9, 0x74, 0xdd, 0xc7, 0x25, 0xe6, 0x31, 0x19, 0xff, 0xaa, 0x52, 0x4c, 0xf3, 0x60, - 0x3c, 0x74, 0x2e, 0xc9, 0xf5, 0x0e, 0x9f, 0x5c, 0x50, 0xe0, 0x27, 0x27, 0xed, 0x9f, 0xbc, 0xef, - 0x0f, 0xae, 0xfd, 0x45, 0x81, 0x44, 0x6b, 0xcd, 0x65, 0xfc, 0x1f, 0xd4, 0x68, 0x8d, 0x0a, 0x07, - 0x91, 0x1f, 0x01, 0x99, 0x1f, 0x01, 0xf2, 0xff, 0x00, 0x87, 0x76, 0x21, 0xef, 0x52, 0xbc, 0xc8, - 0x06, 0x82, 0x8f, 0x72, 0x68, 0x17, 0x76, 0x69, 0xcb, 0x45, 0xe6, 0x63, 0xc4, 0x80, 0x29, 0xc6, - 0xe5, 0x70, 0x7d, 0x79, 0x46, 0xe0, 0x27, 0xdb, 0x7c, 0xd7, 0x6b, 0x20, 0xf3, 0x42, 0xa3, 0x9e, - 0x9a, 0x3f, 0xb4, 0x0b, 0x12, 0x26, 0x7b, 0x34, 0xd9, 0xb2, 0xa5, 0xfd, 0x46, 0x81, 0xa9, 0x2d, - 0xbb, 0xb0, 0xe3, 0x50, 0x46, 0xf0, 0x95, 0x39, 0xf7, 0x2a, 0x8c, 0x30, 0x2e, 0xd3, 0xe0, 0x2e, - 0xc5, 0xf8, 0xfd, 0x7b, 0x68, 0x17, 0x36, 0x8d, 0xd0, 0xfd, 0xcb, 0x11, 0xed, 0x3f, 0xfc, 0x0b, - 0xac, 0xeb, 0x56, 0x91, 0x96, 0x7d, 0x23, 0x97, 0x61, 0x98, 0xcb, 0x90, 0xad, 0x44, 0x06, 0xd9, - 0x4a, 0x04, 0x9e, 0xd2, 0xca, 0x66, 0x18, 0xa2, 0x3d, 0xc3, 0x20, 0x39, 0x34, 0xd8, 0xdb, 0x21, - 0xf2, 0x0a, 0x0c, 0x3b, 0x54, 0x77, 0x6d, 0x4b, 0x9c, 0x51, 0xa4, 0xe6, 0x88, 0x4c, 0xcd, 0x11, - 0xed, 0x1f, 0x0a, 0x4c, 0x6f, 0xa1, 0x51, 0xe1, 0x08, 0x84, 0xbd, 0x52, 0xfa, 0xf5, 0x6a, 0xa0, - 0xa7, 0x57, 0xb7, 0x60, 0x78, 0xdf, 0x2c, 0x7b, 0xd4, 0xc1, 0x08, 0xc4, 0x57, 0xa7, 0x9a, 0x89, - 0x47, 0xbd, 0xdb, 0xb8, 0xc1, 0x2d, 0xe7, 0x44, 0xb2, 0xe5, 0x1c, 0x91, 0xfc, 0x1c, 0x3c, 0x83, - 0x9f, 0x6f, 0xc1, 0x98, 0x2c, 0x9b, 0x7c, 0x13, 0x86, 0x5d, 0x4f, 0xf7, 0xa8, 0xab, 0x2a, 0x8b, - 0xd1, 0xa5, 0x89, 0xd5, 0xf1, 0xa6, 0x7a, 0x86, 0x72, 0x61, 0x9c, 0x40, 0x16, 0xc6, 0x11, 0xed, - 0xcb, 0x49, 0x88, 0x6e, 0xd9, 0x05, 0xb2, 0x08, 0x03, 0xcd, 0xe0, 0x24, 0x1a, 0xf5, 0xd4, 0x98, - 0x29, 0x87, 0x65, 0xc0, 0x34, 0xc2, 0x7d, 0xe6, 0xf8, 0x19, 0xfb, 0xcc, 0x73, 0xcf, 0xa8, 0x50, - 0xd3, 0x3c, 0x72, 0xe6, 0xa6, 0x39, 0xd3, 0xec, 0x7f, 0x79, 0x4f, 0x34, 0xe3, 0xc7, 0xac, 0x8f, - 0x76, 0xf7, 0x9d, 0xf0, 0x0d, 0x07, 0xe1, 0xa2, 0xf3, 0xf4, 0xf7, 0xda, 0x71, 0x97, 0xe6, 0x36, - 0x8e, 0x0a, 0x16, 0x9b, 0x0a, 0x9e, 0x77, 0x2f, 0x7b, 0x15, 0x86, 0xec, 0x47, 0x16, 0x75, 0xc4, - 0x10, 0x81, 0x51, 0x47, 0x40, 0x8e, 0x3a, 0x02, 0x84, 0xc2, 0x45, 0x0c, 0x7f, 0x1e, 0x97, 0xee, - 0x81, 0x59, 0xcd, 0xd7, 0x5c, 0xea, 0xe4, 0x4b, 0x8e, 0x5d, 0xab, 0xba, 0xea, 0x24, 0x9e, 0xed, - 0x2b, 0x8d, 0x7a, 0x4a, 0x43, 0xb2, 0x07, 0x3e, 0xd5, 0x9e, 0x4b, 0x9d, 0x3b, 0x48, 0x23, 0xc9, - 0x54, 0xbb, 0xd1, 0x90, 0x9f, 0x2a, 0x70, 0xa5, 0x68, 0x57, 0xaa, 0xac, 0x5b, 0xa0, 0x46, 0xfe, - 0x34, 0x95, 0xd3, 0x8b, 0xca, 0xd2, 0x58, 0xe6, 0xb5, 0x46, 0x3d, 0xf5, 0x4a, 0xc0, 0xf1, 0x76, - 0x6f, 0xe5, 0x5a, 0x6f, 0xea, 0xd0, 0x30, 0x37, 0x78, 0xc6, 0x61, 0x4e, 0x1e, 0x0c, 0x86, 0x9e, - 0xfb, 0x60, 0x30, 0xf6, 0x3c, 0x06, 0x83, 0x5f, 0x29, 0xb0, 0x28, 0x5a, 0x6c, 0xd3, 0x2a, 0xe5, - 0x1d, 0xea, 0xda, 0x35, 0xa7, 0x48, 0xf3, 0x22, 0x35, 0x2a, 0xd4, 0xf2, 0x5c, 0x75, 0x16, 0x6d, - 0x5f, 0xea, 0xa4, 0x29, 0x27, 0x18, 0x72, 0x12, 0x7d, 0xe6, 0xca, 0x67, 0xf5, 0x54, 0xa4, 0x51, - 0x4f, 0x2d, 0x04, 0x92, 0x3b, 0xd1, 0xe5, 0x7a, 0xec, 0x93, 0x4d, 0x18, 0x29, 0x3a, 0x94, 0x4d, - 0xf3, 0xd8, 0x66, 0xc5, 0x57, 0x93, 0x69, 0x3e, 0xce, 0xa7, 0xfd, 0x39, 0x3d, 0xfd, 0xd0, 0x7f, - 0x3d, 0xc8, 0x4c, 0x0b, 0xa5, 0x3e, 0xcb, 0x47, 0x5f, 0xa6, 0x94, 0x9c, 0xbf, 0x90, 0x07, 0xa0, - 0x89, 0xe7, 0x32, 0x00, 0x25, 0x9e, 0x61, 0x00, 0xfa, 0x1e, 0xc4, 0x8f, 0xae, 0xbb, 0x79, 0xdf, - 0xa0, 0x29, 0x14, 0x75, 0x59, 0x0e, 0x6f, 0xf0, 0xa8, 0xc1, 0x82, 0x2c, 0xac, 0xe4, 0x7d, 0xed, - 0xd1, 0x75, 0x77, 0xb3, 0xcd, 0x44, 0x08, 0x50, 0x56, 0x92, 0x98, 0x74, 0xa1, 0x4d, 0x25, 0xdd, - 0xd3, 0x44, 0xd8, 0xdd, 0x94, 0x2b, 0xd6, 0x2d, 0x72, 0x05, 0x1a, 0x1e, 0xdb, 0x66, 0xce, 0x3a, - 0xb6, 0x91, 0x4d, 0x98, 0xe2, 0x67, 0xd6, 0xf3, 0xca, 0x79, 0x97, 0x16, 0x6d, 0xcb, 0x70, 0xd5, - 0xb9, 0x45, 0x65, 0x29, 0xca, 0x3b, 0x30, 0xdc, 0x7c, 0xe8, 0x95, 0x77, 0xf9, 0x96, 0xdc, 0x81, - 0xb5, 0x6c, 0xfd, 0x6f, 0x02, 0x7c, 0xea, 0x69, 0xe0, 0x9f, 0x0a, 0xcc, 0x6d, 0xb1, 0x7e, 0x56, - 0xd4, 0x26, 0xf3, 0x87, 0xd4, 0xef, 0x8c, 0xa4, 0x76, 0x4c, 0x39, 0x43, 0x3b, 0x76, 0xee, 0x97, - 0xf9, 0x9b, 0x30, 0x66, 0xd1, 0x47, 0xf9, 0x96, 0x62, 0x8b, 0xf7, 0xa6, 0x45, 0x1f, 0xed, 0xb4, - 0xd7, 0xdb, 0xb8, 0x04, 0x6b, 0xbf, 0x1d, 0x80, 0x0b, 0x6d, 0x8e, 0xba, 0x55, 0xdb, 0x72, 0x29, - 0xf9, 0xb5, 0x02, 0xaa, 0x13, 0x6c, 0xe0, 0x27, 0x66, 0x15, 0xaf, 0x56, 0xf6, 0xb8, 0xef, 0xf1, - 0xd5, 0x1b, 0xfe, 0xc5, 0xda, 0x49, 0x40, 0x3a, 0xd7, 0xc2, 0x9c, 0xe3, 0xbc, 0xfc, 0xc6, 0x7d, - 0xb9, 0x51, 0x4f, 0x5d, 0x76, 0x3a, 0x53, 0x48, 0xd6, 0x5e, 0xe8, 0x42, 0x92, 0x74, 0xe0, 0xd2, - 0x69, 0xf2, 0xcf, 0x25, 0x2d, 0x2c, 0x98, 0x95, 0x46, 0x23, 0xee, 0x25, 0x3e, 0x5d, 0xf6, 0x33, - 0x30, 0x5c, 0x85, 0x21, 0xea, 0x38, 0xb6, 0x23, 0xeb, 0x44, 0x40, 0x26, 0x45, 0x40, 0xfb, 0x10, - 0x27, 0xa8, 0xb0, 0x3e, 0x72, 0x00, 0x84, 0x4f, 0x6f, 0x7c, 0x2d, 0xc6, 0x37, 0xfe, 0x3d, 0x92, - 0xad, 0xe3, 0x5b, 0x60, 0x63, 0x66, 0xa1, 0x51, 0x4f, 0x25, 0x71, 0x48, 0x0b, 0x40, 0x39, 0xd2, - 0x89, 0xd6, 0x3d, 0xed, 0xcf, 0xa3, 0x30, 0x84, 0x17, 0x3c, 0xb9, 0x02, 0x83, 0x38, 0xf6, 0x73, - 0xef, 0x70, 0xf4, 0xb5, 0xc2, 0x23, 0x3f, 0xee, 0x93, 0x2c, 0x4c, 0xfa, 0x89, 0x98, 0xdf, 0xd7, - 0x8b, 0x9e, 0xf0, 0x52, 0xc9, 0x5c, 0x6a, 0xd4, 0x53, 0xaa, 0xbf, 0x75, 0x1b, 0x77, 0x24, 0xe6, - 0x89, 0xf0, 0x0e, 0xb9, 0x01, 0x71, 0xec, 0x53, 0x78, 0xdb, 0x22, 0xe6, 0x38, 0xac, 0xba, 0x0c, - 0xe6, 0xed, 0x86, 0x5c, 0x75, 0x03, 0x94, 0x1d, 0x07, 0xec, 0x6e, 0x7c, 0x5e, 0x3e, 0x32, 0xe1, - 0x71, 0x40, 0xbc, 0x8d, 0x39, 0x2e, 0xc1, 0xa4, 0x04, 0x93, 0xcd, 0x2b, 0xbd, 0x6c, 0x56, 0x4c, - 0xcf, 0x7f, 0x91, 0x5d, 0xc0, 0xc0, 0x62, 0x30, 0x9a, 0x77, 0xf8, 0x3d, 0x24, 0xe0, 0xd9, 0xcc, - 0x82, 0xab, 0x3a, 0xa1, 0x8d, 0x50, 0x4b, 0x32, 0x11, 0xde, 0x23, 0xbf, 0x53, 0xe0, 0x4a, 0x8b, - 0xa6, 0x7c, 0xe1, 0xa4, 0x79, 0x8a, 0xf3, 0xc5, 0xb2, 0xee, 0xba, 0xfc, 0xa9, 0x65, 0x44, 0x7a, - 0x9f, 0xed, 0x64, 0x40, 0xe6, 0xc4, 0x3f, 0xcd, 0xeb, 0x8c, 0x69, 0x5b, 0xaf, 0x50, 0x6e, 0xd3, - 0x55, 0x71, 0xc3, 0x5f, 0x76, 0x7a, 0xd1, 0xe7, 0x7a, 0x93, 0x90, 0x5d, 0x88, 0x57, 0xa9, 0x53, - 0x31, 0x5d, 0x17, 0x3b, 0x77, 0xfe, 0x6a, 0x3c, 0x27, 0x59, 0xb5, 0x13, 0xec, 0xf2, 0x78, 0x4b, - 0xe4, 0x72, 0xbc, 0x25, 0x38, 0xf9, 0x2f, 0x05, 0xe2, 0x12, 0x1f, 0xc9, 0xc1, 0xa8, 0x5b, 0x2b, - 0x1c, 0xd2, 0x62, 0xb3, 0xc2, 0x2c, 0x74, 0xd6, 0x90, 0xde, 0xe5, 0x64, 0xa2, 0x7b, 0x10, 0x3c, - 0xa1, 0xee, 0x41, 0x60, 0x78, 0xc6, 0xa9, 0x53, 0xe0, 0xcf, 0x31, 0xfe, 0x19, 0x67, 0x40, 0xe8, - 0x8c, 0x33, 0x20, 0xf9, 0x1e, 0x8c, 0x08, 0xb9, 0x2c, 0xe3, 0x8f, 0x4c, 0xcb, 0x90, 0x33, 0x9e, - 0xad, 0xe5, 0x8c, 0x67, 0xeb, 0xe6, 0xc9, 0x18, 0x38, 0xfd, 0x64, 0x24, 0x4d, 0x98, 0xee, 0x90, - 0x37, 0x4f, 0x51, 0xa5, 0x94, 0x9e, 0x77, 0xe5, 0xc7, 0x0a, 0x5c, 0x39, 0x5b, 0x8a, 0x9c, 0x4d, - 0xfd, 0x5b, 0xb2, 0x7a, 0x7f, 0x98, 0x0a, 0x09, 0x6c, 0xd1, 0xd6, 0xab, 0x8c, 0xfe, 0x6c, 0x08, - 0x2e, 0x9e, 0xc2, 0xcf, 0x9a, 0xec, 0xf9, 0x8a, 0xfe, 0x03, 0xb3, 0x52, 0xab, 0x04, 0x1d, 0xf6, - 0xbe, 0xa3, 0x17, 0x59, 0x91, 0x17, 0x79, 0xf1, 0xad, 0x5e, 0x56, 0xa4, 0xef, 0x73, 0x09, 0x3e, - 0x7a, 0x5b, 0xf0, 0xf3, 0xb3, 0x91, 0x12, 0x67, 0xe3, 0x42, 0xa5, 0x33, 0x55, 0xae, 0xdb, 0x06, - 0xf9, 0xbd, 0x02, 0x97, 0xbb, 0x1a, 0x87, 0x67, 0xd8, 0xb6, 0xcb, 0x98, 0x6b, 0xf1, 0xd5, 0xf5, - 0xa7, 0x35, 0x32, 0x73, 0xb2, 0x63, 0xdb, 0x65, 0x71, 0x51, 0x0a, 0x53, 0x5f, 0xa8, 0x9c, 0x46, - 0x9b, 0x3b, 0x7d, 0x9b, 0x5d, 0x97, 0xa7, 0x05, 0xe4, 0xbc, 0x12, 0x51, 0xeb, 0xed, 0xe0, 0xd9, - 0x54, 0x3f, 0x08, 0x27, 0xe1, 0x4b, 0xed, 0x91, 0xc5, 0x28, 0xf4, 0x97, 0x88, 0x7f, 0x18, 0x80, - 0x54, 0x0f, 0x19, 0xe4, 0xe3, 0x33, 0x24, 0xe3, 0xda, 0x59, 0xac, 0x39, 0xa7, 0x84, 0xfc, 0x3a, - 0xbe, 0xac, 0x96, 0x85, 0x18, 0x96, 0xe4, 0x7b, 0xa6, 0xeb, 0x91, 0xeb, 0x30, 0x8c, 0xad, 0xa8, - 0x5f, 0xb2, 0x21, 0x28, 0xd9, 0xbc, 0x39, 0xe6, 0xbb, 0x72, 0x73, 0xcc, 0x11, 0x6d, 0x0f, 0x08, - 0x7f, 0x76, 0x2c, 0x4b, 0xfd, 0x1b, 0xb9, 0x05, 0xe3, 0x45, 0x8e, 0x52, 0x43, 0xea, 0xb3, 0xf1, - 0x37, 0x83, 0xe6, 0x46, 0xb8, 0xdb, 0x1e, 0x93, 0x71, 0xed, 0x06, 0x4c, 0xa2, 0xf6, 0x3b, 0xb4, - 0xf9, 0xec, 0x7c, 0xc6, 0x06, 0x46, 0xbb, 0x05, 0xea, 0xae, 0xe7, 0x50, 0xbd, 0x62, 0x5a, 0xa5, - 0x56, 0x19, 0x2f, 0x42, 0xd4, 0xaa, 0x55, 0x50, 0xc4, 0x38, 0x0f, 0xa4, 0x55, 0xab, 0xc8, 0x81, - 0xb4, 0x6a, 0x15, 0xed, 0x4d, 0x20, 0xc8, 0xb7, 0x41, 0xcb, 0xd4, 0xa3, 0xfd, 0xaa, 0xff, 0x54, - 0x01, 0xe0, 0xef, 0x94, 0x9b, 0xd6, 0xbe, 0x7d, 0xe6, 0xb6, 0xeb, 0x06, 0xc4, 0x31, 0xa2, 0x46, - 0xfe, 0xd0, 0xc6, 0x8b, 0x4e, 0x59, 0x1a, 0xe2, 0xfd, 0x12, 0x87, 0xb7, 0xec, 0xd0, 0x6d, 0x07, - 0x01, 0xca, 0x58, 0xcb, 0x54, 0x77, 0x7d, 0xd6, 0x68, 0xc0, 0xca, 0xe1, 0x56, 0xd6, 0x00, 0xd5, - 0x1e, 0xc1, 0x34, 0xba, 0xba, 0x57, 0x35, 0x74, 0x2f, 0x18, 0x1b, 0xde, 0x90, 0x5f, 0xf8, 0xc3, - 0xd9, 0x70, 0xda, 0x1c, 0xd3, 0x47, 0x5b, 0x5c, 0x03, 0x35, 0xa3, 0x7b, 0xc5, 0x83, 0x4e, 0xda, - 0xdf, 0x83, 0xf1, 0x7d, 0xdd, 0x2c, 0xfb, 0x2f, 0x5f, 0x7e, 0x4e, 0xaa, 0x81, 0x15, 0x61, 0x06, - 0x9e, 0x56, 0x9c, 0xe5, 0xed, 0xd6, 0x3c, 0x1d, 0x93, 0xf1, 0xa6, 0xbf, 0xeb, 0xf8, 0x46, 0xf2, - 0x75, 0xf9, 0xdb, 0xa2, 0xbd, 0xb7, 0xbf, 0x61, 0x86, 0x3e, 0xfc, 0x8d, 0x43, 0x2c, 0x6b, 0x19, - 0xf7, 0x75, 0xe7, 0x88, 0x3a, 0xda, 0x47, 0x0a, 0xcc, 0x86, 0x4f, 0xc6, 0x7d, 0xea, 0xba, 0x7a, - 0x89, 0x92, 0x6f, 0xf4, 0xe7, 0xff, 0xdd, 0x48, 0xf0, 0x0c, 0x1d, 0xa5, 0x96, 0x21, 0x0a, 0xfa, - 0x04, 0xb2, 0x35, 0xf5, 0xf1, 0xf3, 0x45, 0xe5, 0x86, 0xeb, 0x6e, 0x24, 0xc7, 0xe8, 0x33, 0x23, - 0x30, 0x44, 0x8f, 0xa9, 0xe5, 0x2d, 0x27, 0x21, 0x2e, 0xfd, 0x06, 0x4b, 0xe2, 0x30, 0x22, 0x96, - 0x89, 0xc8, 0xf2, 0x55, 0x88, 0x4b, 0x3f, 0xd6, 0x91, 0x31, 0x18, 0xdd, 0xb6, 0x0d, 0xba, 0x63, - 0x3b, 0x5e, 0x22, 0xc2, 0x56, 0x77, 0xa9, 0x6e, 0x94, 0x19, 0xa9, 0xb2, 0xfc, 0x89, 0x02, 0xa3, - 0xfe, 0xc3, 0x3f, 0x01, 0x18, 0x7e, 0x7b, 0x2f, 0xbb, 0x97, 0xdd, 0x48, 0x44, 0x98, 0xc0, 0x9d, - 0xec, 0xf6, 0xc6, 0xe6, 0xf6, 0x9d, 0x84, 0xc2, 0x16, 0xb9, 0xbd, 0xed, 0x6d, 0xb6, 0x18, 0x20, - 0xe3, 0x10, 0xdb, 0xdd, 0x5b, 0x5f, 0xcf, 0x66, 0x37, 0xb2, 0x1b, 0x89, 0x28, 0x63, 0xba, 0xbd, - 0xb6, 0x79, 0x2f, 0xbb, 0x91, 0x18, 0x64, 0x74, 0x7b, 0xdb, 0x6f, 0x6d, 0x3f, 0x78, 0x77, 0x3b, - 0x31, 0xc4, 0xe9, 0x32, 0xf7, 0x37, 0x1f, 0x3e, 0xcc, 0x6e, 0x24, 0x86, 0x19, 0xdd, 0xbd, 0xec, - 0xda, 0x6e, 0x76, 0x23, 0x31, 0xc2, 0xb6, 0x76, 0x72, 0xd9, 0xec, 0xfd, 0x1d, 0xb6, 0x35, 0xca, - 0x96, 0xeb, 0x6b, 0xdb, 0xeb, 0xd9, 0x7b, 0x4c, 0x4a, 0x8c, 0x59, 0x98, 0xcb, 0x6e, 0x65, 0xd7, - 0xd9, 0x26, 0xac, 0xfe, 0x31, 0x0a, 0x63, 0x18, 0x50, 0xff, 0x69, 0xe9, 0x75, 0x88, 0xf3, 0xaf, - 0xca, 0xa7, 0x33, 0x29, 0xe4, 0xc9, 0xb9, 0xb6, 0x27, 0xbf, 0x2c, 0x0b, 0x9e, 0x16, 0x21, 0xb7, - 0x60, 0x4c, 0x62, 0x72, 0xc9, 0x44, 0xc0, 0xc5, 0xca, 0x78, 0xf2, 0x05, 0x5c, 0x77, 0x4b, 0x34, - 0x2d, 0xc2, 0xb4, 0xf2, 0xb3, 0xd3, 0xa7, 0x56, 0x89, 0xa9, 0xb7, 0xd6, 0xf0, 0xe9, 0xd4, 0x22, - 0xe4, 0xdb, 0x10, 0xe7, 0xb5, 0x94, 0x6b, 0xbd, 0x10, 0xf0, 0x87, 0x4a, 0xec, 0x29, 0x26, 0xa4, - 0x61, 0xf4, 0x0e, 0xf5, 0x38, 0xfb, 0x4c, 0xc0, 0x1e, 0x54, 0xf6, 0xa4, 0xe4, 0x8a, 0x16, 0x21, - 0x5b, 0x10, 0xf3, 0xe9, 0x5d, 0xc2, 0xed, 0xeb, 0x76, 0x27, 0x24, 0x93, 0x1d, 0xb6, 0xc5, 0xc1, - 0xd0, 0x22, 0xaf, 0x29, 0xab, 0xbf, 0x88, 0xc1, 0x30, 0x9f, 0xc5, 0xc9, 0x3b, 0x00, 0xfc, 0x2f, - 0xac, 0xbb, 0xb3, 0x1d, 0x7f, 0x68, 0x4d, 0xce, 0x75, 0x1e, 0xe0, 0xb5, 0xf9, 0x9f, 0xfc, 0xe9, - 0xef, 0xbf, 0x1c, 0x98, 0xd6, 0x26, 0x56, 0x8e, 0xaf, 0xad, 0x1c, 0xda, 0x05, 0xf1, 0x6f, 0x64, - 0x37, 0x95, 0x65, 0xf2, 0x2e, 0x00, 0xbf, 0x44, 0xc3, 0x72, 0x43, 0xbf, 0xe7, 0x25, 0x79, 0xd8, - 0xda, 0x2f, 0xdb, 0x76, 0xc1, 0xfc, 0x26, 0x65, 0x82, 0xbf, 0x0f, 0x63, 0x4d, 0xc1, 0xbb, 0xd4, - 0x23, 0xaa, 0xf4, 0x13, 0x5d, 0x58, 0x7a, 0xb7, 0xd8, 0x5f, 0x42, 0xe1, 0x73, 0xda, 0x94, 0x10, - 0xee, 0x52, 0x4f, 0x92, 0x6f, 0x41, 0x42, 0x7e, 0x36, 0x42, 0xf3, 0x2f, 0x76, 0x7e, 0x50, 0xe2, - 0x6a, 0x2e, 0x9d, 0xf6, 0xda, 0xa4, 0xa5, 0x50, 0xd9, 0xbc, 0x36, 0xe3, 0x7b, 0x22, 0xbd, 0x1c, - 0x51, 0xa6, 0xef, 0x3d, 0x88, 0x8b, 0x1f, 0xa3, 0x51, 0x55, 0x33, 0xd4, 0xe1, 0x5f, 0xa8, 0xbb, - 0x3a, 0x93, 0x44, 0xf9, 0x33, 0xda, 0xa4, 0x2f, 0xbf, 0xca, 0xf9, 0x98, 0xe8, 0x3b, 0xfd, 0x1f, - 0xc8, 0x19, 0x14, 0x37, 0xa1, 0xc5, 0x98, 0x38, 0x2c, 0x88, 0x4c, 0x50, 0xf1, 0xd9, 0x0e, 0xe9, - 0x4b, 0x28, 0x74, 0x41, 0x9b, 0x67, 0x42, 0x0b, 0x8c, 0x8a, 0x1a, 0x2b, 0xfc, 0x4d, 0x5f, 0xdc, - 0x0f, 0x4c, 0xc9, 0x76, 0xff, 0x07, 0xf9, 0x22, 0x0a, 0x9e, 0x4d, 0x26, 0x9a, 0xd6, 0xae, 0xfc, - 0x88, 0xb5, 0x1e, 0x1f, 0x0a, 0xa3, 0x9f, 0xe5, 0x8c, 0x0b, 0xa3, 0x93, 0x21, 0xa3, 0x6b, 0x48, - 0x23, 0x19, 0xfd, 0x9d, 0x67, 0xac, 0x03, 0x2a, 0x6a, 0x21, 0xcb, 0x6d, 0x1e, 0x90, 0xdb, 0x7d, - 0xd5, 0x07, 0x21, 0x87, 0xb4, 0xcb, 0x31, 0x9e, 0x53, 0xdd, 0x10, 0x89, 0x46, 0x88, 0x1c, 0x0f, - 0x1e, 0x88, 0xd7, 0x14, 0x72, 0x13, 0x86, 0xef, 0xe2, 0xbf, 0x53, 0x92, 0x2e, 0x9e, 0x26, 0xf9, - 0x39, 0xe5, 0x44, 0xeb, 0x07, 0xb4, 0x78, 0xd4, 0xbc, 0xfb, 0xdf, 0xff, 0xe2, 0x6f, 0x0b, 0x91, - 0x1f, 0x3f, 0x5e, 0x50, 0x3e, 0x7b, 0xbc, 0xa0, 0x7c, 0xfe, 0x78, 0x41, 0xf9, 0xeb, 0xe3, 0x05, - 0xe5, 0xa3, 0x27, 0x0b, 0x91, 0xcf, 0x9f, 0x2c, 0x44, 0xbe, 0x78, 0xb2, 0x10, 0xf9, 0xee, 0xff, - 0x49, 0xff, 0xe1, 0xa9, 0x3b, 0x15, 0xdd, 0xd0, 0xab, 0x8e, 0x7d, 0x48, 0x8b, 0x9e, 0x58, 0xad, - 0x88, 0x7f, 0xe9, 0xfc, 0x74, 0x60, 0x66, 0x0d, 0x81, 0x1d, 0xbe, 0x9d, 0xde, 0xb4, 0xd3, 0x6b, - 0x55, 0xb3, 0x30, 0x8c, 0xb6, 0xbc, 0xfe, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4c, 0x6f, 0x9b, - 0x69, 0xef, 0x2a, 0x00, 0x00, + // 2975 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcd, 0x6f, 0x1b, 0xc7, + 0x15, 0xe7, 0x8a, 0xfa, 0xe2, 0xa3, 0x3e, 0xa8, 0xd1, 0x87, 0x57, 0xb4, 0x23, 0xca, 0x9b, 0xc4, + 0x95, 0x85, 0x84, 0x8a, 0x95, 0x06, 0xb5, 0xdd, 0x14, 0xae, 0x28, 0xd1, 0xb6, 0x64, 0x5b, 0x56, + 0x28, 0x2b, 0x69, 0x8a, 0xa2, 0xcc, 0x92, 0x3b, 0xa2, 0x56, 0x22, 0x77, 0x99, 0xdd, 0xa5, 0x5c, + 0xb5, 0x08, 0x50, 0x14, 0x45, 0x7b, 0xe8, 0x25, 0x40, 0x6f, 0x2d, 0x90, 0x1c, 0x7a, 0x4b, 0x0f, + 0xbd, 0x14, 0x45, 0xff, 0x84, 0x1c, 0x03, 0x14, 0x05, 0xd2, 0x0b, 0xd1, 0x38, 0xfd, 0x00, 0x78, + 0xeb, 0xbd, 0x87, 0x62, 0xde, 0xcc, 0x72, 0x67, 0xf9, 0x21, 0x8a, 0xb6, 0x95, 0x5c, 0x7a, 0xd3, + 0xfc, 0xe6, 0x7d, 0xef, 0x9b, 0x37, 0xef, 0x0d, 0x05, 0x33, 0xd5, 0xa3, 0xd2, 0x8a, 0x5e, 0x35, + 0x57, 0xdc, 0x5a, 0xa1, 0x62, 0x7a, 0xe9, 0xaa, 0x63, 0x7b, 0x36, 0x89, 0xea, 0x55, 0x33, 0x79, + 0xb1, 0x64, 0xdb, 0xa5, 0x32, 0x5d, 0x41, 0xa8, 0x50, 0xdb, 0x5f, 0xa1, 0x95, 0xaa, 0x77, 0xc2, + 0x29, 0x92, 0xa9, 0xd6, 0x4d, 0xcf, 0xac, 0x50, 0xd7, 0xd3, 0x2b, 0x55, 0x41, 0xa0, 0x1d, 0x5d, + 0x77, 0xd3, 0xa6, 0x8d, 0xb2, 0x8b, 0xb6, 0x43, 0x57, 0x8e, 0xaf, 0xad, 0x94, 0xa8, 0x45, 0x1d, + 0xdd, 0xa3, 0x86, 0xa0, 0x59, 0x92, 0x68, 0x2c, 0xea, 0x3d, 0xb6, 0x9d, 0x23, 0xd3, 0x2a, 0x75, + 0xa2, 0xbc, 0x24, 0xd4, 0x31, 0x4a, 0xdd, 0xb2, 0x6c, 0x4f, 0xf7, 0x4c, 0xdb, 0x72, 0xc5, 0xee, + 0xab, 0x25, 0xd3, 0x3b, 0xa8, 0x15, 0xd2, 0x45, 0xbb, 0xb2, 0x52, 0xb2, 0x4b, 0x76, 0x60, 0x15, + 0x5b, 0xe1, 0x02, 0xff, 0x12, 0xe4, 0x4d, 0x9f, 0x0f, 0xa8, 0x5e, 0xf6, 0x0e, 0x38, 0xaa, 0x7d, + 0x1c, 0x83, 0x99, 0x2d, 0xbb, 0xb0, 0x8b, 0x71, 0xc8, 0xd1, 0xf7, 0x6b, 0xd4, 0xf5, 0x36, 0x3d, + 0x5a, 0x21, 0xab, 0x30, 0x5a, 0x75, 0x4c, 0xdb, 0x31, 0xbd, 0x13, 0x55, 0x59, 0x54, 0x96, 0x94, + 0xcc, 0x5c, 0xa3, 0x9e, 0x22, 0x3e, 0xf6, 0x8a, 0x5d, 0x31, 0x3d, 0x0c, 0x4d, 0xae, 0x49, 0x47, + 0xde, 0x80, 0x98, 0xa5, 0x57, 0xa8, 0x5b, 0xd5, 0x8b, 0x54, 0x8d, 0x2e, 0x2a, 0x4b, 0xb1, 0xcc, + 0x85, 0x46, 0x3d, 0x35, 0xdd, 0x04, 0x25, 0xae, 0x80, 0x92, 0xbc, 0x0e, 0xb1, 0x62, 0xd9, 0xa4, + 0x96, 0x97, 0x37, 0x0d, 0x75, 0x14, 0xd9, 0x50, 0x17, 0x07, 0x37, 0x0d, 0x59, 0x97, 0x8f, 0x91, + 0x5d, 0x18, 0x2e, 0xeb, 0x05, 0x5a, 0x76, 0xd5, 0xc1, 0xc5, 0xe8, 0x52, 0x7c, 0xf5, 0xe5, 0xb4, + 0x5e, 0x35, 0xd3, 0x9d, 0x5c, 0x49, 0xdf, 0x47, 0xba, 0xac, 0xe5, 0x39, 0x27, 0x99, 0x99, 0x46, + 0x3d, 0x95, 0xe0, 0x8c, 0x92, 0x58, 0x21, 0x8a, 0x94, 0x20, 0x2e, 0xc5, 0x59, 0x1d, 0x42, 0xc9, + 0xcb, 0xdd, 0x25, 0xaf, 0x05, 0xc4, 0x5c, 0xfc, 0x7c, 0xa3, 0x9e, 0x9a, 0x95, 0x44, 0x48, 0x3a, + 0x64, 0xc9, 0xe4, 0x97, 0x0a, 0xcc, 0x38, 0xf4, 0xfd, 0x9a, 0xe9, 0x50, 0x23, 0x6f, 0xd9, 0x06, + 0xcd, 0x0b, 0x67, 0x86, 0x51, 0xe5, 0xb5, 0xee, 0x2a, 0x73, 0x82, 0x6b, 0xdb, 0x36, 0xa8, 0xec, + 0x98, 0xd6, 0xa8, 0xa7, 0x2e, 0x39, 0x6d, 0x9b, 0x81, 0x01, 0xaa, 0x92, 0x23, 0xed, 0xfb, 0xe4, + 0x21, 0x8c, 0x56, 0x6d, 0x23, 0xef, 0x56, 0x69, 0x51, 0x1d, 0x58, 0x54, 0x96, 0xe2, 0xab, 0x17, + 0xd3, 0x3c, 0x41, 0xd1, 0x06, 0x96, 0xc4, 0xe9, 0xe3, 0x6b, 0xe9, 0x1d, 0xdb, 0xd8, 0xad, 0xd2, + 0x22, 0x7e, 0xcf, 0xa9, 0x2a, 0x5f, 0x84, 0x64, 0x8f, 0x08, 0x90, 0xec, 0x40, 0xcc, 0x17, 0xe8, + 0xaa, 0x23, 0xe8, 0xce, 0xa9, 0x12, 0x79, 0x5a, 0xf1, 0x85, 0x1b, 0x4a, 0x2b, 0x81, 0x91, 0x75, + 0x18, 0x31, 0xad, 0x92, 0x43, 0x5d, 0x57, 0x8d, 0xa1, 0x3c, 0x82, 0x82, 0x36, 0x39, 0xb6, 0x6e, + 0x5b, 0xfb, 0x66, 0x29, 0x33, 0xcb, 0x0c, 0x13, 0x64, 0x92, 0x14, 0x9f, 0x93, 0xdc, 0x86, 0x51, + 0x97, 0x3a, 0xc7, 0x66, 0x91, 0xba, 0x2a, 0x48, 0x52, 0x76, 0x39, 0x28, 0xa4, 0xa0, 0x31, 0x3e, + 0x9d, 0x6c, 0x8c, 0x8f, 0xb1, 0x1c, 0x77, 0x8b, 0x07, 0xd4, 0xa8, 0x95, 0xa9, 0xa3, 0xc6, 0x83, + 0x1c, 0x6f, 0x82, 0x72, 0x8e, 0x37, 0xc1, 0xa4, 0x0e, 0x71, 0xe9, 0x6b, 0x91, 0x17, 0x21, 0x7a, + 0x44, 0xf9, 0xc1, 0x8a, 0x65, 0xa6, 0x1a, 0xf5, 0xd4, 0xf8, 0x11, 0x95, 0xcf, 0x14, 0xdb, 0x25, + 0x57, 0x61, 0xe8, 0x58, 0x2f, 0xd7, 0x28, 0x7e, 0x97, 0x58, 0x66, 0xba, 0x51, 0x4f, 0x4d, 0x22, + 0x20, 0x11, 0x72, 0x8a, 0x9b, 0x03, 0xd7, 0x95, 0xe4, 0x3e, 0x24, 0x5a, 0xf3, 0xf1, 0x5c, 0xf4, + 0x54, 0xe0, 0x42, 0x97, 0x24, 0x3c, 0x0f, 0x75, 0xda, 0x7f, 0xa2, 0x30, 0x1e, 0xfa, 0xd4, 0xe4, + 0x26, 0x0c, 0x7a, 0x27, 0x55, 0x8a, 0x6a, 0x26, 0x56, 0x13, 0x72, 0x32, 0x3c, 0x3a, 0xa9, 0x52, + 0x3c, 0xe3, 0x13, 0x8c, 0x22, 0x94, 0xa0, 0xc8, 0xc3, 0x94, 0x57, 0x6d, 0xc7, 0x73, 0xd5, 0x81, + 0xc5, 0xe8, 0xd2, 0x38, 0x57, 0x8e, 0x80, 0xac, 0x1c, 0x01, 0xf2, 0x5e, 0xb8, 0x18, 0x44, 0x31, + 0x69, 0x5e, 0x6c, 0x4f, 0xbd, 0xa7, 0xaf, 0x02, 0x37, 0x20, 0xee, 0x95, 0xdd, 0x3c, 0xb5, 0xf4, + 0x42, 0x99, 0x1a, 0xea, 0xe0, 0xa2, 0xb2, 0x34, 0x9a, 0x51, 0x1b, 0xf5, 0xd4, 0x8c, 0xc7, 0x22, + 0x8a, 0xa8, 0xc4, 0x0b, 0x01, 0x8a, 0x35, 0x93, 0x3a, 0x5e, 0x9e, 0x55, 0x51, 0x75, 0x48, 0xaa, + 0x99, 0xd4, 0xf1, 0xb6, 0xf5, 0x0a, 0x0d, 0xd5, 0x4c, 0x81, 0x91, 0x5b, 0x30, 0x5e, 0x73, 0x69, + 0xbe, 0x58, 0xae, 0xb9, 0x1e, 0x75, 0x36, 0x77, 0xd4, 0x61, 0xd4, 0x98, 0x6c, 0xd4, 0x53, 0x73, + 0x35, 0x97, 0xae, 0xfb, 0xb8, 0xc4, 0x3c, 0x26, 0xe3, 0x5f, 0x55, 0x8a, 0x69, 0x1e, 0x8c, 0x87, + 0xce, 0x25, 0xb9, 0xde, 0xe1, 0x93, 0x0b, 0x0a, 0xfc, 0xe4, 0xa4, 0xfd, 0x93, 0xf7, 0xfd, 0xc1, + 0xb5, 0xbf, 0x29, 0x90, 0x68, 0xad, 0xb9, 0x8c, 0xff, 0xfd, 0x1a, 0xad, 0x51, 0xe1, 0x20, 0xf2, + 0x23, 0x20, 0xf3, 0x23, 0x40, 0xbe, 0x09, 0x70, 0x68, 0x17, 0xf2, 0x2e, 0xc5, 0x8b, 0x6c, 0x20, + 0xf8, 0x28, 0x87, 0x76, 0x61, 0x97, 0xb6, 0x5c, 0x64, 0x3e, 0x46, 0x0c, 0x98, 0x62, 0x5c, 0x0e, + 0xd7, 0x97, 0x67, 0x04, 0x7e, 0xb2, 0xcd, 0x77, 0xbd, 0x06, 0x32, 0x2f, 0x34, 0xea, 0xa9, 0xf9, + 0x43, 0xbb, 0x20, 0x61, 0xb2, 0x47, 0x93, 0x2d, 0x5b, 0xda, 0xef, 0x14, 0x98, 0xda, 0xb2, 0x0b, + 0x3b, 0x0e, 0x65, 0x04, 0x5f, 0x99, 0x73, 0xaf, 0xc2, 0x08, 0xe3, 0x32, 0x0d, 0xee, 0x52, 0x8c, + 0xdf, 0xbf, 0x87, 0x76, 0x61, 0xd3, 0x08, 0xdd, 0xbf, 0x1c, 0xd1, 0xfe, 0xcb, 0xbf, 0xc0, 0xba, + 0x6e, 0x15, 0x69, 0xd9, 0x37, 0x72, 0x19, 0x86, 0xb9, 0x0c, 0xd9, 0x4a, 0x64, 0x90, 0xad, 0x44, + 0xe0, 0x29, 0xad, 0x6c, 0x86, 0x21, 0xda, 0x33, 0x0c, 0x92, 0x43, 0x83, 0xbd, 0x1d, 0x22, 0xaf, + 0xc0, 0xb0, 0x43, 0x75, 0xd7, 0xb6, 0xc4, 0x19, 0x45, 0x6a, 0x8e, 0xc8, 0xd4, 0x1c, 0xd1, 0xfe, + 0xa9, 0xc0, 0xf4, 0x16, 0x1a, 0x15, 0x8e, 0x40, 0xd8, 0x2b, 0xa5, 0x5f, 0xaf, 0x06, 0x7a, 0x7a, + 0x75, 0x0b, 0x86, 0xf7, 0xcd, 0xb2, 0x47, 0x1d, 0x8c, 0x40, 0x7c, 0x75, 0xaa, 0x99, 0x78, 0xd4, + 0xbb, 0x8d, 0x1b, 0xdc, 0x72, 0x4e, 0x24, 0x5b, 0xce, 0x11, 0xc9, 0xcf, 0xc1, 0x33, 0xf8, 0x79, + 0x0f, 0xc6, 0x64, 0xd9, 0xe4, 0xdb, 0x30, 0xec, 0x7a, 0xba, 0x47, 0x5d, 0x55, 0x59, 0x8c, 0x2e, + 0x4d, 0xac, 0x8e, 0x37, 0xd5, 0x33, 0x94, 0x0b, 0xe3, 0x04, 0xb2, 0x30, 0x8e, 0x68, 0x5f, 0x4c, + 0x42, 0x74, 0xcb, 0x2e, 0x90, 0x45, 0x18, 0x68, 0x06, 0x27, 0xd1, 0xa8, 0xa7, 0xc6, 0x4c, 0x39, + 0x2c, 0x03, 0xa6, 0x11, 0xee, 0x33, 0xc7, 0xcf, 0xd8, 0x67, 0x9e, 0x7b, 0x46, 0x85, 0x9a, 0xe6, + 0x91, 0x33, 0x37, 0xcd, 0x99, 0x66, 0xff, 0xcb, 0x7b, 0xa2, 0x19, 0x3f, 0x66, 0x7d, 0xb4, 0xbb, + 0x6f, 0x87, 0x6f, 0x38, 0x08, 0x17, 0x9d, 0xa7, 0xbf, 0xd7, 0x8e, 0xbb, 0x34, 0xb7, 0x71, 0x54, + 0xb0, 0xd8, 0x54, 0xf0, 0xbc, 0x7b, 0xd9, 0xab, 0x30, 0x64, 0x3f, 0xb6, 0xa8, 0x23, 0x86, 0x08, + 0x8c, 0x3a, 0x02, 0x72, 0xd4, 0x11, 0x20, 0x14, 0x2e, 0x62, 0xf8, 0xf3, 0xb8, 0x74, 0x0f, 0xcc, + 0x6a, 0xbe, 0xe6, 0x52, 0x27, 0x5f, 0x72, 0xec, 0x5a, 0xd5, 0x55, 0x27, 0xf1, 0x6c, 0x5f, 0x69, + 0xd4, 0x53, 0x1a, 0x92, 0x3d, 0xf4, 0xa9, 0xf6, 0x5c, 0xea, 0xdc, 0x41, 0x1a, 0x49, 0xa6, 0xda, + 0x8d, 0x86, 0xfc, 0x5c, 0x81, 0x2b, 0x45, 0xbb, 0x52, 0x65, 0xdd, 0x02, 0x35, 0xf2, 0xa7, 0xa9, + 0x9c, 0x5e, 0x54, 0x96, 0xc6, 0x32, 0xaf, 0x35, 0xea, 0xa9, 0x57, 0x02, 0x8e, 0xb7, 0x7a, 0x2b, + 0xd7, 0x7a, 0x53, 0x87, 0x86, 0xb9, 0xc1, 0x33, 0x0e, 0x73, 0xf2, 0x60, 0x30, 0xf4, 0xdc, 0x07, + 0x83, 0xb1, 0xe7, 0x31, 0x18, 0xfc, 0x46, 0x81, 0x45, 0xd1, 0x62, 0x9b, 0x56, 0x29, 0xef, 0x50, + 0xd7, 0xae, 0x39, 0x45, 0x9a, 0x17, 0xa9, 0x51, 0xa1, 0x96, 0xe7, 0xaa, 0xb3, 0x68, 0xfb, 0x52, + 0x27, 0x4d, 0x39, 0xc1, 0x90, 0x93, 0xe8, 0x33, 0x57, 0x3e, 0xad, 0xa7, 0x22, 0x8d, 0x7a, 0x6a, + 0x21, 0x90, 0xdc, 0x89, 0x2e, 0xd7, 0x63, 0x9f, 0xdc, 0x83, 0x91, 0xa2, 0x43, 0xd9, 0x34, 0x8f, + 0x6d, 0x56, 0x7c, 0x35, 0x99, 0xe6, 0xe3, 0x7c, 0xda, 0x9f, 0xd3, 0xd3, 0x8f, 0xfc, 0xd7, 0x03, + 0x3e, 0xbd, 0x08, 0x72, 0x79, 0x7a, 0x11, 0x90, 0x3c, 0x02, 0x4d, 0x3c, 0x97, 0x11, 0x28, 0xf1, + 0x0c, 0x23, 0xd0, 0x0f, 0x20, 0x7e, 0x74, 0xdd, 0xcd, 0xfb, 0x06, 0x4d, 0xa1, 0xa8, 0xcb, 0x72, + 0x80, 0x83, 0x67, 0x0d, 0x16, 0x66, 0x61, 0x25, 0xef, 0x6c, 0x8f, 0xae, 0xbb, 0x9b, 0x6d, 0x26, + 0x42, 0x80, 0xb2, 0xa2, 0xc4, 0xa4, 0x0b, 0x6d, 0x2a, 0xe9, 0x9e, 0x28, 0xc2, 0xee, 0xa6, 0x5c, + 0xb1, 0x6e, 0x91, 0x2b, 0xd0, 0xf0, 0xe0, 0x36, 0x73, 0xd6, 0xc1, 0x8d, 0x6c, 0xc2, 0x14, 0x3f, + 0xb5, 0x9e, 0x57, 0xce, 0xbb, 0xb4, 0x68, 0x5b, 0x86, 0xab, 0xce, 0x2d, 0x2a, 0x4b, 0x51, 0xde, + 0x83, 0xe1, 0xe6, 0x23, 0xaf, 0xbc, 0xcb, 0xb7, 0xe4, 0x1e, 0xac, 0x65, 0xeb, 0xff, 0x33, 0xe0, + 0x53, 0xcf, 0x03, 0xff, 0x52, 0x60, 0x6e, 0x8b, 0x75, 0xb4, 0xa2, 0x3a, 0x99, 0x3f, 0xa6, 0x7e, + 0x6f, 0x24, 0x35, 0x64, 0xca, 0x19, 0x1a, 0xb2, 0x73, 0xbf, 0xce, 0xdf, 0x84, 0x31, 0x8b, 0x3e, + 0xce, 0xb7, 0x94, 0x5b, 0xbc, 0x39, 0x2d, 0xfa, 0x78, 0xa7, 0xbd, 0xe2, 0xc6, 0x25, 0x58, 0xfb, + 0xfd, 0x00, 0x5c, 0x68, 0x73, 0xd4, 0xad, 0xda, 0x96, 0x4b, 0xc9, 0x6f, 0x15, 0x50, 0x9d, 0x60, + 0x03, 0x3f, 0x31, 0xab, 0x79, 0xb5, 0xb2, 0xc7, 0x7d, 0x8f, 0xaf, 0xde, 0xf0, 0xaf, 0xd6, 0x4e, + 0x02, 0xd2, 0xb9, 0x16, 0xe6, 0x1c, 0xe7, 0xe5, 0x77, 0xee, 0xcb, 0x8d, 0x7a, 0xea, 0xb2, 0xd3, + 0x99, 0x42, 0xb2, 0xf6, 0x42, 0x17, 0x92, 0xa4, 0x03, 0x97, 0x4e, 0x93, 0x7f, 0x2e, 0x69, 0x61, + 0xc1, 0xac, 0x34, 0x1c, 0x71, 0x2f, 0xf1, 0xf1, 0xb2, 0x9f, 0x91, 0xe1, 0x2a, 0x0c, 0x51, 0xc7, + 0xb1, 0x1d, 0x59, 0x27, 0x02, 0x32, 0x29, 0x02, 0xda, 0x07, 0x38, 0x43, 0x85, 0xf5, 0x91, 0x03, + 0x20, 0x7c, 0x7e, 0xe3, 0x6b, 0x31, 0xc0, 0xf1, 0xef, 0x91, 0x6c, 0x1d, 0xe0, 0x02, 0x1b, 0x33, + 0x0b, 0x8d, 0x7a, 0x2a, 0x89, 0x63, 0x5a, 0x00, 0xca, 0x91, 0x4e, 0xb4, 0xee, 0x69, 0x7f, 0x1d, + 0x85, 0x21, 0xbc, 0xe2, 0xc9, 0x15, 0x18, 0xc4, 0xc1, 0x9f, 0x7b, 0x87, 0xc3, 0xaf, 0x15, 0x1e, + 0xfa, 0x71, 0x9f, 0x64, 0x61, 0xd2, 0x4f, 0xc4, 0xfc, 0xbe, 0x5e, 0xf4, 0x84, 0x97, 0x4a, 0xe6, + 0x52, 0xa3, 0x9e, 0x52, 0xfd, 0xad, 0xdb, 0xb8, 0x23, 0x31, 0x4f, 0x84, 0x77, 0xc8, 0x0d, 0x88, + 0x63, 0xa7, 0xc2, 0x1b, 0x17, 0x31, 0xc9, 0x61, 0xd5, 0x65, 0x30, 0x6f, 0x38, 0xe4, 0xaa, 0x1b, + 0xa0, 0xec, 0x38, 0x60, 0x7f, 0xe3, 0xf3, 0xf2, 0xa1, 0x09, 0x8f, 0x03, 0xe2, 0x6d, 0xcc, 0x71, + 0x09, 0x26, 0x25, 0x98, 0x6c, 0x5e, 0xea, 0x65, 0xb3, 0x62, 0x7a, 0xfe, 0x9b, 0xec, 0x02, 0x06, + 0x16, 0x83, 0xd1, 0xbc, 0xc5, 0xef, 0x23, 0x01, 0xcf, 0x66, 0x16, 0x5c, 0xd5, 0x09, 0x6d, 0x84, + 0x9a, 0x92, 0x89, 0xf0, 0x1e, 0xf9, 0x83, 0x02, 0x57, 0x5a, 0x34, 0xe5, 0x0b, 0x27, 0xcd, 0x53, + 0x9c, 0x2f, 0x96, 0x75, 0xd7, 0xe5, 0x8f, 0x2d, 0x23, 0xd2, 0x0b, 0x6d, 0x27, 0x03, 0x32, 0x27, + 0xfe, 0x69, 0x5e, 0x67, 0x4c, 0xdb, 0x7a, 0x85, 0x72, 0x9b, 0xae, 0x8a, 0xc6, 0xe2, 0xb2, 0xd3, + 0x8b, 0x3e, 0xd7, 0x9b, 0x84, 0xec, 0x42, 0xbc, 0x4a, 0x9d, 0x8a, 0xe9, 0xba, 0xd8, 0xbb, 0xf3, + 0x77, 0xe3, 0x39, 0xc9, 0xaa, 0x9d, 0x60, 0x97, 0xc7, 0x5b, 0x22, 0x97, 0xe3, 0x2d, 0xc1, 0xc9, + 0x7f, 0x2b, 0x10, 0x97, 0xf8, 0x48, 0x0e, 0x46, 0xdd, 0x5a, 0xe1, 0x90, 0x16, 0x9b, 0x15, 0x66, + 0xa1, 0xb3, 0x86, 0xf4, 0x2e, 0x27, 0x13, 0xdd, 0x83, 0xe0, 0x09, 0x75, 0x0f, 0x02, 0xc3, 0x33, + 0x4e, 0x9d, 0x02, 0x7f, 0x90, 0xf1, 0xcf, 0x38, 0x03, 0x42, 0x67, 0x9c, 0x01, 0xc9, 0x77, 0x61, + 0x44, 0xc8, 0x65, 0x19, 0x7f, 0x64, 0x5a, 0x86, 0x9c, 0xf1, 0x6c, 0x2d, 0x67, 0x3c, 0x5b, 0x37, + 0x4f, 0xc6, 0xc0, 0xe9, 0x27, 0x23, 0x69, 0xc2, 0x74, 0x87, 0xbc, 0x79, 0x8a, 0x2a, 0xa5, 0xf4, + 0xbc, 0x2b, 0x3f, 0x52, 0xe0, 0xca, 0xd9, 0x52, 0xe4, 0x6c, 0xea, 0xef, 0xc9, 0xea, 0xfd, 0x71, + 0x2a, 0x24, 0xb0, 0x45, 0x5b, 0xaf, 0x32, 0xfa, 0x8b, 0x21, 0xb8, 0x78, 0x0a, 0x3f, 0x6b, 0xb3, + 0xe7, 0x2b, 0xfa, 0x8f, 0xcc, 0x4a, 0xad, 0x12, 0xf4, 0xd8, 0xfb, 0x8e, 0x5e, 0x64, 0x45, 0x5e, + 0xe4, 0xc5, 0x77, 0x7a, 0x59, 0x91, 0x7e, 0xc0, 0x25, 0xf8, 0xe8, 0x6d, 0xc1, 0xcf, 0xcf, 0x46, + 0x4a, 0x9c, 0x8d, 0x0b, 0x95, 0xce, 0x54, 0xb9, 0x6e, 0x1b, 0xe4, 0x8f, 0x0a, 0x5c, 0xee, 0x6a, + 0x1c, 0x9e, 0x61, 0xdb, 0x2e, 0x63, 0xae, 0xc5, 0x57, 0xd7, 0x9f, 0xd6, 0xc8, 0xcc, 0xc9, 0x8e, + 0x6d, 0x97, 0xc5, 0x45, 0x29, 0x4c, 0x7d, 0xa1, 0x72, 0x1a, 0x6d, 0xee, 0xf4, 0x6d, 0x76, 0x5d, + 0x9e, 0x16, 0x90, 0xf3, 0x4a, 0x44, 0xad, 0xb7, 0x83, 0x67, 0x53, 0xfd, 0x30, 0x9c, 0x84, 0x2f, + 0xb5, 0x47, 0x16, 0xa3, 0xd0, 0x5f, 0x22, 0xfe, 0x69, 0x00, 0x52, 0x3d, 0x64, 0x90, 0x8f, 0xce, + 0x90, 0x8c, 0x6b, 0x67, 0xb1, 0xe6, 0x9c, 0x12, 0xf2, 0xeb, 0xf8, 0xb2, 0x5a, 0x16, 0x62, 0x58, + 0x92, 0xef, 0x9b, 0xae, 0x47, 0xae, 0xc3, 0x30, 0xb6, 0xa2, 0x7e, 0xc9, 0x86, 0xa0, 0x64, 0xf3, + 0xe6, 0x98, 0xef, 0xca, 0xcd, 0x31, 0x47, 0xb4, 0x3d, 0x20, 0xfc, 0xe1, 0xb1, 0x2c, 0xf5, 0x6f, + 0xe4, 0x16, 0x8c, 0x17, 0x39, 0x4a, 0x0d, 0xa9, 0xcf, 0xc6, 0x5f, 0x0d, 0x9a, 0x1b, 0xe1, 0x6e, + 0x7b, 0x4c, 0xc6, 0xb5, 0x1b, 0x30, 0x89, 0xda, 0xef, 0xd0, 0xe6, 0xc3, 0xf3, 0x19, 0x1b, 0x18, + 0xed, 0x16, 0xa8, 0xbb, 0x9e, 0x43, 0xf5, 0x8a, 0x69, 0x95, 0x5a, 0x65, 0xbc, 0x08, 0x51, 0xab, + 0x56, 0x41, 0x11, 0xe3, 0x3c, 0x90, 0x56, 0xad, 0x22, 0x07, 0xd2, 0xaa, 0x55, 0xb4, 0x37, 0x81, + 0x20, 0xdf, 0x06, 0x2d, 0x53, 0x8f, 0xf6, 0xab, 0xfe, 0x13, 0x05, 0x80, 0xbf, 0x54, 0x6e, 0x5a, + 0xfb, 0xf6, 0x99, 0xdb, 0xae, 0x1b, 0x10, 0xc7, 0x88, 0x1a, 0xf9, 0x43, 0x1b, 0x2f, 0x3a, 0x65, + 0x69, 0x88, 0xf7, 0x4b, 0x1c, 0xde, 0xb2, 0x43, 0xb7, 0x1d, 0x04, 0x28, 0x63, 0x2d, 0x53, 0xdd, + 0xf5, 0x59, 0xa3, 0x01, 0x2b, 0x87, 0x5b, 0x59, 0x03, 0x54, 0x7b, 0x0c, 0xd3, 0xe8, 0xea, 0x5e, + 0xd5, 0xd0, 0xbd, 0x60, 0x6c, 0x78, 0x43, 0x7e, 0xe3, 0x0f, 0x67, 0xc3, 0x69, 0x73, 0x4c, 0x1f, + 0x6d, 0x71, 0x0d, 0xd4, 0x8c, 0xee, 0x15, 0x0f, 0x3a, 0x69, 0x7f, 0x17, 0xc6, 0xf7, 0x75, 0xb3, + 0xec, 0xbf, 0x7d, 0xf9, 0x39, 0xa9, 0x06, 0x56, 0x84, 0x19, 0x78, 0x5a, 0x71, 0x96, 0xb7, 0x5a, + 0xf3, 0x74, 0x4c, 0xc6, 0x9b, 0xfe, 0xae, 0xe3, 0x1b, 0xc9, 0xd7, 0xe5, 0x6f, 0x8b, 0xf6, 0xde, + 0xfe, 0x86, 0x19, 0xfa, 0xf0, 0x37, 0x0e, 0xb1, 0xac, 0x65, 0x3c, 0xd0, 0x9d, 0x23, 0xea, 0x68, + 0x1f, 0x2a, 0x30, 0x1b, 0x3e, 0x19, 0x0f, 0xa8, 0xeb, 0xea, 0x25, 0x4a, 0xbe, 0xd5, 0x9f, 0xff, + 0x77, 0x23, 0xc1, 0x43, 0x74, 0x94, 0x5a, 0x86, 0x28, 0xe8, 0x13, 0xc8, 0xd6, 0xd4, 0xc7, 0xcf, + 0x17, 0x95, 0x1b, 0xae, 0xbb, 0x91, 0x1c, 0xa3, 0xcf, 0x8c, 0xc0, 0x10, 0x3d, 0xa6, 0x96, 0xb7, + 0x9c, 0x84, 0xb8, 0xf4, 0x2b, 0x2c, 0x89, 0xc3, 0x88, 0x58, 0x26, 0x22, 0xcb, 0x57, 0x21, 0x2e, + 0xfd, 0x5c, 0x47, 0xc6, 0x60, 0x74, 0xdb, 0x36, 0xe8, 0x8e, 0xed, 0x78, 0x89, 0x08, 0x5b, 0xdd, + 0xa5, 0xba, 0x51, 0x66, 0xa4, 0xca, 0xf2, 0xc7, 0x0a, 0x8c, 0xfa, 0x4f, 0xff, 0x04, 0x60, 0xf8, + 0xad, 0xbd, 0xec, 0x5e, 0x76, 0x23, 0x11, 0x61, 0x02, 0x77, 0xb2, 0xdb, 0x1b, 0x9b, 0xdb, 0x77, + 0x12, 0x0a, 0x5b, 0xe4, 0xf6, 0xb6, 0xb7, 0xd9, 0x62, 0x80, 0x8c, 0x43, 0x6c, 0x77, 0x6f, 0x7d, + 0x3d, 0x9b, 0xdd, 0xc8, 0x6e, 0x24, 0xa2, 0x8c, 0xe9, 0xf6, 0xda, 0xe6, 0xfd, 0xec, 0x46, 0x62, + 0x90, 0xd1, 0xed, 0x6d, 0xdf, 0xdb, 0x7e, 0xf8, 0xce, 0x76, 0x62, 0x88, 0xd3, 0x65, 0x1e, 0x6c, + 0x3e, 0x7a, 0x94, 0xdd, 0x48, 0x0c, 0x33, 0xba, 0xfb, 0xd9, 0xb5, 0xdd, 0xec, 0x46, 0x62, 0x84, + 0x6d, 0xed, 0xe4, 0xb2, 0xd9, 0x07, 0x3b, 0x6c, 0x6b, 0x94, 0x2d, 0xd7, 0xd7, 0xb6, 0xd7, 0xb3, + 0xf7, 0x99, 0x94, 0x18, 0xb3, 0x30, 0x97, 0xdd, 0xca, 0xae, 0xb3, 0x4d, 0x58, 0xfd, 0x73, 0x14, + 0xc6, 0x30, 0xa0, 0xfe, 0xd3, 0xd2, 0xeb, 0x10, 0xe7, 0x5f, 0x95, 0x4f, 0x67, 0x52, 0xc8, 0x93, + 0x73, 0x6d, 0x8f, 0x7e, 0x59, 0x16, 0x3c, 0x2d, 0x42, 0x6e, 0xc1, 0x98, 0xc4, 0xe4, 0x92, 0x89, + 0x80, 0x8b, 0x95, 0xf1, 0xe4, 0x0b, 0xb8, 0xee, 0x96, 0x68, 0x5a, 0x84, 0x69, 0xe5, 0x67, 0xa7, + 0x4f, 0xad, 0x12, 0x53, 0x6f, 0xad, 0xe1, 0xd3, 0xa9, 0x45, 0xc8, 0x77, 0x21, 0xce, 0x6b, 0x29, + 0xd7, 0x7a, 0x21, 0xe0, 0x0f, 0x95, 0xd8, 0x53, 0x4c, 0x48, 0xc3, 0xe8, 0x1d, 0xea, 0x71, 0xf6, + 0x99, 0x80, 0x3d, 0xa8, 0xec, 0x49, 0xc9, 0x15, 0x2d, 0x42, 0xb6, 0x20, 0xe6, 0xd3, 0xbb, 0x84, + 0xdb, 0xd7, 0xed, 0x4e, 0x48, 0x26, 0x3b, 0x6c, 0x8b, 0x83, 0xa1, 0x45, 0x5e, 0x53, 0x56, 0x7f, + 0x15, 0x83, 0x61, 0x3e, 0x8b, 0x93, 0xb7, 0x01, 0xf8, 0x5f, 0x58, 0x77, 0x67, 0x3b, 0xfe, 0xd4, + 0x9a, 0x9c, 0xeb, 0x3c, 0xc0, 0x6b, 0xf3, 0x3f, 0xfb, 0xcb, 0x3f, 0x7e, 0x3d, 0x30, 0xad, 0x4d, + 0xac, 0x1c, 0x5f, 0x5b, 0x39, 0xb4, 0x0b, 0xe2, 0x1f, 0xc9, 0x6e, 0x2a, 0xcb, 0xe4, 0x1d, 0x00, + 0x7e, 0x89, 0x86, 0xe5, 0x86, 0x7e, 0xd1, 0x4b, 0xf2, 0xb0, 0xb5, 0x5f, 0xb6, 0xed, 0x82, 0xf9, + 0x4d, 0xca, 0x04, 0xff, 0x10, 0xc6, 0x9a, 0x82, 0x77, 0xa9, 0x47, 0x54, 0xe9, 0x47, 0xba, 0xb0, + 0xf4, 0x6e, 0xb1, 0xbf, 0x84, 0xc2, 0xe7, 0xb4, 0x29, 0x21, 0xdc, 0xa5, 0x9e, 0x24, 0xdf, 0x82, + 0x84, 0xfc, 0x6c, 0x84, 0xe6, 0x5f, 0xec, 0xfc, 0xa0, 0xc4, 0xd5, 0x5c, 0x3a, 0xed, 0xb5, 0x49, + 0x4b, 0xa1, 0xb2, 0x79, 0x6d, 0xc6, 0xf7, 0x44, 0x7a, 0x39, 0xa2, 0x4c, 0xdf, 0xbb, 0x10, 0x17, + 0x3f, 0x47, 0xa3, 0xaa, 0x66, 0xa8, 0xc3, 0xbf, 0x51, 0x77, 0x75, 0x26, 0x89, 0xf2, 0x67, 0xb4, + 0x49, 0x5f, 0x7e, 0x95, 0xf3, 0x31, 0xd1, 0x77, 0xfa, 0x3f, 0x90, 0x33, 0x28, 0x6e, 0x42, 0x8b, + 0x31, 0x71, 0x58, 0x10, 0x99, 0xa0, 0xe2, 0xb3, 0x1d, 0xd2, 0x97, 0x50, 0xe8, 0x82, 0x36, 0xcf, + 0x84, 0x16, 0x18, 0x15, 0x35, 0x56, 0xf8, 0x9b, 0xbe, 0xb8, 0x1f, 0x98, 0x92, 0xed, 0xfe, 0x0f, + 0xf2, 0x45, 0x14, 0x3c, 0x9b, 0x4c, 0x34, 0xad, 0x5d, 0xf9, 0x09, 0x6b, 0x3d, 0x3e, 0x10, 0x46, + 0x3f, 0xcb, 0x19, 0x17, 0x46, 0x27, 0x43, 0x46, 0xd7, 0x90, 0x46, 0x32, 0xfa, 0x7b, 0xcf, 0x58, + 0x07, 0x54, 0xd4, 0x42, 0x96, 0xdb, 0x3c, 0x20, 0xb7, 0xfb, 0xaa, 0x0f, 0x42, 0x0e, 0x69, 0x97, + 0x63, 0x3c, 0xa7, 0xba, 0x21, 0x12, 0x8d, 0x10, 0x39, 0x1e, 0x3c, 0x10, 0xaf, 0x29, 0xe4, 0x26, + 0x0c, 0xdf, 0xc5, 0x7f, 0xa8, 0x24, 0x5d, 0x3c, 0x4d, 0xf2, 0x73, 0xca, 0x89, 0xd6, 0x0f, 0x68, + 0xf1, 0xa8, 0x79, 0xf7, 0xbf, 0xf7, 0xf9, 0x17, 0x0b, 0x91, 0x9f, 0x3e, 0x59, 0x50, 0x3e, 0x7d, + 0xb2, 0xa0, 0x7c, 0xf6, 0x64, 0x41, 0xf9, 0xfb, 0x93, 0x05, 0xe5, 0xc3, 0x2f, 0x17, 0x22, 0x9f, + 0x7d, 0xb9, 0x10, 0xf9, 0xfc, 0xcb, 0x85, 0xc8, 0xf7, 0xbf, 0x21, 0xfd, 0x8f, 0xa7, 0xee, 0x54, + 0x74, 0x43, 0xaf, 0x3a, 0xf6, 0x21, 0x2d, 0x7a, 0x62, 0xb5, 0x22, 0xfe, 0xa9, 0xf3, 0x93, 0x81, + 0x99, 0x35, 0x04, 0x76, 0xf8, 0x76, 0x7a, 0xd3, 0x4e, 0xaf, 0x55, 0xcd, 0xc2, 0x30, 0xda, 0xf2, + 0xfa, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x2e, 0x6d, 0xc0, 0x75, 0xf1, 0x2a, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3903,14 +3899,18 @@ func (m *Job) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x3a } - n10, err10 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err10 != nil { - return 0, err10 + if m.Created != nil { + { + size, err := m.Created.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintSubmit(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 } - i -= n10 - i = encodeVarintSubmit(dAtA, i, uint64(n10)) - i-- - dAtA[i] = 0x32 if m.PodSpec != nil { { size, err := m.PodSpec.MarshalToSizedBuffer(dAtA[:i]) @@ -5152,8 +5152,10 @@ func (m *Job) Size() (n int) { l = m.PodSpec.Size() n += 1 + l + sovSubmit(uint64(l)) } - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Created) - n += 1 + l + sovSubmit(uint64(l)) + if m.Created != nil { + l = m.Created.Size() + n += 1 + l + sovSubmit(uint64(l)) + } l = len(m.Namespace) if l > 0 { n += 1 + l + sovSubmit(uint64(l)) @@ -5884,7 +5886,7 @@ func (this *Job) String() string { `Queue:` + fmt.Sprintf("%v", this.Queue) + `,`, `Priority:` + fmt.Sprintf("%v", this.Priority) + `,`, `PodSpec:` + strings.Replace(fmt.Sprintf("%v", this.PodSpec), "PodSpec", "v1.PodSpec", 1) + `,`, - `Created:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `Created:` + strings.Replace(fmt.Sprintf("%v", this.Created), "Timestamp", "types.Timestamp", 1) + `,`, `Namespace:` + fmt.Sprintf("%v", this.Namespace) + `,`, `Owner:` + fmt.Sprintf("%v", this.Owner) + `,`, `Labels:` + mapStringForLabels + `,`, @@ -8420,7 +8422,10 @@ func (m *Job) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Created, dAtA[iNdEx:postIndex]); err != nil { + if m.Created == nil { + m.Created = &types.Timestamp{} + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex diff --git a/pkg/api/submit.proto b/pkg/api/submit.proto index 48abb3385d8..5c9dbacbe27 100644 --- a/pkg/api/submit.proto +++ b/pkg/api/submit.proto @@ -136,7 +136,7 @@ message Job { // This field is populated automatically at submission. // Submitting a job with this field already populated results in an error. k8s.io.api.core.v1.ResourceRequirements scheduling_resource_requirements = 21 [(gogoproto.nullable) = false]; - google.protobuf.Timestamp created = 6 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + google.protobuf.Timestamp created = 6; // Services can be provided either as Armada-specific config objects or as proper k8s objects. // These options are exclusive, i.e., if either ingress or services is provided, // then neither of k8s_ingress or k8s_service can be provided, and vice versa. diff --git a/pkg/client/domain/watch.go b/pkg/client/domain/watch.go index 4efd4425aa1..610c06db0ac 100644 --- a/pkg/client/domain/watch.go +++ b/pkg/client/domain/watch.go @@ -5,6 +5,7 @@ import ( "strings" "time" + protoutil "github.com/armadaproject/armada/internal/common/proto" armadaresource "github.com/armadaproject/armada/internal/common/resource" "github.com/armadaproject/armada/pkg/api" ) @@ -166,15 +167,16 @@ func (context *WatchContext) AreJobsFinished(ids []string) bool { } func updateJobInfo(info *JobInfo, event api.Event) { + eventTs := protoutil.ToStdTime(event.GetCreated()) if isLifeCycleEvent(event) && !isPodEvent(event) { - if info.LastUpdate.After(event.GetCreated()) { + if info.LastUpdate.After(eventTs) { if submitEvent, ok := event.(*api.JobSubmittedEvent); ok { info.Job = &submitEvent.Job } // skipping event as it is out of time order return } - info.LastUpdate = event.GetCreated() + info.LastUpdate = eventTs } switch typed := event.(type) { @@ -234,16 +236,17 @@ func resetPodStatus(info *JobInfo) { func updatePodStatus(info *JobInfo, event api.KubernetesEvent, status PodStatus) { info.ClusterId = event.GetClusterId() podNumber := event.GetPodNumber() + eventTs := protoutil.ToStdTime(event.GetCreated()) for len(info.PodStatus) <= int(podNumber) { info.PodStatus = append(info.PodStatus, Submitted) info.PodLastUpdated = append(info.PodLastUpdated, time.Time{}) } - if info.PodLastUpdated[podNumber].After(event.GetCreated()) { + if info.PodLastUpdated[podNumber].After(eventTs) { // skipping event as it is out of time order return } - info.PodLastUpdated[podNumber] = event.GetCreated() + info.PodLastUpdated[podNumber] = eventTs info.PodStatus[podNumber] = status //if info.Status == Cancelled { diff --git a/pkg/client/domain/watch_test.go b/pkg/client/domain/watch_test.go index 43cede3e6a4..346f5732d82 100644 --- a/pkg/client/domain/watch_test.go +++ b/pkg/client/domain/watch_test.go @@ -4,10 +4,12 @@ import ( "testing" "time" + "github.com/gogo/protobuf/types" "github.com/stretchr/testify/assert" v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" + protoutil "github.com/armadaproject/armada/internal/common/proto" armadaresource "github.com/armadaproject/armada/internal/common/resource" "github.com/armadaproject/armada/pkg/api" ) @@ -168,7 +170,7 @@ func TestWatchContext_GetNumberOfJobsInStates_IsCorrectlyUpdatedOnUpdateToExisti func TestWatchContext_EventsOutOfOrder(t *testing.T) { watchContext := NewWatchContext() - now := time.Now() + now := time.Now().UTC() job := api.Job{ Id: "1", JobSetId: "job-set-1", @@ -182,11 +184,11 @@ func TestWatchContext_EventsOutOfOrder(t *testing.T) { }, } - watchContext.ProcessEvent(&api.JobUtilisationEvent{JobId: "1", Created: now.Add(10 * time.Second)}) + watchContext.ProcessEvent(&api.JobUtilisationEvent{JobId: "1", Created: protoutil.ToTimestamp(now.Add(10 * time.Second))}) assert.Equal(t, &JobInfo{MaxUsedResources: armadaresource.ComputeResources{}}, watchContext.GetJobInfo("1")) assert.Equal(t, map[JobStatus]int{}, watchContext.stateSummary) - watchContext.ProcessEvent(&api.JobSucceededEvent{JobId: "1", Created: now}) + watchContext.ProcessEvent(&api.JobSucceededEvent{JobId: "1", Created: protoutil.ToTimestamp(now)}) assert.Equal( t, &JobInfo{ @@ -200,7 +202,7 @@ func TestWatchContext_EventsOutOfOrder(t *testing.T) { ) assert.Equal(t, map[JobStatus]int{Succeeded: 1}, watchContext.stateSummary) - watchContext.ProcessEvent(&api.JobQueuedEvent{JobId: "1", Created: now.Add(-1 * time.Second)}) + watchContext.ProcessEvent(&api.JobQueuedEvent{JobId: "1", Created: protoutil.ToTimestamp(now.Add(-1 * time.Second))}) assert.Equal( t, &JobInfo{ @@ -214,7 +216,7 @@ func TestWatchContext_EventsOutOfOrder(t *testing.T) { ) assert.Equal(t, map[JobStatus]int{Succeeded: 1}, watchContext.stateSummary) - watchContext.ProcessEvent(&api.JobSubmittedEvent{JobId: "1", Job: job, Created: now.Add(-2 * time.Second)}) + watchContext.ProcessEvent(&api.JobSubmittedEvent{JobId: "1", Job: job, Created: protoutil.ToTimestamp(now.Add(-2 * time.Second))}) assert.Equal( t, &JobInfo{ @@ -236,7 +238,7 @@ func TestWatchContext_UtilisationEvent(t *testing.T) { JobId: "job1", JobSetId: "", Queue: "", - Created: time.Now(), + Created: types.TimestampNow(), ClusterId: "", KubernetesId: "", MaxResourcesForPeriod: armadaresource.ComputeResources{ diff --git a/testsuite/performance/jobservice/fakearmada/event_server.go b/testsuite/performance/jobservice/fakearmada/event_server.go index 33968087015..a74585eaeee 100644 --- a/testsuite/performance/jobservice/fakearmada/event_server.go +++ b/testsuite/performance/jobservice/fakearmada/event_server.go @@ -52,14 +52,14 @@ var messageScript = []*scriptedMessage{ JobId: "fake_job_id", JobSetId: request.Id, Queue: request.Queue, - Created: time.Now(), + Created: types.TimestampNow(), Job: api.Job{ Id: "fake_job_id", ClientId: "", Queue: request.Queue, JobSetId: request.Id, Namespace: "fakeNamespace", - Created: time.Now(), + Created: types.TimestampNow(), }, }, }, @@ -75,7 +75,7 @@ var messageScript = []*scriptedMessage{ JobId: "fake_job_id", JobSetId: request.Id, Queue: request.Queue, - Created: time.Now(), + Created: types.TimestampNow(), }, }, } @@ -90,7 +90,7 @@ var messageScript = []*scriptedMessage{ JobId: "fake_job_id", JobSetId: request.Id, Queue: request.Queue, - Created: time.Now(), + Created: types.TimestampNow(), ClusterId: "fakeCluster", KubernetesId: "fakeK8s", NodeName: "fakeNode", @@ -111,7 +111,7 @@ var messageScript = []*scriptedMessage{ JobId: "fake_job_id", JobSetId: request.Id, Queue: request.Queue, - Created: time.Now(), + Created: types.TimestampNow(), ClusterId: "fakeCluster", KubernetesId: "fakeK8s", NodeName: "fakeNode",