From 6ba388cb38b678a9ce254d303dccb1ad45297450 Mon Sep 17 00:00:00 2001 From: Yu Xia Date: Wed, 11 Oct 2023 10:36:58 -0700 Subject: [PATCH] Handle branch token update with long poll API (#4943) **What changed?** Handle branch token update with long poll API **Why?** Simply compare branch token is not a good way to tell if the branch is changed. **How did you test it?** release testing **Potential risks** **Is hotfix candidate?** Yes --- api/historyservice/v1/request_response.pb.go | 1090 +++++++++-------- api/token/v1/message.pb.go | 183 ++- common/serviceerror/current_branch_changed.go | 1 + .../historyservice/v1/request_response.proto | 2 + .../server/api/token/v1/message.proto | 1 + service/frontend/workflow_handler.go | 45 +- service/frontend/workflow_handler_test.go | 7 +- service/history/api/get_workflow_util.go | 37 +- service/history/events/notifier.go | 8 +- service/history/events/notifier_test.go | 12 +- service/history/history_engine.go | 1 + service/history/history_engine_test.go | 5 +- service/history/workflow/transaction_impl.go | 15 +- 13 files changed, 831 insertions(+), 576 deletions(-) diff --git a/api/historyservice/v1/request_response.pb.go b/api/historyservice/v1/request_response.pb.go index 934be1c5fbe..95eaaa4102f 100644 --- a/api/historyservice/v1/request_response.pb.go +++ b/api/historyservice/v1/request_response.pb.go @@ -48,13 +48,13 @@ import ( v111 "go.temporal.io/api/history/v1" v110 "go.temporal.io/api/protocol/v1" v19 "go.temporal.io/api/query/v1" - v16 "go.temporal.io/api/taskqueue/v1" + v17 "go.temporal.io/api/taskqueue/v1" v112 "go.temporal.io/api/workflow/v1" v1 "go.temporal.io/api/workflowservice/v1" v116 "go.temporal.io/server/api/adminservice/v1" v15 "go.temporal.io/server/api/clock/v1" - v17 "go.temporal.io/server/api/enums/v1" - v18 "go.temporal.io/server/api/history/v1" + v18 "go.temporal.io/server/api/enums/v1" + v16 "go.temporal.io/server/api/history/v1" v114 "go.temporal.io/server/api/namespace/v1" v113 "go.temporal.io/server/api/persistence/v1" v115 "go.temporal.io/server/api/replication/v1" @@ -253,10 +253,11 @@ func (m *StartWorkflowExecutionResponse) GetEagerWorkflowTask() *v1.PollWorkflow } type GetMutableStateRequest struct { - NamespaceId string `protobuf:"bytes,1,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` - Execution *v14.WorkflowExecution `protobuf:"bytes,2,opt,name=execution,proto3" json:"execution,omitempty"` - ExpectedNextEventId int64 `protobuf:"varint,3,opt,name=expected_next_event_id,json=expectedNextEventId,proto3" json:"expected_next_event_id,omitempty"` - CurrentBranchToken []byte `protobuf:"bytes,4,opt,name=current_branch_token,json=currentBranchToken,proto3" json:"current_branch_token,omitempty"` + NamespaceId string `protobuf:"bytes,1,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` + Execution *v14.WorkflowExecution `protobuf:"bytes,2,opt,name=execution,proto3" json:"execution,omitempty"` + ExpectedNextEventId int64 `protobuf:"varint,3,opt,name=expected_next_event_id,json=expectedNextEventId,proto3" json:"expected_next_event_id,omitempty"` + CurrentBranchToken []byte `protobuf:"bytes,4,opt,name=current_branch_token,json=currentBranchToken,proto3" json:"current_branch_token,omitempty"` + VersionHistoryItem *v16.VersionHistoryItem `protobuf:"bytes,5,opt,name=version_history_item,json=versionHistoryItem,proto3" json:"version_history_item,omitempty"` } func (m *GetMutableStateRequest) Reset() { *m = GetMutableStateRequest{} } @@ -319,21 +320,28 @@ func (m *GetMutableStateRequest) GetCurrentBranchToken() []byte { return nil } +func (m *GetMutableStateRequest) GetVersionHistoryItem() *v16.VersionHistoryItem { + if m != nil { + return m.VersionHistoryItem + } + return nil +} + type GetMutableStateResponse struct { Execution *v14.WorkflowExecution `protobuf:"bytes,1,opt,name=execution,proto3" json:"execution,omitempty"` WorkflowType *v14.WorkflowType `protobuf:"bytes,2,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` NextEventId int64 `protobuf:"varint,3,opt,name=next_event_id,json=nextEventId,proto3" json:"next_event_id,omitempty"` PreviousStartedEventId int64 `protobuf:"varint,4,opt,name=previous_started_event_id,json=previousStartedEventId,proto3" json:"previous_started_event_id,omitempty"` LastFirstEventId int64 `protobuf:"varint,5,opt,name=last_first_event_id,json=lastFirstEventId,proto3" json:"last_first_event_id,omitempty"` - TaskQueue *v16.TaskQueue `protobuf:"bytes,6,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` - StickyTaskQueue *v16.TaskQueue `protobuf:"bytes,7,opt,name=sticky_task_queue,json=stickyTaskQueue,proto3" json:"sticky_task_queue,omitempty"` + TaskQueue *v17.TaskQueue `protobuf:"bytes,6,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + StickyTaskQueue *v17.TaskQueue `protobuf:"bytes,7,opt,name=sticky_task_queue,json=stickyTaskQueue,proto3" json:"sticky_task_queue,omitempty"` // (-- api-linter: core::0140::prepositions=disabled // aip.dev/not-precedent: "to" is used to indicate interval. --) StickyTaskQueueScheduleToStartTimeout *time.Duration `protobuf:"bytes,11,opt,name=sticky_task_queue_schedule_to_start_timeout,json=stickyTaskQueueScheduleToStartTimeout,proto3,stdduration" json:"sticky_task_queue_schedule_to_start_timeout,omitempty"` CurrentBranchToken []byte `protobuf:"bytes,13,opt,name=current_branch_token,json=currentBranchToken,proto3" json:"current_branch_token,omitempty"` - WorkflowState v17.WorkflowExecutionState `protobuf:"varint,15,opt,name=workflow_state,json=workflowState,proto3,enum=temporal.server.api.enums.v1.WorkflowExecutionState" json:"workflow_state,omitempty"` + WorkflowState v18.WorkflowExecutionState `protobuf:"varint,15,opt,name=workflow_state,json=workflowState,proto3,enum=temporal.server.api.enums.v1.WorkflowExecutionState" json:"workflow_state,omitempty"` WorkflowStatus v12.WorkflowExecutionStatus `protobuf:"varint,16,opt,name=workflow_status,json=workflowStatus,proto3,enum=temporal.api.enums.v1.WorkflowExecutionStatus" json:"workflow_status,omitempty"` - VersionHistories *v18.VersionHistories `protobuf:"bytes,17,opt,name=version_histories,json=versionHistories,proto3" json:"version_histories,omitempty"` + VersionHistories *v16.VersionHistories `protobuf:"bytes,17,opt,name=version_histories,json=versionHistories,proto3" json:"version_histories,omitempty"` IsStickyTaskQueueEnabled bool `protobuf:"varint,18,opt,name=is_sticky_task_queue_enabled,json=isStickyTaskQueueEnabled,proto3" json:"is_sticky_task_queue_enabled,omitempty"` LastFirstEventTxnId int64 `protobuf:"varint,19,opt,name=last_first_event_txn_id,json=lastFirstEventTxnId,proto3" json:"last_first_event_txn_id,omitempty"` FirstExecutionRunId string `protobuf:"bytes,20,opt,name=first_execution_run_id,json=firstExecutionRunId,proto3" json:"first_execution_run_id,omitempty"` @@ -409,14 +417,14 @@ func (m *GetMutableStateResponse) GetLastFirstEventId() int64 { return 0 } -func (m *GetMutableStateResponse) GetTaskQueue() *v16.TaskQueue { +func (m *GetMutableStateResponse) GetTaskQueue() *v17.TaskQueue { if m != nil { return m.TaskQueue } return nil } -func (m *GetMutableStateResponse) GetStickyTaskQueue() *v16.TaskQueue { +func (m *GetMutableStateResponse) GetStickyTaskQueue() *v17.TaskQueue { if m != nil { return m.StickyTaskQueue } @@ -437,11 +445,11 @@ func (m *GetMutableStateResponse) GetCurrentBranchToken() []byte { return nil } -func (m *GetMutableStateResponse) GetWorkflowState() v17.WorkflowExecutionState { +func (m *GetMutableStateResponse) GetWorkflowState() v18.WorkflowExecutionState { if m != nil { return m.WorkflowState } - return v17.WORKFLOW_EXECUTION_STATE_UNSPECIFIED + return v18.WORKFLOW_EXECUTION_STATE_UNSPECIFIED } func (m *GetMutableStateResponse) GetWorkflowStatus() v12.WorkflowExecutionStatus { @@ -451,7 +459,7 @@ func (m *GetMutableStateResponse) GetWorkflowStatus() v12.WorkflowExecutionStatu return v12.WORKFLOW_EXECUTION_STATUS_UNSPECIFIED } -func (m *GetMutableStateResponse) GetVersionHistories() *v18.VersionHistories { +func (m *GetMutableStateResponse) GetVersionHistories() *v16.VersionHistories { if m != nil { return m.VersionHistories } @@ -487,10 +495,11 @@ func (m *GetMutableStateResponse) GetWorkerVersionStamp() *v14.WorkerVersionStam } type PollMutableStateRequest struct { - NamespaceId string `protobuf:"bytes,1,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` - Execution *v14.WorkflowExecution `protobuf:"bytes,2,opt,name=execution,proto3" json:"execution,omitempty"` - ExpectedNextEventId int64 `protobuf:"varint,3,opt,name=expected_next_event_id,json=expectedNextEventId,proto3" json:"expected_next_event_id,omitempty"` - CurrentBranchToken []byte `protobuf:"bytes,4,opt,name=current_branch_token,json=currentBranchToken,proto3" json:"current_branch_token,omitempty"` + NamespaceId string `protobuf:"bytes,1,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` + Execution *v14.WorkflowExecution `protobuf:"bytes,2,opt,name=execution,proto3" json:"execution,omitempty"` + ExpectedNextEventId int64 `protobuf:"varint,3,opt,name=expected_next_event_id,json=expectedNextEventId,proto3" json:"expected_next_event_id,omitempty"` + CurrentBranchToken []byte `protobuf:"bytes,4,opt,name=current_branch_token,json=currentBranchToken,proto3" json:"current_branch_token,omitempty"` + VersionHistoryItem *v16.VersionHistoryItem `protobuf:"bytes,5,opt,name=version_history_item,json=versionHistoryItem,proto3" json:"version_history_item,omitempty"` } func (m *PollMutableStateRequest) Reset() { *m = PollMutableStateRequest{} } @@ -553,20 +562,27 @@ func (m *PollMutableStateRequest) GetCurrentBranchToken() []byte { return nil } +func (m *PollMutableStateRequest) GetVersionHistoryItem() *v16.VersionHistoryItem { + if m != nil { + return m.VersionHistoryItem + } + return nil +} + type PollMutableStateResponse struct { Execution *v14.WorkflowExecution `protobuf:"bytes,1,opt,name=execution,proto3" json:"execution,omitempty"` WorkflowType *v14.WorkflowType `protobuf:"bytes,2,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` NextEventId int64 `protobuf:"varint,3,opt,name=next_event_id,json=nextEventId,proto3" json:"next_event_id,omitempty"` PreviousStartedEventId int64 `protobuf:"varint,4,opt,name=previous_started_event_id,json=previousStartedEventId,proto3" json:"previous_started_event_id,omitempty"` LastFirstEventId int64 `protobuf:"varint,5,opt,name=last_first_event_id,json=lastFirstEventId,proto3" json:"last_first_event_id,omitempty"` - TaskQueue *v16.TaskQueue `protobuf:"bytes,6,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` - StickyTaskQueue *v16.TaskQueue `protobuf:"bytes,7,opt,name=sticky_task_queue,json=stickyTaskQueue,proto3" json:"sticky_task_queue,omitempty"` + TaskQueue *v17.TaskQueue `protobuf:"bytes,6,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + StickyTaskQueue *v17.TaskQueue `protobuf:"bytes,7,opt,name=sticky_task_queue,json=stickyTaskQueue,proto3" json:"sticky_task_queue,omitempty"` // (-- api-linter: core::0140::prepositions=disabled // aip.dev/not-precedent: "to" is used to indicate interval. --) StickyTaskQueueScheduleToStartTimeout *time.Duration `protobuf:"bytes,11,opt,name=sticky_task_queue_schedule_to_start_timeout,json=stickyTaskQueueScheduleToStartTimeout,proto3,stdduration" json:"sticky_task_queue_schedule_to_start_timeout,omitempty"` CurrentBranchToken []byte `protobuf:"bytes,12,opt,name=current_branch_token,json=currentBranchToken,proto3" json:"current_branch_token,omitempty"` - VersionHistories *v18.VersionHistories `protobuf:"bytes,14,opt,name=version_histories,json=versionHistories,proto3" json:"version_histories,omitempty"` - WorkflowState v17.WorkflowExecutionState `protobuf:"varint,15,opt,name=workflow_state,json=workflowState,proto3,enum=temporal.server.api.enums.v1.WorkflowExecutionState" json:"workflow_state,omitempty"` + VersionHistories *v16.VersionHistories `protobuf:"bytes,14,opt,name=version_histories,json=versionHistories,proto3" json:"version_histories,omitempty"` + WorkflowState v18.WorkflowExecutionState `protobuf:"varint,15,opt,name=workflow_state,json=workflowState,proto3,enum=temporal.server.api.enums.v1.WorkflowExecutionState" json:"workflow_state,omitempty"` WorkflowStatus v12.WorkflowExecutionStatus `protobuf:"varint,16,opt,name=workflow_status,json=workflowStatus,proto3,enum=temporal.api.enums.v1.WorkflowExecutionStatus" json:"workflow_status,omitempty"` LastFirstEventTxnId int64 `protobuf:"varint,17,opt,name=last_first_event_txn_id,json=lastFirstEventTxnId,proto3" json:"last_first_event_txn_id,omitempty"` FirstExecutionRunId string `protobuf:"bytes,18,opt,name=first_execution_run_id,json=firstExecutionRunId,proto3" json:"first_execution_run_id,omitempty"` @@ -639,14 +655,14 @@ func (m *PollMutableStateResponse) GetLastFirstEventId() int64 { return 0 } -func (m *PollMutableStateResponse) GetTaskQueue() *v16.TaskQueue { +func (m *PollMutableStateResponse) GetTaskQueue() *v17.TaskQueue { if m != nil { return m.TaskQueue } return nil } -func (m *PollMutableStateResponse) GetStickyTaskQueue() *v16.TaskQueue { +func (m *PollMutableStateResponse) GetStickyTaskQueue() *v17.TaskQueue { if m != nil { return m.StickyTaskQueue } @@ -667,18 +683,18 @@ func (m *PollMutableStateResponse) GetCurrentBranchToken() []byte { return nil } -func (m *PollMutableStateResponse) GetVersionHistories() *v18.VersionHistories { +func (m *PollMutableStateResponse) GetVersionHistories() *v16.VersionHistories { if m != nil { return m.VersionHistories } return nil } -func (m *PollMutableStateResponse) GetWorkflowState() v17.WorkflowExecutionState { +func (m *PollMutableStateResponse) GetWorkflowState() v18.WorkflowExecutionState { if m != nil { return m.WorkflowState } - return v17.WORKFLOW_EXECUTION_STATE_UNSPECIFIED + return v18.WORKFLOW_EXECUTION_STATE_UNSPECIFIED } func (m *PollMutableStateResponse) GetWorkflowStatus() v12.WorkflowExecutionStatus { @@ -888,8 +904,8 @@ type RecordWorkflowTaskStartedResponse struct { NextEventId int64 `protobuf:"varint,5,opt,name=next_event_id,json=nextEventId,proto3" json:"next_event_id,omitempty"` Attempt int32 `protobuf:"varint,6,opt,name=attempt,proto3" json:"attempt,omitempty"` StickyExecutionEnabled bool `protobuf:"varint,7,opt,name=sticky_execution_enabled,json=stickyExecutionEnabled,proto3" json:"sticky_execution_enabled,omitempty"` - TransientWorkflowTask *v18.TransientWorkflowTaskInfo `protobuf:"bytes,8,opt,name=transient_workflow_task,json=transientWorkflowTask,proto3" json:"transient_workflow_task,omitempty"` - WorkflowExecutionTaskQueue *v16.TaskQueue `protobuf:"bytes,9,opt,name=workflow_execution_task_queue,json=workflowExecutionTaskQueue,proto3" json:"workflow_execution_task_queue,omitempty"` + TransientWorkflowTask *v16.TransientWorkflowTaskInfo `protobuf:"bytes,8,opt,name=transient_workflow_task,json=transientWorkflowTask,proto3" json:"transient_workflow_task,omitempty"` + WorkflowExecutionTaskQueue *v17.TaskQueue `protobuf:"bytes,9,opt,name=workflow_execution_task_queue,json=workflowExecutionTaskQueue,proto3" json:"workflow_execution_task_queue,omitempty"` BranchToken []byte `protobuf:"bytes,11,opt,name=branch_token,json=branchToken,proto3" json:"branch_token,omitempty"` ScheduledTime *time.Time `protobuf:"bytes,12,opt,name=scheduled_time,json=scheduledTime,proto3,stdtime" json:"scheduled_time,omitempty"` StartedTime *time.Time `protobuf:"bytes,13,opt,name=started_time,json=startedTime,proto3,stdtime" json:"started_time,omitempty"` @@ -980,14 +996,14 @@ func (m *RecordWorkflowTaskStartedResponse) GetStickyExecutionEnabled() bool { return false } -func (m *RecordWorkflowTaskStartedResponse) GetTransientWorkflowTask() *v18.TransientWorkflowTaskInfo { +func (m *RecordWorkflowTaskStartedResponse) GetTransientWorkflowTask() *v16.TransientWorkflowTaskInfo { if m != nil { return m.TransientWorkflowTask } return nil } -func (m *RecordWorkflowTaskStartedResponse) GetWorkflowExecutionTaskQueue() *v16.TaskQueue { +func (m *RecordWorkflowTaskStartedResponse) GetWorkflowExecutionTaskQueue() *v17.TaskQueue { if m != nil { return m.WorkflowExecutionTaskQueue } @@ -3309,7 +3325,7 @@ func (m *DescribeWorkflowExecutionResponse) GetPendingWorkflowTask() *v112.Pendi type ReplicateEventsV2Request struct { NamespaceId string `protobuf:"bytes,1,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` WorkflowExecution *v14.WorkflowExecution `protobuf:"bytes,2,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` - VersionHistoryItems []*v18.VersionHistoryItem `protobuf:"bytes,3,rep,name=version_history_items,json=versionHistoryItems,proto3" json:"version_history_items,omitempty"` + VersionHistoryItems []*v16.VersionHistoryItem `protobuf:"bytes,3,rep,name=version_history_items,json=versionHistoryItems,proto3" json:"version_history_items,omitempty"` Events *v14.DataBlob `protobuf:"bytes,4,opt,name=events,proto3" json:"events,omitempty"` // New run events does not need version history since there is no prior events. NewRunEvents *v14.DataBlob `protobuf:"bytes,5,opt,name=new_run_events,json=newRunEvents,proto3" json:"new_run_events,omitempty"` @@ -3362,7 +3378,7 @@ func (m *ReplicateEventsV2Request) GetWorkflowExecution() *v14.WorkflowExecution return nil } -func (m *ReplicateEventsV2Request) GetVersionHistoryItems() []*v18.VersionHistoryItem { +func (m *ReplicateEventsV2Request) GetVersionHistoryItems() []*v16.VersionHistoryItem { if m != nil { return m.VersionHistoryItems } @@ -3627,7 +3643,7 @@ type SyncActivityRequest struct { Attempt int32 `protobuf:"varint,11,opt,name=attempt,proto3" json:"attempt,omitempty"` LastFailure *v13.Failure `protobuf:"bytes,12,opt,name=last_failure,json=lastFailure,proto3" json:"last_failure,omitempty"` LastWorkerIdentity string `protobuf:"bytes,13,opt,name=last_worker_identity,json=lastWorkerIdentity,proto3" json:"last_worker_identity,omitempty"` - VersionHistory *v18.VersionHistory `protobuf:"bytes,14,opt,name=version_history,json=versionHistory,proto3" json:"version_history,omitempty"` + VersionHistory *v16.VersionHistory `protobuf:"bytes,14,opt,name=version_history,json=versionHistory,proto3" json:"version_history,omitempty"` BaseExecutionInfo *v11.BaseExecutionInfo `protobuf:"bytes,15,opt,name=base_execution_info,json=baseExecutionInfo,proto3" json:"base_execution_info,omitempty"` } @@ -3754,7 +3770,7 @@ func (m *SyncActivityRequest) GetLastWorkerIdentity() string { return "" } -func (m *SyncActivityRequest) GetVersionHistory() *v18.VersionHistory { +func (m *SyncActivityRequest) GetVersionHistory() *v16.VersionHistory { if m != nil { return m.VersionHistory } @@ -4207,7 +4223,7 @@ func (m *GetShardResponse) GetShardInfo() *v113.ShardInfo { type RemoveTaskRequest struct { ShardId int32 `protobuf:"varint,1,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"` - Category v17.TaskCategory `protobuf:"varint,2,opt,name=category,proto3,enum=temporal.server.api.enums.v1.TaskCategory" json:"category,omitempty"` + Category v18.TaskCategory `protobuf:"varint,2,opt,name=category,proto3,enum=temporal.server.api.enums.v1.TaskCategory" json:"category,omitempty"` TaskId int64 `protobuf:"varint,3,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` VisibilityTime *time.Time `protobuf:"bytes,4,opt,name=visibility_time,json=visibilityTime,proto3,stdtime" json:"visibility_time,omitempty"` } @@ -4251,11 +4267,11 @@ func (m *RemoveTaskRequest) GetShardId() int32 { return 0 } -func (m *RemoveTaskRequest) GetCategory() v17.TaskCategory { +func (m *RemoveTaskRequest) GetCategory() v18.TaskCategory { if m != nil { return m.Category } - return v17.TASK_CATEGORY_UNSPECIFIED + return v18.TASK_CATEGORY_UNSPECIFIED } func (m *RemoveTaskRequest) GetTaskId() int64 { @@ -4668,7 +4684,7 @@ func (m *ReapplyEventsResponse) XXX_DiscardUnknown() { var xxx_messageInfo_ReapplyEventsResponse proto.InternalMessageInfo type GetDLQMessagesRequest struct { - Type v17.DeadLetterQueueType `protobuf:"varint,1,opt,name=type,proto3,enum=temporal.server.api.enums.v1.DeadLetterQueueType" json:"type,omitempty"` + Type v18.DeadLetterQueueType `protobuf:"varint,1,opt,name=type,proto3,enum=temporal.server.api.enums.v1.DeadLetterQueueType" json:"type,omitempty"` ShardId int32 `protobuf:"varint,2,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"` SourceCluster string `protobuf:"bytes,3,opt,name=source_cluster,json=sourceCluster,proto3" json:"source_cluster,omitempty"` InclusiveEndMessageId int64 `protobuf:"varint,4,opt,name=inclusive_end_message_id,json=inclusiveEndMessageId,proto3" json:"inclusive_end_message_id,omitempty"` @@ -4708,11 +4724,11 @@ func (m *GetDLQMessagesRequest) XXX_DiscardUnknown() { var xxx_messageInfo_GetDLQMessagesRequest proto.InternalMessageInfo -func (m *GetDLQMessagesRequest) GetType() v17.DeadLetterQueueType { +func (m *GetDLQMessagesRequest) GetType() v18.DeadLetterQueueType { if m != nil { return m.Type } - return v17.DEAD_LETTER_QUEUE_TYPE_UNSPECIFIED + return v18.DEAD_LETTER_QUEUE_TYPE_UNSPECIFIED } func (m *GetDLQMessagesRequest) GetShardId() int32 { @@ -4751,7 +4767,7 @@ func (m *GetDLQMessagesRequest) GetNextPageToken() []byte { } type GetDLQMessagesResponse struct { - Type v17.DeadLetterQueueType `protobuf:"varint,1,opt,name=type,proto3,enum=temporal.server.api.enums.v1.DeadLetterQueueType" json:"type,omitempty"` + Type v18.DeadLetterQueueType `protobuf:"varint,1,opt,name=type,proto3,enum=temporal.server.api.enums.v1.DeadLetterQueueType" json:"type,omitempty"` ReplicationTasks []*v115.ReplicationTask `protobuf:"bytes,2,rep,name=replication_tasks,json=replicationTasks,proto3" json:"replication_tasks,omitempty"` NextPageToken []byte `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` ReplicationTasksInfo []*v115.ReplicationTaskInfo `protobuf:"bytes,4,rep,name=replication_tasks_info,json=replicationTasksInfo,proto3" json:"replication_tasks_info,omitempty"` @@ -4789,11 +4805,11 @@ func (m *GetDLQMessagesResponse) XXX_DiscardUnknown() { var xxx_messageInfo_GetDLQMessagesResponse proto.InternalMessageInfo -func (m *GetDLQMessagesResponse) GetType() v17.DeadLetterQueueType { +func (m *GetDLQMessagesResponse) GetType() v18.DeadLetterQueueType { if m != nil { return m.Type } - return v17.DEAD_LETTER_QUEUE_TYPE_UNSPECIFIED + return v18.DEAD_LETTER_QUEUE_TYPE_UNSPECIFIED } func (m *GetDLQMessagesResponse) GetReplicationTasks() []*v115.ReplicationTask { @@ -4818,7 +4834,7 @@ func (m *GetDLQMessagesResponse) GetReplicationTasksInfo() []*v115.ReplicationTa } type PurgeDLQMessagesRequest struct { - Type v17.DeadLetterQueueType `protobuf:"varint,1,opt,name=type,proto3,enum=temporal.server.api.enums.v1.DeadLetterQueueType" json:"type,omitempty"` + Type v18.DeadLetterQueueType `protobuf:"varint,1,opt,name=type,proto3,enum=temporal.server.api.enums.v1.DeadLetterQueueType" json:"type,omitempty"` ShardId int32 `protobuf:"varint,2,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"` SourceCluster string `protobuf:"bytes,3,opt,name=source_cluster,json=sourceCluster,proto3" json:"source_cluster,omitempty"` InclusiveEndMessageId int64 `protobuf:"varint,4,opt,name=inclusive_end_message_id,json=inclusiveEndMessageId,proto3" json:"inclusive_end_message_id,omitempty"` @@ -4856,11 +4872,11 @@ func (m *PurgeDLQMessagesRequest) XXX_DiscardUnknown() { var xxx_messageInfo_PurgeDLQMessagesRequest proto.InternalMessageInfo -func (m *PurgeDLQMessagesRequest) GetType() v17.DeadLetterQueueType { +func (m *PurgeDLQMessagesRequest) GetType() v18.DeadLetterQueueType { if m != nil { return m.Type } - return v17.DEAD_LETTER_QUEUE_TYPE_UNSPECIFIED + return v18.DEAD_LETTER_QUEUE_TYPE_UNSPECIFIED } func (m *PurgeDLQMessagesRequest) GetShardId() int32 { @@ -4920,7 +4936,7 @@ func (m *PurgeDLQMessagesResponse) XXX_DiscardUnknown() { var xxx_messageInfo_PurgeDLQMessagesResponse proto.InternalMessageInfo type MergeDLQMessagesRequest struct { - Type v17.DeadLetterQueueType `protobuf:"varint,1,opt,name=type,proto3,enum=temporal.server.api.enums.v1.DeadLetterQueueType" json:"type,omitempty"` + Type v18.DeadLetterQueueType `protobuf:"varint,1,opt,name=type,proto3,enum=temporal.server.api.enums.v1.DeadLetterQueueType" json:"type,omitempty"` ShardId int32 `protobuf:"varint,2,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"` SourceCluster string `protobuf:"bytes,3,opt,name=source_cluster,json=sourceCluster,proto3" json:"source_cluster,omitempty"` InclusiveEndMessageId int64 `protobuf:"varint,4,opt,name=inclusive_end_message_id,json=inclusiveEndMessageId,proto3" json:"inclusive_end_message_id,omitempty"` @@ -4960,11 +4976,11 @@ func (m *MergeDLQMessagesRequest) XXX_DiscardUnknown() { var xxx_messageInfo_MergeDLQMessagesRequest proto.InternalMessageInfo -func (m *MergeDLQMessagesRequest) GetType() v17.DeadLetterQueueType { +func (m *MergeDLQMessagesRequest) GetType() v18.DeadLetterQueueType { if m != nil { return m.Type } - return v17.DEAD_LETTER_QUEUE_TYPE_UNSPECIFIED + return v18.DEAD_LETTER_QUEUE_TYPE_UNSPECIFIED } func (m *MergeDLQMessagesRequest) GetShardId() int32 { @@ -6155,314 +6171,314 @@ func init() { } var fileDescriptor_b8c78c1d460a3711 = []byte{ - // 4901 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5c, 0x49, 0x6c, 0x1c, 0xd9, - 0x79, 0x56, 0xb1, 0xbb, 0xc9, 0xe6, 0x4f, 0xb2, 0x97, 0xe2, 0xd6, 0x24, 0xa5, 0x16, 0x55, 0xda, - 0x28, 0xcd, 0xa8, 0xb5, 0x8d, 0x3d, 0xb2, 0xe2, 0x99, 0xb1, 0x48, 0x6d, 0x14, 0x24, 0x99, 0x53, - 0xe4, 0x68, 0x26, 0xf6, 0xc8, 0x35, 0xc5, 0xae, 0x47, 0xb2, 0xc2, 0xee, 0xaa, 0x56, 0xbd, 0x6a, - 0x92, 0x3d, 0x39, 0x38, 0x80, 0x91, 0xc5, 0x73, 0x48, 0x06, 0xc8, 0xc5, 0x08, 0x9c, 0x1c, 0x02, - 0x24, 0x31, 0x02, 0x04, 0x39, 0xe4, 0x60, 0xe4, 0xe0, 0x4b, 0x0e, 0x41, 0x10, 0xe4, 0x30, 0xc8, - 0x25, 0x83, 0x04, 0x59, 0x46, 0x83, 0x20, 0x36, 0x92, 0xc3, 0xdc, 0xb2, 0x9c, 0x82, 0xb7, 0x55, - 0xd7, 0xda, 0x0b, 0x5b, 0xb2, 0xc6, 0xf6, 0xdc, 0xba, 0xdf, 0x7b, 0xff, 0xff, 0xde, 0xfb, 0x97, - 0xef, 0x7f, 0xcb, 0xff, 0x0a, 0xbe, 0xea, 0xa2, 0x7a, 0xc3, 0x76, 0xf4, 0xda, 0x45, 0x8c, 0x9c, - 0x3d, 0xe4, 0x5c, 0xd4, 0x1b, 0xe6, 0xc5, 0x1d, 0x13, 0xbb, 0xb6, 0xd3, 0x22, 0x25, 0x66, 0x15, - 0x5d, 0xdc, 0xbb, 0x7c, 0xd1, 0x41, 0x4f, 0x9a, 0x08, 0xbb, 0x9a, 0x83, 0x70, 0xc3, 0xb6, 0x30, - 0xaa, 0x34, 0x1c, 0xdb, 0xb5, 0xe5, 0xd3, 0x82, 0xba, 0xc2, 0xa8, 0x2b, 0x7a, 0xc3, 0xac, 0x04, - 0xa9, 0x2b, 0x7b, 0x97, 0xe7, 0xcb, 0xdb, 0xb6, 0xbd, 0x5d, 0x43, 0x17, 0x29, 0xd1, 0x66, 0x73, - 0xeb, 0xa2, 0xd1, 0x74, 0x74, 0xd7, 0xb4, 0x2d, 0xc6, 0x66, 0xfe, 0x78, 0xb8, 0xde, 0x35, 0xeb, - 0x08, 0xbb, 0x7a, 0xbd, 0xc1, 0x1b, 0x9c, 0x30, 0x50, 0x03, 0x59, 0x06, 0xb2, 0xaa, 0x26, 0xc2, - 0x17, 0xb7, 0xed, 0x6d, 0x9b, 0x96, 0xd3, 0x5f, 0xbc, 0xc9, 0x29, 0x6f, 0x22, 0x64, 0x06, 0x55, - 0xbb, 0x5e, 0xb7, 0x2d, 0x32, 0xf2, 0x3a, 0xc2, 0x58, 0xdf, 0xe6, 0x03, 0x9e, 0x3f, 0x1d, 0x68, - 0xc5, 0x47, 0x1a, 0x6d, 0x76, 0x36, 0xd0, 0xcc, 0xd5, 0xf1, 0xee, 0x93, 0x26, 0x6a, 0xa2, 0x68, - 0xc3, 0x60, 0xaf, 0xc8, 0x6a, 0xd6, 0x31, 0x69, 0xb4, 0x6f, 0x3b, 0xbb, 0x5b, 0x35, 0x7b, 0x9f, - 0xb7, 0x3a, 0x13, 0x68, 0x25, 0x2a, 0xa3, 0xdc, 0x4e, 0x06, 0xda, 0x3d, 0x69, 0xa2, 0xb8, 0xb1, - 0x05, 0x99, 0xd1, 0xb2, 0xaa, 0x5d, 0xeb, 0x36, 0xd5, 0x2d, 0xdd, 0xac, 0x35, 0x9d, 0x98, 0x19, - 0x9c, 0x8f, 0x33, 0x80, 0x6a, 0xcd, 0xae, 0xee, 0x46, 0xdb, 0xbe, 0xdc, 0xc1, 0x58, 0xa2, 0xad, - 0xcf, 0xc5, 0xb5, 0xf6, 0x44, 0xc4, 0x34, 0xc4, 0x9b, 0xbe, 0xd4, 0xb1, 0x69, 0x48, 0x9a, 0x67, - 0x3b, 0x36, 0x26, 0xca, 0xe2, 0x0d, 0x2f, 0xc4, 0x35, 0x4c, 0x96, 0x7e, 0x25, 0xae, 0xb9, 0xa5, - 0xd7, 0x11, 0x6e, 0xe8, 0xd5, 0x18, 0xc9, 0x5d, 0x8a, 0x6b, 0xef, 0xa0, 0x46, 0xcd, 0xac, 0x52, - 0xe3, 0x8e, 0x52, 0x5c, 0x8d, 0xa3, 0x68, 0x20, 0x07, 0x9b, 0xd8, 0x45, 0x16, 0xeb, 0x03, 0x1d, - 0xa0, 0x6a, 0x93, 0x90, 0x63, 0x4e, 0xf4, 0x46, 0x0f, 0x44, 0x62, 0x52, 0x5a, 0xbd, 0xe9, 0xea, - 0x9b, 0x35, 0xa4, 0x61, 0x57, 0x77, 0x45, 0xaf, 0x5f, 0x8e, 0xb5, 0xbe, 0xae, 0xce, 0x3d, 0x7f, - 0x3d, 0xae, 0x63, 0xdd, 0xa8, 0x9b, 0x56, 0x57, 0x5a, 0xe5, 0x27, 0xc3, 0x70, 0x6c, 0xdd, 0xd5, - 0x1d, 0xf7, 0x6d, 0xde, 0xdd, 0x2d, 0x31, 0x2d, 0x95, 0x11, 0xc8, 0x27, 0x60, 0xdc, 0x93, 0xad, - 0x66, 0x1a, 0x25, 0x69, 0x51, 0x5a, 0x1a, 0x55, 0xc7, 0xbc, 0xb2, 0x55, 0x43, 0xae, 0xc2, 0x04, - 0x26, 0x3c, 0x34, 0xde, 0x49, 0x69, 0x68, 0x51, 0x5a, 0x1a, 0xbb, 0xf2, 0xba, 0xa7, 0x28, 0x0a, - 0x37, 0xa1, 0x09, 0x55, 0xf6, 0x2e, 0x57, 0x3a, 0xf6, 0xac, 0x8e, 0x53, 0xa6, 0x62, 0x1c, 0x3b, - 0x30, 0xdd, 0xd0, 0x1d, 0x64, 0xb9, 0x9a, 0x27, 0x79, 0xcd, 0xb4, 0xb6, 0xec, 0x52, 0x8a, 0x76, - 0xf6, 0x4a, 0x25, 0x0e, 0xe2, 0x3c, 0x8b, 0xdc, 0xbb, 0x5c, 0x59, 0xa3, 0xd4, 0x5e, 0x2f, 0xab, - 0xd6, 0x96, 0xad, 0x4e, 0x36, 0xa2, 0x85, 0x72, 0x09, 0x46, 0x74, 0x97, 0x70, 0x73, 0x4b, 0xe9, - 0x45, 0x69, 0x29, 0xa3, 0x8a, 0xbf, 0x72, 0x1d, 0x14, 0x4f, 0x83, 0xed, 0x51, 0xa0, 0x83, 0x86, - 0xc9, 0x60, 0x52, 0x23, 0x78, 0x58, 0xca, 0xd0, 0x01, 0xcd, 0x57, 0x18, 0x58, 0x56, 0x04, 0x58, - 0x56, 0x36, 0x04, 0x58, 0x2e, 0xa7, 0x3f, 0xfc, 0xd7, 0xe3, 0x92, 0x7a, 0x7c, 0x3f, 0x3c, 0xf3, - 0x5b, 0x1e, 0x27, 0xd2, 0x56, 0xde, 0x81, 0xb9, 0xaa, 0x6d, 0xb9, 0xa6, 0xd5, 0x44, 0x9a, 0x8e, - 0x35, 0x0b, 0xed, 0x6b, 0xa6, 0x65, 0xba, 0xa6, 0xee, 0xda, 0x4e, 0x69, 0x78, 0x51, 0x5a, 0xca, - 0x5d, 0xb9, 0x10, 0x94, 0x31, 0xf5, 0x2e, 0x32, 0xd9, 0x15, 0x4e, 0x77, 0x03, 0x3f, 0x44, 0xfb, - 0xab, 0x82, 0x48, 0x9d, 0xa9, 0xc6, 0x96, 0xcb, 0x0f, 0xa0, 0x28, 0x6a, 0x0c, 0x8d, 0x43, 0x50, - 0x69, 0x84, 0xce, 0x63, 0x31, 0xd8, 0x03, 0xaf, 0x24, 0x7d, 0xdc, 0x66, 0x3f, 0xd5, 0x82, 0x47, - 0xca, 0x4b, 0xe4, 0x47, 0x30, 0x53, 0xd3, 0xb1, 0xab, 0x55, 0xed, 0x7a, 0xa3, 0x86, 0xa8, 0x64, - 0x1c, 0x84, 0x9b, 0x35, 0xb7, 0x94, 0x8d, 0xe3, 0xc9, 0x21, 0x86, 0xea, 0xa8, 0x55, 0xb3, 0x75, - 0x03, 0xab, 0x53, 0x84, 0x7e, 0xc5, 0x23, 0x57, 0x29, 0xb5, 0xfc, 0x2d, 0x58, 0xd8, 0x32, 0x1d, - 0xec, 0x6a, 0x9e, 0x16, 0x08, 0x8a, 0x68, 0x9b, 0x7a, 0x75, 0xd7, 0xde, 0xda, 0x2a, 0x8d, 0x52, - 0xe6, 0x73, 0x11, 0xc1, 0xdf, 0xe4, 0x51, 0x6c, 0x39, 0xfd, 0x3d, 0x22, 0xf7, 0x12, 0xe5, 0x21, - 0xcc, 0x6e, 0x43, 0xc7, 0xbb, 0xcb, 0x8c, 0x81, 0xfc, 0x2e, 0x4c, 0x61, 0xbb, 0xe9, 0x54, 0x91, - 0xb6, 0x47, 0xfc, 0xd6, 0xb6, 0x34, 0xaa, 0xaf, 0x12, 0x50, 0xc6, 0xe7, 0x93, 0x46, 0x4d, 0x58, - 0x21, 0xe7, 0x11, 0x23, 0x59, 0x27, 0x14, 0xaa, 0xcc, 0xf8, 0xf8, 0xcb, 0x94, 0x1f, 0x4b, 0x50, - 0x4e, 0xb2, 0x78, 0xe6, 0x94, 0xf2, 0x34, 0x0c, 0x3b, 0x4d, 0xab, 0xed, 0x66, 0x19, 0xa7, 0x69, - 0xad, 0x1a, 0xf2, 0x1b, 0x90, 0xa1, 0x48, 0xcf, 0x1d, 0xeb, 0x5c, 0xac, 0xad, 0xd3, 0x16, 0x64, - 0x38, 0x8f, 0x50, 0xd5, 0xb5, 0x9d, 0x15, 0xf2, 0x57, 0x65, 0x74, 0xb2, 0x05, 0x93, 0x48, 0xdf, - 0x46, 0x4e, 0x50, 0x70, 0xdc, 0x75, 0xba, 0xfb, 0xe9, 0x9a, 0x5d, 0xab, 0xf9, 0xe5, 0xf5, 0x26, - 0x09, 0xb2, 0x62, 0xd0, 0x6a, 0x91, 0xb2, 0xf6, 0xd7, 0x2b, 0xff, 0x29, 0xc1, 0xcc, 0x1d, 0xe4, - 0x3e, 0x60, 0x28, 0xb7, 0x4e, 0x40, 0xae, 0x0f, 0x3c, 0xb9, 0x03, 0xa3, 0x9e, 0x77, 0x45, 0xa7, - 0x1c, 0x95, 0x7d, 0x50, 0x96, 0x6d, 0x5a, 0xf9, 0x2a, 0xcc, 0xa0, 0x83, 0x06, 0xaa, 0xba, 0xc8, - 0xd0, 0x2c, 0x74, 0xe0, 0x6a, 0x68, 0x8f, 0x00, 0x88, 0x69, 0xd0, 0x99, 0xa7, 0xd4, 0x49, 0x51, - 0xfb, 0x10, 0x1d, 0xb8, 0xb7, 0x48, 0xdd, 0xaa, 0x21, 0x5f, 0x82, 0xa9, 0x6a, 0xd3, 0xa1, 0x48, - 0xb3, 0xe9, 0xe8, 0x56, 0x75, 0x47, 0x73, 0xed, 0x5d, 0x64, 0x51, 0x2c, 0x18, 0x57, 0x65, 0x5e, - 0xb7, 0x4c, 0xab, 0x36, 0x48, 0x8d, 0xf2, 0xa3, 0x51, 0x98, 0x8d, 0xcc, 0x96, 0x6b, 0x34, 0x30, - 0x17, 0x69, 0x80, 0xb9, 0xac, 0xc2, 0x44, 0x5b, 0x79, 0xad, 0x06, 0xe2, 0x82, 0x39, 0xd5, 0x8d, - 0xd9, 0x46, 0xab, 0x81, 0xd4, 0xf1, 0x7d, 0xdf, 0x3f, 0x59, 0x81, 0x89, 0x38, 0x69, 0x8c, 0x59, - 0x3e, 0x29, 0x7c, 0x05, 0xe6, 0x1a, 0x0e, 0xda, 0x33, 0xed, 0x26, 0xd6, 0x28, 0x0e, 0x23, 0xa3, - 0xdd, 0x3e, 0x4d, 0xdb, 0xcf, 0x88, 0x06, 0xeb, 0xac, 0x5e, 0x90, 0x5e, 0x80, 0x49, 0xea, 0xfd, - 0xcc, 0x55, 0x3d, 0xa2, 0x0c, 0x25, 0x2a, 0x90, 0xaa, 0xdb, 0xa4, 0x46, 0x34, 0x5f, 0x01, 0xa0, - 0x5e, 0x4c, 0x57, 0x6e, 0x14, 0xd6, 0x22, 0xb3, 0xf2, 0x16, 0x76, 0x64, 0x62, 0x6d, 0x03, 0x1c, - 0x75, 0xc5, 0x4f, 0x79, 0x0d, 0x8a, 0xd8, 0x35, 0xab, 0xbb, 0x2d, 0xcd, 0xc7, 0x6b, 0xa4, 0x0f, - 0x5e, 0x79, 0x46, 0xee, 0x15, 0xc8, 0xbf, 0x0a, 0x2f, 0x45, 0x38, 0x6a, 0xb8, 0xba, 0x83, 0x8c, - 0x66, 0x0d, 0x69, 0xae, 0xcd, 0xa4, 0x42, 0x11, 0xdf, 0x6e, 0xba, 0xa5, 0xb1, 0xde, 0xb0, 0xe7, - 0x74, 0xa8, 0x9b, 0x75, 0xce, 0x70, 0xc3, 0xa6, 0x42, 0xdc, 0x60, 0xdc, 0x12, 0x6d, 0x70, 0x22, - 0xc9, 0x06, 0xe5, 0x6f, 0x42, 0xce, 0x33, 0x0f, 0xba, 0xa8, 0x28, 0xe5, 0x69, 0x80, 0x88, 0x8f, - 0x8b, 0x5e, 0x9c, 0x88, 0x98, 0x1c, 0xb3, 0x5e, 0xcf, 0xd4, 0xe8, 0x5f, 0xf9, 0x6d, 0xc8, 0x07, - 0x98, 0x37, 0x71, 0xa9, 0x40, 0xb9, 0x57, 0x12, 0xc2, 0x4f, 0x2c, 0xdb, 0x26, 0x56, 0x73, 0x7e, - 0xbe, 0x4d, 0x2c, 0x3f, 0x86, 0xa2, 0x40, 0x5a, 0xb6, 0x3c, 0x35, 0x11, 0x2e, 0x15, 0xa9, 0x28, - 0x2f, 0x55, 0x3a, 0xec, 0x59, 0x18, 0xcc, 0x51, 0xc2, 0xbb, 0x82, 0x4e, 0x2d, 0xec, 0x85, 0x4a, - 0xe4, 0xd7, 0xe1, 0xa8, 0x49, 0xcc, 0x37, 0xac, 0x46, 0x64, 0x11, 0x47, 0x35, 0x4a, 0xf2, 0xa2, - 0xb4, 0x94, 0x55, 0x4b, 0x26, 0x5e, 0x0f, 0x6a, 0xe5, 0x16, 0xab, 0x97, 0x5f, 0x81, 0xd9, 0x88, - 0x25, 0xbb, 0x07, 0x14, 0x9f, 0x27, 0x19, 0x80, 0x04, 0xad, 0x79, 0xe3, 0x80, 0xa0, 0xf5, 0x55, - 0x98, 0xe1, 0x04, 0xde, 0x12, 0x81, 0x83, 0xfa, 0x14, 0xc5, 0xba, 0x49, 0x5a, 0xdb, 0x76, 0x72, - 0x0a, 0xf1, 0xef, 0xc2, 0xd4, 0x3e, 0x0d, 0x23, 0xa1, 0xd0, 0x33, 0xdd, 0x7f, 0xe8, 0xd9, 0x8f, - 0x94, 0xdd, 0x4b, 0x67, 0xb3, 0x85, 0xd1, 0x7b, 0xe9, 0xec, 0x68, 0x01, 0xee, 0xa5, 0xb3, 0x50, - 0x18, 0xbb, 0x97, 0xce, 0x8e, 0x17, 0x26, 0xee, 0xa5, 0xb3, 0xb9, 0x42, 0x5e, 0xf9, 0x2f, 0x09, - 0x66, 0x09, 0xc4, 0xff, 0x82, 0xc0, 0xf5, 0xef, 0x65, 0xa1, 0x14, 0x9d, 0xee, 0x17, 0x78, 0xfd, - 0x05, 0x5e, 0x3f, 0x73, 0xbc, 0x1e, 0x4f, 0xc4, 0xeb, 0x58, 0xe4, 0xcb, 0x3d, 0x33, 0xe4, 0xfb, - 0xd9, 0x0c, 0x07, 0x1d, 0xf0, 0xb6, 0x78, 0x18, 0xbc, 0x95, 0x13, 0xf1, 0x36, 0x16, 0x11, 0x27, - 0x0a, 0x39, 0xe5, 0xbb, 0x12, 0x2c, 0xa8, 0x08, 0x23, 0x37, 0x14, 0x12, 0x5e, 0x00, 0x1e, 0x2a, - 0x65, 0x38, 0x1a, 0x3f, 0x14, 0x86, 0x55, 0xca, 0x0f, 0x52, 0xb0, 0xa8, 0xa2, 0xaa, 0xed, 0x18, - 0xfe, 0xc5, 0x37, 0xf7, 0xee, 0x3e, 0x06, 0xfc, 0x0e, 0xc8, 0xd1, 0x6d, 0x6d, 0xff, 0x23, 0x2f, - 0x46, 0xf6, 0xb3, 0xf2, 0xcb, 0x20, 0x0b, 0x17, 0x34, 0xc2, 0xf0, 0x55, 0xf0, 0x6a, 0x04, 0xb2, - 0xcc, 0xc2, 0x08, 0xf5, 0x5d, 0x0f, 0xb1, 0x86, 0xc9, 0xdf, 0x55, 0x43, 0x3e, 0x06, 0x20, 0xce, - 0x2f, 0x38, 0x30, 0x8d, 0xaa, 0xa3, 0xbc, 0x64, 0xd5, 0x90, 0xdf, 0x83, 0xf1, 0x86, 0x5d, 0xab, - 0x79, 0xc7, 0x0f, 0x0c, 0x93, 0x5e, 0x3b, 0xec, 0xb6, 0x86, 0x9d, 0x3e, 0x8c, 0x11, 0x96, 0x42, - 0x88, 0xde, 0x06, 0x6c, 0xe4, 0x70, 0x1b, 0x30, 0xe5, 0x7f, 0xb3, 0x70, 0xa2, 0x83, 0xaa, 0x78, - 0xf0, 0x89, 0xc4, 0x0c, 0xe9, 0xd0, 0x31, 0xa3, 0x63, 0x3c, 0x18, 0xea, 0x18, 0x0f, 0xfa, 0x53, - 0xda, 0x12, 0x14, 0x12, 0xe2, 0x4d, 0x0e, 0x07, 0xf9, 0x46, 0xc2, 0x58, 0x26, 0x1a, 0xc6, 0x7c, - 0x67, 0x2f, 0xc3, 0xc1, 0xb3, 0x97, 0x6b, 0x50, 0xe2, 0xf8, 0xee, 0x3b, 0x79, 0xe1, 0xeb, 0xb8, - 0x11, 0xba, 0x8e, 0x9b, 0x61, 0xf5, 0xed, 0xd3, 0x14, 0xbe, 0x8a, 0x7b, 0x02, 0xb3, 0xae, 0xa3, - 0x5b, 0xd8, 0x24, 0xdd, 0x06, 0x37, 0xc0, 0xec, 0x38, 0xe2, 0x2b, 0xdd, 0x00, 0x77, 0x43, 0x90, - 0xfb, 0x95, 0x47, 0x0f, 0x90, 0xa6, 0xdd, 0xb8, 0x2a, 0x79, 0x1b, 0x8e, 0xc5, 0x1c, 0x14, 0xf9, - 0x42, 0xdd, 0x68, 0x1f, 0xa1, 0x6e, 0x3e, 0xe2, 0x57, 0xed, 0xa8, 0x77, 0x02, 0xc6, 0x03, 0x01, - 0x67, 0x8c, 0x06, 0x9c, 0xb1, 0x4d, 0x5f, 0xa4, 0xb9, 0x03, 0xb9, 0xb6, 0x3a, 0xe9, 0x01, 0xd5, - 0x78, 0x8f, 0x07, 0x54, 0x13, 0x1e, 0x1d, 0x3d, 0x8e, 0x5a, 0x81, 0x71, 0xa1, 0x69, 0xca, 0x66, - 0xa2, 0x47, 0x36, 0x63, 0x9c, 0x8a, 0x32, 0xb1, 0x61, 0xe4, 0x49, 0x13, 0xf1, 0x68, 0x97, 0x5a, - 0x1a, 0xbb, 0xf2, 0x56, 0xa5, 0xa7, 0xbb, 0x89, 0x4a, 0x57, 0xef, 0xa9, 0xbc, 0xc9, 0xf8, 0xde, - 0xb2, 0x5c, 0xa7, 0xa5, 0x8a, 0x5e, 0xda, 0xae, 0x9b, 0x3f, 0xe4, 0xd9, 0xc9, 0x6b, 0x90, 0xe5, - 0xa7, 0xc3, 0x24, 0xcc, 0x91, 0x21, 0x9f, 0x08, 0xaa, 0x4d, 0x1c, 0xed, 0x13, 0xfa, 0x07, 0xac, - 0xa5, 0xea, 0x91, 0x10, 0x8b, 0xe6, 0xd1, 0x99, 0xc7, 0x30, 0xf1, 0x77, 0xfe, 0x3d, 0x18, 0xf7, - 0x0f, 0x59, 0x2e, 0x40, 0x6a, 0x17, 0xb5, 0x38, 0x40, 0x93, 0x9f, 0xf2, 0x75, 0xc8, 0xec, 0xe9, - 0xb5, 0x66, 0xc2, 0xda, 0x91, 0xde, 0x3b, 0xf8, 0x61, 0x80, 0x70, 0x6b, 0xa9, 0x8c, 0xe4, 0xfa, - 0xd0, 0x35, 0x89, 0x05, 0x36, 0x5f, 0x98, 0xb8, 0x51, 0x75, 0xcd, 0x3d, 0xd3, 0x6d, 0x7d, 0x11, - 0x26, 0xfa, 0x0d, 0x13, 0x7e, 0xc9, 0x3d, 0xc7, 0x30, 0xf1, 0xcf, 0x69, 0x11, 0x26, 0x62, 0x55, - 0xc5, 0xc3, 0xc4, 0x43, 0xc8, 0x87, 0xc4, 0xc5, 0x03, 0xc5, 0xe9, 0xe0, 0x5c, 0x7c, 0x08, 0xc6, - 0x56, 0x86, 0x2d, 0x2a, 0x42, 0x35, 0x17, 0x14, 0x69, 0xc4, 0xb1, 0x87, 0x0e, 0xe3, 0xd8, 0x3e, - 0xe4, 0x4e, 0x05, 0x91, 0x1b, 0x41, 0x59, 0x2c, 0x8e, 0x79, 0x91, 0x16, 0x02, 0xa4, 0x74, 0x8f, - 0x1d, 0x2e, 0x70, 0x3e, 0x37, 0x18, 0x9b, 0xf5, 0x00, 0x3c, 0x3d, 0x80, 0xe2, 0x0e, 0xd2, 0x1d, - 0x77, 0x13, 0xe9, 0xae, 0x66, 0x20, 0x57, 0x37, 0x6b, 0x98, 0x9f, 0xc5, 0x77, 0x3f, 0x6f, 0x2e, - 0x78, 0xa4, 0x37, 0x19, 0x65, 0x34, 0x16, 0x0f, 0x1f, 0x3a, 0x16, 0x5f, 0xf0, 0x39, 0x8e, 0xe7, - 0x50, 0xd4, 0x46, 0x46, 0xdb, 0xde, 0xf0, 0x50, 0x54, 0xb4, 0xad, 0x28, 0x7b, 0x48, 0xc4, 0xf2, - 0x41, 0xce, 0x68, 0x00, 0x72, 0x94, 0xbf, 0x94, 0xe0, 0x24, 0x33, 0xa3, 0x00, 0x92, 0xf2, 0x83, - 0xf6, 0xbe, 0xd0, 0xc0, 0x86, 0x02, 0x3f, 0xde, 0x47, 0xa1, 0x7b, 0x9f, 0x9b, 0x5d, 0x3d, 0xaa, - 0x87, 0x21, 0xa8, 0x79, 0xc1, 0x9d, 0x17, 0x28, 0x3f, 0x1c, 0x82, 0x53, 0x9d, 0x09, 0xb9, 0x7b, - 0xe0, 0xf6, 0x8a, 0x44, 0xdc, 0x76, 0x71, 0xff, 0xb8, 0xfb, 0xac, 0x62, 0x0d, 0xd9, 0x7e, 0x06, - 0x7d, 0x12, 0x41, 0x4e, 0xe7, 0x2e, 0x4b, 0xe3, 0x3c, 0x2e, 0x0d, 0xd1, 0x58, 0xf1, 0xfa, 0x61, - 0xe1, 0x85, 0x77, 0x34, 0xa1, 0xfb, 0xaa, 0x30, 0xd9, 0xeb, 0x38, 0x64, 0x4b, 0xc0, 0x37, 0x8d, - 0xad, 0xc8, 0x11, 0x09, 0xad, 0xf5, 0x7b, 0xfb, 0xaa, 0xa1, 0xfc, 0xb9, 0x44, 0x02, 0x40, 0x44, - 0x72, 0xb7, 0x75, 0xb3, 0xd6, 0x97, 0xca, 0x77, 0x20, 0xb7, 0x45, 0x69, 0x42, 0x0a, 0xbf, 0x71, - 0x18, 0x85, 0x07, 0x7a, 0x57, 0x27, 0xb6, 0xfc, 0x7f, 0x95, 0x93, 0x04, 0x06, 0x13, 0x49, 0xf8, - 0xf6, 0xe7, 0xbf, 0x25, 0x98, 0x5f, 0xc5, 0xfe, 0x06, 0x8f, 0xf4, 0x9a, 0x69, 0xbc, 0x88, 0x93, - 0x2b, 0xcf, 0x65, 0x53, 0x87, 0x74, 0xd9, 0xf8, 0x08, 0x98, 0x8e, 0x8f, 0x80, 0xca, 0x35, 0x58, - 0x88, 0x9d, 0x38, 0xb7, 0xc5, 0x39, 0xc8, 0x9a, 0x58, 0xdb, 0x23, 0x65, 0x74, 0xd6, 0x59, 0x75, - 0xc4, 0xc4, 0xb4, 0x09, 0x01, 0x00, 0x25, 0x1a, 0x60, 0xee, 0x0a, 0xf0, 0xeb, 0x43, 0x76, 0x0d, - 0x3f, 0xdc, 0x06, 0xed, 0x61, 0xa5, 0x07, 0x7b, 0xe8, 0x36, 0x04, 0x1f, 0x22, 0x0b, 0xa3, 0x58, - 0x23, 0xd8, 0xd5, 0x81, 0x8e, 0xcf, 0xfe, 0x1c, 0x14, 0xaa, 0xba, 0x55, 0x45, 0x5e, 0xa0, 0x47, - 0x42, 0x0a, 0x79, 0x56, 0xae, 0x8a, 0x62, 0x3f, 0x1c, 0xfa, 0x79, 0xbe, 0x20, 0x38, 0xec, 0x34, - 0x84, 0x28, 0x1c, 0x9e, 0xf1, 0xd0, 0x30, 0x81, 0x8e, 0x7b, 0x89, 0xcf, 0xf9, 0xfd, 0x0d, 0x7f, - 0xfa, 0xce, 0x9f, 0xd8, 0x7b, 0xb2, 0xf3, 0xc7, 0x91, 0xf0, 0x69, 0xfd, 0x05, 0x35, 0xe4, 0xe8, - 0xfc, 0xa9, 0x86, 0xfb, 0x9a, 0xd8, 0xaf, 0x40, 0x2e, 0x68, 0x2f, 0x7d, 0x58, 0x71, 0xb7, 0xfe, - 0xd5, 0x89, 0x80, 0xc9, 0x29, 0xa7, 0xe3, 0xed, 0xcd, 0x23, 0x0a, 0x20, 0x9b, 0xbf, 0xc9, 0x2f, - 0x14, 0xb2, 0xc5, 0x4c, 0xbc, 0x3b, 0xb2, 0xfd, 0xf5, 0x10, 0x94, 0xd7, 0xcd, 0x6d, 0x4b, 0xaf, - 0x0d, 0x92, 0xca, 0xb2, 0x05, 0x39, 0x4c, 0x99, 0x84, 0x8c, 0xe1, 0x8d, 0xee, 0xb9, 0x2c, 0x1d, - 0xfb, 0x56, 0x27, 0x18, 0x5b, 0x31, 0x14, 0x13, 0x16, 0xd0, 0x81, 0x8b, 0x1c, 0xd2, 0x53, 0xcc, - 0xa6, 0x2a, 0xd5, 0xaf, 0xc6, 0xe6, 0x04, 0xb7, 0x48, 0x95, 0x5c, 0x81, 0xc9, 0xea, 0x8e, 0x59, - 0x33, 0xda, 0xfd, 0xd8, 0x56, 0xad, 0x45, 0x35, 0x90, 0x55, 0x8b, 0xb4, 0x4a, 0x10, 0x7d, 0xdd, - 0xaa, 0xb5, 0x94, 0x13, 0x70, 0x3c, 0x71, 0x2e, 0xdc, 0x3e, 0xff, 0x5e, 0x82, 0xb3, 0xbc, 0x8d, - 0xe9, 0xee, 0x0c, 0x9c, 0x3f, 0xf4, 0x1d, 0x09, 0xe6, 0xb8, 0xd4, 0xf7, 0x4d, 0x77, 0x47, 0x8b, - 0x4b, 0x26, 0xba, 0xdb, 0xab, 0x02, 0xba, 0x0d, 0x48, 0x9d, 0xc1, 0xc1, 0x86, 0xc2, 0x37, 0x6f, - 0xc0, 0x52, 0x77, 0x16, 0x1d, 0xf3, 0x34, 0x94, 0x1f, 0x49, 0x70, 0x5c, 0x45, 0x75, 0x7b, 0x0f, - 0x31, 0x4e, 0x87, 0xbc, 0x50, 0x7b, 0x7e, 0x1b, 0xed, 0xe0, 0x0e, 0x39, 0x15, 0xda, 0x21, 0x2b, - 0x0a, 0x09, 0x15, 0x49, 0xc3, 0x17, 0xba, 0x1f, 0x82, 0x13, 0x1b, 0xc8, 0xa9, 0x9b, 0x96, 0xee, - 0xa2, 0x41, 0xb4, 0x6e, 0x43, 0xd1, 0x15, 0x7c, 0x42, 0xca, 0x5e, 0xee, 0xaa, 0xec, 0xae, 0x23, - 0x50, 0x0b, 0x1e, 0xf3, 0x9f, 0x01, 0x9f, 0x3b, 0x05, 0x4a, 0xa7, 0x19, 0x71, 0xd1, 0xff, 0x9f, - 0x04, 0xe5, 0x9b, 0x88, 0x84, 0xf7, 0x41, 0xe4, 0xfe, 0xfc, 0xac, 0xeb, 0x1c, 0x14, 0x3c, 0xce, - 0x62, 0x03, 0xca, 0xb6, 0x25, 0xde, 0x7d, 0x11, 0xbf, 0xba, 0xa2, 0x17, 0x66, 0x35, 0x1b, 0xa3, - 0x78, 0x09, 0xc9, 0xac, 0x2e, 0x0c, 0x4b, 0x89, 0x73, 0xe7, 0xf2, 0xf9, 0x13, 0x09, 0x8e, 0xd1, - 0x0b, 0x93, 0x01, 0x93, 0x19, 0xd9, 0x0e, 0xab, 0xdf, 0x64, 0xc6, 0x8e, 0x3d, 0xab, 0xe3, 0x94, - 0xa9, 0xc0, 0x9a, 0x57, 0xa1, 0x9c, 0xd4, 0xbc, 0x33, 0xc2, 0xfc, 0x6e, 0x0a, 0x4e, 0x73, 0x26, - 0x6c, 0xd5, 0x30, 0xc8, 0x54, 0xeb, 0x09, 0x2b, 0x9f, 0xdb, 0x3d, 0xcc, 0xb5, 0x87, 0x21, 0x84, - 0x16, 0x3f, 0xf2, 0x6b, 0x3e, 0xff, 0xe3, 0x79, 0x8c, 0xd1, 0xe3, 0xbe, 0x92, 0x68, 0xb2, 0x2a, - 0x5a, 0x88, 0x63, 0xbf, 0x2e, 0xee, 0x9b, 0x7e, 0xfe, 0xee, 0x9b, 0x49, 0x72, 0xdf, 0x25, 0x38, - 0xd3, 0x4d, 0x22, 0xdc, 0x44, 0x7f, 0x32, 0x04, 0x0b, 0xe2, 0xd8, 0xca, 0xbf, 0x81, 0xfb, 0x5c, - 0xf8, 0xef, 0x55, 0x98, 0x31, 0xb1, 0x16, 0x93, 0x61, 0x49, 0x75, 0x93, 0x55, 0x27, 0x4d, 0x7c, - 0x3b, 0x9c, 0x3a, 0x29, 0xdf, 0x83, 0x31, 0x26, 0x2b, 0xb6, 0x4c, 0x4c, 0xf7, 0xbb, 0x4c, 0x04, - 0x4a, 0x4d, 0x7f, 0xcb, 0xf7, 0x61, 0x9c, 0xe7, 0xf8, 0x32, 0x66, 0x99, 0x7e, 0x99, 0x8d, 0x31, - 0x72, 0xfa, 0x47, 0x29, 0xc3, 0xd1, 0x78, 0x51, 0x73, 0x5d, 0xfc, 0x87, 0x04, 0x67, 0x1f, 0x21, - 0xc7, 0xdc, 0x6a, 0x45, 0x66, 0xe5, 0x9d, 0x2c, 0x7e, 0x2e, 0xf4, 0x32, 0xe8, 0x1a, 0x5c, 0x39, - 0x0f, 0x4b, 0xdd, 0x27, 0xca, 0xa5, 0xf2, 0x59, 0x8a, 0x6c, 0x2c, 0xc9, 0x36, 0x7b, 0x85, 0x28, - 0xc6, 0x1b, 0xc5, 0x61, 0x36, 0xc5, 0x1b, 0x50, 0x08, 0xe7, 0x6c, 0xf7, 0x2f, 0x90, 0x7c, 0x28, - 0x47, 0x9b, 0x78, 0x27, 0xe7, 0xda, 0x46, 0x11, 0x0f, 0x3f, 0x8a, 0xac, 0xca, 0x43, 0x8f, 0x55, - 0x43, 0x56, 0x21, 0xcf, 0x2c, 0x74, 0x00, 0xb0, 0xc8, 0x55, 0x03, 0xc2, 0x90, 0xd7, 0xbc, 0xed, - 0x3e, 0xbd, 0x87, 0xa4, 0x67, 0xf0, 0x99, 0x7e, 0xce, 0xe0, 0xf3, 0x6d, 0x72, 0x76, 0x08, 0xef, - 0x29, 0x79, 0xf8, 0x90, 0x1b, 0xad, 0x6b, 0x50, 0x8a, 0x88, 0x45, 0x44, 0xe1, 0x11, 0x7e, 0xe1, - 0x1b, 0x94, 0x0d, 0x0f, 0xc6, 0xca, 0x59, 0x12, 0x53, 0x3a, 0x6a, 0x5c, 0x04, 0xd8, 0x14, 0x5c, - 0x60, 0x86, 0x14, 0xdb, 0x92, 0x02, 0x1d, 0xe1, 0xf3, 0x39, 0x30, 0x92, 0x18, 0xa5, 0xa7, 0x06, - 0x55, 0x7a, 0x82, 0xe1, 0xa5, 0x93, 0x0c, 0xaf, 0x93, 0x46, 0x32, 0x9d, 0x34, 0x32, 0xb0, 0x31, - 0x28, 0x97, 0xa0, 0xd2, 0xab, 0xa2, 0xb8, 0x6e, 0xff, 0x50, 0x82, 0xc5, 0x9b, 0x08, 0x57, 0x1d, - 0x73, 0x73, 0xa0, 0xe5, 0xe5, 0x37, 0x61, 0xa4, 0xdf, 0x03, 0xa2, 0x6e, 0xdd, 0xaa, 0x82, 0xa3, - 0xf2, 0x3b, 0x69, 0x38, 0xd1, 0xa1, 0x35, 0x5f, 0x3b, 0xbd, 0x0b, 0x85, 0xf6, 0xa5, 0x7b, 0xd5, - 0xb6, 0xb6, 0xcc, 0x6d, 0x7e, 0x01, 0x70, 0x39, 0x7e, 0x2c, 0xb1, 0xea, 0x5f, 0xa1, 0x84, 0x6a, - 0x1e, 0x05, 0x0b, 0xe4, 0x6d, 0x98, 0x8d, 0xb9, 0xdb, 0xa7, 0x4f, 0x51, 0xd8, 0x84, 0x2f, 0xf6, - 0xd1, 0x09, 0x4b, 0x22, 0xd8, 0x8f, 0x2b, 0x96, 0xdf, 0x05, 0xb9, 0x81, 0x2c, 0xc3, 0xb4, 0xb6, - 0x35, 0x7e, 0x09, 0x60, 0x22, 0x5c, 0x4a, 0xd1, 0x6b, 0x85, 0x0b, 0xc9, 0x7d, 0xac, 0x31, 0x1a, - 0x71, 0x88, 0x42, 0x7b, 0x28, 0x36, 0x02, 0x85, 0x26, 0xc2, 0xf2, 0xb7, 0xa0, 0x20, 0xb8, 0x53, - 0x33, 0x77, 0x68, 0xce, 0x24, 0xe1, 0x7d, 0xb5, 0x2b, 0xef, 0xa0, 0x51, 0xd1, 0x1e, 0xf2, 0x0d, - 0x5f, 0x95, 0x83, 0x2c, 0x19, 0xc1, 0xb4, 0xe0, 0x1f, 0x5c, 0x4b, 0x64, 0xba, 0x69, 0x82, 0x77, - 0x12, 0xc9, 0xb5, 0x98, 0x6c, 0x44, 0x2b, 0x94, 0x7f, 0x4f, 0x41, 0x49, 0xe5, 0x6f, 0xb9, 0x10, - 0x45, 0x52, 0xfc, 0xe8, 0xca, 0xe7, 0x22, 0x6a, 0x6f, 0xc1, 0x74, 0x30, 0xc3, 0xaf, 0xa5, 0x99, - 0x2e, 0xaa, 0x0b, 0x0d, 0x5e, 0xe9, 0x2b, 0xcb, 0xaf, 0xb5, 0xea, 0xa2, 0xba, 0x3a, 0xb9, 0x17, - 0x29, 0xc3, 0xf2, 0x35, 0x18, 0xa6, 0xf1, 0x07, 0xf3, 0xa8, 0x96, 0x78, 0xd9, 0x79, 0x53, 0x77, - 0xf5, 0xe5, 0x9a, 0xbd, 0xa9, 0xf2, 0xf6, 0xf2, 0x6d, 0xc8, 0x59, 0x68, 0x9f, 0x26, 0xcb, 0x71, - 0x0e, 0x99, 0x1e, 0x39, 0x8c, 0x5b, 0x68, 0x5f, 0x6d, 0xb2, 0xc8, 0x85, 0xe5, 0x4d, 0x98, 0xdc, - 0xd4, 0x31, 0x0a, 0x7b, 0x03, 0xc3, 0xae, 0x2b, 0x5d, 0x1f, 0x66, 0x2d, 0xeb, 0x18, 0x05, 0x8d, - 0xa9, 0xb8, 0x19, 0x2e, 0x52, 0x16, 0x60, 0x2e, 0x46, 0xcd, 0x1c, 0xbb, 0xfe, 0x96, 0x6e, 0xfc, - 0x78, 0xed, 0xdb, 0xfe, 0x5c, 0x45, 0x61, 0x09, 0x5a, 0x24, 0x1f, 0x92, 0x01, 0xc2, 0xb5, 0xd8, - 0xd1, 0xf9, 0x5e, 0xed, 0xf9, 0xd5, 0x1d, 0x38, 0x0f, 0x09, 0xe5, 0x44, 0x9e, 0x86, 0x9c, 0x83, - 0xea, 0xb6, 0x8b, 0xb4, 0x6a, 0xad, 0x89, 0x5d, 0xe4, 0x50, 0x1b, 0x1a, 0x55, 0x27, 0x58, 0xe9, - 0x0a, 0x2b, 0x8c, 0x58, 0x64, 0x2a, 0x62, 0x91, 0xca, 0x22, 0xd9, 0x1b, 0xc6, 0xcf, 0x85, 0x4f, - 0xf7, 0xf7, 0x25, 0x98, 0x59, 0x6f, 0x59, 0xd5, 0xf5, 0x1d, 0xdd, 0x31, 0x78, 0x2a, 0x25, 0x9f, - 0xe7, 0x69, 0xc8, 0xf1, 0x17, 0x4c, 0x62, 0x18, 0xcc, 0xe6, 0x27, 0x58, 0xa9, 0x18, 0xc6, 0x1c, - 0x64, 0x31, 0x21, 0x16, 0xc9, 0x60, 0x19, 0x75, 0x84, 0xfe, 0x5f, 0x35, 0xe4, 0x1b, 0x30, 0xc6, - 0x72, 0x3a, 0xd9, 0xd5, 0x7c, 0xaa, 0xc7, 0xab, 0x79, 0x60, 0x44, 0xa4, 0x58, 0x99, 0x83, 0xd9, - 0xc8, 0xf0, 0xf8, 0xd0, 0xff, 0x6e, 0x18, 0x26, 0x49, 0x9d, 0x40, 0xa7, 0x3e, 0x3c, 0xf5, 0x38, - 0x8c, 0x79, 0x2a, 0xe4, 0xc3, 0x1e, 0x55, 0x41, 0x14, 0xad, 0x1a, 0xbe, 0x2d, 0x73, 0xca, 0xff, - 0x78, 0xca, 0x77, 0x1b, 0x9e, 0x0e, 0xdc, 0x86, 0x27, 0x1c, 0x4d, 0x67, 0x12, 0xd2, 0x4e, 0xa2, - 0x79, 0x54, 0xc3, 0x87, 0xcb, 0xa3, 0x8a, 0xcb, 0x98, 0x1b, 0x89, 0xcd, 0x98, 0x0b, 0x27, 0x66, - 0x64, 0x0f, 0x93, 0x98, 0xb1, 0xc6, 0xd3, 0xbb, 0xdb, 0xb7, 0x75, 0x94, 0xd7, 0x68, 0x8f, 0xbc, - 0x8a, 0x84, 0xd8, 0xbb, 0x65, 0xa3, 0x1c, 0xaf, 0xc3, 0x88, 0xc8, 0xaf, 0x80, 0x1e, 0xf3, 0x2b, - 0x04, 0x81, 0x3f, 0x4d, 0x64, 0x2c, 0x98, 0x26, 0xb2, 0x02, 0xe3, 0x2c, 0xf9, 0x97, 0x3f, 0x3f, - 0x1c, 0xef, 0xf1, 0xf9, 0xe1, 0x18, 0xcd, 0x09, 0xe6, 0x2f, 0x0f, 0x2f, 0x01, 0x7d, 0x39, 0xa8, - 0xf1, 0xb7, 0x14, 0xa6, 0x81, 0x2c, 0xd7, 0x74, 0x5b, 0x34, 0x57, 0x6d, 0x54, 0x95, 0x49, 0x1d, - 0x7b, 0x32, 0xb1, 0xca, 0x6b, 0xe4, 0xb7, 0x21, 0x1f, 0x82, 0x69, 0x9e, 0x86, 0x5d, 0xe9, 0x0f, - 0xa0, 0xd5, 0x5c, 0x10, 0x9c, 0x93, 0x50, 0x31, 0xff, 0x2c, 0x51, 0x71, 0x06, 0xa6, 0x82, 0xde, - 0xc4, 0xdd, 0xec, 0xbb, 0x12, 0x2c, 0x88, 0x75, 0xd2, 0x0b, 0x7e, 0xd5, 0xa1, 0xfc, 0x8f, 0x04, - 0x47, 0xe3, 0xc7, 0xc2, 0x97, 0x6b, 0x3b, 0x30, 0x59, 0xd5, 0xab, 0x3b, 0x28, 0xf8, 0x28, 0x7a, - 0x60, 0x80, 0x2e, 0x52, 0xa6, 0xfe, 0x22, 0xd9, 0x82, 0x19, 0x43, 0x77, 0x75, 0xaa, 0x96, 0x60, - 0x67, 0x43, 0x03, 0x76, 0x36, 0x25, 0xf8, 0xfa, 0x4b, 0x95, 0x7f, 0x90, 0x60, 0x5e, 0x4c, 0x9d, - 0x9b, 0xc5, 0x5d, 0x1b, 0xfb, 0x6f, 0xd9, 0x77, 0x6c, 0xec, 0x6a, 0xba, 0x61, 0x38, 0x08, 0x63, - 0xa1, 0x05, 0x52, 0x76, 0x83, 0x15, 0x75, 0x02, 0xea, 0xee, 0xa1, 0x24, 0x61, 0x71, 0x93, 0x1e, - 0x7c, 0x71, 0xa3, 0xfc, 0x8b, 0xcf, 0xc0, 0x02, 0x33, 0xe3, 0x3a, 0x3d, 0x09, 0x13, 0x74, 0x9c, - 0x58, 0xb3, 0x9a, 0xf5, 0x4d, 0x1e, 0x86, 0x32, 0xea, 0x38, 0x2b, 0x7c, 0x48, 0xcb, 0xe4, 0x05, - 0x18, 0x15, 0x93, 0x63, 0xe9, 0x32, 0x19, 0x35, 0xcb, 0x67, 0x87, 0xe5, 0xc7, 0x90, 0x6f, 0x4f, - 0x8f, 0xaa, 0xb2, 0xe3, 0x4b, 0x6f, 0xaf, 0x2d, 0x99, 0x82, 0x97, 0x4b, 0xb5, 0x42, 0xe8, 0xa8, - 0xf3, 0xe4, 0xac, 0x40, 0x19, 0xc5, 0x21, 0x2e, 0x76, 0x96, 0x28, 0x28, 0xfe, 0xde, 0x4b, 0x67, - 0xd3, 0x85, 0x8c, 0x52, 0x81, 0xe2, 0x4a, 0xcd, 0xc6, 0x88, 0x06, 0x31, 0xa1, 0x30, 0xbf, 0x36, - 0xa4, 0x80, 0x36, 0x94, 0x29, 0x90, 0xfd, 0xed, 0xb9, 0x1f, 0xbe, 0x0c, 0xf9, 0x3b, 0xc8, 0xed, - 0x95, 0xc7, 0x7b, 0x50, 0x68, 0xb7, 0xe6, 0x82, 0xbc, 0x0f, 0xc0, 0x9b, 0x13, 0xf0, 0x60, 0x3e, - 0x71, 0xa1, 0x17, 0x33, 0xa5, 0x6c, 0xe8, 0xd4, 0x99, 0x90, 0x29, 0x5e, 0xfc, 0xa3, 0x04, 0x45, - 0x76, 0xc3, 0xe3, 0x3f, 0x74, 0x4c, 0x1e, 0x92, 0x7c, 0x1b, 0xb2, 0x64, 0x1d, 0xb2, 0x4d, 0x60, - 0x71, 0x88, 0xbe, 0xf1, 0x38, 0xdf, 0xf9, 0x05, 0x09, 0xbb, 0xcf, 0x66, 0x14, 0xaa, 0x47, 0xeb, - 0xcf, 0xd9, 0x4c, 0x05, 0x72, 0x36, 0x57, 0x21, 0xbf, 0x67, 0x62, 0x73, 0xd3, 0xac, 0xd1, 0xcc, - 0xa9, 0x7e, 0xb2, 0x01, 0x73, 0x6d, 0x42, 0xba, 0xec, 0x98, 0x02, 0xd9, 0x3f, 0x37, 0xae, 0x82, - 0x0f, 0x25, 0x38, 0x76, 0x07, 0xb9, 0x6a, 0xfb, 0x7b, 0x0f, 0x3c, 0x47, 0xd7, 0x5b, 0x33, 0xdd, - 0x87, 0x61, 0x9a, 0x3c, 0x4d, 0x1c, 0x30, 0x95, 0x68, 0x60, 0xbe, 0x0f, 0x46, 0xb0, 0x13, 0x70, - 0xef, 0x2f, 0x4d, 0xb3, 0x56, 0x39, 0x0f, 0xe2, 0x96, 0x7c, 0xe9, 0x45, 0x73, 0xfd, 0xf8, 0x3a, - 0x65, 0x8c, 0x97, 0x11, 0xcb, 0x54, 0xbe, 0x3f, 0x04, 0xe5, 0xa4, 0x21, 0x71, 0xb5, 0x7f, 0x1b, - 0x72, 0x4c, 0x25, 0x5e, 0xea, 0x31, 0x1b, 0xdb, 0x3b, 0x3d, 0x66, 0xb0, 0x75, 0x66, 0xcf, 0x8c, - 0x43, 0x94, 0xb2, 0x84, 0x69, 0xe6, 0xaf, 0xa2, 0x6c, 0xbe, 0x05, 0x72, 0xb4, 0x91, 0x3f, 0x45, - 0x39, 0xc3, 0x52, 0x94, 0x1f, 0x04, 0x53, 0x94, 0x5f, 0xed, 0x53, 0x76, 0xde, 0xc8, 0xda, 0x59, - 0xcb, 0xca, 0xfb, 0xb0, 0x78, 0x07, 0xb9, 0x37, 0xef, 0xbf, 0xd9, 0x41, 0x67, 0x8f, 0xf8, 0x23, - 0x34, 0xe2, 0x15, 0x42, 0x36, 0xfd, 0xf6, 0xed, 0x6d, 0x2c, 0xe9, 0xbb, 0x34, 0xf2, 0x0b, 0x2b, - 0xbf, 0x2e, 0xc1, 0x89, 0x0e, 0x9d, 0x73, 0xed, 0xbc, 0x07, 0x45, 0x1f, 0x5b, 0x9e, 0xef, 0x27, - 0x85, 0x37, 0xcf, 0x3d, 0x0f, 0x42, 0x2d, 0x38, 0xc1, 0x02, 0xac, 0x7c, 0x20, 0xc1, 0x14, 0x4d, - 0xe7, 0x16, 0x68, 0xdc, 0x47, 0xe4, 0xfe, 0x7a, 0xf8, 0x04, 0xe6, 0x4b, 0x5d, 0x4f, 0x60, 0xe2, - 0xba, 0x6a, 0x9f, 0xba, 0xec, 0xc2, 0x74, 0xa8, 0x01, 0x97, 0x83, 0x0a, 0xd9, 0x50, 0x86, 0xe5, - 0x97, 0xfb, 0xed, 0x8a, 0xa7, 0x39, 0x7a, 0x7c, 0x94, 0xdf, 0x96, 0x60, 0x4a, 0x45, 0x7a, 0xa3, - 0x51, 0x63, 0x27, 0xa5, 0xb8, 0x8f, 0x99, 0xaf, 0x87, 0x67, 0x1e, 0xff, 0xb2, 0xc3, 0xff, 0x6d, - 0x14, 0xa6, 0x8e, 0x68, 0x77, 0xed, 0xd9, 0xcf, 0xc2, 0x74, 0xa8, 0x01, 0x1f, 0xe9, 0x9f, 0x0d, - 0xc1, 0x34, 0xb3, 0x95, 0xb0, 0x75, 0xde, 0x82, 0xb4, 0xf7, 0x7c, 0x27, 0xe7, 0x3f, 0xea, 0x88, - 0x43, 0xcc, 0x9b, 0x48, 0x37, 0xee, 0x23, 0xd7, 0x45, 0x0e, 0xcd, 0xfc, 0xa4, 0xf9, 0xc3, 0x94, - 0xbc, 0x53, 0xf0, 0x8f, 0xee, 0xf3, 0x52, 0x71, 0xfb, 0xbc, 0x57, 0xa1, 0x64, 0x5a, 0xa4, 0x85, - 0xb9, 0x87, 0x34, 0x64, 0x79, 0x70, 0xd2, 0x3e, 0xb6, 0x9c, 0xf6, 0xea, 0x6f, 0x59, 0xc2, 0xd9, - 0x57, 0x0d, 0xf9, 0x3c, 0x14, 0xeb, 0xfa, 0x81, 0x59, 0x6f, 0xd6, 0xb5, 0x06, 0x69, 0x8f, 0xcd, - 0xf7, 0xd9, 0x87, 0x4d, 0x32, 0x6a, 0x9e, 0x57, 0xac, 0xe9, 0xdb, 0x68, 0xdd, 0x7c, 0x1f, 0xc9, - 0x67, 0x20, 0x4f, 0xdf, 0xf5, 0xd0, 0x86, 0xec, 0x19, 0xca, 0x30, 0x7d, 0x86, 0x42, 0x9f, 0xfb, - 0x90, 0x66, 0xec, 0xdd, 0xed, 0xc7, 0x43, 0xf4, 0xa3, 0x10, 0x01, 0x79, 0x71, 0x43, 0x7a, 0x46, - 0x02, 0x8b, 0xf5, 0xcb, 0xa1, 0x67, 0xe8, 0x97, 0x71, 0x73, 0x4d, 0xc5, 0xcc, 0x55, 0xae, 0xc3, - 0x4c, 0x64, 0x24, 0x2c, 0x84, 0xa7, 0x07, 0xc3, 0xaa, 0xa9, 0xf0, 0x90, 0x68, 0x5c, 0xff, 0x27, - 0x09, 0x66, 0xd7, 0x9a, 0xce, 0x36, 0xfa, 0x79, 0x34, 0x46, 0x65, 0x1e, 0x4a, 0xd1, 0xc9, 0x89, - 0xf4, 0xc6, 0x21, 0x98, 0x7d, 0x80, 0x7e, 0x4e, 0x67, 0xfe, 0x5c, 0xdc, 0x70, 0x19, 0x4a, 0x51, - 0x81, 0x71, 0x3f, 0x8c, 0xe1, 0x21, 0xc5, 0xf1, 0xf8, 0x3e, 0x7d, 0x25, 0xbb, 0xe5, 0x20, 0xbc, - 0xe3, 0x3f, 0x8d, 0xed, 0x07, 0xab, 0xbf, 0x11, 0xc6, 0xea, 0xaf, 0xf5, 0x88, 0xd5, 0x89, 0xbd, - 0xb6, 0x21, 0x9b, 0x3e, 0x9c, 0x8d, 0x6b, 0xc7, 0x8d, 0xe6, 0x7b, 0x12, 0x9c, 0xbf, 0x83, 0x2c, - 0xe4, 0xe8, 0x2e, 0xba, 0xaf, 0x63, 0x91, 0x2f, 0x1f, 0xf2, 0x37, 0xfc, 0x22, 0x76, 0xcb, 0x1f, - 0x48, 0xf0, 0x52, 0x4f, 0x43, 0xe3, 0x1a, 0x7b, 0x05, 0x66, 0xe8, 0x0e, 0x56, 0x63, 0x0f, 0x11, - 0xf9, 0x95, 0x47, 0x93, 0x3f, 0x09, 0x4a, 0xa9, 0x53, 0xb4, 0x76, 0xc3, 0xab, 0x5c, 0x21, 0x75, - 0xc4, 0x6e, 0xc5, 0x99, 0x74, 0x0d, 0x59, 0xdb, 0xee, 0x0e, 0x7f, 0x12, 0x3a, 0xc1, 0x4b, 0xef, - 0xd3, 0x42, 0xe5, 0x36, 0x2c, 0x04, 0x17, 0x92, 0xc1, 0xc3, 0xc6, 0xb3, 0x90, 0x0f, 0x9e, 0x79, - 0xb2, 0x45, 0xd0, 0xa8, 0x9a, 0x0b, 0x1c, 0x7a, 0x62, 0xa5, 0x09, 0x47, 0xe3, 0xf9, 0xf0, 0x49, - 0xbc, 0x05, 0xc3, 0x6c, 0x63, 0xc8, 0x17, 0x51, 0xaf, 0xf5, 0xb8, 0xca, 0xe5, 0x5b, 0xa5, 0x30, - 0x5b, 0xce, 0x4c, 0xf9, 0xab, 0x61, 0x98, 0x89, 0x6f, 0xd2, 0x69, 0xcb, 0xf3, 0x25, 0x98, 0xad, - 0xeb, 0x07, 0x5a, 0x18, 0xbe, 0xdb, 0xef, 0x66, 0xa7, 0xea, 0xfa, 0x41, 0x18, 0x9a, 0x0d, 0xf9, - 0x3e, 0x14, 0x18, 0xc7, 0x9a, 0x5d, 0xd5, 0x6b, 0xbd, 0x1e, 0x9e, 0x0e, 0x93, 0x9d, 0x4c, 0x49, - 0x52, 0xd9, 0x6a, 0xff, 0x3e, 0x21, 0xa5, 0x47, 0x6c, 0xef, 0x47, 0x45, 0xcb, 0x02, 0xc7, 0x9b, - 0x03, 0x89, 0xa6, 0xa2, 0x06, 0x14, 0xc3, 0x56, 0xfe, 0x21, 0x6d, 0xc9, 0xbf, 0x21, 0xc1, 0xe4, - 0x8e, 0x6e, 0x19, 0xf6, 0x1e, 0xdf, 0xc3, 0x50, 0x23, 0x27, 0xfb, 0xe4, 0x7e, 0xde, 0x6b, 0x26, - 0x0c, 0xe0, 0x2e, 0x67, 0xec, 0x6d, 0xd1, 0xf9, 0x20, 0xe4, 0x9d, 0x48, 0x85, 0xdc, 0x80, 0x53, - 0xb1, 0x9a, 0x08, 0x6f, 0x18, 0x7b, 0x3d, 0x87, 0x5d, 0x8c, 0x2a, 0xee, 0x51, 0x60, 0x0b, 0x39, - 0xff, 0x81, 0x04, 0x93, 0x31, 0x22, 0x8a, 0x79, 0x9a, 0xf9, 0x38, 0xb8, 0xef, 0xb9, 0x33, 0x90, - 0x54, 0xd6, 0x90, 0xc3, 0xfb, 0xf3, 0xed, 0x83, 0xe6, 0xbf, 0x23, 0xc1, 0x6c, 0x82, 0xb8, 0x62, - 0x06, 0xa4, 0x06, 0x07, 0xf4, 0xd5, 0x1e, 0x07, 0x14, 0xe9, 0x80, 0xae, 0x32, 0x7c, 0xbb, 0xb1, - 0x77, 0x60, 0x3a, 0xb6, 0x8d, 0xfc, 0x06, 0x1c, 0xf5, 0xac, 0x24, 0xce, 0x59, 0x18, 0xfe, 0xcc, - 0x89, 0x36, 0x11, 0x8f, 0x51, 0xfe, 0x48, 0x82, 0xc5, 0x6e, 0xf2, 0x90, 0x15, 0x98, 0xd0, 0xab, - 0xbb, 0xc8, 0x08, 0xb1, 0x1d, 0xa3, 0x85, 0xdc, 0xf5, 0x1e, 0xc3, 0xbc, 0xaf, 0x4d, 0xd8, 0x3a, - 0x7a, 0x7d, 0xcd, 0x38, 0xeb, 0xb1, 0x0c, 0x1a, 0x85, 0xf2, 0x5b, 0x12, 0xcc, 0xab, 0x68, 0xb3, - 0x69, 0xd6, 0x8c, 0x17, 0x7d, 0x96, 0x7a, 0x8c, 0x84, 0xdd, 0x98, 0x91, 0xf0, 0xb8, 0xf6, 0xc3, - 0x21, 0x38, 0x1d, 0x4c, 0x92, 0x6c, 0x4f, 0x85, 0x5d, 0xf8, 0xbf, 0x88, 0x27, 0x04, 0x6b, 0x30, - 0xe9, 0xbf, 0x7b, 0xe3, 0x1f, 0x61, 0xe9, 0xf9, 0x66, 0xa9, 0xe8, 0xbb, 0x68, 0x63, 0x5f, 0x5c, - 0x09, 0x70, 0xa4, 0xa9, 0xa2, 0xfd, 0x1d, 0x1c, 0x79, 0x1c, 0xe9, 0x89, 0x1d, 0xd5, 0xf1, 0x12, - 0x9c, 0xe9, 0x26, 0x38, 0x2e, 0xe3, 0x3f, 0x90, 0xa0, 0xfc, 0x56, 0xc3, 0x18, 0x30, 0xf9, 0xf9, - 0x97, 0xc3, 0xab, 0x9f, 0xee, 0x0f, 0x0c, 0x3a, 0x77, 0xda, 0x5e, 0xfc, 0x7c, 0x1b, 0x8e, 0x27, - 0x36, 0xf5, 0x12, 0x24, 0xc2, 0xfb, 0xf6, 0xaf, 0x1d, 0xbe, 0xfb, 0xc8, 0x0e, 0xfe, 0x4f, 0x25, - 0x58, 0x5a, 0x77, 0x1d, 0xa4, 0xd7, 0xdb, 0xdb, 0xfc, 0xc4, 0x83, 0x9c, 0x06, 0xcc, 0xe0, 0x96, - 0x55, 0x0d, 0x20, 0x48, 0xf7, 0xf3, 0xff, 0xd0, 0x46, 0x69, 0xbd, 0x65, 0x55, 0x43, 0x20, 0x82, - 0xee, 0x1e, 0x51, 0xa7, 0x70, 0x4c, 0xf9, 0xf2, 0x38, 0x80, 0xee, 0xba, 0x8e, 0xb9, 0xd9, 0x74, - 0x11, 0x26, 0x4b, 0xc1, 0x73, 0x3d, 0x0c, 0x96, 0x0b, 0xee, 0xb1, 0xef, 0x5b, 0x00, 0x52, 0x58, - 0x6f, 0xc9, 0xe3, 0xeb, 0xc0, 0xfa, 0xee, 0x91, 0xf6, 0xb7, 0x02, 0x42, 0x43, 0xfb, 0x63, 0x09, - 0x14, 0xff, 0x27, 0x4a, 0x3c, 0x99, 0x33, 0x55, 0xf4, 0x61, 0x6d, 0x8f, 0xc3, 0xd6, 0xb6, 0xd2, - 0xd7, 0xb7, 0x51, 0xe2, 0x3b, 0x6e, 0x5b, 0xdc, 0x6f, 0x4a, 0x70, 0xb2, 0x63, 0x7b, 0xef, 0xd8, - 0x2c, 0x6c, 0x76, 0x37, 0x07, 0x1b, 0x47, 0xd8, 0xf4, 0x96, 0x1b, 0x1f, 0x7d, 0x52, 0x3e, 0xf2, - 0xf1, 0x27, 0xe5, 0x23, 0x9f, 0x7d, 0x52, 0x96, 0x7e, 0xed, 0x69, 0x59, 0xfa, 0xc1, 0xd3, 0xb2, - 0xf4, 0x37, 0x4f, 0xcb, 0xd2, 0x47, 0x4f, 0xcb, 0xd2, 0xbf, 0x3d, 0x2d, 0x4b, 0x3f, 0x7e, 0x5a, - 0x3e, 0xf2, 0xd9, 0xd3, 0xb2, 0xf4, 0xe1, 0xa7, 0xe5, 0x23, 0x1f, 0x7d, 0x5a, 0x3e, 0xf2, 0xf1, - 0xa7, 0xe5, 0x23, 0xdf, 0xb8, 0xbe, 0x6d, 0xb7, 0xc7, 0x61, 0xda, 0x1d, 0xbf, 0xb0, 0xfd, 0x4b, - 0xc1, 0x92, 0xcd, 0x61, 0x8a, 0x32, 0x57, 0xff, 0x3f, 0x00, 0x00, 0xff, 0xff, 0xb4, 0x48, 0x66, - 0x32, 0xa0, 0x5b, 0x00, 0x00, + // 4910 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x49, 0x6c, 0x1c, 0x57, + 0x76, 0x2a, 0x76, 0x37, 0xd9, 0x7c, 0x24, 0x7b, 0x29, 0x6e, 0x4d, 0x52, 0x6a, 0x51, 0xa5, 0x8d, + 0x92, 0xad, 0xd6, 0xe6, 0x19, 0x6b, 0x94, 0xb1, 0x3d, 0x22, 0xb5, 0x51, 0x90, 0x34, 0x74, 0x91, + 0x96, 0x9d, 0x19, 0x6b, 0xca, 0xc5, 0xae, 0x4f, 0xb2, 0xc2, 0xee, 0xaa, 0x56, 0xfd, 0x6a, 0x2e, + 0xce, 0x61, 0x02, 0x0c, 0xb2, 0x8c, 0x0f, 0x89, 0x81, 0x5c, 0x06, 0xc1, 0x24, 0x87, 0x00, 0x49, + 0x06, 0x01, 0x82, 0x1c, 0x72, 0x18, 0xe4, 0x30, 0x97, 0x1c, 0x82, 0x20, 0xc8, 0xc1, 0x99, 0x4b, + 0x8c, 0x04, 0x59, 0x2c, 0x23, 0xc8, 0xcc, 0xcd, 0xb7, 0x2c, 0xa7, 0xe0, 0x6f, 0xd5, 0xb5, 0xf6, + 0x2a, 0x45, 0x1e, 0xc7, 0xb7, 0xee, 0xff, 0xdf, 0x7b, 0xff, 0xfd, 0xb7, 0xfe, 0xe5, 0xfd, 0x82, + 0xaf, 0xbb, 0xa8, 0xde, 0xb0, 0x1d, 0xbd, 0x76, 0x11, 0x23, 0x67, 0x0f, 0x39, 0x17, 0xf5, 0x86, + 0x79, 0x71, 0xc7, 0xc4, 0xae, 0xed, 0x1c, 0x92, 0x16, 0xb3, 0x8a, 0x2e, 0xee, 0x5d, 0xbe, 0xe8, + 0xa0, 0x27, 0x4d, 0x84, 0x5d, 0xcd, 0x41, 0xb8, 0x61, 0x5b, 0x18, 0x55, 0x1a, 0x8e, 0xed, 0xda, + 0xf2, 0x69, 0x81, 0x5d, 0x61, 0xd8, 0x15, 0xbd, 0x61, 0x56, 0x82, 0xd8, 0x95, 0xbd, 0xcb, 0xf3, + 0xe5, 0x6d, 0xdb, 0xde, 0xae, 0xa1, 0x8b, 0x14, 0x69, 0xb3, 0xb9, 0x75, 0xd1, 0x68, 0x3a, 0xba, + 0x6b, 0xda, 0x16, 0x23, 0x33, 0x7f, 0x3c, 0xdc, 0xef, 0x9a, 0x75, 0x84, 0x5d, 0xbd, 0xde, 0xe0, + 0x00, 0x27, 0x0c, 0xd4, 0x40, 0x96, 0x81, 0xac, 0xaa, 0x89, 0xf0, 0xc5, 0x6d, 0x7b, 0xdb, 0xa6, + 0xed, 0xf4, 0x17, 0x07, 0x39, 0xe5, 0x4d, 0x84, 0xcc, 0xa0, 0x6a, 0xd7, 0xeb, 0xb6, 0x45, 0x38, + 0xaf, 0x23, 0x8c, 0xf5, 0x6d, 0xce, 0xf0, 0xfc, 0xe9, 0x00, 0x14, 0xe7, 0x34, 0x0a, 0x76, 0x36, + 0x00, 0xe6, 0xea, 0x78, 0xf7, 0x49, 0x13, 0x35, 0x51, 0x14, 0x30, 0x38, 0x2a, 0xb2, 0x9a, 0x75, + 0x4c, 0x80, 0xf6, 0x6d, 0x67, 0x77, 0xab, 0x66, 0xef, 0x73, 0xa8, 0x33, 0x01, 0x28, 0xd1, 0x19, + 0xa5, 0x76, 0x32, 0x00, 0xf7, 0xa4, 0x89, 0xe2, 0x78, 0x0b, 0x12, 0xa3, 0x6d, 0x55, 0xbb, 0xd6, + 0x69, 0xaa, 0x5b, 0xba, 0x59, 0x6b, 0x3a, 0x31, 0x33, 0x38, 0x1f, 0x67, 0x00, 0xd5, 0x9a, 0x5d, + 0xdd, 0x8d, 0xc2, 0xbe, 0xdc, 0xc6, 0x58, 0xa2, 0xd0, 0xe7, 0xe2, 0xa0, 0x3d, 0x11, 0x31, 0x0d, + 0x71, 0xd0, 0x97, 0xda, 0x82, 0x86, 0xa4, 0x79, 0xb6, 0x2d, 0x30, 0x51, 0x16, 0x07, 0xbc, 0x10, + 0x07, 0x98, 0x2c, 0xfd, 0x4a, 0x1c, 0xb8, 0xa5, 0xd7, 0x11, 0x6e, 0xe8, 0xd5, 0x18, 0xc9, 0x5d, + 0x8a, 0x83, 0x77, 0x50, 0xa3, 0x66, 0x56, 0xa9, 0x71, 0x47, 0x31, 0xae, 0xc6, 0x61, 0x34, 0x90, + 0x83, 0x4d, 0xec, 0x22, 0x8b, 0x8d, 0x81, 0x0e, 0x50, 0xb5, 0x49, 0xd0, 0x31, 0x47, 0x7a, 0xa3, + 0x0b, 0x24, 0x31, 0x29, 0xad, 0xde, 0x74, 0xf5, 0xcd, 0x1a, 0xd2, 0xb0, 0xab, 0xbb, 0x62, 0xd4, + 0xaf, 0xc6, 0x5a, 0x5f, 0x47, 0xe7, 0x9e, 0xbf, 0x1e, 0x37, 0xb0, 0x6e, 0xd4, 0x4d, 0xab, 0x23, + 0xae, 0xf2, 0xf3, 0x61, 0x38, 0xb6, 0xee, 0xea, 0x8e, 0xfb, 0x36, 0x1f, 0xee, 0x96, 0x98, 0x96, + 0xca, 0x10, 0xe4, 0x13, 0x30, 0xee, 0xc9, 0x56, 0x33, 0x8d, 0x92, 0xb4, 0x28, 0x2d, 0x8d, 0xaa, + 0x63, 0x5e, 0xdb, 0xaa, 0x21, 0x57, 0x61, 0x02, 0x13, 0x1a, 0x1a, 0x1f, 0xa4, 0x34, 0xb4, 0x28, + 0x2d, 0x8d, 0x5d, 0x79, 0xdd, 0x53, 0x14, 0x0d, 0x37, 0xa1, 0x09, 0x55, 0xf6, 0x2e, 0x57, 0xda, + 0x8e, 0xac, 0x8e, 0x53, 0xa2, 0x82, 0x8f, 0x1d, 0x98, 0x6e, 0xe8, 0x0e, 0xb2, 0x5c, 0xcd, 0x93, + 0xbc, 0x66, 0x5a, 0x5b, 0x76, 0x29, 0x45, 0x07, 0x7b, 0xa5, 0x12, 0x17, 0xe2, 0x3c, 0x8b, 0xdc, + 0xbb, 0x5c, 0x59, 0xa3, 0xd8, 0xde, 0x28, 0xab, 0xd6, 0x96, 0xad, 0x4e, 0x36, 0xa2, 0x8d, 0x72, + 0x09, 0x46, 0x74, 0x97, 0x50, 0x73, 0x4b, 0xe9, 0x45, 0x69, 0x29, 0xa3, 0x8a, 0xbf, 0x72, 0x1d, + 0x14, 0x4f, 0x83, 0x2d, 0x2e, 0xd0, 0x41, 0xc3, 0x64, 0x61, 0x52, 0x23, 0xf1, 0xb0, 0x94, 0xa1, + 0x0c, 0xcd, 0x57, 0x58, 0xb0, 0xac, 0x88, 0x60, 0x59, 0xd9, 0x10, 0xc1, 0x72, 0x39, 0xfd, 0xe1, + 0xbf, 0x1e, 0x97, 0xd4, 0xe3, 0xfb, 0xe1, 0x99, 0xdf, 0xf2, 0x28, 0x11, 0x58, 0x79, 0x07, 0xe6, + 0xaa, 0xb6, 0xe5, 0x9a, 0x56, 0x13, 0x69, 0x3a, 0xd6, 0x2c, 0xb4, 0xaf, 0x99, 0x96, 0xe9, 0x9a, + 0xba, 0x6b, 0x3b, 0xa5, 0xe1, 0x45, 0x69, 0x29, 0x77, 0xe5, 0x42, 0x50, 0xc6, 0xd4, 0xbb, 0xc8, + 0x64, 0x57, 0x38, 0xde, 0x0d, 0xfc, 0x10, 0xed, 0xaf, 0x0a, 0x24, 0x75, 0xa6, 0x1a, 0xdb, 0x2e, + 0x3f, 0x80, 0xa2, 0xe8, 0x31, 0x34, 0x1e, 0x82, 0x4a, 0x23, 0x74, 0x1e, 0x8b, 0xc1, 0x11, 0x78, + 0x27, 0x19, 0xe3, 0x36, 0xfb, 0xa9, 0x16, 0x3c, 0x54, 0xde, 0x22, 0x3f, 0x82, 0x99, 0x9a, 0x8e, + 0x5d, 0xad, 0x6a, 0xd7, 0x1b, 0x35, 0x44, 0x25, 0xe3, 0x20, 0xdc, 0xac, 0xb9, 0xa5, 0x6c, 0x1c, + 0x4d, 0x1e, 0x62, 0xa8, 0x8e, 0x0e, 0x6b, 0xb6, 0x6e, 0x60, 0x75, 0x8a, 0xe0, 0xaf, 0x78, 0xe8, + 0x2a, 0xc5, 0x96, 0xbf, 0x03, 0x0b, 0x5b, 0xa6, 0x83, 0x5d, 0xcd, 0xd3, 0x02, 0x89, 0x22, 0xda, + 0xa6, 0x5e, 0xdd, 0xb5, 0xb7, 0xb6, 0x4a, 0xa3, 0x94, 0xf8, 0x5c, 0x44, 0xf0, 0x37, 0x79, 0x16, + 0x5b, 0x4e, 0xff, 0x80, 0xc8, 0xbd, 0x44, 0x69, 0x08, 0xb3, 0xdb, 0xd0, 0xf1, 0xee, 0x32, 0x23, + 0x20, 0xbf, 0x0b, 0x53, 0xd8, 0x6e, 0x3a, 0x55, 0xa4, 0xed, 0x11, 0xbf, 0xb5, 0x2d, 0x8d, 0xea, + 0xab, 0x04, 0x94, 0xf0, 0xf9, 0x24, 0xae, 0x09, 0x29, 0xe4, 0x3c, 0x62, 0x28, 0xeb, 0x04, 0x43, + 0x95, 0x19, 0x1d, 0x7f, 0x9b, 0xf2, 0x33, 0x09, 0xca, 0x49, 0x16, 0xcf, 0x9c, 0x52, 0x9e, 0x86, + 0x61, 0xa7, 0x69, 0xb5, 0xdc, 0x2c, 0xe3, 0x34, 0xad, 0x55, 0x43, 0x7e, 0x03, 0x32, 0x34, 0xd2, + 0x73, 0xc7, 0x3a, 0x17, 0x6b, 0xeb, 0x14, 0x82, 0xb0, 0xf3, 0x08, 0x55, 0x5d, 0xdb, 0x59, 0x21, + 0x7f, 0x55, 0x86, 0x27, 0x5b, 0x30, 0x89, 0xf4, 0x6d, 0xe4, 0x04, 0x05, 0xc7, 0x5d, 0xa7, 0xb3, + 0x9f, 0xae, 0xd9, 0xb5, 0x9a, 0x5f, 0x5e, 0x6f, 0x92, 0x24, 0x2b, 0x98, 0x56, 0x8b, 0x94, 0xb4, + 0xbf, 0x5f, 0xf9, 0xfb, 0x21, 0x98, 0xb9, 0x83, 0xdc, 0x07, 0x2c, 0xca, 0xad, 0x93, 0x20, 0xd7, + 0x43, 0x3c, 0xb9, 0x03, 0xa3, 0x9e, 0x77, 0x45, 0xa7, 0x1c, 0x95, 0x7d, 0x50, 0x96, 0x2d, 0x5c, + 0xf9, 0x2a, 0xcc, 0xa0, 0x83, 0x06, 0xaa, 0xba, 0xc8, 0xd0, 0x2c, 0x74, 0xe0, 0x6a, 0x68, 0x8f, + 0x04, 0x10, 0xd3, 0xa0, 0x33, 0x4f, 0xa9, 0x93, 0xa2, 0xf7, 0x21, 0x3a, 0x70, 0x6f, 0x91, 0xbe, + 0x55, 0x43, 0xbe, 0x04, 0x53, 0xd5, 0xa6, 0x43, 0x23, 0xcd, 0xa6, 0xa3, 0x5b, 0xd5, 0x1d, 0xcd, + 0xb5, 0x77, 0x91, 0x45, 0x63, 0xc1, 0xb8, 0x2a, 0xf3, 0xbe, 0x65, 0xda, 0xb5, 0x41, 0x7a, 0x64, + 0x03, 0xa6, 0x84, 0xbd, 0xf0, 0x24, 0xab, 0x99, 0x2e, 0xaa, 0xf3, 0x40, 0x70, 0xa5, 0xd2, 0x66, + 0xf1, 0xc5, 0xf4, 0x45, 0x71, 0xef, 0xb2, 0x96, 0x55, 0x17, 0xd5, 0x55, 0x79, 0x2f, 0xd2, 0xa6, + 0xfc, 0x64, 0x14, 0x66, 0x23, 0x32, 0xe5, 0x76, 0x13, 0x90, 0x98, 0x34, 0x80, 0xc4, 0x56, 0x61, + 0xa2, 0x65, 0x22, 0x87, 0x0d, 0xc4, 0xc5, 0x7f, 0xaa, 0x13, 0xb1, 0x8d, 0xc3, 0x06, 0x52, 0xc7, + 0xf7, 0x7d, 0xff, 0x64, 0x05, 0x26, 0xe2, 0x64, 0x3e, 0x66, 0xf9, 0x64, 0xfd, 0x35, 0x98, 0x6b, + 0x38, 0x68, 0xcf, 0xb4, 0x9b, 0x58, 0xa3, 0xd1, 0x1e, 0x19, 0x2d, 0xf8, 0x34, 0x85, 0x9f, 0x11, + 0x00, 0xeb, 0xac, 0x5f, 0xa0, 0x5e, 0x80, 0x49, 0x1a, 0x63, 0x58, 0x40, 0xf0, 0x90, 0x32, 0x14, + 0xa9, 0x40, 0xba, 0x6e, 0x93, 0x1e, 0x01, 0xbe, 0x02, 0x40, 0x63, 0x05, 0x5d, 0x1f, 0xd2, 0xe0, + 0x19, 0x99, 0x95, 0xb7, 0x7c, 0x24, 0x13, 0x6b, 0x99, 0xf9, 0xa8, 0x2b, 0x7e, 0xca, 0x6b, 0x50, + 0xc4, 0xae, 0x59, 0xdd, 0x3d, 0xd4, 0x7c, 0xb4, 0x46, 0x7a, 0xa0, 0x95, 0x67, 0xe8, 0x5e, 0x83, + 0xfc, 0xab, 0xf0, 0x52, 0x84, 0xa2, 0x86, 0xab, 0x3b, 0xc8, 0x68, 0xd6, 0x90, 0xe6, 0xda, 0x4c, + 0x2a, 0x34, 0xaf, 0xd8, 0x4d, 0xb7, 0x34, 0xd6, 0x5d, 0x84, 0x3b, 0x1d, 0x1a, 0x66, 0x9d, 0x13, + 0xdc, 0xb0, 0xa9, 0x10, 0x37, 0x18, 0xb5, 0x44, 0x4b, 0x9f, 0x48, 0xb4, 0xf4, 0x6f, 0x43, 0xce, + 0x33, 0x0f, 0xba, 0x74, 0x29, 0xe5, 0x69, 0x1a, 0x8a, 0xcf, 0xbe, 0x5e, 0x36, 0x8a, 0x98, 0x1c, + 0xb3, 0x5e, 0xcf, 0xd4, 0xe8, 0x5f, 0xf9, 0x6d, 0xc8, 0x07, 0x88, 0x37, 0x71, 0xa9, 0x40, 0xa9, + 0x57, 0x12, 0x92, 0x5c, 0x2c, 0xd9, 0x26, 0x56, 0x73, 0x7e, 0xba, 0x4d, 0x2c, 0x3f, 0x86, 0x62, + 0xd0, 0x3f, 0x4d, 0x84, 0x4b, 0x45, 0x2a, 0xca, 0x4b, 0x3d, 0x39, 0xa7, 0x89, 0xb0, 0x5a, 0xd8, + 0x0b, 0xb5, 0xc8, 0xaf, 0xc3, 0x51, 0x93, 0x98, 0x6f, 0x58, 0x8d, 0xc8, 0x22, 0x8e, 0x6a, 0x94, + 0xe4, 0x45, 0x69, 0x29, 0xab, 0x96, 0x4c, 0xbc, 0x1e, 0xd4, 0xca, 0x2d, 0xd6, 0x2f, 0xbf, 0x02, + 0xb3, 0x11, 0x4b, 0x76, 0x0f, 0x68, 0x16, 0x98, 0x64, 0x61, 0x2a, 0x68, 0xcd, 0x1b, 0x07, 0x24, + 0x27, 0x5c, 0x85, 0x19, 0x8e, 0xe0, 0x2d, 0x44, 0x78, 0xea, 0x98, 0xa2, 0x11, 0x75, 0x92, 0xf6, + 0xb6, 0x9c, 0x9c, 0x26, 0x92, 0x77, 0x61, 0x6a, 0x9f, 0x26, 0xab, 0x50, 0x82, 0x9b, 0xee, 0x3d, + 0xc1, 0xed, 0x47, 0xda, 0xee, 0xa5, 0xb3, 0xd9, 0xc2, 0xe8, 0xbd, 0x74, 0x76, 0xb4, 0x00, 0xf7, + 0xd2, 0x59, 0x28, 0x8c, 0xdd, 0x4b, 0x67, 0xc7, 0x0b, 0x13, 0xf7, 0xd2, 0xd9, 0x5c, 0x21, 0xaf, + 0xfc, 0x74, 0x08, 0x66, 0x49, 0x22, 0xf9, 0x32, 0x29, 0x3c, 0xc3, 0xa4, 0xf0, 0x7b, 0x59, 0x28, + 0x45, 0x85, 0xfa, 0x65, 0x56, 0xf8, 0x32, 0x2b, 0x3c, 0xf3, 0xac, 0x30, 0x9e, 0x68, 0xea, 0xb1, + 0xf1, 0x35, 0xf7, 0xcc, 0xe2, 0xeb, 0x2f, 0x66, 0xd2, 0x69, 0x13, 0xd5, 0x8b, 0xfd, 0x44, 0x75, + 0x39, 0x31, 0xaa, 0xc7, 0xc6, 0xdd, 0x89, 0x42, 0x4e, 0xf9, 0xbe, 0x04, 0x0b, 0x2a, 0xc2, 0xc8, + 0x0d, 0x25, 0x9e, 0x17, 0x10, 0x75, 0x95, 0x32, 0x1c, 0x8d, 0x67, 0x85, 0xc5, 0x2a, 0xe5, 0x47, + 0x29, 0x58, 0x54, 0x51, 0xd5, 0x76, 0x0c, 0xff, 0x46, 0x82, 0x7b, 0x77, 0x0f, 0x0c, 0xbf, 0x03, + 0x72, 0x74, 0x8b, 0xde, 0x3b, 0xe7, 0xc5, 0xc8, 0xde, 0x5c, 0x7e, 0x19, 0x64, 0xe1, 0x82, 0x46, + 0x38, 0x7c, 0x15, 0xbc, 0x1e, 0x11, 0x59, 0x66, 0x61, 0x84, 0xfa, 0xae, 0x17, 0xb1, 0x86, 0xc9, + 0xdf, 0x55, 0x43, 0x3e, 0x06, 0x20, 0xce, 0x62, 0x78, 0x60, 0x1a, 0x55, 0x47, 0x79, 0xcb, 0xaa, + 0x21, 0xbf, 0x07, 0xe3, 0x0d, 0xbb, 0x56, 0xf3, 0x8e, 0x52, 0x58, 0x4c, 0x7a, 0xad, 0xdf, 0x2d, + 0x1a, 0x3b, 0x49, 0x19, 0x23, 0x24, 0x85, 0x10, 0xbd, 0xcd, 0xe4, 0x48, 0x7f, 0x9b, 0x49, 0xe5, + 0xbf, 0xb3, 0x70, 0xa2, 0x8d, 0xaa, 0x78, 0xf2, 0x89, 0xe4, 0x0c, 0xa9, 0xef, 0x9c, 0xd1, 0x36, + 0x1f, 0x0c, 0xb5, 0xcd, 0x07, 0xbd, 0x29, 0x6d, 0x09, 0x0a, 0x09, 0xf9, 0x26, 0x87, 0x83, 0x74, + 0x23, 0x69, 0x2c, 0x13, 0x4d, 0x63, 0xbe, 0x73, 0xa4, 0xe1, 0xe0, 0x39, 0xd2, 0x35, 0x28, 0xf1, + 0xf8, 0xee, 0x3b, 0x45, 0xe2, 0xab, 0xc5, 0x11, 0xba, 0x5a, 0x9c, 0x61, 0xfd, 0xad, 0x93, 0x21, + 0xbe, 0x56, 0x7c, 0x02, 0xb3, 0xae, 0xa3, 0x5b, 0xd8, 0x24, 0xc3, 0x06, 0x37, 0xf3, 0xec, 0x68, + 0xe5, 0x6b, 0x9d, 0x02, 0xee, 0x86, 0x40, 0xf7, 0x2b, 0x8f, 0x1e, 0x86, 0x4d, 0xbb, 0x71, 0x5d, + 0xf2, 0x36, 0x1c, 0x8b, 0x39, 0xf4, 0xf2, 0xa5, 0xba, 0xd1, 0x1e, 0x52, 0xdd, 0x7c, 0xc4, 0xaf, + 0x5a, 0x59, 0xef, 0x04, 0x8c, 0x07, 0x12, 0xce, 0x18, 0x4d, 0x38, 0x63, 0x9b, 0xbe, 0x4c, 0x73, + 0x07, 0x72, 0x2d, 0x75, 0xd2, 0xc3, 0xb6, 0xf1, 0x2e, 0x0f, 0xdb, 0x26, 0x3c, 0x3c, 0x7a, 0xb4, + 0xb6, 0x02, 0xe3, 0x42, 0xd3, 0x94, 0xcc, 0x44, 0x97, 0x64, 0xc6, 0x38, 0x16, 0x25, 0x62, 0xc3, + 0xc8, 0x93, 0x26, 0xe2, 0xd9, 0x2e, 0xb5, 0x34, 0x76, 0xe5, 0xad, 0x4a, 0x57, 0xf7, 0x2c, 0x95, + 0x8e, 0xde, 0x53, 0x79, 0x93, 0xd1, 0xbd, 0x65, 0xb9, 0xce, 0xa1, 0x2a, 0x46, 0x69, 0xb9, 0x6e, + 0xbe, 0xcf, 0x73, 0xa0, 0xd7, 0x20, 0xcb, 0x4f, 0xba, 0x49, 0x9a, 0x23, 0x2c, 0x9f, 0x08, 0xaa, + 0x4d, 0x5c, 0x53, 0x10, 0xfc, 0x07, 0x0c, 0x52, 0xf5, 0x50, 0x88, 0x45, 0xf3, 0xec, 0xcc, 0x73, + 0x98, 0xf8, 0x3b, 0xff, 0x1e, 0x8c, 0xfb, 0x59, 0x96, 0x0b, 0x90, 0xda, 0x45, 0x87, 0x3c, 0x40, + 0x93, 0x9f, 0xf2, 0x75, 0xc8, 0xec, 0xe9, 0xb5, 0x66, 0xc2, 0xda, 0x91, 0xde, 0xa1, 0xf8, 0xc3, + 0x00, 0xa1, 0x76, 0xa8, 0x32, 0x94, 0xeb, 0x43, 0xd7, 0x24, 0x96, 0xd8, 0x7c, 0x69, 0xe2, 0x46, + 0xd5, 0x35, 0xf7, 0x4c, 0xf7, 0xf0, 0xcb, 0x34, 0xd1, 0x6b, 0x9a, 0xf0, 0x4b, 0xee, 0x39, 0xa6, + 0x89, 0x7f, 0x4e, 0x8b, 0x34, 0x11, 0xab, 0x2a, 0x9e, 0x26, 0x1e, 0x42, 0x3e, 0x24, 0x2e, 0x9e, + 0x28, 0x4e, 0x07, 0xe7, 0xe2, 0x8b, 0x60, 0x7c, 0xff, 0x43, 0x45, 0xa8, 0xe6, 0x82, 0x22, 0x8d, + 0x38, 0xf6, 0x50, 0x3f, 0x8e, 0xed, 0x8b, 0xdc, 0xa9, 0x60, 0xe4, 0x46, 0x50, 0x16, 0x8b, 0x63, + 0xde, 0xa4, 0x85, 0x02, 0x52, 0xba, 0xcb, 0x01, 0x17, 0x38, 0x9d, 0x1b, 0x8c, 0xcc, 0x7a, 0x20, + 0x3c, 0x3d, 0x80, 0xe2, 0x0e, 0xd2, 0x1d, 0x77, 0x13, 0xe9, 0xae, 0x66, 0x20, 0x57, 0x37, 0x6b, + 0x98, 0xef, 0x1c, 0x3b, 0x9f, 0x9d, 0x17, 0x3c, 0xd4, 0x9b, 0x0c, 0x33, 0x9a, 0x8b, 0x87, 0xfb, + 0xce, 0xc5, 0x17, 0x7c, 0x8e, 0xe3, 0x39, 0x14, 0xb5, 0x91, 0xd1, 0x96, 0x37, 0x3c, 0x14, 0x1d, + 0x2d, 0x2b, 0xca, 0xf6, 0x19, 0xb1, 0x7c, 0x21, 0x67, 0x34, 0x10, 0x72, 0x94, 0xbf, 0x94, 0xe0, + 0x24, 0x33, 0xa3, 0x40, 0x24, 0xe5, 0x97, 0x06, 0x3d, 0x45, 0x03, 0x1b, 0x0a, 0xfc, 0xaa, 0x02, + 0x85, 0xee, 0xb0, 0x6e, 0x76, 0xf4, 0xa8, 0x2e, 0x58, 0x50, 0xf3, 0x82, 0x3a, 0x6f, 0x50, 0x7e, + 0x3c, 0x04, 0xa7, 0xda, 0x23, 0x72, 0xf7, 0xc0, 0xad, 0x15, 0x89, 0xb8, 0xb9, 0xe3, 0xfe, 0x71, + 0xf7, 0x59, 0xe5, 0x1a, 0xb2, 0xfd, 0x0c, 0xfa, 0x24, 0x82, 0x9c, 0xce, 0x5d, 0x96, 0xe6, 0x79, + 0x5c, 0x1a, 0xa2, 0xb9, 0xe2, 0xf5, 0x7e, 0xc3, 0x0b, 0x1f, 0x68, 0x42, 0xf7, 0x75, 0x61, 0xb2, + 0xd7, 0x71, 0xc8, 0x96, 0xc0, 0x3b, 0x1f, 0x09, 0x1f, 0xc4, 0xd0, 0x5e, 0xbf, 0xb7, 0xaf, 0x1a, + 0xca, 0x9f, 0x4b, 0x24, 0x01, 0x44, 0x24, 0x77, 0x5b, 0x37, 0x6b, 0x3d, 0xa9, 0x7c, 0x07, 0x72, + 0x5b, 0x14, 0x27, 0xa4, 0xf0, 0x1b, 0xfd, 0x28, 0x3c, 0x30, 0xba, 0x3a, 0xb1, 0xe5, 0xff, 0xab, + 0x9c, 0x24, 0x61, 0x30, 0x11, 0x85, 0x6f, 0x7f, 0xfe, 0x53, 0x82, 0xf9, 0x55, 0xec, 0x07, 0x78, + 0xa4, 0xd7, 0x4c, 0xe3, 0x45, 0x9c, 0x8f, 0x79, 0x2e, 0x9b, 0xea, 0xd3, 0x65, 0xe3, 0x33, 0x60, + 0x3a, 0x3e, 0x03, 0x2a, 0xd7, 0x60, 0x21, 0x76, 0xe2, 0xdc, 0x16, 0xe7, 0x20, 0x6b, 0x62, 0x6d, + 0x8f, 0xb4, 0xd1, 0x59, 0x67, 0xd5, 0x11, 0x13, 0x53, 0x10, 0x12, 0x00, 0x94, 0x68, 0x82, 0xb9, + 0x2b, 0x82, 0x5f, 0x0f, 0xb2, 0x6b, 0xf8, 0xc3, 0x6d, 0xd0, 0x1e, 0x56, 0xba, 0xb0, 0x87, 0x4e, + 0x2c, 0xf8, 0x22, 0xb2, 0x30, 0x8a, 0x35, 0x12, 0xbb, 0xda, 0xe0, 0xf1, 0xd9, 0x9f, 0x83, 0x42, + 0x55, 0xb7, 0xaa, 0xc8, 0x4b, 0xf4, 0x48, 0x48, 0x21, 0xcf, 0xda, 0x55, 0xd1, 0xec, 0x0f, 0x87, + 0x7e, 0x9a, 0x2f, 0x28, 0x1c, 0xb6, 0x63, 0x21, 0x1a, 0x0e, 0xcf, 0x78, 0xd1, 0x30, 0x01, 0x8f, + 0x7b, 0x89, 0xcf, 0xf9, 0xfd, 0x80, 0xff, 0xf7, 0xce, 0x9f, 0x38, 0x7a, 0xb2, 0xf3, 0xc7, 0xa1, + 0xf0, 0x69, 0xfd, 0x05, 0x35, 0xe4, 0xe8, 0xfc, 0xa9, 0x86, 0x7b, 0x9a, 0xd8, 0xaf, 0x40, 0x2e, + 0x68, 0x2f, 0x3d, 0x58, 0x71, 0xa7, 0xf1, 0xd5, 0x89, 0x80, 0xc9, 0x29, 0xa7, 0xe3, 0xed, 0xcd, + 0x43, 0x0a, 0x44, 0x36, 0x3f, 0xc8, 0xff, 0xab, 0xc8, 0x16, 0x33, 0xf1, 0xce, 0x91, 0xed, 0xaf, + 0x87, 0xa0, 0xbc, 0x6e, 0x6e, 0x5b, 0x7a, 0x6d, 0x90, 0xb2, 0x9c, 0x2d, 0xc8, 0x61, 0x4a, 0x24, + 0x64, 0x0c, 0x6f, 0x74, 0xae, 0xcb, 0x69, 0x3b, 0xb6, 0x3a, 0xc1, 0xc8, 0x0a, 0x56, 0x4c, 0x58, + 0x40, 0x07, 0x2e, 0x72, 0xc8, 0x48, 0x31, 0x9b, 0xaa, 0x54, 0xaf, 0x1a, 0x9b, 0x13, 0xd4, 0x22, + 0x5d, 0x72, 0x05, 0x26, 0xab, 0x3b, 0x66, 0xcd, 0x68, 0x8d, 0x63, 0x5b, 0xb5, 0x43, 0xaa, 0x81, + 0xac, 0x5a, 0xa4, 0x5d, 0x02, 0xe9, 0x9b, 0x56, 0xed, 0x50, 0x39, 0x01, 0xc7, 0x13, 0xe7, 0xc2, + 0xed, 0xf3, 0xa7, 0x12, 0x9c, 0xe5, 0x30, 0xa6, 0xbb, 0x33, 0x70, 0x2d, 0xd4, 0xf7, 0x24, 0x98, + 0xe3, 0x52, 0xdf, 0x37, 0xdd, 0x1d, 0x2d, 0xae, 0x30, 0xea, 0x6e, 0xb7, 0x0a, 0xe8, 0xc4, 0x90, + 0x3a, 0x83, 0x83, 0x80, 0xc2, 0x37, 0x6f, 0xc0, 0x52, 0x67, 0x12, 0x6d, 0x6b, 0x4e, 0x94, 0x9f, + 0x48, 0x70, 0x5c, 0x45, 0x75, 0x7b, 0x0f, 0x31, 0x4a, 0x7d, 0x5e, 0xdb, 0x3d, 0xbf, 0x8d, 0x76, + 0x70, 0x87, 0x9c, 0x0a, 0xed, 0x90, 0x15, 0x85, 0xa4, 0x8a, 0x24, 0xf6, 0x85, 0xee, 0x87, 0xe0, + 0xc4, 0x06, 0x72, 0xea, 0xa6, 0xa5, 0xbb, 0x68, 0x10, 0xad, 0xdb, 0x50, 0x74, 0x05, 0x9d, 0x90, + 0xb2, 0x97, 0x3b, 0x2a, 0xbb, 0x23, 0x07, 0x6a, 0xc1, 0x23, 0xfe, 0x0b, 0xe0, 0x73, 0xa7, 0x40, + 0x69, 0x37, 0x23, 0x2e, 0xfa, 0xff, 0x91, 0xa0, 0x7c, 0x13, 0x91, 0xf4, 0x3e, 0x88, 0xdc, 0x9f, + 0x9f, 0x75, 0x9d, 0x83, 0x82, 0x47, 0x59, 0x6c, 0x40, 0xd9, 0xb6, 0xc4, 0xbb, 0x2f, 0xe2, 0x57, + 0x57, 0xf4, 0xc2, 0xac, 0x66, 0x63, 0x14, 0x2f, 0x21, 0x99, 0xf5, 0x85, 0xc3, 0x52, 0xe2, 0xdc, + 0xb9, 0x7c, 0xfe, 0x44, 0x82, 0x63, 0xf4, 0xc2, 0x64, 0xc0, 0xc2, 0x4c, 0xb6, 0xc3, 0xea, 0xb5, + 0x30, 0xb3, 0xed, 0xc8, 0xea, 0x38, 0x25, 0x2a, 0x62, 0xcd, 0xab, 0x50, 0x4e, 0x02, 0x6f, 0x1f, + 0x61, 0x7e, 0x37, 0x05, 0xa7, 0x39, 0x11, 0xb6, 0x6a, 0x18, 0x64, 0xaa, 0xf5, 0x84, 0x95, 0xcf, + 0xed, 0x2e, 0xe6, 0xda, 0x05, 0x0b, 0xa1, 0xc5, 0x8f, 0xfc, 0x9a, 0xcf, 0xff, 0x78, 0x4d, 0x66, + 0xf4, 0xb8, 0xaf, 0x24, 0x40, 0x56, 0x05, 0x84, 0x38, 0xf6, 0xeb, 0xe0, 0xbe, 0xe9, 0xe7, 0xef, + 0xbe, 0x99, 0x24, 0xf7, 0x5d, 0x82, 0x33, 0x9d, 0x24, 0xc2, 0x4d, 0xf4, 0xe7, 0x43, 0xb0, 0x20, + 0x8e, 0xad, 0xfc, 0x1b, 0xb8, 0xcf, 0x85, 0xff, 0x5e, 0x85, 0x19, 0x13, 0x6b, 0x31, 0xd5, 0xa2, + 0x54, 0x37, 0x59, 0x75, 0xd2, 0xc4, 0xb7, 0xc3, 0x65, 0xa0, 0xf2, 0x3d, 0x18, 0x63, 0xb2, 0x62, + 0xcb, 0xc4, 0x74, 0xaf, 0xcb, 0x44, 0xa0, 0xd8, 0xf4, 0xb7, 0x7c, 0x1f, 0xc6, 0x79, 0xbd, 0x32, + 0x23, 0x96, 0xe9, 0x95, 0xd8, 0x18, 0x43, 0xa7, 0x7f, 0x94, 0x32, 0x1c, 0x8d, 0x17, 0x35, 0xd7, + 0xc5, 0x7f, 0x48, 0x70, 0xf6, 0x11, 0x72, 0xcc, 0xad, 0xc3, 0xc8, 0xac, 0xbc, 0x93, 0xc5, 0xcf, + 0x85, 0x5e, 0x06, 0x5d, 0x83, 0x2b, 0xe7, 0x61, 0xa9, 0xf3, 0x44, 0xb9, 0x54, 0x3e, 0x4b, 0x91, + 0x8d, 0x25, 0xd9, 0x66, 0xaf, 0x10, 0xc5, 0x78, 0x5c, 0xf4, 0xb3, 0x29, 0xde, 0x80, 0x42, 0xb8, + 0xfe, 0xbc, 0x77, 0x81, 0xe4, 0x43, 0xf5, 0xe6, 0xc4, 0x3b, 0x39, 0xd5, 0x56, 0x14, 0xf1, 0xe2, + 0x47, 0x91, 0x75, 0x79, 0xd1, 0x63, 0xd5, 0x90, 0x55, 0xc8, 0x33, 0x0b, 0x1d, 0x20, 0x58, 0xe4, + 0xaa, 0x01, 0x61, 0xc8, 0x6b, 0xde, 0x76, 0x9f, 0xde, 0x43, 0xd2, 0x33, 0xf8, 0x4c, 0x2f, 0x67, + 0xf0, 0xf9, 0x16, 0x3a, 0x3b, 0x84, 0xf7, 0x94, 0x3c, 0xdc, 0xe7, 0x46, 0xeb, 0x1a, 0x94, 0x22, + 0x62, 0x11, 0x59, 0x78, 0x84, 0x5f, 0xf8, 0x06, 0x65, 0xc3, 0x93, 0xb1, 0x72, 0x96, 0xe4, 0x94, + 0xb6, 0x1a, 0x17, 0x09, 0x36, 0x05, 0x17, 0x98, 0x21, 0xc5, 0x42, 0xd2, 0x40, 0x47, 0xe8, 0x7c, + 0x0e, 0x8c, 0x24, 0x46, 0xe9, 0xa9, 0x41, 0x95, 0x9e, 0x60, 0x78, 0xe9, 0x24, 0xc3, 0x6b, 0xa7, + 0x91, 0x4c, 0x3b, 0x8d, 0x0c, 0x6c, 0x0c, 0xca, 0x25, 0xa8, 0x74, 0xab, 0x28, 0xae, 0xdb, 0x3f, + 0x94, 0x60, 0xf1, 0x26, 0xc2, 0x55, 0xc7, 0xdc, 0x1c, 0x68, 0x79, 0xf9, 0x6d, 0x18, 0xe9, 0xf5, + 0x80, 0xa8, 0xd3, 0xb0, 0xaa, 0xa0, 0xa8, 0xfc, 0x4e, 0x1a, 0x4e, 0xb4, 0x81, 0xe6, 0x6b, 0xa7, + 0x77, 0xa1, 0xd0, 0xba, 0x74, 0xaf, 0xda, 0xd6, 0x96, 0xb9, 0xcd, 0x2f, 0x00, 0x2e, 0xc7, 0xf3, + 0x12, 0xab, 0xfe, 0x15, 0x8a, 0xa8, 0xe6, 0x51, 0xb0, 0x41, 0xde, 0x86, 0xd9, 0x98, 0xbb, 0x7d, + 0xfa, 0xac, 0x86, 0x4d, 0xf8, 0x62, 0x0f, 0x83, 0xb0, 0x22, 0x82, 0xfd, 0xb8, 0x66, 0xf9, 0x5d, + 0x90, 0x1b, 0xc8, 0x32, 0x4c, 0x6b, 0x5b, 0xe3, 0x97, 0x00, 0x26, 0xc2, 0xa5, 0x14, 0xbd, 0x56, + 0xb8, 0x90, 0x3c, 0xc6, 0x1a, 0xc3, 0x11, 0x87, 0x28, 0x74, 0x84, 0x62, 0x23, 0xd0, 0x68, 0x22, + 0x2c, 0x7f, 0x07, 0x0a, 0x82, 0x3a, 0x35, 0x73, 0x87, 0x56, 0x66, 0x12, 0xda, 0x57, 0x3b, 0xd2, + 0x0e, 0x1a, 0x15, 0x1d, 0x21, 0xdf, 0xf0, 0x75, 0x39, 0xc8, 0x92, 0x11, 0x4c, 0x0b, 0xfa, 0xc1, + 0xb5, 0x44, 0xa6, 0x93, 0x26, 0xf8, 0x20, 0x91, 0x5a, 0x8b, 0xc9, 0x46, 0xb4, 0x43, 0xf9, 0xf7, + 0x14, 0x94, 0x54, 0xfe, 0x2e, 0x0d, 0xd1, 0x48, 0x8a, 0x1f, 0x5d, 0xf9, 0x5c, 0x64, 0xed, 0x2d, + 0x98, 0x8e, 0x2b, 0x66, 0x15, 0x1a, 0xec, 0xa7, 0x9a, 0x75, 0x32, 0x5a, 0xcd, 0x8a, 0xe5, 0x6b, + 0x30, 0x4c, 0xf3, 0x0f, 0xe6, 0x59, 0x2d, 0xf1, 0xb2, 0xf3, 0xa6, 0xee, 0xea, 0xcb, 0x35, 0x7b, + 0x53, 0xe5, 0xf0, 0xf2, 0x6d, 0xc8, 0x59, 0x68, 0x9f, 0x16, 0xcb, 0x71, 0x0a, 0x99, 0x2e, 0x29, + 0x8c, 0x5b, 0x68, 0x5f, 0x6d, 0xb2, 0xcc, 0x85, 0xe5, 0x4d, 0x98, 0xdc, 0xd4, 0x31, 0x0a, 0x7b, + 0xc3, 0x70, 0x9b, 0xaa, 0x5d, 0xbf, 0xbe, 0x97, 0x75, 0x8c, 0x82, 0xc6, 0x54, 0xdc, 0x0c, 0x37, + 0x29, 0x0b, 0x30, 0x17, 0xa3, 0x66, 0x1e, 0xbb, 0xfe, 0x96, 0x6e, 0xfc, 0x78, 0xef, 0xdb, 0xfe, + 0x5a, 0x45, 0x61, 0x09, 0x5a, 0xa4, 0x1e, 0x92, 0x05, 0x84, 0x6b, 0xb1, 0xdc, 0xf9, 0x5e, 0x20, + 0xfa, 0xd5, 0x1d, 0x38, 0x0f, 0x09, 0xd5, 0x44, 0x9e, 0x86, 0x9c, 0x83, 0xea, 0xb6, 0x8b, 0xb4, + 0x6a, 0xad, 0x89, 0x5d, 0xe4, 0x50, 0x1b, 0x1a, 0x55, 0x27, 0x58, 0xeb, 0x0a, 0x6b, 0x8c, 0x58, + 0x64, 0x2a, 0x62, 0x91, 0xca, 0x22, 0xd9, 0x1b, 0xc6, 0xcf, 0x85, 0x4f, 0xf7, 0xf7, 0x25, 0x98, + 0x59, 0x3f, 0xb4, 0xaa, 0xeb, 0x3b, 0xba, 0x63, 0xf0, 0x52, 0x4a, 0x3e, 0xcf, 0xd3, 0x90, 0xe3, + 0xaf, 0xb1, 0x04, 0x1b, 0xcc, 0xe6, 0x27, 0x58, 0xab, 0x60, 0x63, 0x0e, 0xb2, 0x98, 0x20, 0x8b, + 0x62, 0xb0, 0x8c, 0x3a, 0x42, 0xff, 0xaf, 0x1a, 0xf2, 0x0d, 0x18, 0x63, 0x35, 0x9d, 0xec, 0x6a, + 0x3e, 0xd5, 0xe5, 0xd5, 0x3c, 0x30, 0x24, 0xd2, 0xac, 0xcc, 0xc1, 0x6c, 0x84, 0x3d, 0xce, 0xfa, + 0xdf, 0x0d, 0xc3, 0x24, 0xe9, 0x13, 0xd1, 0xa9, 0x07, 0x4f, 0x3d, 0x0e, 0x63, 0x9e, 0x0a, 0x39, + 0xdb, 0xa3, 0x2a, 0x88, 0xa6, 0x55, 0xc3, 0xb7, 0x65, 0x4e, 0xf9, 0x1f, 0x82, 0xf9, 0x6e, 0xc3, + 0xd3, 0x81, 0xdb, 0xf0, 0x84, 0xa3, 0xe9, 0x4c, 0x42, 0xd9, 0x49, 0xb4, 0x8e, 0x6a, 0xb8, 0xbf, + 0x3a, 0xaa, 0xb8, 0x8a, 0xb9, 0x91, 0xd8, 0x8a, 0xb9, 0x70, 0x61, 0x46, 0xb6, 0x9f, 0xc2, 0x8c, + 0x35, 0x5e, 0xde, 0xdd, 0xba, 0xad, 0xa3, 0xb4, 0x46, 0xbb, 0xa4, 0x55, 0x24, 0xc8, 0xde, 0x2d, + 0x1b, 0xa5, 0x78, 0x1d, 0x46, 0x44, 0x7d, 0x05, 0x74, 0x59, 0x5f, 0x21, 0x10, 0xfc, 0x65, 0x22, + 0x63, 0xc1, 0x32, 0x91, 0x15, 0x18, 0x67, 0xc5, 0xbf, 0xfc, 0x29, 0xe5, 0x78, 0x97, 0x4f, 0x29, + 0xc7, 0x68, 0x4d, 0x30, 0x7f, 0x45, 0x79, 0x09, 0xe8, 0x2b, 0x48, 0x8d, 0xbf, 0xd8, 0x30, 0x0d, + 0x64, 0xb9, 0xa6, 0x7b, 0x48, 0x6b, 0xd5, 0x46, 0x55, 0x99, 0xf4, 0xb1, 0x87, 0x19, 0xab, 0xbc, + 0x47, 0x7e, 0x1b, 0xf2, 0xa1, 0x30, 0xcd, 0xcb, 0xb0, 0x2b, 0xbd, 0x05, 0x68, 0x35, 0x17, 0x0c, + 0xce, 0x49, 0x51, 0x31, 0xff, 0x2c, 0xa3, 0xe2, 0x0c, 0x4c, 0x05, 0xbd, 0x89, 0xbb, 0xd9, 0xf7, + 0x25, 0x58, 0x10, 0xeb, 0xa4, 0x17, 0xfc, 0x76, 0x44, 0xf9, 0x2f, 0x09, 0x8e, 0xc6, 0xf3, 0xc2, + 0x97, 0x6b, 0x3b, 0x30, 0x59, 0xd5, 0xab, 0x3b, 0x28, 0xf8, 0xc0, 0x7b, 0xe0, 0x00, 0x5d, 0xa4, + 0x44, 0xfd, 0x4d, 0xb2, 0x05, 0x33, 0x86, 0xee, 0xea, 0x54, 0x2d, 0xc1, 0xc1, 0x86, 0x06, 0x1c, + 0x6c, 0x4a, 0xd0, 0xf5, 0xb7, 0x2a, 0xff, 0x20, 0xc1, 0xbc, 0x98, 0x3a, 0x37, 0x8b, 0xbb, 0x36, + 0xf6, 0xdf, 0xb2, 0xef, 0xd8, 0xd8, 0xd5, 0x74, 0xc3, 0x70, 0x10, 0xc6, 0x42, 0x0b, 0xa4, 0xed, + 0x06, 0x6b, 0x6a, 0x17, 0xa8, 0x3b, 0xa7, 0x92, 0x84, 0xc5, 0x4d, 0x7a, 0xf0, 0xc5, 0x8d, 0xf2, + 0x2f, 0x3e, 0x03, 0x0b, 0xcc, 0x8c, 0xeb, 0xf4, 0x24, 0x4c, 0x50, 0x3e, 0xb1, 0x66, 0x35, 0xeb, + 0x9b, 0x3c, 0x0d, 0x65, 0xd4, 0x71, 0xd6, 0xf8, 0x90, 0xb6, 0xc9, 0x0b, 0x30, 0x2a, 0x26, 0xc7, + 0xca, 0x65, 0x32, 0x6a, 0x96, 0xcf, 0x0e, 0xcb, 0x8f, 0x21, 0xdf, 0x9a, 0x1e, 0x55, 0x65, 0xdb, + 0x57, 0xeb, 0x1e, 0x2c, 0x99, 0x82, 0x57, 0x4b, 0xb5, 0x42, 0xf0, 0xa8, 0xf3, 0xe4, 0xac, 0x40, + 0x1b, 0x8d, 0x43, 0x5c, 0xec, 0xac, 0x50, 0x50, 0xfc, 0xbd, 0x97, 0xce, 0xa6, 0x0b, 0x19, 0xa5, + 0x02, 0xc5, 0x95, 0x9a, 0x8d, 0x11, 0x4d, 0x62, 0x42, 0x61, 0x7e, 0x6d, 0x48, 0x01, 0x6d, 0x28, + 0x53, 0x20, 0xfb, 0xe1, 0xb9, 0x1f, 0xbe, 0x0c, 0xf9, 0x3b, 0xc8, 0xed, 0x96, 0xc6, 0x7b, 0x50, + 0x68, 0x41, 0x73, 0x41, 0xde, 0x07, 0xe0, 0xe0, 0x24, 0x78, 0x30, 0x9f, 0xb8, 0xd0, 0x8d, 0x99, + 0x52, 0x32, 0x74, 0xea, 0x4c, 0xc8, 0x34, 0x5e, 0xfc, 0xa3, 0x04, 0x45, 0x76, 0xc3, 0xe3, 0x3f, + 0x74, 0x4c, 0x66, 0x49, 0xbe, 0x0d, 0x59, 0xb2, 0x0e, 0xd9, 0x26, 0x61, 0x71, 0x88, 0xbe, 0xf1, + 0x38, 0xdf, 0xfe, 0x05, 0x09, 0xbb, 0xcf, 0x66, 0x18, 0xaa, 0x87, 0xeb, 0xaf, 0xd9, 0x4c, 0x05, + 0x6a, 0x36, 0x57, 0x21, 0xbf, 0x67, 0x62, 0x73, 0xd3, 0xac, 0xd1, 0xca, 0xa9, 0x5e, 0xaa, 0x01, + 0x73, 0x2d, 0x44, 0xba, 0xec, 0x98, 0x02, 0xd9, 0x3f, 0x37, 0xae, 0x82, 0x0f, 0x25, 0x38, 0x76, + 0x07, 0xb9, 0x6a, 0xeb, 0xdb, 0x15, 0xbc, 0x46, 0xd7, 0x5b, 0x33, 0xdd, 0x87, 0x61, 0x5a, 0x3c, + 0x4d, 0x1c, 0x30, 0x95, 0x68, 0x60, 0xbe, 0x8f, 0x5f, 0xb0, 0x13, 0x70, 0xef, 0x2f, 0x2d, 0xb3, + 0x56, 0x39, 0x0d, 0xe2, 0x96, 0x7c, 0xe9, 0x45, 0x6b, 0xfd, 0xf8, 0x3a, 0x65, 0x8c, 0xb7, 0x11, + 0xcb, 0x54, 0x7e, 0x38, 0x04, 0xe5, 0x24, 0x96, 0xb8, 0xda, 0xbf, 0x0b, 0x39, 0xa6, 0x12, 0xaf, + 0xf4, 0x98, 0xf1, 0xf6, 0x4e, 0x97, 0x15, 0x6c, 0xed, 0xc9, 0x33, 0xe3, 0x10, 0xad, 0xac, 0x60, + 0x9a, 0xf9, 0xab, 0x68, 0x9b, 0x3f, 0x04, 0x39, 0x0a, 0xe4, 0x2f, 0x51, 0xce, 0xb0, 0x12, 0xe5, + 0x07, 0xc1, 0x12, 0xe5, 0x57, 0x7b, 0x94, 0x9d, 0xc7, 0x59, 0xab, 0x6a, 0x59, 0x79, 0x1f, 0x16, + 0xef, 0x20, 0xf7, 0xe6, 0xfd, 0x37, 0xdb, 0xe8, 0xec, 0x11, 0x7f, 0x84, 0x46, 0xbc, 0x42, 0xc8, + 0xa6, 0xd7, 0xb1, 0xbd, 0x8d, 0x25, 0x7d, 0x97, 0x46, 0x7e, 0x61, 0xe5, 0xd7, 0x25, 0x38, 0xd1, + 0x66, 0x70, 0xae, 0x9d, 0xf7, 0xa0, 0xe8, 0x23, 0xcb, 0xeb, 0xfd, 0xa4, 0xf0, 0xe6, 0xb9, 0x6b, + 0x26, 0xd4, 0x82, 0x13, 0x6c, 0xc0, 0xca, 0x07, 0x12, 0x4c, 0xd1, 0x72, 0x6e, 0x11, 0x8d, 0x7b, + 0xc8, 0xdc, 0xdf, 0x0c, 0x9f, 0xc0, 0x7c, 0xa5, 0xe3, 0x09, 0x4c, 0xdc, 0x50, 0xad, 0x53, 0x97, + 0x5d, 0x98, 0x0e, 0x01, 0x70, 0x39, 0xa8, 0x90, 0x0d, 0x55, 0x58, 0x7e, 0xb5, 0xd7, 0xa1, 0x78, + 0x99, 0xa3, 0x47, 0x47, 0xf9, 0x6d, 0x09, 0xa6, 0x54, 0xa4, 0x37, 0x1a, 0x35, 0x76, 0x52, 0x8a, + 0x7b, 0x98, 0xf9, 0x7a, 0x78, 0xe6, 0xf1, 0x2f, 0x3b, 0xfc, 0xdf, 0x79, 0x61, 0xea, 0x88, 0x0e, + 0xd7, 0x9a, 0xfd, 0x2c, 0x4c, 0x87, 0x00, 0x38, 0xa7, 0x7f, 0x36, 0x04, 0xd3, 0xcc, 0x56, 0xc2, + 0xd6, 0x79, 0x0b, 0xd2, 0xde, 0xf3, 0x9d, 0x9c, 0xff, 0xa8, 0x23, 0x2e, 0x62, 0xde, 0x44, 0xba, + 0x71, 0x1f, 0xb9, 0x2e, 0x72, 0x68, 0xe5, 0x27, 0xad, 0x1f, 0xa6, 0xe8, 0xed, 0x92, 0x7f, 0x74, + 0x9f, 0x97, 0x8a, 0xdb, 0xe7, 0xbd, 0x0a, 0x25, 0xd3, 0x22, 0x10, 0xe6, 0x1e, 0xd2, 0x90, 0xe5, + 0x85, 0x93, 0xd6, 0xb1, 0xe5, 0xb4, 0xd7, 0x7f, 0xcb, 0x12, 0xce, 0xbe, 0x6a, 0xc8, 0xe7, 0xa1, + 0x58, 0xd7, 0x0f, 0xcc, 0x7a, 0xb3, 0xae, 0x35, 0x08, 0x3c, 0x36, 0xdf, 0x67, 0x1f, 0x69, 0xc9, + 0xa8, 0x79, 0xde, 0xb1, 0xa6, 0x6f, 0xa3, 0x75, 0xf3, 0x7d, 0x24, 0x9f, 0x81, 0x3c, 0x7d, 0xd7, + 0x43, 0x01, 0xd9, 0x33, 0x94, 0x61, 0xfa, 0x0c, 0x85, 0x3e, 0xf7, 0x21, 0x60, 0x34, 0x42, 0x2a, + 0x1f, 0xb3, 0x0f, 0x5c, 0x04, 0xe4, 0xc5, 0x0d, 0xe9, 0x19, 0x09, 0x2c, 0xd6, 0x2f, 0x87, 0x9e, + 0xa1, 0x5f, 0xc6, 0xcd, 0x35, 0x15, 0x33, 0x57, 0xb9, 0x0e, 0x33, 0x11, 0x4e, 0x58, 0x0a, 0x4f, + 0x0f, 0x16, 0xab, 0xa6, 0xc2, 0x2c, 0xd1, 0xbc, 0xfe, 0x4f, 0x12, 0xcc, 0xae, 0x35, 0x9d, 0x6d, + 0xf4, 0x45, 0x34, 0x46, 0x65, 0x1e, 0x4a, 0xd1, 0xc9, 0x89, 0xf2, 0xc6, 0x21, 0x98, 0x7d, 0x80, + 0xbe, 0xa0, 0x33, 0x7f, 0x2e, 0x6e, 0xb8, 0x0c, 0xa5, 0xa8, 0xc0, 0xb8, 0x1f, 0xc6, 0xd0, 0x90, + 0xe2, 0x68, 0xfc, 0x90, 0xbe, 0x92, 0xdd, 0x72, 0x10, 0xde, 0xf1, 0x9f, 0xc6, 0xf6, 0x12, 0xab, + 0xbf, 0x15, 0x8e, 0xd5, 0xdf, 0xe8, 0x32, 0x56, 0x27, 0x8e, 0xda, 0x0a, 0xd9, 0xf4, 0xe1, 0x6c, + 0x1c, 0x1c, 0x37, 0x9a, 0x1f, 0x48, 0x70, 0xfe, 0x0e, 0xb2, 0x90, 0xa3, 0xbb, 0xe8, 0xbe, 0x8e, + 0x45, 0xbd, 0x7c, 0xc8, 0xdf, 0xf0, 0x8b, 0xd8, 0x2d, 0x7f, 0x20, 0xc1, 0x4b, 0x5d, 0xb1, 0xc6, + 0x35, 0xf6, 0x0a, 0xcc, 0xd0, 0x1d, 0xac, 0xc6, 0x1e, 0x22, 0xf2, 0x2b, 0x8f, 0x26, 0x7f, 0x12, + 0x94, 0x52, 0xa7, 0x68, 0xef, 0x86, 0xd7, 0xb9, 0x42, 0xfa, 0x88, 0xdd, 0x8a, 0x33, 0xe9, 0x1a, + 0xb2, 0xb6, 0xdd, 0x1d, 0xfe, 0x24, 0x74, 0x82, 0xb7, 0xde, 0xa7, 0x8d, 0xca, 0x6d, 0x58, 0x08, + 0x2e, 0x24, 0x83, 0x87, 0x8d, 0x67, 0x21, 0x1f, 0x3c, 0xf3, 0x64, 0x8b, 0xa0, 0x51, 0x35, 0x17, + 0x38, 0xf4, 0xc4, 0x4a, 0x13, 0x8e, 0xc6, 0xd3, 0xe1, 0x93, 0x78, 0x0b, 0x86, 0xd9, 0xc6, 0x90, + 0x2f, 0xa2, 0x5e, 0xeb, 0x72, 0x95, 0xcb, 0xb7, 0x4a, 0x61, 0xb2, 0x9c, 0x98, 0xf2, 0x57, 0xc3, + 0x30, 0x13, 0x0f, 0xd2, 0x6e, 0xcb, 0xf3, 0x15, 0x98, 0xad, 0xeb, 0x07, 0x5a, 0x38, 0x7c, 0xb7, + 0xde, 0xcd, 0x4e, 0xd5, 0xf5, 0x83, 0x70, 0x68, 0x36, 0xe4, 0xfb, 0x50, 0x60, 0x14, 0x6b, 0x76, + 0x55, 0xaf, 0x75, 0x7b, 0x78, 0x3a, 0x4c, 0x76, 0x32, 0x25, 0x49, 0x65, 0xab, 0xfd, 0xfb, 0x04, + 0x95, 0x1e, 0xb1, 0xbd, 0x1f, 0x15, 0x2d, 0x4b, 0x1c, 0x6f, 0x0e, 0x24, 0x9a, 0x8a, 0x1a, 0x50, + 0x0c, 0x5b, 0xf9, 0x87, 0xb4, 0x25, 0xff, 0x86, 0x04, 0x93, 0x3b, 0xba, 0x65, 0xd8, 0x7b, 0x7c, + 0x0f, 0x43, 0x8d, 0x9c, 0xec, 0x93, 0x7b, 0x79, 0xaf, 0x99, 0xc0, 0xc0, 0x5d, 0x4e, 0xd8, 0xdb, + 0xa2, 0x73, 0x26, 0xe4, 0x9d, 0x48, 0x87, 0xdc, 0x80, 0x53, 0xb1, 0x9a, 0x08, 0x6f, 0x18, 0xbb, + 0x3d, 0x87, 0x5d, 0x8c, 0x2a, 0xee, 0x51, 0x60, 0x0b, 0x39, 0xff, 0x81, 0x04, 0x93, 0x31, 0x22, + 0x8a, 0x79, 0x9a, 0xf9, 0x38, 0xb8, 0xef, 0xb9, 0x33, 0x90, 0x54, 0xd6, 0x90, 0xc3, 0xc7, 0xf3, + 0xed, 0x83, 0xe6, 0xbf, 0x27, 0xc1, 0x6c, 0x82, 0xb8, 0x62, 0x18, 0x52, 0x83, 0x0c, 0x7d, 0xbd, + 0x4b, 0x86, 0x22, 0x03, 0xd0, 0x55, 0x86, 0x6f, 0x37, 0xf6, 0x0e, 0x4c, 0xc7, 0xc2, 0xc8, 0x6f, + 0xc0, 0x51, 0xcf, 0x4a, 0xe2, 0x9c, 0x85, 0xc5, 0x9f, 0x39, 0x01, 0x13, 0xf1, 0x18, 0xe5, 0x8f, + 0x24, 0x58, 0xec, 0x24, 0x0f, 0x59, 0x81, 0x09, 0xbd, 0xba, 0x8b, 0x8c, 0x10, 0xd9, 0x31, 0xda, + 0xc8, 0x5d, 0xef, 0x31, 0xcc, 0xfb, 0x60, 0xc2, 0xd6, 0xd1, 0xed, 0x6b, 0xc6, 0x59, 0x8f, 0x64, + 0xd0, 0x28, 0x94, 0xdf, 0x92, 0x60, 0x5e, 0x45, 0x9b, 0x4d, 0xb3, 0x66, 0xbc, 0xe8, 0xb3, 0xd4, + 0x63, 0x24, 0xed, 0xc6, 0x70, 0xc2, 0xf3, 0xda, 0x8f, 0x87, 0xe0, 0x74, 0xb0, 0x48, 0xb2, 0x35, + 0x15, 0x76, 0xe1, 0xff, 0x22, 0x9e, 0x10, 0xac, 0xc1, 0xa4, 0xff, 0xee, 0x8d, 0x7f, 0x84, 0xa5, + 0xeb, 0x9b, 0xa5, 0xa2, 0xef, 0xa2, 0x8d, 0x7d, 0x71, 0x25, 0x40, 0x91, 0x96, 0x8a, 0xf6, 0x76, + 0x70, 0xe4, 0x51, 0xa4, 0x27, 0x76, 0x54, 0xc7, 0x4b, 0x70, 0xa6, 0x93, 0xe0, 0xb8, 0x8c, 0xff, + 0x40, 0x82, 0xf2, 0x5b, 0x0d, 0x63, 0xc0, 0xe2, 0xe7, 0x5f, 0x0e, 0xaf, 0x7e, 0x3a, 0x3f, 0x30, + 0x68, 0x3f, 0x68, 0x6b, 0xf1, 0xf3, 0x5d, 0x38, 0x9e, 0x08, 0xea, 0x15, 0x48, 0x84, 0xf7, 0xed, + 0xdf, 0xe8, 0x7f, 0xf8, 0xc8, 0x0e, 0xfe, 0x4f, 0x25, 0x58, 0x5a, 0x77, 0x1d, 0xa4, 0xd7, 0x5b, + 0xdb, 0xfc, 0xc4, 0x83, 0x9c, 0x06, 0xcc, 0xe0, 0x43, 0xab, 0x1a, 0x88, 0x20, 0x9d, 0xcf, 0xff, + 0x43, 0x1b, 0xa5, 0xf5, 0x43, 0xab, 0x1a, 0x0a, 0x22, 0xe8, 0xee, 0x11, 0x75, 0x0a, 0xc7, 0xb4, + 0x2f, 0x8f, 0x03, 0xe8, 0xae, 0xeb, 0x98, 0x9b, 0x4d, 0x17, 0x61, 0xb2, 0x14, 0x3c, 0xd7, 0x05, + 0xb3, 0x5c, 0x70, 0x8f, 0x7d, 0xdf, 0x02, 0x90, 0xc2, 0x7a, 0x4b, 0xe6, 0xaf, 0x0d, 0xe9, 0xbb, + 0x47, 0x5a, 0xdf, 0x0a, 0x08, 0xb1, 0xf6, 0xc7, 0x12, 0x28, 0xfe, 0x4f, 0x94, 0x78, 0x32, 0x67, + 0xaa, 0xe8, 0xc1, 0xda, 0x1e, 0x87, 0xad, 0x6d, 0xa5, 0xa7, 0x6f, 0xa3, 0xc4, 0x0f, 0xdc, 0xb2, + 0xb8, 0xdf, 0x94, 0xe0, 0x64, 0x5b, 0x78, 0xef, 0xd8, 0x2c, 0x6c, 0x76, 0x37, 0x07, 0xe3, 0x23, + 0x6c, 0x7a, 0xcb, 0x8d, 0x8f, 0x3e, 0x29, 0x1f, 0xf9, 0xf8, 0x93, 0xf2, 0x91, 0xcf, 0x3e, 0x29, + 0x4b, 0xbf, 0xf6, 0xb4, 0x2c, 0xfd, 0xe8, 0x69, 0x59, 0xfa, 0x9b, 0xa7, 0x65, 0xe9, 0xa3, 0xa7, + 0x65, 0xe9, 0xdf, 0x9e, 0x96, 0xa5, 0x9f, 0x3d, 0x2d, 0x1f, 0xf9, 0xec, 0x69, 0x59, 0xfa, 0xf0, + 0xd3, 0xf2, 0x91, 0x8f, 0x3e, 0x2d, 0x1f, 0xf9, 0xf8, 0xd3, 0xf2, 0x91, 0x6f, 0x5d, 0xdf, 0xb6, + 0x5b, 0x7c, 0x98, 0x76, 0xdb, 0xaf, 0x85, 0xff, 0x52, 0xb0, 0x65, 0x73, 0x98, 0x46, 0x99, 0xab, + 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xc7, 0x8f, 0xf1, 0x0e, 0x6c, 0x5c, 0x00, 0x00, } func (this *StartWorkflowExecutionRequest) Equal(that interface{}) bool { @@ -6587,6 +6603,9 @@ func (this *GetMutableStateRequest) Equal(that interface{}) bool { if !bytes.Equal(this.CurrentBranchToken, that1.CurrentBranchToken) { return false } + if !this.VersionHistoryItem.Equal(that1.VersionHistoryItem) { + return false + } return true } func (this *GetMutableStateResponse) Equal(that interface{}) bool { @@ -6695,6 +6714,9 @@ func (this *PollMutableStateRequest) Equal(that interface{}) bool { if !bytes.Equal(this.CurrentBranchToken, that1.CurrentBranchToken) { return false } + if !this.VersionHistoryItem.Equal(that1.VersionHistoryItem) { + return false + } return true } func (this *PollMutableStateResponse) Equal(that interface{}) bool { @@ -9740,7 +9762,7 @@ func (this *GetMutableStateRequest) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 8) + s := make([]string, 0, 9) s = append(s, "&historyservice.GetMutableStateRequest{") s = append(s, "NamespaceId: "+fmt.Sprintf("%#v", this.NamespaceId)+",\n") if this.Execution != nil { @@ -9748,6 +9770,9 @@ func (this *GetMutableStateRequest) GoString() string { } s = append(s, "ExpectedNextEventId: "+fmt.Sprintf("%#v", this.ExpectedNextEventId)+",\n") s = append(s, "CurrentBranchToken: "+fmt.Sprintf("%#v", this.CurrentBranchToken)+",\n") + if this.VersionHistoryItem != nil { + s = append(s, "VersionHistoryItem: "+fmt.Sprintf("%#v", this.VersionHistoryItem)+",\n") + } s = append(s, "}") return strings.Join(s, "") } @@ -9792,7 +9817,7 @@ func (this *PollMutableStateRequest) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 8) + s := make([]string, 0, 9) s = append(s, "&historyservice.PollMutableStateRequest{") s = append(s, "NamespaceId: "+fmt.Sprintf("%#v", this.NamespaceId)+",\n") if this.Execution != nil { @@ -9800,6 +9825,9 @@ func (this *PollMutableStateRequest) GoString() string { } s = append(s, "ExpectedNextEventId: "+fmt.Sprintf("%#v", this.ExpectedNextEventId)+",\n") s = append(s, "CurrentBranchToken: "+fmt.Sprintf("%#v", this.CurrentBranchToken)+",\n") + if this.VersionHistoryItem != nil { + s = append(s, "VersionHistoryItem: "+fmt.Sprintf("%#v", this.VersionHistoryItem)+",\n") + } s = append(s, "}") return strings.Join(s, "") } @@ -11386,6 +11414,18 @@ func (m *GetMutableStateRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l + if m.VersionHistoryItem != nil { + { + size, err := m.VersionHistoryItem.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintRequestResponse(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + } if len(m.CurrentBranchToken) > 0 { i -= len(m.CurrentBranchToken) copy(dAtA[i:], m.CurrentBranchToken) @@ -11516,12 +11556,12 @@ func (m *GetMutableStateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) dAtA[i] = 0x6a } if m.StickyTaskQueueScheduleToStartTimeout != nil { - n13, err13 := github_com_gogo_protobuf_types.StdDurationMarshalTo(*m.StickyTaskQueueScheduleToStartTimeout, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(*m.StickyTaskQueueScheduleToStartTimeout):]) - if err13 != nil { - return 0, err13 + n14, err14 := github_com_gogo_protobuf_types.StdDurationMarshalTo(*m.StickyTaskQueueScheduleToStartTimeout, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(*m.StickyTaskQueueScheduleToStartTimeout):]) + if err14 != nil { + return 0, err14 } - i -= n13 - i = encodeVarintRequestResponse(dAtA, i, uint64(n13)) + i -= n14 + i = encodeVarintRequestResponse(dAtA, i, uint64(n14)) i-- dAtA[i] = 0x5a } @@ -11611,6 +11651,18 @@ func (m *PollMutableStateRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l + if m.VersionHistoryItem != nil { + { + size, err := m.VersionHistoryItem.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintRequestResponse(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + } if len(m.CurrentBranchToken) > 0 { i -= len(m.CurrentBranchToken) copy(dAtA[i:], m.CurrentBranchToken) @@ -11713,12 +11765,12 @@ func (m *PollMutableStateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error dAtA[i] = 0x62 } if m.StickyTaskQueueScheduleToStartTimeout != nil { - n20, err20 := github_com_gogo_protobuf_types.StdDurationMarshalTo(*m.StickyTaskQueueScheduleToStartTimeout, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(*m.StickyTaskQueueScheduleToStartTimeout):]) - if err20 != nil { - return 0, err20 + n22, err22 := github_com_gogo_protobuf_types.StdDurationMarshalTo(*m.StickyTaskQueueScheduleToStartTimeout, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(*m.StickyTaskQueueScheduleToStartTimeout):]) + if err22 != nil { + return 0, err22 } - i -= n20 - i = encodeVarintRequestResponse(dAtA, i, uint64(n20)) + i -= n22 + i = encodeVarintRequestResponse(dAtA, i, uint64(n22)) i-- dAtA[i] = 0x5a } @@ -12018,22 +12070,22 @@ func (m *RecordWorkflowTaskStartedResponse) MarshalToSizedBuffer(dAtA []byte) (i } } if m.StartedTime != nil { - n31, err31 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.StartedTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartedTime):]) - if err31 != nil { - return 0, err31 + n33, err33 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.StartedTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartedTime):]) + if err33 != nil { + return 0, err33 } - i -= n31 - i = encodeVarintRequestResponse(dAtA, i, uint64(n31)) + i -= n33 + i = encodeVarintRequestResponse(dAtA, i, uint64(n33)) i-- dAtA[i] = 0x6a } if m.ScheduledTime != nil { - n32, err32 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.ScheduledTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.ScheduledTime):]) - if err32 != nil { - return 0, err32 + n34, err34 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.ScheduledTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.ScheduledTime):]) + if err34 != nil { + return 0, err34 } - i -= n32 - i = encodeVarintRequestResponse(dAtA, i, uint64(n32)) + i -= n34 + i = encodeVarintRequestResponse(dAtA, i, uint64(n34)) i-- dAtA[i] = 0x62 } @@ -12270,12 +12322,12 @@ func (m *RecordActivityTaskStartedResponse) MarshalToSizedBuffer(dAtA []byte) (i dAtA[i] = 0x2a } if m.CurrentAttemptScheduledTime != nil { - n42, err42 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.CurrentAttemptScheduledTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.CurrentAttemptScheduledTime):]) - if err42 != nil { - return 0, err42 + n44, err44 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.CurrentAttemptScheduledTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.CurrentAttemptScheduledTime):]) + if err44 != nil { + return 0, err44 } - i -= n42 - i = encodeVarintRequestResponse(dAtA, i, uint64(n42)) + i -= n44 + i = encodeVarintRequestResponse(dAtA, i, uint64(n44)) i-- dAtA[i] = 0x22 } @@ -12285,12 +12337,12 @@ func (m *RecordActivityTaskStartedResponse) MarshalToSizedBuffer(dAtA []byte) (i dAtA[i] = 0x18 } if m.StartedTime != nil { - n43, err43 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.StartedTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartedTime):]) - if err43 != nil { - return 0, err43 + n45, err45 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.StartedTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartedTime):]) + if err45 != nil { + return 0, err45 } - i -= n43 - i = encodeVarintRequestResponse(dAtA, i, uint64(n43)) + i -= n45 + i = encodeVarintRequestResponse(dAtA, i, uint64(n45)) i-- dAtA[i] = 0x12 } @@ -14209,12 +14261,12 @@ func (m *SyncShardStatusRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) var l int _ = l if m.StatusTime != nil { - n87, err87 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.StatusTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.StatusTime):]) - if err87 != nil { - return 0, err87 + n89, err89 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.StatusTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.StatusTime):]) + if err89 != nil { + return 0, err89 } - i -= n87 - i = encodeVarintRequestResponse(dAtA, i, uint64(n87)) + i -= n89 + i = encodeVarintRequestResponse(dAtA, i, uint64(n89)) i-- dAtA[i] = 0x1a } @@ -14337,22 +14389,22 @@ func (m *SyncActivityRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x52 } if m.LastHeartbeatTime != nil { - n92, err92 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastHeartbeatTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastHeartbeatTime):]) - if err92 != nil { - return 0, err92 + n94, err94 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastHeartbeatTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastHeartbeatTime):]) + if err94 != nil { + return 0, err94 } - i -= n92 - i = encodeVarintRequestResponse(dAtA, i, uint64(n92)) + i -= n94 + i = encodeVarintRequestResponse(dAtA, i, uint64(n94)) i-- dAtA[i] = 0x4a } if m.StartedTime != nil { - n93, err93 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.StartedTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartedTime):]) - if err93 != nil { - return 0, err93 + n95, err95 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.StartedTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartedTime):]) + if err95 != nil { + return 0, err95 } - i -= n93 - i = encodeVarintRequestResponse(dAtA, i, uint64(n93)) + i -= n95 + i = encodeVarintRequestResponse(dAtA, i, uint64(n95)) i-- dAtA[i] = 0x42 } @@ -14362,12 +14414,12 @@ func (m *SyncActivityRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x38 } if m.ScheduledTime != nil { - n94, err94 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.ScheduledTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.ScheduledTime):]) - if err94 != nil { - return 0, err94 + n96, err96 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.ScheduledTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.ScheduledTime):]) + if err96 != nil { + return 0, err96 } - i -= n94 - i = encodeVarintRequestResponse(dAtA, i, uint64(n94)) + i -= n96 + i = encodeVarintRequestResponse(dAtA, i, uint64(n96)) i-- dAtA[i] = 0x32 } @@ -14611,21 +14663,21 @@ func (m *DescribeHistoryHostResponse) MarshalToSizedBuffer(dAtA []byte) (int, er dAtA[i] = 0x1a } if len(m.ShardIds) > 0 { - dAtA101 := make([]byte, len(m.ShardIds)*10) - var j100 int + dAtA103 := make([]byte, len(m.ShardIds)*10) + var j102 int for _, num1 := range m.ShardIds { num := uint64(num1) for num >= 1<<7 { - dAtA101[j100] = uint8(uint64(num)&0x7f | 0x80) + dAtA103[j102] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j100++ + j102++ } - dAtA101[j100] = uint8(num) - j100++ + dAtA103[j102] = uint8(num) + j102++ } - i -= j100 - copy(dAtA[i:], dAtA101[:j100]) - i = encodeVarintRequestResponse(dAtA, i, uint64(j100)) + i -= j102 + copy(dAtA[i:], dAtA103[:j102]) + i = encodeVarintRequestResponse(dAtA, i, uint64(j102)) i-- dAtA[i] = 0x12 } @@ -14772,12 +14824,12 @@ func (m *RemoveTaskRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { var l int _ = l if m.VisibilityTime != nil { - n103, err103 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.VisibilityTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.VisibilityTime):]) - if err103 != nil { - return 0, err103 + n105, err105 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.VisibilityTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.VisibilityTime):]) + if err105 != nil { + return 0, err105 } - i -= n103 - i = encodeVarintRequestResponse(dAtA, i, uint64(n103)) + i -= n105 + i = encodeVarintRequestResponse(dAtA, i, uint64(n105)) i-- dAtA[i] = 0x22 } @@ -15634,12 +15686,12 @@ func (m *ShardReplicationStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) var l int _ = l if m.MaxReplicationTaskVisibilityTime != nil { - n110, err110 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.MaxReplicationTaskVisibilityTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.MaxReplicationTaskVisibilityTime):]) - if err110 != nil { - return 0, err110 + n112, err112 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.MaxReplicationTaskVisibilityTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.MaxReplicationTaskVisibilityTime):]) + if err112 != nil { + return 0, err112 } - i -= n110 - i = encodeVarintRequestResponse(dAtA, i, uint64(n110)) + i -= n112 + i = encodeVarintRequestResponse(dAtA, i, uint64(n112)) i-- dAtA[i] = 0x32 } @@ -15696,12 +15748,12 @@ func (m *ShardReplicationStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) } } if m.ShardLocalTime != nil { - n113, err113 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.ShardLocalTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.ShardLocalTime):]) - if err113 != nil { - return 0, err113 + n115, err115 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.ShardLocalTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.ShardLocalTime):]) + if err115 != nil { + return 0, err115 } - i -= n113 - i = encodeVarintRequestResponse(dAtA, i, uint64(n113)) + i -= n115 + i = encodeVarintRequestResponse(dAtA, i, uint64(n115)) i-- dAtA[i] = 0x1a } @@ -15767,12 +15819,12 @@ func (m *ShardReplicationStatusPerCluster) MarshalToSizedBuffer(dAtA []byte) (in var l int _ = l if m.AckedTaskVisibilityTime != nil { - n114, err114 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.AckedTaskVisibilityTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.AckedTaskVisibilityTime):]) - if err114 != nil { - return 0, err114 + n116, err116 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.AckedTaskVisibilityTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.AckedTaskVisibilityTime):]) + if err116 != nil { + return 0, err116 } - i -= n114 - i = encodeVarintRequestResponse(dAtA, i, uint64(n114)) + i -= n116 + i = encodeVarintRequestResponse(dAtA, i, uint64(n116)) i-- dAtA[i] = 0x12 } @@ -15870,22 +15922,22 @@ func (m *DeleteWorkflowVisibilityRecordRequest) MarshalToSizedBuffer(dAtA []byte var l int _ = l if m.WorkflowCloseTime != nil { - n116, err116 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.WorkflowCloseTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.WorkflowCloseTime):]) - if err116 != nil { - return 0, err116 + n118, err118 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.WorkflowCloseTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.WorkflowCloseTime):]) + if err118 != nil { + return 0, err118 } - i -= n116 - i = encodeVarintRequestResponse(dAtA, i, uint64(n116)) + i -= n118 + i = encodeVarintRequestResponse(dAtA, i, uint64(n118)) i-- dAtA[i] = 0x22 } if m.WorkflowStartTime != nil { - n117, err117 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.WorkflowStartTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.WorkflowStartTime):]) - if err117 != nil { - return 0, err117 + n119, err119 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.WorkflowStartTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.WorkflowStartTime):]) + if err119 != nil { + return 0, err119 } - i -= n117 - i = encodeVarintRequestResponse(dAtA, i, uint64(n117)) + i -= n119 + i = encodeVarintRequestResponse(dAtA, i, uint64(n119)) i-- dAtA[i] = 0x1a } @@ -16294,6 +16346,10 @@ func (m *GetMutableStateRequest) Size() (n int) { if l > 0 { n += 1 + l + sovRequestResponse(uint64(l)) } + if m.VersionHistoryItem != nil { + l = m.VersionHistoryItem.Size() + n += 1 + l + sovRequestResponse(uint64(l)) + } return n } @@ -16384,6 +16440,10 @@ func (m *PollMutableStateRequest) Size() (n int) { if l > 0 { n += 1 + l + sovRequestResponse(uint64(l)) } + if m.VersionHistoryItem != nil { + l = m.VersionHistoryItem.Size() + n += 1 + l + sovRequestResponse(uint64(l)) + } return n } @@ -18306,6 +18366,7 @@ func (this *GetMutableStateRequest) String() string { `Execution:` + strings.Replace(fmt.Sprintf("%v", this.Execution), "WorkflowExecution", "v14.WorkflowExecution", 1) + `,`, `ExpectedNextEventId:` + fmt.Sprintf("%v", this.ExpectedNextEventId) + `,`, `CurrentBranchToken:` + fmt.Sprintf("%v", this.CurrentBranchToken) + `,`, + `VersionHistoryItem:` + strings.Replace(fmt.Sprintf("%v", this.VersionHistoryItem), "VersionHistoryItem", "v16.VersionHistoryItem", 1) + `,`, `}`, }, "") return s @@ -18320,13 +18381,13 @@ func (this *GetMutableStateResponse) String() string { `NextEventId:` + fmt.Sprintf("%v", this.NextEventId) + `,`, `PreviousStartedEventId:` + fmt.Sprintf("%v", this.PreviousStartedEventId) + `,`, `LastFirstEventId:` + fmt.Sprintf("%v", this.LastFirstEventId) + `,`, - `TaskQueue:` + strings.Replace(fmt.Sprintf("%v", this.TaskQueue), "TaskQueue", "v16.TaskQueue", 1) + `,`, - `StickyTaskQueue:` + strings.Replace(fmt.Sprintf("%v", this.StickyTaskQueue), "TaskQueue", "v16.TaskQueue", 1) + `,`, + `TaskQueue:` + strings.Replace(fmt.Sprintf("%v", this.TaskQueue), "TaskQueue", "v17.TaskQueue", 1) + `,`, + `StickyTaskQueue:` + strings.Replace(fmt.Sprintf("%v", this.StickyTaskQueue), "TaskQueue", "v17.TaskQueue", 1) + `,`, `StickyTaskQueueScheduleToStartTimeout:` + strings.Replace(fmt.Sprintf("%v", this.StickyTaskQueueScheduleToStartTimeout), "Duration", "types.Duration", 1) + `,`, `CurrentBranchToken:` + fmt.Sprintf("%v", this.CurrentBranchToken) + `,`, `WorkflowState:` + fmt.Sprintf("%v", this.WorkflowState) + `,`, `WorkflowStatus:` + fmt.Sprintf("%v", this.WorkflowStatus) + `,`, - `VersionHistories:` + strings.Replace(fmt.Sprintf("%v", this.VersionHistories), "VersionHistories", "v18.VersionHistories", 1) + `,`, + `VersionHistories:` + strings.Replace(fmt.Sprintf("%v", this.VersionHistories), "VersionHistories", "v16.VersionHistories", 1) + `,`, `IsStickyTaskQueueEnabled:` + fmt.Sprintf("%v", this.IsStickyTaskQueueEnabled) + `,`, `LastFirstEventTxnId:` + fmt.Sprintf("%v", this.LastFirstEventTxnId) + `,`, `FirstExecutionRunId:` + fmt.Sprintf("%v", this.FirstExecutionRunId) + `,`, @@ -18344,6 +18405,7 @@ func (this *PollMutableStateRequest) String() string { `Execution:` + strings.Replace(fmt.Sprintf("%v", this.Execution), "WorkflowExecution", "v14.WorkflowExecution", 1) + `,`, `ExpectedNextEventId:` + fmt.Sprintf("%v", this.ExpectedNextEventId) + `,`, `CurrentBranchToken:` + fmt.Sprintf("%v", this.CurrentBranchToken) + `,`, + `VersionHistoryItem:` + strings.Replace(fmt.Sprintf("%v", this.VersionHistoryItem), "VersionHistoryItem", "v16.VersionHistoryItem", 1) + `,`, `}`, }, "") return s @@ -18358,11 +18420,11 @@ func (this *PollMutableStateResponse) String() string { `NextEventId:` + fmt.Sprintf("%v", this.NextEventId) + `,`, `PreviousStartedEventId:` + fmt.Sprintf("%v", this.PreviousStartedEventId) + `,`, `LastFirstEventId:` + fmt.Sprintf("%v", this.LastFirstEventId) + `,`, - `TaskQueue:` + strings.Replace(fmt.Sprintf("%v", this.TaskQueue), "TaskQueue", "v16.TaskQueue", 1) + `,`, - `StickyTaskQueue:` + strings.Replace(fmt.Sprintf("%v", this.StickyTaskQueue), "TaskQueue", "v16.TaskQueue", 1) + `,`, + `TaskQueue:` + strings.Replace(fmt.Sprintf("%v", this.TaskQueue), "TaskQueue", "v17.TaskQueue", 1) + `,`, + `StickyTaskQueue:` + strings.Replace(fmt.Sprintf("%v", this.StickyTaskQueue), "TaskQueue", "v17.TaskQueue", 1) + `,`, `StickyTaskQueueScheduleToStartTimeout:` + strings.Replace(fmt.Sprintf("%v", this.StickyTaskQueueScheduleToStartTimeout), "Duration", "types.Duration", 1) + `,`, `CurrentBranchToken:` + fmt.Sprintf("%v", this.CurrentBranchToken) + `,`, - `VersionHistories:` + strings.Replace(fmt.Sprintf("%v", this.VersionHistories), "VersionHistories", "v18.VersionHistories", 1) + `,`, + `VersionHistories:` + strings.Replace(fmt.Sprintf("%v", this.VersionHistories), "VersionHistories", "v16.VersionHistories", 1) + `,`, `WorkflowState:` + fmt.Sprintf("%v", this.WorkflowState) + `,`, `WorkflowStatus:` + fmt.Sprintf("%v", this.WorkflowStatus) + `,`, `LastFirstEventTxnId:` + fmt.Sprintf("%v", this.LastFirstEventTxnId) + `,`, @@ -18434,8 +18496,8 @@ func (this *RecordWorkflowTaskStartedResponse) String() string { `NextEventId:` + fmt.Sprintf("%v", this.NextEventId) + `,`, `Attempt:` + fmt.Sprintf("%v", this.Attempt) + `,`, `StickyExecutionEnabled:` + fmt.Sprintf("%v", this.StickyExecutionEnabled) + `,`, - `TransientWorkflowTask:` + strings.Replace(fmt.Sprintf("%v", this.TransientWorkflowTask), "TransientWorkflowTaskInfo", "v18.TransientWorkflowTaskInfo", 1) + `,`, - `WorkflowExecutionTaskQueue:` + strings.Replace(fmt.Sprintf("%v", this.WorkflowExecutionTaskQueue), "TaskQueue", "v16.TaskQueue", 1) + `,`, + `TransientWorkflowTask:` + strings.Replace(fmt.Sprintf("%v", this.TransientWorkflowTask), "TransientWorkflowTaskInfo", "v16.TransientWorkflowTaskInfo", 1) + `,`, + `WorkflowExecutionTaskQueue:` + strings.Replace(fmt.Sprintf("%v", this.WorkflowExecutionTaskQueue), "TaskQueue", "v17.TaskQueue", 1) + `,`, `BranchToken:` + fmt.Sprintf("%v", this.BranchToken) + `,`, `ScheduledTime:` + strings.Replace(fmt.Sprintf("%v", this.ScheduledTime), "Timestamp", "types.Timestamp", 1) + `,`, `StartedTime:` + strings.Replace(fmt.Sprintf("%v", this.StartedTime), "Timestamp", "types.Timestamp", 1) + `,`, @@ -18942,7 +19004,7 @@ func (this *ReplicateEventsV2Request) String() string { } repeatedStringForVersionHistoryItems := "[]*VersionHistoryItem{" for _, f := range this.VersionHistoryItems { - repeatedStringForVersionHistoryItems += strings.Replace(fmt.Sprintf("%v", f), "VersionHistoryItem", "v18.VersionHistoryItem", 1) + "," + repeatedStringForVersionHistoryItems += strings.Replace(fmt.Sprintf("%v", f), "VersionHistoryItem", "v16.VersionHistoryItem", 1) + "," } repeatedStringForVersionHistoryItems += "}" s := strings.Join([]string{`&ReplicateEventsV2Request{`, @@ -19025,7 +19087,7 @@ func (this *SyncActivityRequest) String() string { `Attempt:` + fmt.Sprintf("%v", this.Attempt) + `,`, `LastFailure:` + strings.Replace(fmt.Sprintf("%v", this.LastFailure), "Failure", "v13.Failure", 1) + `,`, `LastWorkerIdentity:` + fmt.Sprintf("%v", this.LastWorkerIdentity) + `,`, - `VersionHistory:` + strings.Replace(fmt.Sprintf("%v", this.VersionHistory), "VersionHistory", "v18.VersionHistory", 1) + `,`, + `VersionHistory:` + strings.Replace(fmt.Sprintf("%v", this.VersionHistory), "VersionHistory", "v16.VersionHistory", 1) + `,`, `BaseExecutionInfo:` + strings.Replace(fmt.Sprintf("%v", this.BaseExecutionInfo), "BaseExecutionInfo", "v11.BaseExecutionInfo", 1) + `,`, `}`, }, "") @@ -20278,6 +20340,42 @@ func (m *GetMutableStateRequest) Unmarshal(dAtA []byte) error { m.CurrentBranchToken = []byte{} } iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field VersionHistoryItem", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRequestResponse + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthRequestResponse + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthRequestResponse + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.VersionHistoryItem == nil { + m.VersionHistoryItem = &v16.VersionHistoryItem{} + } + if err := m.VersionHistoryItem.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipRequestResponse(dAtA[iNdEx:]) @@ -20490,7 +20588,7 @@ func (m *GetMutableStateResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.TaskQueue == nil { - m.TaskQueue = &v16.TaskQueue{} + m.TaskQueue = &v17.TaskQueue{} } if err := m.TaskQueue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -20526,7 +20624,7 @@ func (m *GetMutableStateResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.StickyTaskQueue == nil { - m.StickyTaskQueue = &v16.TaskQueue{} + m.StickyTaskQueue = &v17.TaskQueue{} } if err := m.StickyTaskQueue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -20616,7 +20714,7 @@ func (m *GetMutableStateResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.WorkflowState |= v17.WorkflowExecutionState(b&0x7F) << shift + m.WorkflowState |= v18.WorkflowExecutionState(b&0x7F) << shift if b < 0x80 { break } @@ -20670,7 +20768,7 @@ func (m *GetMutableStateResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.VersionHistories == nil { - m.VersionHistories = &v18.VersionHistories{} + m.VersionHistories = &v16.VersionHistories{} } if err := m.VersionHistories.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -20957,6 +21055,42 @@ func (m *PollMutableStateRequest) Unmarshal(dAtA []byte) error { m.CurrentBranchToken = []byte{} } iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field VersionHistoryItem", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRequestResponse + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthRequestResponse + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthRequestResponse + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.VersionHistoryItem == nil { + m.VersionHistoryItem = &v16.VersionHistoryItem{} + } + if err := m.VersionHistoryItem.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipRequestResponse(dAtA[iNdEx:]) @@ -21169,7 +21303,7 @@ func (m *PollMutableStateResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.TaskQueue == nil { - m.TaskQueue = &v16.TaskQueue{} + m.TaskQueue = &v17.TaskQueue{} } if err := m.TaskQueue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -21205,7 +21339,7 @@ func (m *PollMutableStateResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.StickyTaskQueue == nil { - m.StickyTaskQueue = &v16.TaskQueue{} + m.StickyTaskQueue = &v17.TaskQueue{} } if err := m.StickyTaskQueue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -21311,7 +21445,7 @@ func (m *PollMutableStateResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.VersionHistories == nil { - m.VersionHistories = &v18.VersionHistories{} + m.VersionHistories = &v16.VersionHistories{} } if err := m.VersionHistories.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -21331,7 +21465,7 @@ func (m *PollMutableStateResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.WorkflowState |= v17.WorkflowExecutionState(b&0x7F) << shift + m.WorkflowState |= v18.WorkflowExecutionState(b&0x7F) << shift if b < 0x80 { break } @@ -22077,7 +22211,7 @@ func (m *RecordWorkflowTaskStartedResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.TransientWorkflowTask == nil { - m.TransientWorkflowTask = &v18.TransientWorkflowTaskInfo{} + m.TransientWorkflowTask = &v16.TransientWorkflowTaskInfo{} } if err := m.TransientWorkflowTask.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -22113,7 +22247,7 @@ func (m *RecordWorkflowTaskStartedResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.WorkflowExecutionTaskQueue == nil { - m.WorkflowExecutionTaskQueue = &v16.TaskQueue{} + m.WorkflowExecutionTaskQueue = &v17.TaskQueue{} } if err := m.WorkflowExecutionTaskQueue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -27816,7 +27950,7 @@ func (m *ReplicateEventsV2Request) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.VersionHistoryItems = append(m.VersionHistoryItems, &v18.VersionHistoryItem{}) + m.VersionHistoryItems = append(m.VersionHistoryItems, &v16.VersionHistoryItem{}) if err := m.VersionHistoryItems[len(m.VersionHistoryItems)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -28848,7 +28982,7 @@ func (m *SyncActivityRequest) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.VersionHistory == nil { - m.VersionHistory = &v18.VersionHistory{} + m.VersionHistory = &v16.VersionHistory{} } if err := m.VersionHistory.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -29949,7 +30083,7 @@ func (m *RemoveTaskRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Category |= v17.TaskCategory(b&0x7F) << shift + m.Category |= v18.TaskCategory(b&0x7F) << shift if b < 0x80 { break } @@ -30974,7 +31108,7 @@ func (m *GetDLQMessagesRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Type |= v17.DeadLetterQueueType(b&0x7F) << shift + m.Type |= v18.DeadLetterQueueType(b&0x7F) << shift if b < 0x80 { break } @@ -31169,7 +31303,7 @@ func (m *GetDLQMessagesResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Type |= v17.DeadLetterQueueType(b&0x7F) << shift + m.Type |= v18.DeadLetterQueueType(b&0x7F) << shift if b < 0x80 { break } @@ -31343,7 +31477,7 @@ func (m *PurgeDLQMessagesRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Type |= v17.DeadLetterQueueType(b&0x7F) << shift + m.Type |= v18.DeadLetterQueueType(b&0x7F) << shift if b < 0x80 { break } @@ -31538,7 +31672,7 @@ func (m *MergeDLQMessagesRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Type |= v17.DeadLetterQueueType(b&0x7F) << shift + m.Type |= v18.DeadLetterQueueType(b&0x7F) << shift if b < 0x80 { break } diff --git a/api/token/v1/message.pb.go b/api/token/v1/message.pb.go index 7b3d7f039e9..254b3f3a80b 100644 --- a/api/token/v1/message.pb.go +++ b/api/token/v1/message.pb.go @@ -65,6 +65,7 @@ type HistoryContinuation struct { PersistenceToken []byte `protobuf:"bytes,6,opt,name=persistence_token,json=persistenceToken,proto3" json:"persistence_token,omitempty"` TransientWorkflowTask *v1.TransientWorkflowTaskInfo `protobuf:"bytes,7,opt,name=transient_workflow_task,json=transientWorkflowTask,proto3" json:"transient_workflow_task,omitempty"` BranchToken []byte `protobuf:"bytes,8,opt,name=branch_token,json=branchToken,proto3" json:"branch_token,omitempty"` + VersionHistoryItem *v1.VersionHistoryItem `protobuf:"bytes,10,opt,name=version_history_item,json=versionHistoryItem,proto3" json:"version_history_item,omitempty"` } func (m *HistoryContinuation) Reset() { *m = HistoryContinuation{} } @@ -148,6 +149,13 @@ func (m *HistoryContinuation) GetBranchToken() []byte { return nil } +func (m *HistoryContinuation) GetVersionHistoryItem() *v1.VersionHistoryItem { + if m != nil { + return m.VersionHistoryItem + } + return nil +} + type RawHistoryContinuation struct { NamespaceId string `protobuf:"bytes,10,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` WorkflowId string `protobuf:"bytes,2,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` @@ -457,57 +465,59 @@ func init() { } var fileDescriptor_020fff7d28118bec = []byte{ - // 795 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0x41, 0x8f, 0xdb, 0x44, - 0x14, 0xce, 0x6c, 0xb2, 0xd9, 0xf8, 0xc5, 0x2d, 0x89, 0xab, 0xd2, 0x68, 0x05, 0xde, 0x6c, 0xe0, - 0x10, 0x4a, 0x65, 0xb3, 0x70, 0x42, 0x1c, 0x90, 0xba, 0x42, 0x6a, 0x7a, 0xab, 0x15, 0x81, 0x84, - 0x04, 0xd1, 0xac, 0x3d, 0xc9, 0x8e, 0x92, 0xcc, 0xb8, 0x33, 0x63, 0x2f, 0xb9, 0xf1, 0x13, 0xfa, - 0x33, 0xe0, 0x9f, 0x70, 0xdc, 0x63, 0x4f, 0xc0, 0x66, 0x2f, 0xdc, 0xe8, 0x4f, 0x40, 0x33, 0xf6, - 0x24, 0x66, 0x6b, 0x04, 0x07, 0x6e, 0x9e, 0xef, 0x7d, 0xef, 0xcd, 0x7b, 0xdf, 0x37, 0x79, 0x81, - 0xc7, 0x8a, 0xac, 0x53, 0x2e, 0xf0, 0x2a, 0x94, 0x44, 0xe4, 0x44, 0x84, 0x38, 0xa5, 0xa1, 0xe2, - 0x4b, 0xc2, 0xc2, 0xfc, 0x2c, 0x5c, 0x13, 0x29, 0xf1, 0x82, 0x04, 0xa9, 0xe0, 0x8a, 0x7b, 0xef, - 0x59, 0x6e, 0x50, 0x70, 0x03, 0x9c, 0xd2, 0xc0, 0x70, 0x83, 0xfc, 0xec, 0xf8, 0x64, 0xc1, 0xf9, - 0x62, 0x45, 0x42, 0xc3, 0xbd, 0xc8, 0xe6, 0xa1, 0xa2, 0x6b, 0x22, 0x15, 0x5e, 0xa7, 0x45, 0xfa, - 0xf1, 0x69, 0x42, 0x52, 0xc2, 0x12, 0xc2, 0x62, 0x4a, 0x64, 0xb8, 0xe0, 0x0b, 0x6e, 0x70, 0xf3, - 0x55, 0x52, 0x6a, 0xbb, 0x89, 0x57, 0x3c, 0x5e, 0xbe, 0xd5, 0xcd, 0xf1, 0x93, 0x3a, 0xee, 0x25, - 0x95, 0x8a, 0x8b, 0xcd, 0x5b, 0xec, 0xd1, 0x9f, 0x07, 0xf0, 0xe0, 0x59, 0x11, 0x3c, 0xe7, 0x4c, - 0x51, 0x96, 0x61, 0x45, 0x39, 0xf3, 0x1e, 0x42, 0x5b, 0x64, 0x6c, 0x46, 0x93, 0x01, 0x1a, 0xa2, - 0xb1, 0x13, 0x1d, 0x8a, 0x8c, 0x4d, 0x12, 0xef, 0x43, 0xb8, 0x3f, 0xa7, 0x42, 0xaa, 0x19, 0xc9, - 0x09, 0x53, 0x3a, 0x7c, 0x30, 0x44, 0xe3, 0x66, 0xe4, 0x1a, 0xf4, 0x2b, 0x0d, 0x4e, 0x12, 0x6f, - 0x04, 0xf7, 0x18, 0xf9, 0xa1, 0x42, 0x6a, 0x1a, 0x52, 0x57, 0x83, 0x96, 0x13, 0xc0, 0x03, 0x2a, - 0x67, 0x57, 0x5c, 0x2c, 0xe7, 0x2b, 0x7e, 0x35, 0x13, 0x19, 0x63, 0x94, 0x2d, 0x06, 0x87, 0x43, - 0x34, 0xee, 0x44, 0x7d, 0x2a, 0xbf, 0x29, 0x23, 0x51, 0x11, 0xf0, 0x3e, 0x86, 0x7e, 0x4a, 0x84, - 0xa4, 0x52, 0x11, 0x16, 0x93, 0x99, 0x91, 0x77, 0xd0, 0x1e, 0xa2, 0xb1, 0x1b, 0xf5, 0x2a, 0x81, - 0xa9, 0xc6, 0xbd, 0x97, 0xf0, 0x48, 0x09, 0xcc, 0x24, 0xd5, 0xf7, 0xef, 0xee, 0x50, 0x58, 0x2e, - 0x07, 0x47, 0x43, 0x34, 0xee, 0x7e, 0xfa, 0x79, 0x50, 0xe7, 0x59, 0xa9, 0x52, 0x90, 0x9f, 0x05, - 0x53, 0x9b, 0x6e, 0xfb, 0x98, 0x62, 0xb9, 0x9c, 0xb0, 0x39, 0x8f, 0x1e, 0xaa, 0xba, 0x90, 0x77, - 0x0a, 0xee, 0x85, 0xc0, 0x2c, 0xbe, 0x2c, 0x5b, 0xeb, 0x98, 0xd6, 0xba, 0x05, 0x66, 0xba, 0x7a, - 0xde, 0xea, 0x38, 0x3d, 0x18, 0xfd, 0xdc, 0x84, 0x77, 0x23, 0x7c, 0x55, 0x27, 0xfa, 0x29, 0xb8, - 0x0c, 0xaf, 0x89, 0x4c, 0x71, 0x4c, 0xb4, 0x6c, 0x60, 0xa4, 0xef, 0xee, 0xb0, 0x49, 0xe2, 0x9d, - 0x40, 0x77, 0x37, 0x4f, 0xa9, 0xbe, 0x13, 0x81, 0x85, 0x26, 0x49, 0xc5, 0xb8, 0xe6, 0x1d, 0xe3, - 0xa4, 0xc2, 0xa2, 0xe2, 0x49, 0xab, 0x30, 0xce, 0xa0, 0x15, 0x53, 0xaa, 0xac, 0x5c, 0xeb, 0xca, - 0x99, 0x31, 0xa5, 0x19, 0xf5, 0xf7, 0xd4, 0xaf, 0x8b, 0x80, 0x37, 0x04, 0x97, 0xb0, 0x64, 0x5f, - 0xb3, 0x6d, 0x88, 0x40, 0x58, 0x62, 0x2b, 0x3e, 0x86, 0xfe, 0x9e, 0x61, 0xeb, 0x1d, 0x19, 0xda, - 0x3b, 0x96, 0x66, 0xab, 0xd5, 0x5a, 0xdc, 0xf9, 0x07, 0x8b, 0xbf, 0x83, 0x7e, 0x59, 0x6e, 0x56, - 0xd8, 0x46, 0x89, 0x1c, 0x38, 0xc6, 0xdc, 0x4f, 0xfe, 0xcd, 0xdc, 0xf2, 0xc2, 0x67, 0x36, 0x2f, - 0xea, 0xe5, 0x77, 0x90, 0xe7, 0xad, 0x0e, 0xea, 0x1d, 0x8c, 0x7e, 0x6d, 0x42, 0xcb, 0xba, 0xfb, - 0x37, 0x67, 0xd0, 0xff, 0xe7, 0xcc, 0x13, 0xf0, 0x64, 0x7c, 0x49, 0x92, 0x6c, 0x45, 0x92, 0xbb, - 0xee, 0xf4, 0x76, 0x11, 0xab, 0xe7, 0x00, 0x8e, 0xb0, 0xd2, 0xe3, 0x29, 0xe3, 0xca, 0x61, 0x64, - 0x8f, 0xfa, 0x7e, 0x1c, 0x2b, 0x9a, 0x53, 0xb5, 0xb1, 0x56, 0x38, 0x11, 0x58, 0x68, 0x92, 0x78, - 0x1f, 0xc0, 0xbd, 0xfd, 0x4f, 0x61, 0x93, 0x12, 0x63, 0x83, 0x13, 0xb9, 0x16, 0x9c, 0x6e, 0x52, - 0xa2, 0x49, 0xbb, 0x2a, 0x86, 0xd4, 0x29, 0x48, 0x16, 0x34, 0xa4, 0x2f, 0xe1, 0xd0, 0x2c, 0x9f, - 0x52, 0xef, 0x8f, 0x6a, 0xf5, 0x36, 0x8c, 0x42, 0xed, 0x58, 0x71, 0x71, 0xae, 0x8f, 0x51, 0x91, - 0xe7, 0x8d, 0xa1, 0x67, 0x1e, 0x53, 0x75, 0x62, 0x30, 0x13, 0xdf, 0x2f, 0xf1, 0xca, 0xbc, 0xf6, - 0xd5, 0x74, 0x0d, 0xc1, 0x1e, 0xbd, 0x73, 0x70, 0x6d, 0x0d, 0xbd, 0x51, 0x07, 0xae, 0xe9, 0xe5, - 0x38, 0x28, 0xd6, 0x6d, 0x60, 0xd7, 0x6d, 0x30, 0xb5, 0xeb, 0xf6, 0x69, 0xeb, 0xd5, 0x6f, 0x27, - 0x28, 0xea, 0x96, 0x59, 0x1a, 0x1f, 0xcd, 0xc1, 0x79, 0x91, 0x11, 0xb1, 0xf9, 0xaf, 0x26, 0xbf, - 0x0f, 0xa0, 0xb7, 0xc8, 0xec, 0x65, 0x46, 0x32, 0x52, 0x7a, 0xec, 0x68, 0xe4, 0x85, 0x06, 0xbc, - 0x47, 0x70, 0x64, 0xc2, 0x3b, 0x8f, 0xdb, 0xfa, 0x38, 0x49, 0x9e, 0x7e, 0x7f, 0x7d, 0xe3, 0x37, - 0x5e, 0xdf, 0xf8, 0x8d, 0x37, 0x37, 0x3e, 0xfa, 0x71, 0xeb, 0xa3, 0x9f, 0xb6, 0x3e, 0xfa, 0x65, - 0xeb, 0xa3, 0xeb, 0xad, 0x8f, 0x7e, 0xdf, 0xfa, 0xe8, 0x8f, 0xad, 0xdf, 0x78, 0xb3, 0xf5, 0xd1, - 0xab, 0x5b, 0xbf, 0x71, 0x7d, 0xeb, 0x37, 0x5e, 0xdf, 0xfa, 0x8d, 0x6f, 0xc7, 0x0b, 0xbe, 0x97, - 0x96, 0xf2, 0xba, 0xbf, 0xa2, 0x2f, 0xcc, 0xc7, 0x45, 0xdb, 0x8c, 0xfb, 0xd9, 0x5f, 0x01, 0x00, - 0x00, 0xff, 0xff, 0x5f, 0x35, 0x79, 0x84, 0xb7, 0x06, 0x00, 0x00, + // 822 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x95, 0x41, 0x8f, 0x1b, 0x35, + 0x14, 0xc7, 0x33, 0x4d, 0x36, 0x9b, 0xbc, 0xa4, 0x25, 0x99, 0x52, 0x1a, 0x45, 0x30, 0x9b, 0x0d, + 0x1c, 0x42, 0xa9, 0x26, 0x6c, 0x39, 0x21, 0x0e, 0x48, 0x5d, 0x21, 0x91, 0xde, 0x6a, 0x45, 0x20, + 0x21, 0x41, 0xe4, 0x9d, 0x79, 0xc9, 0x5a, 0x49, 0xec, 0xa9, 0xed, 0x99, 0x25, 0x37, 0x3e, 0x42, + 0x3f, 0x06, 0x7c, 0x13, 0x8e, 0x7b, 0x41, 0xea, 0x09, 0xd8, 0xec, 0x85, 0x63, 0x3f, 0x02, 0xb2, + 0x67, 0x9c, 0xa4, 0xbb, 0x41, 0x80, 0xd4, 0xdb, 0xf8, 0xff, 0x7e, 0xb6, 0xdf, 0x7b, 0xff, 0x17, + 0x07, 0x1e, 0x69, 0x5c, 0x26, 0x42, 0xd2, 0xc5, 0x50, 0xa1, 0xcc, 0x50, 0x0e, 0x69, 0xc2, 0x86, + 0x5a, 0xcc, 0x91, 0x0f, 0xb3, 0x93, 0xe1, 0x12, 0x95, 0xa2, 0x33, 0x0c, 0x13, 0x29, 0xb4, 0xf0, + 0xdf, 0x77, 0x6c, 0x98, 0xb3, 0x21, 0x4d, 0x58, 0x68, 0xd9, 0x30, 0x3b, 0xe9, 0x1e, 0xcd, 0x84, + 0x98, 0x2d, 0x70, 0x68, 0xd9, 0xb3, 0x74, 0x3a, 0xd4, 0x6c, 0x89, 0x4a, 0xd3, 0x65, 0x92, 0x6f, + 0xef, 0x1e, 0xc7, 0x98, 0x20, 0x8f, 0x91, 0x47, 0x0c, 0xd5, 0x70, 0x26, 0x66, 0xc2, 0xea, 0xf6, + 0xab, 0x40, 0xf6, 0x66, 0x13, 0x2d, 0x44, 0x34, 0xbf, 0x95, 0x4d, 0xf7, 0xf1, 0x3e, 0xf6, 0x9c, + 0x29, 0x2d, 0xe4, 0xea, 0x16, 0xdd, 0xff, 0xad, 0x0c, 0xf7, 0xbf, 0xce, 0x83, 0xa7, 0x82, 0x6b, + 0xc6, 0x53, 0xaa, 0x99, 0xe0, 0xfe, 0x03, 0xa8, 0xca, 0x94, 0x4f, 0x58, 0xdc, 0xf1, 0x7a, 0xde, + 0xa0, 0x4e, 0x0e, 0x64, 0xca, 0x47, 0xb1, 0xff, 0x11, 0xdc, 0x9b, 0x32, 0xa9, 0xf4, 0x04, 0x33, + 0xe4, 0xda, 0x84, 0xef, 0xf4, 0xbc, 0x41, 0x99, 0x34, 0xad, 0xfa, 0x95, 0x11, 0x47, 0xb1, 0xdf, + 0x87, 0xbb, 0x1c, 0x7f, 0xdc, 0x81, 0xca, 0x16, 0x6a, 0x18, 0xd1, 0x31, 0x21, 0xdc, 0x67, 0x6a, + 0x72, 0x21, 0xe4, 0x7c, 0xba, 0x10, 0x17, 0x13, 0x99, 0x72, 0xce, 0xf8, 0xac, 0x73, 0xd0, 0xf3, + 0x06, 0x35, 0xd2, 0x66, 0xea, 0xdb, 0x22, 0x42, 0xf2, 0x80, 0xff, 0x09, 0xb4, 0x13, 0x94, 0x8a, + 0x29, 0x8d, 0x3c, 0xc2, 0x89, 0x6d, 0x6f, 0xa7, 0xda, 0xf3, 0x06, 0x4d, 0xd2, 0xda, 0x09, 0x8c, + 0x8d, 0xee, 0xbf, 0x80, 0x87, 0x5a, 0x52, 0xae, 0x98, 0xb9, 0x7f, 0x73, 0x87, 0xa6, 0x6a, 0xde, + 0x39, 0xec, 0x79, 0x83, 0xc6, 0x93, 0xcf, 0xc3, 0x7d, 0x9e, 0x15, 0x5d, 0x0a, 0xb3, 0x93, 0x70, + 0xec, 0xb6, 0xbb, 0x3c, 0xc6, 0x54, 0xcd, 0x47, 0x7c, 0x2a, 0xc8, 0x03, 0xbd, 0x2f, 0xe4, 0x1f, + 0x43, 0xf3, 0x4c, 0x52, 0x1e, 0x9d, 0x17, 0xa9, 0xd5, 0x6c, 0x6a, 0x8d, 0x5c, 0xcb, 0xb3, 0x8a, + 0xe1, 0xdd, 0xcc, 0x64, 0x2a, 0xf8, 0xa4, 0xb8, 0x69, 0xc2, 0x34, 0x2e, 0x3b, 0x60, 0x53, 0x7a, + 0xf2, 0x6f, 0x29, 0x7d, 0x93, 0xef, 0x2d, 0xdc, 0x1a, 0x69, 0x5c, 0x12, 0x3f, 0xbb, 0xa5, 0x3d, + 0xab, 0xd4, 0xea, 0x2d, 0xe8, 0xff, 0x52, 0x86, 0xf7, 0x08, 0xbd, 0xd8, 0x67, 0xed, 0x31, 0x34, + 0x39, 0x5d, 0xa2, 0x4a, 0x68, 0x84, 0xc6, 0x1c, 0xb0, 0x06, 0x37, 0x36, 0xda, 0x28, 0xf6, 0x8f, + 0xa0, 0xb1, 0xe9, 0x5a, 0xe1, 0x71, 0x9d, 0x80, 0x93, 0x46, 0xf1, 0xce, 0x78, 0x94, 0x6f, 0x8c, + 0x87, 0xd2, 0x54, 0xee, 0x38, 0x5f, 0xc9, 0xc7, 0xc3, 0xaa, 0x3b, 0xd6, 0xef, 0x52, 0x45, 0x0d, + 0xd6, 0xfa, 0x32, 0x69, 0x6f, 0xd1, 0xa2, 0x60, 0xbf, 0x07, 0x4d, 0xe4, 0xf1, 0xf6, 0xcc, 0xaa, + 0x05, 0x01, 0x79, 0xec, 0x4e, 0x7c, 0x04, 0xed, 0x2d, 0xe1, 0xce, 0x3b, 0xb4, 0xd8, 0x3b, 0x0e, + 0x73, 0xa7, 0xed, 0x1d, 0xa4, 0xda, 0x3f, 0x0c, 0xd2, 0xf7, 0xd0, 0x7e, 0xd3, 0x32, 0x86, 0xaa, + 0x53, 0xb7, 0x7e, 0x7d, 0xfa, 0xbf, 0xfc, 0x62, 0xa8, 0x48, 0x2b, 0xbb, 0xa1, 0x3c, 0xab, 0xd4, + 0xbc, 0xd6, 0x9d, 0xfe, 0xef, 0x65, 0xa8, 0xb8, 0x19, 0x7a, 0xc3, 0x19, 0xef, 0xed, 0x39, 0xf3, + 0x18, 0x7c, 0x15, 0x9d, 0x63, 0x9c, 0x2e, 0x30, 0xbe, 0xe9, 0x4e, 0x6b, 0x13, 0x71, 0xfd, 0xec, + 0xc0, 0x21, 0xd5, 0xa6, 0x3c, 0x6d, 0x5d, 0x39, 0x20, 0x6e, 0x69, 0xee, 0xa7, 0x91, 0x66, 0x19, + 0xd3, 0x2b, 0x67, 0x45, 0x9d, 0x80, 0x93, 0x46, 0xb1, 0xff, 0x21, 0xdc, 0xdd, 0xfe, 0xe0, 0x56, + 0x09, 0x5a, 0x1b, 0xea, 0xa4, 0xe9, 0xc4, 0xf1, 0x2a, 0x41, 0x03, 0x6d, 0x4e, 0xb1, 0x50, 0x2d, + 0x87, 0x9c, 0x68, 0xa1, 0x2f, 0xe1, 0xc0, 0x3e, 0x71, 0x45, 0xbf, 0x3f, 0xde, 0xdb, 0x6f, 0x4b, + 0xe4, 0xdd, 0x8e, 0xb4, 0x90, 0xa7, 0x66, 0x49, 0xf2, 0x7d, 0xfe, 0x00, 0x5a, 0x76, 0x98, 0x76, + 0x2b, 0x06, 0x5b, 0xf1, 0xbd, 0x42, 0xdf, 0xa9, 0xd7, 0x4d, 0x4d, 0xc3, 0x02, 0x6e, 0xe9, 0x9f, + 0x42, 0xd3, 0x9d, 0x61, 0xde, 0xed, 0x4e, 0xd3, 0xe6, 0xd2, 0x0d, 0xf3, 0x47, 0x3d, 0x74, 0x8f, + 0x7a, 0x38, 0x76, 0x8f, 0xfa, 0xd3, 0xca, 0xcb, 0x3f, 0x8e, 0x3c, 0xd2, 0x28, 0x76, 0x19, 0xbd, + 0x3f, 0x85, 0xfa, 0xf3, 0x14, 0xe5, 0xea, 0xbf, 0x9a, 0xfc, 0x01, 0x80, 0x79, 0xab, 0x26, 0x2f, + 0x52, 0x4c, 0xb1, 0xf0, 0xb8, 0x6e, 0x94, 0xe7, 0x46, 0xf0, 0x1f, 0xc2, 0xa1, 0x0d, 0x6f, 0x3c, + 0xae, 0x9a, 0xe5, 0x28, 0x7e, 0xfa, 0xc3, 0xe5, 0x55, 0x50, 0x7a, 0x75, 0x15, 0x94, 0x5e, 0x5f, + 0x05, 0xde, 0x4f, 0xeb, 0xc0, 0xfb, 0x79, 0x1d, 0x78, 0xbf, 0xae, 0x03, 0xef, 0x72, 0x1d, 0x78, + 0x7f, 0xae, 0x03, 0xef, 0xaf, 0x75, 0x50, 0x7a, 0xbd, 0x0e, 0xbc, 0x97, 0xd7, 0x41, 0xe9, 0xf2, + 0x3a, 0x28, 0xbd, 0xba, 0x0e, 0x4a, 0xdf, 0x0d, 0x66, 0x62, 0xdb, 0x5a, 0x26, 0xf6, 0xfd, 0xe1, + 0x7d, 0x61, 0x3f, 0xce, 0xaa, 0xb6, 0xdc, 0xcf, 0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0xdb, 0x78, + 0xd0, 0xe3, 0x1d, 0x07, 0x00, 0x00, } func (this *HistoryContinuation) Equal(that interface{}) bool { @@ -550,6 +560,9 @@ func (this *HistoryContinuation) Equal(that interface{}) bool { if !bytes.Equal(this.BranchToken, that1.BranchToken) { return false } + if !this.VersionHistoryItem.Equal(that1.VersionHistoryItem) { + return false + } return true } func (this *RawHistoryContinuation) Equal(that interface{}) bool { @@ -695,7 +708,7 @@ func (this *HistoryContinuation) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 11) + s := make([]string, 0, 12) s = append(s, "&token.HistoryContinuation{") s = append(s, "RunId: "+fmt.Sprintf("%#v", this.RunId)+",\n") s = append(s, "FirstEventId: "+fmt.Sprintf("%#v", this.FirstEventId)+",\n") @@ -706,6 +719,9 @@ func (this *HistoryContinuation) GoString() string { s = append(s, "TransientWorkflowTask: "+fmt.Sprintf("%#v", this.TransientWorkflowTask)+",\n") } s = append(s, "BranchToken: "+fmt.Sprintf("%#v", this.BranchToken)+",\n") + if this.VersionHistoryItem != nil { + s = append(s, "VersionHistoryItem: "+fmt.Sprintf("%#v", this.VersionHistoryItem)+",\n") + } s = append(s, "}") return strings.Join(s, "") } @@ -792,6 +808,18 @@ func (m *HistoryContinuation) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.VersionHistoryItem != nil { + { + size, err := m.VersionHistoryItem.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMessage(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x52 + } if len(m.BranchToken) > 0 { i -= len(m.BranchToken) copy(dAtA[i:], m.BranchToken) @@ -952,12 +980,12 @@ func (m *Task) MarshalToSizedBuffer(dAtA []byte) (int, error) { var l int _ = l if m.StartedTime != nil { - n3, err3 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.StartedTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartedTime):]) - if err3 != nil { - return 0, err3 + n4, err4 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.StartedTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartedTime):]) + if err4 != nil { + return 0, err4 } - i -= n3 - i = encodeVarintMessage(dAtA, i, uint64(n3)) + i -= n4 + i = encodeVarintMessage(dAtA, i, uint64(n4)) i-- dAtA[i] = 0x62 } @@ -1124,6 +1152,10 @@ func (m *HistoryContinuation) Size() (n int) { if l > 0 { n += 1 + l + sovMessage(uint64(l)) } + if m.VersionHistoryItem != nil { + l = m.VersionHistoryItem.Size() + n += 1 + l + sovMessage(uint64(l)) + } return n } @@ -1260,6 +1292,7 @@ func (this *HistoryContinuation) String() string { `PersistenceToken:` + fmt.Sprintf("%v", this.PersistenceToken) + `,`, `TransientWorkflowTask:` + strings.Replace(fmt.Sprintf("%v", this.TransientWorkflowTask), "TransientWorkflowTaskInfo", "v1.TransientWorkflowTaskInfo", 1) + `,`, `BranchToken:` + fmt.Sprintf("%v", this.BranchToken) + `,`, + `VersionHistoryItem:` + strings.Replace(fmt.Sprintf("%v", this.VersionHistoryItem), "VersionHistoryItem", "v1.VersionHistoryItem", 1) + `,`, `}`, }, "") return s @@ -1546,6 +1579,42 @@ func (m *HistoryContinuation) Unmarshal(dAtA []byte) error { m.BranchToken = []byte{} } iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field VersionHistoryItem", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMessage + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMessage + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMessage + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.VersionHistoryItem == nil { + m.VersionHistoryItem = &v1.VersionHistoryItem{} + } + if err := m.VersionHistoryItem.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipMessage(dAtA[iNdEx:]) diff --git a/common/serviceerror/current_branch_changed.go b/common/serviceerror/current_branch_changed.go index a97b03a0a40..8cc741c45c0 100644 --- a/common/serviceerror/current_branch_changed.go +++ b/common/serviceerror/current_branch_changed.go @@ -42,6 +42,7 @@ type ( ) // NewCurrentBranchChanged returns new CurrentBranchChanged error. +// TODO: Update CurrentBranchChanged with event id and event version. Do not use branch token bytes as branch identity. func NewCurrentBranchChanged(currentBranchToken, requestBranchToken []byte) error { return &CurrentBranchChanged{ Message: "Current branch token and request branch token doesn't match.", diff --git a/proto/internal/temporal/server/api/historyservice/v1/request_response.proto b/proto/internal/temporal/server/api/historyservice/v1/request_response.proto index 1610a44822b..062c6296b92 100644 --- a/proto/internal/temporal/server/api/historyservice/v1/request_response.proto +++ b/proto/internal/temporal/server/api/historyservice/v1/request_response.proto @@ -80,6 +80,7 @@ message GetMutableStateRequest { temporal.api.common.v1.WorkflowExecution execution = 2; int64 expected_next_event_id = 3; bytes current_branch_token = 4; + temporal.server.api.history.v1.VersionHistoryItem version_history_item = 5; } message GetMutableStateResponse { @@ -115,6 +116,7 @@ message PollMutableStateRequest { temporal.api.common.v1.WorkflowExecution execution = 2; int64 expected_next_event_id = 3; bytes current_branch_token = 4; + temporal.server.api.history.v1.VersionHistoryItem version_history_item = 5; } message PollMutableStateResponse { diff --git a/proto/internal/temporal/server/api/token/v1/message.proto b/proto/internal/temporal/server/api/token/v1/message.proto index c79ce280e1d..977b7f5481a 100644 --- a/proto/internal/temporal/server/api/token/v1/message.proto +++ b/proto/internal/temporal/server/api/token/v1/message.proto @@ -38,6 +38,7 @@ message HistoryContinuation { temporal.server.api.history.v1.TransientWorkflowTaskInfo transient_workflow_task = 7; bytes branch_token = 8; reserved 9; + temporal.server.api.history.v1.VersionHistoryItem version_history_item = 10; } message RawHistoryContinuation{ diff --git a/service/frontend/workflow_handler.go b/service/frontend/workflow_handler.go index df7141540cd..7009a594c82 100644 --- a/service/frontend/workflow_handler.go +++ b/service/frontend/workflow_handler.go @@ -75,6 +75,7 @@ import ( "go.temporal.io/server/common/payloads" "go.temporal.io/server/common/persistence" "go.temporal.io/server/common/persistence/serialization" + "go.temporal.io/server/common/persistence/versionhistory" "go.temporal.io/server/common/persistence/visibility" "go.temporal.io/server/common/persistence/visibility/manager" "go.temporal.io/server/common/persistence/visibility/store" @@ -458,24 +459,34 @@ func (wh *WorkflowHandler) GetWorkflowExecutionHistory(ctx context.Context, requ execution *commonpb.WorkflowExecution, expectedNextEventID int64, currentBranchToken []byte, - ) ([]byte, string, int64, int64, bool, error) { + versionHistoryItem *historyspb.VersionHistoryItem, + ) ([]byte, string, int64, int64, bool, *historyspb.VersionHistoryItem, error) { response, err := wh.historyClient.PollMutableState(ctx, &historyservice.PollMutableStateRequest{ NamespaceId: namespaceUUID.String(), Execution: execution, ExpectedNextEventId: expectedNextEventID, CurrentBranchToken: currentBranchToken, + VersionHistoryItem: versionHistoryItem, }) if err != nil { - return nil, "", 0, 0, false, err + return nil, "", 0, 0, false, nil, err } isWorkflowRunning := response.GetWorkflowStatus() == enumspb.WORKFLOW_EXECUTION_STATUS_RUNNING - + currentVersionHistory, err := versionhistory.GetCurrentVersionHistory(response.GetVersionHistories()) + if err != nil { + return nil, "", 0, 0, false, nil, err + } + lastVersionHistoryItem, err := versionhistory.GetLastVersionHistoryItem(currentVersionHistory) + if err != nil { + return nil, "", 0, 0, false, nil, err + } return response.CurrentBranchToken, response.Execution.GetRunId(), response.GetLastFirstEventId(), response.GetNextEventId(), isWorkflowRunning, + lastVersionHistoryItem, nil } @@ -507,8 +518,8 @@ func (wh *WorkflowHandler) GetWorkflowExecutionHistory(ctx context.Context, requ if !isCloseEventOnly { queryNextEventID = continuationToken.GetNextEventId() } - continuationToken.BranchToken, _, lastFirstEventID, nextEventID, isWorkflowRunning, err = - queryHistory(namespaceID, execution, queryNextEventID, continuationToken.BranchToken) + continuationToken.BranchToken, _, lastFirstEventID, nextEventID, isWorkflowRunning, continuationToken.VersionHistoryItem, err = + queryHistory(namespaceID, execution, queryNextEventID, continuationToken.BranchToken, continuationToken.VersionHistoryItem) if err != nil { return nil, err } @@ -521,8 +532,8 @@ func (wh *WorkflowHandler) GetWorkflowExecutionHistory(ctx context.Context, requ if !isCloseEventOnly { queryNextEventID = common.FirstEventID } - continuationToken.BranchToken, runID, lastFirstEventID, nextEventID, isWorkflowRunning, err = - queryHistory(namespaceID, execution, queryNextEventID, nil) + continuationToken.BranchToken, runID, lastFirstEventID, nextEventID, isWorkflowRunning, continuationToken.VersionHistoryItem, err = + queryHistory(namespaceID, execution, queryNextEventID, nil, nil) if err != nil { return nil, err } @@ -724,21 +735,33 @@ func (wh *WorkflowHandler) GetWorkflowExecutionHistoryReverse(ctx context.Contex execution *commonpb.WorkflowExecution, expectedNextEventID int64, currentBranchToken []byte, - ) ([]byte, string, int64, error) { + versionHistoryItem *historyspb.VersionHistoryItem, + ) ([]byte, string, int64, *historyspb.VersionHistoryItem, error) { response, err := wh.historyClient.PollMutableState(ctx, &historyservice.PollMutableStateRequest{ NamespaceId: namespaceUUID.String(), Execution: execution, ExpectedNextEventId: expectedNextEventID, CurrentBranchToken: currentBranchToken, + VersionHistoryItem: versionHistoryItem, }) if err != nil { - return nil, "", 0, err + return nil, "", 0, nil, err + } + + currentVersionHistory, err := versionhistory.GetCurrentVersionHistory(response.GetVersionHistories()) + if err != nil { + return nil, "", 0, nil, err + } + lastVersionHistoryItem, err := versionhistory.GetLastVersionHistoryItem(currentVersionHistory) + if err != nil { + return nil, "", 0, nil, err } return response.CurrentBranchToken, response.Execution.GetRunId(), response.GetLastFirstEventTxnId(), + lastVersionHistoryItem, nil } @@ -750,8 +773,8 @@ func (wh *WorkflowHandler) GetWorkflowExecutionHistoryReverse(ctx context.Contex if request.NextPageToken == nil { continuationToken = &tokenspb.HistoryContinuation{} - continuationToken.BranchToken, runID, lastFirstTxnID, err = - queryMutableState(namespaceID, execution, common.FirstEventID, nil) + continuationToken.BranchToken, runID, lastFirstTxnID, continuationToken.VersionHistoryItem, err = + queryMutableState(namespaceID, execution, common.FirstEventID, nil, nil) if err != nil { return nil, err } diff --git a/service/frontend/workflow_handler_test.go b/service/frontend/workflow_handler_test.go index a1d3711ed32..1aded94d557 100644 --- a/service/frontend/workflow_handler_test.go +++ b/service/frontend/workflow_handler_test.go @@ -71,6 +71,7 @@ import ( "go.temporal.io/server/common/payload" "go.temporal.io/server/common/payloads" "go.temporal.io/server/common/persistence" + "go.temporal.io/server/common/persistence/versionhistory" "go.temporal.io/server/common/persistence/visibility/manager" "go.temporal.io/server/common/persistence/visibility/store" "go.temporal.io/server/common/persistence/visibility/store/elasticsearch" @@ -1489,6 +1490,9 @@ func (s *workflowHandlerSuite) TestGetWorkflowExecutionHistory() { // set up mocks to simulate a failed workflow with a retry policy. the failure event is id 5. branchToken := []byte{1, 2, 3} shardID := common.WorkflowIDToHistoryShard(namespaceID.String(), we.WorkflowId, numHistoryShards) + versionHistoryItem := versionhistory.NewVersionHistoryItem(1, 1) + currentVersionHistory := versionhistory.NewVersionHistory(branchToken, []*historyspb.VersionHistoryItem{versionHistoryItem}) + versionHistories := versionhistory.NewVersionHistories(currentVersionHistory) s.mockNamespaceCache.EXPECT().GetNamespaceID(namespace).Return(namespaceID, nil).AnyTimes() s.mockHistoryClient.EXPECT().PollMutableState(gomock.Any(), &historyservice.PollMutableStateRequest{ @@ -1496,13 +1500,14 @@ func (s *workflowHandlerSuite) TestGetWorkflowExecutionHistory() { Execution: &we, ExpectedNextEventId: common.EndEventID, CurrentBranchToken: nil, + VersionHistoryItem: nil, }).Return(&historyservice.PollMutableStateResponse{ Execution: &we, WorkflowType: &commonpb.WorkflowType{Name: "mytype"}, NextEventId: 6, LastFirstEventId: 5, CurrentBranchToken: branchToken, - VersionHistories: nil, + VersionHistories: versionHistories, WorkflowState: enumsspb.WORKFLOW_EXECUTION_STATE_COMPLETED, WorkflowStatus: enumspb.WORKFLOW_EXECUTION_STATUS_FAILED, LastFirstEventTxnId: 100, diff --git a/service/history/api/get_workflow_util.go b/service/history/api/get_workflow_util.go index b38ad673842..aef396daa46 100644 --- a/service/history/api/get_workflow_util.go +++ b/service/history/api/get_workflow_util.go @@ -25,7 +25,6 @@ package api import ( - "bytes" "context" "fmt" "time" @@ -80,14 +79,25 @@ func GetOrPollMutableState( if err != nil { return nil, err } - if request.CurrentBranchToken == nil { - request.CurrentBranchToken = response.CurrentBranchToken + currentVersionHistory, err := versionhistory.GetCurrentVersionHistory(response.GetVersionHistories()) + if err != nil { + return nil, err + } + if request.GetVersionHistoryItem() == nil { + lastVersionHistoryItem, err := versionhistory.GetLastVersionHistoryItem(currentVersionHistory) + if err != nil { + return nil, err + } + request.VersionHistoryItem = lastVersionHistoryItem } - if !bytes.Equal(request.CurrentBranchToken, response.CurrentBranchToken) { + // Use the latest event id + event version as the branch identifier. This pair is unique across clusters. + // We return the full version histories. Callers need to fetch the last version history item from current branch + // and use the last version history item in following calls. + if !versionhistory.ContainsVersionHistoryItem(currentVersionHistory, request.VersionHistoryItem) { return nil, serviceerrors.NewCurrentBranchChanged(response.CurrentBranchToken, request.CurrentBranchToken) } - // expectedNextEventID is 0 when caller want to get the current next event ID without blocking + // expectedNextEventID is 0 when caller want to get the current next event ID without blocking. expectedNextEventID := common.FirstEventID if request.ExpectedNextEventId != common.EmptyEventID { expectedNextEventID = request.GetExpectedNextEventId() @@ -106,8 +116,11 @@ func GetOrPollMutableState( if err != nil { return nil, err } - // check again if the current branch token changed - if !bytes.Equal(request.CurrentBranchToken, response.CurrentBranchToken) { + currentVersionHistory, err = versionhistory.GetCurrentVersionHistory(response.GetVersionHistories()) + if err != nil { + return nil, err + } + if !versionhistory.ContainsVersionHistoryItem(currentVersionHistory, request.VersionHistoryItem) { return nil, serviceerrors.NewCurrentBranchChanged(response.CurrentBranchToken, request.CurrentBranchToken) } if expectedNextEventID < response.GetNextEventId() || response.GetWorkflowStatus() != enumspb.WORKFLOW_EXECUTION_STATUS_RUNNING { @@ -132,8 +145,14 @@ func GetOrPollMutableState( // Note: Later events could modify response.WorkerVersionStamp and we won't // update it here. That's okay since this return value is only informative and isn't used for task dispatch. // For correctness we could pass it in the Notification event. - if !bytes.Equal(request.CurrentBranchToken, event.CurrentBranchToken) { - return nil, serviceerrors.NewCurrentBranchChanged(event.CurrentBranchToken, request.CurrentBranchToken) + latestVersionHistory, err := versionhistory.GetCurrentVersionHistory(event.VersionHistories) + if err != nil { + return nil, err + } + response.CurrentBranchToken = latestVersionHistory.GetBranchToken() + response.VersionHistories = event.VersionHistories + if !versionhistory.ContainsVersionHistoryItem(latestVersionHistory, request.VersionHistoryItem) { + return nil, serviceerrors.NewCurrentBranchChanged(response.CurrentBranchToken, request.CurrentBranchToken) } if expectedNextEventID < response.GetNextEventId() || response.GetWorkflowStatus() != enumspb.WORKFLOW_EXECUTION_STATUS_RUNNING { return response, nil diff --git a/service/history/events/notifier.go b/service/history/events/notifier.go index ed1d2c5ca6f..f5d746fd4d1 100644 --- a/service/history/events/notifier.go +++ b/service/history/events/notifier.go @@ -34,12 +34,14 @@ import ( "go.temporal.io/api/serviceerror" enumsspb "go.temporal.io/server/api/enums/v1" + historyspb "go.temporal.io/server/api/history/v1" "go.temporal.io/server/common" "go.temporal.io/server/common/clock" "go.temporal.io/server/common/collection" "go.temporal.io/server/common/definition" "go.temporal.io/server/common/metrics" "go.temporal.io/server/common/namespace" + "go.temporal.io/server/common/persistence/versionhistory" ) const ( @@ -62,9 +64,9 @@ type ( NextEventID int64 PreviousStartedEventID int64 Timestamp time.Time - CurrentBranchToken []byte WorkflowState enumsspb.WorkflowExecutionState WorkflowStatus enumspb.WorkflowExecutionStatus + VersionHistories *historyspb.VersionHistories } NotifierImpl struct { @@ -96,9 +98,9 @@ func NewNotification( lastFirstEventTxnID int64, nextEventID int64, previousStartedEventID int64, - currentBranchToken []byte, workflowState enumsspb.WorkflowExecutionState, workflowStatus enumspb.WorkflowExecutionStatus, + versionHistories *historyspb.VersionHistories, ) *Notification { return &Notification{ @@ -111,9 +113,9 @@ func NewNotification( LastFirstEventTxnID: lastFirstEventTxnID, NextEventID: nextEventID, PreviousStartedEventID: previousStartedEventID, - CurrentBranchToken: currentBranchToken, WorkflowState: workflowState, WorkflowStatus: workflowStatus, + VersionHistories: versionhistory.CopyVersionHistories(versionHistories), } } diff --git a/service/history/events/notifier_test.go b/service/history/events/notifier_test.go index 1630e0cba9b..055c98b352a 100644 --- a/service/history/events/notifier_test.go +++ b/service/history/events/notifier_test.go @@ -35,10 +35,12 @@ import ( enumspb "go.temporal.io/api/enums/v1" enumsspb "go.temporal.io/server/api/enums/v1" + historyspb "go.temporal.io/server/api/history/v1" "go.temporal.io/server/common/clock" "go.temporal.io/server/common/definition" "go.temporal.io/server/common/metrics" "go.temporal.io/server/common/namespace" + "go.temporal.io/server/common/persistence/versionhistory" ) type ( @@ -94,7 +96,10 @@ func (s *notifierSuite) TestSingleSubscriberWatchingEvents() { workflowState := enumsspb.WORKFLOW_EXECUTION_STATE_CREATED workflowStatus := enumspb.WORKFLOW_EXECUTION_STATUS_RUNNING branchToken := make([]byte, 0) - historyEvent := NewNotification(namespaceID, execution, lastFirstEventID, lastFirstEventTxnID, nextEventID, previousStartedEventID, branchToken, workflowState, workflowStatus) + versionHistoryItem := versionhistory.NewVersionHistoryItem(nextEventID-1, 1) + currentVersionHistory := versionhistory.NewVersionHistory(branchToken, []*historyspb.VersionHistoryItem{versionHistoryItem}) + versionHistories := versionhistory.NewVersionHistories(currentVersionHistory) + historyEvent := NewNotification(namespaceID, execution, lastFirstEventID, lastFirstEventTxnID, nextEventID, previousStartedEventID, workflowState, workflowStatus, versionHistories) timerChan := time.NewTimer(time.Second * 2).C subscriberID, channel, err := s.notifier.WatchHistoryEvent(definition.NewWorkflowKey(namespaceID, execution.GetWorkflowId(), execution.GetRunId())) @@ -126,7 +131,10 @@ func (s *notifierSuite) TestMultipleSubscriberWatchingEvents() { workflowState := enumsspb.WORKFLOW_EXECUTION_STATE_CREATED workflowStatus := enumspb.WORKFLOW_EXECUTION_STATUS_RUNNING branchToken := make([]byte, 0) - historyEvent := NewNotification(namespaceID, execution, lastFirstEventID, lastFirstEventTxnID, nextEventID, previousStartedEventID, branchToken, workflowState, workflowStatus) + versionHistoryItem := versionhistory.NewVersionHistoryItem(nextEventID-1, 1) + currentVersionHistory := versionhistory.NewVersionHistory(branchToken, []*historyspb.VersionHistoryItem{versionHistoryItem}) + versionHistories := versionhistory.NewVersionHistories(currentVersionHistory) + historyEvent := NewNotification(namespaceID, execution, lastFirstEventID, lastFirstEventTxnID, nextEventID, previousStartedEventID, workflowState, workflowStatus, versionHistories) timerChan := time.NewTimer(time.Second * 5).C subscriberCount := 100 diff --git a/service/history/history_engine.go b/service/history/history_engine.go index 23502359309..39685c14ea6 100644 --- a/service/history/history_engine.go +++ b/service/history/history_engine.go @@ -379,6 +379,7 @@ func (e *historyEngineImpl) PollMutableState( Execution: request.Execution, ExpectedNextEventId: request.ExpectedNextEventId, CurrentBranchToken: request.CurrentBranchToken, + VersionHistoryItem: request.GetVersionHistoryItem(), }, e.shard, e.workflowConsistencyChecker, diff --git a/service/history/history_engine_test.go b/service/history/history_engine_test.go index a9248e8e67e..37746907268 100644 --- a/service/history/history_engine_test.go +++ b/service/history/history_engine_test.go @@ -395,6 +395,7 @@ func (s *engineSuite) TestGetMutableStateLongPoll_CurrentBranchChanged() { WorkflowId: execution.WorkflowId, RunId: execution.RunId, } + ms.GetExecutionInfo().GetVersionHistories() s.mockHistoryEngine.eventNotifier.NotifyNewHistoryEvent(events.NewNotification( "tests.NamespaceID", newExecution, @@ -402,9 +403,9 @@ func (s *engineSuite) TestGetMutableStateLongPoll_CurrentBranchChanged() { int64(0), int64(4), int64(1), - []byte{1}, enumsspb.WORKFLOW_EXECUTION_STATE_CREATED, - enumspb.WORKFLOW_EXECUTION_STATUS_RUNNING)) + enumspb.WORKFLOW_EXECUTION_STATUS_RUNNING, + ms.GetExecutionInfo().GetVersionHistories())) } // return immediately, since the expected next event ID appears diff --git a/service/history/workflow/transaction_impl.go b/service/history/workflow/transaction_impl.go index 9631e8857e9..ce116738856 100644 --- a/service/history/workflow/transaction_impl.go +++ b/service/history/workflow/transaction_impl.go @@ -37,7 +37,6 @@ import ( "go.temporal.io/server/common/metrics" "go.temporal.io/server/common/namespace" "go.temporal.io/server/common/persistence" - "go.temporal.io/server/common/persistence/versionhistory" "go.temporal.io/server/service/history/events" "go.temporal.io/server/service/history/shard" ) @@ -602,11 +601,6 @@ func NotifyNewHistorySnapshotEvent( namespaceID := executionInfo.NamespaceId workflowID := executionInfo.WorkflowId runID := executionState.RunId - currentVersionHistory, err := versionhistory.GetCurrentVersionHistory(executionInfo.VersionHistories) - if err != nil { - return err - } - currentBranchToken := currentVersionHistory.BranchToken workflowState := executionState.State workflowStatus := executionState.Status lastFirstEventID := executionInfo.LastFirstEventId @@ -624,9 +618,9 @@ func NotifyNewHistorySnapshotEvent( lastFirstEventTxnID, nextEventID, lastWorkflowTaskStartEventID, - currentBranchToken, workflowState, workflowStatus, + executionInfo.VersionHistories, )) return nil } @@ -646,11 +640,6 @@ func NotifyNewHistoryMutationEvent( namespaceID := executionInfo.NamespaceId workflowID := executionInfo.WorkflowId runID := executionState.RunId - currentVersionHistory, err := versionhistory.GetCurrentVersionHistory(executionInfo.VersionHistories) - if err != nil { - return err - } - currentBranchToken := currentVersionHistory.BranchToken workflowState := executionState.State workflowStatus := executionState.Status lastFirstEventID := executionInfo.LastFirstEventId @@ -668,9 +657,9 @@ func NotifyNewHistoryMutationEvent( lastFirstEventTxnID, nextEventID, lastWorkflowTaskStartEventID, - currentBranchToken, workflowState, workflowStatus, + executionInfo.VersionHistories, )) return nil }