// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: agent/agent.proto

/*
	Package agent is a generated protocol buffer package.

	It is generated from these files:
		agent/agent.proto

	It has these top-level messages:
		Call
		Response
		ProcessIO
*/
package agent

import proto "github.com/gogo/protobuf/proto"
import fmt "fmt"
import math "math"
import mesos "github.com/mesos/mesos-go/api/v1/lib"
import _ "github.com/gogo/protobuf/gogoproto"

import strconv "strconv"

import bytes "bytes"

import strings "strings"
import reflect "reflect"

import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto"

import io "io"

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package

// If a call of type `Call::FOO` requires additional parameters they can be
// included in the corresponding `Call::Foo` message. Similarly, if a call
// receives a synchronous response it will be returned as a `Response`
// message of type `Response::FOO`; see `Call::LaunchNestedContainerSession`
// and `Call::AttachContainerOutput` for exceptions.
type Call_Type int32

const (
	Call_UNKNOWN           Call_Type = 0
	Call_GET_HEALTH        Call_Type = 1
	Call_GET_FLAGS         Call_Type = 2
	Call_GET_VERSION       Call_Type = 3
	Call_GET_METRICS       Call_Type = 4
	Call_GET_LOGGING_LEVEL Call_Type = 5
	Call_SET_LOGGING_LEVEL Call_Type = 6
	Call_LIST_FILES        Call_Type = 7
	Call_READ_FILE         Call_Type = 8
	Call_GET_STATE         Call_Type = 9
	Call_GET_CONTAINERS    Call_Type = 10
	// Retrieves the information about known frameworks.
	Call_GET_FRAMEWORKS Call_Type = 11
	// Retrieves the information about known executors.
	Call_GET_EXECUTORS Call_Type = 12
	// Retrieves the information about known operations.
	Call_GET_OPERATIONS Call_Type = 31
	// Retrieves the information about known tasks.
	Call_GET_TASKS Call_Type = 13
	// Retrieves the agent information.
	Call_GET_AGENT Call_Type = 20
	// Retrieves the information about known resource providers.
	Call_GET_RESOURCE_PROVIDERS Call_Type = 26
	// Calls for managing nested containers underneath an executor's container.
	// Some of these calls are deprecated in favor of the calls
	// for both standalone or nested containers further below.
	Call_LAUNCH_NESTED_CONTAINER Call_Type = 14
	Call_WAIT_NESTED_CONTAINER   Call_Type = 15
	Call_KILL_NESTED_CONTAINER   Call_Type = 16
	Call_REMOVE_NESTED_CONTAINER Call_Type = 21
	// See 'LaunchNestedContainerSession' below.
	Call_LAUNCH_NESTED_CONTAINER_SESSION Call_Type = 17
	Call_ATTACH_CONTAINER_INPUT          Call_Type = 18
	Call_ATTACH_CONTAINER_OUTPUT         Call_Type = 19
	// Calls for managing standalone containers
	// or containers nested underneath another container.
	Call_LAUNCH_CONTAINER                Call_Type = 22
	Call_WAIT_CONTAINER                  Call_Type = 23
	Call_KILL_CONTAINER                  Call_Type = 24
	Call_REMOVE_CONTAINER                Call_Type = 25
	Call_ADD_RESOURCE_PROVIDER_CONFIG    Call_Type = 27
	Call_UPDATE_RESOURCE_PROVIDER_CONFIG Call_Type = 28
	Call_REMOVE_RESOURCE_PROVIDER_CONFIG Call_Type = 29
	// Prune unused container images.
	Call_PRUNE_IMAGES Call_Type = 30
)

var Call_Type_name = map[int32]string{
	0:  "UNKNOWN",
	1:  "GET_HEALTH",
	2:  "GET_FLAGS",
	3:  "GET_VERSION",
	4:  "GET_METRICS",
	5:  "GET_LOGGING_LEVEL",
	6:  "SET_LOGGING_LEVEL",
	7:  "LIST_FILES",
	8:  "READ_FILE",
	9:  "GET_STATE",
	10: "GET_CONTAINERS",
	11: "GET_FRAMEWORKS",
	12: "GET_EXECUTORS",
	31: "GET_OPERATIONS",
	13: "GET_TASKS",
	20: "GET_AGENT",
	26: "GET_RESOURCE_PROVIDERS",
	14: "LAUNCH_NESTED_CONTAINER",
	15: "WAIT_NESTED_CONTAINER",
	16: "KILL_NESTED_CONTAINER",
	21: "REMOVE_NESTED_CONTAINER",
	17: "LAUNCH_NESTED_CONTAINER_SESSION",
	18: "ATTACH_CONTAINER_INPUT",
	19: "ATTACH_CONTAINER_OUTPUT",
	22: "LAUNCH_CONTAINER",
	23: "WAIT_CONTAINER",
	24: "KILL_CONTAINER",
	25: "REMOVE_CONTAINER",
	27: "ADD_RESOURCE_PROVIDER_CONFIG",
	28: "UPDATE_RESOURCE_PROVIDER_CONFIG",
	29: "REMOVE_RESOURCE_PROVIDER_CONFIG",
	30: "PRUNE_IMAGES",
}
var Call_Type_value = map[string]int32{
	"UNKNOWN":                         0,
	"GET_HEALTH":                      1,
	"GET_FLAGS":                       2,
	"GET_VERSION":                     3,
	"GET_METRICS":                     4,
	"GET_LOGGING_LEVEL":               5,
	"SET_LOGGING_LEVEL":               6,
	"LIST_FILES":                      7,
	"READ_FILE":                       8,
	"GET_STATE":                       9,
	"GET_CONTAINERS":                  10,
	"GET_FRAMEWORKS":                  11,
	"GET_EXECUTORS":                   12,
	"GET_OPERATIONS":                  31,
	"GET_TASKS":                       13,
	"GET_AGENT":                       20,
	"GET_RESOURCE_PROVIDERS":          26,
	"LAUNCH_NESTED_CONTAINER":         14,
	"WAIT_NESTED_CONTAINER":           15,
	"KILL_NESTED_CONTAINER":           16,
	"REMOVE_NESTED_CONTAINER":         21,
	"LAUNCH_NESTED_CONTAINER_SESSION": 17,
	"ATTACH_CONTAINER_INPUT":          18,
	"ATTACH_CONTAINER_OUTPUT":         19,
	"LAUNCH_CONTAINER":                22,
	"WAIT_CONTAINER":                  23,
	"KILL_CONTAINER":                  24,
	"REMOVE_CONTAINER":                25,
	"ADD_RESOURCE_PROVIDER_CONFIG":    27,
	"UPDATE_RESOURCE_PROVIDER_CONFIG": 28,
	"REMOVE_RESOURCE_PROVIDER_CONFIG": 29,
	"PRUNE_IMAGES":                    30,
}

func (x Call_Type) Enum() *Call_Type {
	p := new(Call_Type)
	*p = x
	return p
}
func (x Call_Type) MarshalJSON() ([]byte, error) {
	return proto.MarshalJSONEnum(Call_Type_name, int32(x))
}
func (x *Call_Type) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(Call_Type_value, data, "Call_Type")
	if err != nil {
		return err
	}
	*x = Call_Type(value)
	return nil
}
func (Call_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptorAgent, []int{0, 0} }

type Call_AttachContainerInput_Type int32

const (
	Call_AttachContainerInput_UNKNOWN      Call_AttachContainerInput_Type = 0
	Call_AttachContainerInput_CONTAINER_ID Call_AttachContainerInput_Type = 1
	Call_AttachContainerInput_PROCESS_IO   Call_AttachContainerInput_Type = 2
)

var Call_AttachContainerInput_Type_name = map[int32]string{
	0: "UNKNOWN",
	1: "CONTAINER_ID",
	2: "PROCESS_IO",
}
var Call_AttachContainerInput_Type_value = map[string]int32{
	"UNKNOWN":      0,
	"CONTAINER_ID": 1,
	"PROCESS_IO":   2,
}

func (x Call_AttachContainerInput_Type) Enum() *Call_AttachContainerInput_Type {
	p := new(Call_AttachContainerInput_Type)
	*p = x
	return p
}
func (x Call_AttachContainerInput_Type) MarshalJSON() ([]byte, error) {
	return proto.MarshalJSONEnum(Call_AttachContainerInput_Type_name, int32(x))
}
func (x *Call_AttachContainerInput_Type) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(Call_AttachContainerInput_Type_value, data, "Call_AttachContainerInput_Type")
	if err != nil {
		return err
	}
	*x = Call_AttachContainerInput_Type(value)
	return nil
}
func (Call_AttachContainerInput_Type) EnumDescriptor() ([]byte, []int) {
	return fileDescriptorAgent, []int{0, 10, 0}
}

// Each of the responses of type `FOO` corresponds to `Foo` message below.
type Response_Type int32

const (
	Response_UNKNOWN                Response_Type = 0
	Response_GET_HEALTH             Response_Type = 1
	Response_GET_FLAGS              Response_Type = 2
	Response_GET_VERSION            Response_Type = 3
	Response_GET_METRICS            Response_Type = 4
	Response_GET_LOGGING_LEVEL      Response_Type = 5
	Response_LIST_FILES             Response_Type = 6
	Response_READ_FILE              Response_Type = 7
	Response_GET_STATE              Response_Type = 8
	Response_GET_CONTAINERS         Response_Type = 9
	Response_GET_FRAMEWORKS         Response_Type = 10
	Response_GET_EXECUTORS          Response_Type = 11
	Response_GET_OPERATIONS         Response_Type = 17
	Response_GET_TASKS              Response_Type = 12
	Response_GET_AGENT              Response_Type = 14
	Response_GET_RESOURCE_PROVIDERS Response_Type = 16
	Response_WAIT_NESTED_CONTAINER  Response_Type = 13
	Response_WAIT_CONTAINER         Response_Type = 15
)

var Response_Type_name = map[int32]string{
	0:  "UNKNOWN",
	1:  "GET_HEALTH",
	2:  "GET_FLAGS",
	3:  "GET_VERSION",
	4:  "GET_METRICS",
	5:  "GET_LOGGING_LEVEL",
	6:  "LIST_FILES",
	7:  "READ_FILE",
	8:  "GET_STATE",
	9:  "GET_CONTAINERS",
	10: "GET_FRAMEWORKS",
	11: "GET_EXECUTORS",
	17: "GET_OPERATIONS",
	12: "GET_TASKS",
	14: "GET_AGENT",
	16: "GET_RESOURCE_PROVIDERS",
	13: "WAIT_NESTED_CONTAINER",
	15: "WAIT_CONTAINER",
}
var Response_Type_value = map[string]int32{
	"UNKNOWN":                0,
	"GET_HEALTH":             1,
	"GET_FLAGS":              2,
	"GET_VERSION":            3,
	"GET_METRICS":            4,
	"GET_LOGGING_LEVEL":      5,
	"LIST_FILES":             6,
	"READ_FILE":              7,
	"GET_STATE":              8,
	"GET_CONTAINERS":         9,
	"GET_FRAMEWORKS":         10,
	"GET_EXECUTORS":          11,
	"GET_OPERATIONS":         17,
	"GET_TASKS":              12,
	"GET_AGENT":              14,
	"GET_RESOURCE_PROVIDERS": 16,
	"WAIT_NESTED_CONTAINER":  13,
	"WAIT_CONTAINER":         15,
}

func (x Response_Type) Enum() *Response_Type {
	p := new(Response_Type)
	*p = x
	return p
}
func (x Response_Type) MarshalJSON() ([]byte, error) {
	return proto.MarshalJSONEnum(Response_Type_name, int32(x))
}
func (x *Response_Type) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(Response_Type_value, data, "Response_Type")
	if err != nil {
		return err
	}
	*x = Response_Type(value)
	return nil
}
func (Response_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 0} }

type ProcessIO_Type int32

const (
	ProcessIO_UNKNOWN ProcessIO_Type = 0
	ProcessIO_DATA    ProcessIO_Type = 1
	ProcessIO_CONTROL ProcessIO_Type = 2
)

var ProcessIO_Type_name = map[int32]string{
	0: "UNKNOWN",
	1: "DATA",
	2: "CONTROL",
}
var ProcessIO_Type_value = map[string]int32{
	"UNKNOWN": 0,
	"DATA":    1,
	"CONTROL": 2,
}

func (x ProcessIO_Type) Enum() *ProcessIO_Type {
	p := new(ProcessIO_Type)
	*p = x
	return p
}
func (x ProcessIO_Type) MarshalJSON() ([]byte, error) {
	return proto.MarshalJSONEnum(ProcessIO_Type_name, int32(x))
}
func (x *ProcessIO_Type) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(ProcessIO_Type_value, data, "ProcessIO_Type")
	if err != nil {
		return err
	}
	*x = ProcessIO_Type(value)
	return nil
}
func (ProcessIO_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptorAgent, []int{2, 0} }

type ProcessIO_Data_Type int32

const (
	ProcessIO_Data_UNKNOWN ProcessIO_Data_Type = 0
	ProcessIO_Data_STDIN   ProcessIO_Data_Type = 1
	ProcessIO_Data_STDOUT  ProcessIO_Data_Type = 2
	ProcessIO_Data_STDERR  ProcessIO_Data_Type = 3
)

var ProcessIO_Data_Type_name = map[int32]string{
	0: "UNKNOWN",
	1: "STDIN",
	2: "STDOUT",
	3: "STDERR",
}
var ProcessIO_Data_Type_value = map[string]int32{
	"UNKNOWN": 0,
	"STDIN":   1,
	"STDOUT":  2,
	"STDERR":  3,
}

func (x ProcessIO_Data_Type) Enum() *ProcessIO_Data_Type {
	p := new(ProcessIO_Data_Type)
	*p = x
	return p
}
func (x ProcessIO_Data_Type) MarshalJSON() ([]byte, error) {
	return proto.MarshalJSONEnum(ProcessIO_Data_Type_name, int32(x))
}
func (x *ProcessIO_Data_Type) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(ProcessIO_Data_Type_value, data, "ProcessIO_Data_Type")
	if err != nil {
		return err
	}
	*x = ProcessIO_Data_Type(value)
	return nil
}
func (ProcessIO_Data_Type) EnumDescriptor() ([]byte, []int) {
	return fileDescriptorAgent, []int{2, 0, 0}
}

type ProcessIO_Control_Type int32

const (
	ProcessIO_Control_UNKNOWN   ProcessIO_Control_Type = 0
	ProcessIO_Control_TTY_INFO  ProcessIO_Control_Type = 1
	ProcessIO_Control_HEARTBEAT ProcessIO_Control_Type = 2
)

var ProcessIO_Control_Type_name = map[int32]string{
	0: "UNKNOWN",
	1: "TTY_INFO",
	2: "HEARTBEAT",
}
var ProcessIO_Control_Type_value = map[string]int32{
	"UNKNOWN":   0,
	"TTY_INFO":  1,
	"HEARTBEAT": 2,
}

func (x ProcessIO_Control_Type) Enum() *ProcessIO_Control_Type {
	p := new(ProcessIO_Control_Type)
	*p = x
	return p
}
func (x ProcessIO_Control_Type) MarshalJSON() ([]byte, error) {
	return proto.MarshalJSONEnum(ProcessIO_Control_Type_name, int32(x))
}
func (x *ProcessIO_Control_Type) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(ProcessIO_Control_Type_value, data, "ProcessIO_Control_Type")
	if err != nil {
		return err
	}
	*x = ProcessIO_Control_Type(value)
	return nil
}
func (ProcessIO_Control_Type) EnumDescriptor() ([]byte, []int) {
	return fileDescriptorAgent, []int{2, 1, 0}
}

// *
// Calls that can be sent to the v1 agent API.
//
// A call is described using the standard protocol buffer "union"
// trick, see
// https://developers.google.com/protocol-buffers/docs/techniques#union.
type Call struct {
	Type                         Call_Type                          `protobuf:"varint,1,opt,name=type,enum=mesos.agent.Call_Type" json:"type"`
	GetMetrics                   *Call_GetMetrics                   `protobuf:"bytes,2,opt,name=get_metrics,json=getMetrics" json:"get_metrics,omitempty"`
	SetLoggingLevel              *Call_SetLoggingLevel              `protobuf:"bytes,3,opt,name=set_logging_level,json=setLoggingLevel" json:"set_logging_level,omitempty"`
	ListFiles                    *Call_ListFiles                    `protobuf:"bytes,4,opt,name=list_files,json=listFiles" json:"list_files,omitempty"`
	ReadFile                     *Call_ReadFile                     `protobuf:"bytes,5,opt,name=read_file,json=readFile" json:"read_file,omitempty"`
	GetContainers                *Call_GetContainers                `protobuf:"bytes,20,opt,name=get_containers,json=getContainers" json:"get_containers,omitempty"`
	LaunchNestedContainer        *Call_LaunchNestedContainer        `protobuf:"bytes,6,opt,name=launch_nested_container,json=launchNestedContainer" json:"launch_nested_container,omitempty"`
	WaitNestedContainer          *Call_WaitNestedContainer          `protobuf:"bytes,7,opt,name=wait_nested_container,json=waitNestedContainer" json:"wait_nested_container,omitempty"`
	KillNestedContainer          *Call_KillNestedContainer          `protobuf:"bytes,8,opt,name=kill_nested_container,json=killNestedContainer" json:"kill_nested_container,omitempty"`
	RemoveNestedContainer        *Call_RemoveNestedContainer        `protobuf:"bytes,12,opt,name=remove_nested_container,json=removeNestedContainer" json:"remove_nested_container,omitempty"`
	LaunchNestedContainerSession *Call_LaunchNestedContainerSession `protobuf:"bytes,9,opt,name=launch_nested_container_session,json=launchNestedContainerSession" json:"launch_nested_container_session,omitempty"`
	AttachContainerInput         *Call_AttachContainerInput         `protobuf:"bytes,10,opt,name=attach_container_input,json=attachContainerInput" json:"attach_container_input,omitempty"`
	AttachContainerOutput        *Call_AttachContainerOutput        `protobuf:"bytes,11,opt,name=attach_container_output,json=attachContainerOutput" json:"attach_container_output,omitempty"`
	LaunchContainer              *Call_LaunchContainer              `protobuf:"bytes,13,opt,name=launch_container,json=launchContainer" json:"launch_container,omitempty"`
	WaitContainer                *Call_WaitContainer                `protobuf:"bytes,14,opt,name=wait_container,json=waitContainer" json:"wait_container,omitempty"`
	KillContainer                *Call_KillContainer                `protobuf:"bytes,15,opt,name=kill_container,json=killContainer" json:"kill_container,omitempty"`
	RemoveContainer              *Call_RemoveContainer              `protobuf:"bytes,16,opt,name=remove_container,json=removeContainer" json:"remove_container,omitempty"`
	AddResourceProviderConfig    *Call_AddResourceProviderConfig    `protobuf:"bytes,17,opt,name=add_resource_provider_config,json=addResourceProviderConfig" json:"add_resource_provider_config,omitempty"`
	UpdateResourceProviderConfig *Call_UpdateResourceProviderConfig `protobuf:"bytes,18,opt,name=update_resource_provider_config,json=updateResourceProviderConfig" json:"update_resource_provider_config,omitempty"`
	RemoveResourceProviderConfig *Call_RemoveResourceProviderConfig `protobuf:"bytes,19,opt,name=remove_resource_provider_config,json=removeResourceProviderConfig" json:"remove_resource_provider_config,omitempty"`
	PruneImages                  *Call_PruneImages                  `protobuf:"bytes,21,opt,name=prune_images,json=pruneImages" json:"prune_images,omitempty"`
}

func (m *Call) Reset()                    { *m = Call{} }
func (*Call) ProtoMessage()               {}
func (*Call) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{0} }

func (m *Call) GetType() Call_Type {
	if m != nil {
		return m.Type
	}
	return Call_UNKNOWN
}

func (m *Call) GetGetMetrics() *Call_GetMetrics {
	if m != nil {
		return m.GetMetrics
	}
	return nil
}

func (m *Call) GetSetLoggingLevel() *Call_SetLoggingLevel {
	if m != nil {
		return m.SetLoggingLevel
	}
	return nil
}

func (m *Call) GetListFiles() *Call_ListFiles {
	if m != nil {
		return m.ListFiles
	}
	return nil
}

func (m *Call) GetReadFile() *Call_ReadFile {
	if m != nil {
		return m.ReadFile
	}
	return nil
}

func (m *Call) GetGetContainers() *Call_GetContainers {
	if m != nil {
		return m.GetContainers
	}
	return nil
}

func (m *Call) GetLaunchNestedContainer() *Call_LaunchNestedContainer {
	if m != nil {
		return m.LaunchNestedContainer
	}
	return nil
}

func (m *Call) GetWaitNestedContainer() *Call_WaitNestedContainer {
	if m != nil {
		return m.WaitNestedContainer
	}
	return nil
}

func (m *Call) GetKillNestedContainer() *Call_KillNestedContainer {
	if m != nil {
		return m.KillNestedContainer
	}
	return nil
}

func (m *Call) GetRemoveNestedContainer() *Call_RemoveNestedContainer {
	if m != nil {
		return m.RemoveNestedContainer
	}
	return nil
}

func (m *Call) GetLaunchNestedContainerSession() *Call_LaunchNestedContainerSession {
	if m != nil {
		return m.LaunchNestedContainerSession
	}
	return nil
}

func (m *Call) GetAttachContainerInput() *Call_AttachContainerInput {
	if m != nil {
		return m.AttachContainerInput
	}
	return nil
}

func (m *Call) GetAttachContainerOutput() *Call_AttachContainerOutput {
	if m != nil {
		return m.AttachContainerOutput
	}
	return nil
}

func (m *Call) GetLaunchContainer() *Call_LaunchContainer {
	if m != nil {
		return m.LaunchContainer
	}
	return nil
}

func (m *Call) GetWaitContainer() *Call_WaitContainer {
	if m != nil {
		return m.WaitContainer
	}
	return nil
}

func (m *Call) GetKillContainer() *Call_KillContainer {
	if m != nil {
		return m.KillContainer
	}
	return nil
}

func (m *Call) GetRemoveContainer() *Call_RemoveContainer {
	if m != nil {
		return m.RemoveContainer
	}
	return nil
}

func (m *Call) GetAddResourceProviderConfig() *Call_AddResourceProviderConfig {
	if m != nil {
		return m.AddResourceProviderConfig
	}
	return nil
}

func (m *Call) GetUpdateResourceProviderConfig() *Call_UpdateResourceProviderConfig {
	if m != nil {
		return m.UpdateResourceProviderConfig
	}
	return nil
}

func (m *Call) GetRemoveResourceProviderConfig() *Call_RemoveResourceProviderConfig {
	if m != nil {
		return m.RemoveResourceProviderConfig
	}
	return nil
}

func (m *Call) GetPruneImages() *Call_PruneImages {
	if m != nil {
		return m.PruneImages
	}
	return nil
}

// Provides a snapshot of the current metrics tracked by the agent.
type Call_GetMetrics struct {
	// If set, `timeout` would be used to determines the maximum amount of time
	// the API will take to respond. If the timeout is exceeded, some metrics
	// may not be included in the response.
	Timeout *mesos.DurationInfo `protobuf:"bytes,1,opt,name=timeout" json:"timeout,omitempty"`
}

func (m *Call_GetMetrics) Reset()                    { *m = Call_GetMetrics{} }
func (*Call_GetMetrics) ProtoMessage()               {}
func (*Call_GetMetrics) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{0, 0} }

func (m *Call_GetMetrics) GetTimeout() *mesos.DurationInfo {
	if m != nil {
		return m.Timeout
	}
	return nil
}

// Sets the logging verbosity level for a specified duration. Mesos uses
// [glog](https://github.com/google/glog) for logging. The library only uses
// verbose logging which means nothing will be output unless the verbosity
// level is set (by default it's 0, libprocess uses levels 1, 2, and 3).
type Call_SetLoggingLevel struct {
	// The verbosity level.
	Level uint32 `protobuf:"varint,1,req,name=level" json:"level"`
	// The duration to keep verbosity level toggled. After this duration, the
	// verbosity level of log would revert to the original level.
	Duration mesos.DurationInfo `protobuf:"bytes,2,req,name=duration" json:"duration"`
}

func (m *Call_SetLoggingLevel) Reset()                    { *m = Call_SetLoggingLevel{} }
func (*Call_SetLoggingLevel) ProtoMessage()               {}
func (*Call_SetLoggingLevel) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{0, 1} }

func (m *Call_SetLoggingLevel) GetLevel() uint32 {
	if m != nil {
		return m.Level
	}
	return 0
}

func (m *Call_SetLoggingLevel) GetDuration() mesos.DurationInfo {
	if m != nil {
		return m.Duration
	}
	return mesos.DurationInfo{}
}

// Provides the file listing for a directory.
type Call_ListFiles struct {
	Path string `protobuf:"bytes,1,req,name=path" json:"path"`
}

func (m *Call_ListFiles) Reset()                    { *m = Call_ListFiles{} }
func (*Call_ListFiles) ProtoMessage()               {}
func (*Call_ListFiles) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{0, 2} }

func (m *Call_ListFiles) GetPath() string {
	if m != nil {
		return m.Path
	}
	return ""
}

// Reads data from a file.
type Call_ReadFile struct {
	// The path of file.
	Path string `protobuf:"bytes,1,req,name=path" json:"path"`
	// Initial offset in file to start reading from.
	Offset uint64 `protobuf:"varint,2,req,name=offset" json:"offset"`
	// The maximum number of bytes to read. The read length is capped at 16
	// memory pages.
	Length *uint64 `protobuf:"varint,3,opt,name=length" json:"length,omitempty"`
}

func (m *Call_ReadFile) Reset()                    { *m = Call_ReadFile{} }
func (*Call_ReadFile) ProtoMessage()               {}
func (*Call_ReadFile) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{0, 3} }

func (m *Call_ReadFile) GetPath() string {
	if m != nil {
		return m.Path
	}
	return ""
}

func (m *Call_ReadFile) GetOffset() uint64 {
	if m != nil {
		return m.Offset
	}
	return 0
}

func (m *Call_ReadFile) GetLength() uint64 {
	if m != nil && m.Length != nil {
		return *m.Length
	}
	return 0
}

// Lists active containers on the agent.
type Call_GetContainers struct {
	ShowNested     *bool `protobuf:"varint,1,opt,name=show_nested,json=showNested" json:"show_nested,omitempty"`
	ShowStandalone *bool `protobuf:"varint,2,opt,name=show_standalone,json=showStandalone" json:"show_standalone,omitempty"`
}

func (m *Call_GetContainers) Reset()                    { *m = Call_GetContainers{} }
func (*Call_GetContainers) ProtoMessage()               {}
func (*Call_GetContainers) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{0, 4} }

func (m *Call_GetContainers) GetShowNested() bool {
	if m != nil && m.ShowNested != nil {
		return *m.ShowNested
	}
	return false
}

func (m *Call_GetContainers) GetShowStandalone() bool {
	if m != nil && m.ShowStandalone != nil {
		return *m.ShowStandalone
	}
	return false
}

// Deprecated in favor of `LaunchContainer`.
type Call_LaunchNestedContainer struct {
	ContainerID mesos.ContainerID    `protobuf:"bytes,1,req,name=container_id,json=containerId" json:"container_id"`
	Command     *mesos.CommandInfo   `protobuf:"bytes,2,opt,name=command" json:"command,omitempty"`
	Container   *mesos.ContainerInfo `protobuf:"bytes,3,opt,name=container" json:"container,omitempty"`
}

func (m *Call_LaunchNestedContainer) Reset()      { *m = Call_LaunchNestedContainer{} }
func (*Call_LaunchNestedContainer) ProtoMessage() {}
func (*Call_LaunchNestedContainer) Descriptor() ([]byte, []int) {
	return fileDescriptorAgent, []int{0, 5}
}

func (m *Call_LaunchNestedContainer) GetContainerID() mesos.ContainerID {
	if m != nil {
		return m.ContainerID
	}
	return mesos.ContainerID{}
}

func (m *Call_LaunchNestedContainer) GetCommand() *mesos.CommandInfo {
	if m != nil {
		return m.Command
	}
	return nil
}

func (m *Call_LaunchNestedContainer) GetContainer() *mesos.ContainerInfo {
	if m != nil {
		return m.Container
	}
	return nil
}

// Deprecated in favor of `WaitContainer`.
type Call_WaitNestedContainer struct {
	ContainerID mesos.ContainerID `protobuf:"bytes,1,req,name=container_id,json=containerId" json:"container_id"`
}

func (m *Call_WaitNestedContainer) Reset()                    { *m = Call_WaitNestedContainer{} }
func (*Call_WaitNestedContainer) ProtoMessage()               {}
func (*Call_WaitNestedContainer) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{0, 6} }

func (m *Call_WaitNestedContainer) GetContainerID() mesos.ContainerID {
	if m != nil {
		return m.ContainerID
	}
	return mesos.ContainerID{}
}

// Deprecated in favor of `KillContainer`.
type Call_KillNestedContainer struct {
	ContainerID mesos.ContainerID `protobuf:"bytes,1,req,name=container_id,json=containerId" json:"container_id"`
	Signal      *int32            `protobuf:"varint,2,opt,name=signal" json:"signal,omitempty"`
}

func (m *Call_KillNestedContainer) Reset()                    { *m = Call_KillNestedContainer{} }
func (*Call_KillNestedContainer) ProtoMessage()               {}
func (*Call_KillNestedContainer) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{0, 7} }

func (m *Call_KillNestedContainer) GetContainerID() mesos.ContainerID {
	if m != nil {
		return m.ContainerID
	}
	return mesos.ContainerID{}
}

func (m *Call_KillNestedContainer) GetSignal() int32 {
	if m != nil && m.Signal != nil {
		return *m.Signal
	}
	return 0
}

// Deprecated in favor of `RemoveContainer`.
type Call_RemoveNestedContainer struct {
	ContainerID mesos.ContainerID `protobuf:"bytes,1,req,name=container_id,json=containerId" json:"container_id"`
}

func (m *Call_RemoveNestedContainer) Reset()      { *m = Call_RemoveNestedContainer{} }
func (*Call_RemoveNestedContainer) ProtoMessage() {}
func (*Call_RemoveNestedContainer) Descriptor() ([]byte, []int) {
	return fileDescriptorAgent, []int{0, 8}
}

func (m *Call_RemoveNestedContainer) GetContainerID() mesos.ContainerID {
	if m != nil {
		return m.ContainerID
	}
	return mesos.ContainerID{}
}

// Launches a nested container within an executor's tree of containers.
// The differences between this call and `LaunchNestedContainer` are:
// 1) The container's life-cycle is tied to the lifetime of the
//    connection used to make this call, i.e., if the connection ever
//    breaks, the container will be destroyed.
// 2) The nested container shares the same namespaces and cgroups as
//    its parent container.
// 3) Results in a streaming response of type `ProcessIO`. So the call
//    needs to be made on a persistent connection.
type Call_LaunchNestedContainerSession struct {
	ContainerID mesos.ContainerID    `protobuf:"bytes,1,req,name=container_id,json=containerId" json:"container_id"`
	Command     *mesos.CommandInfo   `protobuf:"bytes,2,opt,name=command" json:"command,omitempty"`
	Container   *mesos.ContainerInfo `protobuf:"bytes,3,opt,name=container" json:"container,omitempty"`
}

func (m *Call_LaunchNestedContainerSession) Reset()      { *m = Call_LaunchNestedContainerSession{} }
func (*Call_LaunchNestedContainerSession) ProtoMessage() {}
func (*Call_LaunchNestedContainerSession) Descriptor() ([]byte, []int) {
	return fileDescriptorAgent, []int{0, 9}
}

func (m *Call_LaunchNestedContainerSession) GetContainerID() mesos.ContainerID {
	if m != nil {
		return m.ContainerID
	}
	return mesos.ContainerID{}
}

func (m *Call_LaunchNestedContainerSession) GetCommand() *mesos.CommandInfo {
	if m != nil {
		return m.Command
	}
	return nil
}

func (m *Call_LaunchNestedContainerSession) GetContainer() *mesos.ContainerInfo {
	if m != nil {
		return m.Container
	}
	return nil
}

// Attaches the caller to the STDIN of the entry point of the container.
// Clients can use this to stream input data to a container.
// Note that this call needs to be made on a persistent connection by
// streaming a CONTAINER_ID message followed by one or more PROCESS_IO
// messages.
type Call_AttachContainerInput struct {
	Type        Call_AttachContainerInput_Type `protobuf:"varint,1,opt,name=type,enum=mesos.agent.Call_AttachContainerInput_Type" json:"type"`
	ContainerID *mesos.ContainerID             `protobuf:"bytes,2,opt,name=container_id,json=containerId" json:"container_id,omitempty"`
	ProcessIO   *ProcessIO                     `protobuf:"bytes,3,opt,name=process_io,json=processIo" json:"process_io,omitempty"`
}

func (m *Call_AttachContainerInput) Reset()      { *m = Call_AttachContainerInput{} }
func (*Call_AttachContainerInput) ProtoMessage() {}
func (*Call_AttachContainerInput) Descriptor() ([]byte, []int) {
	return fileDescriptorAgent, []int{0, 10}
}

func (m *Call_AttachContainerInput) GetType() Call_AttachContainerInput_Type {
	if m != nil {
		return m.Type
	}
	return Call_AttachContainerInput_UNKNOWN
}

func (m *Call_AttachContainerInput) GetContainerID() *mesos.ContainerID {
	if m != nil {
		return m.ContainerID
	}
	return nil
}

func (m *Call_AttachContainerInput) GetProcessIO() *ProcessIO {
	if m != nil {
		return m.ProcessIO
	}
	return nil
}

// Attaches the caller to the STDOUT and STDERR of the entrypoint of
// the container. Clients can use this to stream output/error from the
// container. This call will result in a streaming response of `ProcessIO`;
// so this call needs to be made on a persistent connection.
type Call_AttachContainerOutput struct {
	ContainerID mesos.ContainerID `protobuf:"bytes,1,req,name=container_id,json=containerId" json:"container_id"`
}

func (m *Call_AttachContainerOutput) Reset()      { *m = Call_AttachContainerOutput{} }
func (*Call_AttachContainerOutput) ProtoMessage() {}
func (*Call_AttachContainerOutput) Descriptor() ([]byte, []int) {
	return fileDescriptorAgent, []int{0, 11}
}

func (m *Call_AttachContainerOutput) GetContainerID() mesos.ContainerID {
	if m != nil {
		return m.ContainerID
	}
	return mesos.ContainerID{}
}

// Launches a either a "standalone" container on this agent
// or a nested container within another tree of containers.
//
// A standalone container is launched by specifying a ContainerID
// with no parent. Standalone containers bypass the normal offer cycle
// between the master and agent. Unlike other containers, a standalone
// container does not have an executor or any tasks. This means the
// standalone container does not report back to Mesos or any framework
// and must be supervised separately.
//
// A nested container is launched by specifying a ContainerID with
// another existing container (including standalone containers)
// as the parent.
//
// Returns 200 OK if the new container launch succeeds.
// Returns 202 Accepted if the requested ContainerID is already in use
//   by a standalone or nested container.
// Returns 400 Bad Request if the container launch fails.
type Call_LaunchContainer struct {
	// NOTE: Some characters cannot be used in the ID. All characters
	// must be valid filesystem path characters.  In addition, '/' and '.'
	// are reserved.
	ContainerID mesos.ContainerID  `protobuf:"bytes,1,req,name=container_id,json=containerId" json:"container_id"`
	Command     *mesos.CommandInfo `protobuf:"bytes,2,opt,name=command" json:"command,omitempty"`
	// NOTE: Nested containers may not specify resources and instead
	// share resources with its parent container.
	//
	// TODO(josephw): These resources are purely used for isolation
	// and are not accounted for by the Mesos master (if connected).
	// It is the caller's responsibility to ensure that resources are
	// not overcommitted (e.g. CPU and memory) or conflicting (e.g. ports
	// and volumes). Once there is support for preempting tasks and a
	// way to update the resources advertised by the agent, these standalone
	// container resources should be accounted for by the master.
	Resources []mesos.Resource     `protobuf:"bytes,3,rep,name=resources" json:"resources"`
	Container *mesos.ContainerInfo `protobuf:"bytes,4,opt,name=container" json:"container,omitempty"`
}

func (m *Call_LaunchContainer) Reset()                    { *m = Call_LaunchContainer{} }
func (*Call_LaunchContainer) ProtoMessage()               {}
func (*Call_LaunchContainer) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{0, 12} }

func (m *Call_LaunchContainer) GetContainerID() mesos.ContainerID {
	if m != nil {
		return m.ContainerID
	}
	return mesos.ContainerID{}
}

func (m *Call_LaunchContainer) GetCommand() *mesos.CommandInfo {
	if m != nil {
		return m.Command
	}
	return nil
}

func (m *Call_LaunchContainer) GetResources() []mesos.Resource {
	if m != nil {
		return m.Resources
	}
	return nil
}

func (m *Call_LaunchContainer) GetContainer() *mesos.ContainerInfo {
	if m != nil {
		return m.Container
	}
	return nil
}

// Waits for the standalone or nested container to terminate
// and returns the exit status.
//
// Returns 200 OK if and when the container exits.
// Returns 404 Not Found if the container does not exist.
type Call_WaitContainer struct {
	ContainerID mesos.ContainerID `protobuf:"bytes,1,req,name=container_id,json=containerId" json:"container_id"`
}

func (m *Call_WaitContainer) Reset()                    { *m = Call_WaitContainer{} }
func (*Call_WaitContainer) ProtoMessage()               {}
func (*Call_WaitContainer) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{0, 13} }

func (m *Call_WaitContainer) GetContainerID() mesos.ContainerID {
	if m != nil {
		return m.ContainerID
	}
	return mesos.ContainerID{}
}

// Kills the standalone or nested container. The signal to be sent
// to the container can be specified in the 'signal' field.
//
// Returns 200 OK if the signal is sent successfully.
// Returns 404 Not Found if the container does not exist.
type Call_KillContainer struct {
	ContainerID mesos.ContainerID `protobuf:"bytes,1,req,name=container_id,json=containerId" json:"container_id"`
	// Defaults to SIGKILL.
	Signal *int32 `protobuf:"varint,2,opt,name=signal" json:"signal,omitempty"`
}

func (m *Call_KillContainer) Reset()                    { *m = Call_KillContainer{} }
func (*Call_KillContainer) ProtoMessage()               {}
func (*Call_KillContainer) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{0, 14} }

func (m *Call_KillContainer) GetContainerID() mesos.ContainerID {
	if m != nil {
		return m.ContainerID
	}
	return mesos.ContainerID{}
}

func (m *Call_KillContainer) GetSignal() int32 {
	if m != nil && m.Signal != nil {
		return *m.Signal
	}
	return 0
}

// Removes a container's artifacts (runtime and sandbox directories).
//
// For nested containers, it is important to use this call if multiple
// nested containers are launched under the same parent container, because
// garbage collection only takes place at the parent container. Artifacts
// belonging to nested containers will not be garbage collected while
// the parent container is running.
//
// TODO(josephw): A standalone container's runtime directory is currently
// garbage collected as soon as the container exits. To allow the user to
// retrieve the exit status reliably, the runtime directory cannot be
// garbage collected immediately. Instead, the user will eventually be
// required to make this call after the standalone container has exited.
// Also, a standalone container's sandbox directory is currently not
// garbage collected and is only deleted via this call.
//
// Returns 200 OK if the removal is successful or if the parent container
//   (for nested containers) does not exist.
// Returns 500 Internal Server Error if anything goes wrong, including
//   if the container is still running or does not exist.
//
// TODO(josephw): Consider returning a 400 Bad Request instead of 500
// Internal Server Error when the user tries to remove a running or
// nonexistent nested container.
type Call_RemoveContainer struct {
	ContainerID mesos.ContainerID `protobuf:"bytes,1,req,name=container_id,json=containerId" json:"container_id"`
}

func (m *Call_RemoveContainer) Reset()                    { *m = Call_RemoveContainer{} }
func (*Call_RemoveContainer) ProtoMessage()               {}
func (*Call_RemoveContainer) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{0, 15} }

func (m *Call_RemoveContainer) GetContainerID() mesos.ContainerID {
	if m != nil {
		return m.ContainerID
	}
	return mesos.ContainerID{}
}

// Adds a new resource provider config file.
//
// The content of the `info` field will be written into a new config file in
// the resource provider config directory, and a new resource provider will be
// launched asynchronously based on the config. Callers must not set the
// `info.id` field. This call is idempotent, so if a config file identical to
// the content of the `info` field already exists, this call will return
// without launching a resource provider. Note that if a config file is
// placed into the resource provider config directory out-of-band after the
// agent starts up, it will not be checked against this call.
//
// Returns 200 OK if a new config file is created, or an identical config file
//   exists.
// Returns 400 Bad Request if `info` is not well-formed.
// Returns 403 Forbidden if the call is not authorized.
// Returns 409 Conflict if another config file that describes a
//   resource provider of the same type and name exists, but the content is
//   not identical.
// Returns 500 Internal Server Error if anything goes wrong.
type Call_AddResourceProviderConfig struct {
	Info mesos.ResourceProviderInfo `protobuf:"bytes,1,req,name=info" json:"info"`
}

func (m *Call_AddResourceProviderConfig) Reset()      { *m = Call_AddResourceProviderConfig{} }
func (*Call_AddResourceProviderConfig) ProtoMessage() {}
func (*Call_AddResourceProviderConfig) Descriptor() ([]byte, []int) {
	return fileDescriptorAgent, []int{0, 16}
}

func (m *Call_AddResourceProviderConfig) GetInfo() mesos.ResourceProviderInfo {
	if m != nil {
		return m.Info
	}
	return mesos.ResourceProviderInfo{}
}

// Updates an existing resource provider config file.
//
// The content of the `info` field will be written into an existing config
// file that describes a resource provider of the specified type and name in
// the resource provider config directory, and the corresponding resource
// provider will be relaunched asynchronously to reflect the changes in the
// config. Callers must not set the `info.id` field. This call is idempotent,
// so if there is no change in the config, this call will return without
// relaunching the resource provider. Note that if a config file is placed
// into the resource provider config directory out-of-band after the agent
// starts up, it will not be checked against this call.
//
// Returns 200 OK if an existing config file is updated, or there is no change
//   in the config file.
// Returns 400 Bad Request if `info` is not well-formed.
// Returns 403 Forbidden if the call is not authorized.
// Returns 404 Not Found if no config file describes a resource
//   provider of the same type and name exists.
// Returns 500 Internal Server Error if anything goes wrong.
type Call_UpdateResourceProviderConfig struct {
	Info mesos.ResourceProviderInfo `protobuf:"bytes,1,req,name=info" json:"info"`
}

func (m *Call_UpdateResourceProviderConfig) Reset()      { *m = Call_UpdateResourceProviderConfig{} }
func (*Call_UpdateResourceProviderConfig) ProtoMessage() {}
func (*Call_UpdateResourceProviderConfig) Descriptor() ([]byte, []int) {
	return fileDescriptorAgent, []int{0, 17}
}

func (m *Call_UpdateResourceProviderConfig) GetInfo() mesos.ResourceProviderInfo {
	if m != nil {
		return m.Info
	}
	return mesos.ResourceProviderInfo{}
}

// Removes a config file from the resource provider config directory.
//
// The config file that describes the resource provider of the specified type
// and name will be removed, and the corresponding resource provider will be
// terminated asynchronously. This call is idempotent, so if no matching
// config file exists, this call will return without terminating any resource
// provider. Note that if a config file is placed into the resource provider
// config directory out-of-band after the agent starts up, it will not be
// checked against this call.
//
// Returns 200 OK if the config file is removed, or no matching config file
//   exists.
// Returns 403 Forbidden if the call is not authorized.
// Returns 500 Internal Server Error if anything goes wrong.
type Call_RemoveResourceProviderConfig struct {
	Type string `protobuf:"bytes,1,req,name=type" json:"type"`
	Name string `protobuf:"bytes,2,req,name=name" json:"name"`
}

func (m *Call_RemoveResourceProviderConfig) Reset()      { *m = Call_RemoveResourceProviderConfig{} }
func (*Call_RemoveResourceProviderConfig) ProtoMessage() {}
func (*Call_RemoveResourceProviderConfig) Descriptor() ([]byte, []int) {
	return fileDescriptorAgent, []int{0, 18}
}

func (m *Call_RemoveResourceProviderConfig) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

func (m *Call_RemoveResourceProviderConfig) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

// Prune unused container images from image store.
//
// Images and layers referenced by active containers as well as
// image references specified in `excluded_images` will not be pruned.
type Call_PruneImages struct {
	ExcludedImages []mesos.Image `protobuf:"bytes,1,rep,name=excluded_images,json=excludedImages" json:"excluded_images"`
}

func (m *Call_PruneImages) Reset()                    { *m = Call_PruneImages{} }
func (*Call_PruneImages) ProtoMessage()               {}
func (*Call_PruneImages) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{0, 19} }

func (m *Call_PruneImages) GetExcludedImages() []mesos.Image {
	if m != nil {
		return m.ExcludedImages
	}
	return nil
}

// *
// Synchronous responses for all calls made to the v1 agent API.
type Response struct {
	Type                 Response_Type                  `protobuf:"varint,1,opt,name=type,enum=mesos.agent.Response_Type" json:"type"`
	GetHealth            *Response_GetHealth            `protobuf:"bytes,2,opt,name=get_health,json=getHealth" json:"get_health,omitempty"`
	GetFlags             *Response_GetFlags             `protobuf:"bytes,3,opt,name=get_flags,json=getFlags" json:"get_flags,omitempty"`
	GetVersion           *Response_GetVersion           `protobuf:"bytes,4,opt,name=get_version,json=getVersion" json:"get_version,omitempty"`
	GetMetrics           *Response_GetMetrics           `protobuf:"bytes,5,opt,name=get_metrics,json=getMetrics" json:"get_metrics,omitempty"`
	GetLoggingLevel      *Response_GetLoggingLevel      `protobuf:"bytes,6,opt,name=get_logging_level,json=getLoggingLevel" json:"get_logging_level,omitempty"`
	ListFiles            *Response_ListFiles            `protobuf:"bytes,7,opt,name=list_files,json=listFiles" json:"list_files,omitempty"`
	ReadFile             *Response_ReadFile             `protobuf:"bytes,8,opt,name=read_file,json=readFile" json:"read_file,omitempty"`
	GetState             *Response_GetState             `protobuf:"bytes,9,opt,name=get_state,json=getState" json:"get_state,omitempty"`
	GetContainers        *Response_GetContainers        `protobuf:"bytes,10,opt,name=get_containers,json=getContainers" json:"get_containers,omitempty"`
	GetFrameworks        *Response_GetFrameworks        `protobuf:"bytes,11,opt,name=get_frameworks,json=getFrameworks" json:"get_frameworks,omitempty"`
	GetExecutors         *Response_GetExecutors         `protobuf:"bytes,12,opt,name=get_executors,json=getExecutors" json:"get_executors,omitempty"`
	GetOperations        *Response_GetOperations        `protobuf:"bytes,18,opt,name=get_operations,json=getOperations" json:"get_operations,omitempty"`
	GetTasks             *Response_GetTasks             `protobuf:"bytes,13,opt,name=get_tasks,json=getTasks" json:"get_tasks,omitempty"`
	GetAgent             *Response_GetAgent             `protobuf:"bytes,15,opt,name=get_agent,json=getAgent" json:"get_agent,omitempty"`
	GetResourceProviders *Response_GetResourceProviders `protobuf:"bytes,17,opt,name=get_resource_providers,json=getResourceProviders" json:"get_resource_providers,omitempty"`
	WaitNestedContainer  *Response_WaitNestedContainer  `protobuf:"bytes,14,opt,name=wait_nested_container,json=waitNestedContainer" json:"wait_nested_container,omitempty"`
	WaitContainer        *Response_WaitContainer        `protobuf:"bytes,16,opt,name=wait_container,json=waitContainer" json:"wait_container,omitempty"`
}

func (m *Response) Reset()                    { *m = Response{} }
func (*Response) ProtoMessage()               {}
func (*Response) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1} }

func (m *Response) GetType() Response_Type {
	if m != nil {
		return m.Type
	}
	return Response_UNKNOWN
}

func (m *Response) GetGetHealth() *Response_GetHealth {
	if m != nil {
		return m.GetHealth
	}
	return nil
}

func (m *Response) GetGetFlags() *Response_GetFlags {
	if m != nil {
		return m.GetFlags
	}
	return nil
}

func (m *Response) GetGetVersion() *Response_GetVersion {
	if m != nil {
		return m.GetVersion
	}
	return nil
}

func (m *Response) GetGetMetrics() *Response_GetMetrics {
	if m != nil {
		return m.GetMetrics
	}
	return nil
}

func (m *Response) GetGetLoggingLevel() *Response_GetLoggingLevel {
	if m != nil {
		return m.GetLoggingLevel
	}
	return nil
}

func (m *Response) GetListFiles() *Response_ListFiles {
	if m != nil {
		return m.ListFiles
	}
	return nil
}

func (m *Response) GetReadFile() *Response_ReadFile {
	if m != nil {
		return m.ReadFile
	}
	return nil
}

func (m *Response) GetGetState() *Response_GetState {
	if m != nil {
		return m.GetState
	}
	return nil
}

func (m *Response) GetGetContainers() *Response_GetContainers {
	if m != nil {
		return m.GetContainers
	}
	return nil
}

func (m *Response) GetGetFrameworks() *Response_GetFrameworks {
	if m != nil {
		return m.GetFrameworks
	}
	return nil
}

func (m *Response) GetGetExecutors() *Response_GetExecutors {
	if m != nil {
		return m.GetExecutors
	}
	return nil
}

func (m *Response) GetGetOperations() *Response_GetOperations {
	if m != nil {
		return m.GetOperations
	}
	return nil
}

func (m *Response) GetGetTasks() *Response_GetTasks {
	if m != nil {
		return m.GetTasks
	}
	return nil
}

func (m *Response) GetGetAgent() *Response_GetAgent {
	if m != nil {
		return m.GetAgent
	}
	return nil
}

func (m *Response) GetGetResourceProviders() *Response_GetResourceProviders {
	if m != nil {
		return m.GetResourceProviders
	}
	return nil
}

func (m *Response) GetWaitNestedContainer() *Response_WaitNestedContainer {
	if m != nil {
		return m.WaitNestedContainer
	}
	return nil
}

func (m *Response) GetWaitContainer() *Response_WaitContainer {
	if m != nil {
		return m.WaitContainer
	}
	return nil
}

// `healthy` would be true if the agent is healthy. Delayed responses are also
// indicative of the poor health of the agent.
type Response_GetHealth struct {
	Healthy bool `protobuf:"varint,1,req,name=healthy" json:"healthy"`
}

func (m *Response_GetHealth) Reset()                    { *m = Response_GetHealth{} }
func (*Response_GetHealth) ProtoMessage()               {}
func (*Response_GetHealth) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 0} }

func (m *Response_GetHealth) GetHealthy() bool {
	if m != nil {
		return m.Healthy
	}
	return false
}

// Contains the flag configuration of the agent.
type Response_GetFlags struct {
	Flags []mesos.Flag `protobuf:"bytes,1,rep,name=flags" json:"flags"`
}

func (m *Response_GetFlags) Reset()                    { *m = Response_GetFlags{} }
func (*Response_GetFlags) ProtoMessage()               {}
func (*Response_GetFlags) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 1} }

func (m *Response_GetFlags) GetFlags() []mesos.Flag {
	if m != nil {
		return m.Flags
	}
	return nil
}

// Contains the version information of the agent.
type Response_GetVersion struct {
	VersionInfo mesos.VersionInfo `protobuf:"bytes,1,req,name=version_info,json=versionInfo" json:"version_info"`
}

func (m *Response_GetVersion) Reset()                    { *m = Response_GetVersion{} }
func (*Response_GetVersion) ProtoMessage()               {}
func (*Response_GetVersion) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 2} }

func (m *Response_GetVersion) GetVersionInfo() mesos.VersionInfo {
	if m != nil {
		return m.VersionInfo
	}
	return mesos.VersionInfo{}
}

// Contains a snapshot of the current metrics.
type Response_GetMetrics struct {
	Metrics []mesos.Metric `protobuf:"bytes,1,rep,name=metrics" json:"metrics"`
}

func (m *Response_GetMetrics) Reset()                    { *m = Response_GetMetrics{} }
func (*Response_GetMetrics) ProtoMessage()               {}
func (*Response_GetMetrics) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 3} }

func (m *Response_GetMetrics) GetMetrics() []mesos.Metric {
	if m != nil {
		return m.Metrics
	}
	return nil
}

// Contains the logging level of the agent.
type Response_GetLoggingLevel struct {
	Level uint32 `protobuf:"varint,1,req,name=level" json:"level"`
}

func (m *Response_GetLoggingLevel) Reset()                    { *m = Response_GetLoggingLevel{} }
func (*Response_GetLoggingLevel) ProtoMessage()               {}
func (*Response_GetLoggingLevel) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 4} }

func (m *Response_GetLoggingLevel) GetLevel() uint32 {
	if m != nil {
		return m.Level
	}
	return 0
}

// Contains the file listing(similar to `ls -l`) for a directory.
type Response_ListFiles struct {
	FileInfos []mesos.FileInfo `protobuf:"bytes,1,rep,name=file_infos,json=fileInfos" json:"file_infos"`
}

func (m *Response_ListFiles) Reset()                    { *m = Response_ListFiles{} }
func (*Response_ListFiles) ProtoMessage()               {}
func (*Response_ListFiles) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 5} }

func (m *Response_ListFiles) GetFileInfos() []mesos.FileInfo {
	if m != nil {
		return m.FileInfos
	}
	return nil
}

// Contains the file data.
type Response_ReadFile struct {
	// The size of file (in bytes).
	Size uint64 `protobuf:"varint,1,req,name=size" json:"size"`
	Data []byte `protobuf:"bytes,2,req,name=data" json:"data,omitempty"`
}

func (m *Response_ReadFile) Reset()                    { *m = Response_ReadFile{} }
func (*Response_ReadFile) ProtoMessage()               {}
func (*Response_ReadFile) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 6} }

func (m *Response_ReadFile) GetSize() uint64 {
	if m != nil {
		return m.Size
	}
	return 0
}

func (m *Response_ReadFile) GetData() []byte {
	if m != nil {
		return m.Data
	}
	return nil
}

// Contains full state of the agent i.e. information about the tasks,
// frameworks and executors running in the cluster.
type Response_GetState struct {
	GetTasks      *Response_GetTasks      `protobuf:"bytes,1,opt,name=get_tasks,json=getTasks" json:"get_tasks,omitempty"`
	GetExecutors  *Response_GetExecutors  `protobuf:"bytes,2,opt,name=get_executors,json=getExecutors" json:"get_executors,omitempty"`
	GetFrameworks *Response_GetFrameworks `protobuf:"bytes,3,opt,name=get_frameworks,json=getFrameworks" json:"get_frameworks,omitempty"`
}

func (m *Response_GetState) Reset()                    { *m = Response_GetState{} }
func (*Response_GetState) ProtoMessage()               {}
func (*Response_GetState) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 7} }

func (m *Response_GetState) GetGetTasks() *Response_GetTasks {
	if m != nil {
		return m.GetTasks
	}
	return nil
}

func (m *Response_GetState) GetGetExecutors() *Response_GetExecutors {
	if m != nil {
		return m.GetExecutors
	}
	return nil
}

func (m *Response_GetState) GetGetFrameworks() *Response_GetFrameworks {
	if m != nil {
		return m.GetFrameworks
	}
	return nil
}

// Information about containers running on this agent. It contains
// ContainerStatus and ResourceStatistics along with some metadata
// of the containers.
type Response_GetContainers struct {
	Containers []Response_GetContainers_Container `protobuf:"bytes,1,rep,name=containers" json:"containers"`
}

func (m *Response_GetContainers) Reset()                    { *m = Response_GetContainers{} }
func (*Response_GetContainers) ProtoMessage()               {}
func (*Response_GetContainers) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 8} }

func (m *Response_GetContainers) GetContainers() []Response_GetContainers_Container {
	if m != nil {
		return m.Containers
	}
	return nil
}

type Response_GetContainers_Container struct {
	FrameworkID        *mesos.FrameworkID        `protobuf:"bytes,1,opt,name=framework_id,json=frameworkId" json:"framework_id,omitempty"`
	ExecutorID         *mesos.ExecutorID         `protobuf:"bytes,2,opt,name=executor_id,json=executorId" json:"executor_id,omitempty"`
	ExecutorName       *string                   `protobuf:"bytes,3,opt,name=executor_name,json=executorName" json:"executor_name,omitempty"`
	ContainerID        mesos.ContainerID         `protobuf:"bytes,4,req,name=container_id,json=containerId" json:"container_id"`
	ContainerStatus    *mesos.ContainerStatus    `protobuf:"bytes,5,opt,name=container_status,json=containerStatus" json:"container_status,omitempty"`
	ResourceStatistics *mesos.ResourceStatistics `protobuf:"bytes,6,opt,name=resource_statistics,json=resourceStatistics" json:"resource_statistics,omitempty"`
}

func (m *Response_GetContainers_Container) Reset()      { *m = Response_GetContainers_Container{} }
func (*Response_GetContainers_Container) ProtoMessage() {}
func (*Response_GetContainers_Container) Descriptor() ([]byte, []int) {
	return fileDescriptorAgent, []int{1, 8, 0}
}

func (m *Response_GetContainers_Container) GetFrameworkID() *mesos.FrameworkID {
	if m != nil {
		return m.FrameworkID
	}
	return nil
}

func (m *Response_GetContainers_Container) GetExecutorID() *mesos.ExecutorID {
	if m != nil {
		return m.ExecutorID
	}
	return nil
}

func (m *Response_GetContainers_Container) GetExecutorName() string {
	if m != nil && m.ExecutorName != nil {
		return *m.ExecutorName
	}
	return ""
}

func (m *Response_GetContainers_Container) GetContainerID() mesos.ContainerID {
	if m != nil {
		return m.ContainerID
	}
	return mesos.ContainerID{}
}

func (m *Response_GetContainers_Container) GetContainerStatus() *mesos.ContainerStatus {
	if m != nil {
		return m.ContainerStatus
	}
	return nil
}

func (m *Response_GetContainers_Container) GetResourceStatistics() *mesos.ResourceStatistics {
	if m != nil {
		return m.ResourceStatistics
	}
	return nil
}

// Information about all the frameworks known to the agent at the current
// time.
type Response_GetFrameworks struct {
	Frameworks          []Response_GetFrameworks_Framework `protobuf:"bytes,1,rep,name=frameworks" json:"frameworks"`
	CompletedFrameworks []Response_GetFrameworks_Framework `protobuf:"bytes,2,rep,name=completed_frameworks,json=completedFrameworks" json:"completed_frameworks"`
}

func (m *Response_GetFrameworks) Reset()                    { *m = Response_GetFrameworks{} }
func (*Response_GetFrameworks) ProtoMessage()               {}
func (*Response_GetFrameworks) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 9} }

func (m *Response_GetFrameworks) GetFrameworks() []Response_GetFrameworks_Framework {
	if m != nil {
		return m.Frameworks
	}
	return nil
}

func (m *Response_GetFrameworks) GetCompletedFrameworks() []Response_GetFrameworks_Framework {
	if m != nil {
		return m.CompletedFrameworks
	}
	return nil
}

type Response_GetFrameworks_Framework struct {
	FrameworkInfo mesos.FrameworkInfo `protobuf:"bytes,1,req,name=framework_info,json=frameworkInfo" json:"framework_info"`
}

func (m *Response_GetFrameworks_Framework) Reset()      { *m = Response_GetFrameworks_Framework{} }
func (*Response_GetFrameworks_Framework) ProtoMessage() {}
func (*Response_GetFrameworks_Framework) Descriptor() ([]byte, []int) {
	return fileDescriptorAgent, []int{1, 9, 0}
}

func (m *Response_GetFrameworks_Framework) GetFrameworkInfo() mesos.FrameworkInfo {
	if m != nil {
		return m.FrameworkInfo
	}
	return mesos.FrameworkInfo{}
}

// Lists information about all the executors known to the agent at the
// current time.
type Response_GetExecutors struct {
	Executors          []Response_GetExecutors_Executor `protobuf:"bytes,1,rep,name=executors" json:"executors"`
	CompletedExecutors []Response_GetExecutors_Executor `protobuf:"bytes,2,rep,name=completed_executors,json=completedExecutors" json:"completed_executors"`
}

func (m *Response_GetExecutors) Reset()                    { *m = Response_GetExecutors{} }
func (*Response_GetExecutors) ProtoMessage()               {}
func (*Response_GetExecutors) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 10} }

func (m *Response_GetExecutors) GetExecutors() []Response_GetExecutors_Executor {
	if m != nil {
		return m.Executors
	}
	return nil
}

func (m *Response_GetExecutors) GetCompletedExecutors() []Response_GetExecutors_Executor {
	if m != nil {
		return m.CompletedExecutors
	}
	return nil
}

type Response_GetExecutors_Executor struct {
	ExecutorInfo mesos.ExecutorInfo `protobuf:"bytes,1,req,name=executor_info,json=executorInfo" json:"executor_info"`
}

func (m *Response_GetExecutors_Executor) Reset()      { *m = Response_GetExecutors_Executor{} }
func (*Response_GetExecutors_Executor) ProtoMessage() {}
func (*Response_GetExecutors_Executor) Descriptor() ([]byte, []int) {
	return fileDescriptorAgent, []int{1, 10, 0}
}

func (m *Response_GetExecutors_Executor) GetExecutorInfo() mesos.ExecutorInfo {
	if m != nil {
		return m.ExecutorInfo
	}
	return mesos.ExecutorInfo{}
}

// Lists information about all operations known to the agent at the
// current time.
type Response_GetOperations struct {
	Operations []mesos.Operation `protobuf:"bytes,1,rep,name=operations" json:"operations"`
}

func (m *Response_GetOperations) Reset()                    { *m = Response_GetOperations{} }
func (*Response_GetOperations) ProtoMessage()               {}
func (*Response_GetOperations) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 11} }

func (m *Response_GetOperations) GetOperations() []mesos.Operation {
	if m != nil {
		return m.Operations
	}
	return nil
}

// Lists information about all the tasks known to the agent at the current
// time.
type Response_GetTasks struct {
	// Tasks that are pending in the agent's queue before an executor is
	// launched.
	PendingTasks []mesos.Task `protobuf:"bytes,1,rep,name=pending_tasks,json=pendingTasks" json:"pending_tasks"`
	// Tasks that are enqueued for a launched executor that has not yet
	// registered.
	QueuedTasks []mesos.Task `protobuf:"bytes,2,rep,name=queued_tasks,json=queuedTasks" json:"queued_tasks"`
	// Tasks that are running.
	LaunchedTasks []mesos.Task `protobuf:"bytes,3,rep,name=launched_tasks,json=launchedTasks" json:"launched_tasks"`
	// Tasks that are terminated but pending updates.
	TerminatedTasks []mesos.Task `protobuf:"bytes,4,rep,name=terminated_tasks,json=terminatedTasks" json:"terminated_tasks"`
	// Tasks that are terminated and updates acked.
	CompletedTasks []mesos.Task `protobuf:"bytes,5,rep,name=completed_tasks,json=completedTasks" json:"completed_tasks"`
}

func (m *Response_GetTasks) Reset()                    { *m = Response_GetTasks{} }
func (*Response_GetTasks) ProtoMessage()               {}
func (*Response_GetTasks) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 12} }

func (m *Response_GetTasks) GetPendingTasks() []mesos.Task {
	if m != nil {
		return m.PendingTasks
	}
	return nil
}

func (m *Response_GetTasks) GetQueuedTasks() []mesos.Task {
	if m != nil {
		return m.QueuedTasks
	}
	return nil
}

func (m *Response_GetTasks) GetLaunchedTasks() []mesos.Task {
	if m != nil {
		return m.LaunchedTasks
	}
	return nil
}

func (m *Response_GetTasks) GetTerminatedTasks() []mesos.Task {
	if m != nil {
		return m.TerminatedTasks
	}
	return nil
}

func (m *Response_GetTasks) GetCompletedTasks() []mesos.Task {
	if m != nil {
		return m.CompletedTasks
	}
	return nil
}

// Contains the agent's information.
type Response_GetAgent struct {
	AgentInfo *mesos.AgentInfo `protobuf:"bytes,1,opt,name=agent_info,json=agentInfo" json:"agent_info,omitempty"`
}

func (m *Response_GetAgent) Reset()                    { *m = Response_GetAgent{} }
func (*Response_GetAgent) ProtoMessage()               {}
func (*Response_GetAgent) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 13} }

func (m *Response_GetAgent) GetAgentInfo() *mesos.AgentInfo {
	if m != nil {
		return m.AgentInfo
	}
	return nil
}

// Lists information about all resource providers known to the agent
// at the current time.
type Response_GetResourceProviders struct {
	ResourceProviders []Response_GetResourceProviders_ResourceProvider `protobuf:"bytes,1,rep,name=resource_providers,json=resourceProviders" json:"resource_providers"`
}

func (m *Response_GetResourceProviders) Reset()      { *m = Response_GetResourceProviders{} }
func (*Response_GetResourceProviders) ProtoMessage() {}
func (*Response_GetResourceProviders) Descriptor() ([]byte, []int) {
	return fileDescriptorAgent, []int{1, 14}
}

func (m *Response_GetResourceProviders) GetResourceProviders() []Response_GetResourceProviders_ResourceProvider {
	if m != nil {
		return m.ResourceProviders
	}
	return nil
}

type Response_GetResourceProviders_ResourceProvider struct {
	ResourceProviderInfo mesos.ResourceProviderInfo `protobuf:"bytes,1,req,name=resource_provider_info,json=resourceProviderInfo" json:"resource_provider_info"`
	TotalResources       []mesos.Resource           `protobuf:"bytes,2,rep,name=total_resources,json=totalResources" json:"total_resources"`
}

func (m *Response_GetResourceProviders_ResourceProvider) Reset() {
	*m = Response_GetResourceProviders_ResourceProvider{}
}
func (*Response_GetResourceProviders_ResourceProvider) ProtoMessage() {}
func (*Response_GetResourceProviders_ResourceProvider) Descriptor() ([]byte, []int) {
	return fileDescriptorAgent, []int{1, 14, 0}
}

func (m *Response_GetResourceProviders_ResourceProvider) GetResourceProviderInfo() mesos.ResourceProviderInfo {
	if m != nil {
		return m.ResourceProviderInfo
	}
	return mesos.ResourceProviderInfo{}
}

func (m *Response_GetResourceProviders_ResourceProvider) GetTotalResources() []mesos.Resource {
	if m != nil {
		return m.TotalResources
	}
	return nil
}

// Returns termination information about the nested container.
type Response_WaitNestedContainer struct {
	// Wait status of the lead process in the container. Note that this
	// is the return value of `wait(2)`, so callers must use the `wait(2)`
	// family of macros to extract whether the process exited cleanly and
	// what the exit code was.
	ExitStatus *int32 `protobuf:"varint,1,opt,name=exit_status,json=exitStatus" json:"exit_status,omitempty"`
	// The `state` and `reason` fields may be populated if the Mesos agent
	// terminates the container. In the absence of any special knowledge,
	// executors should propagate this information via the `status` field
	// of an `Update` call for the corresponding TaskID.
	State  *mesos.TaskState         `protobuf:"varint,2,opt,name=state,enum=mesos.TaskState" json:"state,omitempty"`
	Reason *mesos.TaskStatus_Reason `protobuf:"varint,3,opt,name=reason,enum=mesos.TaskStatus_Reason" json:"reason,omitempty"`
	// This field will be populated if the task was terminated due to
	// a resource limitation.
	Limitation *mesos.TaskResourceLimitation `protobuf:"bytes,4,opt,name=limitation" json:"limitation,omitempty"`
	Message    *string                       `protobuf:"bytes,5,opt,name=message" json:"message,omitempty"`
}

func (m *Response_WaitNestedContainer) Reset()      { *m = Response_WaitNestedContainer{} }
func (*Response_WaitNestedContainer) ProtoMessage() {}
func (*Response_WaitNestedContainer) Descriptor() ([]byte, []int) {
	return fileDescriptorAgent, []int{1, 15}
}

func (m *Response_WaitNestedContainer) GetExitStatus() int32 {
	if m != nil && m.ExitStatus != nil {
		return *m.ExitStatus
	}
	return 0
}

func (m *Response_WaitNestedContainer) GetState() mesos.TaskState {
	if m != nil && m.State != nil {
		return *m.State
	}
	return mesos.TASK_STAGING
}

func (m *Response_WaitNestedContainer) GetReason() mesos.TaskStatus_Reason {
	if m != nil && m.Reason != nil {
		return *m.Reason
	}
	return mesos.REASON_COMMAND_EXECUTOR_FAILED
}

func (m *Response_WaitNestedContainer) GetLimitation() *mesos.TaskResourceLimitation {
	if m != nil {
		return m.Limitation
	}
	return nil
}

func (m *Response_WaitNestedContainer) GetMessage() string {
	if m != nil && m.Message != nil {
		return *m.Message
	}
	return ""
}

// Returns termination information about the standalone or nested container.
type Response_WaitContainer struct {
	// Wait status of the lead process in the container. Note that this
	// is the return value of `wait(2)`, so callers must use the `wait(2)`
	// family of macros to extract whether the process exited cleanly and
	// what the exit code was.
	ExitStatus *int32 `protobuf:"varint,1,opt,name=exit_status,json=exitStatus" json:"exit_status,omitempty"`
	// The `state` and `reason` fields may be populated if the Mesos agent
	// terminates the container. In the absence of any special knowledge,
	// executors should propagate this information via the `status` field
	// of an `Update` call for the corresponding TaskID.
	State  *mesos.TaskState         `protobuf:"varint,2,opt,name=state,enum=mesos.TaskState" json:"state,omitempty"`
	Reason *mesos.TaskStatus_Reason `protobuf:"varint,3,opt,name=reason,enum=mesos.TaskStatus_Reason" json:"reason,omitempty"`
	// This field will be populated if the task was terminated due to
	// a resource limitation.
	Limitation *mesos.TaskResourceLimitation `protobuf:"bytes,4,opt,name=limitation" json:"limitation,omitempty"`
	Message    *string                       `protobuf:"bytes,5,opt,name=message" json:"message,omitempty"`
}

func (m *Response_WaitContainer) Reset()                    { *m = Response_WaitContainer{} }
func (*Response_WaitContainer) ProtoMessage()               {}
func (*Response_WaitContainer) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 16} }

func (m *Response_WaitContainer) GetExitStatus() int32 {
	if m != nil && m.ExitStatus != nil {
		return *m.ExitStatus
	}
	return 0
}

func (m *Response_WaitContainer) GetState() mesos.TaskState {
	if m != nil && m.State != nil {
		return *m.State
	}
	return mesos.TASK_STAGING
}

func (m *Response_WaitContainer) GetReason() mesos.TaskStatus_Reason {
	if m != nil && m.Reason != nil {
		return *m.Reason
	}
	return mesos.REASON_COMMAND_EXECUTOR_FAILED
}

func (m *Response_WaitContainer) GetLimitation() *mesos.TaskResourceLimitation {
	if m != nil {
		return m.Limitation
	}
	return nil
}

func (m *Response_WaitContainer) GetMessage() string {
	if m != nil && m.Message != nil {
		return *m.Message
	}
	return ""
}

// *
// Streaming response to `Call::LAUNCH_NESTED_CONTAINER_SESSION` and
// `Call::ATTACH_CONTAINER_OUTPUT`.
//
// This message is also used to stream request data for
// `Call::ATTACH_CONTAINER_INPUT`.
type ProcessIO struct {
	Type    ProcessIO_Type     `protobuf:"varint,1,opt,name=type,enum=mesos.agent.ProcessIO_Type" json:"type"`
	Data    *ProcessIO_Data    `protobuf:"bytes,2,opt,name=data" json:"data,omitempty"`
	Control *ProcessIO_Control `protobuf:"bytes,3,opt,name=control" json:"control,omitempty"`
}

func (m *ProcessIO) Reset()                    { *m = ProcessIO{} }
func (*ProcessIO) ProtoMessage()               {}
func (*ProcessIO) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{2} }

func (m *ProcessIO) GetType() ProcessIO_Type {
	if m != nil {
		return m.Type
	}
	return ProcessIO_UNKNOWN
}

func (m *ProcessIO) GetData() *ProcessIO_Data {
	if m != nil {
		return m.Data
	}
	return nil
}

func (m *ProcessIO) GetControl() *ProcessIO_Control {
	if m != nil {
		return m.Control
	}
	return nil
}

type ProcessIO_Data struct {
	Type ProcessIO_Data_Type `protobuf:"varint,1,opt,name=type,enum=mesos.agent.ProcessIO_Data_Type" json:"type"`
	Data []byte              `protobuf:"bytes,2,opt,name=data" json:"data,omitempty"`
}

func (m *ProcessIO_Data) Reset()                    { *m = ProcessIO_Data{} }
func (*ProcessIO_Data) ProtoMessage()               {}
func (*ProcessIO_Data) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{2, 0} }

func (m *ProcessIO_Data) GetType() ProcessIO_Data_Type {
	if m != nil {
		return m.Type
	}
	return ProcessIO_Data_UNKNOWN
}

func (m *ProcessIO_Data) GetData() []byte {
	if m != nil {
		return m.Data
	}
	return nil
}

type ProcessIO_Control struct {
	Type      ProcessIO_Control_Type       `protobuf:"varint,1,opt,name=type,enum=mesos.agent.ProcessIO_Control_Type" json:"type"`
	TTYInfo   *mesos.TTYInfo               `protobuf:"bytes,2,opt,name=tty_info,json=ttyInfo" json:"tty_info,omitempty"`
	Heartbeat *ProcessIO_Control_Heartbeat `protobuf:"bytes,3,opt,name=heartbeat" json:"heartbeat,omitempty"`
}

func (m *ProcessIO_Control) Reset()                    { *m = ProcessIO_Control{} }
func (*ProcessIO_Control) ProtoMessage()               {}
func (*ProcessIO_Control) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{2, 1} }

func (m *ProcessIO_Control) GetType() ProcessIO_Control_Type {
	if m != nil {
		return m.Type
	}
	return ProcessIO_Control_UNKNOWN
}

func (m *ProcessIO_Control) GetTTYInfo() *mesos.TTYInfo {
	if m != nil {
		return m.TTYInfo
	}
	return nil
}

func (m *ProcessIO_Control) GetHeartbeat() *ProcessIO_Control_Heartbeat {
	if m != nil {
		return m.Heartbeat
	}
	return nil
}

type ProcessIO_Control_Heartbeat struct {
	Interval *mesos.DurationInfo `protobuf:"bytes,1,opt,name=interval" json:"interval,omitempty"`
}

func (m *ProcessIO_Control_Heartbeat) Reset()      { *m = ProcessIO_Control_Heartbeat{} }
func (*ProcessIO_Control_Heartbeat) ProtoMessage() {}
func (*ProcessIO_Control_Heartbeat) Descriptor() ([]byte, []int) {
	return fileDescriptorAgent, []int{2, 1, 0}
}

func (m *ProcessIO_Control_Heartbeat) GetInterval() *mesos.DurationInfo {
	if m != nil {
		return m.Interval
	}
	return nil
}

func init() {
	proto.RegisterType((*Call)(nil), "mesos.agent.Call")
	proto.RegisterType((*Call_GetMetrics)(nil), "mesos.agent.Call.GetMetrics")
	proto.RegisterType((*Call_SetLoggingLevel)(nil), "mesos.agent.Call.SetLoggingLevel")
	proto.RegisterType((*Call_ListFiles)(nil), "mesos.agent.Call.ListFiles")
	proto.RegisterType((*Call_ReadFile)(nil), "mesos.agent.Call.ReadFile")
	proto.RegisterType((*Call_GetContainers)(nil), "mesos.agent.Call.GetContainers")
	proto.RegisterType((*Call_LaunchNestedContainer)(nil), "mesos.agent.Call.LaunchNestedContainer")
	proto.RegisterType((*Call_WaitNestedContainer)(nil), "mesos.agent.Call.WaitNestedContainer")
	proto.RegisterType((*Call_KillNestedContainer)(nil), "mesos.agent.Call.KillNestedContainer")
	proto.RegisterType((*Call_RemoveNestedContainer)(nil), "mesos.agent.Call.RemoveNestedContainer")
	proto.RegisterType((*Call_LaunchNestedContainerSession)(nil), "mesos.agent.Call.LaunchNestedContainerSession")
	proto.RegisterType((*Call_AttachContainerInput)(nil), "mesos.agent.Call.AttachContainerInput")
	proto.RegisterType((*Call_AttachContainerOutput)(nil), "mesos.agent.Call.AttachContainerOutput")
	proto.RegisterType((*Call_LaunchContainer)(nil), "mesos.agent.Call.LaunchContainer")
	proto.RegisterType((*Call_WaitContainer)(nil), "mesos.agent.Call.WaitContainer")
	proto.RegisterType((*Call_KillContainer)(nil), "mesos.agent.Call.KillContainer")
	proto.RegisterType((*Call_RemoveContainer)(nil), "mesos.agent.Call.RemoveContainer")
	proto.RegisterType((*Call_AddResourceProviderConfig)(nil), "mesos.agent.Call.AddResourceProviderConfig")
	proto.RegisterType((*Call_UpdateResourceProviderConfig)(nil), "mesos.agent.Call.UpdateResourceProviderConfig")
	proto.RegisterType((*Call_RemoveResourceProviderConfig)(nil), "mesos.agent.Call.RemoveResourceProviderConfig")
	proto.RegisterType((*Call_PruneImages)(nil), "mesos.agent.Call.PruneImages")
	proto.RegisterType((*Response)(nil), "mesos.agent.Response")
	proto.RegisterType((*Response_GetHealth)(nil), "mesos.agent.Response.GetHealth")
	proto.RegisterType((*Response_GetFlags)(nil), "mesos.agent.Response.GetFlags")
	proto.RegisterType((*Response_GetVersion)(nil), "mesos.agent.Response.GetVersion")
	proto.RegisterType((*Response_GetMetrics)(nil), "mesos.agent.Response.GetMetrics")
	proto.RegisterType((*Response_GetLoggingLevel)(nil), "mesos.agent.Response.GetLoggingLevel")
	proto.RegisterType((*Response_ListFiles)(nil), "mesos.agent.Response.ListFiles")
	proto.RegisterType((*Response_ReadFile)(nil), "mesos.agent.Response.ReadFile")
	proto.RegisterType((*Response_GetState)(nil), "mesos.agent.Response.GetState")
	proto.RegisterType((*Response_GetContainers)(nil), "mesos.agent.Response.GetContainers")
	proto.RegisterType((*Response_GetContainers_Container)(nil), "mesos.agent.Response.GetContainers.Container")
	proto.RegisterType((*Response_GetFrameworks)(nil), "mesos.agent.Response.GetFrameworks")
	proto.RegisterType((*Response_GetFrameworks_Framework)(nil), "mesos.agent.Response.GetFrameworks.Framework")
	proto.RegisterType((*Response_GetExecutors)(nil), "mesos.agent.Response.GetExecutors")
	proto.RegisterType((*Response_GetExecutors_Executor)(nil), "mesos.agent.Response.GetExecutors.Executor")
	proto.RegisterType((*Response_GetOperations)(nil), "mesos.agent.Response.GetOperations")
	proto.RegisterType((*Response_GetTasks)(nil), "mesos.agent.Response.GetTasks")
	proto.RegisterType((*Response_GetAgent)(nil), "mesos.agent.Response.GetAgent")
	proto.RegisterType((*Response_GetResourceProviders)(nil), "mesos.agent.Response.GetResourceProviders")
	proto.RegisterType((*Response_GetResourceProviders_ResourceProvider)(nil), "mesos.agent.Response.GetResourceProviders.ResourceProvider")
	proto.RegisterType((*Response_WaitNestedContainer)(nil), "mesos.agent.Response.WaitNestedContainer")
	proto.RegisterType((*Response_WaitContainer)(nil), "mesos.agent.Response.WaitContainer")
	proto.RegisterType((*ProcessIO)(nil), "mesos.agent.ProcessIO")
	proto.RegisterType((*ProcessIO_Data)(nil), "mesos.agent.ProcessIO.Data")
	proto.RegisterType((*ProcessIO_Control)(nil), "mesos.agent.ProcessIO.Control")
	proto.RegisterType((*ProcessIO_Control_Heartbeat)(nil), "mesos.agent.ProcessIO.Control.Heartbeat")
	proto.RegisterEnum("mesos.agent.Call_Type", Call_Type_name, Call_Type_value)
	proto.RegisterEnum("mesos.agent.Call_AttachContainerInput_Type", Call_AttachContainerInput_Type_name, Call_AttachContainerInput_Type_value)
	proto.RegisterEnum("mesos.agent.Response_Type", Response_Type_name, Response_Type_value)
	proto.RegisterEnum("mesos.agent.ProcessIO_Type", ProcessIO_Type_name, ProcessIO_Type_value)
	proto.RegisterEnum("mesos.agent.ProcessIO_Data_Type", ProcessIO_Data_Type_name, ProcessIO_Data_Type_value)
	proto.RegisterEnum("mesos.agent.ProcessIO_Control_Type", ProcessIO_Control_Type_name, ProcessIO_Control_Type_value)
}
func (x Call_Type) String() string {
	s, ok := Call_Type_name[int32(x)]
	if ok {
		return s
	}
	return strconv.Itoa(int(x))
}
func (x Call_AttachContainerInput_Type) String() string {
	s, ok := Call_AttachContainerInput_Type_name[int32(x)]
	if ok {
		return s
	}
	return strconv.Itoa(int(x))
}
func (x Response_Type) String() string {
	s, ok := Response_Type_name[int32(x)]
	if ok {
		return s
	}
	return strconv.Itoa(int(x))
}
func (x ProcessIO_Type) String() string {
	s, ok := ProcessIO_Type_name[int32(x)]
	if ok {
		return s
	}
	return strconv.Itoa(int(x))
}
func (x ProcessIO_Data_Type) String() string {
	s, ok := ProcessIO_Data_Type_name[int32(x)]
	if ok {
		return s
	}
	return strconv.Itoa(int(x))
}
func (x ProcessIO_Control_Type) String() string {
	s, ok := ProcessIO_Control_Type_name[int32(x)]
	if ok {
		return s
	}
	return strconv.Itoa(int(x))
}
func (this *Call) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Call)
	if !ok {
		that2, ok := that.(Call)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Call")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Call but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Call but is not nil && this == nil")
	}
	if this.Type != that1.Type {
		return fmt.Errorf("Type this(%v) Not Equal that(%v)", this.Type, that1.Type)
	}
	if !this.GetMetrics.Equal(that1.GetMetrics) {
		return fmt.Errorf("GetMetrics this(%v) Not Equal that(%v)", this.GetMetrics, that1.GetMetrics)
	}
	if !this.SetLoggingLevel.Equal(that1.SetLoggingLevel) {
		return fmt.Errorf("SetLoggingLevel this(%v) Not Equal that(%v)", this.SetLoggingLevel, that1.SetLoggingLevel)
	}
	if !this.ListFiles.Equal(that1.ListFiles) {
		return fmt.Errorf("ListFiles this(%v) Not Equal that(%v)", this.ListFiles, that1.ListFiles)
	}
	if !this.ReadFile.Equal(that1.ReadFile) {
		return fmt.Errorf("ReadFile this(%v) Not Equal that(%v)", this.ReadFile, that1.ReadFile)
	}
	if !this.GetContainers.Equal(that1.GetContainers) {
		return fmt.Errorf("GetContainers this(%v) Not Equal that(%v)", this.GetContainers, that1.GetContainers)
	}
	if !this.LaunchNestedContainer.Equal(that1.LaunchNestedContainer) {
		return fmt.Errorf("LaunchNestedContainer this(%v) Not Equal that(%v)", this.LaunchNestedContainer, that1.LaunchNestedContainer)
	}
	if !this.WaitNestedContainer.Equal(that1.WaitNestedContainer) {
		return fmt.Errorf("WaitNestedContainer this(%v) Not Equal that(%v)", this.WaitNestedContainer, that1.WaitNestedContainer)
	}
	if !this.KillNestedContainer.Equal(that1.KillNestedContainer) {
		return fmt.Errorf("KillNestedContainer this(%v) Not Equal that(%v)", this.KillNestedContainer, that1.KillNestedContainer)
	}
	if !this.RemoveNestedContainer.Equal(that1.RemoveNestedContainer) {
		return fmt.Errorf("RemoveNestedContainer this(%v) Not Equal that(%v)", this.RemoveNestedContainer, that1.RemoveNestedContainer)
	}
	if !this.LaunchNestedContainerSession.Equal(that1.LaunchNestedContainerSession) {
		return fmt.Errorf("LaunchNestedContainerSession this(%v) Not Equal that(%v)", this.LaunchNestedContainerSession, that1.LaunchNestedContainerSession)
	}
	if !this.AttachContainerInput.Equal(that1.AttachContainerInput) {
		return fmt.Errorf("AttachContainerInput this(%v) Not Equal that(%v)", this.AttachContainerInput, that1.AttachContainerInput)
	}
	if !this.AttachContainerOutput.Equal(that1.AttachContainerOutput) {
		return fmt.Errorf("AttachContainerOutput this(%v) Not Equal that(%v)", this.AttachContainerOutput, that1.AttachContainerOutput)
	}
	if !this.LaunchContainer.Equal(that1.LaunchContainer) {
		return fmt.Errorf("LaunchContainer this(%v) Not Equal that(%v)", this.LaunchContainer, that1.LaunchContainer)
	}
	if !this.WaitContainer.Equal(that1.WaitContainer) {
		return fmt.Errorf("WaitContainer this(%v) Not Equal that(%v)", this.WaitContainer, that1.WaitContainer)
	}
	if !this.KillContainer.Equal(that1.KillContainer) {
		return fmt.Errorf("KillContainer this(%v) Not Equal that(%v)", this.KillContainer, that1.KillContainer)
	}
	if !this.RemoveContainer.Equal(that1.RemoveContainer) {
		return fmt.Errorf("RemoveContainer this(%v) Not Equal that(%v)", this.RemoveContainer, that1.RemoveContainer)
	}
	if !this.AddResourceProviderConfig.Equal(that1.AddResourceProviderConfig) {
		return fmt.Errorf("AddResourceProviderConfig this(%v) Not Equal that(%v)", this.AddResourceProviderConfig, that1.AddResourceProviderConfig)
	}
	if !this.UpdateResourceProviderConfig.Equal(that1.UpdateResourceProviderConfig) {
		return fmt.Errorf("UpdateResourceProviderConfig this(%v) Not Equal that(%v)", this.UpdateResourceProviderConfig, that1.UpdateResourceProviderConfig)
	}
	if !this.RemoveResourceProviderConfig.Equal(that1.RemoveResourceProviderConfig) {
		return fmt.Errorf("RemoveResourceProviderConfig this(%v) Not Equal that(%v)", this.RemoveResourceProviderConfig, that1.RemoveResourceProviderConfig)
	}
	if !this.PruneImages.Equal(that1.PruneImages) {
		return fmt.Errorf("PruneImages this(%v) Not Equal that(%v)", this.PruneImages, that1.PruneImages)
	}
	return nil
}
func (this *Call) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Call)
	if !ok {
		that2, ok := that.(Call)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if this.Type != that1.Type {
		return false
	}
	if !this.GetMetrics.Equal(that1.GetMetrics) {
		return false
	}
	if !this.SetLoggingLevel.Equal(that1.SetLoggingLevel) {
		return false
	}
	if !this.ListFiles.Equal(that1.ListFiles) {
		return false
	}
	if !this.ReadFile.Equal(that1.ReadFile) {
		return false
	}
	if !this.GetContainers.Equal(that1.GetContainers) {
		return false
	}
	if !this.LaunchNestedContainer.Equal(that1.LaunchNestedContainer) {
		return false
	}
	if !this.WaitNestedContainer.Equal(that1.WaitNestedContainer) {
		return false
	}
	if !this.KillNestedContainer.Equal(that1.KillNestedContainer) {
		return false
	}
	if !this.RemoveNestedContainer.Equal(that1.RemoveNestedContainer) {
		return false
	}
	if !this.LaunchNestedContainerSession.Equal(that1.LaunchNestedContainerSession) {
		return false
	}
	if !this.AttachContainerInput.Equal(that1.AttachContainerInput) {
		return false
	}
	if !this.AttachContainerOutput.Equal(that1.AttachContainerOutput) {
		return false
	}
	if !this.LaunchContainer.Equal(that1.LaunchContainer) {
		return false
	}
	if !this.WaitContainer.Equal(that1.WaitContainer) {
		return false
	}
	if !this.KillContainer.Equal(that1.KillContainer) {
		return false
	}
	if !this.RemoveContainer.Equal(that1.RemoveContainer) {
		return false
	}
	if !this.AddResourceProviderConfig.Equal(that1.AddResourceProviderConfig) {
		return false
	}
	if !this.UpdateResourceProviderConfig.Equal(that1.UpdateResourceProviderConfig) {
		return false
	}
	if !this.RemoveResourceProviderConfig.Equal(that1.RemoveResourceProviderConfig) {
		return false
	}
	if !this.PruneImages.Equal(that1.PruneImages) {
		return false
	}
	return true
}
func (this *Call_GetMetrics) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Call_GetMetrics)
	if !ok {
		that2, ok := that.(Call_GetMetrics)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Call_GetMetrics")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Call_GetMetrics but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Call_GetMetrics but is not nil && this == nil")
	}
	if !this.Timeout.Equal(that1.Timeout) {
		return fmt.Errorf("Timeout this(%v) Not Equal that(%v)", this.Timeout, that1.Timeout)
	}
	return nil
}
func (this *Call_GetMetrics) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Call_GetMetrics)
	if !ok {
		that2, ok := that.(Call_GetMetrics)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if !this.Timeout.Equal(that1.Timeout) {
		return false
	}
	return true
}
func (this *Call_SetLoggingLevel) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Call_SetLoggingLevel)
	if !ok {
		that2, ok := that.(Call_SetLoggingLevel)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Call_SetLoggingLevel")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Call_SetLoggingLevel but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Call_SetLoggingLevel but is not nil && this == nil")
	}
	if this.Level != that1.Level {
		return fmt.Errorf("Level this(%v) Not Equal that(%v)", this.Level, that1.Level)
	}
	if !this.Duration.Equal(&that1.Duration) {
		return fmt.Errorf("Duration this(%v) Not Equal that(%v)", this.Duration, that1.Duration)
	}
	return nil
}
func (this *Call_SetLoggingLevel) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Call_SetLoggingLevel)
	if !ok {
		that2, ok := that.(Call_SetLoggingLevel)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if this.Level != that1.Level {
		return false
	}
	if !this.Duration.Equal(&that1.Duration) {
		return false
	}
	return true
}
func (this *Call_ListFiles) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Call_ListFiles)
	if !ok {
		that2, ok := that.(Call_ListFiles)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Call_ListFiles")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Call_ListFiles but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Call_ListFiles but is not nil && this == nil")
	}
	if this.Path != that1.Path {
		return fmt.Errorf("Path this(%v) Not Equal that(%v)", this.Path, that1.Path)
	}
	return nil
}
func (this *Call_ListFiles) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Call_ListFiles)
	if !ok {
		that2, ok := that.(Call_ListFiles)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if this.Path != that1.Path {
		return false
	}
	return true
}
func (this *Call_ReadFile) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Call_ReadFile)
	if !ok {
		that2, ok := that.(Call_ReadFile)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Call_ReadFile")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Call_ReadFile but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Call_ReadFile but is not nil && this == nil")
	}
	if this.Path != that1.Path {
		return fmt.Errorf("Path this(%v) Not Equal that(%v)", this.Path, that1.Path)
	}
	if this.Offset != that1.Offset {
		return fmt.Errorf("Offset this(%v) Not Equal that(%v)", this.Offset, that1.Offset)
	}
	if this.Length != nil && that1.Length != nil {
		if *this.Length != *that1.Length {
			return fmt.Errorf("Length this(%v) Not Equal that(%v)", *this.Length, *that1.Length)
		}
	} else if this.Length != nil {
		return fmt.Errorf("this.Length == nil && that.Length != nil")
	} else if that1.Length != nil {
		return fmt.Errorf("Length this(%v) Not Equal that(%v)", this.Length, that1.Length)
	}
	return nil
}
func (this *Call_ReadFile) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Call_ReadFile)
	if !ok {
		that2, ok := that.(Call_ReadFile)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if this.Path != that1.Path {
		return false
	}
	if this.Offset != that1.Offset {
		return false
	}
	if this.Length != nil && that1.Length != nil {
		if *this.Length != *that1.Length {
			return false
		}
	} else if this.Length != nil {
		return false
	} else if that1.Length != nil {
		return false
	}
	return true
}
func (this *Call_GetContainers) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Call_GetContainers)
	if !ok {
		that2, ok := that.(Call_GetContainers)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Call_GetContainers")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Call_GetContainers but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Call_GetContainers but is not nil && this == nil")
	}
	if this.ShowNested != nil && that1.ShowNested != nil {
		if *this.ShowNested != *that1.ShowNested {
			return fmt.Errorf("ShowNested this(%v) Not Equal that(%v)", *this.ShowNested, *that1.ShowNested)
		}
	} else if this.ShowNested != nil {
		return fmt.Errorf("this.ShowNested == nil && that.ShowNested != nil")
	} else if that1.ShowNested != nil {
		return fmt.Errorf("ShowNested this(%v) Not Equal that(%v)", this.ShowNested, that1.ShowNested)
	}
	if this.ShowStandalone != nil && that1.ShowStandalone != nil {
		if *this.ShowStandalone != *that1.ShowStandalone {
			return fmt.Errorf("ShowStandalone this(%v) Not Equal that(%v)", *this.ShowStandalone, *that1.ShowStandalone)
		}
	} else if this.ShowStandalone != nil {
		return fmt.Errorf("this.ShowStandalone == nil && that.ShowStandalone != nil")
	} else if that1.ShowStandalone != nil {
		return fmt.Errorf("ShowStandalone this(%v) Not Equal that(%v)", this.ShowStandalone, that1.ShowStandalone)
	}
	return nil
}
func (this *Call_GetContainers) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Call_GetContainers)
	if !ok {
		that2, ok := that.(Call_GetContainers)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if this.ShowNested != nil && that1.ShowNested != nil {
		if *this.ShowNested != *that1.ShowNested {
			return false
		}
	} else if this.ShowNested != nil {
		return false
	} else if that1.ShowNested != nil {
		return false
	}
	if this.ShowStandalone != nil && that1.ShowStandalone != nil {
		if *this.ShowStandalone != *that1.ShowStandalone {
			return false
		}
	} else if this.ShowStandalone != nil {
		return false
	} else if that1.ShowStandalone != nil {
		return false
	}
	return true
}
func (this *Call_LaunchNestedContainer) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Call_LaunchNestedContainer)
	if !ok {
		that2, ok := that.(Call_LaunchNestedContainer)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Call_LaunchNestedContainer")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Call_LaunchNestedContainer but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Call_LaunchNestedContainer but is not nil && this == nil")
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return fmt.Errorf("ContainerID this(%v) Not Equal that(%v)", this.ContainerID, that1.ContainerID)
	}
	if !this.Command.Equal(that1.Command) {
		return fmt.Errorf("Command this(%v) Not Equal that(%v)", this.Command, that1.Command)
	}
	if !this.Container.Equal(that1.Container) {
		return fmt.Errorf("Container this(%v) Not Equal that(%v)", this.Container, that1.Container)
	}
	return nil
}
func (this *Call_LaunchNestedContainer) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Call_LaunchNestedContainer)
	if !ok {
		that2, ok := that.(Call_LaunchNestedContainer)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return false
	}
	if !this.Command.Equal(that1.Command) {
		return false
	}
	if !this.Container.Equal(that1.Container) {
		return false
	}
	return true
}
func (this *Call_WaitNestedContainer) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Call_WaitNestedContainer)
	if !ok {
		that2, ok := that.(Call_WaitNestedContainer)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Call_WaitNestedContainer")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Call_WaitNestedContainer but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Call_WaitNestedContainer but is not nil && this == nil")
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return fmt.Errorf("ContainerID this(%v) Not Equal that(%v)", this.ContainerID, that1.ContainerID)
	}
	return nil
}
func (this *Call_WaitNestedContainer) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Call_WaitNestedContainer)
	if !ok {
		that2, ok := that.(Call_WaitNestedContainer)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return false
	}
	return true
}
func (this *Call_KillNestedContainer) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Call_KillNestedContainer)
	if !ok {
		that2, ok := that.(Call_KillNestedContainer)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Call_KillNestedContainer")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Call_KillNestedContainer but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Call_KillNestedContainer but is not nil && this == nil")
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return fmt.Errorf("ContainerID this(%v) Not Equal that(%v)", this.ContainerID, that1.ContainerID)
	}
	if this.Signal != nil && that1.Signal != nil {
		if *this.Signal != *that1.Signal {
			return fmt.Errorf("Signal this(%v) Not Equal that(%v)", *this.Signal, *that1.Signal)
		}
	} else if this.Signal != nil {
		return fmt.Errorf("this.Signal == nil && that.Signal != nil")
	} else if that1.Signal != nil {
		return fmt.Errorf("Signal this(%v) Not Equal that(%v)", this.Signal, that1.Signal)
	}
	return nil
}
func (this *Call_KillNestedContainer) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Call_KillNestedContainer)
	if !ok {
		that2, ok := that.(Call_KillNestedContainer)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return false
	}
	if this.Signal != nil && that1.Signal != nil {
		if *this.Signal != *that1.Signal {
			return false
		}
	} else if this.Signal != nil {
		return false
	} else if that1.Signal != nil {
		return false
	}
	return true
}
func (this *Call_RemoveNestedContainer) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Call_RemoveNestedContainer)
	if !ok {
		that2, ok := that.(Call_RemoveNestedContainer)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Call_RemoveNestedContainer")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Call_RemoveNestedContainer but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Call_RemoveNestedContainer but is not nil && this == nil")
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return fmt.Errorf("ContainerID this(%v) Not Equal that(%v)", this.ContainerID, that1.ContainerID)
	}
	return nil
}
func (this *Call_RemoveNestedContainer) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Call_RemoveNestedContainer)
	if !ok {
		that2, ok := that.(Call_RemoveNestedContainer)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return false
	}
	return true
}
func (this *Call_LaunchNestedContainerSession) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Call_LaunchNestedContainerSession)
	if !ok {
		that2, ok := that.(Call_LaunchNestedContainerSession)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Call_LaunchNestedContainerSession")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Call_LaunchNestedContainerSession but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Call_LaunchNestedContainerSession but is not nil && this == nil")
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return fmt.Errorf("ContainerID this(%v) Not Equal that(%v)", this.ContainerID, that1.ContainerID)
	}
	if !this.Command.Equal(that1.Command) {
		return fmt.Errorf("Command this(%v) Not Equal that(%v)", this.Command, that1.Command)
	}
	if !this.Container.Equal(that1.Container) {
		return fmt.Errorf("Container this(%v) Not Equal that(%v)", this.Container, that1.Container)
	}
	return nil
}
func (this *Call_LaunchNestedContainerSession) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Call_LaunchNestedContainerSession)
	if !ok {
		that2, ok := that.(Call_LaunchNestedContainerSession)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return false
	}
	if !this.Command.Equal(that1.Command) {
		return false
	}
	if !this.Container.Equal(that1.Container) {
		return false
	}
	return true
}
func (this *Call_AttachContainerInput) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Call_AttachContainerInput)
	if !ok {
		that2, ok := that.(Call_AttachContainerInput)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Call_AttachContainerInput")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Call_AttachContainerInput but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Call_AttachContainerInput but is not nil && this == nil")
	}
	if this.Type != that1.Type {
		return fmt.Errorf("Type this(%v) Not Equal that(%v)", this.Type, that1.Type)
	}
	if !this.ContainerID.Equal(that1.ContainerID) {
		return fmt.Errorf("ContainerID this(%v) Not Equal that(%v)", this.ContainerID, that1.ContainerID)
	}
	if !this.ProcessIO.Equal(that1.ProcessIO) {
		return fmt.Errorf("ProcessIO this(%v) Not Equal that(%v)", this.ProcessIO, that1.ProcessIO)
	}
	return nil
}
func (this *Call_AttachContainerInput) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Call_AttachContainerInput)
	if !ok {
		that2, ok := that.(Call_AttachContainerInput)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if this.Type != that1.Type {
		return false
	}
	if !this.ContainerID.Equal(that1.ContainerID) {
		return false
	}
	if !this.ProcessIO.Equal(that1.ProcessIO) {
		return false
	}
	return true
}
func (this *Call_AttachContainerOutput) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Call_AttachContainerOutput)
	if !ok {
		that2, ok := that.(Call_AttachContainerOutput)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Call_AttachContainerOutput")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Call_AttachContainerOutput but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Call_AttachContainerOutput but is not nil && this == nil")
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return fmt.Errorf("ContainerID this(%v) Not Equal that(%v)", this.ContainerID, that1.ContainerID)
	}
	return nil
}
func (this *Call_AttachContainerOutput) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Call_AttachContainerOutput)
	if !ok {
		that2, ok := that.(Call_AttachContainerOutput)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return false
	}
	return true
}
func (this *Call_LaunchContainer) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Call_LaunchContainer)
	if !ok {
		that2, ok := that.(Call_LaunchContainer)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Call_LaunchContainer")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Call_LaunchContainer but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Call_LaunchContainer but is not nil && this == nil")
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return fmt.Errorf("ContainerID this(%v) Not Equal that(%v)", this.ContainerID, that1.ContainerID)
	}
	if !this.Command.Equal(that1.Command) {
		return fmt.Errorf("Command this(%v) Not Equal that(%v)", this.Command, that1.Command)
	}
	if len(this.Resources) != len(that1.Resources) {
		return fmt.Errorf("Resources this(%v) Not Equal that(%v)", len(this.Resources), len(that1.Resources))
	}
	for i := range this.Resources {
		if !this.Resources[i].Equal(&that1.Resources[i]) {
			return fmt.Errorf("Resources this[%v](%v) Not Equal that[%v](%v)", i, this.Resources[i], i, that1.Resources[i])
		}
	}
	if !this.Container.Equal(that1.Container) {
		return fmt.Errorf("Container this(%v) Not Equal that(%v)", this.Container, that1.Container)
	}
	return nil
}
func (this *Call_LaunchContainer) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Call_LaunchContainer)
	if !ok {
		that2, ok := that.(Call_LaunchContainer)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return false
	}
	if !this.Command.Equal(that1.Command) {
		return false
	}
	if len(this.Resources) != len(that1.Resources) {
		return false
	}
	for i := range this.Resources {
		if !this.Resources[i].Equal(&that1.Resources[i]) {
			return false
		}
	}
	if !this.Container.Equal(that1.Container) {
		return false
	}
	return true
}
func (this *Call_WaitContainer) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Call_WaitContainer)
	if !ok {
		that2, ok := that.(Call_WaitContainer)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Call_WaitContainer")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Call_WaitContainer but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Call_WaitContainer but is not nil && this == nil")
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return fmt.Errorf("ContainerID this(%v) Not Equal that(%v)", this.ContainerID, that1.ContainerID)
	}
	return nil
}
func (this *Call_WaitContainer) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Call_WaitContainer)
	if !ok {
		that2, ok := that.(Call_WaitContainer)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return false
	}
	return true
}
func (this *Call_KillContainer) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Call_KillContainer)
	if !ok {
		that2, ok := that.(Call_KillContainer)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Call_KillContainer")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Call_KillContainer but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Call_KillContainer but is not nil && this == nil")
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return fmt.Errorf("ContainerID this(%v) Not Equal that(%v)", this.ContainerID, that1.ContainerID)
	}
	if this.Signal != nil && that1.Signal != nil {
		if *this.Signal != *that1.Signal {
			return fmt.Errorf("Signal this(%v) Not Equal that(%v)", *this.Signal, *that1.Signal)
		}
	} else if this.Signal != nil {
		return fmt.Errorf("this.Signal == nil && that.Signal != nil")
	} else if that1.Signal != nil {
		return fmt.Errorf("Signal this(%v) Not Equal that(%v)", this.Signal, that1.Signal)
	}
	return nil
}
func (this *Call_KillContainer) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Call_KillContainer)
	if !ok {
		that2, ok := that.(Call_KillContainer)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return false
	}
	if this.Signal != nil && that1.Signal != nil {
		if *this.Signal != *that1.Signal {
			return false
		}
	} else if this.Signal != nil {
		return false
	} else if that1.Signal != nil {
		return false
	}
	return true
}
func (this *Call_RemoveContainer) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Call_RemoveContainer)
	if !ok {
		that2, ok := that.(Call_RemoveContainer)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Call_RemoveContainer")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Call_RemoveContainer but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Call_RemoveContainer but is not nil && this == nil")
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return fmt.Errorf("ContainerID this(%v) Not Equal that(%v)", this.ContainerID, that1.ContainerID)
	}
	return nil
}
func (this *Call_RemoveContainer) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Call_RemoveContainer)
	if !ok {
		that2, ok := that.(Call_RemoveContainer)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return false
	}
	return true
}
func (this *Call_AddResourceProviderConfig) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Call_AddResourceProviderConfig)
	if !ok {
		that2, ok := that.(Call_AddResourceProviderConfig)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Call_AddResourceProviderConfig")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Call_AddResourceProviderConfig but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Call_AddResourceProviderConfig but is not nil && this == nil")
	}
	if !this.Info.Equal(&that1.Info) {
		return fmt.Errorf("Info this(%v) Not Equal that(%v)", this.Info, that1.Info)
	}
	return nil
}
func (this *Call_AddResourceProviderConfig) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Call_AddResourceProviderConfig)
	if !ok {
		that2, ok := that.(Call_AddResourceProviderConfig)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if !this.Info.Equal(&that1.Info) {
		return false
	}
	return true
}
func (this *Call_UpdateResourceProviderConfig) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Call_UpdateResourceProviderConfig)
	if !ok {
		that2, ok := that.(Call_UpdateResourceProviderConfig)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Call_UpdateResourceProviderConfig")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Call_UpdateResourceProviderConfig but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Call_UpdateResourceProviderConfig but is not nil && this == nil")
	}
	if !this.Info.Equal(&that1.Info) {
		return fmt.Errorf("Info this(%v) Not Equal that(%v)", this.Info, that1.Info)
	}
	return nil
}
func (this *Call_UpdateResourceProviderConfig) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Call_UpdateResourceProviderConfig)
	if !ok {
		that2, ok := that.(Call_UpdateResourceProviderConfig)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if !this.Info.Equal(&that1.Info) {
		return false
	}
	return true
}
func (this *Call_RemoveResourceProviderConfig) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Call_RemoveResourceProviderConfig)
	if !ok {
		that2, ok := that.(Call_RemoveResourceProviderConfig)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Call_RemoveResourceProviderConfig")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Call_RemoveResourceProviderConfig but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Call_RemoveResourceProviderConfig but is not nil && this == nil")
	}
	if this.Type != that1.Type {
		return fmt.Errorf("Type this(%v) Not Equal that(%v)", this.Type, that1.Type)
	}
	if this.Name != that1.Name {
		return fmt.Errorf("Name this(%v) Not Equal that(%v)", this.Name, that1.Name)
	}
	return nil
}
func (this *Call_RemoveResourceProviderConfig) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Call_RemoveResourceProviderConfig)
	if !ok {
		that2, ok := that.(Call_RemoveResourceProviderConfig)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if this.Type != that1.Type {
		return false
	}
	if this.Name != that1.Name {
		return false
	}
	return true
}
func (this *Call_PruneImages) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Call_PruneImages)
	if !ok {
		that2, ok := that.(Call_PruneImages)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Call_PruneImages")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Call_PruneImages but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Call_PruneImages but is not nil && this == nil")
	}
	if len(this.ExcludedImages) != len(that1.ExcludedImages) {
		return fmt.Errorf("ExcludedImages this(%v) Not Equal that(%v)", len(this.ExcludedImages), len(that1.ExcludedImages))
	}
	for i := range this.ExcludedImages {
		if !this.ExcludedImages[i].Equal(&that1.ExcludedImages[i]) {
			return fmt.Errorf("ExcludedImages this[%v](%v) Not Equal that[%v](%v)", i, this.ExcludedImages[i], i, that1.ExcludedImages[i])
		}
	}
	return nil
}
func (this *Call_PruneImages) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Call_PruneImages)
	if !ok {
		that2, ok := that.(Call_PruneImages)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if len(this.ExcludedImages) != len(that1.ExcludedImages) {
		return false
	}
	for i := range this.ExcludedImages {
		if !this.ExcludedImages[i].Equal(&that1.ExcludedImages[i]) {
			return false
		}
	}
	return true
}
func (this *Response) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response)
	if !ok {
		that2, ok := that.(Response)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response but is not nil && this == nil")
	}
	if this.Type != that1.Type {
		return fmt.Errorf("Type this(%v) Not Equal that(%v)", this.Type, that1.Type)
	}
	if !this.GetHealth.Equal(that1.GetHealth) {
		return fmt.Errorf("GetHealth this(%v) Not Equal that(%v)", this.GetHealth, that1.GetHealth)
	}
	if !this.GetFlags.Equal(that1.GetFlags) {
		return fmt.Errorf("GetFlags this(%v) Not Equal that(%v)", this.GetFlags, that1.GetFlags)
	}
	if !this.GetVersion.Equal(that1.GetVersion) {
		return fmt.Errorf("GetVersion this(%v) Not Equal that(%v)", this.GetVersion, that1.GetVersion)
	}
	if !this.GetMetrics.Equal(that1.GetMetrics) {
		return fmt.Errorf("GetMetrics this(%v) Not Equal that(%v)", this.GetMetrics, that1.GetMetrics)
	}
	if !this.GetLoggingLevel.Equal(that1.GetLoggingLevel) {
		return fmt.Errorf("GetLoggingLevel this(%v) Not Equal that(%v)", this.GetLoggingLevel, that1.GetLoggingLevel)
	}
	if !this.ListFiles.Equal(that1.ListFiles) {
		return fmt.Errorf("ListFiles this(%v) Not Equal that(%v)", this.ListFiles, that1.ListFiles)
	}
	if !this.ReadFile.Equal(that1.ReadFile) {
		return fmt.Errorf("ReadFile this(%v) Not Equal that(%v)", this.ReadFile, that1.ReadFile)
	}
	if !this.GetState.Equal(that1.GetState) {
		return fmt.Errorf("GetState this(%v) Not Equal that(%v)", this.GetState, that1.GetState)
	}
	if !this.GetContainers.Equal(that1.GetContainers) {
		return fmt.Errorf("GetContainers this(%v) Not Equal that(%v)", this.GetContainers, that1.GetContainers)
	}
	if !this.GetFrameworks.Equal(that1.GetFrameworks) {
		return fmt.Errorf("GetFrameworks this(%v) Not Equal that(%v)", this.GetFrameworks, that1.GetFrameworks)
	}
	if !this.GetExecutors.Equal(that1.GetExecutors) {
		return fmt.Errorf("GetExecutors this(%v) Not Equal that(%v)", this.GetExecutors, that1.GetExecutors)
	}
	if !this.GetOperations.Equal(that1.GetOperations) {
		return fmt.Errorf("GetOperations this(%v) Not Equal that(%v)", this.GetOperations, that1.GetOperations)
	}
	if !this.GetTasks.Equal(that1.GetTasks) {
		return fmt.Errorf("GetTasks this(%v) Not Equal that(%v)", this.GetTasks, that1.GetTasks)
	}
	if !this.GetAgent.Equal(that1.GetAgent) {
		return fmt.Errorf("GetAgent this(%v) Not Equal that(%v)", this.GetAgent, that1.GetAgent)
	}
	if !this.GetResourceProviders.Equal(that1.GetResourceProviders) {
		return fmt.Errorf("GetResourceProviders this(%v) Not Equal that(%v)", this.GetResourceProviders, that1.GetResourceProviders)
	}
	if !this.WaitNestedContainer.Equal(that1.WaitNestedContainer) {
		return fmt.Errorf("WaitNestedContainer this(%v) Not Equal that(%v)", this.WaitNestedContainer, that1.WaitNestedContainer)
	}
	if !this.WaitContainer.Equal(that1.WaitContainer) {
		return fmt.Errorf("WaitContainer this(%v) Not Equal that(%v)", this.WaitContainer, that1.WaitContainer)
	}
	return nil
}
func (this *Response) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response)
	if !ok {
		that2, ok := that.(Response)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if this.Type != that1.Type {
		return false
	}
	if !this.GetHealth.Equal(that1.GetHealth) {
		return false
	}
	if !this.GetFlags.Equal(that1.GetFlags) {
		return false
	}
	if !this.GetVersion.Equal(that1.GetVersion) {
		return false
	}
	if !this.GetMetrics.Equal(that1.GetMetrics) {
		return false
	}
	if !this.GetLoggingLevel.Equal(that1.GetLoggingLevel) {
		return false
	}
	if !this.ListFiles.Equal(that1.ListFiles) {
		return false
	}
	if !this.ReadFile.Equal(that1.ReadFile) {
		return false
	}
	if !this.GetState.Equal(that1.GetState) {
		return false
	}
	if !this.GetContainers.Equal(that1.GetContainers) {
		return false
	}
	if !this.GetFrameworks.Equal(that1.GetFrameworks) {
		return false
	}
	if !this.GetExecutors.Equal(that1.GetExecutors) {
		return false
	}
	if !this.GetOperations.Equal(that1.GetOperations) {
		return false
	}
	if !this.GetTasks.Equal(that1.GetTasks) {
		return false
	}
	if !this.GetAgent.Equal(that1.GetAgent) {
		return false
	}
	if !this.GetResourceProviders.Equal(that1.GetResourceProviders) {
		return false
	}
	if !this.WaitNestedContainer.Equal(that1.WaitNestedContainer) {
		return false
	}
	if !this.WaitContainer.Equal(that1.WaitContainer) {
		return false
	}
	return true
}
func (this *Response_GetHealth) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response_GetHealth)
	if !ok {
		that2, ok := that.(Response_GetHealth)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response_GetHealth")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response_GetHealth but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response_GetHealth but is not nil && this == nil")
	}
	if this.Healthy != that1.Healthy {
		return fmt.Errorf("Healthy this(%v) Not Equal that(%v)", this.Healthy, that1.Healthy)
	}
	return nil
}
func (this *Response_GetHealth) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response_GetHealth)
	if !ok {
		that2, ok := that.(Response_GetHealth)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if this.Healthy != that1.Healthy {
		return false
	}
	return true
}
func (this *Response_GetFlags) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response_GetFlags)
	if !ok {
		that2, ok := that.(Response_GetFlags)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response_GetFlags")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response_GetFlags but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response_GetFlags but is not nil && this == nil")
	}
	if len(this.Flags) != len(that1.Flags) {
		return fmt.Errorf("Flags this(%v) Not Equal that(%v)", len(this.Flags), len(that1.Flags))
	}
	for i := range this.Flags {
		if !this.Flags[i].Equal(&that1.Flags[i]) {
			return fmt.Errorf("Flags this[%v](%v) Not Equal that[%v](%v)", i, this.Flags[i], i, that1.Flags[i])
		}
	}
	return nil
}
func (this *Response_GetFlags) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response_GetFlags)
	if !ok {
		that2, ok := that.(Response_GetFlags)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if len(this.Flags) != len(that1.Flags) {
		return false
	}
	for i := range this.Flags {
		if !this.Flags[i].Equal(&that1.Flags[i]) {
			return false
		}
	}
	return true
}
func (this *Response_GetVersion) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response_GetVersion)
	if !ok {
		that2, ok := that.(Response_GetVersion)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response_GetVersion")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response_GetVersion but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response_GetVersion but is not nil && this == nil")
	}
	if !this.VersionInfo.Equal(&that1.VersionInfo) {
		return fmt.Errorf("VersionInfo this(%v) Not Equal that(%v)", this.VersionInfo, that1.VersionInfo)
	}
	return nil
}
func (this *Response_GetVersion) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response_GetVersion)
	if !ok {
		that2, ok := that.(Response_GetVersion)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if !this.VersionInfo.Equal(&that1.VersionInfo) {
		return false
	}
	return true
}
func (this *Response_GetMetrics) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response_GetMetrics)
	if !ok {
		that2, ok := that.(Response_GetMetrics)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response_GetMetrics")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response_GetMetrics but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response_GetMetrics but is not nil && this == nil")
	}
	if len(this.Metrics) != len(that1.Metrics) {
		return fmt.Errorf("Metrics this(%v) Not Equal that(%v)", len(this.Metrics), len(that1.Metrics))
	}
	for i := range this.Metrics {
		if !this.Metrics[i].Equal(&that1.Metrics[i]) {
			return fmt.Errorf("Metrics this[%v](%v) Not Equal that[%v](%v)", i, this.Metrics[i], i, that1.Metrics[i])
		}
	}
	return nil
}
func (this *Response_GetMetrics) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response_GetMetrics)
	if !ok {
		that2, ok := that.(Response_GetMetrics)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if len(this.Metrics) != len(that1.Metrics) {
		return false
	}
	for i := range this.Metrics {
		if !this.Metrics[i].Equal(&that1.Metrics[i]) {
			return false
		}
	}
	return true
}
func (this *Response_GetLoggingLevel) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response_GetLoggingLevel)
	if !ok {
		that2, ok := that.(Response_GetLoggingLevel)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response_GetLoggingLevel")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response_GetLoggingLevel but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response_GetLoggingLevel but is not nil && this == nil")
	}
	if this.Level != that1.Level {
		return fmt.Errorf("Level this(%v) Not Equal that(%v)", this.Level, that1.Level)
	}
	return nil
}
func (this *Response_GetLoggingLevel) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response_GetLoggingLevel)
	if !ok {
		that2, ok := that.(Response_GetLoggingLevel)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if this.Level != that1.Level {
		return false
	}
	return true
}
func (this *Response_ListFiles) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response_ListFiles)
	if !ok {
		that2, ok := that.(Response_ListFiles)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response_ListFiles")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response_ListFiles but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response_ListFiles but is not nil && this == nil")
	}
	if len(this.FileInfos) != len(that1.FileInfos) {
		return fmt.Errorf("FileInfos this(%v) Not Equal that(%v)", len(this.FileInfos), len(that1.FileInfos))
	}
	for i := range this.FileInfos {
		if !this.FileInfos[i].Equal(&that1.FileInfos[i]) {
			return fmt.Errorf("FileInfos this[%v](%v) Not Equal that[%v](%v)", i, this.FileInfos[i], i, that1.FileInfos[i])
		}
	}
	return nil
}
func (this *Response_ListFiles) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response_ListFiles)
	if !ok {
		that2, ok := that.(Response_ListFiles)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if len(this.FileInfos) != len(that1.FileInfos) {
		return false
	}
	for i := range this.FileInfos {
		if !this.FileInfos[i].Equal(&that1.FileInfos[i]) {
			return false
		}
	}
	return true
}
func (this *Response_ReadFile) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response_ReadFile)
	if !ok {
		that2, ok := that.(Response_ReadFile)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response_ReadFile")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response_ReadFile but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response_ReadFile but is not nil && this == nil")
	}
	if this.Size != that1.Size {
		return fmt.Errorf("Size this(%v) Not Equal that(%v)", this.Size, that1.Size)
	}
	if !bytes.Equal(this.Data, that1.Data) {
		return fmt.Errorf("Data this(%v) Not Equal that(%v)", this.Data, that1.Data)
	}
	return nil
}
func (this *Response_ReadFile) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response_ReadFile)
	if !ok {
		that2, ok := that.(Response_ReadFile)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if this.Size != that1.Size {
		return false
	}
	if !bytes.Equal(this.Data, that1.Data) {
		return false
	}
	return true
}
func (this *Response_GetState) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response_GetState)
	if !ok {
		that2, ok := that.(Response_GetState)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response_GetState")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response_GetState but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response_GetState but is not nil && this == nil")
	}
	if !this.GetTasks.Equal(that1.GetTasks) {
		return fmt.Errorf("GetTasks this(%v) Not Equal that(%v)", this.GetTasks, that1.GetTasks)
	}
	if !this.GetExecutors.Equal(that1.GetExecutors) {
		return fmt.Errorf("GetExecutors this(%v) Not Equal that(%v)", this.GetExecutors, that1.GetExecutors)
	}
	if !this.GetFrameworks.Equal(that1.GetFrameworks) {
		return fmt.Errorf("GetFrameworks this(%v) Not Equal that(%v)", this.GetFrameworks, that1.GetFrameworks)
	}
	return nil
}
func (this *Response_GetState) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response_GetState)
	if !ok {
		that2, ok := that.(Response_GetState)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if !this.GetTasks.Equal(that1.GetTasks) {
		return false
	}
	if !this.GetExecutors.Equal(that1.GetExecutors) {
		return false
	}
	if !this.GetFrameworks.Equal(that1.GetFrameworks) {
		return false
	}
	return true
}
func (this *Response_GetContainers) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response_GetContainers)
	if !ok {
		that2, ok := that.(Response_GetContainers)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response_GetContainers")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response_GetContainers but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response_GetContainers but is not nil && this == nil")
	}
	if len(this.Containers) != len(that1.Containers) {
		return fmt.Errorf("Containers this(%v) Not Equal that(%v)", len(this.Containers), len(that1.Containers))
	}
	for i := range this.Containers {
		if !this.Containers[i].Equal(&that1.Containers[i]) {
			return fmt.Errorf("Containers this[%v](%v) Not Equal that[%v](%v)", i, this.Containers[i], i, that1.Containers[i])
		}
	}
	return nil
}
func (this *Response_GetContainers) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response_GetContainers)
	if !ok {
		that2, ok := that.(Response_GetContainers)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if len(this.Containers) != len(that1.Containers) {
		return false
	}
	for i := range this.Containers {
		if !this.Containers[i].Equal(&that1.Containers[i]) {
			return false
		}
	}
	return true
}
func (this *Response_GetContainers_Container) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response_GetContainers_Container)
	if !ok {
		that2, ok := that.(Response_GetContainers_Container)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response_GetContainers_Container")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response_GetContainers_Container but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response_GetContainers_Container but is not nil && this == nil")
	}
	if !this.FrameworkID.Equal(that1.FrameworkID) {
		return fmt.Errorf("FrameworkID this(%v) Not Equal that(%v)", this.FrameworkID, that1.FrameworkID)
	}
	if !this.ExecutorID.Equal(that1.ExecutorID) {
		return fmt.Errorf("ExecutorID this(%v) Not Equal that(%v)", this.ExecutorID, that1.ExecutorID)
	}
	if this.ExecutorName != nil && that1.ExecutorName != nil {
		if *this.ExecutorName != *that1.ExecutorName {
			return fmt.Errorf("ExecutorName this(%v) Not Equal that(%v)", *this.ExecutorName, *that1.ExecutorName)
		}
	} else if this.ExecutorName != nil {
		return fmt.Errorf("this.ExecutorName == nil && that.ExecutorName != nil")
	} else if that1.ExecutorName != nil {
		return fmt.Errorf("ExecutorName this(%v) Not Equal that(%v)", this.ExecutorName, that1.ExecutorName)
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return fmt.Errorf("ContainerID this(%v) Not Equal that(%v)", this.ContainerID, that1.ContainerID)
	}
	if !this.ContainerStatus.Equal(that1.ContainerStatus) {
		return fmt.Errorf("ContainerStatus this(%v) Not Equal that(%v)", this.ContainerStatus, that1.ContainerStatus)
	}
	if !this.ResourceStatistics.Equal(that1.ResourceStatistics) {
		return fmt.Errorf("ResourceStatistics this(%v) Not Equal that(%v)", this.ResourceStatistics, that1.ResourceStatistics)
	}
	return nil
}
func (this *Response_GetContainers_Container) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response_GetContainers_Container)
	if !ok {
		that2, ok := that.(Response_GetContainers_Container)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if !this.FrameworkID.Equal(that1.FrameworkID) {
		return false
	}
	if !this.ExecutorID.Equal(that1.ExecutorID) {
		return false
	}
	if this.ExecutorName != nil && that1.ExecutorName != nil {
		if *this.ExecutorName != *that1.ExecutorName {
			return false
		}
	} else if this.ExecutorName != nil {
		return false
	} else if that1.ExecutorName != nil {
		return false
	}
	if !this.ContainerID.Equal(&that1.ContainerID) {
		return false
	}
	if !this.ContainerStatus.Equal(that1.ContainerStatus) {
		return false
	}
	if !this.ResourceStatistics.Equal(that1.ResourceStatistics) {
		return false
	}
	return true
}
func (this *Response_GetFrameworks) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response_GetFrameworks)
	if !ok {
		that2, ok := that.(Response_GetFrameworks)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response_GetFrameworks")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response_GetFrameworks but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response_GetFrameworks but is not nil && this == nil")
	}
	if len(this.Frameworks) != len(that1.Frameworks) {
		return fmt.Errorf("Frameworks this(%v) Not Equal that(%v)", len(this.Frameworks), len(that1.Frameworks))
	}
	for i := range this.Frameworks {
		if !this.Frameworks[i].Equal(&that1.Frameworks[i]) {
			return fmt.Errorf("Frameworks this[%v](%v) Not Equal that[%v](%v)", i, this.Frameworks[i], i, that1.Frameworks[i])
		}
	}
	if len(this.CompletedFrameworks) != len(that1.CompletedFrameworks) {
		return fmt.Errorf("CompletedFrameworks this(%v) Not Equal that(%v)", len(this.CompletedFrameworks), len(that1.CompletedFrameworks))
	}
	for i := range this.CompletedFrameworks {
		if !this.CompletedFrameworks[i].Equal(&that1.CompletedFrameworks[i]) {
			return fmt.Errorf("CompletedFrameworks this[%v](%v) Not Equal that[%v](%v)", i, this.CompletedFrameworks[i], i, that1.CompletedFrameworks[i])
		}
	}
	return nil
}
func (this *Response_GetFrameworks) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response_GetFrameworks)
	if !ok {
		that2, ok := that.(Response_GetFrameworks)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if len(this.Frameworks) != len(that1.Frameworks) {
		return false
	}
	for i := range this.Frameworks {
		if !this.Frameworks[i].Equal(&that1.Frameworks[i]) {
			return false
		}
	}
	if len(this.CompletedFrameworks) != len(that1.CompletedFrameworks) {
		return false
	}
	for i := range this.CompletedFrameworks {
		if !this.CompletedFrameworks[i].Equal(&that1.CompletedFrameworks[i]) {
			return false
		}
	}
	return true
}
func (this *Response_GetFrameworks_Framework) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response_GetFrameworks_Framework)
	if !ok {
		that2, ok := that.(Response_GetFrameworks_Framework)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response_GetFrameworks_Framework")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response_GetFrameworks_Framework but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response_GetFrameworks_Framework but is not nil && this == nil")
	}
	if !this.FrameworkInfo.Equal(&that1.FrameworkInfo) {
		return fmt.Errorf("FrameworkInfo this(%v) Not Equal that(%v)", this.FrameworkInfo, that1.FrameworkInfo)
	}
	return nil
}
func (this *Response_GetFrameworks_Framework) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response_GetFrameworks_Framework)
	if !ok {
		that2, ok := that.(Response_GetFrameworks_Framework)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if !this.FrameworkInfo.Equal(&that1.FrameworkInfo) {
		return false
	}
	return true
}
func (this *Response_GetExecutors) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response_GetExecutors)
	if !ok {
		that2, ok := that.(Response_GetExecutors)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response_GetExecutors")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response_GetExecutors but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response_GetExecutors but is not nil && this == nil")
	}
	if len(this.Executors) != len(that1.Executors) {
		return fmt.Errorf("Executors this(%v) Not Equal that(%v)", len(this.Executors), len(that1.Executors))
	}
	for i := range this.Executors {
		if !this.Executors[i].Equal(&that1.Executors[i]) {
			return fmt.Errorf("Executors this[%v](%v) Not Equal that[%v](%v)", i, this.Executors[i], i, that1.Executors[i])
		}
	}
	if len(this.CompletedExecutors) != len(that1.CompletedExecutors) {
		return fmt.Errorf("CompletedExecutors this(%v) Not Equal that(%v)", len(this.CompletedExecutors), len(that1.CompletedExecutors))
	}
	for i := range this.CompletedExecutors {
		if !this.CompletedExecutors[i].Equal(&that1.CompletedExecutors[i]) {
			return fmt.Errorf("CompletedExecutors this[%v](%v) Not Equal that[%v](%v)", i, this.CompletedExecutors[i], i, that1.CompletedExecutors[i])
		}
	}
	return nil
}
func (this *Response_GetExecutors) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response_GetExecutors)
	if !ok {
		that2, ok := that.(Response_GetExecutors)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if len(this.Executors) != len(that1.Executors) {
		return false
	}
	for i := range this.Executors {
		if !this.Executors[i].Equal(&that1.Executors[i]) {
			return false
		}
	}
	if len(this.CompletedExecutors) != len(that1.CompletedExecutors) {
		return false
	}
	for i := range this.CompletedExecutors {
		if !this.CompletedExecutors[i].Equal(&that1.CompletedExecutors[i]) {
			return false
		}
	}
	return true
}
func (this *Response_GetExecutors_Executor) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response_GetExecutors_Executor)
	if !ok {
		that2, ok := that.(Response_GetExecutors_Executor)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response_GetExecutors_Executor")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response_GetExecutors_Executor but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response_GetExecutors_Executor but is not nil && this == nil")
	}
	if !this.ExecutorInfo.Equal(&that1.ExecutorInfo) {
		return fmt.Errorf("ExecutorInfo this(%v) Not Equal that(%v)", this.ExecutorInfo, that1.ExecutorInfo)
	}
	return nil
}
func (this *Response_GetExecutors_Executor) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response_GetExecutors_Executor)
	if !ok {
		that2, ok := that.(Response_GetExecutors_Executor)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if !this.ExecutorInfo.Equal(&that1.ExecutorInfo) {
		return false
	}
	return true
}
func (this *Response_GetOperations) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response_GetOperations)
	if !ok {
		that2, ok := that.(Response_GetOperations)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response_GetOperations")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response_GetOperations but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response_GetOperations but is not nil && this == nil")
	}
	if len(this.Operations) != len(that1.Operations) {
		return fmt.Errorf("Operations this(%v) Not Equal that(%v)", len(this.Operations), len(that1.Operations))
	}
	for i := range this.Operations {
		if !this.Operations[i].Equal(&that1.Operations[i]) {
			return fmt.Errorf("Operations this[%v](%v) Not Equal that[%v](%v)", i, this.Operations[i], i, that1.Operations[i])
		}
	}
	return nil
}
func (this *Response_GetOperations) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response_GetOperations)
	if !ok {
		that2, ok := that.(Response_GetOperations)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if len(this.Operations) != len(that1.Operations) {
		return false
	}
	for i := range this.Operations {
		if !this.Operations[i].Equal(&that1.Operations[i]) {
			return false
		}
	}
	return true
}
func (this *Response_GetTasks) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response_GetTasks)
	if !ok {
		that2, ok := that.(Response_GetTasks)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response_GetTasks")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response_GetTasks but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response_GetTasks but is not nil && this == nil")
	}
	if len(this.PendingTasks) != len(that1.PendingTasks) {
		return fmt.Errorf("PendingTasks this(%v) Not Equal that(%v)", len(this.PendingTasks), len(that1.PendingTasks))
	}
	for i := range this.PendingTasks {
		if !this.PendingTasks[i].Equal(&that1.PendingTasks[i]) {
			return fmt.Errorf("PendingTasks this[%v](%v) Not Equal that[%v](%v)", i, this.PendingTasks[i], i, that1.PendingTasks[i])
		}
	}
	if len(this.QueuedTasks) != len(that1.QueuedTasks) {
		return fmt.Errorf("QueuedTasks this(%v) Not Equal that(%v)", len(this.QueuedTasks), len(that1.QueuedTasks))
	}
	for i := range this.QueuedTasks {
		if !this.QueuedTasks[i].Equal(&that1.QueuedTasks[i]) {
			return fmt.Errorf("QueuedTasks this[%v](%v) Not Equal that[%v](%v)", i, this.QueuedTasks[i], i, that1.QueuedTasks[i])
		}
	}
	if len(this.LaunchedTasks) != len(that1.LaunchedTasks) {
		return fmt.Errorf("LaunchedTasks this(%v) Not Equal that(%v)", len(this.LaunchedTasks), len(that1.LaunchedTasks))
	}
	for i := range this.LaunchedTasks {
		if !this.LaunchedTasks[i].Equal(&that1.LaunchedTasks[i]) {
			return fmt.Errorf("LaunchedTasks this[%v](%v) Not Equal that[%v](%v)", i, this.LaunchedTasks[i], i, that1.LaunchedTasks[i])
		}
	}
	if len(this.TerminatedTasks) != len(that1.TerminatedTasks) {
		return fmt.Errorf("TerminatedTasks this(%v) Not Equal that(%v)", len(this.TerminatedTasks), len(that1.TerminatedTasks))
	}
	for i := range this.TerminatedTasks {
		if !this.TerminatedTasks[i].Equal(&that1.TerminatedTasks[i]) {
			return fmt.Errorf("TerminatedTasks this[%v](%v) Not Equal that[%v](%v)", i, this.TerminatedTasks[i], i, that1.TerminatedTasks[i])
		}
	}
	if len(this.CompletedTasks) != len(that1.CompletedTasks) {
		return fmt.Errorf("CompletedTasks this(%v) Not Equal that(%v)", len(this.CompletedTasks), len(that1.CompletedTasks))
	}
	for i := range this.CompletedTasks {
		if !this.CompletedTasks[i].Equal(&that1.CompletedTasks[i]) {
			return fmt.Errorf("CompletedTasks this[%v](%v) Not Equal that[%v](%v)", i, this.CompletedTasks[i], i, that1.CompletedTasks[i])
		}
	}
	return nil
}
func (this *Response_GetTasks) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response_GetTasks)
	if !ok {
		that2, ok := that.(Response_GetTasks)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if len(this.PendingTasks) != len(that1.PendingTasks) {
		return false
	}
	for i := range this.PendingTasks {
		if !this.PendingTasks[i].Equal(&that1.PendingTasks[i]) {
			return false
		}
	}
	if len(this.QueuedTasks) != len(that1.QueuedTasks) {
		return false
	}
	for i := range this.QueuedTasks {
		if !this.QueuedTasks[i].Equal(&that1.QueuedTasks[i]) {
			return false
		}
	}
	if len(this.LaunchedTasks) != len(that1.LaunchedTasks) {
		return false
	}
	for i := range this.LaunchedTasks {
		if !this.LaunchedTasks[i].Equal(&that1.LaunchedTasks[i]) {
			return false
		}
	}
	if len(this.TerminatedTasks) != len(that1.TerminatedTasks) {
		return false
	}
	for i := range this.TerminatedTasks {
		if !this.TerminatedTasks[i].Equal(&that1.TerminatedTasks[i]) {
			return false
		}
	}
	if len(this.CompletedTasks) != len(that1.CompletedTasks) {
		return false
	}
	for i := range this.CompletedTasks {
		if !this.CompletedTasks[i].Equal(&that1.CompletedTasks[i]) {
			return false
		}
	}
	return true
}
func (this *Response_GetAgent) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response_GetAgent)
	if !ok {
		that2, ok := that.(Response_GetAgent)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response_GetAgent")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response_GetAgent but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response_GetAgent but is not nil && this == nil")
	}
	if !this.AgentInfo.Equal(that1.AgentInfo) {
		return fmt.Errorf("AgentInfo this(%v) Not Equal that(%v)", this.AgentInfo, that1.AgentInfo)
	}
	return nil
}
func (this *Response_GetAgent) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response_GetAgent)
	if !ok {
		that2, ok := that.(Response_GetAgent)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if !this.AgentInfo.Equal(that1.AgentInfo) {
		return false
	}
	return true
}
func (this *Response_GetResourceProviders) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response_GetResourceProviders)
	if !ok {
		that2, ok := that.(Response_GetResourceProviders)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response_GetResourceProviders")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response_GetResourceProviders but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response_GetResourceProviders but is not nil && this == nil")
	}
	if len(this.ResourceProviders) != len(that1.ResourceProviders) {
		return fmt.Errorf("ResourceProviders this(%v) Not Equal that(%v)", len(this.ResourceProviders), len(that1.ResourceProviders))
	}
	for i := range this.ResourceProviders {
		if !this.ResourceProviders[i].Equal(&that1.ResourceProviders[i]) {
			return fmt.Errorf("ResourceProviders this[%v](%v) Not Equal that[%v](%v)", i, this.ResourceProviders[i], i, that1.ResourceProviders[i])
		}
	}
	return nil
}
func (this *Response_GetResourceProviders) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response_GetResourceProviders)
	if !ok {
		that2, ok := that.(Response_GetResourceProviders)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if len(this.ResourceProviders) != len(that1.ResourceProviders) {
		return false
	}
	for i := range this.ResourceProviders {
		if !this.ResourceProviders[i].Equal(&that1.ResourceProviders[i]) {
			return false
		}
	}
	return true
}
func (this *Response_GetResourceProviders_ResourceProvider) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response_GetResourceProviders_ResourceProvider)
	if !ok {
		that2, ok := that.(Response_GetResourceProviders_ResourceProvider)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response_GetResourceProviders_ResourceProvider")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response_GetResourceProviders_ResourceProvider but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response_GetResourceProviders_ResourceProvider but is not nil && this == nil")
	}
	if !this.ResourceProviderInfo.Equal(&that1.ResourceProviderInfo) {
		return fmt.Errorf("ResourceProviderInfo this(%v) Not Equal that(%v)", this.ResourceProviderInfo, that1.ResourceProviderInfo)
	}
	if len(this.TotalResources) != len(that1.TotalResources) {
		return fmt.Errorf("TotalResources this(%v) Not Equal that(%v)", len(this.TotalResources), len(that1.TotalResources))
	}
	for i := range this.TotalResources {
		if !this.TotalResources[i].Equal(&that1.TotalResources[i]) {
			return fmt.Errorf("TotalResources this[%v](%v) Not Equal that[%v](%v)", i, this.TotalResources[i], i, that1.TotalResources[i])
		}
	}
	return nil
}
func (this *Response_GetResourceProviders_ResourceProvider) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response_GetResourceProviders_ResourceProvider)
	if !ok {
		that2, ok := that.(Response_GetResourceProviders_ResourceProvider)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if !this.ResourceProviderInfo.Equal(&that1.ResourceProviderInfo) {
		return false
	}
	if len(this.TotalResources) != len(that1.TotalResources) {
		return false
	}
	for i := range this.TotalResources {
		if !this.TotalResources[i].Equal(&that1.TotalResources[i]) {
			return false
		}
	}
	return true
}
func (this *Response_WaitNestedContainer) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response_WaitNestedContainer)
	if !ok {
		that2, ok := that.(Response_WaitNestedContainer)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response_WaitNestedContainer")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response_WaitNestedContainer but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response_WaitNestedContainer but is not nil && this == nil")
	}
	if this.ExitStatus != nil && that1.ExitStatus != nil {
		if *this.ExitStatus != *that1.ExitStatus {
			return fmt.Errorf("ExitStatus this(%v) Not Equal that(%v)", *this.ExitStatus, *that1.ExitStatus)
		}
	} else if this.ExitStatus != nil {
		return fmt.Errorf("this.ExitStatus == nil && that.ExitStatus != nil")
	} else if that1.ExitStatus != nil {
		return fmt.Errorf("ExitStatus this(%v) Not Equal that(%v)", this.ExitStatus, that1.ExitStatus)
	}
	if this.State != nil && that1.State != nil {
		if *this.State != *that1.State {
			return fmt.Errorf("State this(%v) Not Equal that(%v)", *this.State, *that1.State)
		}
	} else if this.State != nil {
		return fmt.Errorf("this.State == nil && that.State != nil")
	} else if that1.State != nil {
		return fmt.Errorf("State this(%v) Not Equal that(%v)", this.State, that1.State)
	}
	if this.Reason != nil && that1.Reason != nil {
		if *this.Reason != *that1.Reason {
			return fmt.Errorf("Reason this(%v) Not Equal that(%v)", *this.Reason, *that1.Reason)
		}
	} else if this.Reason != nil {
		return fmt.Errorf("this.Reason == nil && that.Reason != nil")
	} else if that1.Reason != nil {
		return fmt.Errorf("Reason this(%v) Not Equal that(%v)", this.Reason, that1.Reason)
	}
	if !this.Limitation.Equal(that1.Limitation) {
		return fmt.Errorf("Limitation this(%v) Not Equal that(%v)", this.Limitation, that1.Limitation)
	}
	if this.Message != nil && that1.Message != nil {
		if *this.Message != *that1.Message {
			return fmt.Errorf("Message this(%v) Not Equal that(%v)", *this.Message, *that1.Message)
		}
	} else if this.Message != nil {
		return fmt.Errorf("this.Message == nil && that.Message != nil")
	} else if that1.Message != nil {
		return fmt.Errorf("Message this(%v) Not Equal that(%v)", this.Message, that1.Message)
	}
	return nil
}
func (this *Response_WaitNestedContainer) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response_WaitNestedContainer)
	if !ok {
		that2, ok := that.(Response_WaitNestedContainer)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if this.ExitStatus != nil && that1.ExitStatus != nil {
		if *this.ExitStatus != *that1.ExitStatus {
			return false
		}
	} else if this.ExitStatus != nil {
		return false
	} else if that1.ExitStatus != nil {
		return false
	}
	if this.State != nil && that1.State != nil {
		if *this.State != *that1.State {
			return false
		}
	} else if this.State != nil {
		return false
	} else if that1.State != nil {
		return false
	}
	if this.Reason != nil && that1.Reason != nil {
		if *this.Reason != *that1.Reason {
			return false
		}
	} else if this.Reason != nil {
		return false
	} else if that1.Reason != nil {
		return false
	}
	if !this.Limitation.Equal(that1.Limitation) {
		return false
	}
	if this.Message != nil && that1.Message != nil {
		if *this.Message != *that1.Message {
			return false
		}
	} else if this.Message != nil {
		return false
	} else if that1.Message != nil {
		return false
	}
	return true
}
func (this *Response_WaitContainer) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Response_WaitContainer)
	if !ok {
		that2, ok := that.(Response_WaitContainer)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Response_WaitContainer")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Response_WaitContainer but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Response_WaitContainer but is not nil && this == nil")
	}
	if this.ExitStatus != nil && that1.ExitStatus != nil {
		if *this.ExitStatus != *that1.ExitStatus {
			return fmt.Errorf("ExitStatus this(%v) Not Equal that(%v)", *this.ExitStatus, *that1.ExitStatus)
		}
	} else if this.ExitStatus != nil {
		return fmt.Errorf("this.ExitStatus == nil && that.ExitStatus != nil")
	} else if that1.ExitStatus != nil {
		return fmt.Errorf("ExitStatus this(%v) Not Equal that(%v)", this.ExitStatus, that1.ExitStatus)
	}
	if this.State != nil && that1.State != nil {
		if *this.State != *that1.State {
			return fmt.Errorf("State this(%v) Not Equal that(%v)", *this.State, *that1.State)
		}
	} else if this.State != nil {
		return fmt.Errorf("this.State == nil && that.State != nil")
	} else if that1.State != nil {
		return fmt.Errorf("State this(%v) Not Equal that(%v)", this.State, that1.State)
	}
	if this.Reason != nil && that1.Reason != nil {
		if *this.Reason != *that1.Reason {
			return fmt.Errorf("Reason this(%v) Not Equal that(%v)", *this.Reason, *that1.Reason)
		}
	} else if this.Reason != nil {
		return fmt.Errorf("this.Reason == nil && that.Reason != nil")
	} else if that1.Reason != nil {
		return fmt.Errorf("Reason this(%v) Not Equal that(%v)", this.Reason, that1.Reason)
	}
	if !this.Limitation.Equal(that1.Limitation) {
		return fmt.Errorf("Limitation this(%v) Not Equal that(%v)", this.Limitation, that1.Limitation)
	}
	if this.Message != nil && that1.Message != nil {
		if *this.Message != *that1.Message {
			return fmt.Errorf("Message this(%v) Not Equal that(%v)", *this.Message, *that1.Message)
		}
	} else if this.Message != nil {
		return fmt.Errorf("this.Message == nil && that.Message != nil")
	} else if that1.Message != nil {
		return fmt.Errorf("Message this(%v) Not Equal that(%v)", this.Message, that1.Message)
	}
	return nil
}
func (this *Response_WaitContainer) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*Response_WaitContainer)
	if !ok {
		that2, ok := that.(Response_WaitContainer)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if this.ExitStatus != nil && that1.ExitStatus != nil {
		if *this.ExitStatus != *that1.ExitStatus {
			return false
		}
	} else if this.ExitStatus != nil {
		return false
	} else if that1.ExitStatus != nil {
		return false
	}
	if this.State != nil && that1.State != nil {
		if *this.State != *that1.State {
			return false
		}
	} else if this.State != nil {
		return false
	} else if that1.State != nil {
		return false
	}
	if this.Reason != nil && that1.Reason != nil {
		if *this.Reason != *that1.Reason {
			return false
		}
	} else if this.Reason != nil {
		return false
	} else if that1.Reason != nil {
		return false
	}
	if !this.Limitation.Equal(that1.Limitation) {
		return false
	}
	if this.Message != nil && that1.Message != nil {
		if *this.Message != *that1.Message {
			return false
		}
	} else if this.Message != nil {
		return false
	} else if that1.Message != nil {
		return false
	}
	return true
}
func (this *ProcessIO) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*ProcessIO)
	if !ok {
		that2, ok := that.(ProcessIO)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *ProcessIO")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *ProcessIO but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *ProcessIO but is not nil && this == nil")
	}
	if this.Type != that1.Type {
		return fmt.Errorf("Type this(%v) Not Equal that(%v)", this.Type, that1.Type)
	}
	if !this.Data.Equal(that1.Data) {
		return fmt.Errorf("Data this(%v) Not Equal that(%v)", this.Data, that1.Data)
	}
	if !this.Control.Equal(that1.Control) {
		return fmt.Errorf("Control this(%v) Not Equal that(%v)", this.Control, that1.Control)
	}
	return nil
}
func (this *ProcessIO) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*ProcessIO)
	if !ok {
		that2, ok := that.(ProcessIO)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if this.Type != that1.Type {
		return false
	}
	if !this.Data.Equal(that1.Data) {
		return false
	}
	if !this.Control.Equal(that1.Control) {
		return false
	}
	return true
}
func (this *ProcessIO_Data) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*ProcessIO_Data)
	if !ok {
		that2, ok := that.(ProcessIO_Data)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *ProcessIO_Data")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *ProcessIO_Data but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *ProcessIO_Data but is not nil && this == nil")
	}
	if this.Type != that1.Type {
		return fmt.Errorf("Type this(%v) Not Equal that(%v)", this.Type, that1.Type)
	}
	if !bytes.Equal(this.Data, that1.Data) {
		return fmt.Errorf("Data this(%v) Not Equal that(%v)", this.Data, that1.Data)
	}
	return nil
}
func (this *ProcessIO_Data) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*ProcessIO_Data)
	if !ok {
		that2, ok := that.(ProcessIO_Data)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if this.Type != that1.Type {
		return false
	}
	if !bytes.Equal(this.Data, that1.Data) {
		return false
	}
	return true
}
func (this *ProcessIO_Control) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*ProcessIO_Control)
	if !ok {
		that2, ok := that.(ProcessIO_Control)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *ProcessIO_Control")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *ProcessIO_Control but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *ProcessIO_Control but is not nil && this == nil")
	}
	if this.Type != that1.Type {
		return fmt.Errorf("Type this(%v) Not Equal that(%v)", this.Type, that1.Type)
	}
	if !this.TTYInfo.Equal(that1.TTYInfo) {
		return fmt.Errorf("TTYInfo this(%v) Not Equal that(%v)", this.TTYInfo, that1.TTYInfo)
	}
	if !this.Heartbeat.Equal(that1.Heartbeat) {
		return fmt.Errorf("Heartbeat this(%v) Not Equal that(%v)", this.Heartbeat, that1.Heartbeat)
	}
	return nil
}
func (this *ProcessIO_Control) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*ProcessIO_Control)
	if !ok {
		that2, ok := that.(ProcessIO_Control)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if this.Type != that1.Type {
		return false
	}
	if !this.TTYInfo.Equal(that1.TTYInfo) {
		return false
	}
	if !this.Heartbeat.Equal(that1.Heartbeat) {
		return false
	}
	return true
}
func (this *ProcessIO_Control_Heartbeat) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*ProcessIO_Control_Heartbeat)
	if !ok {
		that2, ok := that.(ProcessIO_Control_Heartbeat)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *ProcessIO_Control_Heartbeat")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *ProcessIO_Control_Heartbeat but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *ProcessIO_Control_Heartbeat but is not nil && this == nil")
	}
	if !this.Interval.Equal(that1.Interval) {
		return fmt.Errorf("Interval this(%v) Not Equal that(%v)", this.Interval, that1.Interval)
	}
	return nil
}
func (this *ProcessIO_Control_Heartbeat) Equal(that interface{}) bool {
	if that == nil {
		if this == nil {
			return true
		}
		return false
	}

	that1, ok := that.(*ProcessIO_Control_Heartbeat)
	if !ok {
		that2, ok := that.(ProcessIO_Control_Heartbeat)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		if this == nil {
			return true
		}
		return false
	} else if this == nil {
		return false
	}
	if !this.Interval.Equal(that1.Interval) {
		return false
	}
	return true
}
func (this *Call) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 25)
	s = append(s, "&agent.Call{")
	s = append(s, "Type: "+fmt.Sprintf("%#v", this.Type)+",\n")
	if this.GetMetrics != nil {
		s = append(s, "GetMetrics: "+fmt.Sprintf("%#v", this.GetMetrics)+",\n")
	}
	if this.SetLoggingLevel != nil {
		s = append(s, "SetLoggingLevel: "+fmt.Sprintf("%#v", this.SetLoggingLevel)+",\n")
	}
	if this.ListFiles != nil {
		s = append(s, "ListFiles: "+fmt.Sprintf("%#v", this.ListFiles)+",\n")
	}
	if this.ReadFile != nil {
		s = append(s, "ReadFile: "+fmt.Sprintf("%#v", this.ReadFile)+",\n")
	}
	if this.GetContainers != nil {
		s = append(s, "GetContainers: "+fmt.Sprintf("%#v", this.GetContainers)+",\n")
	}
	if this.LaunchNestedContainer != nil {
		s = append(s, "LaunchNestedContainer: "+fmt.Sprintf("%#v", this.LaunchNestedContainer)+",\n")
	}
	if this.WaitNestedContainer != nil {
		s = append(s, "WaitNestedContainer: "+fmt.Sprintf("%#v", this.WaitNestedContainer)+",\n")
	}
	if this.KillNestedContainer != nil {
		s = append(s, "KillNestedContainer: "+fmt.Sprintf("%#v", this.KillNestedContainer)+",\n")
	}
	if this.RemoveNestedContainer != nil {
		s = append(s, "RemoveNestedContainer: "+fmt.Sprintf("%#v", this.RemoveNestedContainer)+",\n")
	}
	if this.LaunchNestedContainerSession != nil {
		s = append(s, "LaunchNestedContainerSession: "+fmt.Sprintf("%#v", this.LaunchNestedContainerSession)+",\n")
	}
	if this.AttachContainerInput != nil {
		s = append(s, "AttachContainerInput: "+fmt.Sprintf("%#v", this.AttachContainerInput)+",\n")
	}
	if this.AttachContainerOutput != nil {
		s = append(s, "AttachContainerOutput: "+fmt.Sprintf("%#v", this.AttachContainerOutput)+",\n")
	}
	if this.LaunchContainer != nil {
		s = append(s, "LaunchContainer: "+fmt.Sprintf("%#v", this.LaunchContainer)+",\n")
	}
	if this.WaitContainer != nil {
		s = append(s, "WaitContainer: "+fmt.Sprintf("%#v", this.WaitContainer)+",\n")
	}
	if this.KillContainer != nil {
		s = append(s, "KillContainer: "+fmt.Sprintf("%#v", this.KillContainer)+",\n")
	}
	if this.RemoveContainer != nil {
		s = append(s, "RemoveContainer: "+fmt.Sprintf("%#v", this.RemoveContainer)+",\n")
	}
	if this.AddResourceProviderConfig != nil {
		s = append(s, "AddResourceProviderConfig: "+fmt.Sprintf("%#v", this.AddResourceProviderConfig)+",\n")
	}
	if this.UpdateResourceProviderConfig != nil {
		s = append(s, "UpdateResourceProviderConfig: "+fmt.Sprintf("%#v", this.UpdateResourceProviderConfig)+",\n")
	}
	if this.RemoveResourceProviderConfig != nil {
		s = append(s, "RemoveResourceProviderConfig: "+fmt.Sprintf("%#v", this.RemoveResourceProviderConfig)+",\n")
	}
	if this.PruneImages != nil {
		s = append(s, "PruneImages: "+fmt.Sprintf("%#v", this.PruneImages)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Call_GetMetrics) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Call_GetMetrics{")
	if this.Timeout != nil {
		s = append(s, "Timeout: "+fmt.Sprintf("%#v", this.Timeout)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Call_SetLoggingLevel) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 6)
	s = append(s, "&agent.Call_SetLoggingLevel{")
	s = append(s, "Level: "+fmt.Sprintf("%#v", this.Level)+",\n")
	s = append(s, "Duration: "+strings.Replace(this.Duration.GoString(), `&`, ``, 1)+",\n")
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Call_ListFiles) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Call_ListFiles{")
	s = append(s, "Path: "+fmt.Sprintf("%#v", this.Path)+",\n")
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Call_ReadFile) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 7)
	s = append(s, "&agent.Call_ReadFile{")
	s = append(s, "Path: "+fmt.Sprintf("%#v", this.Path)+",\n")
	s = append(s, "Offset: "+fmt.Sprintf("%#v", this.Offset)+",\n")
	if this.Length != nil {
		s = append(s, "Length: "+valueToGoStringAgent(this.Length, "uint64")+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Call_GetContainers) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 6)
	s = append(s, "&agent.Call_GetContainers{")
	if this.ShowNested != nil {
		s = append(s, "ShowNested: "+valueToGoStringAgent(this.ShowNested, "bool")+",\n")
	}
	if this.ShowStandalone != nil {
		s = append(s, "ShowStandalone: "+valueToGoStringAgent(this.ShowStandalone, "bool")+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Call_LaunchNestedContainer) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 7)
	s = append(s, "&agent.Call_LaunchNestedContainer{")
	s = append(s, "ContainerID: "+strings.Replace(this.ContainerID.GoString(), `&`, ``, 1)+",\n")
	if this.Command != nil {
		s = append(s, "Command: "+fmt.Sprintf("%#v", this.Command)+",\n")
	}
	if this.Container != nil {
		s = append(s, "Container: "+fmt.Sprintf("%#v", this.Container)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Call_WaitNestedContainer) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Call_WaitNestedContainer{")
	s = append(s, "ContainerID: "+strings.Replace(this.ContainerID.GoString(), `&`, ``, 1)+",\n")
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Call_KillNestedContainer) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 6)
	s = append(s, "&agent.Call_KillNestedContainer{")
	s = append(s, "ContainerID: "+strings.Replace(this.ContainerID.GoString(), `&`, ``, 1)+",\n")
	if this.Signal != nil {
		s = append(s, "Signal: "+valueToGoStringAgent(this.Signal, "int32")+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Call_RemoveNestedContainer) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Call_RemoveNestedContainer{")
	s = append(s, "ContainerID: "+strings.Replace(this.ContainerID.GoString(), `&`, ``, 1)+",\n")
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Call_LaunchNestedContainerSession) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 7)
	s = append(s, "&agent.Call_LaunchNestedContainerSession{")
	s = append(s, "ContainerID: "+strings.Replace(this.ContainerID.GoString(), `&`, ``, 1)+",\n")
	if this.Command != nil {
		s = append(s, "Command: "+fmt.Sprintf("%#v", this.Command)+",\n")
	}
	if this.Container != nil {
		s = append(s, "Container: "+fmt.Sprintf("%#v", this.Container)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Call_AttachContainerInput) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 7)
	s = append(s, "&agent.Call_AttachContainerInput{")
	s = append(s, "Type: "+fmt.Sprintf("%#v", this.Type)+",\n")
	if this.ContainerID != nil {
		s = append(s, "ContainerID: "+fmt.Sprintf("%#v", this.ContainerID)+",\n")
	}
	if this.ProcessIO != nil {
		s = append(s, "ProcessIO: "+fmt.Sprintf("%#v", this.ProcessIO)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Call_AttachContainerOutput) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Call_AttachContainerOutput{")
	s = append(s, "ContainerID: "+strings.Replace(this.ContainerID.GoString(), `&`, ``, 1)+",\n")
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Call_LaunchContainer) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 8)
	s = append(s, "&agent.Call_LaunchContainer{")
	s = append(s, "ContainerID: "+strings.Replace(this.ContainerID.GoString(), `&`, ``, 1)+",\n")
	if this.Command != nil {
		s = append(s, "Command: "+fmt.Sprintf("%#v", this.Command)+",\n")
	}
	if this.Resources != nil {
		s = append(s, "Resources: "+fmt.Sprintf("%#v", this.Resources)+",\n")
	}
	if this.Container != nil {
		s = append(s, "Container: "+fmt.Sprintf("%#v", this.Container)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Call_WaitContainer) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Call_WaitContainer{")
	s = append(s, "ContainerID: "+strings.Replace(this.ContainerID.GoString(), `&`, ``, 1)+",\n")
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Call_KillContainer) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 6)
	s = append(s, "&agent.Call_KillContainer{")
	s = append(s, "ContainerID: "+strings.Replace(this.ContainerID.GoString(), `&`, ``, 1)+",\n")
	if this.Signal != nil {
		s = append(s, "Signal: "+valueToGoStringAgent(this.Signal, "int32")+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Call_RemoveContainer) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Call_RemoveContainer{")
	s = append(s, "ContainerID: "+strings.Replace(this.ContainerID.GoString(), `&`, ``, 1)+",\n")
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Call_AddResourceProviderConfig) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Call_AddResourceProviderConfig{")
	s = append(s, "Info: "+strings.Replace(this.Info.GoString(), `&`, ``, 1)+",\n")
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Call_UpdateResourceProviderConfig) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Call_UpdateResourceProviderConfig{")
	s = append(s, "Info: "+strings.Replace(this.Info.GoString(), `&`, ``, 1)+",\n")
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Call_RemoveResourceProviderConfig) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 6)
	s = append(s, "&agent.Call_RemoveResourceProviderConfig{")
	s = append(s, "Type: "+fmt.Sprintf("%#v", this.Type)+",\n")
	s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n")
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Call_PruneImages) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Call_PruneImages{")
	if this.ExcludedImages != nil {
		s = append(s, "ExcludedImages: "+fmt.Sprintf("%#v", this.ExcludedImages)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 22)
	s = append(s, "&agent.Response{")
	s = append(s, "Type: "+fmt.Sprintf("%#v", this.Type)+",\n")
	if this.GetHealth != nil {
		s = append(s, "GetHealth: "+fmt.Sprintf("%#v", this.GetHealth)+",\n")
	}
	if this.GetFlags != nil {
		s = append(s, "GetFlags: "+fmt.Sprintf("%#v", this.GetFlags)+",\n")
	}
	if this.GetVersion != nil {
		s = append(s, "GetVersion: "+fmt.Sprintf("%#v", this.GetVersion)+",\n")
	}
	if this.GetMetrics != nil {
		s = append(s, "GetMetrics: "+fmt.Sprintf("%#v", this.GetMetrics)+",\n")
	}
	if this.GetLoggingLevel != nil {
		s = append(s, "GetLoggingLevel: "+fmt.Sprintf("%#v", this.GetLoggingLevel)+",\n")
	}
	if this.ListFiles != nil {
		s = append(s, "ListFiles: "+fmt.Sprintf("%#v", this.ListFiles)+",\n")
	}
	if this.ReadFile != nil {
		s = append(s, "ReadFile: "+fmt.Sprintf("%#v", this.ReadFile)+",\n")
	}
	if this.GetState != nil {
		s = append(s, "GetState: "+fmt.Sprintf("%#v", this.GetState)+",\n")
	}
	if this.GetContainers != nil {
		s = append(s, "GetContainers: "+fmt.Sprintf("%#v", this.GetContainers)+",\n")
	}
	if this.GetFrameworks != nil {
		s = append(s, "GetFrameworks: "+fmt.Sprintf("%#v", this.GetFrameworks)+",\n")
	}
	if this.GetExecutors != nil {
		s = append(s, "GetExecutors: "+fmt.Sprintf("%#v", this.GetExecutors)+",\n")
	}
	if this.GetOperations != nil {
		s = append(s, "GetOperations: "+fmt.Sprintf("%#v", this.GetOperations)+",\n")
	}
	if this.GetTasks != nil {
		s = append(s, "GetTasks: "+fmt.Sprintf("%#v", this.GetTasks)+",\n")
	}
	if this.GetAgent != nil {
		s = append(s, "GetAgent: "+fmt.Sprintf("%#v", this.GetAgent)+",\n")
	}
	if this.GetResourceProviders != nil {
		s = append(s, "GetResourceProviders: "+fmt.Sprintf("%#v", this.GetResourceProviders)+",\n")
	}
	if this.WaitNestedContainer != nil {
		s = append(s, "WaitNestedContainer: "+fmt.Sprintf("%#v", this.WaitNestedContainer)+",\n")
	}
	if this.WaitContainer != nil {
		s = append(s, "WaitContainer: "+fmt.Sprintf("%#v", this.WaitContainer)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response_GetHealth) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Response_GetHealth{")
	s = append(s, "Healthy: "+fmt.Sprintf("%#v", this.Healthy)+",\n")
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response_GetFlags) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Response_GetFlags{")
	if this.Flags != nil {
		s = append(s, "Flags: "+fmt.Sprintf("%#v", this.Flags)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response_GetVersion) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Response_GetVersion{")
	s = append(s, "VersionInfo: "+strings.Replace(this.VersionInfo.GoString(), `&`, ``, 1)+",\n")
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response_GetMetrics) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Response_GetMetrics{")
	if this.Metrics != nil {
		s = append(s, "Metrics: "+fmt.Sprintf("%#v", this.Metrics)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response_GetLoggingLevel) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Response_GetLoggingLevel{")
	s = append(s, "Level: "+fmt.Sprintf("%#v", this.Level)+",\n")
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response_ListFiles) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Response_ListFiles{")
	if this.FileInfos != nil {
		s = append(s, "FileInfos: "+fmt.Sprintf("%#v", this.FileInfos)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response_ReadFile) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 6)
	s = append(s, "&agent.Response_ReadFile{")
	s = append(s, "Size: "+fmt.Sprintf("%#v", this.Size)+",\n")
	if this.Data != nil {
		s = append(s, "Data: "+valueToGoStringAgent(this.Data, "byte")+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response_GetState) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 7)
	s = append(s, "&agent.Response_GetState{")
	if this.GetTasks != nil {
		s = append(s, "GetTasks: "+fmt.Sprintf("%#v", this.GetTasks)+",\n")
	}
	if this.GetExecutors != nil {
		s = append(s, "GetExecutors: "+fmt.Sprintf("%#v", this.GetExecutors)+",\n")
	}
	if this.GetFrameworks != nil {
		s = append(s, "GetFrameworks: "+fmt.Sprintf("%#v", this.GetFrameworks)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response_GetContainers) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Response_GetContainers{")
	if this.Containers != nil {
		s = append(s, "Containers: "+fmt.Sprintf("%#v", this.Containers)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response_GetContainers_Container) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 10)
	s = append(s, "&agent.Response_GetContainers_Container{")
	if this.FrameworkID != nil {
		s = append(s, "FrameworkID: "+fmt.Sprintf("%#v", this.FrameworkID)+",\n")
	}
	if this.ExecutorID != nil {
		s = append(s, "ExecutorID: "+fmt.Sprintf("%#v", this.ExecutorID)+",\n")
	}
	if this.ExecutorName != nil {
		s = append(s, "ExecutorName: "+valueToGoStringAgent(this.ExecutorName, "string")+",\n")
	}
	s = append(s, "ContainerID: "+strings.Replace(this.ContainerID.GoString(), `&`, ``, 1)+",\n")
	if this.ContainerStatus != nil {
		s = append(s, "ContainerStatus: "+fmt.Sprintf("%#v", this.ContainerStatus)+",\n")
	}
	if this.ResourceStatistics != nil {
		s = append(s, "ResourceStatistics: "+fmt.Sprintf("%#v", this.ResourceStatistics)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response_GetFrameworks) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 6)
	s = append(s, "&agent.Response_GetFrameworks{")
	if this.Frameworks != nil {
		s = append(s, "Frameworks: "+fmt.Sprintf("%#v", this.Frameworks)+",\n")
	}
	if this.CompletedFrameworks != nil {
		s = append(s, "CompletedFrameworks: "+fmt.Sprintf("%#v", this.CompletedFrameworks)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response_GetFrameworks_Framework) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Response_GetFrameworks_Framework{")
	s = append(s, "FrameworkInfo: "+strings.Replace(this.FrameworkInfo.GoString(), `&`, ``, 1)+",\n")
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response_GetExecutors) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 6)
	s = append(s, "&agent.Response_GetExecutors{")
	if this.Executors != nil {
		s = append(s, "Executors: "+fmt.Sprintf("%#v", this.Executors)+",\n")
	}
	if this.CompletedExecutors != nil {
		s = append(s, "CompletedExecutors: "+fmt.Sprintf("%#v", this.CompletedExecutors)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response_GetExecutors_Executor) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Response_GetExecutors_Executor{")
	s = append(s, "ExecutorInfo: "+strings.Replace(this.ExecutorInfo.GoString(), `&`, ``, 1)+",\n")
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response_GetOperations) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Response_GetOperations{")
	if this.Operations != nil {
		s = append(s, "Operations: "+fmt.Sprintf("%#v", this.Operations)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response_GetTasks) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 9)
	s = append(s, "&agent.Response_GetTasks{")
	if this.PendingTasks != nil {
		s = append(s, "PendingTasks: "+fmt.Sprintf("%#v", this.PendingTasks)+",\n")
	}
	if this.QueuedTasks != nil {
		s = append(s, "QueuedTasks: "+fmt.Sprintf("%#v", this.QueuedTasks)+",\n")
	}
	if this.LaunchedTasks != nil {
		s = append(s, "LaunchedTasks: "+fmt.Sprintf("%#v", this.LaunchedTasks)+",\n")
	}
	if this.TerminatedTasks != nil {
		s = append(s, "TerminatedTasks: "+fmt.Sprintf("%#v", this.TerminatedTasks)+",\n")
	}
	if this.CompletedTasks != nil {
		s = append(s, "CompletedTasks: "+fmt.Sprintf("%#v", this.CompletedTasks)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response_GetAgent) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Response_GetAgent{")
	if this.AgentInfo != nil {
		s = append(s, "AgentInfo: "+fmt.Sprintf("%#v", this.AgentInfo)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response_GetResourceProviders) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.Response_GetResourceProviders{")
	if this.ResourceProviders != nil {
		s = append(s, "ResourceProviders: "+fmt.Sprintf("%#v", this.ResourceProviders)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response_GetResourceProviders_ResourceProvider) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 6)
	s = append(s, "&agent.Response_GetResourceProviders_ResourceProvider{")
	s = append(s, "ResourceProviderInfo: "+strings.Replace(this.ResourceProviderInfo.GoString(), `&`, ``, 1)+",\n")
	if this.TotalResources != nil {
		s = append(s, "TotalResources: "+fmt.Sprintf("%#v", this.TotalResources)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response_WaitNestedContainer) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 9)
	s = append(s, "&agent.Response_WaitNestedContainer{")
	if this.ExitStatus != nil {
		s = append(s, "ExitStatus: "+valueToGoStringAgent(this.ExitStatus, "int32")+",\n")
	}
	if this.State != nil {
		s = append(s, "State: "+valueToGoStringAgent(this.State, "mesos.TaskState")+",\n")
	}
	if this.Reason != nil {
		s = append(s, "Reason: "+valueToGoStringAgent(this.Reason, "mesos.TaskStatus_Reason")+",\n")
	}
	if this.Limitation != nil {
		s = append(s, "Limitation: "+fmt.Sprintf("%#v", this.Limitation)+",\n")
	}
	if this.Message != nil {
		s = append(s, "Message: "+valueToGoStringAgent(this.Message, "string")+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *Response_WaitContainer) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 9)
	s = append(s, "&agent.Response_WaitContainer{")
	if this.ExitStatus != nil {
		s = append(s, "ExitStatus: "+valueToGoStringAgent(this.ExitStatus, "int32")+",\n")
	}
	if this.State != nil {
		s = append(s, "State: "+valueToGoStringAgent(this.State, "mesos.TaskState")+",\n")
	}
	if this.Reason != nil {
		s = append(s, "Reason: "+valueToGoStringAgent(this.Reason, "mesos.TaskStatus_Reason")+",\n")
	}
	if this.Limitation != nil {
		s = append(s, "Limitation: "+fmt.Sprintf("%#v", this.Limitation)+",\n")
	}
	if this.Message != nil {
		s = append(s, "Message: "+valueToGoStringAgent(this.Message, "string")+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *ProcessIO) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 7)
	s = append(s, "&agent.ProcessIO{")
	s = append(s, "Type: "+fmt.Sprintf("%#v", this.Type)+",\n")
	if this.Data != nil {
		s = append(s, "Data: "+fmt.Sprintf("%#v", this.Data)+",\n")
	}
	if this.Control != nil {
		s = append(s, "Control: "+fmt.Sprintf("%#v", this.Control)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *ProcessIO_Data) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 6)
	s = append(s, "&agent.ProcessIO_Data{")
	s = append(s, "Type: "+fmt.Sprintf("%#v", this.Type)+",\n")
	if this.Data != nil {
		s = append(s, "Data: "+valueToGoStringAgent(this.Data, "byte")+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *ProcessIO_Control) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 7)
	s = append(s, "&agent.ProcessIO_Control{")
	s = append(s, "Type: "+fmt.Sprintf("%#v", this.Type)+",\n")
	if this.TTYInfo != nil {
		s = append(s, "TTYInfo: "+fmt.Sprintf("%#v", this.TTYInfo)+",\n")
	}
	if this.Heartbeat != nil {
		s = append(s, "Heartbeat: "+fmt.Sprintf("%#v", this.Heartbeat)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *ProcessIO_Control_Heartbeat) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&agent.ProcessIO_Control_Heartbeat{")
	if this.Interval != nil {
		s = append(s, "Interval: "+fmt.Sprintf("%#v", this.Interval)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func valueToGoStringAgent(v interface{}, typ string) string {
	rv := reflect.ValueOf(v)
	if rv.IsNil() {
		return "nil"
	}
	pv := reflect.Indirect(rv).Interface()
	return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
}
func (m *Call) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Call) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0x8
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.Type))
	if m.GetMetrics != nil {
		dAtA[i] = 0x12
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.GetMetrics.ProtoSize()))
		n1, err := m.GetMetrics.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n1
	}
	if m.SetLoggingLevel != nil {
		dAtA[i] = 0x1a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.SetLoggingLevel.ProtoSize()))
		n2, err := m.SetLoggingLevel.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n2
	}
	if m.ListFiles != nil {
		dAtA[i] = 0x22
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.ListFiles.ProtoSize()))
		n3, err := m.ListFiles.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n3
	}
	if m.ReadFile != nil {
		dAtA[i] = 0x2a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.ReadFile.ProtoSize()))
		n4, err := m.ReadFile.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n4
	}
	if m.LaunchNestedContainer != nil {
		dAtA[i] = 0x32
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.LaunchNestedContainer.ProtoSize()))
		n5, err := m.LaunchNestedContainer.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n5
	}
	if m.WaitNestedContainer != nil {
		dAtA[i] = 0x3a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.WaitNestedContainer.ProtoSize()))
		n6, err := m.WaitNestedContainer.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n6
	}
	if m.KillNestedContainer != nil {
		dAtA[i] = 0x42
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.KillNestedContainer.ProtoSize()))
		n7, err := m.KillNestedContainer.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n7
	}
	if m.LaunchNestedContainerSession != nil {
		dAtA[i] = 0x4a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.LaunchNestedContainerSession.ProtoSize()))
		n8, err := m.LaunchNestedContainerSession.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n8
	}
	if m.AttachContainerInput != nil {
		dAtA[i] = 0x52
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.AttachContainerInput.ProtoSize()))
		n9, err := m.AttachContainerInput.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n9
	}
	if m.AttachContainerOutput != nil {
		dAtA[i] = 0x5a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.AttachContainerOutput.ProtoSize()))
		n10, err := m.AttachContainerOutput.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n10
	}
	if m.RemoveNestedContainer != nil {
		dAtA[i] = 0x62
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.RemoveNestedContainer.ProtoSize()))
		n11, err := m.RemoveNestedContainer.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n11
	}
	if m.LaunchContainer != nil {
		dAtA[i] = 0x6a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.LaunchContainer.ProtoSize()))
		n12, err := m.LaunchContainer.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n12
	}
	if m.WaitContainer != nil {
		dAtA[i] = 0x72
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.WaitContainer.ProtoSize()))
		n13, err := m.WaitContainer.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n13
	}
	if m.KillContainer != nil {
		dAtA[i] = 0x7a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.KillContainer.ProtoSize()))
		n14, err := m.KillContainer.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n14
	}
	if m.RemoveContainer != nil {
		dAtA[i] = 0x82
		i++
		dAtA[i] = 0x1
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.RemoveContainer.ProtoSize()))
		n15, err := m.RemoveContainer.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n15
	}
	if m.AddResourceProviderConfig != nil {
		dAtA[i] = 0x8a
		i++
		dAtA[i] = 0x1
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.AddResourceProviderConfig.ProtoSize()))
		n16, err := m.AddResourceProviderConfig.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n16
	}
	if m.UpdateResourceProviderConfig != nil {
		dAtA[i] = 0x92
		i++
		dAtA[i] = 0x1
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.UpdateResourceProviderConfig.ProtoSize()))
		n17, err := m.UpdateResourceProviderConfig.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n17
	}
	if m.RemoveResourceProviderConfig != nil {
		dAtA[i] = 0x9a
		i++
		dAtA[i] = 0x1
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.RemoveResourceProviderConfig.ProtoSize()))
		n18, err := m.RemoveResourceProviderConfig.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n18
	}
	if m.GetContainers != nil {
		dAtA[i] = 0xa2
		i++
		dAtA[i] = 0x1
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.GetContainers.ProtoSize()))
		n19, err := m.GetContainers.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n19
	}
	if m.PruneImages != nil {
		dAtA[i] = 0xaa
		i++
		dAtA[i] = 0x1
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.PruneImages.ProtoSize()))
		n20, err := m.PruneImages.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n20
	}
	return i, nil
}

func (m *Call_GetMetrics) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Call_GetMetrics) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.Timeout != nil {
		dAtA[i] = 0xa
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.Timeout.ProtoSize()))
		n21, err := m.Timeout.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n21
	}
	return i, nil
}

func (m *Call_SetLoggingLevel) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Call_SetLoggingLevel) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0x8
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.Level))
	dAtA[i] = 0x12
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.Duration.ProtoSize()))
	n22, err := m.Duration.MarshalTo(dAtA[i:])
	if err != nil {
		return 0, err
	}
	i += n22
	return i, nil
}

func (m *Call_ListFiles) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Call_ListFiles) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0xa
	i++
	i = encodeVarintAgent(dAtA, i, uint64(len(m.Path)))
	i += copy(dAtA[i:], m.Path)
	return i, nil
}

func (m *Call_ReadFile) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Call_ReadFile) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0xa
	i++
	i = encodeVarintAgent(dAtA, i, uint64(len(m.Path)))
	i += copy(dAtA[i:], m.Path)
	dAtA[i] = 0x10
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.Offset))
	if m.Length != nil {
		dAtA[i] = 0x18
		i++
		i = encodeVarintAgent(dAtA, i, uint64(*m.Length))
	}
	return i, nil
}

func (m *Call_GetContainers) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Call_GetContainers) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.ShowNested != nil {
		dAtA[i] = 0x8
		i++
		if *m.ShowNested {
			dAtA[i] = 1
		} else {
			dAtA[i] = 0
		}
		i++
	}
	if m.ShowStandalone != nil {
		dAtA[i] = 0x10
		i++
		if *m.ShowStandalone {
			dAtA[i] = 1
		} else {
			dAtA[i] = 0
		}
		i++
	}
	return i, nil
}

func (m *Call_LaunchNestedContainer) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Call_LaunchNestedContainer) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0xa
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.ContainerID.ProtoSize()))
	n23, err := m.ContainerID.MarshalTo(dAtA[i:])
	if err != nil {
		return 0, err
	}
	i += n23
	if m.Command != nil {
		dAtA[i] = 0x12
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.Command.ProtoSize()))
		n24, err := m.Command.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n24
	}
	if m.Container != nil {
		dAtA[i] = 0x1a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.Container.ProtoSize()))
		n25, err := m.Container.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n25
	}
	return i, nil
}

func (m *Call_WaitNestedContainer) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Call_WaitNestedContainer) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0xa
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.ContainerID.ProtoSize()))
	n26, err := m.ContainerID.MarshalTo(dAtA[i:])
	if err != nil {
		return 0, err
	}
	i += n26
	return i, nil
}

func (m *Call_KillNestedContainer) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Call_KillNestedContainer) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0xa
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.ContainerID.ProtoSize()))
	n27, err := m.ContainerID.MarshalTo(dAtA[i:])
	if err != nil {
		return 0, err
	}
	i += n27
	if m.Signal != nil {
		dAtA[i] = 0x10
		i++
		i = encodeVarintAgent(dAtA, i, uint64(*m.Signal))
	}
	return i, nil
}

func (m *Call_RemoveNestedContainer) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Call_RemoveNestedContainer) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0xa
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.ContainerID.ProtoSize()))
	n28, err := m.ContainerID.MarshalTo(dAtA[i:])
	if err != nil {
		return 0, err
	}
	i += n28
	return i, nil
}

func (m *Call_LaunchNestedContainerSession) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Call_LaunchNestedContainerSession) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0xa
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.ContainerID.ProtoSize()))
	n29, err := m.ContainerID.MarshalTo(dAtA[i:])
	if err != nil {
		return 0, err
	}
	i += n29
	if m.Command != nil {
		dAtA[i] = 0x12
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.Command.ProtoSize()))
		n30, err := m.Command.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n30
	}
	if m.Container != nil {
		dAtA[i] = 0x1a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.Container.ProtoSize()))
		n31, err := m.Container.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n31
	}
	return i, nil
}

func (m *Call_AttachContainerInput) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Call_AttachContainerInput) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0x8
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.Type))
	if m.ContainerID != nil {
		dAtA[i] = 0x12
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.ContainerID.ProtoSize()))
		n32, err := m.ContainerID.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n32
	}
	if m.ProcessIO != nil {
		dAtA[i] = 0x1a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.ProcessIO.ProtoSize()))
		n33, err := m.ProcessIO.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n33
	}
	return i, nil
}

func (m *Call_AttachContainerOutput) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Call_AttachContainerOutput) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0xa
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.ContainerID.ProtoSize()))
	n34, err := m.ContainerID.MarshalTo(dAtA[i:])
	if err != nil {
		return 0, err
	}
	i += n34
	return i, nil
}

func (m *Call_LaunchContainer) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Call_LaunchContainer) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0xa
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.ContainerID.ProtoSize()))
	n35, err := m.ContainerID.MarshalTo(dAtA[i:])
	if err != nil {
		return 0, err
	}
	i += n35
	if m.Command != nil {
		dAtA[i] = 0x12
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.Command.ProtoSize()))
		n36, err := m.Command.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n36
	}
	if len(m.Resources) > 0 {
		for _, msg := range m.Resources {
			dAtA[i] = 0x1a
			i++
			i = encodeVarintAgent(dAtA, i, uint64(msg.ProtoSize()))
			n, err := msg.MarshalTo(dAtA[i:])
			if err != nil {
				return 0, err
			}
			i += n
		}
	}
	if m.Container != nil {
		dAtA[i] = 0x22
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.Container.ProtoSize()))
		n37, err := m.Container.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n37
	}
	return i, nil
}

func (m *Call_WaitContainer) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Call_WaitContainer) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0xa
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.ContainerID.ProtoSize()))
	n38, err := m.ContainerID.MarshalTo(dAtA[i:])
	if err != nil {
		return 0, err
	}
	i += n38
	return i, nil
}

func (m *Call_KillContainer) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Call_KillContainer) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0xa
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.ContainerID.ProtoSize()))
	n39, err := m.ContainerID.MarshalTo(dAtA[i:])
	if err != nil {
		return 0, err
	}
	i += n39
	if m.Signal != nil {
		dAtA[i] = 0x10
		i++
		i = encodeVarintAgent(dAtA, i, uint64(*m.Signal))
	}
	return i, nil
}

func (m *Call_RemoveContainer) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Call_RemoveContainer) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0xa
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.ContainerID.ProtoSize()))
	n40, err := m.ContainerID.MarshalTo(dAtA[i:])
	if err != nil {
		return 0, err
	}
	i += n40
	return i, nil
}

func (m *Call_AddResourceProviderConfig) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Call_AddResourceProviderConfig) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0xa
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.Info.ProtoSize()))
	n41, err := m.Info.MarshalTo(dAtA[i:])
	if err != nil {
		return 0, err
	}
	i += n41
	return i, nil
}

func (m *Call_UpdateResourceProviderConfig) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Call_UpdateResourceProviderConfig) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0xa
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.Info.ProtoSize()))
	n42, err := m.Info.MarshalTo(dAtA[i:])
	if err != nil {
		return 0, err
	}
	i += n42
	return i, nil
}

func (m *Call_RemoveResourceProviderConfig) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Call_RemoveResourceProviderConfig) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0xa
	i++
	i = encodeVarintAgent(dAtA, i, uint64(len(m.Type)))
	i += copy(dAtA[i:], m.Type)
	dAtA[i] = 0x12
	i++
	i = encodeVarintAgent(dAtA, i, uint64(len(m.Name)))
	i += copy(dAtA[i:], m.Name)
	return i, nil
}

func (m *Call_PruneImages) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Call_PruneImages) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if len(m.ExcludedImages) > 0 {
		for _, msg := range m.ExcludedImages {
			dAtA[i] = 0xa
			i++
			i = encodeVarintAgent(dAtA, i, uint64(msg.ProtoSize()))
			n, err := msg.MarshalTo(dAtA[i:])
			if err != nil {
				return 0, err
			}
			i += n
		}
	}
	return i, nil
}

func (m *Response) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0x8
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.Type))
	if m.GetHealth != nil {
		dAtA[i] = 0x12
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.GetHealth.ProtoSize()))
		n43, err := m.GetHealth.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n43
	}
	if m.GetFlags != nil {
		dAtA[i] = 0x1a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.GetFlags.ProtoSize()))
		n44, err := m.GetFlags.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n44
	}
	if m.GetVersion != nil {
		dAtA[i] = 0x22
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.GetVersion.ProtoSize()))
		n45, err := m.GetVersion.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n45
	}
	if m.GetMetrics != nil {
		dAtA[i] = 0x2a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.GetMetrics.ProtoSize()))
		n46, err := m.GetMetrics.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n46
	}
	if m.GetLoggingLevel != nil {
		dAtA[i] = 0x32
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.GetLoggingLevel.ProtoSize()))
		n47, err := m.GetLoggingLevel.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n47
	}
	if m.ListFiles != nil {
		dAtA[i] = 0x3a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.ListFiles.ProtoSize()))
		n48, err := m.ListFiles.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n48
	}
	if m.ReadFile != nil {
		dAtA[i] = 0x42
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.ReadFile.ProtoSize()))
		n49, err := m.ReadFile.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n49
	}
	if m.GetState != nil {
		dAtA[i] = 0x4a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.GetState.ProtoSize()))
		n50, err := m.GetState.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n50
	}
	if m.GetContainers != nil {
		dAtA[i] = 0x52
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.GetContainers.ProtoSize()))
		n51, err := m.GetContainers.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n51
	}
	if m.GetFrameworks != nil {
		dAtA[i] = 0x5a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.GetFrameworks.ProtoSize()))
		n52, err := m.GetFrameworks.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n52
	}
	if m.GetExecutors != nil {
		dAtA[i] = 0x62
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.GetExecutors.ProtoSize()))
		n53, err := m.GetExecutors.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n53
	}
	if m.GetTasks != nil {
		dAtA[i] = 0x6a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.GetTasks.ProtoSize()))
		n54, err := m.GetTasks.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n54
	}
	if m.WaitNestedContainer != nil {
		dAtA[i] = 0x72
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.WaitNestedContainer.ProtoSize()))
		n55, err := m.WaitNestedContainer.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n55
	}
	if m.GetAgent != nil {
		dAtA[i] = 0x7a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.GetAgent.ProtoSize()))
		n56, err := m.GetAgent.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n56
	}
	if m.WaitContainer != nil {
		dAtA[i] = 0x82
		i++
		dAtA[i] = 0x1
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.WaitContainer.ProtoSize()))
		n57, err := m.WaitContainer.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n57
	}
	if m.GetResourceProviders != nil {
		dAtA[i] = 0x8a
		i++
		dAtA[i] = 0x1
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.GetResourceProviders.ProtoSize()))
		n58, err := m.GetResourceProviders.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n58
	}
	if m.GetOperations != nil {
		dAtA[i] = 0x92
		i++
		dAtA[i] = 0x1
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.GetOperations.ProtoSize()))
		n59, err := m.GetOperations.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n59
	}
	return i, nil
}

func (m *Response_GetHealth) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response_GetHealth) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0x8
	i++
	if m.Healthy {
		dAtA[i] = 1
	} else {
		dAtA[i] = 0
	}
	i++
	return i, nil
}

func (m *Response_GetFlags) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response_GetFlags) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if len(m.Flags) > 0 {
		for _, msg := range m.Flags {
			dAtA[i] = 0xa
			i++
			i = encodeVarintAgent(dAtA, i, uint64(msg.ProtoSize()))
			n, err := msg.MarshalTo(dAtA[i:])
			if err != nil {
				return 0, err
			}
			i += n
		}
	}
	return i, nil
}

func (m *Response_GetVersion) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response_GetVersion) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0xa
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.VersionInfo.ProtoSize()))
	n60, err := m.VersionInfo.MarshalTo(dAtA[i:])
	if err != nil {
		return 0, err
	}
	i += n60
	return i, nil
}

func (m *Response_GetMetrics) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response_GetMetrics) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if len(m.Metrics) > 0 {
		for _, msg := range m.Metrics {
			dAtA[i] = 0xa
			i++
			i = encodeVarintAgent(dAtA, i, uint64(msg.ProtoSize()))
			n, err := msg.MarshalTo(dAtA[i:])
			if err != nil {
				return 0, err
			}
			i += n
		}
	}
	return i, nil
}

func (m *Response_GetLoggingLevel) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response_GetLoggingLevel) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0x8
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.Level))
	return i, nil
}

func (m *Response_ListFiles) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response_ListFiles) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if len(m.FileInfos) > 0 {
		for _, msg := range m.FileInfos {
			dAtA[i] = 0xa
			i++
			i = encodeVarintAgent(dAtA, i, uint64(msg.ProtoSize()))
			n, err := msg.MarshalTo(dAtA[i:])
			if err != nil {
				return 0, err
			}
			i += n
		}
	}
	return i, nil
}

func (m *Response_ReadFile) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response_ReadFile) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0x8
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.Size))
	if m.Data == nil {
		return 0, github_com_gogo_protobuf_proto.NewRequiredNotSetError("data")
	} else {
		dAtA[i] = 0x12
		i++
		i = encodeVarintAgent(dAtA, i, uint64(len(m.Data)))
		i += copy(dAtA[i:], m.Data)
	}
	return i, nil
}

func (m *Response_GetState) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response_GetState) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.GetTasks != nil {
		dAtA[i] = 0xa
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.GetTasks.ProtoSize()))
		n61, err := m.GetTasks.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n61
	}
	if m.GetExecutors != nil {
		dAtA[i] = 0x12
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.GetExecutors.ProtoSize()))
		n62, err := m.GetExecutors.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n62
	}
	if m.GetFrameworks != nil {
		dAtA[i] = 0x1a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.GetFrameworks.ProtoSize()))
		n63, err := m.GetFrameworks.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n63
	}
	return i, nil
}

func (m *Response_GetContainers) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response_GetContainers) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if len(m.Containers) > 0 {
		for _, msg := range m.Containers {
			dAtA[i] = 0xa
			i++
			i = encodeVarintAgent(dAtA, i, uint64(msg.ProtoSize()))
			n, err := msg.MarshalTo(dAtA[i:])
			if err != nil {
				return 0, err
			}
			i += n
		}
	}
	return i, nil
}

func (m *Response_GetContainers_Container) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response_GetContainers_Container) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.FrameworkID != nil {
		dAtA[i] = 0xa
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.FrameworkID.ProtoSize()))
		n64, err := m.FrameworkID.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n64
	}
	if m.ExecutorID != nil {
		dAtA[i] = 0x12
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.ExecutorID.ProtoSize()))
		n65, err := m.ExecutorID.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n65
	}
	if m.ExecutorName != nil {
		dAtA[i] = 0x1a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(len(*m.ExecutorName)))
		i += copy(dAtA[i:], *m.ExecutorName)
	}
	dAtA[i] = 0x22
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.ContainerID.ProtoSize()))
	n66, err := m.ContainerID.MarshalTo(dAtA[i:])
	if err != nil {
		return 0, err
	}
	i += n66
	if m.ContainerStatus != nil {
		dAtA[i] = 0x2a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.ContainerStatus.ProtoSize()))
		n67, err := m.ContainerStatus.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n67
	}
	if m.ResourceStatistics != nil {
		dAtA[i] = 0x32
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.ResourceStatistics.ProtoSize()))
		n68, err := m.ResourceStatistics.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n68
	}
	return i, nil
}

func (m *Response_GetFrameworks) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response_GetFrameworks) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if len(m.Frameworks) > 0 {
		for _, msg := range m.Frameworks {
			dAtA[i] = 0xa
			i++
			i = encodeVarintAgent(dAtA, i, uint64(msg.ProtoSize()))
			n, err := msg.MarshalTo(dAtA[i:])
			if err != nil {
				return 0, err
			}
			i += n
		}
	}
	if len(m.CompletedFrameworks) > 0 {
		for _, msg := range m.CompletedFrameworks {
			dAtA[i] = 0x12
			i++
			i = encodeVarintAgent(dAtA, i, uint64(msg.ProtoSize()))
			n, err := msg.MarshalTo(dAtA[i:])
			if err != nil {
				return 0, err
			}
			i += n
		}
	}
	return i, nil
}

func (m *Response_GetFrameworks_Framework) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response_GetFrameworks_Framework) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0xa
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.FrameworkInfo.ProtoSize()))
	n69, err := m.FrameworkInfo.MarshalTo(dAtA[i:])
	if err != nil {
		return 0, err
	}
	i += n69
	return i, nil
}

func (m *Response_GetExecutors) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response_GetExecutors) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if len(m.Executors) > 0 {
		for _, msg := range m.Executors {
			dAtA[i] = 0xa
			i++
			i = encodeVarintAgent(dAtA, i, uint64(msg.ProtoSize()))
			n, err := msg.MarshalTo(dAtA[i:])
			if err != nil {
				return 0, err
			}
			i += n
		}
	}
	if len(m.CompletedExecutors) > 0 {
		for _, msg := range m.CompletedExecutors {
			dAtA[i] = 0x12
			i++
			i = encodeVarintAgent(dAtA, i, uint64(msg.ProtoSize()))
			n, err := msg.MarshalTo(dAtA[i:])
			if err != nil {
				return 0, err
			}
			i += n
		}
	}
	return i, nil
}

func (m *Response_GetExecutors_Executor) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response_GetExecutors_Executor) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0xa
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.ExecutorInfo.ProtoSize()))
	n70, err := m.ExecutorInfo.MarshalTo(dAtA[i:])
	if err != nil {
		return 0, err
	}
	i += n70
	return i, nil
}

func (m *Response_GetOperations) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response_GetOperations) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if len(m.Operations) > 0 {
		for _, msg := range m.Operations {
			dAtA[i] = 0xa
			i++
			i = encodeVarintAgent(dAtA, i, uint64(msg.ProtoSize()))
			n, err := msg.MarshalTo(dAtA[i:])
			if err != nil {
				return 0, err
			}
			i += n
		}
	}
	return i, nil
}

func (m *Response_GetTasks) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response_GetTasks) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if len(m.PendingTasks) > 0 {
		for _, msg := range m.PendingTasks {
			dAtA[i] = 0xa
			i++
			i = encodeVarintAgent(dAtA, i, uint64(msg.ProtoSize()))
			n, err := msg.MarshalTo(dAtA[i:])
			if err != nil {
				return 0, err
			}
			i += n
		}
	}
	if len(m.QueuedTasks) > 0 {
		for _, msg := range m.QueuedTasks {
			dAtA[i] = 0x12
			i++
			i = encodeVarintAgent(dAtA, i, uint64(msg.ProtoSize()))
			n, err := msg.MarshalTo(dAtA[i:])
			if err != nil {
				return 0, err
			}
			i += n
		}
	}
	if len(m.LaunchedTasks) > 0 {
		for _, msg := range m.LaunchedTasks {
			dAtA[i] = 0x1a
			i++
			i = encodeVarintAgent(dAtA, i, uint64(msg.ProtoSize()))
			n, err := msg.MarshalTo(dAtA[i:])
			if err != nil {
				return 0, err
			}
			i += n
		}
	}
	if len(m.TerminatedTasks) > 0 {
		for _, msg := range m.TerminatedTasks {
			dAtA[i] = 0x22
			i++
			i = encodeVarintAgent(dAtA, i, uint64(msg.ProtoSize()))
			n, err := msg.MarshalTo(dAtA[i:])
			if err != nil {
				return 0, err
			}
			i += n
		}
	}
	if len(m.CompletedTasks) > 0 {
		for _, msg := range m.CompletedTasks {
			dAtA[i] = 0x2a
			i++
			i = encodeVarintAgent(dAtA, i, uint64(msg.ProtoSize()))
			n, err := msg.MarshalTo(dAtA[i:])
			if err != nil {
				return 0, err
			}
			i += n
		}
	}
	return i, nil
}

func (m *Response_GetAgent) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response_GetAgent) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.AgentInfo != nil {
		dAtA[i] = 0xa
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.AgentInfo.ProtoSize()))
		n71, err := m.AgentInfo.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n71
	}
	return i, nil
}

func (m *Response_GetResourceProviders) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response_GetResourceProviders) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if len(m.ResourceProviders) > 0 {
		for _, msg := range m.ResourceProviders {
			dAtA[i] = 0xa
			i++
			i = encodeVarintAgent(dAtA, i, uint64(msg.ProtoSize()))
			n, err := msg.MarshalTo(dAtA[i:])
			if err != nil {
				return 0, err
			}
			i += n
		}
	}
	return i, nil
}

func (m *Response_GetResourceProviders_ResourceProvider) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response_GetResourceProviders_ResourceProvider) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0xa
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.ResourceProviderInfo.ProtoSize()))
	n72, err := m.ResourceProviderInfo.MarshalTo(dAtA[i:])
	if err != nil {
		return 0, err
	}
	i += n72
	if len(m.TotalResources) > 0 {
		for _, msg := range m.TotalResources {
			dAtA[i] = 0x12
			i++
			i = encodeVarintAgent(dAtA, i, uint64(msg.ProtoSize()))
			n, err := msg.MarshalTo(dAtA[i:])
			if err != nil {
				return 0, err
			}
			i += n
		}
	}
	return i, nil
}

func (m *Response_WaitNestedContainer) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response_WaitNestedContainer) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.ExitStatus != nil {
		dAtA[i] = 0x8
		i++
		i = encodeVarintAgent(dAtA, i, uint64(*m.ExitStatus))
	}
	if m.State != nil {
		dAtA[i] = 0x10
		i++
		i = encodeVarintAgent(dAtA, i, uint64(*m.State))
	}
	if m.Reason != nil {
		dAtA[i] = 0x18
		i++
		i = encodeVarintAgent(dAtA, i, uint64(*m.Reason))
	}
	if m.Limitation != nil {
		dAtA[i] = 0x22
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.Limitation.ProtoSize()))
		n73, err := m.Limitation.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n73
	}
	if m.Message != nil {
		dAtA[i] = 0x2a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(len(*m.Message)))
		i += copy(dAtA[i:], *m.Message)
	}
	return i, nil
}

func (m *Response_WaitContainer) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Response_WaitContainer) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.ExitStatus != nil {
		dAtA[i] = 0x8
		i++
		i = encodeVarintAgent(dAtA, i, uint64(*m.ExitStatus))
	}
	if m.State != nil {
		dAtA[i] = 0x10
		i++
		i = encodeVarintAgent(dAtA, i, uint64(*m.State))
	}
	if m.Reason != nil {
		dAtA[i] = 0x18
		i++
		i = encodeVarintAgent(dAtA, i, uint64(*m.Reason))
	}
	if m.Limitation != nil {
		dAtA[i] = 0x22
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.Limitation.ProtoSize()))
		n74, err := m.Limitation.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n74
	}
	if m.Message != nil {
		dAtA[i] = 0x2a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(len(*m.Message)))
		i += copy(dAtA[i:], *m.Message)
	}
	return i, nil
}

func (m *ProcessIO) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *ProcessIO) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0x8
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.Type))
	if m.Data != nil {
		dAtA[i] = 0x12
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.Data.ProtoSize()))
		n75, err := m.Data.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n75
	}
	if m.Control != nil {
		dAtA[i] = 0x1a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.Control.ProtoSize()))
		n76, err := m.Control.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n76
	}
	return i, nil
}

func (m *ProcessIO_Data) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *ProcessIO_Data) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0x8
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.Type))
	if m.Data != nil {
		dAtA[i] = 0x12
		i++
		i = encodeVarintAgent(dAtA, i, uint64(len(m.Data)))
		i += copy(dAtA[i:], m.Data)
	}
	return i, nil
}

func (m *ProcessIO_Control) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *ProcessIO_Control) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	dAtA[i] = 0x8
	i++
	i = encodeVarintAgent(dAtA, i, uint64(m.Type))
	if m.TTYInfo != nil {
		dAtA[i] = 0x12
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.TTYInfo.ProtoSize()))
		n77, err := m.TTYInfo.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n77
	}
	if m.Heartbeat != nil {
		dAtA[i] = 0x1a
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.Heartbeat.ProtoSize()))
		n78, err := m.Heartbeat.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n78
	}
	return i, nil
}

func (m *ProcessIO_Control_Heartbeat) Marshal() (dAtA []byte, err error) {
	size := m.ProtoSize()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *ProcessIO_Control_Heartbeat) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.Interval != nil {
		dAtA[i] = 0xa
		i++
		i = encodeVarintAgent(dAtA, i, uint64(m.Interval.ProtoSize()))
		n79, err := m.Interval.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n79
	}
	return i, nil
}

func encodeFixed64Agent(dAtA []byte, offset int, v uint64) int {
	dAtA[offset] = uint8(v)
	dAtA[offset+1] = uint8(v >> 8)
	dAtA[offset+2] = uint8(v >> 16)
	dAtA[offset+3] = uint8(v >> 24)
	dAtA[offset+4] = uint8(v >> 32)
	dAtA[offset+5] = uint8(v >> 40)
	dAtA[offset+6] = uint8(v >> 48)
	dAtA[offset+7] = uint8(v >> 56)
	return offset + 8
}
func encodeFixed32Agent(dAtA []byte, offset int, v uint32) int {
	dAtA[offset] = uint8(v)
	dAtA[offset+1] = uint8(v >> 8)
	dAtA[offset+2] = uint8(v >> 16)
	dAtA[offset+3] = uint8(v >> 24)
	return offset + 4
}
func encodeVarintAgent(dAtA []byte, offset int, v uint64) int {
	for v >= 1<<7 {
		dAtA[offset] = uint8(v&0x7f | 0x80)
		v >>= 7
		offset++
	}
	dAtA[offset] = uint8(v)
	return offset + 1
}
func NewPopulatedCall(r randyAgent, easy bool) *Call {
	this := &Call{}
	this.Type = Call_Type([]int32{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 31, 13, 20, 26, 14, 15, 16, 21, 17, 18, 19, 22, 23, 24, 25, 27, 28, 29, 30}[r.Intn(32)])
	if r.Intn(10) != 0 {
		this.GetMetrics = NewPopulatedCall_GetMetrics(r, easy)
	}
	if r.Intn(10) != 0 {
		this.SetLoggingLevel = NewPopulatedCall_SetLoggingLevel(r, easy)
	}
	if r.Intn(10) != 0 {
		this.ListFiles = NewPopulatedCall_ListFiles(r, easy)
	}
	if r.Intn(10) != 0 {
		this.ReadFile = NewPopulatedCall_ReadFile(r, easy)
	}
	if r.Intn(10) == 0 {
		this.LaunchNestedContainer = NewPopulatedCall_LaunchNestedContainer(r, easy)
	}
	if r.Intn(10) == 0 {
		this.WaitNestedContainer = NewPopulatedCall_WaitNestedContainer(r, easy)
	}
	if r.Intn(10) == 0 {
		this.KillNestedContainer = NewPopulatedCall_KillNestedContainer(r, easy)
	}
	if r.Intn(10) == 0 {
		this.LaunchNestedContainerSession = NewPopulatedCall_LaunchNestedContainerSession(r, easy)
	}
	if r.Intn(10) == 0 {
		this.AttachContainerInput = NewPopulatedCall_AttachContainerInput(r, easy)
	}
	if r.Intn(10) == 0 {
		this.AttachContainerOutput = NewPopulatedCall_AttachContainerOutput(r, easy)
	}
	if r.Intn(10) == 0 {
		this.RemoveNestedContainer = NewPopulatedCall_RemoveNestedContainer(r, easy)
	}
	if r.Intn(10) == 0 {
		this.LaunchContainer = NewPopulatedCall_LaunchContainer(r, easy)
	}
	if r.Intn(10) == 0 {
		this.WaitContainer = NewPopulatedCall_WaitContainer(r, easy)
	}
	if r.Intn(10) == 0 {
		this.KillContainer = NewPopulatedCall_KillContainer(r, easy)
	}
	if r.Intn(10) == 0 {
		this.RemoveContainer = NewPopulatedCall_RemoveContainer(r, easy)
	}
	if r.Intn(10) != 0 {
		this.AddResourceProviderConfig = NewPopulatedCall_AddResourceProviderConfig(r, easy)
	}
	if r.Intn(10) != 0 {
		this.UpdateResourceProviderConfig = NewPopulatedCall_UpdateResourceProviderConfig(r, easy)
	}
	if r.Intn(10) != 0 {
		this.RemoveResourceProviderConfig = NewPopulatedCall_RemoveResourceProviderConfig(r, easy)
	}
	if r.Intn(10) != 0 {
		this.GetContainers = NewPopulatedCall_GetContainers(r, easy)
	}
	if r.Intn(10) != 0 {
		this.PruneImages = NewPopulatedCall_PruneImages(r, easy)
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedCall_GetMetrics(r randyAgent, easy bool) *Call_GetMetrics {
	this := &Call_GetMetrics{}
	if r.Intn(10) != 0 {
		this.Timeout = mesos.NewPopulatedDurationInfo(r, easy)
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedCall_SetLoggingLevel(r randyAgent, easy bool) *Call_SetLoggingLevel {
	this := &Call_SetLoggingLevel{}
	this.Level = uint32(r.Uint32())
	v1 := mesos.NewPopulatedDurationInfo(r, easy)
	this.Duration = *v1
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedCall_ListFiles(r randyAgent, easy bool) *Call_ListFiles {
	this := &Call_ListFiles{}
	this.Path = string(randStringAgent(r))
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedCall_ReadFile(r randyAgent, easy bool) *Call_ReadFile {
	this := &Call_ReadFile{}
	this.Path = string(randStringAgent(r))
	this.Offset = uint64(uint64(r.Uint32()))
	if r.Intn(10) != 0 {
		v2 := uint64(uint64(r.Uint32()))
		this.Length = &v2
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedCall_GetContainers(r randyAgent, easy bool) *Call_GetContainers {
	this := &Call_GetContainers{}
	if r.Intn(10) != 0 {
		v3 := bool(bool(r.Intn(2) == 0))
		this.ShowNested = &v3
	}
	if r.Intn(10) != 0 {
		v4 := bool(bool(r.Intn(2) == 0))
		this.ShowStandalone = &v4
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedCall_LaunchNestedContainer(r randyAgent, easy bool) *Call_LaunchNestedContainer {
	this := &Call_LaunchNestedContainer{}
	v5 := mesos.NewPopulatedContainerID(r, easy)
	this.ContainerID = *v5
	if r.Intn(10) != 0 {
		this.Command = mesos.NewPopulatedCommandInfo(r, easy)
	}
	if r.Intn(10) != 0 {
		this.Container = mesos.NewPopulatedContainerInfo(r, easy)
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedCall_WaitNestedContainer(r randyAgent, easy bool) *Call_WaitNestedContainer {
	this := &Call_WaitNestedContainer{}
	v6 := mesos.NewPopulatedContainerID(r, easy)
	this.ContainerID = *v6
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedCall_KillNestedContainer(r randyAgent, easy bool) *Call_KillNestedContainer {
	this := &Call_KillNestedContainer{}
	v7 := mesos.NewPopulatedContainerID(r, easy)
	this.ContainerID = *v7
	if r.Intn(10) != 0 {
		v8 := int32(r.Int31())
		if r.Intn(2) == 0 {
			v8 *= -1
		}
		this.Signal = &v8
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedCall_RemoveNestedContainer(r randyAgent, easy bool) *Call_RemoveNestedContainer {
	this := &Call_RemoveNestedContainer{}
	v9 := mesos.NewPopulatedContainerID(r, easy)
	this.ContainerID = *v9
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedCall_LaunchNestedContainerSession(r randyAgent, easy bool) *Call_LaunchNestedContainerSession {
	this := &Call_LaunchNestedContainerSession{}
	v10 := mesos.NewPopulatedContainerID(r, easy)
	this.ContainerID = *v10
	if r.Intn(10) != 0 {
		this.Command = mesos.NewPopulatedCommandInfo(r, easy)
	}
	if r.Intn(10) != 0 {
		this.Container = mesos.NewPopulatedContainerInfo(r, easy)
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedCall_AttachContainerInput(r randyAgent, easy bool) *Call_AttachContainerInput {
	this := &Call_AttachContainerInput{}
	this.Type = Call_AttachContainerInput_Type([]int32{0, 1, 2}[r.Intn(3)])
	if r.Intn(10) == 0 {
		this.ContainerID = mesos.NewPopulatedContainerID(r, easy)
	}
	if r.Intn(10) != 0 {
		this.ProcessIO = NewPopulatedProcessIO(r, easy)
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedCall_AttachContainerOutput(r randyAgent, easy bool) *Call_AttachContainerOutput {
	this := &Call_AttachContainerOutput{}
	v11 := mesos.NewPopulatedContainerID(r, easy)
	this.ContainerID = *v11
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedCall_LaunchContainer(r randyAgent, easy bool) *Call_LaunchContainer {
	this := &Call_LaunchContainer{}
	v12 := mesos.NewPopulatedContainerID(r, easy)
	this.ContainerID = *v12
	if r.Intn(10) != 0 {
		this.Command = mesos.NewPopulatedCommandInfo(r, easy)
	}
	if r.Intn(10) != 0 {
		v13 := r.Intn(5)
		this.Resources = make([]mesos.Resource, v13)
		for i := 0; i < v13; i++ {
			v14 := mesos.NewPopulatedResource(r, easy)
			this.Resources[i] = *v14
		}
	}
	if r.Intn(10) != 0 {
		this.Container = mesos.NewPopulatedContainerInfo(r, easy)
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedCall_WaitContainer(r randyAgent, easy bool) *Call_WaitContainer {
	this := &Call_WaitContainer{}
	v15 := mesos.NewPopulatedContainerID(r, easy)
	this.ContainerID = *v15
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedCall_KillContainer(r randyAgent, easy bool) *Call_KillContainer {
	this := &Call_KillContainer{}
	v16 := mesos.NewPopulatedContainerID(r, easy)
	this.ContainerID = *v16
	if r.Intn(10) != 0 {
		v17 := int32(r.Int31())
		if r.Intn(2) == 0 {
			v17 *= -1
		}
		this.Signal = &v17
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedCall_RemoveContainer(r randyAgent, easy bool) *Call_RemoveContainer {
	this := &Call_RemoveContainer{}
	v18 := mesos.NewPopulatedContainerID(r, easy)
	this.ContainerID = *v18
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedCall_AddResourceProviderConfig(r randyAgent, easy bool) *Call_AddResourceProviderConfig {
	this := &Call_AddResourceProviderConfig{}
	v19 := mesos.NewPopulatedResourceProviderInfo(r, easy)
	this.Info = *v19
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedCall_UpdateResourceProviderConfig(r randyAgent, easy bool) *Call_UpdateResourceProviderConfig {
	this := &Call_UpdateResourceProviderConfig{}
	v20 := mesos.NewPopulatedResourceProviderInfo(r, easy)
	this.Info = *v20
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedCall_RemoveResourceProviderConfig(r randyAgent, easy bool) *Call_RemoveResourceProviderConfig {
	this := &Call_RemoveResourceProviderConfig{}
	this.Type = string(randStringAgent(r))
	this.Name = string(randStringAgent(r))
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedCall_PruneImages(r randyAgent, easy bool) *Call_PruneImages {
	this := &Call_PruneImages{}
	if r.Intn(10) != 0 {
		v21 := r.Intn(5)
		this.ExcludedImages = make([]mesos.Image, v21)
		for i := 0; i < v21; i++ {
			v22 := mesos.NewPopulatedImage(r, easy)
			this.ExcludedImages[i] = *v22
		}
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse(r randyAgent, easy bool) *Response {
	this := &Response{}
	this.Type = Response_Type([]int32{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 17, 12, 14, 16, 13, 15}[r.Intn(18)])
	if r.Intn(10) != 0 {
		this.GetHealth = NewPopulatedResponse_GetHealth(r, easy)
	}
	if r.Intn(10) != 0 {
		this.GetFlags = NewPopulatedResponse_GetFlags(r, easy)
	}
	if r.Intn(10) != 0 {
		this.GetVersion = NewPopulatedResponse_GetVersion(r, easy)
	}
	if r.Intn(10) != 0 {
		this.GetMetrics = NewPopulatedResponse_GetMetrics(r, easy)
	}
	if r.Intn(10) != 0 {
		this.GetLoggingLevel = NewPopulatedResponse_GetLoggingLevel(r, easy)
	}
	if r.Intn(10) != 0 {
		this.ListFiles = NewPopulatedResponse_ListFiles(r, easy)
	}
	if r.Intn(10) != 0 {
		this.ReadFile = NewPopulatedResponse_ReadFile(r, easy)
	}
	if r.Intn(10) == 0 {
		this.GetState = NewPopulatedResponse_GetState(r, easy)
	}
	if r.Intn(10) == 0 {
		this.GetContainers = NewPopulatedResponse_GetContainers(r, easy)
	}
	if r.Intn(10) != 0 {
		this.GetFrameworks = NewPopulatedResponse_GetFrameworks(r, easy)
	}
	if r.Intn(10) != 0 {
		this.GetExecutors = NewPopulatedResponse_GetExecutors(r, easy)
	}
	if r.Intn(10) == 0 {
		this.GetTasks = NewPopulatedResponse_GetTasks(r, easy)
	}
	if r.Intn(10) != 0 {
		this.WaitNestedContainer = NewPopulatedResponse_WaitNestedContainer(r, easy)
	}
	if r.Intn(10) != 0 {
		this.GetAgent = NewPopulatedResponse_GetAgent(r, easy)
	}
	if r.Intn(10) != 0 {
		this.WaitContainer = NewPopulatedResponse_WaitContainer(r, easy)
	}
	if r.Intn(10) != 0 {
		this.GetResourceProviders = NewPopulatedResponse_GetResourceProviders(r, easy)
	}
	if r.Intn(10) != 0 {
		this.GetOperations = NewPopulatedResponse_GetOperations(r, easy)
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse_GetHealth(r randyAgent, easy bool) *Response_GetHealth {
	this := &Response_GetHealth{}
	this.Healthy = bool(bool(r.Intn(2) == 0))
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse_GetFlags(r randyAgent, easy bool) *Response_GetFlags {
	this := &Response_GetFlags{}
	if r.Intn(10) != 0 {
		v23 := r.Intn(5)
		this.Flags = make([]mesos.Flag, v23)
		for i := 0; i < v23; i++ {
			v24 := mesos.NewPopulatedFlag(r, easy)
			this.Flags[i] = *v24
		}
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse_GetVersion(r randyAgent, easy bool) *Response_GetVersion {
	this := &Response_GetVersion{}
	v25 := mesos.NewPopulatedVersionInfo(r, easy)
	this.VersionInfo = *v25
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse_GetMetrics(r randyAgent, easy bool) *Response_GetMetrics {
	this := &Response_GetMetrics{}
	if r.Intn(10) != 0 {
		v26 := r.Intn(5)
		this.Metrics = make([]mesos.Metric, v26)
		for i := 0; i < v26; i++ {
			v27 := mesos.NewPopulatedMetric(r, easy)
			this.Metrics[i] = *v27
		}
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse_GetLoggingLevel(r randyAgent, easy bool) *Response_GetLoggingLevel {
	this := &Response_GetLoggingLevel{}
	this.Level = uint32(r.Uint32())
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse_ListFiles(r randyAgent, easy bool) *Response_ListFiles {
	this := &Response_ListFiles{}
	if r.Intn(10) != 0 {
		v28 := r.Intn(5)
		this.FileInfos = make([]mesos.FileInfo, v28)
		for i := 0; i < v28; i++ {
			v29 := mesos.NewPopulatedFileInfo(r, easy)
			this.FileInfos[i] = *v29
		}
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse_ReadFile(r randyAgent, easy bool) *Response_ReadFile {
	this := &Response_ReadFile{}
	this.Size = uint64(uint64(r.Uint32()))
	v30 := r.Intn(100)
	this.Data = make([]byte, v30)
	for i := 0; i < v30; i++ {
		this.Data[i] = byte(r.Intn(256))
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse_GetState(r randyAgent, easy bool) *Response_GetState {
	this := &Response_GetState{}
	if r.Intn(10) == 0 {
		this.GetTasks = NewPopulatedResponse_GetTasks(r, easy)
	}
	if r.Intn(10) != 0 {
		this.GetExecutors = NewPopulatedResponse_GetExecutors(r, easy)
	}
	if r.Intn(10) != 0 {
		this.GetFrameworks = NewPopulatedResponse_GetFrameworks(r, easy)
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse_GetContainers(r randyAgent, easy bool) *Response_GetContainers {
	this := &Response_GetContainers{}
	if r.Intn(10) == 0 {
		v31 := r.Intn(5)
		this.Containers = make([]Response_GetContainers_Container, v31)
		for i := 0; i < v31; i++ {
			v32 := NewPopulatedResponse_GetContainers_Container(r, easy)
			this.Containers[i] = *v32
		}
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse_GetContainers_Container(r randyAgent, easy bool) *Response_GetContainers_Container {
	this := &Response_GetContainers_Container{}
	if r.Intn(10) != 0 {
		this.FrameworkID = mesos.NewPopulatedFrameworkID(r, easy)
	}
	if r.Intn(10) != 0 {
		this.ExecutorID = mesos.NewPopulatedExecutorID(r, easy)
	}
	if r.Intn(10) != 0 {
		v33 := string(randStringAgent(r))
		this.ExecutorName = &v33
	}
	v34 := mesos.NewPopulatedContainerID(r, easy)
	this.ContainerID = *v34
	if r.Intn(10) == 0 {
		this.ContainerStatus = mesos.NewPopulatedContainerStatus(r, easy)
	}
	if r.Intn(10) != 0 {
		this.ResourceStatistics = mesos.NewPopulatedResourceStatistics(r, easy)
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse_GetFrameworks(r randyAgent, easy bool) *Response_GetFrameworks {
	this := &Response_GetFrameworks{}
	if r.Intn(10) != 0 {
		v35 := r.Intn(5)
		this.Frameworks = make([]Response_GetFrameworks_Framework, v35)
		for i := 0; i < v35; i++ {
			v36 := NewPopulatedResponse_GetFrameworks_Framework(r, easy)
			this.Frameworks[i] = *v36
		}
	}
	if r.Intn(10) != 0 {
		v37 := r.Intn(5)
		this.CompletedFrameworks = make([]Response_GetFrameworks_Framework, v37)
		for i := 0; i < v37; i++ {
			v38 := NewPopulatedResponse_GetFrameworks_Framework(r, easy)
			this.CompletedFrameworks[i] = *v38
		}
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse_GetFrameworks_Framework(r randyAgent, easy bool) *Response_GetFrameworks_Framework {
	this := &Response_GetFrameworks_Framework{}
	v39 := mesos.NewPopulatedFrameworkInfo(r, easy)
	this.FrameworkInfo = *v39
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse_GetExecutors(r randyAgent, easy bool) *Response_GetExecutors {
	this := &Response_GetExecutors{}
	if r.Intn(10) != 0 {
		v40 := r.Intn(5)
		this.Executors = make([]Response_GetExecutors_Executor, v40)
		for i := 0; i < v40; i++ {
			v41 := NewPopulatedResponse_GetExecutors_Executor(r, easy)
			this.Executors[i] = *v41
		}
	}
	if r.Intn(10) != 0 {
		v42 := r.Intn(5)
		this.CompletedExecutors = make([]Response_GetExecutors_Executor, v42)
		for i := 0; i < v42; i++ {
			v43 := NewPopulatedResponse_GetExecutors_Executor(r, easy)
			this.CompletedExecutors[i] = *v43
		}
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse_GetExecutors_Executor(r randyAgent, easy bool) *Response_GetExecutors_Executor {
	this := &Response_GetExecutors_Executor{}
	v44 := mesos.NewPopulatedExecutorInfo(r, easy)
	this.ExecutorInfo = *v44
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse_GetOperations(r randyAgent, easy bool) *Response_GetOperations {
	this := &Response_GetOperations{}
	if r.Intn(10) != 0 {
		v45 := r.Intn(5)
		this.Operations = make([]mesos.Operation, v45)
		for i := 0; i < v45; i++ {
			v46 := mesos.NewPopulatedOperation(r, easy)
			this.Operations[i] = *v46
		}
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse_GetTasks(r randyAgent, easy bool) *Response_GetTasks {
	this := &Response_GetTasks{}
	if r.Intn(10) == 0 {
		v47 := r.Intn(5)
		this.PendingTasks = make([]mesos.Task, v47)
		for i := 0; i < v47; i++ {
			v48 := mesos.NewPopulatedTask(r, easy)
			this.PendingTasks[i] = *v48
		}
	}
	if r.Intn(10) == 0 {
		v49 := r.Intn(5)
		this.QueuedTasks = make([]mesos.Task, v49)
		for i := 0; i < v49; i++ {
			v50 := mesos.NewPopulatedTask(r, easy)
			this.QueuedTasks[i] = *v50
		}
	}
	if r.Intn(10) == 0 {
		v51 := r.Intn(5)
		this.LaunchedTasks = make([]mesos.Task, v51)
		for i := 0; i < v51; i++ {
			v52 := mesos.NewPopulatedTask(r, easy)
			this.LaunchedTasks[i] = *v52
		}
	}
	if r.Intn(10) == 0 {
		v53 := r.Intn(5)
		this.TerminatedTasks = make([]mesos.Task, v53)
		for i := 0; i < v53; i++ {
			v54 := mesos.NewPopulatedTask(r, easy)
			this.TerminatedTasks[i] = *v54
		}
	}
	if r.Intn(10) == 0 {
		v55 := r.Intn(5)
		this.CompletedTasks = make([]mesos.Task, v55)
		for i := 0; i < v55; i++ {
			v56 := mesos.NewPopulatedTask(r, easy)
			this.CompletedTasks[i] = *v56
		}
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse_GetAgent(r randyAgent, easy bool) *Response_GetAgent {
	this := &Response_GetAgent{}
	if r.Intn(10) != 0 {
		this.AgentInfo = mesos.NewPopulatedAgentInfo(r, easy)
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse_GetResourceProviders(r randyAgent, easy bool) *Response_GetResourceProviders {
	this := &Response_GetResourceProviders{}
	if r.Intn(10) != 0 {
		v57 := r.Intn(5)
		this.ResourceProviders = make([]Response_GetResourceProviders_ResourceProvider, v57)
		for i := 0; i < v57; i++ {
			v58 := NewPopulatedResponse_GetResourceProviders_ResourceProvider(r, easy)
			this.ResourceProviders[i] = *v58
		}
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse_GetResourceProviders_ResourceProvider(r randyAgent, easy bool) *Response_GetResourceProviders_ResourceProvider {
	this := &Response_GetResourceProviders_ResourceProvider{}
	v59 := mesos.NewPopulatedResourceProviderInfo(r, easy)
	this.ResourceProviderInfo = *v59
	if r.Intn(10) != 0 {
		v60 := r.Intn(5)
		this.TotalResources = make([]mesos.Resource, v60)
		for i := 0; i < v60; i++ {
			v61 := mesos.NewPopulatedResource(r, easy)
			this.TotalResources[i] = *v61
		}
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse_WaitNestedContainer(r randyAgent, easy bool) *Response_WaitNestedContainer {
	this := &Response_WaitNestedContainer{}
	if r.Intn(10) != 0 {
		v62 := int32(r.Int31())
		if r.Intn(2) == 0 {
			v62 *= -1
		}
		this.ExitStatus = &v62
	}
	if r.Intn(10) != 0 {
		v63 := mesos.TaskState([]int32{6, 0, 1, 8, 2, 3, 4, 7, 5, 9, 10, 11, 12, 13}[r.Intn(14)])
		this.State = &v63
	}
	if r.Intn(10) != 0 {
		v64 := mesos.TaskStatus_Reason([]int32{0, 21, 19, 20, 8, 17, 22, 33, 23, 24, 1, 2, 3, 4, 5, 6, 27, 7, 9, 18, 10, 11, 31, 32, 12, 13, 30, 28, 29, 25, 26, 14, 15, 16}[r.Intn(34)])
		this.Reason = &v64
	}
	if r.Intn(10) != 0 {
		this.Limitation = mesos.NewPopulatedTaskResourceLimitation(r, easy)
	}
	if r.Intn(10) != 0 {
		v65 := string(randStringAgent(r))
		this.Message = &v65
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedResponse_WaitContainer(r randyAgent, easy bool) *Response_WaitContainer {
	this := &Response_WaitContainer{}
	if r.Intn(10) != 0 {
		v66 := int32(r.Int31())
		if r.Intn(2) == 0 {
			v66 *= -1
		}
		this.ExitStatus = &v66
	}
	if r.Intn(10) != 0 {
		v67 := mesos.TaskState([]int32{6, 0, 1, 8, 2, 3, 4, 7, 5, 9, 10, 11, 12, 13}[r.Intn(14)])
		this.State = &v67
	}
	if r.Intn(10) != 0 {
		v68 := mesos.TaskStatus_Reason([]int32{0, 21, 19, 20, 8, 17, 22, 33, 23, 24, 1, 2, 3, 4, 5, 6, 27, 7, 9, 18, 10, 11, 31, 32, 12, 13, 30, 28, 29, 25, 26, 14, 15, 16}[r.Intn(34)])
		this.Reason = &v68
	}
	if r.Intn(10) != 0 {
		this.Limitation = mesos.NewPopulatedTaskResourceLimitation(r, easy)
	}
	if r.Intn(10) != 0 {
		v69 := string(randStringAgent(r))
		this.Message = &v69
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedProcessIO(r randyAgent, easy bool) *ProcessIO {
	this := &ProcessIO{}
	this.Type = ProcessIO_Type([]int32{0, 1, 2}[r.Intn(3)])
	if r.Intn(10) != 0 {
		this.Data = NewPopulatedProcessIO_Data(r, easy)
	}
	if r.Intn(10) != 0 {
		this.Control = NewPopulatedProcessIO_Control(r, easy)
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedProcessIO_Data(r randyAgent, easy bool) *ProcessIO_Data {
	this := &ProcessIO_Data{}
	this.Type = ProcessIO_Data_Type([]int32{0, 1, 2, 3}[r.Intn(4)])
	if r.Intn(10) != 0 {
		v70 := r.Intn(100)
		this.Data = make([]byte, v70)
		for i := 0; i < v70; i++ {
			this.Data[i] = byte(r.Intn(256))
		}
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedProcessIO_Control(r randyAgent, easy bool) *ProcessIO_Control {
	this := &ProcessIO_Control{}
	this.Type = ProcessIO_Control_Type([]int32{0, 1, 2}[r.Intn(3)])
	if r.Intn(10) != 0 {
		this.TTYInfo = mesos.NewPopulatedTTYInfo(r, easy)
	}
	if r.Intn(10) != 0 {
		this.Heartbeat = NewPopulatedProcessIO_Control_Heartbeat(r, easy)
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedProcessIO_Control_Heartbeat(r randyAgent, easy bool) *ProcessIO_Control_Heartbeat {
	this := &ProcessIO_Control_Heartbeat{}
	if r.Intn(10) != 0 {
		this.Interval = mesos.NewPopulatedDurationInfo(r, easy)
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

type randyAgent interface {
	Float32() float32
	Float64() float64
	Int63() int64
	Int31() int32
	Uint32() uint32
	Intn(n int) int
}

func randUTF8RuneAgent(r randyAgent) rune {
	ru := r.Intn(62)
	if ru < 10 {
		return rune(ru + 48)
	} else if ru < 36 {
		return rune(ru + 55)
	}
	return rune(ru + 61)
}
func randStringAgent(r randyAgent) string {
	v71 := r.Intn(100)
	tmps := make([]rune, v71)
	for i := 0; i < v71; i++ {
		tmps[i] = randUTF8RuneAgent(r)
	}
	return string(tmps)
}
func randUnrecognizedAgent(r randyAgent, maxFieldNumber int) (dAtA []byte) {
	l := r.Intn(5)
	for i := 0; i < l; i++ {
		wire := r.Intn(4)
		if wire == 3 {
			wire = 5
		}
		fieldNumber := maxFieldNumber + r.Intn(100)
		dAtA = randFieldAgent(dAtA, r, fieldNumber, wire)
	}
	return dAtA
}
func randFieldAgent(dAtA []byte, r randyAgent, fieldNumber int, wire int) []byte {
	key := uint32(fieldNumber)<<3 | uint32(wire)
	switch wire {
	case 0:
		dAtA = encodeVarintPopulateAgent(dAtA, uint64(key))
		v72 := r.Int63()
		if r.Intn(2) == 0 {
			v72 *= -1
		}
		dAtA = encodeVarintPopulateAgent(dAtA, uint64(v72))
	case 1:
		dAtA = encodeVarintPopulateAgent(dAtA, uint64(key))
		dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
	case 2:
		dAtA = encodeVarintPopulateAgent(dAtA, uint64(key))
		ll := r.Intn(100)
		dAtA = encodeVarintPopulateAgent(dAtA, uint64(ll))
		for j := 0; j < ll; j++ {
			dAtA = append(dAtA, byte(r.Intn(256)))
		}
	default:
		dAtA = encodeVarintPopulateAgent(dAtA, uint64(key))
		dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
	}
	return dAtA
}
func encodeVarintPopulateAgent(dAtA []byte, v uint64) []byte {
	for v >= 1<<7 {
		dAtA = append(dAtA, uint8(uint64(v)&0x7f|0x80))
		v >>= 7
	}
	dAtA = append(dAtA, uint8(v))
	return dAtA
}
func (m *Call) ProtoSize() (n int) {
	var l int
	_ = l
	n += 1 + sovAgent(uint64(m.Type))
	if m.GetMetrics != nil {
		l = m.GetMetrics.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.SetLoggingLevel != nil {
		l = m.SetLoggingLevel.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.ListFiles != nil {
		l = m.ListFiles.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.ReadFile != nil {
		l = m.ReadFile.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.LaunchNestedContainer != nil {
		l = m.LaunchNestedContainer.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.WaitNestedContainer != nil {
		l = m.WaitNestedContainer.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.KillNestedContainer != nil {
		l = m.KillNestedContainer.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.LaunchNestedContainerSession != nil {
		l = m.LaunchNestedContainerSession.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.AttachContainerInput != nil {
		l = m.AttachContainerInput.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.AttachContainerOutput != nil {
		l = m.AttachContainerOutput.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.RemoveNestedContainer != nil {
		l = m.RemoveNestedContainer.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.LaunchContainer != nil {
		l = m.LaunchContainer.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.WaitContainer != nil {
		l = m.WaitContainer.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.KillContainer != nil {
		l = m.KillContainer.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.RemoveContainer != nil {
		l = m.RemoveContainer.ProtoSize()
		n += 2 + l + sovAgent(uint64(l))
	}
	if m.AddResourceProviderConfig != nil {
		l = m.AddResourceProviderConfig.ProtoSize()
		n += 2 + l + sovAgent(uint64(l))
	}
	if m.UpdateResourceProviderConfig != nil {
		l = m.UpdateResourceProviderConfig.ProtoSize()
		n += 2 + l + sovAgent(uint64(l))
	}
	if m.RemoveResourceProviderConfig != nil {
		l = m.RemoveResourceProviderConfig.ProtoSize()
		n += 2 + l + sovAgent(uint64(l))
	}
	if m.GetContainers != nil {
		l = m.GetContainers.ProtoSize()
		n += 2 + l + sovAgent(uint64(l))
	}
	if m.PruneImages != nil {
		l = m.PruneImages.ProtoSize()
		n += 2 + l + sovAgent(uint64(l))
	}
	return n
}

func (m *Call_GetMetrics) ProtoSize() (n int) {
	var l int
	_ = l
	if m.Timeout != nil {
		l = m.Timeout.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	return n
}

func (m *Call_SetLoggingLevel) ProtoSize() (n int) {
	var l int
	_ = l
	n += 1 + sovAgent(uint64(m.Level))
	l = m.Duration.ProtoSize()
	n += 1 + l + sovAgent(uint64(l))
	return n
}

func (m *Call_ListFiles) ProtoSize() (n int) {
	var l int
	_ = l
	l = len(m.Path)
	n += 1 + l + sovAgent(uint64(l))
	return n
}

func (m *Call_ReadFile) ProtoSize() (n int) {
	var l int
	_ = l
	l = len(m.Path)
	n += 1 + l + sovAgent(uint64(l))
	n += 1 + sovAgent(uint64(m.Offset))
	if m.Length != nil {
		n += 1 + sovAgent(uint64(*m.Length))
	}
	return n
}

func (m *Call_GetContainers) ProtoSize() (n int) {
	var l int
	_ = l
	if m.ShowNested != nil {
		n += 2
	}
	if m.ShowStandalone != nil {
		n += 2
	}
	return n
}

func (m *Call_LaunchNestedContainer) ProtoSize() (n int) {
	var l int
	_ = l
	l = m.ContainerID.ProtoSize()
	n += 1 + l + sovAgent(uint64(l))
	if m.Command != nil {
		l = m.Command.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.Container != nil {
		l = m.Container.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	return n
}

func (m *Call_WaitNestedContainer) ProtoSize() (n int) {
	var l int
	_ = l
	l = m.ContainerID.ProtoSize()
	n += 1 + l + sovAgent(uint64(l))
	return n
}

func (m *Call_KillNestedContainer) ProtoSize() (n int) {
	var l int
	_ = l
	l = m.ContainerID.ProtoSize()
	n += 1 + l + sovAgent(uint64(l))
	if m.Signal != nil {
		n += 1 + sovAgent(uint64(*m.Signal))
	}
	return n
}

func (m *Call_RemoveNestedContainer) ProtoSize() (n int) {
	var l int
	_ = l
	l = m.ContainerID.ProtoSize()
	n += 1 + l + sovAgent(uint64(l))
	return n
}

func (m *Call_LaunchNestedContainerSession) ProtoSize() (n int) {
	var l int
	_ = l
	l = m.ContainerID.ProtoSize()
	n += 1 + l + sovAgent(uint64(l))
	if m.Command != nil {
		l = m.Command.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.Container != nil {
		l = m.Container.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	return n
}

func (m *Call_AttachContainerInput) ProtoSize() (n int) {
	var l int
	_ = l
	n += 1 + sovAgent(uint64(m.Type))
	if m.ContainerID != nil {
		l = m.ContainerID.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.ProcessIO != nil {
		l = m.ProcessIO.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	return n
}

func (m *Call_AttachContainerOutput) ProtoSize() (n int) {
	var l int
	_ = l
	l = m.ContainerID.ProtoSize()
	n += 1 + l + sovAgent(uint64(l))
	return n
}

func (m *Call_LaunchContainer) ProtoSize() (n int) {
	var l int
	_ = l
	l = m.ContainerID.ProtoSize()
	n += 1 + l + sovAgent(uint64(l))
	if m.Command != nil {
		l = m.Command.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if len(m.Resources) > 0 {
		for _, e := range m.Resources {
			l = e.ProtoSize()
			n += 1 + l + sovAgent(uint64(l))
		}
	}
	if m.Container != nil {
		l = m.Container.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	return n
}

func (m *Call_WaitContainer) ProtoSize() (n int) {
	var l int
	_ = l
	l = m.ContainerID.ProtoSize()
	n += 1 + l + sovAgent(uint64(l))
	return n
}

func (m *Call_KillContainer) ProtoSize() (n int) {
	var l int
	_ = l
	l = m.ContainerID.ProtoSize()
	n += 1 + l + sovAgent(uint64(l))
	if m.Signal != nil {
		n += 1 + sovAgent(uint64(*m.Signal))
	}
	return n
}

func (m *Call_RemoveContainer) ProtoSize() (n int) {
	var l int
	_ = l
	l = m.ContainerID.ProtoSize()
	n += 1 + l + sovAgent(uint64(l))
	return n
}

func (m *Call_AddResourceProviderConfig) ProtoSize() (n int) {
	var l int
	_ = l
	l = m.Info.ProtoSize()
	n += 1 + l + sovAgent(uint64(l))
	return n
}

func (m *Call_UpdateResourceProviderConfig) ProtoSize() (n int) {
	var l int
	_ = l
	l = m.Info.ProtoSize()
	n += 1 + l + sovAgent(uint64(l))
	return n
}

func (m *Call_RemoveResourceProviderConfig) ProtoSize() (n int) {
	var l int
	_ = l
	l = len(m.Type)
	n += 1 + l + sovAgent(uint64(l))
	l = len(m.Name)
	n += 1 + l + sovAgent(uint64(l))
	return n
}

func (m *Call_PruneImages) ProtoSize() (n int) {
	var l int
	_ = l
	if len(m.ExcludedImages) > 0 {
		for _, e := range m.ExcludedImages {
			l = e.ProtoSize()
			n += 1 + l + sovAgent(uint64(l))
		}
	}
	return n
}

func (m *Response) ProtoSize() (n int) {
	var l int
	_ = l
	n += 1 + sovAgent(uint64(m.Type))
	if m.GetHealth != nil {
		l = m.GetHealth.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.GetFlags != nil {
		l = m.GetFlags.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.GetVersion != nil {
		l = m.GetVersion.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.GetMetrics != nil {
		l = m.GetMetrics.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.GetLoggingLevel != nil {
		l = m.GetLoggingLevel.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.ListFiles != nil {
		l = m.ListFiles.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.ReadFile != nil {
		l = m.ReadFile.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.GetState != nil {
		l = m.GetState.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.GetContainers != nil {
		l = m.GetContainers.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.GetFrameworks != nil {
		l = m.GetFrameworks.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.GetExecutors != nil {
		l = m.GetExecutors.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.GetTasks != nil {
		l = m.GetTasks.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.WaitNestedContainer != nil {
		l = m.WaitNestedContainer.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.GetAgent != nil {
		l = m.GetAgent.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.WaitContainer != nil {
		l = m.WaitContainer.ProtoSize()
		n += 2 + l + sovAgent(uint64(l))
	}
	if m.GetResourceProviders != nil {
		l = m.GetResourceProviders.ProtoSize()
		n += 2 + l + sovAgent(uint64(l))
	}
	if m.GetOperations != nil {
		l = m.GetOperations.ProtoSize()
		n += 2 + l + sovAgent(uint64(l))
	}
	return n
}

func (m *Response_GetHealth) ProtoSize() (n int) {
	var l int
	_ = l
	n += 2
	return n
}

func (m *Response_GetFlags) ProtoSize() (n int) {
	var l int
	_ = l
	if len(m.Flags) > 0 {
		for _, e := range m.Flags {
			l = e.ProtoSize()
			n += 1 + l + sovAgent(uint64(l))
		}
	}
	return n
}

func (m *Response_GetVersion) ProtoSize() (n int) {
	var l int
	_ = l
	l = m.VersionInfo.ProtoSize()
	n += 1 + l + sovAgent(uint64(l))
	return n
}

func (m *Response_GetMetrics) ProtoSize() (n int) {
	var l int
	_ = l
	if len(m.Metrics) > 0 {
		for _, e := range m.Metrics {
			l = e.ProtoSize()
			n += 1 + l + sovAgent(uint64(l))
		}
	}
	return n
}

func (m *Response_GetLoggingLevel) ProtoSize() (n int) {
	var l int
	_ = l
	n += 1 + sovAgent(uint64(m.Level))
	return n
}

func (m *Response_ListFiles) ProtoSize() (n int) {
	var l int
	_ = l
	if len(m.FileInfos) > 0 {
		for _, e := range m.FileInfos {
			l = e.ProtoSize()
			n += 1 + l + sovAgent(uint64(l))
		}
	}
	return n
}

func (m *Response_ReadFile) ProtoSize() (n int) {
	var l int
	_ = l
	n += 1 + sovAgent(uint64(m.Size))
	if m.Data != nil {
		l = len(m.Data)
		n += 1 + l + sovAgent(uint64(l))
	}
	return n
}

func (m *Response_GetState) ProtoSize() (n int) {
	var l int
	_ = l
	if m.GetTasks != nil {
		l = m.GetTasks.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.GetExecutors != nil {
		l = m.GetExecutors.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.GetFrameworks != nil {
		l = m.GetFrameworks.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	return n
}

func (m *Response_GetContainers) ProtoSize() (n int) {
	var l int
	_ = l
	if len(m.Containers) > 0 {
		for _, e := range m.Containers {
			l = e.ProtoSize()
			n += 1 + l + sovAgent(uint64(l))
		}
	}
	return n
}

func (m *Response_GetContainers_Container) ProtoSize() (n int) {
	var l int
	_ = l
	if m.FrameworkID != nil {
		l = m.FrameworkID.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.ExecutorID != nil {
		l = m.ExecutorID.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.ExecutorName != nil {
		l = len(*m.ExecutorName)
		n += 1 + l + sovAgent(uint64(l))
	}
	l = m.ContainerID.ProtoSize()
	n += 1 + l + sovAgent(uint64(l))
	if m.ContainerStatus != nil {
		l = m.ContainerStatus.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.ResourceStatistics != nil {
		l = m.ResourceStatistics.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	return n
}

func (m *Response_GetFrameworks) ProtoSize() (n int) {
	var l int
	_ = l
	if len(m.Frameworks) > 0 {
		for _, e := range m.Frameworks {
			l = e.ProtoSize()
			n += 1 + l + sovAgent(uint64(l))
		}
	}
	if len(m.CompletedFrameworks) > 0 {
		for _, e := range m.CompletedFrameworks {
			l = e.ProtoSize()
			n += 1 + l + sovAgent(uint64(l))
		}
	}
	return n
}

func (m *Response_GetFrameworks_Framework) ProtoSize() (n int) {
	var l int
	_ = l
	l = m.FrameworkInfo.ProtoSize()
	n += 1 + l + sovAgent(uint64(l))
	return n
}

func (m *Response_GetExecutors) ProtoSize() (n int) {
	var l int
	_ = l
	if len(m.Executors) > 0 {
		for _, e := range m.Executors {
			l = e.ProtoSize()
			n += 1 + l + sovAgent(uint64(l))
		}
	}
	if len(m.CompletedExecutors) > 0 {
		for _, e := range m.CompletedExecutors {
			l = e.ProtoSize()
			n += 1 + l + sovAgent(uint64(l))
		}
	}
	return n
}

func (m *Response_GetExecutors_Executor) ProtoSize() (n int) {
	var l int
	_ = l
	l = m.ExecutorInfo.ProtoSize()
	n += 1 + l + sovAgent(uint64(l))
	return n
}

func (m *Response_GetOperations) ProtoSize() (n int) {
	var l int
	_ = l
	if len(m.Operations) > 0 {
		for _, e := range m.Operations {
			l = e.ProtoSize()
			n += 1 + l + sovAgent(uint64(l))
		}
	}
	return n
}

func (m *Response_GetTasks) ProtoSize() (n int) {
	var l int
	_ = l
	if len(m.PendingTasks) > 0 {
		for _, e := range m.PendingTasks {
			l = e.ProtoSize()
			n += 1 + l + sovAgent(uint64(l))
		}
	}
	if len(m.QueuedTasks) > 0 {
		for _, e := range m.QueuedTasks {
			l = e.ProtoSize()
			n += 1 + l + sovAgent(uint64(l))
		}
	}
	if len(m.LaunchedTasks) > 0 {
		for _, e := range m.LaunchedTasks {
			l = e.ProtoSize()
			n += 1 + l + sovAgent(uint64(l))
		}
	}
	if len(m.TerminatedTasks) > 0 {
		for _, e := range m.TerminatedTasks {
			l = e.ProtoSize()
			n += 1 + l + sovAgent(uint64(l))
		}
	}
	if len(m.CompletedTasks) > 0 {
		for _, e := range m.CompletedTasks {
			l = e.ProtoSize()
			n += 1 + l + sovAgent(uint64(l))
		}
	}
	return n
}

func (m *Response_GetAgent) ProtoSize() (n int) {
	var l int
	_ = l
	if m.AgentInfo != nil {
		l = m.AgentInfo.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	return n
}

func (m *Response_GetResourceProviders) ProtoSize() (n int) {
	var l int
	_ = l
	if len(m.ResourceProviders) > 0 {
		for _, e := range m.ResourceProviders {
			l = e.ProtoSize()
			n += 1 + l + sovAgent(uint64(l))
		}
	}
	return n
}

func (m *Response_GetResourceProviders_ResourceProvider) ProtoSize() (n int) {
	var l int
	_ = l
	l = m.ResourceProviderInfo.ProtoSize()
	n += 1 + l + sovAgent(uint64(l))
	if len(m.TotalResources) > 0 {
		for _, e := range m.TotalResources {
			l = e.ProtoSize()
			n += 1 + l + sovAgent(uint64(l))
		}
	}
	return n
}

func (m *Response_WaitNestedContainer) ProtoSize() (n int) {
	var l int
	_ = l
	if m.ExitStatus != nil {
		n += 1 + sovAgent(uint64(*m.ExitStatus))
	}
	if m.State != nil {
		n += 1 + sovAgent(uint64(*m.State))
	}
	if m.Reason != nil {
		n += 1 + sovAgent(uint64(*m.Reason))
	}
	if m.Limitation != nil {
		l = m.Limitation.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.Message != nil {
		l = len(*m.Message)
		n += 1 + l + sovAgent(uint64(l))
	}
	return n
}

func (m *Response_WaitContainer) ProtoSize() (n int) {
	var l int
	_ = l
	if m.ExitStatus != nil {
		n += 1 + sovAgent(uint64(*m.ExitStatus))
	}
	if m.State != nil {
		n += 1 + sovAgent(uint64(*m.State))
	}
	if m.Reason != nil {
		n += 1 + sovAgent(uint64(*m.Reason))
	}
	if m.Limitation != nil {
		l = m.Limitation.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.Message != nil {
		l = len(*m.Message)
		n += 1 + l + sovAgent(uint64(l))
	}
	return n
}

func (m *ProcessIO) ProtoSize() (n int) {
	var l int
	_ = l
	n += 1 + sovAgent(uint64(m.Type))
	if m.Data != nil {
		l = m.Data.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.Control != nil {
		l = m.Control.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	return n
}

func (m *ProcessIO_Data) ProtoSize() (n int) {
	var l int
	_ = l
	n += 1 + sovAgent(uint64(m.Type))
	if m.Data != nil {
		l = len(m.Data)
		n += 1 + l + sovAgent(uint64(l))
	}
	return n
}

func (m *ProcessIO_Control) ProtoSize() (n int) {
	var l int
	_ = l
	n += 1 + sovAgent(uint64(m.Type))
	if m.TTYInfo != nil {
		l = m.TTYInfo.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	if m.Heartbeat != nil {
		l = m.Heartbeat.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	return n
}

func (m *ProcessIO_Control_Heartbeat) ProtoSize() (n int) {
	var l int
	_ = l
	if m.Interval != nil {
		l = m.Interval.ProtoSize()
		n += 1 + l + sovAgent(uint64(l))
	}
	return n
}

func sovAgent(x uint64) (n int) {
	for {
		n++
		x >>= 7
		if x == 0 {
			break
		}
	}
	return n
}
func sozAgent(x uint64) (n int) {
	return sovAgent(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (this *Call) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Call{`,
		`Type:` + fmt.Sprintf("%v", this.Type) + `,`,
		`GetMetrics:` + strings.Replace(fmt.Sprintf("%v", this.GetMetrics), "Call_GetMetrics", "Call_GetMetrics", 1) + `,`,
		`SetLoggingLevel:` + strings.Replace(fmt.Sprintf("%v", this.SetLoggingLevel), "Call_SetLoggingLevel", "Call_SetLoggingLevel", 1) + `,`,
		`ListFiles:` + strings.Replace(fmt.Sprintf("%v", this.ListFiles), "Call_ListFiles", "Call_ListFiles", 1) + `,`,
		`ReadFile:` + strings.Replace(fmt.Sprintf("%v", this.ReadFile), "Call_ReadFile", "Call_ReadFile", 1) + `,`,
		`LaunchNestedContainer:` + strings.Replace(fmt.Sprintf("%v", this.LaunchNestedContainer), "Call_LaunchNestedContainer", "Call_LaunchNestedContainer", 1) + `,`,
		`WaitNestedContainer:` + strings.Replace(fmt.Sprintf("%v", this.WaitNestedContainer), "Call_WaitNestedContainer", "Call_WaitNestedContainer", 1) + `,`,
		`KillNestedContainer:` + strings.Replace(fmt.Sprintf("%v", this.KillNestedContainer), "Call_KillNestedContainer", "Call_KillNestedContainer", 1) + `,`,
		`LaunchNestedContainerSession:` + strings.Replace(fmt.Sprintf("%v", this.LaunchNestedContainerSession), "Call_LaunchNestedContainerSession", "Call_LaunchNestedContainerSession", 1) + `,`,
		`AttachContainerInput:` + strings.Replace(fmt.Sprintf("%v", this.AttachContainerInput), "Call_AttachContainerInput", "Call_AttachContainerInput", 1) + `,`,
		`AttachContainerOutput:` + strings.Replace(fmt.Sprintf("%v", this.AttachContainerOutput), "Call_AttachContainerOutput", "Call_AttachContainerOutput", 1) + `,`,
		`RemoveNestedContainer:` + strings.Replace(fmt.Sprintf("%v", this.RemoveNestedContainer), "Call_RemoveNestedContainer", "Call_RemoveNestedContainer", 1) + `,`,
		`LaunchContainer:` + strings.Replace(fmt.Sprintf("%v", this.LaunchContainer), "Call_LaunchContainer", "Call_LaunchContainer", 1) + `,`,
		`WaitContainer:` + strings.Replace(fmt.Sprintf("%v", this.WaitContainer), "Call_WaitContainer", "Call_WaitContainer", 1) + `,`,
		`KillContainer:` + strings.Replace(fmt.Sprintf("%v", this.KillContainer), "Call_KillContainer", "Call_KillContainer", 1) + `,`,
		`RemoveContainer:` + strings.Replace(fmt.Sprintf("%v", this.RemoveContainer), "Call_RemoveContainer", "Call_RemoveContainer", 1) + `,`,
		`AddResourceProviderConfig:` + strings.Replace(fmt.Sprintf("%v", this.AddResourceProviderConfig), "Call_AddResourceProviderConfig", "Call_AddResourceProviderConfig", 1) + `,`,
		`UpdateResourceProviderConfig:` + strings.Replace(fmt.Sprintf("%v", this.UpdateResourceProviderConfig), "Call_UpdateResourceProviderConfig", "Call_UpdateResourceProviderConfig", 1) + `,`,
		`RemoveResourceProviderConfig:` + strings.Replace(fmt.Sprintf("%v", this.RemoveResourceProviderConfig), "Call_RemoveResourceProviderConfig", "Call_RemoveResourceProviderConfig", 1) + `,`,
		`GetContainers:` + strings.Replace(fmt.Sprintf("%v", this.GetContainers), "Call_GetContainers", "Call_GetContainers", 1) + `,`,
		`PruneImages:` + strings.Replace(fmt.Sprintf("%v", this.PruneImages), "Call_PruneImages", "Call_PruneImages", 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Call_GetMetrics) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Call_GetMetrics{`,
		`Timeout:` + strings.Replace(fmt.Sprintf("%v", this.Timeout), "DurationInfo", "mesos.DurationInfo", 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Call_SetLoggingLevel) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Call_SetLoggingLevel{`,
		`Level:` + fmt.Sprintf("%v", this.Level) + `,`,
		`Duration:` + strings.Replace(strings.Replace(this.Duration.String(), "DurationInfo", "mesos.DurationInfo", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Call_ListFiles) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Call_ListFiles{`,
		`Path:` + fmt.Sprintf("%v", this.Path) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Call_ReadFile) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Call_ReadFile{`,
		`Path:` + fmt.Sprintf("%v", this.Path) + `,`,
		`Offset:` + fmt.Sprintf("%v", this.Offset) + `,`,
		`Length:` + valueToStringAgent(this.Length) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Call_GetContainers) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Call_GetContainers{`,
		`ShowNested:` + valueToStringAgent(this.ShowNested) + `,`,
		`ShowStandalone:` + valueToStringAgent(this.ShowStandalone) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Call_LaunchNestedContainer) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Call_LaunchNestedContainer{`,
		`ContainerID:` + strings.Replace(strings.Replace(this.ContainerID.String(), "ContainerID", "mesos.ContainerID", 1), `&`, ``, 1) + `,`,
		`Command:` + strings.Replace(fmt.Sprintf("%v", this.Command), "CommandInfo", "mesos.CommandInfo", 1) + `,`,
		`Container:` + strings.Replace(fmt.Sprintf("%v", this.Container), "ContainerInfo", "mesos.ContainerInfo", 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Call_WaitNestedContainer) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Call_WaitNestedContainer{`,
		`ContainerID:` + strings.Replace(strings.Replace(this.ContainerID.String(), "ContainerID", "mesos.ContainerID", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Call_KillNestedContainer) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Call_KillNestedContainer{`,
		`ContainerID:` + strings.Replace(strings.Replace(this.ContainerID.String(), "ContainerID", "mesos.ContainerID", 1), `&`, ``, 1) + `,`,
		`Signal:` + valueToStringAgent(this.Signal) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Call_RemoveNestedContainer) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Call_RemoveNestedContainer{`,
		`ContainerID:` + strings.Replace(strings.Replace(this.ContainerID.String(), "ContainerID", "mesos.ContainerID", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Call_LaunchNestedContainerSession) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Call_LaunchNestedContainerSession{`,
		`ContainerID:` + strings.Replace(strings.Replace(this.ContainerID.String(), "ContainerID", "mesos.ContainerID", 1), `&`, ``, 1) + `,`,
		`Command:` + strings.Replace(fmt.Sprintf("%v", this.Command), "CommandInfo", "mesos.CommandInfo", 1) + `,`,
		`Container:` + strings.Replace(fmt.Sprintf("%v", this.Container), "ContainerInfo", "mesos.ContainerInfo", 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Call_AttachContainerInput) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Call_AttachContainerInput{`,
		`Type:` + fmt.Sprintf("%v", this.Type) + `,`,
		`ContainerID:` + strings.Replace(fmt.Sprintf("%v", this.ContainerID), "ContainerID", "mesos.ContainerID", 1) + `,`,
		`ProcessIO:` + strings.Replace(fmt.Sprintf("%v", this.ProcessIO), "ProcessIO", "ProcessIO", 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Call_AttachContainerOutput) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Call_AttachContainerOutput{`,
		`ContainerID:` + strings.Replace(strings.Replace(this.ContainerID.String(), "ContainerID", "mesos.ContainerID", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Call_LaunchContainer) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Call_LaunchContainer{`,
		`ContainerID:` + strings.Replace(strings.Replace(this.ContainerID.String(), "ContainerID", "mesos.ContainerID", 1), `&`, ``, 1) + `,`,
		`Command:` + strings.Replace(fmt.Sprintf("%v", this.Command), "CommandInfo", "mesos.CommandInfo", 1) + `,`,
		`Resources:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Resources), "Resource", "mesos.Resource", 1), `&`, ``, 1) + `,`,
		`Container:` + strings.Replace(fmt.Sprintf("%v", this.Container), "ContainerInfo", "mesos.ContainerInfo", 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Call_WaitContainer) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Call_WaitContainer{`,
		`ContainerID:` + strings.Replace(strings.Replace(this.ContainerID.String(), "ContainerID", "mesos.ContainerID", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Call_KillContainer) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Call_KillContainer{`,
		`ContainerID:` + strings.Replace(strings.Replace(this.ContainerID.String(), "ContainerID", "mesos.ContainerID", 1), `&`, ``, 1) + `,`,
		`Signal:` + valueToStringAgent(this.Signal) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Call_RemoveContainer) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Call_RemoveContainer{`,
		`ContainerID:` + strings.Replace(strings.Replace(this.ContainerID.String(), "ContainerID", "mesos.ContainerID", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Call_AddResourceProviderConfig) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Call_AddResourceProviderConfig{`,
		`Info:` + strings.Replace(strings.Replace(this.Info.String(), "ResourceProviderInfo", "mesos.ResourceProviderInfo", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Call_UpdateResourceProviderConfig) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Call_UpdateResourceProviderConfig{`,
		`Info:` + strings.Replace(strings.Replace(this.Info.String(), "ResourceProviderInfo", "mesos.ResourceProviderInfo", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Call_RemoveResourceProviderConfig) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Call_RemoveResourceProviderConfig{`,
		`Type:` + fmt.Sprintf("%v", this.Type) + `,`,
		`Name:` + fmt.Sprintf("%v", this.Name) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Call_PruneImages) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Call_PruneImages{`,
		`ExcludedImages:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ExcludedImages), "Image", "mesos.Image", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response{`,
		`Type:` + fmt.Sprintf("%v", this.Type) + `,`,
		`GetHealth:` + strings.Replace(fmt.Sprintf("%v", this.GetHealth), "Response_GetHealth", "Response_GetHealth", 1) + `,`,
		`GetFlags:` + strings.Replace(fmt.Sprintf("%v", this.GetFlags), "Response_GetFlags", "Response_GetFlags", 1) + `,`,
		`GetVersion:` + strings.Replace(fmt.Sprintf("%v", this.GetVersion), "Response_GetVersion", "Response_GetVersion", 1) + `,`,
		`GetMetrics:` + strings.Replace(fmt.Sprintf("%v", this.GetMetrics), "Response_GetMetrics", "Response_GetMetrics", 1) + `,`,
		`GetLoggingLevel:` + strings.Replace(fmt.Sprintf("%v", this.GetLoggingLevel), "Response_GetLoggingLevel", "Response_GetLoggingLevel", 1) + `,`,
		`ListFiles:` + strings.Replace(fmt.Sprintf("%v", this.ListFiles), "Response_ListFiles", "Response_ListFiles", 1) + `,`,
		`ReadFile:` + strings.Replace(fmt.Sprintf("%v", this.ReadFile), "Response_ReadFile", "Response_ReadFile", 1) + `,`,
		`GetState:` + strings.Replace(fmt.Sprintf("%v", this.GetState), "Response_GetState", "Response_GetState", 1) + `,`,
		`GetContainers:` + strings.Replace(fmt.Sprintf("%v", this.GetContainers), "Response_GetContainers", "Response_GetContainers", 1) + `,`,
		`GetFrameworks:` + strings.Replace(fmt.Sprintf("%v", this.GetFrameworks), "Response_GetFrameworks", "Response_GetFrameworks", 1) + `,`,
		`GetExecutors:` + strings.Replace(fmt.Sprintf("%v", this.GetExecutors), "Response_GetExecutors", "Response_GetExecutors", 1) + `,`,
		`GetTasks:` + strings.Replace(fmt.Sprintf("%v", this.GetTasks), "Response_GetTasks", "Response_GetTasks", 1) + `,`,
		`WaitNestedContainer:` + strings.Replace(fmt.Sprintf("%v", this.WaitNestedContainer), "Response_WaitNestedContainer", "Response_WaitNestedContainer", 1) + `,`,
		`GetAgent:` + strings.Replace(fmt.Sprintf("%v", this.GetAgent), "Response_GetAgent", "Response_GetAgent", 1) + `,`,
		`WaitContainer:` + strings.Replace(fmt.Sprintf("%v", this.WaitContainer), "Response_WaitContainer", "Response_WaitContainer", 1) + `,`,
		`GetResourceProviders:` + strings.Replace(fmt.Sprintf("%v", this.GetResourceProviders), "Response_GetResourceProviders", "Response_GetResourceProviders", 1) + `,`,
		`GetOperations:` + strings.Replace(fmt.Sprintf("%v", this.GetOperations), "Response_GetOperations", "Response_GetOperations", 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response_GetHealth) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response_GetHealth{`,
		`Healthy:` + fmt.Sprintf("%v", this.Healthy) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response_GetFlags) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response_GetFlags{`,
		`Flags:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Flags), "Flag", "mesos.Flag", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response_GetVersion) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response_GetVersion{`,
		`VersionInfo:` + strings.Replace(strings.Replace(this.VersionInfo.String(), "VersionInfo", "mesos.VersionInfo", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response_GetMetrics) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response_GetMetrics{`,
		`Metrics:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Metrics), "Metric", "mesos.Metric", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response_GetLoggingLevel) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response_GetLoggingLevel{`,
		`Level:` + fmt.Sprintf("%v", this.Level) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response_ListFiles) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response_ListFiles{`,
		`FileInfos:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.FileInfos), "FileInfo", "mesos.FileInfo", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response_ReadFile) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response_ReadFile{`,
		`Size:` + fmt.Sprintf("%v", this.Size) + `,`,
		`Data:` + valueToStringAgent(this.Data) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response_GetState) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response_GetState{`,
		`GetTasks:` + strings.Replace(fmt.Sprintf("%v", this.GetTasks), "Response_GetTasks", "Response_GetTasks", 1) + `,`,
		`GetExecutors:` + strings.Replace(fmt.Sprintf("%v", this.GetExecutors), "Response_GetExecutors", "Response_GetExecutors", 1) + `,`,
		`GetFrameworks:` + strings.Replace(fmt.Sprintf("%v", this.GetFrameworks), "Response_GetFrameworks", "Response_GetFrameworks", 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response_GetContainers) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response_GetContainers{`,
		`Containers:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Containers), "Response_GetContainers_Container", "Response_GetContainers_Container", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response_GetContainers_Container) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response_GetContainers_Container{`,
		`FrameworkID:` + strings.Replace(fmt.Sprintf("%v", this.FrameworkID), "FrameworkID", "mesos.FrameworkID", 1) + `,`,
		`ExecutorID:` + strings.Replace(fmt.Sprintf("%v", this.ExecutorID), "ExecutorID", "mesos.ExecutorID", 1) + `,`,
		`ExecutorName:` + valueToStringAgent(this.ExecutorName) + `,`,
		`ContainerID:` + strings.Replace(strings.Replace(this.ContainerID.String(), "ContainerID", "mesos.ContainerID", 1), `&`, ``, 1) + `,`,
		`ContainerStatus:` + strings.Replace(fmt.Sprintf("%v", this.ContainerStatus), "ContainerStatus", "mesos.ContainerStatus", 1) + `,`,
		`ResourceStatistics:` + strings.Replace(fmt.Sprintf("%v", this.ResourceStatistics), "ResourceStatistics", "mesos.ResourceStatistics", 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response_GetFrameworks) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response_GetFrameworks{`,
		`Frameworks:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Frameworks), "Response_GetFrameworks_Framework", "Response_GetFrameworks_Framework", 1), `&`, ``, 1) + `,`,
		`CompletedFrameworks:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.CompletedFrameworks), "Response_GetFrameworks_Framework", "Response_GetFrameworks_Framework", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response_GetFrameworks_Framework) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response_GetFrameworks_Framework{`,
		`FrameworkInfo:` + strings.Replace(strings.Replace(this.FrameworkInfo.String(), "FrameworkInfo", "mesos.FrameworkInfo", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response_GetExecutors) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response_GetExecutors{`,
		`Executors:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Executors), "Response_GetExecutors_Executor", "Response_GetExecutors_Executor", 1), `&`, ``, 1) + `,`,
		`CompletedExecutors:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.CompletedExecutors), "Response_GetExecutors_Executor", "Response_GetExecutors_Executor", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response_GetExecutors_Executor) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response_GetExecutors_Executor{`,
		`ExecutorInfo:` + strings.Replace(strings.Replace(this.ExecutorInfo.String(), "ExecutorInfo", "mesos.ExecutorInfo", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response_GetOperations) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response_GetOperations{`,
		`Operations:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Operations), "Operation", "mesos.Operation", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response_GetTasks) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response_GetTasks{`,
		`PendingTasks:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.PendingTasks), "Task", "mesos.Task", 1), `&`, ``, 1) + `,`,
		`QueuedTasks:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.QueuedTasks), "Task", "mesos.Task", 1), `&`, ``, 1) + `,`,
		`LaunchedTasks:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.LaunchedTasks), "Task", "mesos.Task", 1), `&`, ``, 1) + `,`,
		`TerminatedTasks:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.TerminatedTasks), "Task", "mesos.Task", 1), `&`, ``, 1) + `,`,
		`CompletedTasks:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.CompletedTasks), "Task", "mesos.Task", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response_GetAgent) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response_GetAgent{`,
		`AgentInfo:` + strings.Replace(fmt.Sprintf("%v", this.AgentInfo), "AgentInfo", "mesos.AgentInfo", 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response_GetResourceProviders) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response_GetResourceProviders{`,
		`ResourceProviders:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ResourceProviders), "Response_GetResourceProviders_ResourceProvider", "Response_GetResourceProviders_ResourceProvider", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response_GetResourceProviders_ResourceProvider) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response_GetResourceProviders_ResourceProvider{`,
		`ResourceProviderInfo:` + strings.Replace(strings.Replace(this.ResourceProviderInfo.String(), "ResourceProviderInfo", "mesos.ResourceProviderInfo", 1), `&`, ``, 1) + `,`,
		`TotalResources:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.TotalResources), "Resource", "mesos.Resource", 1), `&`, ``, 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response_WaitNestedContainer) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response_WaitNestedContainer{`,
		`ExitStatus:` + valueToStringAgent(this.ExitStatus) + `,`,
		`State:` + valueToStringAgent(this.State) + `,`,
		`Reason:` + valueToStringAgent(this.Reason) + `,`,
		`Limitation:` + strings.Replace(fmt.Sprintf("%v", this.Limitation), "TaskResourceLimitation", "mesos.TaskResourceLimitation", 1) + `,`,
		`Message:` + valueToStringAgent(this.Message) + `,`,
		`}`,
	}, "")
	return s
}
func (this *Response_WaitContainer) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Response_WaitContainer{`,
		`ExitStatus:` + valueToStringAgent(this.ExitStatus) + `,`,
		`State:` + valueToStringAgent(this.State) + `,`,
		`Reason:` + valueToStringAgent(this.Reason) + `,`,
		`Limitation:` + strings.Replace(fmt.Sprintf("%v", this.Limitation), "TaskResourceLimitation", "mesos.TaskResourceLimitation", 1) + `,`,
		`Message:` + valueToStringAgent(this.Message) + `,`,
		`}`,
	}, "")
	return s
}
func (this *ProcessIO) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&ProcessIO{`,
		`Type:` + fmt.Sprintf("%v", this.Type) + `,`,
		`Data:` + strings.Replace(fmt.Sprintf("%v", this.Data), "ProcessIO_Data", "ProcessIO_Data", 1) + `,`,
		`Control:` + strings.Replace(fmt.Sprintf("%v", this.Control), "ProcessIO_Control", "ProcessIO_Control", 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *ProcessIO_Data) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&ProcessIO_Data{`,
		`Type:` + fmt.Sprintf("%v", this.Type) + `,`,
		`Data:` + valueToStringAgent(this.Data) + `,`,
		`}`,
	}, "")
	return s
}
func (this *ProcessIO_Control) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&ProcessIO_Control{`,
		`Type:` + fmt.Sprintf("%v", this.Type) + `,`,
		`TTYInfo:` + strings.Replace(fmt.Sprintf("%v", this.TTYInfo), "TTYInfo", "mesos.TTYInfo", 1) + `,`,
		`Heartbeat:` + strings.Replace(fmt.Sprintf("%v", this.Heartbeat), "ProcessIO_Control_Heartbeat", "ProcessIO_Control_Heartbeat", 1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *ProcessIO_Control_Heartbeat) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&ProcessIO_Control_Heartbeat{`,
		`Interval:` + strings.Replace(fmt.Sprintf("%v", this.Interval), "DurationInfo", "mesos.DurationInfo", 1) + `,`,
		`}`,
	}, "")
	return s
}
func valueToStringAgent(v interface{}) string {
	rv := reflect.ValueOf(v)
	if rv.IsNil() {
		return "nil"
	}
	pv := reflect.Indirect(rv).Interface()
	return fmt.Sprintf("*%v", pv)
}
func (m *Call) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: Call: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: Call: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
			}
			m.Type = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.Type |= (Call_Type(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field GetMetrics", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.GetMetrics == nil {
				m.GetMetrics = &Call_GetMetrics{}
			}
			if err := m.GetMetrics.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 3:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field SetLoggingLevel", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.SetLoggingLevel == nil {
				m.SetLoggingLevel = &Call_SetLoggingLevel{}
			}
			if err := m.SetLoggingLevel.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 4:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ListFiles", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.ListFiles == nil {
				m.ListFiles = &Call_ListFiles{}
			}
			if err := m.ListFiles.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 5:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ReadFile", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.ReadFile == nil {
				m.ReadFile = &Call_ReadFile{}
			}
			if err := m.ReadFile.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 6:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field LaunchNestedContainer", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.LaunchNestedContainer == nil {
				m.LaunchNestedContainer = &Call_LaunchNestedContainer{}
			}
			if err := m.LaunchNestedContainer.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 7:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field WaitNestedContainer", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.WaitNestedContainer == nil {
				m.WaitNestedContainer = &Call_WaitNestedContainer{}
			}
			if err := m.WaitNestedContainer.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 8:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field KillNestedContainer", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.KillNestedContainer == nil {
				m.KillNestedContainer = &Call_KillNestedContainer{}
			}
			if err := m.KillNestedContainer.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 9:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field LaunchNestedContainerSession", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.LaunchNestedContainerSession == nil {
				m.LaunchNestedContainerSession = &Call_LaunchNestedContainerSession{}
			}
			if err := m.LaunchNestedContainerSession.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 10:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field AttachContainerInput", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.AttachContainerInput == nil {
				m.AttachContainerInput = &Call_AttachContainerInput{}
			}
			if err := m.AttachContainerInput.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 11:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field AttachContainerOutput", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.AttachContainerOutput == nil {
				m.AttachContainerOutput = &Call_AttachContainerOutput{}
			}
			if err := m.AttachContainerOutput.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 12:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field RemoveNestedContainer", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.RemoveNestedContainer == nil {
				m.RemoveNestedContainer = &Call_RemoveNestedContainer{}
			}
			if err := m.RemoveNestedContainer.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 13:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field LaunchContainer", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.LaunchContainer == nil {
				m.LaunchContainer = &Call_LaunchContainer{}
			}
			if err := m.LaunchContainer.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 14:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field WaitContainer", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.WaitContainer == nil {
				m.WaitContainer = &Call_WaitContainer{}
			}
			if err := m.WaitContainer.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 15:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field KillContainer", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.KillContainer == nil {
				m.KillContainer = &Call_KillContainer{}
			}
			if err := m.KillContainer.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 16:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field RemoveContainer", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.RemoveContainer == nil {
				m.RemoveContainer = &Call_RemoveContainer{}
			}
			if err := m.RemoveContainer.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 17:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field AddResourceProviderConfig", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.AddResourceProviderConfig == nil {
				m.AddResourceProviderConfig = &Call_AddResourceProviderConfig{}
			}
			if err := m.AddResourceProviderConfig.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 18:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field UpdateResourceProviderConfig", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.UpdateResourceProviderConfig == nil {
				m.UpdateResourceProviderConfig = &Call_UpdateResourceProviderConfig{}
			}
			if err := m.UpdateResourceProviderConfig.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 19:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field RemoveResourceProviderConfig", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.RemoveResourceProviderConfig == nil {
				m.RemoveResourceProviderConfig = &Call_RemoveResourceProviderConfig{}
			}
			if err := m.RemoveResourceProviderConfig.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 20:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field GetContainers", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.GetContainers == nil {
				m.GetContainers = &Call_GetContainers{}
			}
			if err := m.GetContainers.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 21:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field PruneImages", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.PruneImages == nil {
				m.PruneImages = &Call_PruneImages{}
			}
			if err := m.PruneImages.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Call_GetMetrics) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: GetMetrics: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: GetMetrics: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Timeout", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.Timeout == nil {
				m.Timeout = &mesos.DurationInfo{}
			}
			if err := m.Timeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Call_SetLoggingLevel) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: SetLoggingLevel: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: SetLoggingLevel: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Level", wireType)
			}
			m.Level = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.Level |= (uint32(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			hasFields[0] |= uint64(0x00000001)
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Duration", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if err := m.Duration.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000002)
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("level")
	}
	if hasFields[0]&uint64(0x00000002) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("duration")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Call_ListFiles) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: ListFiles: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: ListFiles: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Path = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000001)
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("path")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Call_ReadFile) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: ReadFile: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: ReadFile: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Path = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000001)
		case 2:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Offset", wireType)
			}
			m.Offset = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.Offset |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			hasFields[0] |= uint64(0x00000002)
		case 3:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Length", wireType)
			}
			var v uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				v |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			m.Length = &v
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("path")
	}
	if hasFields[0]&uint64(0x00000002) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("offset")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Call_GetContainers) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: GetContainers: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: GetContainers: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field ShowNested", wireType)
			}
			var v int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				v |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			b := bool(v != 0)
			m.ShowNested = &b
		case 2:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field ShowStandalone", wireType)
			}
			var v int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				v |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			b := bool(v != 0)
			m.ShowStandalone = &b
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Call_LaunchNestedContainer) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: LaunchNestedContainer: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: LaunchNestedContainer: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ContainerID", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if err := m.ContainerID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000001)
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Command", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.Command == nil {
				m.Command = &mesos.CommandInfo{}
			}
			if err := m.Command.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 3:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Container", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.Container == nil {
				m.Container = &mesos.ContainerInfo{}
			}
			if err := m.Container.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("container_id")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Call_WaitNestedContainer) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: WaitNestedContainer: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: WaitNestedContainer: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ContainerID", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if err := m.ContainerID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000001)
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("container_id")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Call_KillNestedContainer) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: KillNestedContainer: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: KillNestedContainer: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ContainerID", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if err := m.ContainerID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000001)
		case 2:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Signal", wireType)
			}
			var v int32
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				v |= (int32(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			m.Signal = &v
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("container_id")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Call_RemoveNestedContainer) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: RemoveNestedContainer: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: RemoveNestedContainer: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ContainerID", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if err := m.ContainerID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000001)
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("container_id")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Call_LaunchNestedContainerSession) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: LaunchNestedContainerSession: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: LaunchNestedContainerSession: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ContainerID", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if err := m.ContainerID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000001)
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Command", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.Command == nil {
				m.Command = &mesos.CommandInfo{}
			}
			if err := m.Command.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 3:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Container", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.Container == nil {
				m.Container = &mesos.ContainerInfo{}
			}
			if err := m.Container.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("container_id")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Call_AttachContainerInput) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: AttachContainerInput: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: AttachContainerInput: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
			}
			m.Type = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.Type |= (Call_AttachContainerInput_Type(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ContainerID", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.ContainerID == nil {
				m.ContainerID = &mesos.ContainerID{}
			}
			if err := m.ContainerID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 3:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ProcessIO", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.ProcessIO == nil {
				m.ProcessIO = &ProcessIO{}
			}
			if err := m.ProcessIO.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Call_AttachContainerOutput) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: AttachContainerOutput: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: AttachContainerOutput: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ContainerID", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if err := m.ContainerID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000001)
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("container_id")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Call_LaunchContainer) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: LaunchContainer: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: LaunchContainer: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ContainerID", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if err := m.ContainerID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000001)
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Command", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.Command == nil {
				m.Command = &mesos.CommandInfo{}
			}
			if err := m.Command.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 3:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Resources", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Resources = append(m.Resources, mesos.Resource{})
			if err := m.Resources[len(m.Resources)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 4:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Container", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.Container == nil {
				m.Container = &mesos.ContainerInfo{}
			}
			if err := m.Container.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("container_id")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Call_WaitContainer) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: WaitContainer: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: WaitContainer: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ContainerID", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if err := m.ContainerID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000001)
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("container_id")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Call_KillContainer) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: KillContainer: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: KillContainer: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ContainerID", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if err := m.ContainerID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000001)
		case 2:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Signal", wireType)
			}
			var v int32
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				v |= (int32(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			m.Signal = &v
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("container_id")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Call_RemoveContainer) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: RemoveContainer: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: RemoveContainer: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ContainerID", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if err := m.ContainerID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000001)
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("container_id")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Call_AddResourceProviderConfig) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: AddResourceProviderConfig: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: AddResourceProviderConfig: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Info", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if err := m.Info.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000001)
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("info")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Call_UpdateResourceProviderConfig) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: UpdateResourceProviderConfig: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: UpdateResourceProviderConfig: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Info", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if err := m.Info.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000001)
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("info")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Call_RemoveResourceProviderConfig) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: RemoveResourceProviderConfig: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: RemoveResourceProviderConfig: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Type = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000001)
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Name = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000002)
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("type")
	}
	if hasFields[0]&uint64(0x00000002) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("name")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Call_PruneImages) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: PruneImages: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: PruneImages: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ExcludedImages", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.ExcludedImages = append(m.ExcludedImages, mesos.Image{})
			if err := m.ExcludedImages[len(m.ExcludedImages)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: Response: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: Response: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
			}
			m.Type = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.Type |= (Response_Type(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field GetHealth", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.GetHealth == nil {
				m.GetHealth = &Response_GetHealth{}
			}
			if err := m.GetHealth.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 3:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field GetFlags", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.GetFlags == nil {
				m.GetFlags = &Response_GetFlags{}
			}
			if err := m.GetFlags.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 4:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field GetVersion", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.GetVersion == nil {
				m.GetVersion = &Response_GetVersion{}
			}
			if err := m.GetVersion.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 5:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field GetMetrics", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.GetMetrics == nil {
				m.GetMetrics = &Response_GetMetrics{}
			}
			if err := m.GetMetrics.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 6:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field GetLoggingLevel", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.GetLoggingLevel == nil {
				m.GetLoggingLevel = &Response_GetLoggingLevel{}
			}
			if err := m.GetLoggingLevel.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 7:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ListFiles", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.ListFiles == nil {
				m.ListFiles = &Response_ListFiles{}
			}
			if err := m.ListFiles.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 8:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ReadFile", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.ReadFile == nil {
				m.ReadFile = &Response_ReadFile{}
			}
			if err := m.ReadFile.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 9:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field GetState", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.GetState == nil {
				m.GetState = &Response_GetState{}
			}
			if err := m.GetState.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 10:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field GetContainers", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.GetContainers == nil {
				m.GetContainers = &Response_GetContainers{}
			}
			if err := m.GetContainers.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 11:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field GetFrameworks", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.GetFrameworks == nil {
				m.GetFrameworks = &Response_GetFrameworks{}
			}
			if err := m.GetFrameworks.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 12:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field GetExecutors", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.GetExecutors == nil {
				m.GetExecutors = &Response_GetExecutors{}
			}
			if err := m.GetExecutors.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 13:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field GetTasks", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.GetTasks == nil {
				m.GetTasks = &Response_GetTasks{}
			}
			if err := m.GetTasks.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 14:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field WaitNestedContainer", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.WaitNestedContainer == nil {
				m.WaitNestedContainer = &Response_WaitNestedContainer{}
			}
			if err := m.WaitNestedContainer.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 15:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field GetAgent", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.GetAgent == nil {
				m.GetAgent = &Response_GetAgent{}
			}
			if err := m.GetAgent.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 16:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field WaitContainer", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.WaitContainer == nil {
				m.WaitContainer = &Response_WaitContainer{}
			}
			if err := m.WaitContainer.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 17:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field GetResourceProviders", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.GetResourceProviders == nil {
				m.GetResourceProviders = &Response_GetResourceProviders{}
			}
			if err := m.GetResourceProviders.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 18:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field GetOperations", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.GetOperations == nil {
				m.GetOperations = &Response_GetOperations{}
			}
			if err := m.GetOperations.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response_GetHealth) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: GetHealth: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: GetHealth: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Healthy", wireType)
			}
			var v int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				v |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			m.Healthy = bool(v != 0)
			hasFields[0] |= uint64(0x00000001)
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("healthy")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response_GetFlags) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: GetFlags: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: GetFlags: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Flags", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Flags = append(m.Flags, mesos.Flag{})
			if err := m.Flags[len(m.Flags)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response_GetVersion) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: GetVersion: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: GetVersion: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field VersionInfo", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if err := m.VersionInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000001)
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("version_info")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response_GetMetrics) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: GetMetrics: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: GetMetrics: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Metrics", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Metrics = append(m.Metrics, mesos.Metric{})
			if err := m.Metrics[len(m.Metrics)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response_GetLoggingLevel) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: GetLoggingLevel: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: GetLoggingLevel: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Level", wireType)
			}
			m.Level = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.Level |= (uint32(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			hasFields[0] |= uint64(0x00000001)
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("level")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response_ListFiles) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: ListFiles: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: ListFiles: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field FileInfos", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.FileInfos = append(m.FileInfos, mesos.FileInfo{})
			if err := m.FileInfos[len(m.FileInfos)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response_ReadFile) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: ReadFile: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: ReadFile: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Size", wireType)
			}
			m.Size = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.Size |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			hasFields[0] |= uint64(0x00000001)
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
			}
			var byteLen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				byteLen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if byteLen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + byteLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...)
			if m.Data == nil {
				m.Data = []byte{}
			}
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000002)
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("size")
	}
	if hasFields[0]&uint64(0x00000002) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("data")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response_GetState) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: GetState: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: GetState: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field GetTasks", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.GetTasks == nil {
				m.GetTasks = &Response_GetTasks{}
			}
			if err := m.GetTasks.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field GetExecutors", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.GetExecutors == nil {
				m.GetExecutors = &Response_GetExecutors{}
			}
			if err := m.GetExecutors.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 3:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field GetFrameworks", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.GetFrameworks == nil {
				m.GetFrameworks = &Response_GetFrameworks{}
			}
			if err := m.GetFrameworks.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response_GetContainers) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: GetContainers: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: GetContainers: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Containers", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Containers = append(m.Containers, Response_GetContainers_Container{})
			if err := m.Containers[len(m.Containers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response_GetContainers_Container) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: Container: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: Container: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field FrameworkID", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.FrameworkID == nil {
				m.FrameworkID = &mesos.FrameworkID{}
			}
			if err := m.FrameworkID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ExecutorID", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.ExecutorID == nil {
				m.ExecutorID = &mesos.ExecutorID{}
			}
			if err := m.ExecutorID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 3:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ExecutorName", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			s := string(dAtA[iNdEx:postIndex])
			m.ExecutorName = &s
			iNdEx = postIndex
		case 4:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ContainerID", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if err := m.ContainerID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000001)
		case 5:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ContainerStatus", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.ContainerStatus == nil {
				m.ContainerStatus = &mesos.ContainerStatus{}
			}
			if err := m.ContainerStatus.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 6:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ResourceStatistics", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.ResourceStatistics == nil {
				m.ResourceStatistics = &mesos.ResourceStatistics{}
			}
			if err := m.ResourceStatistics.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("container_id")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response_GetFrameworks) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: GetFrameworks: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: GetFrameworks: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Frameworks", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Frameworks = append(m.Frameworks, Response_GetFrameworks_Framework{})
			if err := m.Frameworks[len(m.Frameworks)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field CompletedFrameworks", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.CompletedFrameworks = append(m.CompletedFrameworks, Response_GetFrameworks_Framework{})
			if err := m.CompletedFrameworks[len(m.CompletedFrameworks)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response_GetFrameworks_Framework) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: Framework: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: Framework: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field FrameworkInfo", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if err := m.FrameworkInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000001)
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("framework_info")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response_GetExecutors) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: GetExecutors: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: GetExecutors: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Executors", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Executors = append(m.Executors, Response_GetExecutors_Executor{})
			if err := m.Executors[len(m.Executors)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field CompletedExecutors", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.CompletedExecutors = append(m.CompletedExecutors, Response_GetExecutors_Executor{})
			if err := m.CompletedExecutors[len(m.CompletedExecutors)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response_GetExecutors_Executor) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: Executor: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: Executor: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ExecutorInfo", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if err := m.ExecutorInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000001)
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("executor_info")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response_GetOperations) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: GetOperations: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: GetOperations: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Operations", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Operations = append(m.Operations, mesos.Operation{})
			if err := m.Operations[len(m.Operations)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response_GetTasks) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: GetTasks: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: GetTasks: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field PendingTasks", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.PendingTasks = append(m.PendingTasks, mesos.Task{})
			if err := m.PendingTasks[len(m.PendingTasks)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field QueuedTasks", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.QueuedTasks = append(m.QueuedTasks, mesos.Task{})
			if err := m.QueuedTasks[len(m.QueuedTasks)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 3:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field LaunchedTasks", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.LaunchedTasks = append(m.LaunchedTasks, mesos.Task{})
			if err := m.LaunchedTasks[len(m.LaunchedTasks)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 4:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field TerminatedTasks", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.TerminatedTasks = append(m.TerminatedTasks, mesos.Task{})
			if err := m.TerminatedTasks[len(m.TerminatedTasks)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 5:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field CompletedTasks", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.CompletedTasks = append(m.CompletedTasks, mesos.Task{})
			if err := m.CompletedTasks[len(m.CompletedTasks)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response_GetAgent) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: GetAgent: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: GetAgent: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field AgentInfo", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.AgentInfo == nil {
				m.AgentInfo = &mesos.AgentInfo{}
			}
			if err := m.AgentInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response_GetResourceProviders) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: GetResourceProviders: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: GetResourceProviders: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ResourceProviders", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.ResourceProviders = append(m.ResourceProviders, Response_GetResourceProviders_ResourceProvider{})
			if err := m.ResourceProviders[len(m.ResourceProviders)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response_GetResourceProviders_ResourceProvider) Unmarshal(dAtA []byte) error {
	var hasFields [1]uint64
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: ResourceProvider: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: ResourceProvider: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ResourceProviderInfo", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if err := m.ResourceProviderInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
			hasFields[0] |= uint64(0x00000001)
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field TotalResources", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.TotalResources = append(m.TotalResources, mesos.Resource{})
			if err := m.TotalResources[len(m.TotalResources)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}
	if hasFields[0]&uint64(0x00000001) == 0 {
		return github_com_gogo_protobuf_proto.NewRequiredNotSetError("resource_provider_info")
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response_WaitNestedContainer) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: WaitNestedContainer: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: WaitNestedContainer: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field ExitStatus", wireType)
			}
			var v int32
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				v |= (int32(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			m.ExitStatus = &v
		case 2:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field State", wireType)
			}
			var v mesos.TaskState
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				v |= (mesos.TaskState(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			m.State = &v
		case 3:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType)
			}
			var v mesos.TaskStatus_Reason
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				v |= (mesos.TaskStatus_Reason(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			m.Reason = &v
		case 4:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Limitation", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.Limitation == nil {
				m.Limitation = &mesos.TaskResourceLimitation{}
			}
			if err := m.Limitation.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 5:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			s := string(dAtA[iNdEx:postIndex])
			m.Message = &s
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Response_WaitContainer) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: WaitContainer: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: WaitContainer: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field ExitStatus", wireType)
			}
			var v int32
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				v |= (int32(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			m.ExitStatus = &v
		case 2:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field State", wireType)
			}
			var v mesos.TaskState
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				v |= (mesos.TaskState(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			m.State = &v
		case 3:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType)
			}
			var v mesos.TaskStatus_Reason
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				v |= (mesos.TaskStatus_Reason(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			m.Reason = &v
		case 4:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Limitation", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.Limitation == nil {
				m.Limitation = &mesos.TaskResourceLimitation{}
			}
			if err := m.Limitation.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 5:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			s := string(dAtA[iNdEx:postIndex])
			m.Message = &s
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *ProcessIO) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: ProcessIO: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: ProcessIO: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
			}
			m.Type = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.Type |= (ProcessIO_Type(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.Data == nil {
				m.Data = &ProcessIO_Data{}
			}
			if err := m.Data.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 3:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Control", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.Control == nil {
				m.Control = &ProcessIO_Control{}
			}
			if err := m.Control.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *ProcessIO_Data) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: Data: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: Data: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
			}
			m.Type = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.Type |= (ProcessIO_Data_Type(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
			}
			var byteLen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				byteLen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if byteLen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + byteLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...)
			if m.Data == nil {
				m.Data = []byte{}
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *ProcessIO_Control) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: Control: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: Control: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
			}
			m.Type = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.Type |= (ProcessIO_Control_Type(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field TTYInfo", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.TTYInfo == nil {
				m.TTYInfo = &mesos.TTYInfo{}
			}
			if err := m.TTYInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 3:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Heartbeat", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.Heartbeat == nil {
				m.Heartbeat = &ProcessIO_Control_Heartbeat{}
			}
			if err := m.Heartbeat.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *ProcessIO_Control_Heartbeat) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: Heartbeat: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: Heartbeat: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Interval", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthAgent
			}
			postIndex := iNdEx + msglen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.Interval == nil {
				m.Interval = &mesos.DurationInfo{}
			}
			if err := m.Interval.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipAgent(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthAgent
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func skipAgent(dAtA []byte) (n int, err error) {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return 0, ErrIntOverflowAgent
			}
			if iNdEx >= l {
				return 0, io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		wireType := int(wire & 0x7)
		switch wireType {
		case 0:
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return 0, ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return 0, io.ErrUnexpectedEOF
				}
				iNdEx++
				if dAtA[iNdEx-1] < 0x80 {
					break
				}
			}
			return iNdEx, nil
		case 1:
			iNdEx += 8
			return iNdEx, nil
		case 2:
			var length int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return 0, ErrIntOverflowAgent
				}
				if iNdEx >= l {
					return 0, io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				length |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			iNdEx += length
			if length < 0 {
				return 0, ErrInvalidLengthAgent
			}
			return iNdEx, nil
		case 3:
			for {
				var innerWire uint64
				var start int = iNdEx
				for shift := uint(0); ; shift += 7 {
					if shift >= 64 {
						return 0, ErrIntOverflowAgent
					}
					if iNdEx >= l {
						return 0, io.ErrUnexpectedEOF
					}
					b := dAtA[iNdEx]
					iNdEx++
					innerWire |= (uint64(b) & 0x7F) << shift
					if b < 0x80 {
						break
					}
				}
				innerWireType := int(innerWire & 0x7)
				if innerWireType == 4 {
					break
				}
				next, err := skipAgent(dAtA[start:])
				if err != nil {
					return 0, err
				}
				iNdEx = start + next
			}
			return iNdEx, nil
		case 4:
			return iNdEx, nil
		case 5:
			iNdEx += 4
			return iNdEx, nil
		default:
			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
		}
	}
	panic("unreachable")
}

var (
	ErrInvalidLengthAgent = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowAgent   = fmt.Errorf("proto: integer overflow")
)

func init() { proto.RegisterFile("agent/agent.proto", fileDescriptorAgent) }

var fileDescriptorAgent = []byte{
	// 3053 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x5a, 0x4d, 0x6c, 0x1b, 0xc7,
	0xf5, 0xf7, 0x52, 0x94, 0x44, 0x3e, 0x7e, 0xad, 0x46, 0x1f, 0xa6, 0xd7, 0x0a, 0xa5, 0xbf, 0x8c,
	0x24, 0xfe, 0xd7, 0xb5, 0xe5, 0x3a, 0x89, 0x1b, 0x44, 0x89, 0x51, 0x4a, 0x5c, 0xc9, 0xb4, 0x69,
	0x52, 0x9d, 0x5d, 0xd9, 0x4d, 0xda, 0x80, 0x5d, 0x8b, 0x2b, 0x6a, 0x61, 0x92, 0xcb, 0xee, 0x2e,
	0xe5, 0xb8, 0xa7, 0x1e, 0x7b, 0x6b, 0x0f, 0x05, 0x7a, 0xe9, 0xa1, 0x40, 0x2f, 0x01, 0xda, 0x73,
	0xdb, 0x53, 0xd1, 0x4b, 0x81, 0x14, 0xe8, 0x21, 0xc7, 0x02, 0x29, 0x8c, 0x5a, 0xb9, 0xb4, 0xa7,
	0xe6, 0xd0, 0x43, 0x4f, 0x45, 0x31, 0x5f, 0xbb, 0x4b, 0xee, 0x2e, 0xed, 0xb8, 0x46, 0x8a, 0xf6,
	0x22, 0xec, 0xbc, 0xf9, 0xbd, 0x37, 0x33, 0x6f, 0x66, 0xde, 0x7b, 0xf3, 0xa3, 0x60, 0xc1, 0xe8,
	0x9a, 0x03, 0x6f, 0x93, 0xfe, 0xbd, 0x32, 0x74, 0x6c, 0xcf, 0x46, 0xb9, 0xbe, 0xe9, 0xda, 0xee,
	0x15, 0x2a, 0x52, 0xae, 0x76, 0x2d, 0xef, 0x78, 0x74, 0xff, 0xca, 0xa1, 0xdd, 0xdf, 0xa4, 0x72,
	0xf6, 0xf7, 0x72, 0xd7, 0xde, 0x34, 0x86, 0xd6, 0xe6, 0xc9, 0x57, 0x36, 0x7b, 0xd6, 0x7d, 0x26,
	0x63, 0xea, 0xca, 0xe5, 0x90, 0x46, 0xd7, 0xee, 0xda, 0x9b, 0x54, 0x7c, 0x7f, 0x74, 0x44, 0x5b,
	0xb4, 0x41, 0xbf, 0x18, 0x7c, 0xe3, 0x93, 0x57, 0x20, 0xbd, 0x63, 0xf4, 0x7a, 0xe8, 0x2a, 0xa4,
	0xbd, 0x47, 0x43, 0xb3, 0x2c, 0xad, 0x4b, 0x17, 0x8b, 0xd7, 0x56, 0xae, 0x84, 0x66, 0x71, 0x85,
	0x00, 0xae, 0xe8, 0x8f, 0x86, 0xe6, 0x76, 0xfa, 0xa3, 0xc7, 0x6b, 0x67, 0x30, 0x45, 0xa2, 0x77,
	0x20, 0xd7, 0x35, 0xbd, 0x76, 0xdf, 0xf4, 0x1c, 0xeb, 0xd0, 0x2d, 0xa7, 0xd6, 0xa5, 0x8b, 0xb9,
	0x6b, 0xab, 0x51, 0xc5, 0x3d, 0xd3, 0xbb, 0xc3, 0x30, 0x18, 0xba, 0xfe, 0x37, 0xba, 0x03, 0x0b,
	0xae, 0xe9, 0xb5, 0x7b, 0x76, 0xb7, 0x6b, 0x0d, 0xba, 0xed, 0x9e, 0x79, 0x62, 0xf6, 0xca, 0x33,
	0xd4, 0xc8, 0xff, 0x45, 0x8d, 0x68, 0xa6, 0xd7, 0x60, 0xc8, 0x06, 0x01, 0xe2, 0x92, 0x3b, 0x2e,
	0x40, 0x6f, 0x01, 0xf4, 0x2c, 0xd7, 0x6b, 0x1f, 0x59, 0x3d, 0xd3, 0x2d, 0xa7, 0xa9, 0x9d, 0xf3,
	0x51, 0x3b, 0x0d, 0xcb, 0xf5, 0x76, 0x09, 0x04, 0x67, 0x7b, 0xe2, 0x13, 0x7d, 0x15, 0xb2, 0x8e,
	0x69, 0x74, 0xa8, 0x6e, 0x79, 0x96, 0xaa, 0x2a, 0x51, 0x55, 0x6c, 0x1a, 0x1d, 0x82, 0xc7, 0x19,
	0x87, 0x7f, 0xa1, 0x43, 0x38, 0xdb, 0x33, 0x46, 0x83, 0xc3, 0xe3, 0xf6, 0xc0, 0x74, 0x3d, 0xb3,
	0xd3, 0x3e, 0xb4, 0x07, 0x9e, 0x61, 0x0d, 0x4c, 0xa7, 0x3c, 0x47, 0xcd, 0xbc, 0x1a, 0x33, 0x03,
	0xaa, 0xd0, 0xa4, 0xf8, 0x1d, 0x01, 0xdf, 0x4e, 0x95, 0x25, 0xbc, 0xdc, 0x8b, 0xeb, 0x42, 0xef,
	0xc3, 0xf2, 0x43, 0xc3, 0xf2, 0xa2, 0x43, 0xcc, 0xd3, 0x21, 0x5e, 0x8e, 0x0e, 0x71, 0xcf, 0xb0,
	0xbc, 0xb8, 0x01, 0x16, 0x1f, 0x46, 0x3b, 0x88, 0xf9, 0x07, 0x56, 0xaf, 0x17, 0x35, 0x9f, 0x49,
	0x32, 0x7f, 0xdb, 0xea, 0xf5, 0x62, 0xcd, 0x3f, 0x88, 0x76, 0xa0, 0x11, 0xac, 0x25, 0xb8, 0xa8,
	0xed, 0x9a, 0xae, 0x6b, 0xd9, 0x83, 0x72, 0x96, 0x0e, 0x74, 0xe5, 0x19, 0x5d, 0xa5, 0x31, 0x2d,
	0xbc, 0xda, 0x9b, 0xd2, 0x8b, 0xbe, 0x05, 0x2b, 0x86, 0xe7, 0x19, 0x87, 0xc7, 0xa1, 0xf1, 0xac,
	0xc1, 0x70, 0xe4, 0x95, 0x81, 0x8e, 0xf6, 0x4a, 0x74, 0xb4, 0x2a, 0xc5, 0xfb, 0x96, 0xea, 0x04,
	0x8d, 0x97, 0x8c, 0x18, 0x29, 0x6a, 0xc3, 0xd9, 0x88, 0x75, 0x7b, 0xe4, 0x11, 0xf3, 0xb9, 0xa4,
	0x7d, 0x9f, 0x30, 0xdf, 0xa2, 0x70, 0xbc, 0x6c, 0xc4, 0x89, 0xc9, 0xc1, 0x72, 0xcc, 0xbe, 0x7d,
	0x62, 0x46, 0xb7, 0x25, 0x9f, 0x34, 0x00, 0xa6, 0x0a, 0xb1, 0x07, 0xcb, 0x89, 0xeb, 0x42, 0x0d,
	0x90, 0xf9, 0xd6, 0x04, 0xd6, 0x0b, 0x49, 0x17, 0x90, 0xed, 0x85, 0xaf, 0x8c, 0x4b, 0xbd, 0x71,
	0x01, 0xda, 0x85, 0x22, 0x3d, 0xa6, 0x81, 0xad, 0x22, 0xb5, 0xb5, 0x16, 0x7f, 0x3e, 0x03, 0x4b,
	0x85, 0x87, 0xe1, 0x26, 0xb1, 0x43, 0xcf, 0x63, 0x60, 0xa7, 0x94, 0x64, 0x87, 0x1c, 0xc4, 0x90,
	0x9d, 0x07, 0xe1, 0x26, 0x59, 0x1d, 0x77, 0x61, 0x60, 0x49, 0x4e, 0x5a, 0x1d, 0xf3, 0x5d, 0x68,
	0x75, 0xce, 0xb8, 0x00, 0xf5, 0x60, 0xd5, 0xe8, 0x74, 0xda, 0x8e, 0xe9, 0xda, 0x23, 0xe7, 0xd0,
	0x6c, 0x0f, 0x1d, 0xfb, 0xc4, 0xea, 0x98, 0x0e, 0x31, 0x7e, 0x64, 0x75, 0xcb, 0x0b, 0xd4, 0xf2,
	0xa5, 0x98, 0x6d, 0xef, 0x74, 0x30, 0x57, 0xda, 0xe7, 0x3a, 0x3b, 0x54, 0x05, 0x9f, 0x33, 0x92,
	0xba, 0xc8, 0xa5, 0x19, 0x0d, 0x3b, 0x86, 0x67, 0x26, 0x0f, 0x88, 0x92, 0x2e, 0xcd, 0x01, 0x55,
	0x4c, 0x18, 0x73, 0x75, 0x34, 0xa5, 0x97, 0x0c, 0xcb, 0x5d, 0x96, 0x38, 0xec, 0x62, 0xd2, 0xb0,
	0xcc, 0x83, 0x49, 0xc3, 0x3a, 0x53, 0x7a, 0xc9, 0x8e, 0x93, 0x44, 0xe2, 0x6f, 0x93, 0x5b, 0x5e,
	0x4a, 0xda, 0xf1, 0x3d, 0x33, 0x38, 0x29, 0x2e, 0x2e, 0x74, 0xc3, 0x4d, 0xf4, 0x35, 0xc8, 0x0f,
	0x9d, 0xd1, 0xc0, 0x6c, 0x5b, 0x7d, 0xa3, 0x6b, 0xba, 0xe5, 0x65, 0x6a, 0xe5, 0xa5, 0xa8, 0x95,
	0x7d, 0x82, 0xaa, 0x53, 0x10, 0xce, 0x0d, 0x83, 0x86, 0xb2, 0x05, 0x10, 0x64, 0x2b, 0x74, 0x19,
	0xe6, 0x3d, 0xab, 0x6f, 0xda, 0x23, 0x8f, 0x66, 0xc5, 0xdc, 0xb5, 0x45, 0x6e, 0xaa, 0x36, 0x72,
	0x0c, 0xcf, 0xb2, 0x07, 0xf5, 0xc1, 0x91, 0x8d, 0x05, 0x46, 0xe9, 0x40, 0x69, 0x22, 0x4b, 0x21,
	0x05, 0x66, 0x59, 0x5e, 0x93, 0xd6, 0x53, 0x17, 0x0b, 0x3c, 0x7b, 0x32, 0x11, 0x7a, 0x03, 0x32,
	0x1d, 0x6e, 0xa7, 0x9c, 0x5a, 0x4f, 0x25, 0x98, 0xe7, 0x3a, 0x3e, 0x54, 0x79, 0x19, 0xb2, 0x7e,
	0x0e, 0x43, 0x65, 0x48, 0x0f, 0x0d, 0xef, 0x98, 0x9a, 0xcf, 0x8a, 0xe4, 0x4c, 0x24, 0xca, 0x7b,
	0x90, 0x11, 0xf9, 0x2a, 0x19, 0x85, 0x56, 0x61, 0xce, 0x3e, 0x3a, 0x72, 0x4d, 0x8f, 0xce, 0x20,
	0xcd, 0xfb, 0xb8, 0x0c, 0xad, 0xc0, 0x5c, 0xcf, 0x1c, 0x74, 0xbd, 0x63, 0x9a, 0x96, 0xd3, 0x98,
	0xb7, 0x94, 0x77, 0xa1, 0x30, 0xb6, 0x0f, 0x68, 0x0d, 0x72, 0xee, 0xb1, 0xfd, 0x90, 0xc7, 0x2a,
	0xea, 0xac, 0x0c, 0x06, 0x22, 0x62, 0x21, 0x07, 0xbd, 0x0a, 0x25, 0x0a, 0x70, 0x3d, 0x63, 0xd0,
	0x31, 0x7a, 0xf6, 0xc0, 0xa4, 0xe5, 0x42, 0x06, 0x17, 0x89, 0x58, 0xf3, 0xa5, 0xca, 0xef, 0x24,
	0x58, 0x8e, 0x8d, 0xfa, 0xe8, 0x16, 0xe4, 0x43, 0x91, 0xbc, 0x43, 0x17, 0x93, 0xbb, 0x86, 0xb8,
	0xcb, 0x82, 0xf8, 0x5c, 0xdb, 0x5e, 0x24, 0x8b, 0x38, 0x7d, 0xbc, 0x96, 0x0b, 0x09, 0x71, 0xce,
	0x57, 0xae, 0x77, 0xd0, 0x97, 0x61, 0xfe, 0xd0, 0xee, 0xf7, 0x8d, 0x41, 0x87, 0x57, 0x2d, 0x81,
	0x19, 0x2a, 0x65, 0xfb, 0xca, 0x21, 0xe8, 0x1a, 0x64, 0x83, 0x08, 0xc2, 0x0a, 0x94, 0xa5, 0xc8,
	0xb0, 0x44, 0x23, 0x80, 0x29, 0x06, 0x2c, 0xc6, 0x24, 0xe1, 0x17, 0xb9, 0x08, 0xe5, 0x11, 0x2c,
	0xc6, 0x24, 0xe2, 0x17, 0xea, 0xa7, 0x15, 0x98, 0x73, 0xad, 0xee, 0xc0, 0xe8, 0x51, 0x37, 0xcd,
	0x62, 0xde, 0x52, 0x0e, 0x61, 0x39, 0x36, 0xd9, 0xbc, 0xd0, 0xf5, 0xfd, 0x41, 0x82, 0xd5, 0x69,
	0x05, 0xc0, 0x7f, 0xd9, 0x89, 0xf8, 0x30, 0x05, 0x4b, 0x71, 0x15, 0x06, 0x52, 0xc7, 0x0a, 0xef,
	0x4b, 0xcf, 0x56, 0x97, 0x44, 0xab, 0xf1, 0xdd, 0x09, 0x6f, 0x4c, 0x2e, 0x23, 0xf0, 0x46, 0x69,
	0xaa, 0x27, 0x6a, 0x00, 0x43, 0xc7, 0x3e, 0x34, 0x5d, 0xb7, 0x6d, 0xd9, 0x7c, 0x71, 0xe3, 0xaf,
	0x81, 0x7d, 0xd6, 0x5d, 0x6f, 0x6d, 0x17, 0x4e, 0x1f, 0xaf, 0x65, 0xfd, 0x26, 0xce, 0x72, 0xc5,
	0xba, 0xbd, 0xb1, 0x05, 0x69, 0x32, 0x43, 0x94, 0x83, 0xf9, 0x83, 0xe6, 0xed, 0x66, 0xeb, 0x5e,
	0x53, 0x3e, 0x83, 0x64, 0xc8, 0xef, 0xb4, 0x9a, 0x7a, 0xb5, 0xde, 0x54, 0x71, 0xbb, 0x5e, 0x93,
	0x25, 0x54, 0x04, 0xd8, 0xc7, 0xad, 0x1d, 0x55, 0xd3, 0xda, 0xf5, 0x96, 0x9c, 0x52, 0xd2, 0xdf,
	0xff, 0x59, 0x45, 0x22, 0xc7, 0x2b, 0xb6, 0x58, 0x7a, 0xa1, 0xc7, 0xeb, 0xef, 0x12, 0x94, 0x26,
	0x6a, 0x9a, 0xff, 0xe0, 0x89, 0x7a, 0x8d, 0xbc, 0x40, 0x58, 0x72, 0x74, 0xcb, 0x33, 0xeb, 0x33,
	0x17, 0x73, 0xd7, 0x4a, 0x1c, 0x2f, 0x92, 0x26, 0xdf, 0xed, 0x00, 0x37, 0x7e, 0x0c, 0xd3, 0xcf,
	0x76, 0x0c, 0xbf, 0x09, 0x85, 0xb1, 0xea, 0xeb, 0x85, 0xfa, 0xd4, 0x85, 0xc2, 0x58, 0x49, 0xf6,
	0x85, 0x04, 0xa3, 0xf7, 0xa1, 0x34, 0x51, 0xbd, 0xbd, 0xd0, 0x35, 0x61, 0x38, 0x97, 0x58, 0xc2,
	0xa1, 0x37, 0x20, 0x6d, 0x0d, 0x8e, 0x6c, 0x3e, 0xc0, 0xf9, 0x89, 0x1d, 0x13, 0xe0, 0x50, 0x1e,
	0xa7, 0x70, 0xe5, 0x00, 0x56, 0xa7, 0x55, 0x69, 0xcf, 0x6b, 0x16, 0xc3, 0xea, 0xb4, 0x2a, 0x8c,
	0xd4, 0x01, 0x3c, 0xd2, 0x84, 0xea, 0x00, 0x1a, 0x3c, 0xca, 0x90, 0x1e, 0x18, 0x7d, 0x93, 0x56,
	0x01, 0x7e, 0x0f, 0x91, 0x28, 0xb7, 0x20, 0x17, 0xaa, 0x96, 0xd0, 0x16, 0x94, 0xcc, 0x0f, 0x0e,
	0x7b, 0xa3, 0x8e, 0xd9, 0x11, 0x55, 0x96, 0x44, 0x4f, 0x6b, 0x9e, 0x4f, 0x92, 0xe2, 0xb8, 0x85,
	0xa2, 0x80, 0x32, 0xe5, 0x8d, 0xbf, 0xcd, 0xc6, 0x45, 0x85, 0x22, 0xc0, 0x9e, 0xaa, 0xb7, 0x6f,
	0xaa, 0xd5, 0x86, 0x7e, 0x53, 0x96, 0x50, 0x01, 0xb2, 0xa4, 0xbd, 0xdb, 0xa8, 0xee, 0x69, 0x72,
	0x0a, 0x95, 0x20, 0x47, 0x9a, 0x77, 0x55, 0xac, 0xd5, 0x5b, 0x4d, 0x79, 0x46, 0x08, 0xee, 0xa8,
	0x3a, 0xae, 0xef, 0x68, 0x72, 0x1a, 0x2d, 0xc3, 0x02, 0x11, 0x34, 0x5a, 0x7b, 0x7b, 0xf5, 0xe6,
	0x5e, 0xbb, 0xa1, 0xde, 0x55, 0x1b, 0xf2, 0x2c, 0x11, 0x6b, 0x11, 0xf1, 0x1c, 0x19, 0xae, 0x51,
	0xd7, 0xf4, 0xf6, 0x6e, 0xbd, 0xa1, 0x6a, 0xf2, 0x3c, 0x19, 0x0e, 0xab, 0xd5, 0x1a, 0x6d, 0xcb,
	0x19, 0x31, 0xba, 0xa6, 0x57, 0x75, 0x55, 0xce, 0x22, 0x04, 0x45, 0xd2, 0xf4, 0xc3, 0x96, 0x26,
	0x83, 0x90, 0xed, 0xe2, 0xea, 0x1d, 0xf5, 0x5e, 0x0b, 0xdf, 0xd6, 0xe4, 0x1c, 0x5a, 0x80, 0x02,
	0x91, 0xa9, 0xdf, 0x50, 0x77, 0x0e, 0xf4, 0x16, 0xd6, 0xe4, 0xbc, 0x80, 0xb5, 0xf6, 0x55, 0x5c,
	0xd5, 0xeb, 0xad, 0xa6, 0x26, 0xaf, 0x09, 0xeb, 0x7a, 0x55, 0xbb, 0xad, 0xc9, 0x05, 0xd1, 0xac,
	0xee, 0xa9, 0x4d, 0x5d, 0x5e, 0x42, 0x0a, 0xac, 0x90, 0x26, 0x56, 0xb5, 0xd6, 0x01, 0xde, 0x51,
	0xdb, 0xfb, 0xb8, 0x75, 0xb7, 0x5e, 0x23, 0x83, 0x2a, 0x68, 0x0d, 0xce, 0x36, 0xaa, 0x07, 0xcd,
	0x9d, 0x9b, 0xed, 0xa6, 0xaa, 0xe9, 0x6a, 0x2d, 0x98, 0x92, 0x5c, 0x54, 0x52, 0x19, 0x09, 0xbd,
	0x04, 0xcb, 0xf7, 0xaa, 0x75, 0x3d, 0xda, 0x5d, 0x12, 0xdd, 0xb7, 0xeb, 0x8d, 0x46, 0xb4, 0x5b,
	0xa6, 0xdd, 0x6b, 0x70, 0x16, 0xab, 0x77, 0x5a, 0x77, 0xd5, 0x28, 0x60, 0x99, 0x02, 0x2e, 0xc0,
	0x5a, 0xc2, 0xf8, 0x6d, 0x4d, 0xd5, 0xe8, 0xd6, 0x2c, 0x90, 0x05, 0x54, 0x75, 0xbd, 0xba, 0x73,
	0x33, 0xd4, 0x5b, 0x6f, 0xee, 0x1f, 0xe8, 0x32, 0x42, 0xe7, 0xe1, 0x6c, 0xa4, 0xaf, 0x75, 0xa0,
	0x93, 0xce, 0x45, 0xb4, 0x04, 0x32, 0xb7, 0x1e, 0x8c, 0xbb, 0x42, 0x3c, 0x48, 0x97, 0x14, 0xc8,
	0xce, 0x12, 0x19, 0x5d, 0x47, 0x20, 0x2b, 0x13, 0x6d, 0x3e, 0xf9, 0x40, 0x7a, 0x0e, 0xad, 0xc3,
	0x6a, 0xb5, 0x56, 0x8b, 0x7a, 0x93, 0x80, 0x76, 0xeb, 0x7b, 0xf2, 0x79, 0xb2, 0xa6, 0x83, 0xfd,
	0x5a, 0x55, 0x57, 0x93, 0x41, 0xab, 0x04, 0xc4, 0x8d, 0x27, 0x82, 0x5e, 0x22, 0x99, 0x6d, 0x1f,
	0x1f, 0x34, 0xd5, 0x76, 0xfd, 0x4e, 0x75, 0x4f, 0xd5, 0xe4, 0x0a, 0xcb, 0x64, 0x1b, 0xbf, 0xbf,
	0x40, 0xca, 0x70, 0x77, 0x68, 0x0f, 0x5c, 0x13, 0xbd, 0x3e, 0x96, 0xe8, 0xc7, 0x09, 0x26, 0x01,
	0x8a, 0xe6, 0xf5, 0x1b, 0x00, 0xe4, 0x71, 0x74, 0x6c, 0x1a, 0x3d, 0xef, 0x98, 0xa7, 0x92, 0xb5,
	0x78, 0xdd, 0x3d, 0xd3, 0xbb, 0x49, 0x61, 0x38, 0xdb, 0x15, 0x9f, 0x68, 0x0b, 0x48, 0xa3, 0x7d,
	0xd4, 0x33, 0xba, 0x2e, 0x4f, 0xe7, 0x95, 0x44, 0xf5, 0x5d, 0x82, 0xc2, 0x99, 0x2e, 0xff, 0x42,
	0x55, 0x46, 0xf1, 0x9d, 0x98, 0x0e, 0x25, 0x6a, 0x58, 0x8e, 0x59, 0x4f, 0x54, 0xbf, 0xcb, 0x70,
	0x94, 0xe6, 0xe3, 0xdf, 0xc2, 0x84, 0x60, 0x09, 0x67, 0x9f, 0x62, 0x22, 0x8e, 0x29, 0xfc, 0x3a,
	0x2c, 0x74, 0x23, 0x4c, 0xe1, 0x5c, 0x0c, 0x3b, 0x15, 0x36, 0x34, 0xce, 0x16, 0x76, 0x27, 0x1e,
	0x66, 0x37, 0xc6, 0xd8, 0xc2, 0xf9, 0x69, 0x5e, 0x8d, 0x65, 0x0c, 0xb7, 0xc2, 0x8c, 0x61, 0x66,
	0x9a, 0x57, 0x63, 0x58, 0x43, 0xbe, 0x25, 0xae, 0x67, 0x78, 0x26, 0x27, 0xbf, 0x92, 0xb7, 0x44,
	0x23, 0x28, 0xba, 0x25, 0xf4, 0x0b, 0xdd, 0x8a, 0x3c, 0x96, 0x19, 0xa1, 0x75, 0x21, 0xd1, 0x42,
	0xf2, 0x83, 0x99, 0xdb, 0x3a, 0x72, 0x8c, 0xbe, 0xf9, 0xd0, 0x76, 0x1e, 0xb8, 0x9c, 0xbd, 0x4a,
	0xb6, 0xb5, 0xeb, 0x43, 0xa9, 0xad, 0xa0, 0x89, 0xf6, 0x80, 0x08, 0xda, 0xe6, 0x07, 0xe6, 0xe1,
	0xc8, 0xb3, 0x1d, 0x97, 0xf3, 0x54, 0x1b, 0x89, 0xa6, 0x54, 0x81, 0xc4, 0xf9, 0x6e, 0xa8, 0x25,
	0xbc, 0xe3, 0x19, 0xee, 0x03, 0x97, 0xd3, 0x51, 0xc9, 0xde, 0xd1, 0x09, 0x8a, 0x7a, 0x87, 0x7e,
	0x25, 0x73, 0xa5, 0x8c, 0x8b, 0xfa, 0xff, 0x78, 0x43, 0x31, 0x4f, 0xb5, 0x78, 0xae, 0x94, 0xcf,
	0x8d, 0xaa, 0x73, 0x5a, 0x2a, 0x79, 0x6e, 0x55, 0x22, 0xa1, 0x73, 0xa3, 0x5f, 0xc4, 0xdb, 0x13,
	0x04, 0x99, 0x3c, 0xcd, 0xdb, 0x53, 0x49, 0xb2, 0x6f, 0xc3, 0x0a, 0x99, 0x48, 0x84, 0xa6, 0x71,
	0x39, 0x11, 0xf5, 0xa5, 0xc4, 0x59, 0x4d, 0xd6, 0x06, 0x2e, 0x5e, 0xea, 0xc6, 0x48, 0xc5, 0xd9,
	0xb0, 0x87, 0x26, 0x23, 0x1e, 0x5c, 0xce, 0x38, 0x25, 0x9f, 0x8d, 0x96, 0x0f, 0xa5, 0x67, 0x23,
	0x68, 0x2a, 0x97, 0x20, 0xeb, 0xc7, 0x26, 0x54, 0x81, 0x79, 0x16, 0xcc, 0x1e, 0xd1, 0x42, 0x24,
	0xc3, 0xa3, 0x9d, 0x10, 0x2a, 0xaf, 0x41, 0x46, 0x44, 0x22, 0xf4, 0x2a, 0xcc, 0xb2, 0xc0, 0xc5,
	0x8a, 0x8c, 0x1c, 0x1f, 0x9b, 0x74, 0x0a, 0x32, 0x85, 0xf6, 0x2b, 0x75, 0x4a, 0xdc, 0x88, 0x98,
	0xb3, 0x05, 0x79, 0x1e, 0xb2, 0xda, 0xa1, 0x3a, 0x4a, 0xd4, 0x7f, 0x1c, 0x15, 0x2a, 0x9f, 0x72,
	0x27, 0x81, 0x28, 0xca, 0x01, 0x89, 0xd0, 0xc5, 0xe6, 0x50, 0xe0, 0x56, 0x18, 0x40, 0x4c, 0x9e,
	0x63, 0x94, 0xcb, 0x50, 0xda, 0x7b, 0x76, 0x0e, 0x48, 0xa9, 0x86, 0xc9, 0x9c, 0xd7, 0x01, 0x48,
	0x38, 0xa1, 0x53, 0x16, 0xa3, 0x89, 0x47, 0x00, 0x41, 0x84, 0x26, 0x9c, 0x3d, 0xe2, 0x6d, 0x57,
	0x79, 0x73, 0x9c, 0xe8, 0x71, 0xad, 0xef, 0xb2, 0x02, 0x4f, 0x90, 0x39, 0x54, 0x82, 0x10, 0xa4,
	0x3b, 0x86, 0x67, 0xd0, 0x02, 0x2f, 0x8f, 0xe9, 0xb7, 0xf2, 0x27, 0x89, 0x7a, 0x9a, 0x85, 0x95,
	0xb1, 0x5b, 0x27, 0x7d, 0xce, 0x5b, 0x17, 0xb9, 0xfb, 0xa9, 0xe7, 0xbc, 0xfb, 0xd1, 0x80, 0x34,
	0xf3, 0xbc, 0x01, 0x49, 0xf9, 0xe7, 0xcc, 0x24, 0x4d, 0xa5, 0x01, 0x84, 0xc2, 0x26, 0x73, 0xf0,
	0xe5, 0x67, 0x08, 0x9b, 0xc1, 0x8b, 0x81, 0xfb, 0x34, 0x64, 0x46, 0xf9, 0xf1, 0x0c, 0x64, 0xc3,
	0xe4, 0x75, 0xde, 0x9f, 0x3c, 0x7b, 0x79, 0x84, 0x9f, 0x7e, 0xfe, 0xec, 0xc4, 0x2b, 0x3c, 0x24,
	0xc0, 0x39, 0x5f, 0xb1, 0xde, 0x41, 0xdb, 0x90, 0x13, 0xde, 0x0c, 0x1e, 0xf3, 0x0b, 0xdc, 0x8c,
	0xf0, 0x57, 0xbd, 0xb6, 0x5d, 0x3c, 0x7d, 0xbc, 0x06, 0x41, 0x1b, 0x83, 0xd0, 0xaa, 0x77, 0xd0,
	0x05, 0x28, 0xf8, 0x36, 0x68, 0x75, 0x4f, 0x7c, 0x99, 0xc5, 0x79, 0x21, 0x6c, 0x1a, 0x7d, 0x33,
	0xf2, 0x54, 0x4a, 0xff, 0x1b, 0x2f, 0xb4, 0x2a, 0xc8, 0xa1, 0x1f, 0x77, 0x3c, 0xc3, 0x1b, 0x89,
	0x7c, 0xbf, 0x32, 0x69, 0x4f, 0xa3, 0xbd, 0xb8, 0x74, 0x38, 0x2e, 0x40, 0xb7, 0x60, 0xd1, 0x8f,
	0x69, 0xc4, 0x82, 0xe5, 0x7a, 0xe4, 0xea, 0xb1, 0x64, 0x7f, 0x6e, 0xe2, 0x21, 0xa4, 0xf9, 0x00,
	0x8c, 0x9c, 0x88, 0x4c, 0xf9, 0x49, 0x8a, 0x1e, 0x80, 0x50, 0x8e, 0xd2, 0x00, 0x42, 0x47, 0xeb,
	0x69, 0x07, 0x20, 0x50, 0x0c, 0x36, 0x4e, 0x1c, 0x80, 0xc0, 0x0c, 0x3a, 0x82, 0xa5, 0x43, 0xbb,
	0x3f, 0xec, 0x99, 0x24, 0xe1, 0x84, 0xcc, 0xa7, 0x9e, 0xdf, 0xfc, 0xa2, 0x6f, 0x30, 0x74, 0x9e,
	0x9b, 0x90, 0xf5, 0x5b, 0xa8, 0x0a, 0xc5, 0xd0, 0x39, 0x0b, 0x62, 0xdc, 0x52, 0xe4, 0xa4, 0x05,
	0x41, 0xa3, 0x70, 0x14, 0x16, 0x2a, 0x3f, 0x48, 0x41, 0x3e, 0x7c, 0x15, 0x51, 0x0b, 0xb2, 0xc1,
	0x0d, 0x66, 0xce, 0xb9, 0xf4, 0xf4, 0x1b, 0xec, 0x9f, 0x46, 0x11, 0x9a, 0x7c, 0x1b, 0xe8, 0x3e,
	0x04, 0x0b, 0x19, 0x0b, 0x0e, 0xcf, 0x69, 0x1a, 0xf9, 0xd6, 0x7c, 0x88, 0x72, 0x0b, 0x32, 0xa2,
	0x81, 0x6e, 0x84, 0x0e, 0x7c, 0xc8, 0x27, 0x8b, 0x93, 0xd7, 0x26, 0x70, 0x89, 0x7f, 0x17, 0xa8,
	0x47, 0xf6, 0xe8, 0x79, 0x09, 0xf2, 0x16, 0xba, 0x0e, 0x10, 0xca, 0x7f, 0xcc, 0x25, 0x32, 0xb7,
	0xe6, 0xc3, 0xc4, 0x91, 0x08, 0x90, 0xca, 0x2f, 0x52, 0x34, 0xb2, 0xb2, 0xe0, 0x78, 0x1d, 0x0a,
	0x43, 0x73, 0xd0, 0x21, 0x95, 0xab, 0x88, 0xae, 0xe1, 0x5c, 0x46, 0x40, 0x62, 0x36, 0x1c, 0xc7,
	0xf4, 0x5e, 0x87, 0xfc, 0x77, 0x46, 0xe6, 0xc8, 0xec, 0x70, 0xb5, 0x54, 0x92, 0x5a, 0x8e, 0xc1,
	0x98, 0xd6, 0x9b, 0x50, 0x64, 0x3f, 0xcc, 0xf9, 0x7a, 0x33, 0x49, 0x7a, 0x05, 0x01, 0x64, 0x9a,
	0x6f, 0x83, 0xec, 0x99, 0x4e, 0xdf, 0x1a, 0x18, 0x9e, 0xaf, 0x9b, 0x4e, 0xd2, 0x2d, 0x05, 0x50,
	0xa6, 0xfd, 0x16, 0x94, 0x82, 0xbd, 0x66, 0xca, 0xb3, 0x49, 0xca, 0x45, 0x1f, 0x49, 0x75, 0x95,
	0x2d, 0xea, 0x2d, 0x56, 0x24, 0x6d, 0x02, 0xd0, 0x13, 0x21, 0x36, 0x50, 0x0a, 0xb9, 0x9c, 0x22,
	0x18, 0xa1, 0x65, 0x88, 0x4f, 0xe5, 0x97, 0x29, 0x58, 0x8a, 0x2b, 0x6b, 0xd0, 0x10, 0x50, 0x4c,
	0x79, 0xc4, 0x9c, 0xbf, 0xf5, 0xec, 0xe5, 0x51, 0x84, 0x76, 0xe1, 0x8b, 0x58, 0x70, 0x26, 0x91,
	0xca, 0xcf, 0x25, 0x90, 0x27, 0xd1, 0xe8, 0x1e, 0xac, 0x44, 0x7f, 0x4c, 0xfb, 0x7c, 0xec, 0xce,
	0x92, 0x13, 0xd3, 0x87, 0x6e, 0x40, 0xc9, 0xb3, 0x3d, 0xa3, 0xd7, 0x0e, 0x88, 0xc3, 0xd4, 0x34,
	0xe2, 0xb0, 0x48, 0xd1, 0x42, 0xe8, 0x2a, 0x7f, 0x95, 0xe2, 0x7f, 0xa3, 0x58, 0x23, 0xa9, 0xc7,
	0xf2, 0x44, 0x00, 0x97, 0x28, 0xd9, 0x06, 0x44, 0xc4, 0x63, 0xf4, 0x2b, 0x30, 0xcb, 0x9e, 0x2e,
	0x29, 0xfa, 0x90, 0x95, 0x43, 0x1b, 0xcc, 0x1e, 0x2b, 0xac, 0x1b, 0x5d, 0x85, 0x39, 0xc7, 0x34,
	0x5c, 0x7b, 0x40, 0x13, 0x4f, 0xf1, 0x5a, 0x79, 0x02, 0x38, 0x22, 0x53, 0x24, 0xfd, 0x98, 0xe3,
	0xd0, 0x3b, 0xe4, 0x55, 0xd6, 0xb7, 0x3c, 0xf6, 0xa3, 0x58, 0x7a, 0xec, 0xe7, 0x3b, 0xa2, 0x25,
	0x26, 0xdf, 0xf0, 0x41, 0x38, 0xa4, 0x80, 0xca, 0xa4, 0x56, 0x73, 0x5d, 0xa3, 0xcb, 0xfe, 0x89,
	0x23, 0x8b, 0x45, 0x53, 0xf9, 0x54, 0x9a, 0xa4, 0x3d, 0xff, 0x07, 0x57, 0xb9, 0xf1, 0x49, 0xea,
	0x8b, 0xe4, 0xd7, 0xc6, 0x89, 0xb4, 0xb9, 0x71, 0x22, 0x6d, 0x7e, 0x9c, 0x48, 0xcb, 0xc4, 0x10,
	0x69, 0xd9, 0x18, 0x22, 0x0d, 0xa2, 0x44, 0x5a, 0x2e, 0x86, 0x48, 0x5b, 0x18, 0x27, 0xd2, 0xf2,
	0xe3, 0x44, 0x5a, 0x71, 0x0a, 0x91, 0x26, 0x27, 0xf3, 0x64, 0x05, 0xca, 0x73, 0x45, 0x39, 0xa7,
	0x12, 0xe7, 0x72, 0x7e, 0x35, 0x0b, 0xc1, 0x6f, 0x1d, 0xe8, 0x8d, 0x31, 0x32, 0xe7, 0x7c, 0xfc,
	0x0f, 0x24, 0x51, 0x36, 0x67, 0xd3, 0xaf, 0xc3, 0xa3, 0xff, 0x9f, 0x14, 0xa8, 0xd5, 0x0c, 0xcf,
	0x60, 0x45, 0x3a, 0x7a, 0x13, 0xe6, 0x49, 0x8d, 0xe4, 0xd8, 0xbd, 0x58, 0xf2, 0x26, 0xd0, 0xd9,
	0x61, 0x28, 0x2c, 0xe0, 0xca, 0x8f, 0x24, 0x48, 0x13, 0x43, 0xe8, 0xad, 0xb1, 0xa9, 0xae, 0x4f,
	0x19, 0x33, 0x3a, 0x5f, 0x14, 0x9a, 0x2f, 0x7f, 0x37, 0x6c, 0xbc, 0x1d, 0x77, 0xca, 0xb2, 0x30,
	0xab, 0xe9, 0xb5, 0x7a, 0x53, 0x96, 0x10, 0xc0, 0x9c, 0xa6, 0xd7, 0x5a, 0x07, 0xba, 0x9c, 0xe2,
	0xdf, 0x2a, 0xc6, 0xf2, 0x0c, 0xff, 0x71, 0xe7, 0x37, 0x29, 0x98, 0xe7, 0x73, 0x45, 0xef, 0x8c,
	0xcd, 0xec, 0xc2, 0xf4, 0x95, 0x45, 0x27, 0x77, 0x1d, 0x32, 0x9e, 0xf7, 0x88, 0x05, 0x53, 0xe6,
	0xd0, 0xa2, 0xb8, 0x46, 0xfa, 0xbb, 0x34, 0x7e, 0xe6, 0x4e, 0x1f, 0xaf, 0xcd, 0xf3, 0x06, 0x9e,
	0xf7, 0xbc, 0x47, 0x34, 0x72, 0xee, 0x42, 0xf6, 0xd8, 0x34, 0x1c, 0xef, 0xbe, 0x69, 0x78, 0xdc,
	0xab, 0x17, 0x9f, 0x32, 0xf6, 0x4d, 0x81, 0xc7, 0x81, 0xaa, 0xf2, 0x36, 0x64, 0x7d, 0x39, 0xda,
	0x84, 0x8c, 0x35, 0xf0, 0x4c, 0xe7, 0xc4, 0xe8, 0x4d, 0xfb, 0x6f, 0x01, 0x1f, 0xb4, 0x71, 0x3d,
	0xce, 0x8d, 0x79, 0xc8, 0xe8, 0xfa, 0xbb, 0xed, 0x7a, 0x73, 0xb7, 0xc5, 0xae, 0xea, 0x4d, 0xb5,
	0x8a, 0xf5, 0x6d, 0xb5, 0xaa, 0x8b, 0x5f, 0xc7, 0x36, 0xae, 0xc6, 0xe9, 0x65, 0x20, 0x5d, 0xab,
	0xea, 0x55, 0x59, 0x22, 0x62, 0x72, 0x76, 0x71, 0xab, 0x21, 0x34, 0xb6, 0x77, 0x3e, 0x7e, 0x52,
	0x39, 0xf3, 0xc7, 0x27, 0x95, 0x33, 0x7f, 0x7e, 0x52, 0x91, 0x3e, 0x7b, 0x52, 0x91, 0xfe, 0xf1,
	0xa4, 0x22, 0x7d, 0xef, 0xb4, 0x22, 0x7d, 0x78, 0x5a, 0x91, 0x7e, 0x7d, 0x5a, 0x91, 0x7e, 0x7b,
	0x5a, 0x91, 0x3e, 0x3a, 0xad, 0x48, 0x1f, 0x9f, 0x56, 0xa4, 0xbf, 0x9c, 0x56, 0xce, 0x7c, 0x76,
	0x5a, 0x91, 0x7e, 0xf8, 0x69, 0xe5, 0xcc, 0x4f, 0x3f, 0xad, 0x48, 0xef, 0xcd, 0x52, 0x9f, 0xfc,
	0x2b, 0x00, 0x00, 0xff, 0xff, 0x8a, 0x44, 0x30, 0x4d, 0xaa, 0x28, 0x00, 0x00,
}
