From 82597b324265155a2fb5b25b9a1b427178f5c5ee Mon Sep 17 00:00:00 2001 From: Chun-Hung Hsiao Date: Wed, 18 Jul 2018 14:25:17 -0700 Subject: [PATCH 1/5] proto: bump to 1.6.x commit 2f6f381 --- api/v1/lib/agent/agent.proto | 16 ++++ api/v1/lib/master/master.proto | 52 +++++++++++- api/v1/lib/mesos.proto | 113 ++++++++++++++++++++++++--- api/v1/lib/scheduler/scheduler.proto | 16 +++- 4 files changed, 180 insertions(+), 17 deletions(-) diff --git a/api/v1/lib/agent/agent.proto b/api/v1/lib/agent/agent.proto index f81834bd..f1ec6180 100644 --- a/api/v1/lib/agent/agent.proto +++ b/api/v1/lib/agent/agent.proto @@ -75,6 +75,9 @@ message Call { // Retrieves the information about known executors. GET_EXECUTORS = 12; + // Retrieves the information about known operations. + GET_OPERATIONS = 31; + // Retrieves the information about known tasks. GET_TASKS = 13; @@ -207,6 +210,7 @@ message Call { UNKNOWN = 0; CONTAINER_ID = 1; PROCESS_IO = 2; + option (gogoproto.goproto_enum_prefix) = true; } @@ -442,6 +446,7 @@ message Response { GET_CONTAINERS = 9; GET_FRAMEWORKS = 10; // See 'GetFrameworks' below. GET_EXECUTORS = 11; // See 'GetExecutors' below. + GET_OPERATIONS = 17; // See 'GetOperations' below. GET_TASKS = 12; // See 'GetTasks' below. GET_AGENT = 14; // See 'GetAgent' below. GET_RESOURCE_PROVIDERS = 16; // See 'GetResourceProviders' below. @@ -537,6 +542,12 @@ message Response { repeated Executor completed_executors = 2 [(gogoproto.nullable) = false]; } + // Lists information about all operations known to the agent at the + // current time. + message GetOperations { + repeated Operation operations = 1 [(gogoproto.nullable) = false]; + } + // Lists information about all the tasks known to the agent at the current // time. message GetTasks { @@ -568,6 +579,7 @@ message Response { message GetResourceProviders { message ResourceProvider { required ResourceProviderInfo resource_provider_info = 1 [(gogoproto.nullable) = false]; + repeated Resource total_resources = 2 [(gogoproto.nullable) = false]; } repeated ResourceProvider resource_providers = 1 [(gogoproto.nullable) = false]; @@ -630,6 +642,7 @@ message Response { optional GetContainers get_containers = 10; optional GetFrameworks get_frameworks = 11; optional GetExecutors get_executors = 12; + optional GetOperations get_operations = 18; optional GetTasks get_tasks = 13; optional GetAgent get_agent = 15; optional GetResourceProviders get_resource_providers = 17; @@ -650,6 +663,7 @@ message ProcessIO { UNKNOWN = 0; DATA = 1; CONTROL = 2; + option (gogoproto.goproto_enum_prefix) = true; } @@ -659,6 +673,7 @@ message ProcessIO { STDIN = 1; STDOUT = 2; STDERR = 3; + option (gogoproto.goproto_enum_prefix) = true; } @@ -672,6 +687,7 @@ message ProcessIO { UNKNOWN = 0; TTY_INFO = 1; HEARTBEAT = 2; + option (gogoproto.goproto_enum_prefix) = true; } diff --git a/api/v1/lib/master/master.proto b/api/v1/lib/master/master.proto index d4b986e2..79bfa7f9 100644 --- a/api/v1/lib/master/master.proto +++ b/api/v1/lib/master/master.proto @@ -75,6 +75,7 @@ message Call { GET_AGENTS = 10; GET_FRAMEWORKS = 11; GET_EXECUTORS = 12; // Retrieves the information about all executors. + GET_OPERATIONS = 33; // Retrieves the information about known operations. GET_TASKS = 13; // Retrieves the information about all known tasks. GET_ROLES = 14; // Retrieves the information about roles. @@ -91,6 +92,9 @@ message Call { CREATE_VOLUMES = 21; // See 'CreateVolumes' below. DESTROY_VOLUMES = 22; // See 'DestroyVolumes' below. + GROW_VOLUME = 34; // See 'GrowVolume' below. + SHRINK_VOLUME = 35; // See 'ShrinkVolume' below. + // Retrieves the cluster's maintenance status. GET_MAINTENANCE_STATUS = 23; // Retrieves the cluster's maintenance schedule. @@ -106,6 +110,7 @@ message Call { TEARDOWN = 31; // See 'Teardown' below. MARK_AGENT_GONE = 32; // See 'MarkAgentGone' below. + option (gogoproto.goproto_enum_prefix) = true; } @@ -182,6 +187,32 @@ message Call { repeated Resource volumes = 2 [(gogoproto.nullable) = false]; } + // Grow a volume by an additional disk resource. + // NOTE: This is currently experimental and only for persistent volumes + // created on ROOT/PATH disks. + message GrowVolume { + // `agent_id` must be set if `volume` is an agent-local resource, and must + // be unset if `volume` is an external resource. + optional AgentID agent_id = 1 [(gogoproto.customname) = "AgentID"]; + + required Resource volume = 2 [(gogoproto.nullable) = false]; + required Resource addition = 3 [(gogoproto.nullable) = false]; + } + + // Shrink a volume by the size specified in the `subtract` field. + // NOTE: This is currently experimental and only for persistent volumes + // created on ROOT/PATH disks. + message ShrinkVolume { + // `agent_id` must be set if `volume` is an agent-local resource, and must + // be unset if `volume` is an external resource. + optional AgentID agent_id = 1 [(gogoproto.customname) = "AgentID"]; + + required Resource volume = 2 [(gogoproto.nullable) = false]; + + // See comments in `Value.Scalar` for maximum precision supported. + required Value.Scalar subtract = 3 [(gogoproto.nullable) = false]; + } + // Updates the cluster's maintenance schedule. message UpdateMaintenanceSchedule { required maintenance.Schedule schedule = 1 [(gogoproto.nullable) = false]; @@ -224,7 +255,7 @@ message Call { // NOTE: It is possible that the tasks might still be running // if the operator's assertion was wrong and the agent was partitioned // away from the master. The agent would be shutdown when it tries to - // re-register with the master when the partition heals. + // reregister with the master when the partition heals. message MarkAgentGone { required AgentID agent_id = 1 [(gogoproto.nullable) = false, (gogoproto.customname) = "AgentID"]; } @@ -240,6 +271,8 @@ message Call { optional UnreserveResources unreserve_resources = 8; optional CreateVolumes create_volumes = 9; optional DestroyVolumes destroy_volumes = 10; + optional GrowVolume grow_volume = 18; + optional ShrinkVolume shrink_volume = 19; optional UpdateMaintenanceSchedule update_maintenance_schedule = 11; optional StartMaintenance start_maintenance = 12; optional StopMaintenance stop_maintenance = 13; @@ -274,6 +307,7 @@ message Response { GET_AGENTS = 9; GET_FRAMEWORKS = 10; GET_EXECUTORS = 11; // See 'GetExecutors' below. + GET_OPERATIONS = 19; // See 'GetOperations' below. GET_TASKS = 12; // See 'GetTasks' below. GET_ROLES = 13; // See 'GetRoles' below. @@ -358,6 +392,7 @@ message Response { message ResourceProvider { required ResourceProviderInfo resource_provider_info = 1 [(gogoproto.nullable) = false]; + repeated Resource total_resources = 2 [(gogoproto.nullable) = false]; } repeated ResourceProvider resource_providers = 11 [(gogoproto.nullable) = false]; @@ -382,7 +417,7 @@ message Response { // If true, this framework was previously subscribed but hasn't // yet re-subscribed after a master failover. Recovered frameworks // are only reported if one or more agents running a task or - // executor for the framework have re-registered after master + // executor for the framework have reregistered after master // failover. required bool recovered = 11 [(gogoproto.nullable) = false]; @@ -431,6 +466,12 @@ message Response { repeated Executor orphan_executors = 2 [deprecated=true, (gogoproto.nullable) = false]; } + // Lists information about all operations known to the master at the + // current time. + message GetOperations { + repeated Operation operations = 1 [(gogoproto.nullable) = false]; + } + // Lists information about all the tasks known to the master at the current // time. Note that there might be tasks unknown to the master running on // partitioned or unsubscribed agents. @@ -512,6 +553,7 @@ message Response { optional GetAgents get_agents = 10; optional GetFrameworks get_frameworks = 11; optional GetExecutors get_executors = 12; + optional GetOperations get_operations = 20; optional GetTasks get_tasks = 13; optional GetRoles get_roles = 14; optional GetWeights get_weights = 15; @@ -546,6 +588,8 @@ message Event { // resubscribe using a backoff strategy. HEARTBEAT = 9; + // TODO(vinod): Fill in more events. + option (gogoproto.goproto_enum_prefix) = true; } @@ -586,7 +630,7 @@ message Event { required Response.GetFrameworks.Framework framework = 1 [(gogoproto.nullable) = false]; } - // Forwarded by the master when a framework re-registers with the master + // Forwarded by the master when a framework reregisters with the master // upon a disconnection (network error) or upon a master failover. message FrameworkUpdated { required Response.GetFrameworks.Framework framework = 1 [(gogoproto.nullable) = false]; @@ -594,7 +638,7 @@ message Event { // Forwarded by the master when a framework is removed. This can happen when // a framework is explicitly teardown by the operator or if it fails to - // re-register with the master within the failover timeout. + // reregister with the master within the failover timeout. message FrameworkRemoved { required FrameworkInfo framework_info = 1 [(gogoproto.nullable) = false]; } diff --git a/api/v1/lib/mesos.proto b/api/v1/lib/mesos.proto index 74629465..89ed34a0 100644 --- a/api/v1/lib/mesos.proto +++ b/api/v1/lib/mesos.proto @@ -442,7 +442,7 @@ message FrameworkInfo { * specifying one of the optional fields. Specifying more than one type * is an error. * - * NOTE: This API is unstable and the related feature is experimental. + * NOTE: This API is subject to change and the related feature is experimental. */ message CheckInfo { enum Type { @@ -921,7 +921,7 @@ message MasterInfo { UNKNOWN = 0; // The master can handle slaves whose state - // changes after re-registering. + // changes after reregistering. AGENT_UPDATE = 1; option (gogoproto.goproto_enum_prefix) = true; @@ -1018,6 +1018,11 @@ message AgentInfo { // // (2) The ability to provide operation feedback. RESOURCE_PROVIDER = 4; + + // This expresses the capability for the agent to handle persistent volume + // resize operations safely. This capability is turned on by default. + RESIZE_VOLUME = 5; + option (gogoproto.goproto_enum_prefix) = true; } @@ -1447,7 +1452,6 @@ message Resource { optional Volume volume = 2; // Describes where a disk originates from. - // TODO(jmlvanre): Add support for BLOCK devices. message Source { enum Type { UNKNOWN = 0; @@ -1495,7 +1499,7 @@ message Resource { // the framework will do disk selection based on profile names, // instead of vendor specific disk parameters. // - // Also see the DiskProfile module. + // Also see the DiskProfileAdaptor module. optional string profile = 6; // EXPERIMENTAL. } @@ -1920,6 +1924,8 @@ message Offer { repeated Resource resources = 5 [(gogoproto.nullable) = false]; repeated Attribute attributes = 7 [(gogoproto.nullable) = false]; + + // Executors of the same framework running on this agent. repeated ExecutorID executor_ids = 6 [(gogoproto.nullable) = false, (gogoproto.customname) = "ExecutorIDs"]; // Signifies that the resources in this Offer may be unavailable during @@ -1950,10 +1956,13 @@ message Offer { UNRESERVE = 3; CREATE = 4; DESTROY = 5; - CREATE_VOLUME = 7; - DESTROY_VOLUME = 8; - CREATE_BLOCK = 9; - DESTROY_BLOCK = 10; + CREATE_VOLUME = 7; // EXPERIMENTAL. + DESTROY_VOLUME = 8; // EXPERIMENTAL. + CREATE_BLOCK = 9; // EXPERIMENTAL. + DESTROY_BLOCK = 10; // EXPERIMENTAL. + GROW_VOLUME = 11; // EXPERIMENTAL. + SHRINK_VOLUME = 12; // EXPERIMENTAL. + option (gogoproto.goproto_enum_prefix) = true; } @@ -1991,19 +2000,45 @@ message Offer { repeated Resource volumes = 1 [(gogoproto.nullable) = false]; } + // Grow a volume by an additional disk resource. + // NOTE: This is currently experimental and only for persistent volumes + // created on ROOT/PATH disk. + message GrowVolume { + required Resource volume = 1 [(gogoproto.nullable) = false]; + required Resource addition = 2 [(gogoproto.nullable) = false]; + } + + // Shrink a volume by the size specified in the `subtract` field. + // NOTE: This is currently experimental and only for persistent volumes + // created on ROOT/PATH disk. + message ShrinkVolume { + required Resource volume = 1 [(gogoproto.nullable) = false]; + + // See comments in `Value.Scalar` for maximum precision supported. + required Value.Scalar subtract = 2 [(gogoproto.nullable) = false]; + } + + // NOTE: For the time being, this API is subject to change and the related + // feature is experimental. message CreateVolume { required Resource source = 1 [(gogoproto.nullable) = false]; required Resource.DiskInfo.Source.Type target_type = 2 [(gogoproto.nullable) = false]; } + // NOTE: For the time being, this API is subject to change and the related + // feature is experimental. message DestroyVolume { required Resource volume = 1 [(gogoproto.nullable) = false]; } + // NOTE: For the time being, this API is subject to change and the related + // feature is experimental. message CreateBlock { required Resource source = 1 [(gogoproto.nullable) = false]; } + // NOTE: For the time being, this API is subject to change and the related + // feature is experimental. message DestroyBlock { required Resource block = 1 [(gogoproto.nullable) = false]; } @@ -2013,7 +2048,7 @@ message Offer { // NOTE: The `id` field will allow frameworks to indicate that they wish to // receive feedback about an operation. Since this feature is not yet // implemented, the `id` field should NOT be set at present. See MESOS-8054. - optional OperationID id = 12 [(gogoproto.customname) = "ID"]; // Experimental. + optional OperationID id = 12 [(gogoproto.customname) = "ID"]; // EXPERIMENTAL. optional Launch launch = 2; optional LaunchGroup launch_group = 7; @@ -2021,6 +2056,8 @@ message Offer { optional Unreserve unreserve = 4; optional Create create = 5; optional Destroy destroy = 6; + optional GrowVolume grow_volume = 13; // EXPERIMENTAL. + optional ShrinkVolume shrink_volume = 14; // EXPERIMENTAL. optional CreateVolume create_volume = 8; optional DestroyVolume destroy_volume = 9; optional CreateBlock create_block = 10; @@ -2135,6 +2172,14 @@ message TaskInfo { // to use this information as needed and to handle tasks without // service discovery information. optional DiscoveryInfo discovery = 11; + + // Maximum duration for task completion. If the task is non-terminal at the + // end of this duration, it will fail with the reason + // `REASON_MAX_COMPLETION_TIME_REACHED`. Mesos supports this field for + // executor-less tasks, and tasks that use Docker or default executors. + // It is the executor's responsibility to implement this, so it might not be + // supported by all custom executors. + optional DurationInfo max_completion_time = 14; } @@ -2230,7 +2275,7 @@ enum TaskState { // // NOTE: This state is not always terminal. For example, tasks might // transition from TASK_LOST to TASK_RUNNING or other states when a - // partitioned agent re-registers. + // partitioned agent reregisters. TASK_LOST = 5; // The task failed but can be rescheduled. // The following task states are only sent when the framework @@ -2333,6 +2378,35 @@ enum OperationState { // TERMINAL: The operation was dropped due to a transient error. OPERATION_DROPPED = 5; + + // The operation affects an agent that has lost contact with the master, + // typically due to a network failure or partition. The operation may or may + // not still be pending. + OPERATION_UNREACHABLE = 6; + + // The operation affected an agent that the master cannot contact; + // the operator has asserted that the agent has been shutdown, but this has + // not been directly confirmed by the master. + // + // If the operator is correct, the operation is not pending and this is a + // terminal state; if the operator is mistaken, the operation may still be + // pending and might return to a different state in the future. + OPERATION_GONE_BY_OPERATOR = 7; + + // The operation affects an agent that the master recovered from its + // state, but that agent has not yet re-registered. + // + // The operation can transition to `OPERATION_UNREACHABLE` if the + // corresponding agent is marked as unreachable, and will transition to + // another status if the agent re-registers. + OPERATION_RECOVERING = 8; + + // The master has no knowledge of the operation. This is typically + // because either (a) the master never had knowledge of the operation, or + // (b) the master forgot about the operation because it garbage collected + // its metadata about the operation. The operation may or may not still be + // pending. + OPERATION_UNKNOWN = 9; } @@ -2340,7 +2414,12 @@ enum OperationState { * Describes the current status of an operation. */ message OperationStatus { + // While frameworks will only receive status updates for operations on which + // they have set an ID, this field is optional because this message is also + // used internally by Mesos components when the operation's ID has not been + // set. optional OperationID operation_id = 1 [(gogoproto.customname) = "OperationID"]; + required OperationState state = 2 [(gogoproto.nullable) = false]; optional string message = 3; @@ -2361,7 +2440,7 @@ message OperationStatus { * (e.g., the check timed out), these fields must contain empty messages, i.e., * `exit_code` or `status_code` will be unset. * -* NOTE: This API is unstable and the related feature is experimental. +* NOTE: This API is subject to change and the related feature is experimental. */ message CheckStatusInfo { message Command { @@ -2433,6 +2512,7 @@ message TaskStatus { REASON_CONTAINER_LIMITATION_MEMORY = 8; REASON_CONTAINER_PREEMPTED = 17; REASON_CONTAINER_UPDATE_FAILED = 22; + REASON_MAX_COMPLETION_TIME_REACHED = 33; REASON_EXECUTOR_REGISTRATION_TIMEOUT = 23; REASON_EXECUTOR_REREGISTRATION_TIMEOUT = 24; REASON_EXECUTOR_TERMINATED = 1; @@ -2557,6 +2637,7 @@ message Environment { UNKNOWN = 0; VALUE = 1; SECRET = 2; + option (gogoproto.goproto_enum_prefix) = true; } @@ -2629,6 +2710,7 @@ message Secret UNKNOWN = 0; REFERENCE = 1; VALUE = 2; + option (gogoproto.goproto_enum_prefix) = true; } @@ -2718,6 +2800,7 @@ message Image { enum Type { APPC = 1; DOCKER = 2; + option (gogoproto.goproto_enum_prefix) = true; } @@ -2753,7 +2836,7 @@ message Image { // (see MESOS-7088 for details). optional Credential credential = 2 [deprecated = true]; // Since 1.3. - // Docker config containing credentails to authenticate with + // Docker config containing credentials to authenticate with // docker registry. The secret is expected to be a docker // config file in JSON format with UTF-8 character encoding. optional Secret config = 3; @@ -2875,6 +2958,7 @@ message Volume { UNKNOWN = 0; SELF = 1; PARENT = 2; + option (gogoproto.goproto_enum_prefix) = true; } @@ -3042,6 +3126,7 @@ message CapabilityInfo { WAKE_ALARM = 1035; BLOCK_SUSPEND = 1036; AUDIT_READ = 1037; + option (gogoproto.goproto_enum_prefix) = true; } @@ -3102,6 +3187,7 @@ message RLimitInfo { RLMT_RTTIME = 14; RLMT_SIGPENDING = 15; RLMT_STACK = 16; + option (gogoproto.goproto_enum_prefix) = true; } optional Type type = 1 [(gogoproto.nullable) = false]; @@ -3147,6 +3233,7 @@ message ContainerInfo { enum Type { DOCKER = 1; MESOS = 2; + option (gogoproto.goproto_enum_prefix) = true; } @@ -3160,6 +3247,7 @@ message ContainerInfo { BRIDGE = 2; NONE = 3; USER = 4; + option (gogoproto.goproto_enum_prefix) = true; } @@ -3251,6 +3339,7 @@ message CgroupInfo { WRITE = 3; SYNC = 4; ASYNC = 5; + option (gogoproto.goproto_enum_prefix) = true; } diff --git a/api/v1/lib/scheduler/scheduler.proto b/api/v1/lib/scheduler/scheduler.proto index b7648bf1..562d7dc9 100644 --- a/api/v1/lib/scheduler/scheduler.proto +++ b/api/v1/lib/scheduler/scheduler.proto @@ -239,7 +239,8 @@ message Response { repeated OperationStatus operation_statuses = 1 [(gogoproto.nullable) = false]; } - optional ReconcileOperations reconcile_operations = 1; + optional Type type = 1 [(gogoproto.nullable) = false]; + optional ReconcileOperations reconcile_operations = 2; } @@ -280,6 +281,7 @@ message Call { // SchedulerDriver::abort which was only necessary to handle // exceptions getting thrown from within Scheduler callbacks, // something that is not an issue with the Event/Call API. + option (gogoproto.goproto_enum_prefix) = true; } @@ -409,8 +411,14 @@ message Call { // Such status updates are retried by the agent or resource provider // until they are acknowledged by the scheduler. message AcknowledgeOperationStatus { + // If the operation affects resources that belong to a SLRP, both + // `agent_id` and `resource_provider_id` have to be set. + // + // If the operation affects resources that belong to a SERP, only + // `resource_provider_id` has to be set. optional AgentID agent_id = 1 [(gogoproto.customname) = "AgentID"]; optional ResourceProviderID resource_provider_id = 2 [(gogoproto.customname) = "ResourceProviderID"]; + required bytes uuid = 3 [(gogoproto.customname) = "UUID"]; required OperationID operation_id = 4 [(gogoproto.nullable) = false, (gogoproto.customname) = "OperationID"]; } @@ -439,7 +447,13 @@ message Call { message ReconcileOperations { message Operation { required OperationID operation_id = 1 [(gogoproto.nullable) = false, (gogoproto.customname) = "OperationID"]; + + // If `agent_id` is not set and the master doesn't know the operation, + // then it will return `OPERATION_UNKNOWN`; if `agent_id` is set, it can + // return more fine-grained states depending on the state of the + // corresponding agent. optional AgentID agent_id = 2 [(gogoproto.customname) = "AgentID"]; + optional ResourceProviderID resource_provider_id = 3 [(gogoproto.customname) = "ResourceProviderID"]; } From 7f88ff5f42bff0fd753b75ecb0834ac6ccd8075a Mon Sep 17 00:00:00 2001 From: Chun-Hung Hsiao Date: Wed, 18 Jul 2018 14:26:28 -0700 Subject: [PATCH 2/5] proto: regenerate protobufs --- api/v1/lib/agent/agent.pb.go | 983 +++++-- api/v1/lib/agent/agentpb_test.go | 230 ++ api/v1/lib/master/master.pb.go | 2468 +++++++++++++---- api/v1/lib/master/masterpb_test.go | 746 ++++- api/v1/lib/mesos.pb.go | 3782 ++++++++++++++++---------- api/v1/lib/mesospb_test.go | 460 ++++ api/v1/lib/scheduler/scheduler.pb.go | 309 ++- 7 files changed, 6488 insertions(+), 2490 deletions(-) diff --git a/api/v1/lib/agent/agent.pb.go b/api/v1/lib/agent/agent.pb.go index 9254946a..cc6a79f9 100644 --- a/api/v1/lib/agent/agent.pb.go +++ b/api/v1/lib/agent/agent.pb.go @@ -65,6 +65,8 @@ const ( 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. @@ -109,6 +111,7 @@ var Call_Type_name = map[int32]string{ 10: "GET_CONTAINERS", 11: "GET_FRAMEWORKS", 12: "GET_EXECUTORS", + 31: "GET_OPERATIONS", 13: "GET_TASKS", 20: "GET_AGENT", 26: "GET_RESOURCE_PROVIDERS", @@ -142,6 +145,7 @@ var Call_Type_value = map[string]int32{ "GET_CONTAINERS": 10, "GET_FRAMEWORKS": 11, "GET_EXECUTORS": 12, + "GET_OPERATIONS": 31, "GET_TASKS": 13, "GET_AGENT": 20, "GET_RESOURCE_PROVIDERS": 26, @@ -235,6 +239,7 @@ const ( 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 @@ -255,6 +260,7 @@ var Response_Type_name = map[int32]string{ 9: "GET_CONTAINERS", 10: "GET_FRAMEWORKS", 11: "GET_EXECUTORS", + 17: "GET_OPERATIONS", 12: "GET_TASKS", 14: "GET_AGENT", 16: "GET_RESOURCE_PROVIDERS", @@ -274,6 +280,7 @@ var Response_Type_value = map[string]int32{ "GET_CONTAINERS": 9, "GET_FRAMEWORKS": 10, "GET_EXECUTORS": 11, + "GET_OPERATIONS": 17, "GET_TASKS": 12, "GET_AGENT": 14, "GET_RESOURCE_PROVIDERS": 16, @@ -1219,6 +1226,7 @@ type Response struct { 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"` @@ -1314,6 +1322,13 @@ func (m *Response) GetGetExecutors() *Response_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 @@ -1663,6 +1678,23 @@ func (m *Response_GetExecutors_Executor) GetExecutorInfo() mesos.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 { @@ -1682,7 +1714,7 @@ type Response_GetTasks struct { func (m *Response_GetTasks) Reset() { *m = Response_GetTasks{} } func (*Response_GetTasks) ProtoMessage() {} -func (*Response_GetTasks) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 11} } +func (*Response_GetTasks) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 12} } func (m *Response_GetTasks) GetPendingTasks() []mesos.Task { if m != nil { @@ -1726,7 +1758,7 @@ type Response_GetAgent struct { func (m *Response_GetAgent) Reset() { *m = Response_GetAgent{} } func (*Response_GetAgent) ProtoMessage() {} -func (*Response_GetAgent) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 12} } +func (*Response_GetAgent) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 13} } func (m *Response_GetAgent) GetAgentInfo() *mesos.AgentInfo { if m != nil { @@ -1744,7 +1776,7 @@ type Response_GetResourceProviders struct { func (m *Response_GetResourceProviders) Reset() { *m = Response_GetResourceProviders{} } func (*Response_GetResourceProviders) ProtoMessage() {} func (*Response_GetResourceProviders) Descriptor() ([]byte, []int) { - return fileDescriptorAgent, []int{1, 13} + return fileDescriptorAgent, []int{1, 14} } func (m *Response_GetResourceProviders) GetResourceProviders() []Response_GetResourceProviders_ResourceProvider { @@ -1756,6 +1788,7 @@ func (m *Response_GetResourceProviders) GetResourceProviders() []Response_GetRes 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() { @@ -1763,7 +1796,7 @@ func (m *Response_GetResourceProviders_ResourceProvider) Reset() { } func (*Response_GetResourceProviders_ResourceProvider) ProtoMessage() {} func (*Response_GetResourceProviders_ResourceProvider) Descriptor() ([]byte, []int) { - return fileDescriptorAgent, []int{1, 13, 0} + return fileDescriptorAgent, []int{1, 14, 0} } func (m *Response_GetResourceProviders_ResourceProvider) GetResourceProviderInfo() mesos.ResourceProviderInfo { @@ -1773,6 +1806,13 @@ func (m *Response_GetResourceProviders_ResourceProvider) GetResourceProviderInfo 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 @@ -1795,7 +1835,7 @@ type Response_WaitNestedContainer struct { func (m *Response_WaitNestedContainer) Reset() { *m = Response_WaitNestedContainer{} } func (*Response_WaitNestedContainer) ProtoMessage() {} func (*Response_WaitNestedContainer) Descriptor() ([]byte, []int) { - return fileDescriptorAgent, []int{1, 14} + return fileDescriptorAgent, []int{1, 15} } func (m *Response_WaitNestedContainer) GetExitStatus() int32 { @@ -1854,7 +1894,7 @@ type Response_WaitContainer struct { func (m *Response_WaitContainer) Reset() { *m = Response_WaitContainer{} } func (*Response_WaitContainer) ProtoMessage() {} -func (*Response_WaitContainer) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 15} } +func (*Response_WaitContainer) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{1, 16} } func (m *Response_WaitContainer) GetExitStatus() int32 { if m != nil && m.ExitStatus != nil { @@ -2036,6 +2076,7 @@ func init() { 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") @@ -3712,6 +3753,9 @@ func (this *Response) VerboseEqual(that interface{}) error { 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) } @@ -3790,6 +3834,9 @@ func (this *Response) Equal(that interface{}) bool { if !this.GetExecutors.Equal(that1.GetExecutors) { return false } + if !this.GetOperations.Equal(that1.GetOperations) { + return false + } if !this.GetTasks.Equal(that1.GetTasks) { return false } @@ -4799,6 +4846,76 @@ func (this *Response_GetExecutors_Executor) Equal(that interface{}) bool { } 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 { @@ -5091,6 +5208,14 @@ func (this *Response_GetResourceProviders_ResourceProvider) VerboseEqual(that in 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 { @@ -5121,6 +5246,14 @@ func (this *Response_GetResourceProviders_ResourceProvider) Equal(that interface 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 { @@ -5979,7 +6112,7 @@ func (this *Response) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 21) + s := make([]string, 0, 22) s = append(s, "&agent.Response{") s = append(s, "Type: "+fmt.Sprintf("%#v", this.Type)+",\n") if this.GetHealth != nil { @@ -6015,6 +6148,9 @@ func (this *Response) GoString() string { 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") } @@ -6217,6 +6353,18 @@ func (this *Response_GetExecutors_Executor) GoString() string { 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" @@ -6269,9 +6417,12 @@ func (this *Response_GetResourceProviders_ResourceProvider) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 5) + 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, "") } @@ -7441,6 +7592,18 @@ func (m *Response) MarshalTo(dAtA []byte) (int, error) { } 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 } @@ -7518,11 +7681,11 @@ func (m *Response_GetVersion) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintAgent(dAtA, i, uint64(m.VersionInfo.ProtoSize())) - n59, err := m.VersionInfo.MarshalTo(dAtA[i:]) + n60, err := m.VersionInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n59 + i += n60 return i, nil } @@ -7655,31 +7818,31 @@ func (m *Response_GetState) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintAgent(dAtA, i, uint64(m.GetTasks.ProtoSize())) - n60, err := m.GetTasks.MarshalTo(dAtA[i:]) + n61, err := m.GetTasks.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n60 + i += n61 } if m.GetExecutors != nil { dAtA[i] = 0x12 i++ i = encodeVarintAgent(dAtA, i, uint64(m.GetExecutors.ProtoSize())) - n61, err := m.GetExecutors.MarshalTo(dAtA[i:]) + n62, err := m.GetExecutors.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n61 + i += n62 } if m.GetFrameworks != nil { dAtA[i] = 0x1a i++ i = encodeVarintAgent(dAtA, i, uint64(m.GetFrameworks.ProtoSize())) - n62, err := m.GetFrameworks.MarshalTo(dAtA[i:]) + n63, err := m.GetFrameworks.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n62 + i += n63 } return i, nil } @@ -7733,21 +7896,21 @@ func (m *Response_GetContainers_Container) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintAgent(dAtA, i, uint64(m.FrameworkID.ProtoSize())) - n63, err := m.FrameworkID.MarshalTo(dAtA[i:]) + n64, err := m.FrameworkID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n63 + i += n64 } if m.ExecutorID != nil { dAtA[i] = 0x12 i++ i = encodeVarintAgent(dAtA, i, uint64(m.ExecutorID.ProtoSize())) - n64, err := m.ExecutorID.MarshalTo(dAtA[i:]) + n65, err := m.ExecutorID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n64 + i += n65 } if m.ExecutorName != nil { dAtA[i] = 0x1a @@ -7758,30 +7921,30 @@ func (m *Response_GetContainers_Container) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintAgent(dAtA, i, uint64(m.ContainerID.ProtoSize())) - n65, err := m.ContainerID.MarshalTo(dAtA[i:]) + n66, err := m.ContainerID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n65 + i += n66 if m.ContainerStatus != nil { dAtA[i] = 0x2a i++ i = encodeVarintAgent(dAtA, i, uint64(m.ContainerStatus.ProtoSize())) - n66, err := m.ContainerStatus.MarshalTo(dAtA[i:]) + n67, err := m.ContainerStatus.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n66 + i += n67 } if m.ResourceStatistics != nil { dAtA[i] = 0x32 i++ i = encodeVarintAgent(dAtA, i, uint64(m.ResourceStatistics.ProtoSize())) - n67, err := m.ResourceStatistics.MarshalTo(dAtA[i:]) + n68, err := m.ResourceStatistics.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n67 + i += n68 } return i, nil } @@ -7846,11 +8009,11 @@ func (m *Response_GetFrameworks_Framework) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintAgent(dAtA, i, uint64(m.FrameworkInfo.ProtoSize())) - n68, err := m.FrameworkInfo.MarshalTo(dAtA[i:]) + n69, err := m.FrameworkInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n68 + i += n69 return i, nil } @@ -7914,11 +8077,41 @@ func (m *Response_GetExecutors_Executor) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintAgent(dAtA, i, uint64(m.ExecutorInfo.ProtoSize())) - n69, err := m.ExecutorInfo.MarshalTo(dAtA[i:]) + n70, err := m.ExecutorInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n69 + 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 } @@ -8019,11 +8212,11 @@ func (m *Response_GetAgent) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintAgent(dAtA, i, uint64(m.AgentInfo.ProtoSize())) - n70, err := m.AgentInfo.MarshalTo(dAtA[i:]) + n71, err := m.AgentInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n70 + i += n71 } return i, nil } @@ -8076,11 +8269,23 @@ func (m *Response_GetResourceProviders_ResourceProvider) MarshalTo(dAtA []byte) dAtA[i] = 0xa i++ i = encodeVarintAgent(dAtA, i, uint64(m.ResourceProviderInfo.ProtoSize())) - n71, err := m.ResourceProviderInfo.MarshalTo(dAtA[i:]) + n72, err := m.ResourceProviderInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n71 + 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 } @@ -8118,11 +8323,11 @@ func (m *Response_WaitNestedContainer) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintAgent(dAtA, i, uint64(m.Limitation.ProtoSize())) - n72, err := m.Limitation.MarshalTo(dAtA[i:]) + n73, err := m.Limitation.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n72 + i += n73 } if m.Message != nil { dAtA[i] = 0x2a @@ -8167,11 +8372,11 @@ func (m *Response_WaitContainer) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintAgent(dAtA, i, uint64(m.Limitation.ProtoSize())) - n73, err := m.Limitation.MarshalTo(dAtA[i:]) + n74, err := m.Limitation.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n73 + i += n74 } if m.Message != nil { dAtA[i] = 0x2a @@ -8204,21 +8409,21 @@ func (m *ProcessIO) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintAgent(dAtA, i, uint64(m.Data.ProtoSize())) - n74, err := m.Data.MarshalTo(dAtA[i:]) + n75, err := m.Data.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n74 + i += n75 } if m.Control != nil { dAtA[i] = 0x1a i++ i = encodeVarintAgent(dAtA, i, uint64(m.Control.ProtoSize())) - n75, err := m.Control.MarshalTo(dAtA[i:]) + n76, err := m.Control.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n75 + i += n76 } return i, nil } @@ -8272,21 +8477,21 @@ func (m *ProcessIO_Control) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintAgent(dAtA, i, uint64(m.TTYInfo.ProtoSize())) - n76, err := m.TTYInfo.MarshalTo(dAtA[i:]) + n77, err := m.TTYInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n76 + i += n77 } if m.Heartbeat != nil { dAtA[i] = 0x1a i++ i = encodeVarintAgent(dAtA, i, uint64(m.Heartbeat.ProtoSize())) - n77, err := m.Heartbeat.MarshalTo(dAtA[i:]) + n78, err := m.Heartbeat.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n77 + i += n78 } return i, nil } @@ -8310,11 +8515,11 @@ func (m *ProcessIO_Control_Heartbeat) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintAgent(dAtA, i, uint64(m.Interval.ProtoSize())) - n78, err := m.Interval.MarshalTo(dAtA[i:]) + n79, err := m.Interval.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n78 + i += n79 } return i, nil } @@ -8348,7 +8553,7 @@ func encodeVarintAgent(dAtA []byte, offset int, v uint64) int { } 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, 13, 20, 26, 14, 15, 16, 21, 17, 18, 19, 22, 23, 24, 25, 27, 28, 29, 30}[r.Intn(31)]) + 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) } @@ -8658,7 +8863,7 @@ func NewPopulatedCall_PruneImages(r randyAgent, easy bool) *Call_PruneImages { 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, 12, 14, 16, 13, 15}[r.Intn(17)]) + 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) } @@ -8707,6 +8912,9 @@ func NewPopulatedResponse(r randyAgent, easy bool) *Response { 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 @@ -8915,46 +9123,61 @@ func NewPopulatedResponse_GetExecutors_Executor(r randyAgent, easy bool) *Respon return this } -func NewPopulatedResponse_GetTasks(r randyAgent, easy bool) *Response_GetTasks { - this := &Response_GetTasks{} - if r.Intn(10) == 0 { +func NewPopulatedResponse_GetOperations(r randyAgent, easy bool) *Response_GetOperations { + this := &Response_GetOperations{} + if r.Intn(10) != 0 { v45 := r.Intn(5) - this.PendingTasks = make([]mesos.Task, v45) + this.Operations = make([]mesos.Operation, v45) for i := 0; i < v45; i++ { - v46 := mesos.NewPopulatedTask(r, easy) - this.PendingTasks[i] = *v46 + 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.QueuedTasks = make([]mesos.Task, v47) + this.PendingTasks = make([]mesos.Task, v47) for i := 0; i < v47; i++ { v48 := mesos.NewPopulatedTask(r, easy) - this.QueuedTasks[i] = *v48 + this.PendingTasks[i] = *v48 } } if r.Intn(10) == 0 { v49 := r.Intn(5) - this.LaunchedTasks = make([]mesos.Task, v49) + this.QueuedTasks = make([]mesos.Task, v49) for i := 0; i < v49; i++ { v50 := mesos.NewPopulatedTask(r, easy) - this.LaunchedTasks[i] = *v50 + this.QueuedTasks[i] = *v50 } } if r.Intn(10) == 0 { v51 := r.Intn(5) - this.TerminatedTasks = make([]mesos.Task, v51) + this.LaunchedTasks = make([]mesos.Task, v51) for i := 0; i < v51; i++ { v52 := mesos.NewPopulatedTask(r, easy) - this.TerminatedTasks[i] = *v52 + this.LaunchedTasks[i] = *v52 } } if r.Intn(10) == 0 { v53 := r.Intn(5) - this.CompletedTasks = make([]mesos.Task, v53) + this.TerminatedTasks = make([]mesos.Task, v53) for i := 0; i < v53; i++ { v54 := mesos.NewPopulatedTask(r, easy) - this.CompletedTasks[i] = *v54 + 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 { @@ -8975,11 +9198,11 @@ func NewPopulatedResponse_GetAgent(r randyAgent, easy bool) *Response_GetAgent { func NewPopulatedResponse_GetResourceProviders(r randyAgent, easy bool) *Response_GetResourceProviders { this := &Response_GetResourceProviders{} if r.Intn(10) != 0 { - v55 := r.Intn(5) - this.ResourceProviders = make([]Response_GetResourceProviders_ResourceProvider, v55) - for i := 0; i < v55; i++ { - v56 := NewPopulatedResponse_GetResourceProviders_ResourceProvider(r, easy) - this.ResourceProviders[i] = *v56 + 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 { @@ -8989,8 +9212,16 @@ func NewPopulatedResponse_GetResourceProviders(r randyAgent, easy bool) *Respons func NewPopulatedResponse_GetResourceProviders_ResourceProvider(r randyAgent, easy bool) *Response_GetResourceProviders_ResourceProvider { this := &Response_GetResourceProviders_ResourceProvider{} - v57 := mesos.NewPopulatedResourceProviderInfo(r, easy) - this.ResourceProviderInfo = *v57 + 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 @@ -8999,26 +9230,26 @@ func NewPopulatedResponse_GetResourceProviders_ResourceProvider(r randyAgent, ea func NewPopulatedResponse_WaitNestedContainer(r randyAgent, easy bool) *Response_WaitNestedContainer { this := &Response_WaitNestedContainer{} if r.Intn(10) != 0 { - v58 := int32(r.Int31()) + v62 := int32(r.Int31()) if r.Intn(2) == 0 { - v58 *= -1 + v62 *= -1 } - this.ExitStatus = &v58 + this.ExitStatus = &v62 } if r.Intn(10) != 0 { - v59 := mesos.TaskState([]int32{6, 0, 1, 8, 2, 3, 4, 7, 5, 9, 10, 11, 12, 13}[r.Intn(14)]) - this.State = &v59 + 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 { - v60 := mesos.TaskStatus_Reason([]int32{0, 21, 19, 20, 8, 17, 22, 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(33)]) - this.Reason = &v60 + 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 { - v61 := string(randStringAgent(r)) - this.Message = &v61 + v65 := string(randStringAgent(r)) + this.Message = &v65 } if !easy && r.Intn(10) != 0 { } @@ -9028,26 +9259,26 @@ func NewPopulatedResponse_WaitNestedContainer(r randyAgent, easy bool) *Response func NewPopulatedResponse_WaitContainer(r randyAgent, easy bool) *Response_WaitContainer { this := &Response_WaitContainer{} if r.Intn(10) != 0 { - v62 := int32(r.Int31()) + v66 := int32(r.Int31()) if r.Intn(2) == 0 { - v62 *= -1 + v66 *= -1 } - this.ExitStatus = &v62 + this.ExitStatus = &v66 } 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 + 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 { - v64 := mesos.TaskStatus_Reason([]int32{0, 21, 19, 20, 8, 17, 22, 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(33)]) - this.Reason = &v64 + 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 { - v65 := string(randStringAgent(r)) - this.Message = &v65 + v69 := string(randStringAgent(r)) + this.Message = &v69 } if !easy && r.Intn(10) != 0 { } @@ -9072,9 +9303,9 @@ 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 { - v66 := r.Intn(100) - this.Data = make([]byte, v66) - for i := 0; i < v66; i++ { + v70 := r.Intn(100) + this.Data = make([]byte, v70) + for i := 0; i < v70; i++ { this.Data[i] = byte(r.Intn(256)) } } @@ -9126,9 +9357,9 @@ func randUTF8RuneAgent(r randyAgent) rune { return rune(ru + 61) } func randStringAgent(r randyAgent) string { - v67 := r.Intn(100) - tmps := make([]rune, v67) - for i := 0; i < v67; i++ { + v71 := r.Intn(100) + tmps := make([]rune, v71) + for i := 0; i < v71; i++ { tmps[i] = randUTF8RuneAgent(r) } return string(tmps) @@ -9150,11 +9381,11 @@ func randFieldAgent(dAtA []byte, r randyAgent, fieldNumber int, wire int) []byte switch wire { case 0: dAtA = encodeVarintPopulateAgent(dAtA, uint64(key)) - v68 := r.Int63() + v72 := r.Int63() if r.Intn(2) == 0 { - v68 *= -1 + v72 *= -1 } - dAtA = encodeVarintPopulateAgent(dAtA, uint64(v68)) + 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))) @@ -9554,6 +9785,10 @@ func (m *Response) ProtoSize() (n int) { 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 } @@ -9736,6 +9971,18 @@ func (m *Response_GetExecutors_Executor) ProtoSize() (n int) { 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 @@ -9799,6 +10046,12 @@ func (m *Response_GetResourceProviders_ResourceProvider) ProtoSize() (n 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 } @@ -10180,6 +10433,7 @@ func (this *Response) String() string { `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 @@ -10334,6 +10588,16 @@ func (this *Response_GetExecutors_Executor) String() string { }, "") 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" @@ -10374,6 +10638,7 @@ func (this *Response_GetResourceProviders_ResourceProvider) String() string { } 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 @@ -13880,6 +14145,39 @@ func (m *Response) Unmarshal(dAtA []byte) error { 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:]) @@ -15358,6 +15656,87 @@ func (m *Response_GetExecutors_Executor) Unmarshal(dAtA []byte) error { } 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 @@ -15788,6 +16167,37 @@ func (m *Response_GetResourceProviders_ResourceProvider) Unmarshal(dAtA []byte) } 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:]) @@ -16719,191 +17129,196 @@ var ( func init() { proto.RegisterFile("agent/agent.proto", fileDescriptorAgent) } var fileDescriptorAgent = []byte{ - // 2975 bytes of a gzipped FileDescriptorProto + // 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, 0xc8, 0x48, - 0xe2, 0xff, 0xdf, 0xb5, 0xe4, 0x2a, 0x1f, 0x0d, 0xa2, 0x24, 0x28, 0x25, 0xae, 0x24, 0xda, 0x34, - 0xa9, 0xce, 0xae, 0xec, 0x26, 0x6d, 0xc0, 0xae, 0xc9, 0x15, 0xb5, 0xf0, 0x92, 0xcb, 0xee, 0x2e, - 0xe5, 0xb8, 0xa7, 0x1e, 0x7b, 0x6b, 0x0f, 0x05, 0x7a, 0xe9, 0xa1, 0x40, 0x2f, 0x39, 0xf4, 0xde, - 0x9e, 0x8a, 0x5e, 0x8a, 0xe4, 0xd0, 0x43, 0x8e, 0x05, 0x5a, 0xb8, 0xb5, 0x72, 0x69, 0x6f, 0x39, - 0xb4, 0x40, 0x4f, 0x45, 0x31, 0x1f, 0xfb, 0x41, 0xee, 0x2e, 0xed, 0xb8, 0x46, 0x8a, 0xf6, 0x22, - 0xec, 0xbc, 0xf9, 0xbd, 0xdf, 0xcc, 0xbc, 0x99, 0x79, 0xef, 0xcd, 0xa3, 0x60, 0x41, 0xeb, 0xe9, - 0x03, 0x77, 0x8b, 0xfe, 0xdd, 0x1c, 0xda, 0x96, 0x6b, 0xa1, 0x5c, 0x5f, 0x77, 0x2c, 0x67, 0x93, - 0x8a, 0xa4, 0x1b, 0x3d, 0xc3, 0x3d, 0x1d, 0xdd, 0xdb, 0xec, 0x58, 0xfd, 0x2d, 0x2a, 0x67, 0x7f, - 0xaf, 0xf7, 0xac, 0x2d, 0x6d, 0x68, 0x6c, 0x9d, 0x7d, 0x75, 0xcb, 0x34, 0xee, 0x31, 0x19, 0x53, - 0x97, 0xae, 0x87, 0x34, 0x7a, 0x56, 0xcf, 0xda, 0xa2, 0xe2, 0x7b, 0xa3, 0x13, 0xda, 0xa2, 0x0d, - 0xfa, 0xc5, 0xe0, 0x1b, 0x1f, 0xbf, 0x0c, 0xe9, 0x3d, 0xcd, 0x34, 0xd1, 0x0d, 0x48, 0xbb, 0x0f, - 0x87, 0x7a, 0x59, 0x58, 0x17, 0xae, 0x16, 0xb7, 0x57, 0x36, 0x43, 0xb3, 0xd8, 0x24, 0x80, 0x4d, - 0xf5, 0xe1, 0x50, 0xdf, 0x4d, 0x7f, 0xf2, 0x68, 0xed, 0x02, 0xa6, 0x48, 0xf4, 0x0e, 0xe4, 0x7a, - 0xba, 0xdb, 0xee, 0xeb, 0xae, 0x6d, 0x74, 0x9c, 0x72, 0x6a, 0x5d, 0xb8, 0x9a, 0xdb, 0x5e, 0x8d, - 0x2a, 0x1e, 0xe8, 0xee, 0x6d, 0x86, 0xc1, 0xd0, 0xf3, 0xbf, 0xd1, 0x6d, 0x58, 0x70, 0x74, 0xb7, - 0x6d, 0x5a, 0xbd, 0x9e, 0x31, 0xe8, 0xb5, 0x4d, 0xfd, 0x4c, 0x37, 0xcb, 0x33, 0x94, 0xe4, 0xc5, - 0x28, 0x89, 0xa2, 0xbb, 0x0d, 0x86, 0x6c, 0x10, 0x20, 0x2e, 0x39, 0xe3, 0x02, 0xf4, 0x16, 0x80, - 0x69, 0x38, 0x6e, 0xfb, 0xc4, 0x30, 0x75, 0xa7, 0x9c, 0xa6, 0x3c, 0x97, 0xa3, 0x3c, 0x0d, 0xc3, - 0x71, 0xf7, 0x09, 0x04, 0x67, 0x4d, 0xef, 0x13, 0x7d, 0x0d, 0xb2, 0xb6, 0xae, 0x75, 0xa9, 0x6e, - 0x79, 0x96, 0xaa, 0x4a, 0x51, 0x55, 0xac, 0x6b, 0x5d, 0x82, 0xc7, 0x19, 0x9b, 0x7f, 0xa1, 0x0e, - 0x5c, 0x34, 0xb5, 0xd1, 0xa0, 0x73, 0xda, 0x1e, 0xe8, 0x8e, 0xab, 0x77, 0xdb, 0x1d, 0x6b, 0xe0, - 0x6a, 0xc6, 0x40, 0xb7, 0xcb, 0x73, 0x94, 0xe6, 0x95, 0x98, 0x19, 0x50, 0x85, 0x26, 0xc5, 0xef, - 0x79, 0xf0, 0xdd, 0x54, 0x59, 0xc0, 0xcb, 0x66, 0x5c, 0x17, 0xfa, 0x00, 0x96, 0x1f, 0x68, 0x86, - 0x1b, 0x1d, 0x62, 0x9e, 0x0e, 0xf1, 0x52, 0x74, 0x88, 0xbb, 0x9a, 0xe1, 0xc6, 0x0d, 0xb0, 0xf8, - 0x20, 0xda, 0x41, 0xe8, 0xef, 0x1b, 0xa6, 0x19, 0xa5, 0xcf, 0x24, 0xd1, 0xdf, 0x32, 0x4c, 0x33, - 0x96, 0xfe, 0x7e, 0xb4, 0x03, 0x8d, 0x60, 0x2d, 0xc1, 0x44, 0x6d, 0x47, 0x77, 0x1c, 0xc3, 0x1a, - 0x94, 0xb3, 0x74, 0xa0, 0xcd, 0xa7, 0x34, 0x95, 0xc2, 0xb4, 0xf0, 0xaa, 0x39, 0xa5, 0x17, 0x7d, - 0x1b, 0x56, 0x34, 0xd7, 0xd5, 0x3a, 0xa7, 0xa1, 0xf1, 0x8c, 0xc1, 0x70, 0xe4, 0x96, 0x81, 0x8e, - 0xf6, 0x72, 0x74, 0xb4, 0x2a, 0xc5, 0xfb, 0x4c, 0x75, 0x82, 0xc6, 0x4b, 0x5a, 0x8c, 0x14, 0xb5, - 0xe1, 0x62, 0x84, 0xdd, 0x1a, 0xb9, 0x84, 0x3e, 0x97, 0xb4, 0xef, 0x13, 0xf4, 0x2d, 0x0a, 0xc7, - 0xcb, 0x5a, 0x9c, 0x98, 0x1c, 0x2c, 0x5b, 0xef, 0x5b, 0x67, 0x7a, 0x74, 0x5b, 0xf2, 0x49, 0x03, - 0x60, 0xaa, 0x10, 0x7b, 0xb0, 0xec, 0xb8, 0x2e, 0xd4, 0x00, 0x91, 0x6f, 0x4d, 0xc0, 0x5e, 0x48, - 0xba, 0x80, 0x6c, 0x2f, 0x7c, 0x65, 0x5c, 0x32, 0xc7, 0x05, 0x68, 0x1f, 0x8a, 0xf4, 0x98, 0x06, - 0x5c, 0x45, 0xca, 0xb5, 0x16, 0x7f, 0x3e, 0x03, 0xa6, 0xc2, 0x83, 0x70, 0x93, 0xf0, 0xd0, 0xf3, - 0x18, 0xf0, 0x94, 0x92, 0x78, 0xc8, 0x41, 0x0c, 0xf1, 0xdc, 0x0f, 0x37, 0xc9, 0xea, 0xb8, 0x09, - 0x03, 0x26, 0x31, 0x69, 0x75, 0xcc, 0x76, 0xa1, 0xd5, 0xd9, 0xe3, 0x02, 0x64, 0xc2, 0xaa, 0xd6, - 0xed, 0xb6, 0x6d, 0xdd, 0xb1, 0x46, 0x76, 0x47, 0x6f, 0x0f, 0x6d, 0xeb, 0xcc, 0xe8, 0xea, 0x36, - 0x21, 0x3f, 0x31, 0x7a, 0xe5, 0x05, 0xca, 0x7c, 0x2d, 0x66, 0xdb, 0xbb, 0x5d, 0xcc, 0x95, 0x8e, - 0xb8, 0xce, 0x1e, 0x55, 0xc1, 0x97, 0xb4, 0xa4, 0x2e, 0x72, 0x69, 0x46, 0xc3, 0xae, 0xe6, 0xea, - 0xc9, 0x03, 0xa2, 0xa4, 0x4b, 0x73, 0x4c, 0x15, 0x13, 0xc6, 0x5c, 0x1d, 0x4d, 0xe9, 0x25, 0xc3, - 0x72, 0x93, 0x25, 0x0e, 0xbb, 0x98, 0x34, 0x2c, 0xb3, 0x60, 0xd2, 0xb0, 0xf6, 0x94, 0x5e, 0xb2, - 0xe3, 0x24, 0x90, 0xf8, 0xdb, 0xe4, 0x94, 0x97, 0x92, 0x76, 0xfc, 0x40, 0x0f, 0x4e, 0x8a, 0x83, - 0x0b, 0xbd, 0x70, 0x13, 0x7d, 0x1d, 0xf2, 0x43, 0x7b, 0x34, 0xd0, 0xdb, 0x46, 0x5f, 0xeb, 0xe9, - 0x4e, 0x79, 0x99, 0xb2, 0xbc, 0x10, 0x65, 0x39, 0x22, 0xa8, 0x3a, 0x05, 0xe1, 0xdc, 0x30, 0x68, - 0x48, 0x3b, 0x00, 0x41, 0xb4, 0x42, 0xd7, 0x61, 0xde, 0x35, 0xfa, 0xba, 0x35, 0x72, 0x69, 0x54, - 0xcc, 0x6d, 0x2f, 0x72, 0xaa, 0xda, 0xc8, 0xd6, 0x5c, 0xc3, 0x1a, 0xd4, 0x07, 0x27, 0x16, 0xf6, - 0x30, 0x52, 0x17, 0x4a, 0x13, 0x51, 0x0a, 0x49, 0x30, 0xcb, 0xe2, 0x9a, 0xb0, 0x9e, 0xba, 0x5a, - 0xe0, 0xd1, 0x93, 0x89, 0xd0, 0xeb, 0x90, 0xe9, 0x72, 0x9e, 0x72, 0x6a, 0x3d, 0x95, 0x40, 0xcf, - 0x75, 0x7c, 0xa8, 0xf4, 0x12, 0x64, 0xfd, 0x18, 0x86, 0xca, 0x90, 0x1e, 0x6a, 0xee, 0x29, 0xa5, - 0xcf, 0x7a, 0xc1, 0x99, 0x48, 0xa4, 0xf7, 0x21, 0xe3, 0xc5, 0xab, 0x64, 0x14, 0x5a, 0x85, 0x39, - 0xeb, 0xe4, 0xc4, 0xd1, 0x5d, 0x3a, 0x83, 0x34, 0xef, 0xe3, 0x32, 0xb4, 0x02, 0x73, 0xa6, 0x3e, - 0xe8, 0xb9, 0xa7, 0x34, 0x2c, 0xa7, 0x31, 0x6f, 0x49, 0xef, 0x41, 0x61, 0x6c, 0x1f, 0xd0, 0x1a, - 0xe4, 0x9c, 0x53, 0xeb, 0x01, 0xf7, 0x55, 0xd4, 0x58, 0x19, 0x0c, 0x44, 0xc4, 0x5c, 0x0e, 0x7a, - 0x05, 0x4a, 0x14, 0xe0, 0xb8, 0xda, 0xa0, 0xab, 0x99, 0xd6, 0x40, 0xa7, 0xe9, 0x42, 0x06, 0x17, - 0x89, 0x58, 0xf1, 0xa5, 0xd2, 0x6f, 0x05, 0x58, 0x8e, 0xf5, 0xfa, 0xe8, 0x26, 0xe4, 0x43, 0x9e, - 0xbc, 0x4b, 0x17, 0x93, 0xdb, 0x46, 0xdc, 0x64, 0x81, 0x7f, 0xae, 0xed, 0x2e, 0x92, 0x45, 0x9c, - 0x3f, 0x5a, 0xcb, 0x85, 0x84, 0x38, 0xe7, 0x2b, 0xd7, 0xbb, 0xe8, 0x2b, 0x30, 0xdf, 0xb1, 0xfa, - 0x7d, 0x6d, 0xd0, 0xe5, 0x59, 0x4b, 0x40, 0x43, 0xa5, 0x6c, 0x5f, 0x39, 0x04, 0x6d, 0x43, 0x36, - 0xf0, 0x20, 0x2c, 0x41, 0x59, 0x8a, 0x0c, 0x4b, 0x34, 0x02, 0x98, 0xa4, 0xc1, 0x62, 0x4c, 0x10, - 0x7e, 0x9e, 0x8b, 0x90, 0x1e, 0xc2, 0x62, 0x4c, 0x20, 0x7e, 0xae, 0x76, 0x5a, 0x81, 0x39, 0xc7, - 0xe8, 0x0d, 0x34, 0x93, 0x9a, 0x69, 0x16, 0xf3, 0x96, 0xd4, 0x81, 0xe5, 0xd8, 0x60, 0xf3, 0x5c, - 0xd7, 0xf7, 0x3b, 0x01, 0x56, 0xa7, 0x25, 0x00, 0xff, 0x65, 0x27, 0xe2, 0xa3, 0x14, 0x2c, 0xc5, - 0x65, 0x18, 0x48, 0x1e, 0x4b, 0xbc, 0xaf, 0x3d, 0x5d, 0x5e, 0x12, 0xcd, 0xc6, 0xf7, 0x27, 0xac, - 0x31, 0xb9, 0x8c, 0xc0, 0x1a, 0xa5, 0xa9, 0x96, 0xa8, 0x01, 0x0c, 0x6d, 0xab, 0xa3, 0x3b, 0x4e, - 0xdb, 0xb0, 0xf8, 0xe2, 0xc6, 0x5f, 0x03, 0x47, 0xac, 0xbb, 0xde, 0xda, 0x2d, 0x9c, 0x3f, 0x5a, - 0xcb, 0xfa, 0x4d, 0x9c, 0xe5, 0x8a, 0x75, 0x6b, 0x63, 0x07, 0xd2, 0x64, 0x86, 0x28, 0x07, 0xf3, - 0xc7, 0xcd, 0x5b, 0xcd, 0xd6, 0xdd, 0xa6, 0x78, 0x01, 0x89, 0x90, 0xdf, 0x6b, 0x35, 0xd5, 0x6a, - 0xbd, 0x29, 0xe3, 0x76, 0xbd, 0x26, 0x0a, 0xa8, 0x08, 0x70, 0x84, 0x5b, 0x7b, 0xb2, 0xa2, 0xb4, - 0xeb, 0x2d, 0x31, 0x25, 0xa5, 0x7f, 0xf0, 0xf3, 0x8a, 0x40, 0x8e, 0x57, 0x6c, 0xb2, 0xf4, 0x5c, - 0x8f, 0xd7, 0xdf, 0x04, 0x28, 0x4d, 0xe4, 0x34, 0xff, 0xc1, 0x13, 0xf5, 0x2a, 0x79, 0x81, 0xb0, - 0xe0, 0xe8, 0x94, 0x67, 0xd6, 0x67, 0xae, 0xe6, 0xb6, 0x4b, 0x1c, 0xef, 0x05, 0x4d, 0xbe, 0xdb, - 0x01, 0x6e, 0xfc, 0x18, 0xa6, 0x9f, 0xee, 0x18, 0x7e, 0x0b, 0x0a, 0x63, 0xd9, 0xd7, 0x73, 0xb5, - 0xa9, 0x03, 0x85, 0xb1, 0x94, 0xec, 0x4b, 0x71, 0x46, 0x1f, 0x40, 0x69, 0x22, 0x7b, 0x7b, 0xae, - 0x6b, 0xc2, 0x70, 0x29, 0x31, 0x85, 0x43, 0xaf, 0x43, 0xda, 0x18, 0x9c, 0x58, 0x7c, 0x80, 0xcb, - 0x13, 0x3b, 0xe6, 0x81, 0x43, 0x71, 0x9c, 0xc2, 0xa5, 0x63, 0x58, 0x9d, 0x96, 0xa5, 0x3d, 0x2b, - 0x2d, 0x86, 0xd5, 0x69, 0x59, 0x18, 0xc9, 0x03, 0xb8, 0xa7, 0x09, 0xe5, 0x01, 0xd4, 0x79, 0x94, - 0x21, 0x3d, 0xd0, 0xfa, 0x3a, 0xcd, 0x02, 0xfc, 0x1e, 0x22, 0x91, 0x6e, 0x42, 0x2e, 0x94, 0x2d, - 0xa1, 0x1d, 0x28, 0xe9, 0x1f, 0x76, 0xcc, 0x51, 0x57, 0xef, 0x7a, 0x59, 0x96, 0x40, 0x4f, 0x6b, - 0x9e, 0x4f, 0x92, 0xe2, 0x38, 0x43, 0xd1, 0x83, 0x32, 0xe5, 0x8d, 0x3f, 0xcc, 0xc6, 0x79, 0x85, - 0x22, 0xc0, 0x81, 0xac, 0xb6, 0x0f, 0xe5, 0x6a, 0x43, 0x3d, 0x14, 0x05, 0x54, 0x80, 0x2c, 0x69, - 0xef, 0x37, 0xaa, 0x07, 0x8a, 0x98, 0x42, 0x25, 0xc8, 0x91, 0xe6, 0x1d, 0x19, 0x2b, 0xf5, 0x56, - 0x53, 0x9c, 0xf1, 0x04, 0xb7, 0x65, 0x15, 0xd7, 0xf7, 0x14, 0x31, 0x8d, 0x96, 0x61, 0x81, 0x08, - 0x1a, 0xad, 0x83, 0x83, 0x7a, 0xf3, 0xa0, 0xdd, 0x90, 0xef, 0xc8, 0x0d, 0x71, 0x96, 0x88, 0x95, - 0x88, 0x78, 0x8e, 0x0c, 0xd7, 0xa8, 0x2b, 0x6a, 0x7b, 0xbf, 0xde, 0x90, 0x15, 0x71, 0x9e, 0x0c, - 0x87, 0xe5, 0x6a, 0x8d, 0xb6, 0xc5, 0x8c, 0x37, 0xba, 0xa2, 0x56, 0x55, 0x59, 0xcc, 0x22, 0x04, - 0x45, 0xd2, 0xf4, 0xdd, 0x96, 0x22, 0x82, 0x27, 0xdb, 0xc7, 0xd5, 0xdb, 0xf2, 0xdd, 0x16, 0xbe, - 0xa5, 0x88, 0x39, 0xb4, 0x00, 0x05, 0x22, 0x93, 0xbf, 0x29, 0xef, 0x1d, 0xab, 0x2d, 0xac, 0x88, - 0x79, 0x8f, 0x49, 0xad, 0x2a, 0xb7, 0x14, 0xb1, 0xe0, 0x35, 0xab, 0x07, 0x72, 0x53, 0x15, 0x97, - 0x90, 0x04, 0x2b, 0xa4, 0x89, 0x65, 0xa5, 0x75, 0x8c, 0xf7, 0xe4, 0xf6, 0x11, 0x6e, 0xdd, 0xa9, - 0xd7, 0xc8, 0x00, 0x12, 0x5a, 0x83, 0x8b, 0x8d, 0xea, 0x71, 0x73, 0xef, 0xb0, 0xdd, 0x94, 0x15, - 0x55, 0xae, 0x05, 0xc3, 0x8b, 0x45, 0x29, 0x95, 0x11, 0xd0, 0x0b, 0xb0, 0x7c, 0xb7, 0x5a, 0x57, - 0xa3, 0xdd, 0x25, 0xaf, 0xfb, 0x56, 0xbd, 0xd1, 0x88, 0x76, 0x8b, 0xb4, 0x7b, 0x0d, 0x2e, 0x62, - 0xf9, 0x76, 0xeb, 0x8e, 0x1c, 0x05, 0x2c, 0x53, 0xc0, 0x15, 0x58, 0x4b, 0x18, 0xbf, 0xad, 0xc8, - 0x0a, 0xdd, 0x86, 0x05, 0xb2, 0x80, 0xaa, 0xaa, 0x56, 0xf7, 0x0e, 0x43, 0xbd, 0xf5, 0xe6, 0xd1, - 0xb1, 0x2a, 0x22, 0x74, 0x19, 0x2e, 0x46, 0xfa, 0x5a, 0xc7, 0x2a, 0xe9, 0x5c, 0x44, 0x4b, 0x20, - 0x72, 0xf6, 0x60, 0xdc, 0x15, 0x62, 0x54, 0xba, 0xa4, 0x40, 0x76, 0x91, 0xc8, 0xe8, 0x3a, 0x02, - 0x59, 0x99, 0x68, 0xf3, 0xc9, 0x07, 0xd2, 0x4b, 0x68, 0x1d, 0x56, 0xab, 0xb5, 0x5a, 0xd4, 0x9a, - 0x04, 0xb4, 0x5f, 0x3f, 0x10, 0x2f, 0x93, 0x35, 0x1d, 0x1f, 0xd5, 0xaa, 0xaa, 0x9c, 0x0c, 0x5a, - 0x25, 0x20, 0x4e, 0x9e, 0x08, 0x7a, 0x81, 0x44, 0xb1, 0x23, 0x7c, 0xdc, 0x94, 0xdb, 0xf5, 0xdb, - 0xd5, 0x03, 0x59, 0x11, 0x2b, 0x2c, 0x6a, 0x6d, 0xfc, 0xe9, 0x45, 0x92, 0x72, 0x3b, 0x43, 0x6b, - 0xe0, 0xe8, 0xe8, 0xb5, 0xb1, 0xa0, 0x3e, 0x5e, 0x4c, 0xf2, 0x40, 0xd1, 0x18, 0xfe, 0x2e, 0x00, - 0x79, 0x08, 0x9d, 0xea, 0x9a, 0xe9, 0x9e, 0xf2, 0xb0, 0xb1, 0x16, 0xaf, 0x7b, 0xa0, 0xbb, 0x87, - 0x14, 0x86, 0xb3, 0x3d, 0xef, 0x13, 0xed, 0x00, 0x69, 0xb4, 0x4f, 0x4c, 0xad, 0xe7, 0xf0, 0xd0, - 0x5d, 0x49, 0x54, 0xdf, 0x27, 0x28, 0x9c, 0xe9, 0xf1, 0x2f, 0x54, 0x65, 0xe5, 0xbc, 0x33, 0xdd, - 0xa6, 0x45, 0x19, 0x16, 0x4f, 0xd6, 0x13, 0xd5, 0xef, 0x30, 0x1c, 0x2d, 0xe9, 0xf1, 0x6f, 0x8f, - 0xc2, 0xab, 0x08, 0xce, 0x3e, 0x81, 0x22, 0xae, 0x2a, 0xf8, 0x0d, 0x58, 0xe8, 0x45, 0xaa, 0x82, - 0x73, 0x31, 0x95, 0xa8, 0x30, 0xd1, 0x78, 0x65, 0xb0, 0x37, 0xf1, 0x08, 0x7b, 0x77, 0xac, 0x32, - 0x38, 0x3f, 0xcd, 0xaa, 0xb1, 0xd5, 0xc1, 0x9d, 0x70, 0x75, 0x30, 0x33, 0xcd, 0xaa, 0x31, 0x15, - 0x42, 0xbe, 0x25, 0x8e, 0xab, 0xb9, 0x3a, 0x2f, 0x74, 0x25, 0x6f, 0x89, 0x42, 0x50, 0x74, 0x4b, - 0xe8, 0x17, 0xba, 0x19, 0x79, 0x18, 0xb3, 0xe2, 0xd5, 0x95, 0x44, 0x86, 0xe4, 0xc7, 0x31, 0xe7, - 0x3a, 0xb1, 0xb5, 0xbe, 0xfe, 0xc0, 0xb2, 0xef, 0x3b, 0xbc, 0x52, 0x95, 0xcc, 0xb5, 0xef, 0x43, - 0x29, 0x57, 0xd0, 0x44, 0x07, 0x40, 0x04, 0x6d, 0xfd, 0x43, 0xbd, 0x33, 0x72, 0x2d, 0xdb, 0xe1, - 0x35, 0xa9, 0x8d, 0x44, 0x2a, 0xd9, 0x43, 0xe2, 0x7c, 0x2f, 0xd4, 0xf2, 0xac, 0xe3, 0x6a, 0xce, - 0x7d, 0x87, 0x97, 0x9e, 0x92, 0xad, 0xa3, 0x12, 0x14, 0xb5, 0x0e, 0xfd, 0x4a, 0xae, 0x8b, 0xb2, - 0xba, 0xd3, 0xff, 0xc5, 0x13, 0xc5, 0x3c, 0xcb, 0xe2, 0xeb, 0xa2, 0x7c, 0x6e, 0x54, 0x9d, 0x97, - 0xa0, 0x92, 0xe7, 0x56, 0x25, 0x12, 0x3a, 0x37, 0xfa, 0x45, 0xac, 0x3d, 0x51, 0x0c, 0x13, 0xa7, - 0x59, 0x7b, 0x6a, 0x41, 0xec, 0x3b, 0xb0, 0x42, 0x26, 0x12, 0x29, 0xc9, 0x38, 0xbc, 0xe8, 0xf4, - 0xff, 0x89, 0xb3, 0x9a, 0xcc, 0x03, 0x1c, 0xbc, 0xd4, 0x8b, 0x91, 0x4a, 0xd7, 0x20, 0xeb, 0xfb, - 0x13, 0x54, 0x81, 0x79, 0xe6, 0x80, 0x1e, 0xd2, 0x44, 0x21, 0xc3, 0x3d, 0x94, 0x27, 0x94, 0x5e, - 0x85, 0x8c, 0xe7, 0x3d, 0xd0, 0x2b, 0x30, 0xcb, 0x9c, 0x0d, 0x4b, 0x02, 0x72, 0x7c, 0x26, 0xa4, - 0xd3, 0x2b, 0x76, 0xd0, 0x7e, 0xa9, 0x4e, 0x0b, 0x2b, 0x9e, 0x9f, 0xd8, 0x81, 0x3c, 0x77, 0x33, - 0xed, 0x50, 0x9e, 0xe3, 0xe5, 0x67, 0x1c, 0x15, 0x4a, 0x6f, 0x72, 0x67, 0x81, 0x28, 0x5a, 0xa3, - 0xf1, 0xdc, 0x0d, 0x9b, 0x43, 0x81, 0xb3, 0x30, 0x80, 0x37, 0x79, 0x8e, 0x91, 0xae, 0x43, 0xe9, - 0xe0, 0xe9, 0x6b, 0x34, 0x52, 0x35, 0x5c, 0x6c, 0x79, 0x0d, 0x80, 0xb8, 0x00, 0x3a, 0x65, 0x6f, - 0x34, 0x2f, 0x49, 0x27, 0x88, 0xd0, 0x84, 0xb3, 0x27, 0xbc, 0xed, 0x48, 0x6f, 0x8e, 0x17, 0x62, - 0x1c, 0xe3, 0x7b, 0x2c, 0x01, 0xf3, 0x8a, 0x2d, 0x54, 0x82, 0x10, 0xa4, 0xbb, 0x9a, 0xab, 0xd1, - 0x04, 0x2c, 0x8f, 0xe9, 0xb7, 0xf4, 0x47, 0x81, 0x5a, 0x9a, 0xb9, 0x82, 0xb1, 0x9b, 0x22, 0x7c, - 0xc1, 0x9b, 0x12, 0xb9, 0xaf, 0xa9, 0x67, 0xbc, 0xaf, 0x51, 0x27, 0x32, 0xf3, 0xac, 0x4e, 0x44, - 0xfa, 0xe7, 0xcc, 0x64, 0x19, 0x49, 0x01, 0x08, 0xb9, 0x3a, 0x66, 0xe0, 0xeb, 0x4f, 0xe1, 0xea, - 0x82, 0x8c, 0x9e, 0xdb, 0x34, 0x44, 0x23, 0xfd, 0x64, 0x06, 0xb2, 0xe1, 0xe2, 0x72, 0xde, 0x9f, - 0x3c, 0x7b, 0x19, 0x84, 0x9f, 0x66, 0xfe, 0xec, 0xbc, 0x57, 0x72, 0x48, 0x80, 0x73, 0xbe, 0x62, - 0xbd, 0x8b, 0x76, 0x21, 0xe7, 0x59, 0x33, 0x78, 0x6c, 0x2f, 0x70, 0x1a, 0xcf, 0x5e, 0xf5, 0xda, - 0x6e, 0xf1, 0xfc, 0xd1, 0x1a, 0x04, 0x6d, 0x0c, 0x9e, 0x56, 0xbd, 0x8b, 0xae, 0x40, 0xc1, 0xe7, - 0xa0, 0xd9, 0x37, 0xb1, 0x65, 0x16, 0xe7, 0x3d, 0x61, 0x53, 0xeb, 0xeb, 0x91, 0xa7, 0x4c, 0xfa, - 0xdf, 0x78, 0x41, 0x55, 0x41, 0x0c, 0xfd, 0xf8, 0xe2, 0x6a, 0xee, 0xc8, 0x8b, 0xd1, 0x2b, 0x93, - 0x7c, 0x0a, 0xed, 0xc5, 0xa5, 0xce, 0xb8, 0x00, 0xdd, 0x84, 0x45, 0xdf, 0x0f, 0x11, 0x06, 0xc3, - 0x71, 0xc9, 0xd5, 0x63, 0x01, 0xfa, 0xd2, 0xc4, 0x43, 0x45, 0xf1, 0x01, 0x18, 0xd9, 0x11, 0x99, - 0xf4, 0xd3, 0x14, 0x3d, 0x00, 0xa1, 0xb8, 0xa2, 0x00, 0x84, 0x8e, 0xd6, 0x93, 0x0e, 0x40, 0xa0, - 0x18, 0x6c, 0x9c, 0x77, 0x00, 0x02, 0x1a, 0x74, 0x02, 0x4b, 0x1d, 0xab, 0x3f, 0x34, 0x75, 0x12, - 0x24, 0x42, 0xf4, 0xa9, 0x67, 0xa7, 0x5f, 0xf4, 0x09, 0x43, 0xe7, 0xb9, 0x09, 0x59, 0xbf, 0x85, - 0xaa, 0x50, 0x0c, 0x9d, 0xb3, 0xc0, 0xc7, 0x2d, 0x45, 0x4e, 0x5a, 0xe0, 0x34, 0x0a, 0x27, 0x61, - 0xa1, 0xf4, 0xc3, 0x14, 0xe4, 0xc3, 0x57, 0x11, 0xb5, 0x20, 0x1b, 0xdc, 0x60, 0x66, 0x9c, 0x6b, - 0x4f, 0xbe, 0xc1, 0xfe, 0x69, 0xf4, 0x5c, 0x93, 0xcf, 0x81, 0xee, 0x41, 0xb0, 0x90, 0x31, 0xe7, - 0xf0, 0x8c, 0xd4, 0xc8, 0x67, 0xf3, 0x21, 0xd2, 0x4d, 0xc8, 0x78, 0x0d, 0xf4, 0x6e, 0xe8, 0xc0, - 0x87, 0x6c, 0xb2, 0x38, 0x79, 0x6d, 0x02, 0x93, 0xf8, 0x77, 0x81, 0x5a, 0xe4, 0x17, 0x29, 0xea, - 0x10, 0x99, 0x4f, 0x7b, 0x03, 0x0a, 0x43, 0x7d, 0xd0, 0x25, 0x49, 0xa2, 0xe7, 0x14, 0xc3, 0x21, - 0x88, 0x80, 0x3c, 0x12, 0x8e, 0x63, 0x7a, 0xaf, 0x41, 0xfe, 0xbb, 0x23, 0x7d, 0xa4, 0x77, 0xb9, - 0x5a, 0x2a, 0x49, 0x2d, 0xc7, 0x60, 0x4c, 0xeb, 0x4d, 0x28, 0xb2, 0xdf, 0xbb, 0x7c, 0xbd, 0x99, - 0x24, 0xbd, 0x82, 0x07, 0x64, 0x9a, 0x6f, 0x83, 0xe8, 0xea, 0x76, 0xdf, 0x18, 0x68, 0xae, 0xaf, - 0x9b, 0x4e, 0xd2, 0x2d, 0x05, 0x50, 0xa6, 0xfd, 0x16, 0x94, 0x82, 0x2d, 0x62, 0xca, 0xb3, 0x49, - 0xca, 0x45, 0x1f, 0x49, 0x75, 0xa5, 0x1d, 0x6a, 0x2d, 0x96, 0x8f, 0x6c, 0x01, 0xd0, 0x8d, 0xf4, - 0xec, 0x4e, 0xae, 0xab, 0xc8, 0x29, 0x28, 0x82, 0xd5, 0x89, 0x34, 0xef, 0x53, 0xfa, 0xbb, 0x00, - 0x4b, 0x71, 0x19, 0x04, 0x1a, 0x02, 0x8a, 0xc9, 0x44, 0x98, 0xf1, 0x77, 0x9e, 0x3e, 0x13, 0x89, - 0x54, 0x33, 0xf8, 0x22, 0x16, 0xec, 0x48, 0x76, 0x72, 0x1f, 0xc4, 0x49, 0x30, 0xba, 0x0b, 0x2b, - 0xd1, 0x9f, 0xa8, 0xbe, 0x58, 0xcd, 0x64, 0xc9, 0x8e, 0xe9, 0x93, 0xfe, 0x2a, 0xc4, 0x57, 0xee, - 0xd7, 0x88, 0xc3, 0x37, 0x5c, 0xcf, 0x6d, 0x0a, 0xb4, 0x04, 0x05, 0x44, 0xc4, 0x3d, 0xe3, 0xcb, - 0x30, 0xcb, 0x92, 0xfc, 0x14, 0x7d, 0xf2, 0x89, 0xa1, 0xfd, 0x61, 0x69, 0x3d, 0xeb, 0x46, 0x37, - 0x60, 0xce, 0xd6, 0x35, 0xc7, 0x1a, 0x50, 0x77, 0x5f, 0xdc, 0x2e, 0x4f, 0x00, 0x47, 0x64, 0xd2, - 0xa4, 0x1f, 0x73, 0x1c, 0x7a, 0x87, 0xbc, 0x5f, 0xfa, 0x86, 0xcb, 0x7e, 0x2a, 0x4a, 0x8f, 0xfd, - 0xa8, 0x45, 0xb4, 0xbc, 0x35, 0x36, 0x7c, 0x10, 0x0e, 0x29, 0xa0, 0x32, 0xc9, 0x90, 0x1c, 0x47, - 0xeb, 0xb1, 0x7f, 0x6d, 0xc8, 0x62, 0xaf, 0x29, 0x7d, 0x26, 0x4c, 0x16, 0x03, 0xff, 0x07, 0x57, - 0xb9, 0xf1, 0x71, 0xea, 0xcb, 0xac, 0x3a, 0x8d, 0x97, 0x97, 0xe6, 0xc6, 0xcb, 0x4b, 0xf3, 0xe3, - 0xe5, 0xa5, 0x4c, 0x4c, 0x79, 0x29, 0x1b, 0x53, 0x5e, 0x82, 0x68, 0x79, 0x29, 0x37, 0x5e, 0x5e, - 0xca, 0x8f, 0x97, 0x97, 0x8a, 0x53, 0xca, 0x4b, 0x62, 0x72, 0xf5, 0xa8, 0x40, 0xab, 0x3f, 0xd1, - 0x4a, 0x4c, 0x89, 0x57, 0x38, 0x7e, 0x39, 0x0b, 0x41, 0xb5, 0x1f, 0xbd, 0x3e, 0x56, 0xe2, 0xb8, - 0x1c, 0xff, 0x13, 0x41, 0xb4, 0xc6, 0xb1, 0xe5, 0x67, 0xba, 0xd1, 0xff, 0xd0, 0x09, 0xd4, 0x6a, - 0x9a, 0xab, 0xb1, 0x34, 0x18, 0xbd, 0x09, 0xf3, 0x24, 0x0b, 0xb1, 0x2d, 0x33, 0xb6, 0xa4, 0x11, - 0xe8, 0xec, 0x31, 0x14, 0xf6, 0xe0, 0xd2, 0x8f, 0x05, 0x48, 0x13, 0x22, 0xf4, 0xd6, 0xd8, 0x54, - 0xd7, 0xa7, 0x8c, 0x19, 0x9d, 0x2f, 0x0a, 0xcd, 0x97, 0x67, 0xe6, 0x1b, 0x6f, 0xc7, 0x9d, 0xa8, - 0x2c, 0xcc, 0x2a, 0x6a, 0xad, 0xde, 0x14, 0x05, 0x04, 0x30, 0xa7, 0xa8, 0xb5, 0xd6, 0xb1, 0x2a, - 0xa6, 0xf8, 0xb7, 0x8c, 0xb1, 0x38, 0xc3, 0x7f, 0xde, 0xf8, 0x75, 0x0a, 0xe6, 0xf9, 0x5c, 0xd1, - 0x3b, 0x63, 0x33, 0xbb, 0x32, 0x7d, 0x65, 0xd1, 0xc9, 0xbd, 0x01, 0x19, 0xd7, 0x7d, 0xc8, 0x1c, - 0x1f, 0x33, 0x68, 0xd1, 0xbb, 0x32, 0xea, 0x7b, 0xd4, 0xd7, 0xe5, 0xce, 0x1f, 0xad, 0xcd, 0xf3, - 0x06, 0x9e, 0x77, 0xdd, 0x87, 0xe4, 0x03, 0xed, 0x43, 0xf6, 0x54, 0xd7, 0x6c, 0xf7, 0x9e, 0xae, - 0xb9, 0xdc, 0xaa, 0x57, 0x9f, 0x30, 0xf6, 0xa1, 0x87, 0xc7, 0x81, 0xaa, 0xf4, 0x36, 0x64, 0x7d, - 0x39, 0xda, 0x82, 0x8c, 0x31, 0x70, 0x75, 0xfb, 0x4c, 0x33, 0xa7, 0xfd, 0x5e, 0xee, 0x83, 0x36, - 0xde, 0x88, 0x33, 0x63, 0x1e, 0x32, 0xaa, 0xfa, 0x5e, 0xbb, 0xde, 0xdc, 0x6f, 0xb1, 0x6b, 0x79, - 0x28, 0x57, 0xb1, 0xba, 0x2b, 0x57, 0x55, 0xef, 0xf7, 0xa1, 0x8d, 0x1b, 0x71, 0x7a, 0x19, 0x48, - 0xd7, 0xaa, 0x6a, 0x55, 0x14, 0x88, 0x98, 0x9c, 0x5d, 0xdc, 0x6a, 0x78, 0x1a, 0xbb, 0x7b, 0x9f, - 0x3e, 0xae, 0x5c, 0xf8, 0xfd, 0xe3, 0xca, 0x85, 0x3f, 0x3f, 0xae, 0x08, 0x9f, 0x3f, 0xae, 0x08, - 0xff, 0x78, 0x5c, 0x11, 0xbe, 0x7f, 0x5e, 0x11, 0x3e, 0x3a, 0xaf, 0x08, 0xbf, 0x3a, 0xaf, 0x08, - 0xbf, 0x39, 0xaf, 0x08, 0x9f, 0x9c, 0x57, 0x84, 0x4f, 0xcf, 0x2b, 0xc2, 0x5f, 0xce, 0x2b, 0x17, - 0x3e, 0x3f, 0xaf, 0x08, 0x3f, 0xfa, 0xac, 0x72, 0xe1, 0x67, 0x9f, 0x55, 0x84, 0xf7, 0x67, 0xa9, - 0x4d, 0xfe, 0x15, 0x00, 0x00, 0xff, 0xff, 0xd7, 0x82, 0x70, 0x99, 0xac, 0x27, 0x00, 0x00, + 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, } diff --git a/api/v1/lib/agent/agentpb_test.go b/api/v1/lib/agent/agentpb_test.go index d66eac5d..2fe4fcdc 100644 --- a/api/v1/lib/agent/agentpb_test.go +++ b/api/v1/lib/agent/agentpb_test.go @@ -3703,6 +3703,108 @@ func BenchmarkResponse_GetExecutors_ExecutorProtoUnmarshal(b *testing.B) { b.SetBytes(int64(total / b.N)) } +func TestResponse_GetOperationsProto(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedResponse_GetOperations(popr, false) + dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + msg := &Response_GetOperations{} + if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + littlefuzz := make([]byte, len(dAtA)) + copy(littlefuzz, dAtA) + for i := range dAtA { + dAtA[i] = byte(popr.Intn(256)) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } + if len(littlefuzz) > 0 { + fuzzamount := 100 + for i := 0; i < fuzzamount; i++ { + littlefuzz[popr.Intn(len(littlefuzz))] = byte(popr.Intn(256)) + littlefuzz = append(littlefuzz, byte(popr.Intn(256))) + } + // shouldn't panic + _ = github_com_gogo_protobuf_proto.Unmarshal(littlefuzz, msg) + } +} + +func TestResponse_GetOperationsMarshalTo(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedResponse_GetOperations(popr, false) + size := p.ProtoSize() + dAtA := make([]byte, size) + for i := range dAtA { + dAtA[i] = byte(popr.Intn(256)) + } + _, err := p.MarshalTo(dAtA) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + msg := &Response_GetOperations{} + if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + for i := range dAtA { + dAtA[i] = byte(popr.Intn(256)) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } +} + +func BenchmarkResponse_GetOperationsProtoMarshal(b *testing.B) { + popr := math_rand.New(math_rand.NewSource(616)) + total := 0 + pops := make([]*Response_GetOperations, 10000) + for i := 0; i < 10000; i++ { + pops[i] = NewPopulatedResponse_GetOperations(popr, false) + } + b.ResetTimer() + for i := 0; i < b.N; i++ { + dAtA, err := github_com_gogo_protobuf_proto.Marshal(pops[i%10000]) + if err != nil { + panic(err) + } + total += len(dAtA) + } + b.SetBytes(int64(total / b.N)) +} + +func BenchmarkResponse_GetOperationsProtoUnmarshal(b *testing.B) { + popr := math_rand.New(math_rand.NewSource(616)) + total := 0 + datas := make([][]byte, 10000) + for i := 0; i < 10000; i++ { + dAtA, err := github_com_gogo_protobuf_proto.Marshal(NewPopulatedResponse_GetOperations(popr, false)) + if err != nil { + panic(err) + } + datas[i] = dAtA + } + msg := &Response_GetOperations{} + b.ResetTimer() + for i := 0; i < b.N; i++ { + total += len(datas[i%10000]) + if err := github_com_gogo_protobuf_proto.Unmarshal(datas[i%10000], msg); err != nil { + panic(err) + } + } + b.SetBytes(int64(total / b.N)) +} + func TestResponse_GetTasksProto(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) @@ -5479,6 +5581,27 @@ func TestResponse_GetExecutors_ExecutorJSON(t *testing.T) { t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p) } } +func TestResponse_GetOperationsJSON(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedResponse_GetOperations(popr, true) + marshaler := github_com_gogo_protobuf_jsonpb.Marshaler{} + jsondata, err := marshaler.MarshalToString(p) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + msg := &Response_GetOperations{} + err = github_com_gogo_protobuf_jsonpb.UnmarshalString(jsondata, msg) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p) + } +} func TestResponse_GetTasksJSON(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) @@ -6913,6 +7036,40 @@ func TestResponse_GetExecutors_ExecutorProtoCompactText(t *testing.T) { } } +func TestResponse_GetOperationsProtoText(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedResponse_GetOperations(popr, true) + dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p) + msg := &Response_GetOperations{} + if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } +} + +func TestResponse_GetOperationsProtoCompactText(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedResponse_GetOperations(popr, true) + dAtA := github_com_gogo_protobuf_proto.CompactTextString(p) + msg := &Response_GetOperations{} + if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } +} + func TestResponse_GetTasksProtoText(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) @@ -7793,6 +7950,21 @@ func TestResponse_GetExecutors_ExecutorVerboseEqual(t *testing.T) { t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err) } } +func TestResponse_GetOperationsVerboseEqual(t *testing.T) { + popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) + p := NewPopulatedResponse_GetOperations(popr, false) + dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) + if err != nil { + panic(err) + } + msg := &Response_GetOperations{} + if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { + panic(err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err) + } +} func TestResponse_GetTasksVerboseEqual(t *testing.T) { popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) p := NewPopulatedResponse_GetTasks(popr, false) @@ -8411,6 +8583,19 @@ func TestResponse_GetExecutors_ExecutorGoString(t *testing.T) { panic(err) } } +func TestResponse_GetOperationsGoString(t *testing.T) { + popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) + p := NewPopulatedResponse_GetOperations(popr, false) + s1 := p.GoString() + s2 := fmt.Sprintf("%#v", p) + if s1 != s2 { + t.Fatalf("GoString want %v got %v", s1, s2) + } + _, err := go_parser.ParseExpr(s1) + if err != nil { + panic(err) + } +} func TestResponse_GetTasksGoString(t *testing.T) { popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) p := NewPopulatedResponse_GetTasks(popr, false) @@ -9837,6 +10022,42 @@ func BenchmarkResponse_GetExecutors_ExecutorProtoSize(b *testing.B) { b.SetBytes(int64(total / b.N)) } +func TestResponse_GetOperationsProtoSize(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedResponse_GetOperations(popr, true) + size2 := github_com_gogo_protobuf_proto.Size(p) + dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + size := p.ProtoSize() + if len(dAtA) != size { + t.Errorf("seed = %d, size %v != marshalled size %v", seed, size, len(dAtA)) + } + if size2 != size { + t.Errorf("seed = %d, size %v != before marshal proto.Size %v", seed, size, size2) + } + size3 := github_com_gogo_protobuf_proto.Size(p) + if size3 != size { + t.Errorf("seed = %d, size %v != after marshal proto.Size %v", seed, size, size3) + } +} + +func BenchmarkResponse_GetOperationsProtoSize(b *testing.B) { + popr := math_rand.New(math_rand.NewSource(616)) + total := 0 + pops := make([]*Response_GetOperations, 1000) + for i := 0; i < 1000; i++ { + pops[i] = NewPopulatedResponse_GetOperations(popr, false) + } + b.ResetTimer() + for i := 0; i < b.N; i++ { + total += pops[i%1000].ProtoSize() + } + b.SetBytes(int64(total / b.N)) +} + func TestResponse_GetTasksProtoSize(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) @@ -10521,6 +10742,15 @@ func TestResponse_GetExecutors_ExecutorStringer(t *testing.T) { t.Fatalf("String want %v got %v", s1, s2) } } +func TestResponse_GetOperationsStringer(t *testing.T) { + popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) + p := NewPopulatedResponse_GetOperations(popr, false) + s1 := p.String() + s2 := fmt.Sprintf("%v", p) + if s1 != s2 { + t.Fatalf("String want %v got %v", s1, s2) + } +} func TestResponse_GetTasksStringer(t *testing.T) { popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) p := NewPopulatedResponse_GetTasks(popr, false) diff --git a/api/v1/lib/master/master.pb.go b/api/v1/lib/master/master.pb.go index 03153ab3..3ef47c81 100644 --- a/api/v1/lib/master/master.pb.go +++ b/api/v1/lib/master/master.pb.go @@ -67,6 +67,7 @@ const ( Call_GET_AGENTS Call_Type = 10 Call_GET_FRAMEWORKS Call_Type = 11 Call_GET_EXECUTORS Call_Type = 12 + Call_GET_OPERATIONS Call_Type = 33 Call_GET_TASKS Call_Type = 13 Call_GET_ROLES Call_Type = 14 Call_GET_WEIGHTS Call_Type = 15 @@ -77,6 +78,8 @@ const ( Call_UNRESERVE_RESOURCES Call_Type = 20 Call_CREATE_VOLUMES Call_Type = 21 Call_DESTROY_VOLUMES Call_Type = 22 + Call_GROW_VOLUME Call_Type = 34 + Call_SHRINK_VOLUME Call_Type = 35 // Retrieves the cluster's maintenance status. Call_GET_MAINTENANCE_STATUS Call_Type = 23 // Retrieves the cluster's maintenance schedule. @@ -105,6 +108,7 @@ var Call_Type_name = map[int32]string{ 10: "GET_AGENTS", 11: "GET_FRAMEWORKS", 12: "GET_EXECUTORS", + 33: "GET_OPERATIONS", 13: "GET_TASKS", 14: "GET_ROLES", 15: "GET_WEIGHTS", @@ -115,6 +119,8 @@ var Call_Type_name = map[int32]string{ 20: "UNRESERVE_RESOURCES", 21: "CREATE_VOLUMES", 22: "DESTROY_VOLUMES", + 34: "GROW_VOLUME", + 35: "SHRINK_VOLUME", 23: "GET_MAINTENANCE_STATUS", 24: "GET_MAINTENANCE_SCHEDULE", 25: "UPDATE_MAINTENANCE_SCHEDULE", @@ -140,6 +146,7 @@ var Call_Type_value = map[string]int32{ "GET_AGENTS": 10, "GET_FRAMEWORKS": 11, "GET_EXECUTORS": 12, + "GET_OPERATIONS": 33, "GET_TASKS": 13, "GET_ROLES": 14, "GET_WEIGHTS": 15, @@ -150,6 +157,8 @@ var Call_Type_value = map[string]int32{ "UNRESERVE_RESOURCES": 20, "CREATE_VOLUMES": 21, "DESTROY_VOLUMES": 22, + "GROW_VOLUME": 34, + "SHRINK_VOLUME": 35, "GET_MAINTENANCE_STATUS": 23, "GET_MAINTENANCE_SCHEDULE": 24, "UPDATE_MAINTENANCE_SCHEDULE": 25, @@ -196,6 +205,7 @@ const ( Response_GET_AGENTS Response_Type = 9 Response_GET_FRAMEWORKS Response_Type = 10 Response_GET_EXECUTORS Response_Type = 11 + Response_GET_OPERATIONS Response_Type = 19 Response_GET_TASKS Response_Type = 12 Response_GET_ROLES Response_Type = 13 Response_GET_WEIGHTS Response_Type = 14 @@ -218,6 +228,7 @@ var Response_Type_name = map[int32]string{ 9: "GET_AGENTS", 10: "GET_FRAMEWORKS", 11: "GET_EXECUTORS", + 19: "GET_OPERATIONS", 12: "GET_TASKS", 13: "GET_ROLES", 14: "GET_WEIGHTS", @@ -239,6 +250,7 @@ var Response_Type_value = map[string]int32{ "GET_AGENTS": 9, "GET_FRAMEWORKS": 10, "GET_EXECUTORS": 11, + "GET_OPERATIONS": 19, "GET_TASKS": 12, "GET_ROLES": 13, "GET_WEIGHTS": 14, @@ -348,6 +360,8 @@ type Call struct { UnreserveResources *Call_UnreserveResources `protobuf:"bytes,8,opt,name=unreserve_resources,json=unreserveResources" json:"unreserve_resources,omitempty"` CreateVolumes *Call_CreateVolumes `protobuf:"bytes,9,opt,name=create_volumes,json=createVolumes" json:"create_volumes,omitempty"` DestroyVolumes *Call_DestroyVolumes `protobuf:"bytes,10,opt,name=destroy_volumes,json=destroyVolumes" json:"destroy_volumes,omitempty"` + GrowVolume *Call_GrowVolume `protobuf:"bytes,18,opt,name=grow_volume,json=growVolume" json:"grow_volume,omitempty"` + ShrinkVolume *Call_ShrinkVolume `protobuf:"bytes,19,opt,name=shrink_volume,json=shrinkVolume" json:"shrink_volume,omitempty"` UpdateMaintenanceSchedule *Call_UpdateMaintenanceSchedule `protobuf:"bytes,11,opt,name=update_maintenance_schedule,json=updateMaintenanceSchedule" json:"update_maintenance_schedule,omitempty"` StartMaintenance *Call_StartMaintenance `protobuf:"bytes,12,opt,name=start_maintenance,json=startMaintenance" json:"start_maintenance,omitempty"` StopMaintenance *Call_StopMaintenance `protobuf:"bytes,13,opt,name=stop_maintenance,json=stopMaintenance" json:"stop_maintenance,omitempty"` @@ -431,6 +445,20 @@ func (m *Call) GetDestroyVolumes() *Call_DestroyVolumes { return nil } +func (m *Call) GetGrowVolume() *Call_GrowVolume { + if m != nil { + return m.GrowVolume + } + return nil +} + +func (m *Call) GetShrinkVolume() *Call_ShrinkVolume { + if m != nil { + return m.ShrinkVolume + } + return nil +} + func (m *Call) GetUpdateMaintenanceSchedule() *Call_UpdateMaintenanceSchedule { if m != nil { return m.UpdateMaintenanceSchedule @@ -699,6 +727,79 @@ func (m *Call_DestroyVolumes) GetVolumes() []mesos.Resource { return nil } +// Grow a volume by an additional disk resource. +// NOTE: This is currently experimental and only for persistent volumes +// created on ROOT/PATH disks. +type Call_GrowVolume struct { + // `agent_id` must be set if `volume` is an agent-local resource, and must + // be unset if `volume` is an external resource. + AgentID *mesos.AgentID `protobuf:"bytes,1,opt,name=agent_id,json=agentId" json:"agent_id,omitempty"` + Volume mesos.Resource `protobuf:"bytes,2,req,name=volume" json:"volume"` + Addition mesos.Resource `protobuf:"bytes,3,req,name=addition" json:"addition"` +} + +func (m *Call_GrowVolume) Reset() { *m = Call_GrowVolume{} } +func (*Call_GrowVolume) ProtoMessage() {} +func (*Call_GrowVolume) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{0, 9} } + +func (m *Call_GrowVolume) GetAgentID() *mesos.AgentID { + if m != nil { + return m.AgentID + } + return nil +} + +func (m *Call_GrowVolume) GetVolume() mesos.Resource { + if m != nil { + return m.Volume + } + return mesos.Resource{} +} + +func (m *Call_GrowVolume) GetAddition() mesos.Resource { + if m != nil { + return m.Addition + } + return mesos.Resource{} +} + +// Shrink a volume by the size specified in the `subtract` field. +// NOTE: This is currently experimental and only for persistent volumes +// created on ROOT/PATH disks. +type Call_ShrinkVolume struct { + // `agent_id` must be set if `volume` is an agent-local resource, and must + // be unset if `volume` is an external resource. + AgentID *mesos.AgentID `protobuf:"bytes,1,opt,name=agent_id,json=agentId" json:"agent_id,omitempty"` + Volume mesos.Resource `protobuf:"bytes,2,req,name=volume" json:"volume"` + // See comments in `Value.Scalar` for maximum precision supported. + Subtract mesos.Value_Scalar `protobuf:"bytes,3,req,name=subtract" json:"subtract"` +} + +func (m *Call_ShrinkVolume) Reset() { *m = Call_ShrinkVolume{} } +func (*Call_ShrinkVolume) ProtoMessage() {} +func (*Call_ShrinkVolume) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{0, 10} } + +func (m *Call_ShrinkVolume) GetAgentID() *mesos.AgentID { + if m != nil { + return m.AgentID + } + return nil +} + +func (m *Call_ShrinkVolume) GetVolume() mesos.Resource { + if m != nil { + return m.Volume + } + return mesos.Resource{} +} + +func (m *Call_ShrinkVolume) GetSubtract() mesos.Value_Scalar { + if m != nil { + return m.Subtract + } + return mesos.Value_Scalar{} +} + // Updates the cluster's maintenance schedule. type Call_UpdateMaintenanceSchedule struct { Schedule mesos_maintenance.Schedule `protobuf:"bytes,1,req,name=schedule" json:"schedule"` @@ -707,7 +808,7 @@ type Call_UpdateMaintenanceSchedule struct { func (m *Call_UpdateMaintenanceSchedule) Reset() { *m = Call_UpdateMaintenanceSchedule{} } func (*Call_UpdateMaintenanceSchedule) ProtoMessage() {} func (*Call_UpdateMaintenanceSchedule) Descriptor() ([]byte, []int) { - return fileDescriptorMaster, []int{0, 9} + return fileDescriptorMaster, []int{0, 11} } func (m *Call_UpdateMaintenanceSchedule) GetSchedule() mesos_maintenance.Schedule { @@ -725,7 +826,7 @@ type Call_StartMaintenance struct { func (m *Call_StartMaintenance) Reset() { *m = Call_StartMaintenance{} } func (*Call_StartMaintenance) ProtoMessage() {} -func (*Call_StartMaintenance) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{0, 10} } +func (*Call_StartMaintenance) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{0, 12} } func (m *Call_StartMaintenance) GetMachines() []mesos.MachineID { if m != nil { @@ -742,7 +843,7 @@ type Call_StopMaintenance struct { func (m *Call_StopMaintenance) Reset() { *m = Call_StopMaintenance{} } func (*Call_StopMaintenance) ProtoMessage() {} -func (*Call_StopMaintenance) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{0, 11} } +func (*Call_StopMaintenance) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{0, 13} } func (m *Call_StopMaintenance) GetMachines() []mesos.MachineID { if m != nil { @@ -758,7 +859,7 @@ type Call_SetQuota struct { func (m *Call_SetQuota) Reset() { *m = Call_SetQuota{} } func (*Call_SetQuota) ProtoMessage() {} -func (*Call_SetQuota) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{0, 12} } +func (*Call_SetQuota) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{0, 14} } func (m *Call_SetQuota) GetQuotaRequest() mesos_quota.QuotaRequest { if m != nil { @@ -773,7 +874,7 @@ type Call_RemoveQuota struct { func (m *Call_RemoveQuota) Reset() { *m = Call_RemoveQuota{} } func (*Call_RemoveQuota) ProtoMessage() {} -func (*Call_RemoveQuota) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{0, 13} } +func (*Call_RemoveQuota) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{0, 15} } func (m *Call_RemoveQuota) GetRole() string { if m != nil { @@ -790,7 +891,7 @@ type Call_Teardown struct { func (m *Call_Teardown) Reset() { *m = Call_Teardown{} } func (*Call_Teardown) ProtoMessage() {} -func (*Call_Teardown) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{0, 14} } +func (*Call_Teardown) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{0, 16} } func (m *Call_Teardown) GetFrameworkID() mesos.FrameworkID { if m != nil { @@ -809,14 +910,14 @@ func (m *Call_Teardown) GetFrameworkID() mesos.FrameworkID { // NOTE: It is possible that the tasks might still be running // if the operator's assertion was wrong and the agent was partitioned // away from the master. The agent would be shutdown when it tries to -// re-register with the master when the partition heals. +// reregister with the master when the partition heals. type Call_MarkAgentGone struct { AgentID mesos.AgentID `protobuf:"bytes,1,req,name=agent_id,json=agentId" json:"agent_id"` } func (m *Call_MarkAgentGone) Reset() { *m = Call_MarkAgentGone{} } func (*Call_MarkAgentGone) ProtoMessage() {} -func (*Call_MarkAgentGone) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{0, 15} } +func (*Call_MarkAgentGone) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{0, 17} } func (m *Call_MarkAgentGone) GetAgentID() mesos.AgentID { if m != nil { @@ -841,6 +942,7 @@ type Response struct { GetAgents *Response_GetAgents `protobuf:"bytes,10,opt,name=get_agents,json=getAgents" json:"get_agents,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,20,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"` GetRoles *Response_GetRoles `protobuf:"bytes,14,opt,name=get_roles,json=getRoles" json:"get_roles,omitempty"` GetWeights *Response_GetWeights `protobuf:"bytes,15,opt,name=get_weights,json=getWeights" json:"get_weights,omitempty"` @@ -938,6 +1040,13 @@ func (m *Response) GetGetExecutors() *Response_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 @@ -1278,6 +1387,7 @@ func (m *Response_GetAgents_Agent) GetResourceProviders() []Response_GetAgents_A type Response_GetAgents_Agent_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_GetAgents_Agent_ResourceProvider) Reset() { @@ -1295,6 +1405,13 @@ func (m *Response_GetAgents_Agent_ResourceProvider) GetResourceProviderInfo() me return mesos.ResourceProviderInfo{} } +func (m *Response_GetAgents_Agent_ResourceProvider) GetTotalResources() []mesos.Resource { + if m != nil { + return m.TotalResources + } + return nil +} + // Information about all the frameworks known to the master at the current // time. Note that there might be frameworks unknown to the master running // on partitioned or unsubscribed agents. @@ -1346,7 +1463,7 @@ type Response_GetFrameworks_Framework struct { // If true, this framework was previously subscribed but hasn't // yet re-subscribed after a master failover. Recovered frameworks // are only reported if one or more agents running a task or - // executor for the framework have re-registered after master + // executor for the framework have reregistered after master // failover. Recovered bool `protobuf:"varint,11,req,name=recovered" json:"recovered"` RegisteredTime *mesos.TimeInfo `protobuf:"bytes,4,opt,name=registered_time,json=registeredTime" json:"registered_time,omitempty"` @@ -1495,6 +1612,23 @@ func (m *Response_GetExecutors_Executor) GetAgentID() mesos.AgentID { return mesos.AgentID{} } +// Lists information about all operations known to the master 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 fileDescriptorMaster, []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 master at the current // time. Note that there might be tasks unknown to the master running on // partitioned or unsubscribed agents. @@ -1525,7 +1659,7 @@ type Response_GetTasks struct { func (m *Response_GetTasks) Reset() { *m = Response_GetTasks{} } func (*Response_GetTasks) ProtoMessage() {} -func (*Response_GetTasks) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{1, 11} } +func (*Response_GetTasks) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{1, 12} } func (m *Response_GetTasks) GetPendingTasks() []mesos.Task { if m != nil { @@ -1571,7 +1705,7 @@ type Response_GetRoles struct { func (m *Response_GetRoles) Reset() { *m = Response_GetRoles{} } func (*Response_GetRoles) ProtoMessage() {} -func (*Response_GetRoles) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{1, 12} } +func (*Response_GetRoles) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{1, 13} } func (m *Response_GetRoles) GetRoles() []mesos.Role { if m != nil { @@ -1587,7 +1721,7 @@ type Response_GetWeights struct { func (m *Response_GetWeights) Reset() { *m = Response_GetWeights{} } func (*Response_GetWeights) ProtoMessage() {} -func (*Response_GetWeights) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{1, 13} } +func (*Response_GetWeights) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{1, 14} } func (m *Response_GetWeights) GetWeightInfos() []mesos.WeightInfo { if m != nil { @@ -1605,7 +1739,7 @@ type Response_GetMaster struct { func (m *Response_GetMaster) Reset() { *m = Response_GetMaster{} } func (*Response_GetMaster) ProtoMessage() {} -func (*Response_GetMaster) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{1, 14} } +func (*Response_GetMaster) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{1, 15} } func (m *Response_GetMaster) GetMasterInfo() *mesos.MasterInfo { if m != nil { @@ -1636,7 +1770,7 @@ type Response_GetMaintenanceStatus struct { func (m *Response_GetMaintenanceStatus) Reset() { *m = Response_GetMaintenanceStatus{} } func (*Response_GetMaintenanceStatus) ProtoMessage() {} func (*Response_GetMaintenanceStatus) Descriptor() ([]byte, []int) { - return fileDescriptorMaster, []int{1, 15} + return fileDescriptorMaster, []int{1, 16} } func (m *Response_GetMaintenanceStatus) GetStatus() mesos_maintenance.ClusterStatus { @@ -1654,7 +1788,7 @@ type Response_GetMaintenanceSchedule struct { func (m *Response_GetMaintenanceSchedule) Reset() { *m = Response_GetMaintenanceSchedule{} } func (*Response_GetMaintenanceSchedule) ProtoMessage() {} func (*Response_GetMaintenanceSchedule) Descriptor() ([]byte, []int) { - return fileDescriptorMaster, []int{1, 16} + return fileDescriptorMaster, []int{1, 17} } func (m *Response_GetMaintenanceSchedule) GetSchedule() mesos_maintenance.Schedule { @@ -1671,7 +1805,7 @@ type Response_GetQuota struct { func (m *Response_GetQuota) Reset() { *m = Response_GetQuota{} } func (*Response_GetQuota) ProtoMessage() {} -func (*Response_GetQuota) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{1, 17} } +func (*Response_GetQuota) Descriptor() ([]byte, []int) { return fileDescriptorMaster, []int{1, 18} } func (m *Response_GetQuota) GetStatus() mesos_quota.QuotaStatus { if m != nil { @@ -1859,7 +1993,7 @@ func (m *Event_FrameworkAdded) GetFramework() Response_GetFrameworks_Framework { return Response_GetFrameworks_Framework{} } -// Forwarded by the master when a framework re-registers with the master +// Forwarded by the master when a framework reregisters with the master // upon a disconnection (network error) or upon a master failover. type Event_FrameworkUpdated struct { Framework Response_GetFrameworks_Framework `protobuf:"bytes,1,req,name=framework" json:"framework"` @@ -1878,7 +2012,7 @@ func (m *Event_FrameworkUpdated) GetFramework() Response_GetFrameworks_Framework // Forwarded by the master when a framework is removed. This can happen when // a framework is explicitly teardown by the operator or if it fails to -// re-register with the master within the failover timeout. +// reregister with the master within the failover timeout. type Event_FrameworkRemoved struct { FrameworkInfo mesos.FrameworkInfo `protobuf:"bytes,1,req,name=framework_info,json=frameworkInfo" json:"framework_info"` } @@ -1945,6 +2079,8 @@ func init() { proto.RegisterType((*Call_UnreserveResources)(nil), "mesos.master.Call.UnreserveResources") proto.RegisterType((*Call_CreateVolumes)(nil), "mesos.master.Call.CreateVolumes") proto.RegisterType((*Call_DestroyVolumes)(nil), "mesos.master.Call.DestroyVolumes") + proto.RegisterType((*Call_GrowVolume)(nil), "mesos.master.Call.GrowVolume") + proto.RegisterType((*Call_ShrinkVolume)(nil), "mesos.master.Call.ShrinkVolume") proto.RegisterType((*Call_UpdateMaintenanceSchedule)(nil), "mesos.master.Call.UpdateMaintenanceSchedule") proto.RegisterType((*Call_StartMaintenance)(nil), "mesos.master.Call.StartMaintenance") proto.RegisterType((*Call_StopMaintenance)(nil), "mesos.master.Call.StopMaintenance") @@ -1968,6 +2104,7 @@ func init() { proto.RegisterType((*Response_GetFrameworks_Framework)(nil), "mesos.master.Response.GetFrameworks.Framework") proto.RegisterType((*Response_GetExecutors)(nil), "mesos.master.Response.GetExecutors") proto.RegisterType((*Response_GetExecutors_Executor)(nil), "mesos.master.Response.GetExecutors.Executor") + proto.RegisterType((*Response_GetOperations)(nil), "mesos.master.Response.GetOperations") proto.RegisterType((*Response_GetTasks)(nil), "mesos.master.Response.GetTasks") proto.RegisterType((*Response_GetRoles)(nil), "mesos.master.Response.GetRoles") proto.RegisterType((*Response_GetWeights)(nil), "mesos.master.Response.GetWeights") @@ -2064,6 +2201,12 @@ func (this *Call) VerboseEqual(that interface{}) error { if !this.DestroyVolumes.Equal(that1.DestroyVolumes) { return fmt.Errorf("DestroyVolumes this(%v) Not Equal that(%v)", this.DestroyVolumes, that1.DestroyVolumes) } + if !this.GrowVolume.Equal(that1.GrowVolume) { + return fmt.Errorf("GrowVolume this(%v) Not Equal that(%v)", this.GrowVolume, that1.GrowVolume) + } + if !this.ShrinkVolume.Equal(that1.ShrinkVolume) { + return fmt.Errorf("ShrinkVolume this(%v) Not Equal that(%v)", this.ShrinkVolume, that1.ShrinkVolume) + } if !this.UpdateMaintenanceSchedule.Equal(that1.UpdateMaintenanceSchedule) { return fmt.Errorf("UpdateMaintenanceSchedule this(%v) Not Equal that(%v)", this.UpdateMaintenanceSchedule, that1.UpdateMaintenanceSchedule) } @@ -2142,6 +2285,12 @@ func (this *Call) Equal(that interface{}) bool { if !this.DestroyVolumes.Equal(that1.DestroyVolumes) { return false } + if !this.GrowVolume.Equal(that1.GrowVolume) { + return false + } + if !this.ShrinkVolume.Equal(that1.ShrinkVolume) { + return false + } if !this.UpdateMaintenanceSchedule.Equal(that1.UpdateMaintenanceSchedule) { return false } @@ -2809,6 +2958,150 @@ func (this *Call_DestroyVolumes) Equal(that interface{}) bool { } return true } +func (this *Call_GrowVolume) VerboseEqual(that interface{}) error { + if that == nil { + if this == nil { + return nil + } + return fmt.Errorf("that == nil && this != nil") + } + + that1, ok := that.(*Call_GrowVolume) + if !ok { + that2, ok := that.(Call_GrowVolume) + if ok { + that1 = &that2 + } else { + return fmt.Errorf("that is not of type *Call_GrowVolume") + } + } + if that1 == nil { + if this == nil { + return nil + } + return fmt.Errorf("that is type *Call_GrowVolume but is nil && this != nil") + } else if this == nil { + return fmt.Errorf("that is type *Call_GrowVolume but is not nil && this == nil") + } + if !this.AgentID.Equal(that1.AgentID) { + return fmt.Errorf("AgentID this(%v) Not Equal that(%v)", this.AgentID, that1.AgentID) + } + if !this.Volume.Equal(&that1.Volume) { + return fmt.Errorf("Volume this(%v) Not Equal that(%v)", this.Volume, that1.Volume) + } + if !this.Addition.Equal(&that1.Addition) { + return fmt.Errorf("Addition this(%v) Not Equal that(%v)", this.Addition, that1.Addition) + } + return nil +} +func (this *Call_GrowVolume) Equal(that interface{}) bool { + if that == nil { + if this == nil { + return true + } + return false + } + + that1, ok := that.(*Call_GrowVolume) + if !ok { + that2, ok := that.(Call_GrowVolume) + 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.AgentID.Equal(that1.AgentID) { + return false + } + if !this.Volume.Equal(&that1.Volume) { + return false + } + if !this.Addition.Equal(&that1.Addition) { + return false + } + return true +} +func (this *Call_ShrinkVolume) VerboseEqual(that interface{}) error { + if that == nil { + if this == nil { + return nil + } + return fmt.Errorf("that == nil && this != nil") + } + + that1, ok := that.(*Call_ShrinkVolume) + if !ok { + that2, ok := that.(Call_ShrinkVolume) + if ok { + that1 = &that2 + } else { + return fmt.Errorf("that is not of type *Call_ShrinkVolume") + } + } + if that1 == nil { + if this == nil { + return nil + } + return fmt.Errorf("that is type *Call_ShrinkVolume but is nil && this != nil") + } else if this == nil { + return fmt.Errorf("that is type *Call_ShrinkVolume but is not nil && this == nil") + } + if !this.AgentID.Equal(that1.AgentID) { + return fmt.Errorf("AgentID this(%v) Not Equal that(%v)", this.AgentID, that1.AgentID) + } + if !this.Volume.Equal(&that1.Volume) { + return fmt.Errorf("Volume this(%v) Not Equal that(%v)", this.Volume, that1.Volume) + } + if !this.Subtract.Equal(&that1.Subtract) { + return fmt.Errorf("Subtract this(%v) Not Equal that(%v)", this.Subtract, that1.Subtract) + } + return nil +} +func (this *Call_ShrinkVolume) Equal(that interface{}) bool { + if that == nil { + if this == nil { + return true + } + return false + } + + that1, ok := that.(*Call_ShrinkVolume) + if !ok { + that2, ok := that.(Call_ShrinkVolume) + 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.AgentID.Equal(that1.AgentID) { + return false + } + if !this.Volume.Equal(&that1.Volume) { + return false + } + if !this.Subtract.Equal(&that1.Subtract) { + return false + } + return true +} func (this *Call_UpdateMaintenanceSchedule) VerboseEqual(that interface{}) error { if that == nil { if this == nil { @@ -3310,6 +3603,9 @@ func (this *Response) VerboseEqual(that interface{}) error { 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) } @@ -3394,6 +3690,9 @@ func (this *Response) Equal(that interface{}) bool { if !this.GetExecutors.Equal(that1.GetExecutors) { return false } + if !this.GetOperations.Equal(that1.GetOperations) { + return false + } if !this.GetTasks.Equal(that1.GetTasks) { return false } @@ -4247,6 +4546,14 @@ func (this *Response_GetAgents_Agent_ResourceProvider) VerboseEqual(that interfa 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_GetAgents_Agent_ResourceProvider) Equal(that interface{}) bool { @@ -4277,6 +4584,14 @@ func (this *Response_GetAgents_Agent_ResourceProvider) Equal(that interface{}) b 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_GetFrameworks) VerboseEqual(that interface{}) error { @@ -4693,6 +5008,76 @@ func (this *Response_GetExecutors_Executor) Equal(that interface{}) bool { } 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 { @@ -5877,7 +6262,7 @@ func (this *Call) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 21) + s := make([]string, 0, 23) s = append(s, "&master.Call{") s = append(s, "Type: "+fmt.Sprintf("%#v", this.Type)+",\n") if this.GetMetrics != nil { @@ -5907,6 +6292,12 @@ func (this *Call) GoString() string { if this.DestroyVolumes != nil { s = append(s, "DestroyVolumes: "+fmt.Sprintf("%#v", this.DestroyVolumes)+",\n") } + if this.GrowVolume != nil { + s = append(s, "GrowVolume: "+fmt.Sprintf("%#v", this.GrowVolume)+",\n") + } + if this.ShrinkVolume != nil { + s = append(s, "ShrinkVolume: "+fmt.Sprintf("%#v", this.ShrinkVolume)+",\n") + } if this.UpdateMaintenanceSchedule != nil { s = append(s, "UpdateMaintenanceSchedule: "+fmt.Sprintf("%#v", this.UpdateMaintenanceSchedule)+",\n") } @@ -6042,6 +6433,34 @@ func (this *Call_DestroyVolumes) GoString() string { s = append(s, "}") return strings.Join(s, "") } +func (this *Call_GrowVolume) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 7) + s = append(s, "&master.Call_GrowVolume{") + if this.AgentID != nil { + s = append(s, "AgentID: "+fmt.Sprintf("%#v", this.AgentID)+",\n") + } + s = append(s, "Volume: "+strings.Replace(this.Volume.GoString(), `&`, ``, 1)+",\n") + s = append(s, "Addition: "+strings.Replace(this.Addition.GoString(), `&`, ``, 1)+",\n") + s = append(s, "}") + return strings.Join(s, "") +} +func (this *Call_ShrinkVolume) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 7) + s = append(s, "&master.Call_ShrinkVolume{") + if this.AgentID != nil { + s = append(s, "AgentID: "+fmt.Sprintf("%#v", this.AgentID)+",\n") + } + s = append(s, "Volume: "+strings.Replace(this.Volume.GoString(), `&`, ``, 1)+",\n") + s = append(s, "Subtract: "+strings.Replace(this.Subtract.GoString(), `&`, ``, 1)+",\n") + s = append(s, "}") + return strings.Join(s, "") +} func (this *Call_UpdateMaintenanceSchedule) GoString() string { if this == nil { return "nil" @@ -6120,7 +6539,7 @@ func (this *Response) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 23) + s := make([]string, 0, 24) s = append(s, "&master.Response{") s = append(s, "Type: "+fmt.Sprintf("%#v", this.Type)+",\n") if this.GetHealth != nil { @@ -6156,6 +6575,9 @@ func (this *Response) GoString() string { 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") } @@ -6335,9 +6757,12 @@ func (this *Response_GetAgents_Agent_ResourceProvider) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 5) + s := make([]string, 0, 6) s = append(s, "&master.Response_GetAgents_Agent_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, "") } @@ -6419,6 +6844,18 @@ func (this *Response_GetExecutors_Executor) GoString() string { 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, "&master.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" @@ -6828,6 +7265,30 @@ func (m *Call) MarshalTo(dAtA []byte) (int, error) { } i += n16 } + if m.GrowVolume != nil { + dAtA[i] = 0x92 + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintMaster(dAtA, i, uint64(m.GrowVolume.ProtoSize())) + n17, err := m.GrowVolume.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n17 + } + if m.ShrinkVolume != nil { + dAtA[i] = 0x9a + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintMaster(dAtA, i, uint64(m.ShrinkVolume.ProtoSize())) + n18, err := m.ShrinkVolume.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n18 + } return i, nil } @@ -6850,11 +7311,11 @@ func (m *Call_GetMetrics) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.Timeout.ProtoSize())) - n17, err := m.Timeout.MarshalTo(dAtA[i:]) + n19, err := m.Timeout.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n17 + i += n19 } return i, nil } @@ -6880,11 +7341,11 @@ func (m *Call_SetLoggingLevel) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintMaster(dAtA, i, uint64(m.Duration.ProtoSize())) - n18, err := m.Duration.MarshalTo(dAtA[i:]) + n20, err := m.Duration.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n18 + i += n20 return i, nil } @@ -6988,11 +7449,11 @@ func (m *Call_ReserveResources) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.AgentID.ProtoSize())) - n19, err := m.AgentID.MarshalTo(dAtA[i:]) + n21, err := m.AgentID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n19 + i += n21 if len(m.Resources) > 0 { for _, msg := range m.Resources { dAtA[i] = 0x12 @@ -7026,11 +7487,11 @@ func (m *Call_UnreserveResources) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.AgentID.ProtoSize())) - n20, err := m.AgentID.MarshalTo(dAtA[i:]) + n22, err := m.AgentID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n20 + i += n22 if len(m.Resources) > 0 { for _, msg := range m.Resources { dAtA[i] = 0x12 @@ -7064,11 +7525,11 @@ func (m *Call_CreateVolumes) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.AgentID.ProtoSize())) - n21, err := m.AgentID.MarshalTo(dAtA[i:]) + n23, err := m.AgentID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n21 + i += n23 if len(m.Volumes) > 0 { for _, msg := range m.Volumes { dAtA[i] = 0x12 @@ -7102,11 +7563,11 @@ func (m *Call_DestroyVolumes) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.AgentID.ProtoSize())) - n22, err := m.AgentID.MarshalTo(dAtA[i:]) + n24, err := m.AgentID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n22 + i += n24 if len(m.Volumes) > 0 { for _, msg := range m.Volumes { dAtA[i] = 0x12 @@ -7122,6 +7583,94 @@ func (m *Call_DestroyVolumes) MarshalTo(dAtA []byte) (int, error) { return i, nil } +func (m *Call_GrowVolume) 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_GrowVolume) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.AgentID != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintMaster(dAtA, i, uint64(m.AgentID.ProtoSize())) + n25, err := m.AgentID.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n25 + } + dAtA[i] = 0x12 + i++ + i = encodeVarintMaster(dAtA, i, uint64(m.Volume.ProtoSize())) + n26, err := m.Volume.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n26 + dAtA[i] = 0x1a + i++ + i = encodeVarintMaster(dAtA, i, uint64(m.Addition.ProtoSize())) + n27, err := m.Addition.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n27 + return i, nil +} + +func (m *Call_ShrinkVolume) 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_ShrinkVolume) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.AgentID != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintMaster(dAtA, i, uint64(m.AgentID.ProtoSize())) + n28, err := m.AgentID.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n28 + } + dAtA[i] = 0x12 + i++ + i = encodeVarintMaster(dAtA, i, uint64(m.Volume.ProtoSize())) + n29, err := m.Volume.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n29 + dAtA[i] = 0x1a + i++ + i = encodeVarintMaster(dAtA, i, uint64(m.Subtract.ProtoSize())) + n30, err := m.Subtract.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n30 + return i, nil +} + func (m *Call_UpdateMaintenanceSchedule) Marshal() (dAtA []byte, err error) { size := m.ProtoSize() dAtA = make([]byte, size) @@ -7140,11 +7689,11 @@ func (m *Call_UpdateMaintenanceSchedule) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.Schedule.ProtoSize())) - n23, err := m.Schedule.MarshalTo(dAtA[i:]) + n31, err := m.Schedule.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n23 + i += n31 return i, nil } @@ -7226,11 +7775,11 @@ func (m *Call_SetQuota) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.QuotaRequest.ProtoSize())) - n24, err := m.QuotaRequest.MarshalTo(dAtA[i:]) + n32, err := m.QuotaRequest.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n24 + i += n32 return i, nil } @@ -7274,11 +7823,11 @@ func (m *Call_Teardown) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.FrameworkID.ProtoSize())) - n25, err := m.FrameworkID.MarshalTo(dAtA[i:]) + n33, err := m.FrameworkID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n25 + i += n33 return i, nil } @@ -7300,11 +7849,11 @@ func (m *Call_MarkAgentGone) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.AgentID.ProtoSize())) - n26, err := m.AgentID.MarshalTo(dAtA[i:]) + n34, err := m.AgentID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n26 + i += n34 return i, nil } @@ -7330,141 +7879,141 @@ func (m *Response) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintMaster(dAtA, i, uint64(m.GetHealth.ProtoSize())) - n27, err := m.GetHealth.MarshalTo(dAtA[i:]) + n35, err := m.GetHealth.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n27 + i += n35 } if m.GetFlags != nil { dAtA[i] = 0x1a i++ i = encodeVarintMaster(dAtA, i, uint64(m.GetFlags.ProtoSize())) - n28, err := m.GetFlags.MarshalTo(dAtA[i:]) + n36, err := m.GetFlags.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n28 + i += n36 } if m.GetVersion != nil { dAtA[i] = 0x22 i++ i = encodeVarintMaster(dAtA, i, uint64(m.GetVersion.ProtoSize())) - n29, err := m.GetVersion.MarshalTo(dAtA[i:]) + n37, err := m.GetVersion.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n29 + i += n37 } if m.GetMetrics != nil { dAtA[i] = 0x2a i++ i = encodeVarintMaster(dAtA, i, uint64(m.GetMetrics.ProtoSize())) - n30, err := m.GetMetrics.MarshalTo(dAtA[i:]) + n38, err := m.GetMetrics.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n30 + i += n38 } if m.GetLoggingLevel != nil { dAtA[i] = 0x32 i++ i = encodeVarintMaster(dAtA, i, uint64(m.GetLoggingLevel.ProtoSize())) - n31, err := m.GetLoggingLevel.MarshalTo(dAtA[i:]) + n39, err := m.GetLoggingLevel.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n31 + i += n39 } if m.ListFiles != nil { dAtA[i] = 0x3a i++ i = encodeVarintMaster(dAtA, i, uint64(m.ListFiles.ProtoSize())) - n32, err := m.ListFiles.MarshalTo(dAtA[i:]) + n40, err := m.ListFiles.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n32 + i += n40 } if m.ReadFile != nil { dAtA[i] = 0x42 i++ i = encodeVarintMaster(dAtA, i, uint64(m.ReadFile.ProtoSize())) - n33, err := m.ReadFile.MarshalTo(dAtA[i:]) + n41, err := m.ReadFile.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n33 + i += n41 } if m.GetState != nil { dAtA[i] = 0x4a i++ i = encodeVarintMaster(dAtA, i, uint64(m.GetState.ProtoSize())) - n34, err := m.GetState.MarshalTo(dAtA[i:]) + n42, err := m.GetState.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n34 + i += n42 } if m.GetAgents != nil { dAtA[i] = 0x52 i++ i = encodeVarintMaster(dAtA, i, uint64(m.GetAgents.ProtoSize())) - n35, err := m.GetAgents.MarshalTo(dAtA[i:]) + n43, err := m.GetAgents.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n35 + i += n43 } if m.GetFrameworks != nil { dAtA[i] = 0x5a i++ i = encodeVarintMaster(dAtA, i, uint64(m.GetFrameworks.ProtoSize())) - n36, err := m.GetFrameworks.MarshalTo(dAtA[i:]) + n44, err := m.GetFrameworks.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n36 + i += n44 } if m.GetExecutors != nil { dAtA[i] = 0x62 i++ i = encodeVarintMaster(dAtA, i, uint64(m.GetExecutors.ProtoSize())) - n37, err := m.GetExecutors.MarshalTo(dAtA[i:]) + n45, err := m.GetExecutors.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n37 + i += n45 } if m.GetTasks != nil { dAtA[i] = 0x6a i++ i = encodeVarintMaster(dAtA, i, uint64(m.GetTasks.ProtoSize())) - n38, err := m.GetTasks.MarshalTo(dAtA[i:]) + n46, err := m.GetTasks.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n38 + i += n46 } if m.GetRoles != nil { dAtA[i] = 0x72 i++ i = encodeVarintMaster(dAtA, i, uint64(m.GetRoles.ProtoSize())) - n39, err := m.GetRoles.MarshalTo(dAtA[i:]) + n47, err := m.GetRoles.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n39 + i += n47 } if m.GetWeights != nil { dAtA[i] = 0x7a i++ i = encodeVarintMaster(dAtA, i, uint64(m.GetWeights.ProtoSize())) - n40, err := m.GetWeights.MarshalTo(dAtA[i:]) + n48, err := m.GetWeights.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n40 + i += n48 } if m.GetMaster != nil { dAtA[i] = 0x82 @@ -7472,11 +8021,11 @@ func (m *Response) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintMaster(dAtA, i, uint64(m.GetMaster.ProtoSize())) - n41, err := m.GetMaster.MarshalTo(dAtA[i:]) + n49, err := m.GetMaster.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n41 + i += n49 } if m.GetMaintenanceStatus != nil { dAtA[i] = 0x8a @@ -7484,11 +8033,11 @@ func (m *Response) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintMaster(dAtA, i, uint64(m.GetMaintenanceStatus.ProtoSize())) - n42, err := m.GetMaintenanceStatus.MarshalTo(dAtA[i:]) + n50, err := m.GetMaintenanceStatus.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n42 + i += n50 } if m.GetMaintenanceSchedule != nil { dAtA[i] = 0x92 @@ -7496,11 +8045,11 @@ func (m *Response) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintMaster(dAtA, i, uint64(m.GetMaintenanceSchedule.ProtoSize())) - n43, err := m.GetMaintenanceSchedule.MarshalTo(dAtA[i:]) + n51, err := m.GetMaintenanceSchedule.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n43 + i += n51 } if m.GetQuota != nil { dAtA[i] = 0x9a @@ -7508,11 +8057,23 @@ func (m *Response) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintMaster(dAtA, i, uint64(m.GetQuota.ProtoSize())) - n44, err := m.GetQuota.MarshalTo(dAtA[i:]) + n52, err := m.GetQuota.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n44 + i += n52 + } + if m.GetOperations != nil { + dAtA[i] = 0xa2 + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintMaster(dAtA, i, uint64(m.GetOperations.ProtoSize())) + n53, err := m.GetOperations.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n53 } return i, nil } @@ -7591,11 +8152,11 @@ func (m *Response_GetVersion) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.VersionInfo.ProtoSize())) - n45, err := m.VersionInfo.MarshalTo(dAtA[i:]) + n54, err := m.VersionInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n45 + i += n54 return i, nil } @@ -7728,41 +8289,41 @@ func (m *Response_GetState) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.GetTasks.ProtoSize())) - n46, err := m.GetTasks.MarshalTo(dAtA[i:]) + n55, err := m.GetTasks.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n46 + i += n55 } if m.GetExecutors != nil { dAtA[i] = 0x12 i++ i = encodeVarintMaster(dAtA, i, uint64(m.GetExecutors.ProtoSize())) - n47, err := m.GetExecutors.MarshalTo(dAtA[i:]) + n56, err := m.GetExecutors.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n47 + i += n56 } if m.GetFrameworks != nil { dAtA[i] = 0x1a i++ i = encodeVarintMaster(dAtA, i, uint64(m.GetFrameworks.ProtoSize())) - n48, err := m.GetFrameworks.MarshalTo(dAtA[i:]) + n57, err := m.GetFrameworks.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n48 + i += n57 } if m.GetAgents != nil { dAtA[i] = 0x22 i++ i = encodeVarintMaster(dAtA, i, uint64(m.GetAgents.ProtoSize())) - n49, err := m.GetAgents.MarshalTo(dAtA[i:]) + n58, err := m.GetAgents.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n49 + i += n58 } return i, nil } @@ -7827,11 +8388,11 @@ func (m *Response_GetAgents_Agent) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.AgentInfo.ProtoSize())) - n50, err := m.AgentInfo.MarshalTo(dAtA[i:]) + n59, err := m.AgentInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n50 + i += n59 dAtA[i] = 0x10 i++ if m.Active { @@ -7854,21 +8415,21 @@ func (m *Response_GetAgents_Agent) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintMaster(dAtA, i, uint64(m.RegisteredTime.ProtoSize())) - n51, err := m.RegisteredTime.MarshalTo(dAtA[i:]) + n60, err := m.RegisteredTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n51 + i += n60 } if m.ReregisteredTime != nil { dAtA[i] = 0x32 i++ i = encodeVarintMaster(dAtA, i, uint64(m.ReregisteredTime.ProtoSize())) - n52, err := m.ReregisteredTime.MarshalTo(dAtA[i:]) + n61, err := m.ReregisteredTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n52 + i += n61 } if len(m.TotalResources) > 0 { for _, msg := range m.TotalResources { @@ -7951,11 +8512,23 @@ func (m *Response_GetAgents_Agent_ResourceProvider) MarshalTo(dAtA []byte) (int, dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.ResourceProviderInfo.ProtoSize())) - n53, err := m.ResourceProviderInfo.MarshalTo(dAtA[i:]) + n62, err := m.ResourceProviderInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n53 + i += n62 + if len(m.TotalResources) > 0 { + for _, msg := range m.TotalResources { + dAtA[i] = 0x12 + i++ + i = encodeVarintMaster(dAtA, i, uint64(msg.ProtoSize())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } return i, nil } @@ -8031,11 +8604,11 @@ func (m *Response_GetFrameworks_Framework) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.FrameworkInfo.ProtoSize())) - n54, err := m.FrameworkInfo.MarshalTo(dAtA[i:]) + n63, err := m.FrameworkInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n54 + i += n63 dAtA[i] = 0x10 i++ if m.Active { @@ -8056,31 +8629,31 @@ func (m *Response_GetFrameworks_Framework) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintMaster(dAtA, i, uint64(m.RegisteredTime.ProtoSize())) - n55, err := m.RegisteredTime.MarshalTo(dAtA[i:]) + n64, err := m.RegisteredTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n55 + i += n64 } if m.ReregisteredTime != nil { dAtA[i] = 0x2a i++ i = encodeVarintMaster(dAtA, i, uint64(m.ReregisteredTime.ProtoSize())) - n56, err := m.ReregisteredTime.MarshalTo(dAtA[i:]) + n65, err := m.ReregisteredTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n56 + i += n65 } if m.UnregisteredTime != nil { dAtA[i] = 0x32 i++ i = encodeVarintMaster(dAtA, i, uint64(m.UnregisteredTime.ProtoSize())) - n57, err := m.UnregisteredTime.MarshalTo(dAtA[i:]) + n66, err := m.UnregisteredTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n57 + i += n66 } if len(m.Offers) > 0 { for _, msg := range m.Offers { @@ -8201,19 +8774,49 @@ func (m *Response_GetExecutors_Executor) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.ExecutorInfo.ProtoSize())) - n58, err := m.ExecutorInfo.MarshalTo(dAtA[i:]) + n67, err := m.ExecutorInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n58 + i += n67 dAtA[i] = 0x12 i++ i = encodeVarintMaster(dAtA, i, uint64(m.AgentID.ProtoSize())) - n59, err := m.AgentID.MarshalTo(dAtA[i:]) + n68, err := m.AgentID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n59 + i += n68 + 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 = encodeVarintMaster(dAtA, i, uint64(msg.ProtoSize())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } return i, nil } @@ -8374,11 +8977,11 @@ func (m *Response_GetMaster) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.MasterInfo.ProtoSize())) - n60, err := m.MasterInfo.MarshalTo(dAtA[i:]) + n69, err := m.MasterInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n60 + i += n69 } if m.StartTime != nil { dAtA[i] = 0x11 @@ -8411,11 +9014,11 @@ func (m *Response_GetMaintenanceStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.Status.ProtoSize())) - n61, err := m.Status.MarshalTo(dAtA[i:]) + n70, err := m.Status.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n61 + i += n70 return i, nil } @@ -8437,11 +9040,11 @@ func (m *Response_GetMaintenanceSchedule) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.Schedule.ProtoSize())) - n62, err := m.Schedule.MarshalTo(dAtA[i:]) + n71, err := m.Schedule.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n62 + i += n71 return i, nil } @@ -8463,11 +9066,11 @@ func (m *Response_GetQuota) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.Status.ProtoSize())) - n63, err := m.Status.MarshalTo(dAtA[i:]) + n72, err := m.Status.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n63 + i += n72 return i, nil } @@ -8493,81 +9096,81 @@ func (m *Event) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintMaster(dAtA, i, uint64(m.Subscribed.ProtoSize())) - n64, err := m.Subscribed.MarshalTo(dAtA[i:]) + n73, err := m.Subscribed.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n64 + i += n73 } if m.TaskAdded != nil { dAtA[i] = 0x1a i++ i = encodeVarintMaster(dAtA, i, uint64(m.TaskAdded.ProtoSize())) - n65, err := m.TaskAdded.MarshalTo(dAtA[i:]) + n74, err := m.TaskAdded.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n65 + i += n74 } if m.TaskUpdated != nil { dAtA[i] = 0x22 i++ i = encodeVarintMaster(dAtA, i, uint64(m.TaskUpdated.ProtoSize())) - n66, err := m.TaskUpdated.MarshalTo(dAtA[i:]) + n75, err := m.TaskUpdated.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n66 + i += n75 } if m.AgentAdded != nil { dAtA[i] = 0x2a i++ i = encodeVarintMaster(dAtA, i, uint64(m.AgentAdded.ProtoSize())) - n67, err := m.AgentAdded.MarshalTo(dAtA[i:]) + n76, err := m.AgentAdded.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n67 + i += n76 } if m.AgentRemoved != nil { dAtA[i] = 0x32 i++ i = encodeVarintMaster(dAtA, i, uint64(m.AgentRemoved.ProtoSize())) - n68, err := m.AgentRemoved.MarshalTo(dAtA[i:]) + n77, err := m.AgentRemoved.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n68 + i += n77 } if m.FrameworkAdded != nil { dAtA[i] = 0x3a i++ i = encodeVarintMaster(dAtA, i, uint64(m.FrameworkAdded.ProtoSize())) - n69, err := m.FrameworkAdded.MarshalTo(dAtA[i:]) + n78, err := m.FrameworkAdded.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n69 + i += n78 } if m.FrameworkUpdated != nil { dAtA[i] = 0x42 i++ i = encodeVarintMaster(dAtA, i, uint64(m.FrameworkUpdated.ProtoSize())) - n70, err := m.FrameworkUpdated.MarshalTo(dAtA[i:]) + n79, err := m.FrameworkUpdated.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n70 + i += n79 } if m.FrameworkRemoved != nil { dAtA[i] = 0x4a i++ i = encodeVarintMaster(dAtA, i, uint64(m.FrameworkRemoved.ProtoSize())) - n71, err := m.FrameworkRemoved.MarshalTo(dAtA[i:]) + n80, err := m.FrameworkRemoved.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n71 + i += n80 } return i, nil } @@ -8591,11 +9194,11 @@ func (m *Event_Subscribed) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.GetState.ProtoSize())) - n72, err := m.GetState.MarshalTo(dAtA[i:]) + n81, err := m.GetState.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n72 + i += n81 } if m.HeartbeatIntervalSeconds != nil { dAtA[i] = 0x11 @@ -8623,11 +9226,11 @@ func (m *Event_TaskAdded) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.Task.ProtoSize())) - n73, err := m.Task.MarshalTo(dAtA[i:]) + n82, err := m.Task.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n73 + i += n82 return i, nil } @@ -8649,19 +9252,19 @@ func (m *Event_TaskUpdated) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.FrameworkID.ProtoSize())) - n74, err := m.FrameworkID.MarshalTo(dAtA[i:]) + n83, err := m.FrameworkID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n74 + i += n83 dAtA[i] = 0x12 i++ i = encodeVarintMaster(dAtA, i, uint64(m.Status.ProtoSize())) - n75, err := m.Status.MarshalTo(dAtA[i:]) + n84, err := m.Status.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n75 + i += n84 if m.State == nil { return 0, github_com_gogo_protobuf_proto.NewRequiredNotSetError("state") } else { @@ -8690,11 +9293,11 @@ func (m *Event_FrameworkAdded) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.Framework.ProtoSize())) - n76, err := m.Framework.MarshalTo(dAtA[i:]) + n85, err := m.Framework.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n76 + i += n85 return i, nil } @@ -8716,11 +9319,11 @@ func (m *Event_FrameworkUpdated) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.Framework.ProtoSize())) - n77, err := m.Framework.MarshalTo(dAtA[i:]) + n86, err := m.Framework.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n77 + i += n86 return i, nil } @@ -8742,11 +9345,11 @@ func (m *Event_FrameworkRemoved) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.FrameworkInfo.ProtoSize())) - n78, err := m.FrameworkInfo.MarshalTo(dAtA[i:]) + n87, err := m.FrameworkInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n78 + i += n87 return i, nil } @@ -8768,11 +9371,11 @@ func (m *Event_AgentAdded) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.Agent.ProtoSize())) - n79, err := m.Agent.MarshalTo(dAtA[i:]) + n88, err := m.Agent.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n79 + i += n88 return i, nil } @@ -8794,11 +9397,11 @@ func (m *Event_AgentRemoved) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMaster(dAtA, i, uint64(m.AgentID.ProtoSize())) - n80, err := m.AgentID.MarshalTo(dAtA[i:]) + n89, err := m.AgentID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n80 + i += n89 return i, nil } @@ -8831,7 +9434,7 @@ func encodeVarintMaster(dAtA []byte, offset int, v uint64) int { } func NewPopulatedCall(r randyMaster, easy bool) *Call { this := &Call{} - this.Type = Call_Type([]int32{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32}[r.Intn(33)]) + this.Type = Call_Type([]int32{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 33, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 34, 35, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32}[r.Intn(36)]) if r.Intn(10) != 0 { this.GetMetrics = NewPopulatedCall_GetMetrics(r, easy) } @@ -8880,6 +9483,12 @@ func NewPopulatedCall(r randyMaster, easy bool) *Call { if r.Intn(10) != 0 { this.MarkAgentGone = NewPopulatedCall_MarkAgentGone(r, easy) } + if r.Intn(10) != 0 { + this.GrowVolume = NewPopulatedCall_GrowVolume(r, easy) + } + if r.Intn(10) != 0 { + this.ShrinkVolume = NewPopulatedCall_ShrinkVolume(r, easy) + } if !easy && r.Intn(10) != 0 { } return this @@ -9009,10 +9618,38 @@ func NewPopulatedCall_DestroyVolumes(r randyMaster, easy bool) *Call_DestroyVolu return this } +func NewPopulatedCall_GrowVolume(r randyMaster, easy bool) *Call_GrowVolume { + this := &Call_GrowVolume{} + if r.Intn(10) != 0 { + this.AgentID = mesos.NewPopulatedAgentID(r, easy) + } + v17 := mesos.NewPopulatedResource(r, easy) + this.Volume = *v17 + v18 := mesos.NewPopulatedResource(r, easy) + this.Addition = *v18 + if !easy && r.Intn(10) != 0 { + } + return this +} + +func NewPopulatedCall_ShrinkVolume(r randyMaster, easy bool) *Call_ShrinkVolume { + this := &Call_ShrinkVolume{} + if r.Intn(10) != 0 { + this.AgentID = mesos.NewPopulatedAgentID(r, easy) + } + v19 := mesos.NewPopulatedResource(r, easy) + this.Volume = *v19 + v20 := mesos.NewPopulatedValue_Scalar(r, easy) + this.Subtract = *v20 + if !easy && r.Intn(10) != 0 { + } + return this +} + func NewPopulatedCall_UpdateMaintenanceSchedule(r randyMaster, easy bool) *Call_UpdateMaintenanceSchedule { this := &Call_UpdateMaintenanceSchedule{} - v17 := mesos_maintenance.NewPopulatedSchedule(r, easy) - this.Schedule = *v17 + v21 := mesos_maintenance.NewPopulatedSchedule(r, easy) + this.Schedule = *v21 if !easy && r.Intn(10) != 0 { } return this @@ -9021,11 +9658,11 @@ func NewPopulatedCall_UpdateMaintenanceSchedule(r randyMaster, easy bool) *Call_ func NewPopulatedCall_StartMaintenance(r randyMaster, easy bool) *Call_StartMaintenance { this := &Call_StartMaintenance{} if r.Intn(10) != 0 { - v18 := r.Intn(5) - this.Machines = make([]mesos.MachineID, v18) - for i := 0; i < v18; i++ { - v19 := mesos.NewPopulatedMachineID(r, easy) - this.Machines[i] = *v19 + v22 := r.Intn(5) + this.Machines = make([]mesos.MachineID, v22) + for i := 0; i < v22; i++ { + v23 := mesos.NewPopulatedMachineID(r, easy) + this.Machines[i] = *v23 } } if !easy && r.Intn(10) != 0 { @@ -9036,11 +9673,11 @@ func NewPopulatedCall_StartMaintenance(r randyMaster, easy bool) *Call_StartMain func NewPopulatedCall_StopMaintenance(r randyMaster, easy bool) *Call_StopMaintenance { this := &Call_StopMaintenance{} if r.Intn(10) != 0 { - v20 := r.Intn(5) - this.Machines = make([]mesos.MachineID, v20) - for i := 0; i < v20; i++ { - v21 := mesos.NewPopulatedMachineID(r, easy) - this.Machines[i] = *v21 + v24 := r.Intn(5) + this.Machines = make([]mesos.MachineID, v24) + for i := 0; i < v24; i++ { + v25 := mesos.NewPopulatedMachineID(r, easy) + this.Machines[i] = *v25 } } if !easy && r.Intn(10) != 0 { @@ -9050,8 +9687,8 @@ func NewPopulatedCall_StopMaintenance(r randyMaster, easy bool) *Call_StopMainte func NewPopulatedCall_SetQuota(r randyMaster, easy bool) *Call_SetQuota { this := &Call_SetQuota{} - v22 := mesos_quota.NewPopulatedQuotaRequest(r, easy) - this.QuotaRequest = *v22 + v26 := mesos_quota.NewPopulatedQuotaRequest(r, easy) + this.QuotaRequest = *v26 if !easy && r.Intn(10) != 0 { } return this @@ -9067,8 +9704,8 @@ func NewPopulatedCall_RemoveQuota(r randyMaster, easy bool) *Call_RemoveQuota { func NewPopulatedCall_Teardown(r randyMaster, easy bool) *Call_Teardown { this := &Call_Teardown{} - v23 := mesos.NewPopulatedFrameworkID(r, easy) - this.FrameworkID = *v23 + v27 := mesos.NewPopulatedFrameworkID(r, easy) + this.FrameworkID = *v27 if !easy && r.Intn(10) != 0 { } return this @@ -9076,8 +9713,8 @@ func NewPopulatedCall_Teardown(r randyMaster, easy bool) *Call_Teardown { func NewPopulatedCall_MarkAgentGone(r randyMaster, easy bool) *Call_MarkAgentGone { this := &Call_MarkAgentGone{} - v24 := mesos.NewPopulatedAgentID(r, easy) - this.AgentID = *v24 + v28 := mesos.NewPopulatedAgentID(r, easy) + this.AgentID = *v28 if !easy && r.Intn(10) != 0 { } return this @@ -9085,7 +9722,7 @@ func NewPopulatedCall_MarkAgentGone(r randyMaster, easy bool) *Call_MarkAgentGon func NewPopulatedResponse(r randyMaster, easy bool) *Response { this := &Response{} - this.Type = Response_Type([]int32{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}[r.Intn(19)]) + this.Type = Response_Type([]int32{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 19, 12, 13, 14, 15, 16, 17, 18}[r.Intn(20)]) if r.Intn(10) != 0 { this.GetHealth = NewPopulatedResponse_GetHealth(r, easy) } @@ -9140,6 +9777,9 @@ func NewPopulatedResponse(r randyMaster, easy bool) *Response { if r.Intn(10) != 0 { this.GetQuota = NewPopulatedResponse_GetQuota(r, easy) } + if r.Intn(10) != 0 { + this.GetOperations = NewPopulatedResponse_GetOperations(r, easy) + } if !easy && r.Intn(10) != 0 { } return this @@ -9156,11 +9796,11 @@ func NewPopulatedResponse_GetHealth(r randyMaster, easy bool) *Response_GetHealt func NewPopulatedResponse_GetFlags(r randyMaster, easy bool) *Response_GetFlags { this := &Response_GetFlags{} if r.Intn(10) != 0 { - v25 := r.Intn(5) - this.Flags = make([]mesos.Flag, v25) - for i := 0; i < v25; i++ { - v26 := mesos.NewPopulatedFlag(r, easy) - this.Flags[i] = *v26 + v29 := r.Intn(5) + this.Flags = make([]mesos.Flag, v29) + for i := 0; i < v29; i++ { + v30 := mesos.NewPopulatedFlag(r, easy) + this.Flags[i] = *v30 } } if !easy && r.Intn(10) != 0 { @@ -9170,8 +9810,8 @@ func NewPopulatedResponse_GetFlags(r randyMaster, easy bool) *Response_GetFlags func NewPopulatedResponse_GetVersion(r randyMaster, easy bool) *Response_GetVersion { this := &Response_GetVersion{} - v27 := mesos.NewPopulatedVersionInfo(r, easy) - this.VersionInfo = *v27 + v31 := mesos.NewPopulatedVersionInfo(r, easy) + this.VersionInfo = *v31 if !easy && r.Intn(10) != 0 { } return this @@ -9180,11 +9820,11 @@ func NewPopulatedResponse_GetVersion(r randyMaster, easy bool) *Response_GetVers func NewPopulatedResponse_GetMetrics(r randyMaster, easy bool) *Response_GetMetrics { this := &Response_GetMetrics{} if r.Intn(10) != 0 { - v28 := r.Intn(5) - this.Metrics = make([]mesos.Metric, v28) - for i := 0; i < v28; i++ { - v29 := mesos.NewPopulatedMetric(r, easy) - this.Metrics[i] = *v29 + v32 := r.Intn(5) + this.Metrics = make([]mesos.Metric, v32) + for i := 0; i < v32; i++ { + v33 := mesos.NewPopulatedMetric(r, easy) + this.Metrics[i] = *v33 } } if !easy && r.Intn(10) != 0 { @@ -9203,11 +9843,11 @@ func NewPopulatedResponse_GetLoggingLevel(r randyMaster, easy bool) *Response_Ge func NewPopulatedResponse_ListFiles(r randyMaster, easy bool) *Response_ListFiles { this := &Response_ListFiles{} if r.Intn(10) != 0 { - v30 := r.Intn(5) - this.FileInfos = make([]mesos.FileInfo, v30) - for i := 0; i < v30; i++ { - v31 := mesos.NewPopulatedFileInfo(r, easy) - this.FileInfos[i] = *v31 + v34 := r.Intn(5) + this.FileInfos = make([]mesos.FileInfo, v34) + for i := 0; i < v34; i++ { + v35 := mesos.NewPopulatedFileInfo(r, easy) + this.FileInfos[i] = *v35 } } if !easy && r.Intn(10) != 0 { @@ -9218,9 +9858,9 @@ func NewPopulatedResponse_ListFiles(r randyMaster, easy bool) *Response_ListFile func NewPopulatedResponse_ReadFile(r randyMaster, easy bool) *Response_ReadFile { this := &Response_ReadFile{} this.Size = uint64(uint64(r.Uint32())) - v32 := r.Intn(100) - this.Data = make([]byte, v32) - for i := 0; i < v32; i++ { + v36 := r.Intn(100) + this.Data = make([]byte, v36) + for i := 0; i < v36; i++ { this.Data[i] = byte(r.Intn(256)) } if !easy && r.Intn(10) != 0 { @@ -9250,19 +9890,19 @@ func NewPopulatedResponse_GetState(r randyMaster, easy bool) *Response_GetState func NewPopulatedResponse_GetAgents(r randyMaster, easy bool) *Response_GetAgents { this := &Response_GetAgents{} if r.Intn(10) != 0 { - v33 := r.Intn(5) - this.Agents = make([]Response_GetAgents_Agent, v33) - for i := 0; i < v33; i++ { - v34 := NewPopulatedResponse_GetAgents_Agent(r, easy) - this.Agents[i] = *v34 + v37 := r.Intn(5) + this.Agents = make([]Response_GetAgents_Agent, v37) + for i := 0; i < v37; i++ { + v38 := NewPopulatedResponse_GetAgents_Agent(r, easy) + this.Agents[i] = *v38 } } if r.Intn(10) != 0 { - v35 := r.Intn(5) - this.RecoveredAgents = make([]mesos.AgentInfo, v35) - for i := 0; i < v35; i++ { - v36 := mesos.NewPopulatedAgentInfo(r, easy) - this.RecoveredAgents[i] = *v36 + v39 := r.Intn(5) + this.RecoveredAgents = make([]mesos.AgentInfo, v39) + for i := 0; i < v39; i++ { + v40 := mesos.NewPopulatedAgentInfo(r, easy) + this.RecoveredAgents[i] = *v40 } } if !easy && r.Intn(10) != 0 { @@ -9272,13 +9912,13 @@ func NewPopulatedResponse_GetAgents(r randyMaster, easy bool) *Response_GetAgent func NewPopulatedResponse_GetAgents_Agent(r randyMaster, easy bool) *Response_GetAgents_Agent { this := &Response_GetAgents_Agent{} - v37 := mesos.NewPopulatedAgentInfo(r, easy) - this.AgentInfo = *v37 + v41 := mesos.NewPopulatedAgentInfo(r, easy) + this.AgentInfo = *v41 this.Active = bool(bool(r.Intn(2) == 0)) this.Version = string(randStringMaster(r)) if r.Intn(10) != 0 { - v38 := string(randStringMaster(r)) - this.PID = &v38 + v42 := string(randStringMaster(r)) + this.PID = &v42 } if r.Intn(10) != 0 { this.RegisteredTime = mesos.NewPopulatedTimeInfo(r, easy) @@ -9286,44 +9926,44 @@ func NewPopulatedResponse_GetAgents_Agent(r randyMaster, easy bool) *Response_Ge if r.Intn(10) != 0 { this.ReregisteredTime = mesos.NewPopulatedTimeInfo(r, easy) } - if r.Intn(10) != 0 { - v39 := r.Intn(5) - this.TotalResources = make([]mesos.Resource, v39) - for i := 0; i < v39; i++ { - v40 := mesos.NewPopulatedResource(r, easy) - this.TotalResources[i] = *v40 - } - } - if r.Intn(10) != 0 { - v41 := r.Intn(5) - this.AllocatedResources = make([]mesos.Resource, v41) - for i := 0; i < v41; i++ { - v42 := mesos.NewPopulatedResource(r, easy) - this.AllocatedResources[i] = *v42 - } - } if r.Intn(10) != 0 { v43 := r.Intn(5) - this.OfferedResources = make([]mesos.Resource, v43) + this.TotalResources = make([]mesos.Resource, v43) for i := 0; i < v43; i++ { v44 := mesos.NewPopulatedResource(r, easy) - this.OfferedResources[i] = *v44 + this.TotalResources[i] = *v44 } } if r.Intn(10) != 0 { v45 := r.Intn(5) - this.Capabilities = make([]mesos.AgentInfo_Capability, v45) + this.AllocatedResources = make([]mesos.Resource, v45) for i := 0; i < v45; i++ { - v46 := mesos.NewPopulatedAgentInfo_Capability(r, easy) - this.Capabilities[i] = *v46 + v46 := mesos.NewPopulatedResource(r, easy) + this.AllocatedResources[i] = *v46 } } if r.Intn(10) != 0 { v47 := r.Intn(5) - this.ResourceProviders = make([]Response_GetAgents_Agent_ResourceProvider, v47) + this.OfferedResources = make([]mesos.Resource, v47) for i := 0; i < v47; i++ { - v48 := NewPopulatedResponse_GetAgents_Agent_ResourceProvider(r, easy) - this.ResourceProviders[i] = *v48 + v48 := mesos.NewPopulatedResource(r, easy) + this.OfferedResources[i] = *v48 + } + } + if r.Intn(10) != 0 { + v49 := r.Intn(5) + this.Capabilities = make([]mesos.AgentInfo_Capability, v49) + for i := 0; i < v49; i++ { + v50 := mesos.NewPopulatedAgentInfo_Capability(r, easy) + this.Capabilities[i] = *v50 + } + } + if r.Intn(10) != 0 { + v51 := r.Intn(5) + this.ResourceProviders = make([]Response_GetAgents_Agent_ResourceProvider, v51) + for i := 0; i < v51; i++ { + v52 := NewPopulatedResponse_GetAgents_Agent_ResourceProvider(r, easy) + this.ResourceProviders[i] = *v52 } } if !easy && r.Intn(10) != 0 { @@ -9333,8 +9973,16 @@ func NewPopulatedResponse_GetAgents_Agent(r randyMaster, easy bool) *Response_Ge func NewPopulatedResponse_GetAgents_Agent_ResourceProvider(r randyMaster, easy bool) *Response_GetAgents_Agent_ResourceProvider { this := &Response_GetAgents_Agent_ResourceProvider{} - v49 := mesos.NewPopulatedResourceProviderInfo(r, easy) - this.ResourceProviderInfo = *v49 + v53 := mesos.NewPopulatedResourceProviderInfo(r, easy) + this.ResourceProviderInfo = *v53 + if r.Intn(10) != 0 { + v54 := r.Intn(5) + this.TotalResources = make([]mesos.Resource, v54) + for i := 0; i < v54; i++ { + v55 := mesos.NewPopulatedResource(r, easy) + this.TotalResources[i] = *v55 + } + } if !easy && r.Intn(10) != 0 { } return this @@ -9343,27 +9991,27 @@ func NewPopulatedResponse_GetAgents_Agent_ResourceProvider(r randyMaster, easy b func NewPopulatedResponse_GetFrameworks(r randyMaster, easy bool) *Response_GetFrameworks { this := &Response_GetFrameworks{} if r.Intn(10) != 0 { - v50 := r.Intn(5) - this.Frameworks = make([]Response_GetFrameworks_Framework, v50) - for i := 0; i < v50; i++ { - v51 := NewPopulatedResponse_GetFrameworks_Framework(r, easy) - this.Frameworks[i] = *v51 + v56 := r.Intn(5) + this.Frameworks = make([]Response_GetFrameworks_Framework, v56) + for i := 0; i < v56; i++ { + v57 := NewPopulatedResponse_GetFrameworks_Framework(r, easy) + this.Frameworks[i] = *v57 } } if r.Intn(10) != 0 { - v52 := r.Intn(5) - this.CompletedFrameworks = make([]Response_GetFrameworks_Framework, v52) - for i := 0; i < v52; i++ { - v53 := NewPopulatedResponse_GetFrameworks_Framework(r, easy) - this.CompletedFrameworks[i] = *v53 + v58 := r.Intn(5) + this.CompletedFrameworks = make([]Response_GetFrameworks_Framework, v58) + for i := 0; i < v58; i++ { + v59 := NewPopulatedResponse_GetFrameworks_Framework(r, easy) + this.CompletedFrameworks[i] = *v59 } } if r.Intn(10) != 0 { - v54 := r.Intn(5) - this.RecoveredFrameworks = make([]mesos.FrameworkInfo, v54) - for i := 0; i < v54; i++ { - v55 := mesos.NewPopulatedFrameworkInfo(r, easy) - this.RecoveredFrameworks[i] = *v55 + v60 := r.Intn(5) + this.RecoveredFrameworks = make([]mesos.FrameworkInfo, v60) + for i := 0; i < v60; i++ { + v61 := mesos.NewPopulatedFrameworkInfo(r, easy) + this.RecoveredFrameworks[i] = *v61 } } if !easy && r.Intn(10) != 0 { @@ -9373,8 +10021,8 @@ func NewPopulatedResponse_GetFrameworks(r randyMaster, easy bool) *Response_GetF func NewPopulatedResponse_GetFrameworks_Framework(r randyMaster, easy bool) *Response_GetFrameworks_Framework { this := &Response_GetFrameworks_Framework{} - v56 := mesos.NewPopulatedFrameworkInfo(r, easy) - this.FrameworkInfo = *v56 + v62 := mesos.NewPopulatedFrameworkInfo(r, easy) + this.FrameworkInfo = *v62 this.Active = bool(bool(r.Intn(2) == 0)) this.Connected = bool(bool(r.Intn(2) == 0)) if r.Intn(10) != 0 { @@ -9387,35 +10035,35 @@ func NewPopulatedResponse_GetFrameworks_Framework(r randyMaster, easy bool) *Res this.UnregisteredTime = mesos.NewPopulatedTimeInfo(r, easy) } if r.Intn(10) != 0 { - v57 := r.Intn(5) - this.Offers = make([]mesos.Offer, v57) - for i := 0; i < v57; i++ { - v58 := mesos.NewPopulatedOffer(r, easy) - this.Offers[i] = *v58 + v63 := r.Intn(5) + this.Offers = make([]mesos.Offer, v63) + for i := 0; i < v63; i++ { + v64 := mesos.NewPopulatedOffer(r, easy) + this.Offers[i] = *v64 } } if r.Intn(10) != 0 { - v59 := r.Intn(5) - this.InverseOffers = make([]mesos.InverseOffer, v59) - for i := 0; i < v59; i++ { - v60 := mesos.NewPopulatedInverseOffer(r, easy) - this.InverseOffers[i] = *v60 + v65 := r.Intn(5) + this.InverseOffers = make([]mesos.InverseOffer, v65) + for i := 0; i < v65; i++ { + v66 := mesos.NewPopulatedInverseOffer(r, easy) + this.InverseOffers[i] = *v66 } } if r.Intn(10) != 0 { - v61 := r.Intn(5) - this.AllocatedResources = make([]mesos.Resource, v61) - for i := 0; i < v61; i++ { - v62 := mesos.NewPopulatedResource(r, easy) - this.AllocatedResources[i] = *v62 + v67 := r.Intn(5) + this.AllocatedResources = make([]mesos.Resource, v67) + for i := 0; i < v67; i++ { + v68 := mesos.NewPopulatedResource(r, easy) + this.AllocatedResources[i] = *v68 } } if r.Intn(10) != 0 { - v63 := r.Intn(5) - this.OfferedResources = make([]mesos.Resource, v63) - for i := 0; i < v63; i++ { - v64 := mesos.NewPopulatedResource(r, easy) - this.OfferedResources[i] = *v64 + v69 := r.Intn(5) + this.OfferedResources = make([]mesos.Resource, v69) + for i := 0; i < v69; i++ { + v70 := mesos.NewPopulatedResource(r, easy) + this.OfferedResources[i] = *v70 } } this.Recovered = bool(bool(r.Intn(2) == 0)) @@ -9427,19 +10075,19 @@ func NewPopulatedResponse_GetFrameworks_Framework(r randyMaster, easy bool) *Res func NewPopulatedResponse_GetExecutors(r randyMaster, easy bool) *Response_GetExecutors { this := &Response_GetExecutors{} if r.Intn(10) != 0 { - v65 := r.Intn(5) - this.Executors = make([]Response_GetExecutors_Executor, v65) - for i := 0; i < v65; i++ { - v66 := NewPopulatedResponse_GetExecutors_Executor(r, easy) - this.Executors[i] = *v66 + v71 := r.Intn(5) + this.Executors = make([]Response_GetExecutors_Executor, v71) + for i := 0; i < v71; i++ { + v72 := NewPopulatedResponse_GetExecutors_Executor(r, easy) + this.Executors[i] = *v72 } } if r.Intn(10) != 0 { - v67 := r.Intn(5) - this.OrphanExecutors = make([]Response_GetExecutors_Executor, v67) - for i := 0; i < v67; i++ { - v68 := NewPopulatedResponse_GetExecutors_Executor(r, easy) - this.OrphanExecutors[i] = *v68 + v73 := r.Intn(5) + this.OrphanExecutors = make([]Response_GetExecutors_Executor, v73) + for i := 0; i < v73; i++ { + v74 := NewPopulatedResponse_GetExecutors_Executor(r, easy) + this.OrphanExecutors[i] = *v74 } } if !easy && r.Intn(10) != 0 { @@ -9449,10 +10097,25 @@ func NewPopulatedResponse_GetExecutors(r randyMaster, easy bool) *Response_GetEx func NewPopulatedResponse_GetExecutors_Executor(r randyMaster, easy bool) *Response_GetExecutors_Executor { this := &Response_GetExecutors_Executor{} - v69 := mesos.NewPopulatedExecutorInfo(r, easy) - this.ExecutorInfo = *v69 - v70 := mesos.NewPopulatedAgentID(r, easy) - this.AgentID = *v70 + v75 := mesos.NewPopulatedExecutorInfo(r, easy) + this.ExecutorInfo = *v75 + v76 := mesos.NewPopulatedAgentID(r, easy) + this.AgentID = *v76 + if !easy && r.Intn(10) != 0 { + } + return this +} + +func NewPopulatedResponse_GetOperations(r randyMaster, easy bool) *Response_GetOperations { + this := &Response_GetOperations{} + if r.Intn(10) != 0 { + v77 := r.Intn(5) + this.Operations = make([]mesos.Operation, v77) + for i := 0; i < v77; i++ { + v78 := mesos.NewPopulatedOperation(r, easy) + this.Operations[i] = *v78 + } + } if !easy && r.Intn(10) != 0 { } return this @@ -9461,43 +10124,43 @@ func NewPopulatedResponse_GetExecutors_Executor(r randyMaster, easy bool) *Respo func NewPopulatedResponse_GetTasks(r randyMaster, easy bool) *Response_GetTasks { this := &Response_GetTasks{} if r.Intn(10) == 0 { - v71 := r.Intn(5) - this.PendingTasks = make([]mesos.Task, v71) - for i := 0; i < v71; i++ { - v72 := mesos.NewPopulatedTask(r, easy) - this.PendingTasks[i] = *v72 + v79 := r.Intn(5) + this.PendingTasks = make([]mesos.Task, v79) + for i := 0; i < v79; i++ { + v80 := mesos.NewPopulatedTask(r, easy) + this.PendingTasks[i] = *v80 } } if r.Intn(10) == 0 { - v73 := r.Intn(5) - this.Tasks = make([]mesos.Task, v73) - for i := 0; i < v73; i++ { - v74 := mesos.NewPopulatedTask(r, easy) - this.Tasks[i] = *v74 + v81 := r.Intn(5) + this.Tasks = make([]mesos.Task, v81) + for i := 0; i < v81; i++ { + v82 := mesos.NewPopulatedTask(r, easy) + this.Tasks[i] = *v82 } } if r.Intn(10) == 0 { - v75 := r.Intn(5) - this.CompletedTasks = make([]mesos.Task, v75) - for i := 0; i < v75; i++ { - v76 := mesos.NewPopulatedTask(r, easy) - this.CompletedTasks[i] = *v76 + v83 := r.Intn(5) + this.CompletedTasks = make([]mesos.Task, v83) + for i := 0; i < v83; i++ { + v84 := mesos.NewPopulatedTask(r, easy) + this.CompletedTasks[i] = *v84 } } if r.Intn(10) == 0 { - v77 := r.Intn(5) - this.OrphanTasks = make([]mesos.Task, v77) - for i := 0; i < v77; i++ { - v78 := mesos.NewPopulatedTask(r, easy) - this.OrphanTasks[i] = *v78 + v85 := r.Intn(5) + this.OrphanTasks = make([]mesos.Task, v85) + for i := 0; i < v85; i++ { + v86 := mesos.NewPopulatedTask(r, easy) + this.OrphanTasks[i] = *v86 } } if r.Intn(10) == 0 { - v79 := r.Intn(5) - this.UnreachableTasks = make([]mesos.Task, v79) - for i := 0; i < v79; i++ { - v80 := mesos.NewPopulatedTask(r, easy) - this.UnreachableTasks[i] = *v80 + v87 := r.Intn(5) + this.UnreachableTasks = make([]mesos.Task, v87) + for i := 0; i < v87; i++ { + v88 := mesos.NewPopulatedTask(r, easy) + this.UnreachableTasks[i] = *v88 } } if !easy && r.Intn(10) != 0 { @@ -9508,11 +10171,11 @@ func NewPopulatedResponse_GetTasks(r randyMaster, easy bool) *Response_GetTasks func NewPopulatedResponse_GetRoles(r randyMaster, easy bool) *Response_GetRoles { this := &Response_GetRoles{} if r.Intn(10) != 0 { - v81 := r.Intn(5) - this.Roles = make([]mesos.Role, v81) - for i := 0; i < v81; i++ { - v82 := mesos.NewPopulatedRole(r, easy) - this.Roles[i] = *v82 + v89 := r.Intn(5) + this.Roles = make([]mesos.Role, v89) + for i := 0; i < v89; i++ { + v90 := mesos.NewPopulatedRole(r, easy) + this.Roles[i] = *v90 } } if !easy && r.Intn(10) != 0 { @@ -9523,11 +10186,11 @@ func NewPopulatedResponse_GetRoles(r randyMaster, easy bool) *Response_GetRoles func NewPopulatedResponse_GetWeights(r randyMaster, easy bool) *Response_GetWeights { this := &Response_GetWeights{} if r.Intn(10) != 0 { - v83 := r.Intn(5) - this.WeightInfos = make([]mesos.WeightInfo, v83) - for i := 0; i < v83; i++ { - v84 := mesos.NewPopulatedWeightInfo(r, easy) - this.WeightInfos[i] = *v84 + v91 := r.Intn(5) + this.WeightInfos = make([]mesos.WeightInfo, v91) + for i := 0; i < v91; i++ { + v92 := mesos.NewPopulatedWeightInfo(r, easy) + this.WeightInfos[i] = *v92 } } if !easy && r.Intn(10) != 0 { @@ -9541,18 +10204,18 @@ func NewPopulatedResponse_GetMaster(r randyMaster, easy bool) *Response_GetMaste this.MasterInfo = mesos.NewPopulatedMasterInfo(r, easy) } if r.Intn(10) != 0 { - v85 := float64(r.Float64()) + v93 := float64(r.Float64()) if r.Intn(2) == 0 { - v85 *= -1 + v93 *= -1 } - this.StartTime = &v85 + this.StartTime = &v93 } if r.Intn(10) != 0 { - v86 := float64(r.Float64()) + v94 := float64(r.Float64()) if r.Intn(2) == 0 { - v86 *= -1 + v94 *= -1 } - this.ElectedTime = &v86 + this.ElectedTime = &v94 } if !easy && r.Intn(10) != 0 { } @@ -9561,8 +10224,8 @@ func NewPopulatedResponse_GetMaster(r randyMaster, easy bool) *Response_GetMaste func NewPopulatedResponse_GetMaintenanceStatus(r randyMaster, easy bool) *Response_GetMaintenanceStatus { this := &Response_GetMaintenanceStatus{} - v87 := mesos_maintenance.NewPopulatedClusterStatus(r, easy) - this.Status = *v87 + v95 := mesos_maintenance.NewPopulatedClusterStatus(r, easy) + this.Status = *v95 if !easy && r.Intn(10) != 0 { } return this @@ -9570,8 +10233,8 @@ func NewPopulatedResponse_GetMaintenanceStatus(r randyMaster, easy bool) *Respon func NewPopulatedResponse_GetMaintenanceSchedule(r randyMaster, easy bool) *Response_GetMaintenanceSchedule { this := &Response_GetMaintenanceSchedule{} - v88 := mesos_maintenance.NewPopulatedSchedule(r, easy) - this.Schedule = *v88 + v96 := mesos_maintenance.NewPopulatedSchedule(r, easy) + this.Schedule = *v96 if !easy && r.Intn(10) != 0 { } return this @@ -9579,8 +10242,8 @@ func NewPopulatedResponse_GetMaintenanceSchedule(r randyMaster, easy bool) *Resp func NewPopulatedResponse_GetQuota(r randyMaster, easy bool) *Response_GetQuota { this := &Response_GetQuota{} - v89 := mesos_quota.NewPopulatedQuotaStatus(r, easy) - this.Status = *v89 + v97 := mesos_quota.NewPopulatedQuotaStatus(r, easy) + this.Status = *v97 if !easy && r.Intn(10) != 0 { } return this @@ -9624,11 +10287,11 @@ func NewPopulatedEvent_Subscribed(r randyMaster, easy bool) *Event_Subscribed { this.GetState = NewPopulatedResponse_GetState(r, easy) } if r.Intn(10) != 0 { - v90 := float64(r.Float64()) + v98 := float64(r.Float64()) if r.Intn(2) == 0 { - v90 *= -1 + v98 *= -1 } - this.HeartbeatIntervalSeconds = &v90 + this.HeartbeatIntervalSeconds = &v98 } if !easy && r.Intn(10) != 0 { } @@ -9637,8 +10300,8 @@ func NewPopulatedEvent_Subscribed(r randyMaster, easy bool) *Event_Subscribed { func NewPopulatedEvent_TaskAdded(r randyMaster, easy bool) *Event_TaskAdded { this := &Event_TaskAdded{} - v91 := mesos.NewPopulatedTask(r, easy) - this.Task = *v91 + v99 := mesos.NewPopulatedTask(r, easy) + this.Task = *v99 if !easy && r.Intn(10) != 0 { } return this @@ -9646,12 +10309,12 @@ func NewPopulatedEvent_TaskAdded(r randyMaster, easy bool) *Event_TaskAdded { func NewPopulatedEvent_TaskUpdated(r randyMaster, easy bool) *Event_TaskUpdated { this := &Event_TaskUpdated{} - v92 := mesos.NewPopulatedFrameworkID(r, easy) - this.FrameworkID = *v92 - v93 := mesos.NewPopulatedTaskStatus(r, easy) - this.Status = *v93 - v94 := mesos.TaskState([]int32{6, 0, 1, 8, 2, 3, 4, 7, 5, 9, 10, 11, 12, 13}[r.Intn(14)]) - this.State = &v94 + v100 := mesos.NewPopulatedFrameworkID(r, easy) + this.FrameworkID = *v100 + v101 := mesos.NewPopulatedTaskStatus(r, easy) + this.Status = *v101 + v102 := mesos.TaskState([]int32{6, 0, 1, 8, 2, 3, 4, 7, 5, 9, 10, 11, 12, 13}[r.Intn(14)]) + this.State = &v102 if !easy && r.Intn(10) != 0 { } return this @@ -9659,8 +10322,8 @@ func NewPopulatedEvent_TaskUpdated(r randyMaster, easy bool) *Event_TaskUpdated func NewPopulatedEvent_FrameworkAdded(r randyMaster, easy bool) *Event_FrameworkAdded { this := &Event_FrameworkAdded{} - v95 := NewPopulatedResponse_GetFrameworks_Framework(r, easy) - this.Framework = *v95 + v103 := NewPopulatedResponse_GetFrameworks_Framework(r, easy) + this.Framework = *v103 if !easy && r.Intn(10) != 0 { } return this @@ -9668,8 +10331,8 @@ func NewPopulatedEvent_FrameworkAdded(r randyMaster, easy bool) *Event_Framework func NewPopulatedEvent_FrameworkUpdated(r randyMaster, easy bool) *Event_FrameworkUpdated { this := &Event_FrameworkUpdated{} - v96 := NewPopulatedResponse_GetFrameworks_Framework(r, easy) - this.Framework = *v96 + v104 := NewPopulatedResponse_GetFrameworks_Framework(r, easy) + this.Framework = *v104 if !easy && r.Intn(10) != 0 { } return this @@ -9677,8 +10340,8 @@ func NewPopulatedEvent_FrameworkUpdated(r randyMaster, easy bool) *Event_Framewo func NewPopulatedEvent_FrameworkRemoved(r randyMaster, easy bool) *Event_FrameworkRemoved { this := &Event_FrameworkRemoved{} - v97 := mesos.NewPopulatedFrameworkInfo(r, easy) - this.FrameworkInfo = *v97 + v105 := mesos.NewPopulatedFrameworkInfo(r, easy) + this.FrameworkInfo = *v105 if !easy && r.Intn(10) != 0 { } return this @@ -9686,8 +10349,8 @@ func NewPopulatedEvent_FrameworkRemoved(r randyMaster, easy bool) *Event_Framewo func NewPopulatedEvent_AgentAdded(r randyMaster, easy bool) *Event_AgentAdded { this := &Event_AgentAdded{} - v98 := NewPopulatedResponse_GetAgents_Agent(r, easy) - this.Agent = *v98 + v106 := NewPopulatedResponse_GetAgents_Agent(r, easy) + this.Agent = *v106 if !easy && r.Intn(10) != 0 { } return this @@ -9695,8 +10358,8 @@ func NewPopulatedEvent_AgentAdded(r randyMaster, easy bool) *Event_AgentAdded { func NewPopulatedEvent_AgentRemoved(r randyMaster, easy bool) *Event_AgentRemoved { this := &Event_AgentRemoved{} - v99 := mesos.NewPopulatedAgentID(r, easy) - this.AgentID = *v99 + v107 := mesos.NewPopulatedAgentID(r, easy) + this.AgentID = *v107 if !easy && r.Intn(10) != 0 { } return this @@ -9721,9 +10384,9 @@ func randUTF8RuneMaster(r randyMaster) rune { return rune(ru + 61) } func randStringMaster(r randyMaster) string { - v100 := r.Intn(100) - tmps := make([]rune, v100) - for i := 0; i < v100; i++ { + v108 := r.Intn(100) + tmps := make([]rune, v108) + for i := 0; i < v108; i++ { tmps[i] = randUTF8RuneMaster(r) } return string(tmps) @@ -9745,11 +10408,11 @@ func randFieldMaster(dAtA []byte, r randyMaster, fieldNumber int, wire int) []by switch wire { case 0: dAtA = encodeVarintPopulateMaster(dAtA, uint64(key)) - v101 := r.Int63() + v109 := r.Int63() if r.Intn(2) == 0 { - v101 *= -1 + v109 *= -1 } - dAtA = encodeVarintPopulateMaster(dAtA, uint64(v101)) + dAtA = encodeVarintPopulateMaster(dAtA, uint64(v109)) case 1: dAtA = encodeVarintPopulateMaster(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))) @@ -9842,6 +10505,14 @@ func (m *Call) ProtoSize() (n int) { l = m.MarkAgentGone.ProtoSize() n += 2 + l + sovMaster(uint64(l)) } + if m.GrowVolume != nil { + l = m.GrowVolume.ProtoSize() + n += 2 + l + sovMaster(uint64(l)) + } + if m.ShrinkVolume != nil { + l = m.ShrinkVolume.ProtoSize() + n += 2 + l + sovMaster(uint64(l)) + } return n } @@ -9952,6 +10623,34 @@ func (m *Call_DestroyVolumes) ProtoSize() (n int) { return n } +func (m *Call_GrowVolume) ProtoSize() (n int) { + var l int + _ = l + if m.AgentID != nil { + l = m.AgentID.ProtoSize() + n += 1 + l + sovMaster(uint64(l)) + } + l = m.Volume.ProtoSize() + n += 1 + l + sovMaster(uint64(l)) + l = m.Addition.ProtoSize() + n += 1 + l + sovMaster(uint64(l)) + return n +} + +func (m *Call_ShrinkVolume) ProtoSize() (n int) { + var l int + _ = l + if m.AgentID != nil { + l = m.AgentID.ProtoSize() + n += 1 + l + sovMaster(uint64(l)) + } + l = m.Volume.ProtoSize() + n += 1 + l + sovMaster(uint64(l)) + l = m.Subtract.ProtoSize() + n += 1 + l + sovMaster(uint64(l)) + return n +} + func (m *Call_UpdateMaintenanceSchedule) ProtoSize() (n int) { var l int _ = l @@ -10092,6 +10791,10 @@ func (m *Response) ProtoSize() (n int) { l = m.GetQuota.ProtoSize() n += 2 + l + sovMaster(uint64(l)) } + if m.GetOperations != nil { + l = m.GetOperations.ProtoSize() + n += 2 + l + sovMaster(uint64(l)) + } return n } @@ -10262,6 +10965,12 @@ func (m *Response_GetAgents_Agent_ResourceProvider) ProtoSize() (n int) { _ = l l = m.ResourceProviderInfo.ProtoSize() n += 1 + l + sovMaster(uint64(l)) + if len(m.TotalResources) > 0 { + for _, e := range m.TotalResources { + l = e.ProtoSize() + n += 1 + l + sovMaster(uint64(l)) + } + } return n } @@ -10364,6 +11073,18 @@ func (m *Response_GetExecutors_Executor) ProtoSize() (n int) { 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 + sovMaster(uint64(l)) + } + } + return n +} + func (m *Response_GetTasks) ProtoSize() (n int) { var l int _ = l @@ -10612,6 +11333,8 @@ func (this *Call) String() string { `RemoveQuota:` + strings.Replace(fmt.Sprintf("%v", this.RemoveQuota), "Call_RemoveQuota", "Call_RemoveQuota", 1) + `,`, `Teardown:` + strings.Replace(fmt.Sprintf("%v", this.Teardown), "Call_Teardown", "Call_Teardown", 1) + `,`, `MarkAgentGone:` + strings.Replace(fmt.Sprintf("%v", this.MarkAgentGone), "Call_MarkAgentGone", "Call_MarkAgentGone", 1) + `,`, + `GrowVolume:` + strings.Replace(fmt.Sprintf("%v", this.GrowVolume), "Call_GrowVolume", "Call_GrowVolume", 1) + `,`, + `ShrinkVolume:` + strings.Replace(fmt.Sprintf("%v", this.ShrinkVolume), "Call_ShrinkVolume", "Call_ShrinkVolume", 1) + `,`, `}`, }, "") return s @@ -10713,6 +11436,30 @@ func (this *Call_DestroyVolumes) String() string { }, "") return s } +func (this *Call_GrowVolume) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Call_GrowVolume{`, + `AgentID:` + strings.Replace(fmt.Sprintf("%v", this.AgentID), "AgentID", "mesos.AgentID", 1) + `,`, + `Volume:` + strings.Replace(strings.Replace(this.Volume.String(), "Resource", "mesos.Resource", 1), `&`, ``, 1) + `,`, + `Addition:` + strings.Replace(strings.Replace(this.Addition.String(), "Resource", "mesos.Resource", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *Call_ShrinkVolume) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Call_ShrinkVolume{`, + `AgentID:` + strings.Replace(fmt.Sprintf("%v", this.AgentID), "AgentID", "mesos.AgentID", 1) + `,`, + `Volume:` + strings.Replace(strings.Replace(this.Volume.String(), "Resource", "mesos.Resource", 1), `&`, ``, 1) + `,`, + `Subtract:` + strings.Replace(strings.Replace(this.Subtract.String(), "Value_Scalar", "mesos.Value_Scalar", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} func (this *Call_UpdateMaintenanceSchedule) String() string { if this == nil { return "nil" @@ -10807,6 +11554,7 @@ func (this *Response) String() string { `GetMaintenanceStatus:` + strings.Replace(fmt.Sprintf("%v", this.GetMaintenanceStatus), "Response_GetMaintenanceStatus", "Response_GetMaintenanceStatus", 1) + `,`, `GetMaintenanceSchedule:` + strings.Replace(fmt.Sprintf("%v", this.GetMaintenanceSchedule), "Response_GetMaintenanceSchedule", "Response_GetMaintenanceSchedule", 1) + `,`, `GetQuota:` + strings.Replace(fmt.Sprintf("%v", this.GetQuota), "Response_GetQuota", "Response_GetQuota", 1) + `,`, + `GetOperations:` + strings.Replace(fmt.Sprintf("%v", this.GetOperations), "Response_GetOperations", "Response_GetOperations", 1) + `,`, `}`, }, "") return s @@ -10932,6 +11680,7 @@ func (this *Response_GetAgents_Agent_ResourceProvider) String() string { } s := strings.Join([]string{`&Response_GetAgents_Agent_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 @@ -10990,6 +11739,16 @@ func (this *Response_GetExecutors_Executor) String() string { }, "") 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" @@ -11751,6 +12510,72 @@ func (m *Call) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 18: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GrowVolume", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMaster + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMaster + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.GrowVolume == nil { + m.GrowVolume = &Call_GrowVolume{} + } + if err := m.GrowVolume.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 19: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ShrinkVolume", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMaster + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMaster + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ShrinkVolume == nil { + m.ShrinkVolume = &Call_ShrinkVolume{} + } + if err := m.ShrinkVolume.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipMaster(dAtA[iNdEx:]) @@ -12205,7 +13030,236 @@ func (m *Call_UpdateWeights) Unmarshal(dAtA []byte) error { switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WeightInfos", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WeightInfos", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMaster + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMaster + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.WeightInfos = append(m.WeightInfos, mesos.WeightInfo{}) + if err := m.WeightInfos[len(m.WeightInfos)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipMaster(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthMaster + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Call_ReserveResources) 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 ErrIntOverflowMaster + } + 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: ReserveResources: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ReserveResources: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AgentID", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMaster + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMaster + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.AgentID.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 Resources", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMaster + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMaster + } + 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 + default: + iNdEx = preIndex + skippy, err := skipMaster(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthMaster + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + if hasFields[0]&uint64(0x00000001) == 0 { + return github_com_gogo_protobuf_proto.NewRequiredNotSetError("agent_id") + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Call_UnreserveResources) 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 ErrIntOverflowMaster + } + 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: UnreserveResources: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: UnreserveResources: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AgentID", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMaster + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMaster + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.AgentID.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 Resources", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -12229,8 +13283,8 @@ func (m *Call_UpdateWeights) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.WeightInfos = append(m.WeightInfos, mesos.WeightInfo{}) - if err := m.WeightInfos[len(m.WeightInfos)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + 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 @@ -12249,13 +13303,16 @@ func (m *Call_UpdateWeights) Unmarshal(dAtA []byte) error { iNdEx += skippy } } + if hasFields[0]&uint64(0x00000001) == 0 { + return github_com_gogo_protobuf_proto.NewRequiredNotSetError("agent_id") + } if iNdEx > l { return io.ErrUnexpectedEOF } return nil } -func (m *Call_ReserveResources) Unmarshal(dAtA []byte) error { +func (m *Call_CreateVolumes) Unmarshal(dAtA []byte) error { var hasFields [1]uint64 l := len(dAtA) iNdEx := 0 @@ -12279,10 +13336,10 @@ func (m *Call_ReserveResources) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ReserveResources: wiretype end group for non-group") + return fmt.Errorf("proto: CreateVolumes: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ReserveResources: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: CreateVolumes: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12318,7 +13375,7 @@ func (m *Call_ReserveResources) Unmarshal(dAtA []byte) error { hasFields[0] |= uint64(0x00000001) case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Resources", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Volumes", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -12342,8 +13399,8 @@ func (m *Call_ReserveResources) Unmarshal(dAtA []byte) error { 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 { + m.Volumes = append(m.Volumes, mesos.Resource{}) + if err := m.Volumes[len(m.Volumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -12371,7 +13428,7 @@ func (m *Call_ReserveResources) Unmarshal(dAtA []byte) error { } return nil } -func (m *Call_UnreserveResources) Unmarshal(dAtA []byte) error { +func (m *Call_DestroyVolumes) Unmarshal(dAtA []byte) error { var hasFields [1]uint64 l := len(dAtA) iNdEx := 0 @@ -12395,10 +13452,10 @@ func (m *Call_UnreserveResources) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: UnreserveResources: wiretype end group for non-group") + return fmt.Errorf("proto: DestroyVolumes: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: UnreserveResources: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: DestroyVolumes: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12434,7 +13491,7 @@ func (m *Call_UnreserveResources) Unmarshal(dAtA []byte) error { hasFields[0] |= uint64(0x00000001) case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Resources", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Volumes", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -12458,8 +13515,8 @@ func (m *Call_UnreserveResources) Unmarshal(dAtA []byte) error { 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 { + m.Volumes = append(m.Volumes, mesos.Resource{}) + if err := m.Volumes[len(m.Volumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -12487,7 +13544,7 @@ func (m *Call_UnreserveResources) Unmarshal(dAtA []byte) error { } return nil } -func (m *Call_CreateVolumes) Unmarshal(dAtA []byte) error { +func (m *Call_GrowVolume) Unmarshal(dAtA []byte) error { var hasFields [1]uint64 l := len(dAtA) iNdEx := 0 @@ -12511,10 +13568,10 @@ func (m *Call_CreateVolumes) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CreateVolumes: wiretype end group for non-group") + return fmt.Errorf("proto: GrowVolume: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CreateVolumes: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: GrowVolume: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12543,14 +13600,16 @@ func (m *Call_CreateVolumes) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + if m.AgentID == nil { + m.AgentID = &mesos.AgentID{} + } if err := m.AgentID.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 Volumes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Volume", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -12574,11 +13633,42 @@ func (m *Call_CreateVolumes) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Volumes = append(m.Volumes, mesos.Resource{}) - if err := m.Volumes[len(m.Volumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Volume.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + hasFields[0] |= uint64(0x00000001) + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Addition", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMaster + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMaster + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Addition.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + hasFields[0] |= uint64(0x00000002) default: iNdEx = preIndex skippy, err := skipMaster(dAtA[iNdEx:]) @@ -12595,7 +13685,10 @@ func (m *Call_CreateVolumes) Unmarshal(dAtA []byte) error { } } if hasFields[0]&uint64(0x00000001) == 0 { - return github_com_gogo_protobuf_proto.NewRequiredNotSetError("agent_id") + return github_com_gogo_protobuf_proto.NewRequiredNotSetError("volume") + } + if hasFields[0]&uint64(0x00000002) == 0 { + return github_com_gogo_protobuf_proto.NewRequiredNotSetError("addition") } if iNdEx > l { @@ -12603,7 +13696,7 @@ func (m *Call_CreateVolumes) Unmarshal(dAtA []byte) error { } return nil } -func (m *Call_DestroyVolumes) Unmarshal(dAtA []byte) error { +func (m *Call_ShrinkVolume) Unmarshal(dAtA []byte) error { var hasFields [1]uint64 l := len(dAtA) iNdEx := 0 @@ -12627,10 +13720,10 @@ func (m *Call_DestroyVolumes) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: DestroyVolumes: wiretype end group for non-group") + return fmt.Errorf("proto: ShrinkVolume: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: DestroyVolumes: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ShrinkVolume: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12659,14 +13752,16 @@ func (m *Call_DestroyVolumes) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + if m.AgentID == nil { + m.AgentID = &mesos.AgentID{} + } if err := m.AgentID.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 Volumes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Volume", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -12690,11 +13785,42 @@ func (m *Call_DestroyVolumes) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Volumes = append(m.Volumes, mesos.Resource{}) - if err := m.Volumes[len(m.Volumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Volume.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + hasFields[0] |= uint64(0x00000001) + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Subtract", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMaster + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMaster + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Subtract.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + hasFields[0] |= uint64(0x00000002) default: iNdEx = preIndex skippy, err := skipMaster(dAtA[iNdEx:]) @@ -12711,7 +13837,10 @@ func (m *Call_DestroyVolumes) Unmarshal(dAtA []byte) error { } } if hasFields[0]&uint64(0x00000001) == 0 { - return github_com_gogo_protobuf_proto.NewRequiredNotSetError("agent_id") + return github_com_gogo_protobuf_proto.NewRequiredNotSetError("volume") + } + if hasFields[0]&uint64(0x00000002) == 0 { + return github_com_gogo_protobuf_proto.NewRequiredNotSetError("subtract") } if iNdEx > l { @@ -13947,6 +15076,39 @@ func (m *Response) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 20: + 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 ErrIntOverflowMaster + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMaster + } + 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 := skipMaster(dAtA[iNdEx:]) @@ -15302,6 +16464,37 @@ func (m *Response_GetAgents_Agent_ResourceProvider) Unmarshal(dAtA []byte) error } 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 ErrIntOverflowMaster + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMaster + } + 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 := skipMaster(dAtA[iNdEx:]) @@ -16080,6 +17273,87 @@ func (m *Response_GetExecutors_Executor) Unmarshal(dAtA []byte) error { } 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 ErrIntOverflowMaster + } + 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 ErrIntOverflowMaster + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMaster + } + 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 := skipMaster(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthMaster + } + 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 @@ -18019,209 +19293,223 @@ var ( func init() { proto.RegisterFile("master/master.proto", fileDescriptorMaster) } var fileDescriptorMaster = []byte{ - // 3264 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x5a, 0x4d, 0x6c, 0x1b, 0xd7, - 0xb5, 0xf6, 0x50, 0xa4, 0x48, 0x1e, 0xfe, 0x0d, 0xaf, 0x14, 0x87, 0x1e, 0x3b, 0xb4, 0xe2, 0xf7, - 0x12, 0xfb, 0xbd, 0xc4, 0xd2, 0x8b, 0xf2, 0xf2, 0x83, 0xc4, 0xcf, 0x79, 0x94, 0x38, 0x96, 0x18, - 0x4b, 0xa2, 0x72, 0x87, 0x92, 0xdb, 0x6c, 0x88, 0x11, 0xe7, 0x8a, 0x22, 0x4c, 0x72, 0x98, 0x99, - 0xa1, 0x5c, 0x17, 0x2d, 0xd0, 0x22, 0x68, 0x90, 0x65, 0x17, 0xdd, 0x37, 0x40, 0x37, 0x5d, 0x77, - 0xd5, 0x65, 0xbb, 0x0b, 0xba, 0xca, 0xb2, 0x9b, 0x1a, 0xb5, 0x52, 0x14, 0x5d, 0x06, 0xe8, 0xa6, - 0x9b, 0x02, 0xc5, 0xfd, 0x9b, 0x1f, 0x72, 0x48, 0xcb, 0x76, 0x9a, 0x8d, 0x7d, 0xef, 0x99, 0xef, - 0x7c, 0xf7, 0xce, 0xfd, 0xf9, 0x78, 0xce, 0x19, 0xc1, 0xd2, 0xc0, 0x74, 0x3d, 0xe2, 0xac, 0xf1, - 0xff, 0x56, 0x47, 0x8e, 0xed, 0xd9, 0x28, 0x3f, 0x20, 0xae, 0xed, 0xae, 0x72, 0x9b, 0xf6, 0x3f, - 0xdd, 0x9e, 0x77, 0x32, 0x3e, 0x5a, 0xed, 0xd8, 0x83, 0x35, 0xf6, 0x80, 0xff, 0x7b, 0xb3, 0x6b, - 0xaf, 0x99, 0xa3, 0xde, 0xda, 0xe9, 0x1b, 0x6b, 0xfd, 0xde, 0x11, 0xb7, 0x71, 0x7f, 0xed, 0xf6, - 0xb9, 0x3c, 0xcc, 0x7e, 0xdf, 0xee, 0x98, 0x9e, 0xed, 0x04, 0x2d, 0xe1, 0xbf, 0x71, 0xbe, 0x11, - 0xcd, 0xde, 0xd0, 0x23, 0x43, 0x73, 0xd8, 0x21, 0xe1, 0xb6, 0xe0, 0x78, 0xfb, 0x5c, 0x1c, 0x9f, - 0x8c, 0x6d, 0xcf, 0xe4, 0xff, 0x0a, 0xbf, 0x9b, 0x21, 0xbf, 0xae, 0xdd, 0xb5, 0xd7, 0x98, 0xf9, - 0x68, 0x7c, 0xcc, 0x7a, 0xac, 0xc3, 0x5a, 0x1c, 0x7e, 0xed, 0xaf, 0x97, 0x20, 0xb9, 0x69, 0xf6, - 0xfb, 0xe8, 0x0d, 0x48, 0x7a, 0x0f, 0x47, 0xa4, 0xa2, 0xac, 0x28, 0x37, 0x8a, 0xeb, 0x2f, 0xae, - 0x86, 0x97, 0x70, 0x95, 0x22, 0x56, 0x5b, 0x0f, 0x47, 0x64, 0x23, 0xf9, 0xe5, 0xa3, 0xab, 0x17, - 0x30, 0x83, 0xa2, 0xdb, 0x90, 0xeb, 0x12, 0xaf, 0x3d, 0x20, 0x9e, 0xd3, 0xeb, 0xb8, 0x95, 0xc4, - 0x8a, 0x72, 0x23, 0xb7, 0xfe, 0x52, 0x8c, 0xe7, 0x16, 0xf1, 0x76, 0x39, 0x08, 0x43, 0xd7, 0x6f, - 0xa3, 0x3d, 0x28, 0xbb, 0xc4, 0x6b, 0xf7, 0xed, 0x6e, 0xb7, 0x37, 0xec, 0xb6, 0xfb, 0xe4, 0x94, - 0xf4, 0x2b, 0x0b, 0x8c, 0xe5, 0x5a, 0x0c, 0x8b, 0x41, 0xbc, 0x1d, 0x0e, 0xdd, 0xa1, 0x48, 0x5c, - 0x72, 0xa3, 0x06, 0xf4, 0x3e, 0x40, 0xbf, 0xe7, 0x7a, 0xed, 0xe3, 0x5e, 0x9f, 0xb8, 0x95, 0x24, - 0x23, 0xba, 0x12, 0x43, 0xb4, 0xd3, 0x73, 0xbd, 0x3b, 0x14, 0x83, 0xb3, 0x7d, 0xd9, 0x44, 0xef, - 0x42, 0xd6, 0x21, 0xa6, 0xc5, 0x9c, 0x2b, 0x29, 0xe6, 0x7b, 0x39, 0xc6, 0x17, 0x13, 0xd3, 0xa2, - 0x0e, 0x38, 0xe3, 0x88, 0x16, 0xda, 0x82, 0xe2, 0x78, 0x64, 0x99, 0x1e, 0x69, 0x3f, 0x20, 0xbd, - 0xee, 0x89, 0xe7, 0x56, 0x16, 0x99, 0xfb, 0x4a, 0x8c, 0xfb, 0x01, 0x03, 0xde, 0xe3, 0x38, 0x5c, - 0x18, 0x87, 0xbb, 0x68, 0x1f, 0xca, 0x0e, 0x71, 0x89, 0x73, 0x4a, 0xda, 0x0e, 0x71, 0xed, 0xb1, - 0xd3, 0x21, 0x6e, 0x25, 0xcd, 0xb8, 0xfe, 0x23, 0x76, 0x2a, 0x0c, 0x8b, 0x25, 0x14, 0xab, 0xce, - 0x84, 0x05, 0x1d, 0xc2, 0xd2, 0x78, 0x38, 0xcd, 0x99, 0x61, 0x9c, 0xaf, 0xc4, 0xcd, 0x6f, 0x38, - 0xc9, 0x81, 0xd1, 0x78, 0xca, 0x46, 0x5f, 0xb9, 0xe3, 0x10, 0xfa, 0xca, 0xa7, 0x76, 0x7f, 0x3c, - 0x20, 0x6e, 0x25, 0x3b, 0xf3, 0x95, 0x37, 0x19, 0xf0, 0x90, 0xe3, 0x70, 0xa1, 0x13, 0xee, 0xa2, - 0x0f, 0xa1, 0x64, 0x11, 0xd7, 0x73, 0xec, 0x87, 0x3e, 0x13, 0x30, 0xa6, 0x97, 0x63, 0x98, 0xea, - 0x1c, 0x29, 0xa9, 0x8a, 0x56, 0xa4, 0x8f, 0xfa, 0x70, 0x59, 0xec, 0x43, 0xe8, 0x36, 0xb5, 0xdd, - 0xce, 0x09, 0xb1, 0xc6, 0x7d, 0x52, 0xc9, 0x31, 0xde, 0xd7, 0x67, 0x6e, 0xca, 0x6e, 0xe0, 0x64, - 0x08, 0x1f, 0x7c, 0x69, 0x3c, 0xeb, 0x11, 0xdd, 0x2c, 0xd7, 0x33, 0x1d, 0x2f, 0x3c, 0x58, 0x25, - 0x3f, 0x73, 0xb3, 0x0c, 0x8a, 0x0d, 0xf1, 0x60, 0xd5, 0x9d, 0xb0, 0xa0, 0x5d, 0x50, 0x5d, 0xcf, - 0x1e, 0x45, 0x08, 0x0b, 0xb3, 0x6f, 0x83, 0x67, 0x8f, 0xc2, 0x7c, 0x25, 0x37, 0x6a, 0xa0, 0x07, - 0x9a, 0xde, 0x2e, 0xa6, 0x0d, 0x95, 0xe2, 0xcc, 0x03, 0x6d, 0x10, 0xef, 0x23, 0x0a, 0xc1, 0x19, - 0x57, 0xb4, 0x50, 0x0d, 0xf2, 0x0e, 0x19, 0xd8, 0xa7, 0x44, 0x38, 0x97, 0x98, 0x73, 0x35, 0xf6, - 0x08, 0x52, 0x18, 0xf7, 0xcf, 0x39, 0x41, 0x07, 0xbd, 0x03, 0x19, 0x8f, 0x98, 0x8e, 0x65, 0x3f, - 0x18, 0x56, 0xd4, 0x99, 0x63, 0xb7, 0x04, 0x04, 0xfb, 0x60, 0xb4, 0x0d, 0xa5, 0x81, 0xe9, 0xdc, - 0x6f, 0x9b, 0x5d, 0x32, 0xf4, 0xda, 0x5d, 0x7b, 0x48, 0x2a, 0xe5, 0x99, 0x47, 0x6b, 0xd7, 0x74, - 0xee, 0xd7, 0x28, 0x70, 0xcb, 0x1e, 0x12, 0x5c, 0x18, 0x84, 0xbb, 0xda, 0xfb, 0x00, 0x81, 0xee, - 0xa0, 0x9b, 0x90, 0xf6, 0x7a, 0x03, 0x62, 0x8f, 0x3d, 0xa6, 0x70, 0xb9, 0xf5, 0x25, 0xc1, 0x57, - 0x1f, 0x3b, 0xa6, 0xd7, 0xb3, 0x87, 0x8d, 0xe1, 0xb1, 0x8d, 0x25, 0x46, 0xb3, 0xa0, 0x34, 0x21, - 0x37, 0x48, 0x83, 0x14, 0x57, 0x28, 0x65, 0x25, 0x71, 0xa3, 0x20, 0x84, 0x90, 0x9b, 0xd0, 0x5b, - 0x90, 0xb1, 0x04, 0x4f, 0x25, 0xb1, 0x92, 0x98, 0x41, 0x2f, 0x7c, 0x7c, 0xa8, 0xf6, 0x0a, 0x64, - 0x7d, 0x2d, 0x42, 0x15, 0x48, 0x8e, 0x4c, 0xef, 0x84, 0xd1, 0x67, 0xa5, 0xce, 0x52, 0x8b, 0xf6, - 0x31, 0x64, 0xa4, 0xec, 0xcc, 0x46, 0xa1, 0x2b, 0xb0, 0x68, 0x1f, 0x1f, 0xbb, 0xc4, 0x63, 0x33, - 0x48, 0x8a, 0x67, 0xc2, 0x86, 0x2e, 0xc2, 0x62, 0x9f, 0x0c, 0xbb, 0xde, 0x09, 0x13, 0xd8, 0x24, - 0x16, 0x3d, 0xed, 0x2e, 0x14, 0x22, 0x9a, 0x84, 0xde, 0x83, 0x3c, 0x97, 0xb1, 0x76, 0x6f, 0x78, - 0x6c, 0xbb, 0x15, 0x65, 0x65, 0xe1, 0x46, 0x6e, 0xbd, 0x2c, 0x5e, 0x87, 0xa3, 0x42, 0x2f, 0x93, - 0x7b, 0xe0, 0x5b, 0x5c, 0xed, 0x53, 0x05, 0xd4, 0x49, 0x55, 0x42, 0xef, 0x41, 0x86, 0x6f, 0x66, - 0xcf, 0x62, 0xb3, 0xce, 0xad, 0x17, 0x05, 0x19, 0xdb, 0xab, 0x46, 0x7d, 0xa3, 0x44, 0x99, 0xce, - 0x1e, 0x5d, 0x4d, 0x0b, 0x03, 0x4e, 0x33, 0x87, 0x86, 0x85, 0xde, 0xa4, 0xa2, 0x2c, 0x55, 0x2b, - 0xc1, 0x66, 0x52, 0x12, 0xce, 0x72, 0x00, 0x31, 0x8f, 0x00, 0xa7, 0xfd, 0x4c, 0x01, 0x34, 0xad, - 0x63, 0xdf, 0xfd, 0x3c, 0x7e, 0x04, 0x85, 0x88, 0xf6, 0x3d, 0xd7, 0x0c, 0xd6, 0x20, 0x2d, 0x05, - 0x72, 0xee, 0xf8, 0x12, 0xa5, 0xfd, 0x18, 0x8a, 0x51, 0xbd, 0xfc, 0x6e, 0x87, 0xff, 0x18, 0x2e, - 0xcd, 0x94, 0x55, 0xf4, 0x7f, 0x90, 0xf1, 0x65, 0x99, 0xcf, 0x24, 0x50, 0x87, 0x20, 0x0e, 0x92, - 0x70, 0x79, 0x6d, 0xa4, 0x8b, 0x76, 0x07, 0xd4, 0x49, 0x39, 0x45, 0xeb, 0x90, 0x19, 0x98, 0x9d, - 0x93, 0xde, 0x90, 0xc8, 0x23, 0xab, 0x0a, 0xca, 0x5d, 0x6e, 0x6e, 0xd4, 0x25, 0x8f, 0xc4, 0x69, - 0x3a, 0x94, 0x26, 0x54, 0xf4, 0x99, 0x68, 0xf6, 0x21, 0x23, 0x45, 0x14, 0xd5, 0xa1, 0xc0, 0x34, - 0xb3, 0xed, 0x90, 0x4f, 0xc6, 0xc4, 0xf5, 0xc4, 0xeb, 0x5d, 0x12, 0x24, 0x3c, 0x50, 0xe3, 0x7a, - 0xc9, 0x01, 0x82, 0x2d, 0xff, 0x49, 0xc8, 0xa6, 0x5d, 0x87, 0x5c, 0x48, 0x59, 0xe9, 0x9d, 0x77, - 0x6c, 0xb1, 0x54, 0xfe, 0x9d, 0xa7, 0x16, 0xed, 0x10, 0x32, 0x52, 0x43, 0xd1, 0x87, 0x90, 0x3f, - 0x76, 0xcc, 0x01, 0x79, 0x60, 0x3b, 0xf7, 0x83, 0x2d, 0x46, 0x62, 0xe4, 0x3b, 0xf2, 0x51, 0xa3, - 0xbe, 0xb1, 0x24, 0xb6, 0x39, 0x17, 0x32, 0xe2, 0x9c, 0xef, 0xdc, 0xb0, 0xa8, 0x2a, 0x44, 0xb4, - 0xf5, 0x79, 0xce, 0xce, 0xb5, 0x4f, 0x53, 0x90, 0xa4, 0xb1, 0x23, 0xca, 0x41, 0xfa, 0x60, 0xef, - 0xee, 0x5e, 0xf3, 0xde, 0x9e, 0x7a, 0x01, 0x15, 0x01, 0xb6, 0xf4, 0x56, 0x7b, 0x5b, 0xaf, 0xed, - 0xb4, 0xb6, 0x55, 0x05, 0x15, 0x20, 0x4b, 0xfb, 0x77, 0x76, 0x6a, 0x5b, 0x86, 0x9a, 0x40, 0x25, - 0xc8, 0xd1, 0xee, 0xa1, 0x8e, 0x8d, 0x46, 0x73, 0x4f, 0x5d, 0x90, 0x86, 0x5d, 0xbd, 0x85, 0x1b, - 0x9b, 0x86, 0x9a, 0x44, 0x2f, 0x40, 0x99, 0x1a, 0x76, 0x9a, 0x5b, 0x5b, 0x8d, 0xbd, 0xad, 0xf6, - 0x8e, 0x7e, 0xa8, 0xef, 0xa8, 0x29, 0x6a, 0x36, 0xa6, 0xcc, 0x8b, 0x74, 0xb8, 0x9d, 0x86, 0xd1, - 0x6a, 0xdf, 0x69, 0xec, 0xe8, 0x86, 0x9a, 0xa6, 0xc3, 0x61, 0xbd, 0x56, 0x67, 0x7d, 0x35, 0x23, - 0x47, 0x37, 0x5a, 0xb5, 0x96, 0xae, 0x66, 0xe5, 0xe4, 0x6a, 0x5b, 0xfa, 0x5e, 0xcb, 0x50, 0x01, - 0x21, 0x28, 0xb2, 0xc9, 0xe1, 0xda, 0xae, 0x7e, 0xaf, 0x89, 0xef, 0x1a, 0x6a, 0x0e, 0x95, 0xa1, - 0x40, 0x6d, 0xfa, 0xf7, 0xf4, 0xcd, 0x83, 0x56, 0x13, 0x1b, 0x6a, 0x5e, 0xb2, 0xb4, 0x6a, 0xc6, - 0x5d, 0x43, 0x2d, 0xc8, 0x2e, 0x6e, 0xd2, 0x21, 0x8b, 0xf2, 0x0d, 0xee, 0xe9, 0x8d, 0xad, 0xed, - 0x96, 0xa1, 0x96, 0x28, 0xeb, 0xc1, 0x7e, 0xbd, 0xd6, 0xd2, 0x7d, 0x9b, 0x2a, 0x47, 0xde, 0xad, - 0x19, 0x2d, 0x1d, 0xab, 0x65, 0xca, 0x61, 0x1c, 0x6c, 0x18, 0x9b, 0xb8, 0xb1, 0xa1, 0xab, 0x88, - 0xbe, 0x1d, 0xd6, 0x0d, 0x1d, 0x1f, 0xea, 0x6d, 0xac, 0x1b, 0xcd, 0x03, 0xbc, 0xa9, 0x1b, 0xea, - 0x12, 0x7a, 0x11, 0x96, 0x0e, 0xf6, 0xa6, 0x1f, 0x2c, 0xd3, 0x21, 0x36, 0xb1, 0x4e, 0x87, 0x38, - 0x6c, 0xee, 0x1c, 0xec, 0xea, 0x86, 0xfa, 0x02, 0x5a, 0x82, 0x52, 0x5d, 0x37, 0x5a, 0xb8, 0xf9, - 0x7d, 0xdf, 0x78, 0x11, 0x69, 0x70, 0x91, 0x8f, 0xdb, 0xd8, 0x6b, 0xe9, 0x7b, 0xb5, 0xbd, 0x4d, - 0x9d, 0x2d, 0xc6, 0x81, 0xa1, 0xbe, 0x88, 0xae, 0x40, 0x65, 0xea, 0xd9, 0xe6, 0xb6, 0x5e, 0x3f, - 0xd8, 0xd1, 0xd5, 0x0a, 0xba, 0x0a, 0x97, 0xc5, 0x5b, 0xc4, 0x02, 0x2e, 0xb1, 0x1d, 0x69, 0xd5, - 0x70, 0x84, 0x40, 0xd5, 0xd0, 0x32, 0xa8, 0x46, 0xab, 0xb9, 0x1f, 0xb1, 0x5e, 0x96, 0x6b, 0xf6, - 0xd1, 0x41, 0xb3, 0x55, 0x53, 0xaf, 0xb0, 0xd7, 0xf7, 0xbb, 0x2f, 0x21, 0x15, 0xf2, 0x58, 0xdf, - 0x6d, 0x1e, 0xea, 0xc2, 0x52, 0x45, 0x79, 0xc8, 0xb4, 0xf4, 0x1a, 0xae, 0xd3, 0x43, 0x75, 0x95, - 0xbe, 0xda, 0x6e, 0x0d, 0xdf, 0xe5, 0x1b, 0xd7, 0xde, 0x6a, 0xee, 0xe9, 0xea, 0x8a, 0x96, 0xfc, - 0xfc, 0x57, 0x55, 0xe5, 0xda, 0x9f, 0xfe, 0x8b, 0xfe, 0x8a, 0xba, 0x23, 0x7b, 0xe8, 0x12, 0xf4, - 0x56, 0x24, 0xd9, 0x99, 0x08, 0x4d, 0x24, 0x6a, 0x3a, 0xe1, 0xf9, 0x00, 0x68, 0xfa, 0xd2, 0x3e, - 0x21, 0x66, 0xdf, 0x3b, 0x11, 0xf9, 0xce, 0xca, 0x0c, 0xe7, 0x2d, 0xe2, 0x6d, 0x33, 0x1c, 0xce, - 0x76, 0x65, 0x13, 0xdd, 0x02, 0xda, 0x69, 0x1f, 0xf7, 0xcd, 0xae, 0x2b, 0x32, 0x9d, 0xab, 0xb3, - 0xfd, 0xef, 0x50, 0x18, 0xce, 0x74, 0x45, 0x0b, 0x6d, 0xf0, 0x7c, 0xeb, 0x94, 0x38, 0x2e, 0x0d, - 0x34, 0x92, 0x71, 0x81, 0x72, 0xd8, 0xff, 0x90, 0x03, 0x59, 0xce, 0x25, 0xda, 0x92, 0x43, 0xe6, - 0x6c, 0xa9, 0x27, 0x71, 0xc4, 0xe5, 0x6d, 0x18, 0xca, 0xdd, 0xa9, 0xbc, 0x8d, 0xe7, 0x3c, 0xaf, - 0xce, 0x66, 0x8a, 0xe6, 0x6e, 0xdd, 0x89, 0xe8, 0xea, 0x83, 0x48, 0xee, 0x96, 0x9e, 0xbb, 0xb4, - 0xb1, 0xf9, 0xdb, 0xad, 0x70, 0xfe, 0x96, 0x99, 0xbb, 0xb4, 0x31, 0x39, 0x9c, 0xd8, 0x18, 0xd7, - 0x33, 0x3d, 0x22, 0x72, 0x99, 0x39, 0x1b, 0x63, 0x50, 0x18, 0xdb, 0x18, 0xd6, 0x92, 0xe7, 0x82, - 0x09, 0x9e, 0x4c, 0x60, 0xe6, 0x9c, 0x0b, 0xa6, 0x90, 0x2e, 0x3b, 0x17, 0xbc, 0x89, 0xee, 0x42, - 0x91, 0x9d, 0x0b, 0x29, 0xc1, 0xae, 0xc8, 0x56, 0xfe, 0x73, 0xce, 0xe1, 0xf0, 0xb1, 0xb8, 0xd0, - 0x0d, 0x77, 0xd1, 0x36, 0x50, 0x43, 0x9b, 0xfc, 0x80, 0x74, 0xc6, 0x9e, 0xed, 0xb8, 0xf1, 0x59, - 0x49, 0x98, 0x4b, 0x97, 0x50, 0x9c, 0xef, 0x86, 0x7a, 0x72, 0x55, 0x3c, 0xd3, 0xbd, 0xef, 0x8a, - 0x54, 0x64, 0xce, 0xaa, 0xb4, 0x28, 0x8c, 0xad, 0x0a, 0x6b, 0x49, 0x6f, 0xfa, 0x43, 0xe5, 0x8a, - 0x04, 0x64, 0x8e, 0x37, 0xa6, 0x30, 0xe6, 0xcd, 0x5a, 0xf2, 0xa0, 0xca, 0x94, 0xba, 0xf4, 0xa4, - 0x83, 0x2a, 0x73, 0x6a, 0xba, 0x13, 0x32, 0x96, 0x15, 0xfb, 0xc2, 0xd1, 0x22, 0x0f, 0x99, 0xb3, - 0x2f, 0xbb, 0xcc, 0xc4, 0xf6, 0x85, 0x37, 0x91, 0x09, 0x17, 0x39, 0x41, 0x28, 0x9f, 0xf4, 0x4c, - 0x6f, 0xec, 0x8a, 0xa4, 0xe4, 0xb5, 0x79, 0x64, 0x41, 0xdc, 0xc3, 0x5c, 0xf0, 0x72, 0x37, 0xc6, - 0x8a, 0xba, 0x50, 0x99, 0x1a, 0x42, 0xc6, 0x46, 0x88, 0x0d, 0x72, 0xf3, 0x7c, 0x83, 0xc8, 0x9c, - 0xf5, 0x62, 0x37, 0xd6, 0x2e, 0xb7, 0x83, 0xa7, 0x74, 0x4b, 0x4f, 0xda, 0x0e, 0x91, 0x13, 0x76, - 0x45, 0x4b, 0x7b, 0x0d, 0xb2, 0xbe, 0xa2, 0xa1, 0x2a, 0xa4, 0xb9, 0x06, 0x3e, 0x64, 0xc1, 0x40, - 0x46, 0x06, 0x7f, 0xc2, 0xa8, 0xbd, 0x09, 0x19, 0x29, 0x5f, 0xe8, 0x3a, 0xa4, 0xb8, 0xdc, 0xf1, - 0x70, 0x2a, 0x27, 0xe3, 0x91, 0xbe, 0xd9, 0x95, 0x39, 0x14, 0x7b, 0xae, 0x35, 0x58, 0xbe, 0x26, - 0x75, 0xea, 0x7d, 0xc8, 0x0b, 0x9d, 0x63, 0x79, 0xc8, 0x44, 0x34, 0x23, 0x50, 0xe1, 0x3c, 0xe4, - 0x34, 0x30, 0x4d, 0xa7, 0x7e, 0x52, 0xee, 0xf8, 0x1c, 0x0a, 0x32, 0xa4, 0x63, 0x56, 0x39, 0x79, - 0x81, 0xd1, 0x6e, 0x42, 0x69, 0xeb, 0xfc, 0xa9, 0x9f, 0x56, 0x0b, 0xe7, 0x70, 0xff, 0x0b, 0x40, - 0xf5, 0x27, 0x92, 0x3a, 0xc9, 0x48, 0x99, 0x22, 0x42, 0x13, 0xce, 0x1e, 0x8b, 0xbe, 0xab, 0xbd, - 0x1b, 0xcd, 0xef, 0xdc, 0xde, 0x0f, 0x79, 0xac, 0x27, 0x73, 0x38, 0x66, 0x41, 0x08, 0x92, 0x96, - 0xe9, 0x99, 0x2c, 0xbb, 0xcb, 0x63, 0xd6, 0xd6, 0xbe, 0x48, 0xb0, 0x95, 0xe6, 0x2a, 0x14, 0xb9, - 0xad, 0xca, 0xd3, 0xde, 0xd6, 0x29, 0xd5, 0x48, 0x3c, 0xab, 0x6a, 0x4c, 0x8b, 0xd9, 0xc2, 0xb3, - 0x8b, 0x59, 0x54, 0x5a, 0x93, 0x4f, 0x2d, 0xad, 0xda, 0x2f, 0xd2, 0xec, 0xe4, 0x0a, 0xa1, 0xad, - 0xc3, 0xa2, 0xa0, 0xe2, 0x9b, 0xf3, 0xea, 0x93, 0xa8, 0x78, 0x7c, 0x2b, 0x93, 0x69, 0xee, 0x8b, - 0x6a, 0xa0, 0x3a, 0xa4, 0x63, 0x9f, 0x12, 0x87, 0x58, 0x72, 0x6a, 0x89, 0x48, 0xb6, 0xc0, 0x83, - 0xe0, 0x60, 0xb7, 0x4b, 0x3e, 0x5e, 0x4c, 0xeb, 0x9f, 0x29, 0x48, 0xb1, 0x26, 0x7a, 0x0b, 0x40, - 0x84, 0xd6, 0xc1, 0x39, 0x9f, 0x45, 0x93, 0x35, 0xa5, 0x81, 0xa6, 0xfb, 0x66, 0xc7, 0xeb, 0x9d, - 0x12, 0x76, 0x20, 0x32, 0xfe, 0x0c, 0x99, 0x8d, 0xde, 0x50, 0x19, 0x26, 0x2c, 0x84, 0xb2, 0x06, - 0x69, 0x44, 0x97, 0x60, 0x61, 0xd4, 0xb3, 0xd8, 0x7a, 0x66, 0x37, 0xd2, 0x67, 0x8f, 0xae, 0x2e, - 0xec, 0x37, 0xea, 0x98, 0xda, 0xd0, 0xbb, 0x50, 0x72, 0x48, 0xb7, 0x47, 0xd7, 0x83, 0x58, 0x6d, - 0xaf, 0x37, 0x90, 0xe5, 0x50, 0x79, 0x90, 0x5b, 0xbd, 0x01, 0x3b, 0xb8, 0xb8, 0x18, 0xe0, 0xa8, - 0x0d, 0xdd, 0x82, 0xb2, 0x43, 0x26, 0x7d, 0x17, 0xe3, 0x7d, 0xd5, 0x30, 0x92, 0x79, 0xdf, 0x86, - 0x92, 0x67, 0x7b, 0x66, 0x3f, 0x52, 0xfb, 0x9c, 0x93, 0x6a, 0x16, 0x19, 0x3a, 0xc8, 0xef, 0xef, - 0xc0, 0x92, 0xa8, 0xc3, 0x13, 0x2b, 0x52, 0xeb, 0x9c, 0xc3, 0x81, 0x7c, 0x8f, 0x80, 0x67, 0x03, - 0xca, 0xf6, 0xf1, 0x31, 0x7b, 0x81, 0x80, 0x25, 0x3b, 0x8f, 0x45, 0x15, 0xf8, 0x80, 0x43, 0x87, - 0x7c, 0xc7, 0x1c, 0x99, 0x47, 0xbd, 0x7e, 0xcf, 0xeb, 0xb1, 0x9a, 0xe6, 0x42, 0x28, 0xc9, 0xf5, - 0x77, 0x75, 0x75, 0x53, 0x82, 0x1e, 0xca, 0x3c, 0x30, 0xec, 0x86, 0xfa, 0x80, 0xe4, 0x14, 0xda, - 0x23, 0xc7, 0x3e, 0xed, 0x59, 0xc4, 0xa1, 0xa1, 0x01, 0x25, 0x7b, 0xe7, 0x7c, 0x27, 0xd7, 0x9f, - 0xeb, 0xbe, 0xf0, 0x17, 0x03, 0x95, 0x9d, 0x09, 0xbb, 0xab, 0xdd, 0x67, 0xc5, 0x9b, 0x88, 0x11, - 0xdd, 0x83, 0x8b, 0x53, 0x33, 0x08, 0x1f, 0xd4, 0xcb, 0x13, 0x2b, 0x22, 0x1d, 0x43, 0x67, 0x76, - 0xd9, 0x89, 0x79, 0xa6, 0x7d, 0x96, 0x86, 0x42, 0xe4, 0xe2, 0xa3, 0x16, 0x40, 0x48, 0x32, 0xf8, - 0xf5, 0x5c, 0x3d, 0x8f, 0x64, 0x04, 0xb9, 0xad, 0x18, 0x31, 0xc4, 0x83, 0xba, 0xb0, 0xdc, 0xb1, - 0x07, 0xa3, 0x3e, 0xa1, 0xa7, 0x22, 0xc4, 0x9f, 0x78, 0x0e, 0xfe, 0x25, 0x9f, 0x31, 0x34, 0xfd, - 0x26, 0x2c, 0x07, 0x9a, 0x10, 0xd1, 0x3e, 0x3a, 0xd0, 0xf2, 0x54, 0x1a, 0x4e, 0x17, 0x68, 0x91, - 0xd2, 0x55, 0x14, 0xbc, 0xe4, 0x7b, 0x06, 0x84, 0xda, 0x5f, 0x92, 0x90, 0xf5, 0xbb, 0xa8, 0x06, - 0xc5, 0x50, 0x76, 0x1f, 0x6c, 0x40, 0x3c, 0x31, 0x9f, 0x67, 0xe1, 0x38, 0x6c, 0x7c, 0x82, 0x62, - 0x5c, 0x83, 0x6c, 0xc7, 0x1e, 0x0e, 0x49, 0xc7, 0x23, 0x16, 0xd3, 0x0c, 0x09, 0x08, 0xcc, 0x71, - 0xd2, 0x90, 0x7c, 0x0e, 0x69, 0x48, 0x9d, 0x57, 0x1a, 0x6e, 0x41, 0x79, 0x3c, 0x3c, 0xaf, 0xb0, - 0x84, 0x91, 0xcc, 0xfb, 0xbf, 0x59, 0x61, 0x94, 0xde, 0x1c, 0xae, 0x27, 0x79, 0xe1, 0xd2, 0xa4, - 0xc6, 0x50, 0x99, 0x94, 0x38, 0x2e, 0xfa, 0x7f, 0x28, 0xf6, 0x86, 0x54, 0x24, 0x49, 0x5b, 0xf8, - 0x70, 0xfd, 0x90, 0xe5, 0xdc, 0x06, 0x7f, 0x18, 0x76, 0x2d, 0xf4, 0x42, 0xb6, 0x99, 0x32, 0x94, - 0xfd, 0x56, 0x64, 0x08, 0x9e, 0x4e, 0x86, 0xae, 0xd1, 0x9c, 0x48, 0x9c, 0xac, 0x4a, 0x2e, 0xbc, - 0xa7, 0xbe, 0x59, 0xfb, 0x43, 0x02, 0xf2, 0xe1, 0x1f, 0x73, 0xb4, 0x0f, 0xd9, 0x20, 0x08, 0xe0, - 0xd7, 0xf0, 0xf5, 0x73, 0x04, 0x01, 0xab, 0xb2, 0x25, 0x87, 0xf0, 0x49, 0x50, 0x1b, 0x54, 0xdb, - 0x19, 0x9d, 0x98, 0xc3, 0x48, 0x74, 0xf1, 0xf4, 0xc4, 0xf2, 0xba, 0x94, 0x38, 0x9b, 0x8f, 0xd0, - 0x3e, 0x53, 0x20, 0x23, 0x7b, 0xe8, 0x36, 0x14, 0xe4, 0x30, 0xe1, 0x8b, 0x22, 0x77, 0x50, 0xe2, - 0x42, 0xf7, 0x24, 0x4f, 0x42, 0xb6, 0x48, 0xa9, 0x2b, 0xf1, 0x74, 0xa5, 0x2e, 0xed, 0x97, 0x3c, - 0x1e, 0xe3, 0x11, 0xd5, 0xdb, 0x50, 0x18, 0x91, 0xa1, 0x45, 0x53, 0x64, 0x19, 0x93, 0x85, 0x23, - 0x60, 0x0a, 0x92, 0x13, 0x10, 0x38, 0xee, 0x77, 0x1d, 0x52, 0x1c, 0x9f, 0x98, 0x85, 0xe7, 0xcf, - 0xd1, 0x7b, 0x50, 0x0a, 0xb4, 0x8d, 0xbb, 0x2c, 0xcc, 0x72, 0x29, 0xfa, 0x48, 0x39, 0xb9, 0xbc, - 0xd8, 0x13, 0xee, 0x98, 0x9c, 0x76, 0x94, 0xcb, 0x9d, 0xe3, 0x40, 0xee, 0x77, 0x9b, 0x5f, 0x45, - 0xb3, 0x73, 0x62, 0x1e, 0xf5, 0x89, 0x70, 0x4e, 0xcd, 0x1a, 0x55, 0x0d, 0x61, 0x99, 0xbf, 0x48, - 0x0d, 0x78, 0x8a, 0x77, 0x1d, 0x52, 0x3c, 0x39, 0x8c, 0x2e, 0x0c, 0x7d, 0x28, 0x5f, 0x94, 0x3d, - 0xd7, 0xb6, 0x59, 0x3c, 0xff, 0x6d, 0x7c, 0xa1, 0xf8, 0xa9, 0xc2, 0xa2, 0x41, 0x91, 0xde, 0xad, - 0x43, 0x8e, 0x9f, 0x3c, 0x79, 0x50, 0x94, 0x10, 0x11, 0xc7, 0x30, 0x4d, 0x81, 0x81, 0xdf, 0x46, - 0x2f, 0x01, 0xf0, 0xef, 0x7e, 0x4c, 0x84, 0x68, 0x90, 0xac, 0xe0, 0x2c, 0xb3, 0x30, 0xb1, 0x79, - 0x19, 0xf2, 0xa4, 0xcf, 0xd4, 0x92, 0x03, 0x16, 0x18, 0x20, 0x27, 0x6c, 0x14, 0xa2, 0x1d, 0xc2, - 0x72, 0x5c, 0x7e, 0x88, 0x6e, 0xc3, 0xa2, 0x48, 0x2e, 0xf9, 0x89, 0x5d, 0x89, 0xa9, 0x89, 0x6f, - 0xf6, 0xc7, 0x74, 0x26, 0xdc, 0x43, 0x6a, 0x17, 0xf7, 0xd2, 0xee, 0xc1, 0xc5, 0xf8, 0x94, 0xf0, - 0x79, 0xeb, 0xed, 0x1b, 0x6c, 0xcf, 0x78, 0x2d, 0xfa, 0xed, 0x89, 0x49, 0x56, 0xa6, 0x2b, 0xdb, - 0x71, 0x93, 0xbb, 0xf6, 0x28, 0xf1, 0x5d, 0x16, 0x81, 0xa3, 0xd5, 0xde, 0xc5, 0x68, 0xb5, 0x37, - 0x1d, 0xad, 0xf6, 0x66, 0x26, 0xaa, 0xbd, 0xd9, 0x98, 0x6a, 0x2f, 0x4c, 0x57, 0x7b, 0x73, 0xd1, - 0x6a, 0x6f, 0x3e, 0x5a, 0xed, 0x2d, 0x4c, 0x56, 0x7b, 0x8b, 0x13, 0x95, 0xdd, 0xd2, 0x9c, 0x8a, - 0xab, 0x3a, 0xb7, 0xe2, 0x5a, 0x8e, 0xd6, 0x48, 0x91, 0xa8, 0x6f, 0xfe, 0x3d, 0x0f, 0x29, 0xfd, - 0x94, 0x26, 0x14, 0xeb, 0x91, 0xe2, 0x66, 0x25, 0x2a, 0xb1, 0x0c, 0x12, 0xf7, 0xa7, 0x1c, 0xe0, - 0x8e, 0x8f, 0xdc, 0x8e, 0xd3, 0x3b, 0x22, 0x96, 0x48, 0xfd, 0xaa, 0x71, 0x9e, 0x86, 0x8f, 0xc2, - 0x21, 0x0f, 0x74, 0x0b, 0x80, 0x4a, 0x41, 0xdb, 0xb4, 0x2c, 0x16, 0x3e, 0xc4, 0xfc, 0x25, 0x88, - 0x18, 0xd9, 0x74, 0xef, 0xd7, 0x28, 0x08, 0x67, 0x3d, 0xd9, 0x44, 0x1b, 0x90, 0x67, 0xde, 0xfc, - 0x6b, 0xbb, 0x25, 0x82, 0x8a, 0xab, 0xb3, 0xfc, 0xf9, 0x87, 0x25, 0x0b, 0xe7, 0xbc, 0xa0, 0x83, - 0x3e, 0x80, 0x1c, 0x97, 0x6d, 0x3e, 0x85, 0xd4, 0xec, 0x57, 0x60, 0xaa, 0xcd, 0xe7, 0xc0, 0x33, - 0x2f, 0x3e, 0x09, 0x1d, 0x0a, 0x9c, 0x80, 0x7f, 0xc7, 0xb6, 0xe2, 0xff, 0x8a, 0x23, 0x44, 0xc1, - 0x3f, 0xd1, 0x58, 0x38, 0x6f, 0x86, 0x7a, 0xe8, 0x2e, 0x94, 0x82, 0x40, 0x8d, 0xcf, 0x25, 0x1d, - 0xf7, 0x11, 0x9f, 0x13, 0xf9, 0x61, 0x1b, 0x9f, 0x4f, 0x10, 0xe3, 0xf1, 0x39, 0x7d, 0x04, 0xe5, - 0x80, 0x4c, 0xae, 0x4e, 0x26, 0x2e, 0x9b, 0x9e, 0xa0, 0x93, 0x4b, 0xa4, 0x1e, 0x4f, 0x58, 0xa2, - 0x94, 0xf2, 0x55, 0xb3, 0xe7, 0xa0, 0x94, 0xaf, 0x1b, 0x50, 0x0a, 0x8b, 0xf6, 0xb9, 0x02, 0x60, - 0x84, 0xcf, 0x42, 0xa8, 0x96, 0xaa, 0x3c, 0x6d, 0x2d, 0xf5, 0x16, 0x68, 0x27, 0xc4, 0x74, 0xbc, - 0x23, 0x62, 0x52, 0x81, 0xf7, 0x88, 0x73, 0x6a, 0xf6, 0xdb, 0x2e, 0xe9, 0xd8, 0x43, 0xcb, 0x15, - 0x7a, 0x5b, 0xf1, 0x11, 0x0d, 0x01, 0x30, 0xf8, 0x73, 0x6d, 0x1d, 0xb2, 0xfe, 0x09, 0x43, 0xaf, - 0x40, 0x92, 0x9e, 0x10, 0xa1, 0x54, 0x31, 0x3f, 0x4f, 0xec, 0xb1, 0xf6, 0x1b, 0x05, 0x72, 0xa1, - 0x63, 0xf5, 0x6d, 0x7e, 0x48, 0x43, 0x6b, 0xbe, 0x5c, 0xf2, 0x50, 0xa2, 0x1c, 0x9a, 0x44, 0x9c, - 0x4e, 0xa2, 0x57, 0x21, 0xc5, 0x17, 0x8e, 0x86, 0xe0, 0x45, 0xbf, 0x10, 0x20, 0xf1, 0x04, 0xf3, - 0xc7, 0x9a, 0x05, 0xc5, 0xe8, 0xd9, 0x41, 0x18, 0xb2, 0xfe, 0xc8, 0x62, 0xce, 0xcf, 0x96, 0xde, - 0x04, 0x34, 0xda, 0x31, 0xa8, 0x93, 0x47, 0xea, 0xdf, 0x32, 0xce, 0x41, 0x68, 0x1c, 0x79, 0x91, - 0x9e, 0x3f, 0xe3, 0xd1, 0xf6, 0x01, 0x82, 0xcb, 0x8e, 0x36, 0x20, 0xc5, 0x6e, 0xaa, 0xe0, 0x79, - 0xba, 0xd2, 0x0f, 0x77, 0xd5, 0x3e, 0x84, 0x7c, 0xf8, 0xee, 0x3f, 0xd7, 0x77, 0xd1, 0xdf, 0x2b, - 0x33, 0x7e, 0x12, 0xfd, 0x0f, 0x7e, 0x75, 0x55, 0xa1, 0x7d, 0xfa, 0x0b, 0xd3, 0xae, 0xd5, 0xeb, - 0x7a, 0x5d, 0x4d, 0x20, 0x15, 0xf2, 0xac, 0xcf, 0xbf, 0xb9, 0xd5, 0xf9, 0x8f, 0x22, 0xff, 0xde, - 0xc5, 0x21, 0x49, 0xfa, 0x5b, 0xc5, 0x0d, 0xfc, 0x5b, 0x59, 0x5d, 0x4d, 0xa1, 0x25, 0x28, 0xf9, - 0x3f, 0x67, 0x02, 0xb7, 0x48, 0x7f, 0x3c, 0x03, 0xa3, 0xe4, 0x4b, 0x47, 0xcd, 0x92, 0x82, 0x7d, - 0x22, 0xdd, 0xd6, 0x6b, 0xb8, 0xb5, 0xa1, 0xd7, 0x5a, 0x6a, 0x96, 0xff, 0xea, 0x6c, 0xd4, 0xbf, - 0x7a, 0x5c, 0xbd, 0xf0, 0xc7, 0xc7, 0xd5, 0x0b, 0x7f, 0x7e, 0x5c, 0x55, 0xbe, 0x79, 0x5c, 0x55, - 0xfe, 0xf1, 0xb8, 0xaa, 0xfc, 0xe4, 0xac, 0xaa, 0xfc, 0xfa, 0xac, 0xaa, 0xfc, 0xf6, 0xac, 0xaa, - 0xfc, 0xee, 0xac, 0xaa, 0x7c, 0x79, 0x56, 0x55, 0xbe, 0x3a, 0xab, 0x2a, 0x7f, 0x3b, 0xab, 0x5e, - 0xf8, 0xe6, 0xac, 0xaa, 0xfc, 0xfc, 0xeb, 0xea, 0x85, 0x2f, 0xbe, 0xae, 0x2a, 0x1f, 0x2f, 0xf2, - 0xb5, 0xff, 0x57, 0x00, 0x00, 0x00, 0xff, 0xff, 0x74, 0xf2, 0xc6, 0x01, 0xc5, 0x29, 0x00, 0x00, + // 3474 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x5a, 0xcd, 0x6f, 0x1b, 0xd7, + 0xb5, 0xf7, 0x50, 0xa4, 0x44, 0x1e, 0x7e, 0x8d, 0xae, 0x14, 0x87, 0x1e, 0xdb, 0x94, 0xa2, 0xbc, + 0xc4, 0xc6, 0x4b, 0x2c, 0xbd, 0x28, 0x2f, 0x4e, 0x90, 0xf8, 0x39, 0x8f, 0x12, 0xc7, 0x12, 0xa3, + 0x0f, 0x2a, 0x77, 0x28, 0xb9, 0xcd, 0x86, 0x18, 0x71, 0xae, 0x28, 0xc2, 0x14, 0x87, 0x99, 0x19, + 0xca, 0x75, 0xd1, 0x02, 0x2d, 0x8a, 0x06, 0x59, 0xf6, 0x3f, 0x68, 0x80, 0x02, 0x45, 0x81, 0x76, + 0xd5, 0x55, 0x81, 0x02, 0x45, 0xbb, 0x0b, 0xba, 0xca, 0xa6, 0x40, 0x57, 0x41, 0xad, 0x74, 0xd1, + 0x65, 0xd0, 0x6e, 0xba, 0xe8, 0xa2, 0xb8, 0x5f, 0xf3, 0x41, 0x0e, 0x69, 0xc9, 0x4e, 0xbd, 0x91, + 0xee, 0x3d, 0xf3, 0x3b, 0xe7, 0x9e, 0xb9, 0x1f, 0xbf, 0x7b, 0xce, 0x19, 0xc2, 0xdc, 0x89, 0xe9, + 0x7a, 0xc4, 0x59, 0xe1, 0xff, 0x96, 0xfb, 0x8e, 0xed, 0xd9, 0x28, 0x77, 0x42, 0x5c, 0xdb, 0x5d, + 0xe6, 0x32, 0xed, 0x7f, 0xda, 0x1d, 0xef, 0x78, 0x70, 0xb8, 0xdc, 0xb2, 0x4f, 0x56, 0xd8, 0x03, + 0xfe, 0xf7, 0x56, 0xdb, 0x5e, 0x31, 0xfb, 0x9d, 0x95, 0xd3, 0x37, 0x56, 0xba, 0x9d, 0x43, 0x2e, + 0xe3, 0xfa, 0xda, 0xdd, 0x73, 0x69, 0x98, 0xdd, 0xae, 0xdd, 0x32, 0x3d, 0xdb, 0x09, 0x5a, 0x42, + 0x7f, 0xed, 0x7c, 0x23, 0x9a, 0x9d, 0x9e, 0x47, 0x7a, 0x66, 0xaf, 0x45, 0xc2, 0x6d, 0x61, 0xe3, + 0xf6, 0xb9, 0x6c, 0x7c, 0x3c, 0xb0, 0x3d, 0x93, 0xff, 0x15, 0x7a, 0xb7, 0x42, 0x7a, 0x6d, 0xbb, + 0x6d, 0xaf, 0x30, 0xf1, 0xe1, 0xe0, 0x88, 0xf5, 0x58, 0x87, 0xb5, 0x38, 0x7c, 0xe9, 0x5f, 0xd7, + 0x21, 0xb9, 0x6e, 0x76, 0xbb, 0xe8, 0x0d, 0x48, 0x7a, 0x8f, 0xfa, 0xa4, 0xa4, 0x2c, 0x2a, 0x37, + 0x0b, 0xab, 0x2f, 0x2e, 0x87, 0xa7, 0x70, 0x99, 0x22, 0x96, 0x1b, 0x8f, 0xfa, 0x64, 0x2d, 0xf9, + 0xf9, 0x97, 0x0b, 0x97, 0x30, 0x83, 0xa2, 0xbb, 0x90, 0x6d, 0x13, 0xaf, 0x79, 0x42, 0x3c, 0xa7, + 0xd3, 0x72, 0x4b, 0x89, 0x45, 0xe5, 0x66, 0x76, 0xf5, 0x7a, 0x8c, 0xe6, 0x06, 0xf1, 0x76, 0x38, + 0x08, 0x43, 0xdb, 0x6f, 0xa3, 0x5d, 0x98, 0x75, 0x89, 0xd7, 0xec, 0xda, 0xed, 0x76, 0xa7, 0xd7, + 0x6e, 0x76, 0xc9, 0x29, 0xe9, 0x96, 0xa6, 0x98, 0x95, 0xa5, 0x18, 0x2b, 0x06, 0xf1, 0xb6, 0x39, + 0x74, 0x9b, 0x22, 0x71, 0xd1, 0x8d, 0x0a, 0xd0, 0x7b, 0x00, 0xdd, 0x8e, 0xeb, 0x35, 0x8f, 0x3a, + 0x5d, 0xe2, 0x96, 0x92, 0xcc, 0xd0, 0xb5, 0x18, 0x43, 0xdb, 0x1d, 0xd7, 0xbb, 0x47, 0x31, 0x38, + 0xd3, 0x95, 0x4d, 0xf4, 0x0e, 0x64, 0x1c, 0x62, 0x5a, 0x4c, 0xb9, 0x94, 0x62, 0xba, 0x57, 0x63, + 0x74, 0x31, 0x31, 0x2d, 0xaa, 0x80, 0xd3, 0x8e, 0x68, 0xa1, 0x0d, 0x28, 0x0c, 0xfa, 0x96, 0xe9, + 0x91, 0xe6, 0x43, 0xd2, 0x69, 0x1f, 0x7b, 0x6e, 0x69, 0x9a, 0xa9, 0x2f, 0xc6, 0xa8, 0xef, 0x33, + 0xe0, 0x7d, 0x8e, 0xc3, 0xf9, 0x41, 0xb8, 0x8b, 0xf6, 0x60, 0xd6, 0x21, 0x2e, 0x71, 0x4e, 0x49, + 0xd3, 0x21, 0xae, 0x3d, 0x70, 0x5a, 0xc4, 0x2d, 0xcd, 0x30, 0x5b, 0x2f, 0xc7, 0xba, 0xc2, 0xb0, + 0x58, 0x42, 0xb1, 0xea, 0x0c, 0x49, 0xd0, 0x01, 0xcc, 0x0d, 0x7a, 0xa3, 0x36, 0xd3, 0xcc, 0xe6, + 0x2b, 0x71, 0xfe, 0xf5, 0x86, 0x6d, 0x60, 0x34, 0x18, 0x91, 0xd1, 0x57, 0x6e, 0x39, 0x84, 0xbe, + 0xf2, 0xa9, 0xdd, 0x1d, 0x9c, 0x10, 0xb7, 0x94, 0x19, 0xfb, 0xca, 0xeb, 0x0c, 0x78, 0xc0, 0x71, + 0x38, 0xdf, 0x0a, 0x77, 0xd1, 0x07, 0x50, 0xb4, 0x88, 0xeb, 0x39, 0xf6, 0x23, 0xdf, 0x12, 0x30, + 0x4b, 0x2f, 0xc5, 0x58, 0xaa, 0x72, 0xa4, 0x34, 0x55, 0xb0, 0x22, 0x7d, 0xd4, 0x85, 0xab, 0x62, + 0x1d, 0x42, 0xa7, 0xa9, 0xe9, 0xb6, 0x8e, 0x89, 0x35, 0xe8, 0x92, 0x52, 0x96, 0xd9, 0x7d, 0x7d, + 0xec, 0xa2, 0xec, 0x04, 0x4a, 0x86, 0xd0, 0xc1, 0x57, 0x06, 0xe3, 0x1e, 0xd1, 0xc5, 0x72, 0x3d, + 0xd3, 0xf1, 0xc2, 0x83, 0x95, 0x72, 0x63, 0x17, 0xcb, 0xa0, 0xd8, 0x90, 0x1d, 0xac, 0xba, 0x43, + 0x12, 0xb4, 0x03, 0xaa, 0xeb, 0xd9, 0xfd, 0x88, 0xc1, 0xfc, 0xf8, 0xd3, 0xe0, 0xd9, 0xfd, 0xb0, + 0xbd, 0xa2, 0x1b, 0x15, 0xd0, 0x0d, 0x4d, 0x4f, 0x17, 0xe3, 0x86, 0x52, 0x61, 0xec, 0x86, 0x36, + 0x88, 0xf7, 0x21, 0x85, 0xe0, 0xb4, 0x2b, 0x5a, 0xa8, 0x02, 0x39, 0x87, 0x9c, 0xd8, 0xa7, 0x44, + 0x28, 0x17, 0x99, 0x72, 0x39, 0x76, 0x0b, 0x52, 0x18, 0xd7, 0xcf, 0x3a, 0x41, 0x07, 0xbd, 0x0d, + 0x69, 0x8f, 0x98, 0x8e, 0x65, 0x3f, 0xec, 0x95, 0xd4, 0xb1, 0x63, 0x37, 0x04, 0x04, 0xfb, 0x60, + 0xb4, 0x09, 0xc5, 0x13, 0xd3, 0x79, 0xd0, 0x34, 0xdb, 0xa4, 0xe7, 0x35, 0xdb, 0x76, 0x8f, 0x94, + 0x66, 0xc7, 0x6e, 0xad, 0x1d, 0xd3, 0x79, 0x50, 0xa1, 0xc0, 0x0d, 0xbb, 0x47, 0x70, 0xfe, 0x24, + 0xdc, 0x65, 0xec, 0xe4, 0xd8, 0x0f, 0xc5, 0xbe, 0x2a, 0xa1, 0xf1, 0xec, 0xe4, 0xd8, 0x0f, 0xf9, + 0x1e, 0xc2, 0xd0, 0xf6, 0xdb, 0xa8, 0x0a, 0x79, 0xf7, 0xd8, 0xe9, 0xf4, 0x1e, 0x48, 0x0b, 0x73, + 0xcc, 0xc2, 0x42, 0xdc, 0x1c, 0x32, 0x9c, 0xb0, 0x91, 0x73, 0x43, 0x3d, 0xed, 0x3d, 0x80, 0x80, + 0xfd, 0xd0, 0x2d, 0x98, 0xf1, 0x3a, 0x27, 0xc4, 0x1e, 0x78, 0x8c, 0x67, 0xb3, 0xab, 0x73, 0xc2, + 0x5a, 0x75, 0xe0, 0x98, 0x5e, 0xc7, 0xee, 0xd5, 0x7a, 0x47, 0x36, 0x96, 0x18, 0xcd, 0x82, 0xe2, + 0x10, 0xe9, 0x21, 0x0d, 0x52, 0x9c, 0x27, 0x95, 0xc5, 0xc4, 0xcd, 0xbc, 0xa0, 0x63, 0x2e, 0x42, + 0x6f, 0x41, 0xda, 0x12, 0x76, 0x4a, 0x89, 0xc5, 0xc4, 0x18, 0xf3, 0x42, 0xc7, 0x87, 0x6a, 0xaf, + 0x40, 0xc6, 0x67, 0x44, 0x54, 0x82, 0x64, 0xdf, 0xf4, 0x8e, 0x99, 0xf9, 0x8c, 0x64, 0x7b, 0x2a, + 0xd1, 0x3e, 0x82, 0xb4, 0x24, 0xbf, 0xf1, 0x28, 0x74, 0x0d, 0xa6, 0xed, 0xa3, 0x23, 0x97, 0x78, + 0xcc, 0x83, 0xa4, 0x78, 0x26, 0x64, 0xe8, 0x32, 0x4c, 0x77, 0x49, 0xaf, 0xed, 0x1d, 0x33, 0x9a, + 0x4f, 0x62, 0xd1, 0xd3, 0xb6, 0x20, 0x1f, 0x61, 0x46, 0xf4, 0x2e, 0xe4, 0x38, 0x99, 0x36, 0x3b, + 0xbd, 0x23, 0xdb, 0x2d, 0x29, 0x8b, 0x53, 0x37, 0xb3, 0xab, 0xb3, 0xe2, 0x75, 0x38, 0x2a, 0xf4, + 0x32, 0xd9, 0x87, 0xbe, 0xc4, 0xd5, 0x7e, 0xa4, 0x80, 0x3a, 0xcc, 0x8d, 0xe8, 0x5d, 0x48, 0xf3, + 0x2d, 0xd5, 0xb1, 0x98, 0xd7, 0xd9, 0xd5, 0x82, 0x30, 0xc6, 0x76, 0x4c, 0xad, 0xba, 0x56, 0xa4, + 0x96, 0xce, 0xbe, 0x5c, 0x98, 0x11, 0x02, 0x3c, 0xc3, 0x14, 0x6a, 0x16, 0x7a, 0x93, 0x5e, 0x0d, + 0x92, 0x3b, 0x13, 0xcc, 0x93, 0xa2, 0x50, 0x96, 0x03, 0x08, 0x3f, 0x02, 0x9c, 0xf6, 0x63, 0x05, + 0xd0, 0x28, 0x9b, 0x3e, 0x7f, 0x3f, 0xbe, 0x07, 0xf9, 0x08, 0x03, 0x3f, 0x93, 0x07, 0x2b, 0x30, + 0x23, 0x69, 0x7a, 0xe2, 0xf8, 0x12, 0xa5, 0x7d, 0x1f, 0x0a, 0x51, 0xd6, 0x7e, 0xbe, 0xc3, 0xff, + 0x5c, 0x01, 0x08, 0x8e, 0x37, 0xba, 0x1d, 0x19, 0x5b, 0x89, 0x19, 0x3b, 0x1b, 0x3b, 0xee, 0x2d, + 0x98, 0x16, 0x1c, 0xc0, 0x8f, 0xd5, 0x98, 0x61, 0x05, 0x08, 0xbd, 0x01, 0x69, 0xd3, 0xb2, 0x3a, + 0xec, 0x1c, 0x4e, 0x4d, 0x52, 0xf0, 0x61, 0xda, 0xaf, 0x14, 0xc8, 0x85, 0x59, 0xe4, 0x79, 0xb9, + 0xfa, 0x16, 0xa4, 0xdd, 0xc1, 0xa1, 0xe7, 0x98, 0x2d, 0x4f, 0xb8, 0x2a, 0x29, 0xe3, 0xc0, 0xec, + 0x0e, 0xc8, 0xb2, 0xd1, 0x32, 0xbb, 0xa6, 0x23, 0xdd, 0x95, 0x50, 0xed, 0x23, 0xb8, 0x32, 0xf6, + 0xd2, 0x44, 0xff, 0x07, 0x69, 0xff, 0xd2, 0xe5, 0x2b, 0x1c, 0x70, 0x7f, 0x10, 0xe5, 0x4a, 0xb8, + 0x6f, 0x5b, 0xf4, 0xb5, 0x7b, 0xa0, 0x0e, 0x5f, 0x96, 0x68, 0x15, 0xd2, 0x27, 0x66, 0xeb, 0xb8, + 0xd3, 0x23, 0x92, 0x0a, 0x54, 0x61, 0x72, 0x87, 0x8b, 0x6b, 0x55, 0x69, 0x47, 0xe2, 0x34, 0x1d, + 0x8a, 0x43, 0x77, 0xe4, 0x53, 0x99, 0xd9, 0x83, 0xb4, 0xbc, 0x22, 0xe9, 0x95, 0xc0, 0x6e, 0xc4, + 0xa6, 0x43, 0x3e, 0x1e, 0x10, 0xd7, 0x13, 0xaf, 0x77, 0x45, 0x18, 0xe1, 0x61, 0x38, 0xbf, 0x0d, + 0x39, 0x40, 0x58, 0xcb, 0x7d, 0x1c, 0x92, 0x69, 0x37, 0x20, 0x1b, 0xba, 0x37, 0x29, 0x97, 0x3a, + 0xb6, 0x98, 0x2a, 0x9f, 0x4b, 0xa9, 0x44, 0x3b, 0x80, 0xb4, 0xbc, 0x21, 0xd1, 0x07, 0x90, 0x3b, + 0x72, 0xcc, 0x13, 0xf2, 0xd0, 0x76, 0x1e, 0x04, 0x47, 0x07, 0x89, 0x91, 0xef, 0xc9, 0x47, 0xb5, + 0xea, 0xda, 0x9c, 0x38, 0x3e, 0xd9, 0x90, 0x10, 0x67, 0x7d, 0xe5, 0x9a, 0x45, 0xd9, 0x36, 0x72, + 0x73, 0x3e, 0xcb, 0x99, 0x5c, 0xfa, 0x6d, 0x0a, 0x92, 0x34, 0x33, 0x40, 0x59, 0x98, 0xd9, 0xdf, + 0xdd, 0xda, 0xad, 0xdf, 0xdf, 0x55, 0x2f, 0xa1, 0x02, 0xc0, 0x86, 0xde, 0x68, 0x6e, 0xea, 0x95, + 0xed, 0xc6, 0xa6, 0xaa, 0xa0, 0x3c, 0x64, 0x68, 0xff, 0xde, 0x76, 0x65, 0xc3, 0x50, 0x13, 0xa8, + 0x08, 0x59, 0xda, 0x3d, 0xd0, 0xb1, 0x51, 0xab, 0xef, 0xaa, 0x53, 0x52, 0xb0, 0xa3, 0x37, 0x70, + 0x6d, 0xdd, 0x50, 0x93, 0xe8, 0x05, 0x98, 0xa5, 0x82, 0xed, 0xfa, 0xc6, 0x46, 0x6d, 0x77, 0xa3, + 0xb9, 0xad, 0x1f, 0xe8, 0xdb, 0x6a, 0x8a, 0x8a, 0x8d, 0x11, 0xf1, 0x34, 0x1d, 0x6e, 0xbb, 0x66, + 0x34, 0x9a, 0xf7, 0x6a, 0xdb, 0xba, 0xa1, 0xce, 0xd0, 0xe1, 0xb0, 0x5e, 0xa9, 0xb2, 0xbe, 0x9a, + 0x96, 0xa3, 0x1b, 0x8d, 0x4a, 0x43, 0x57, 0x33, 0xd2, 0xb9, 0xca, 0x86, 0xbe, 0xdb, 0x30, 0x54, + 0x40, 0x08, 0x0a, 0xcc, 0x39, 0x5c, 0xd9, 0xd1, 0xef, 0xd7, 0xf1, 0x96, 0xa1, 0x66, 0xd1, 0x2c, + 0xe4, 0xa9, 0x4c, 0xff, 0x96, 0xbe, 0xbe, 0xdf, 0xa8, 0x63, 0x43, 0xcd, 0x49, 0x58, 0x7d, 0x4f, + 0xc7, 0x95, 0x46, 0xad, 0xbe, 0x6b, 0xa8, 0x2f, 0x49, 0xcb, 0x8d, 0x8a, 0xb1, 0x65, 0xa8, 0x79, + 0xd9, 0xc5, 0x75, 0xea, 0x46, 0x41, 0xbe, 0xd5, 0x7d, 0xbd, 0xb6, 0xb1, 0xd9, 0x30, 0xd4, 0x22, + 0x35, 0xb1, 0xbf, 0x57, 0xad, 0x34, 0x74, 0x5f, 0xa6, 0x4a, 0x6f, 0x76, 0x2a, 0x46, 0x43, 0xc7, + 0xea, 0x2c, 0xb5, 0x61, 0xec, 0xaf, 0x19, 0xeb, 0xb8, 0xb6, 0xa6, 0xab, 0x88, 0xbe, 0x31, 0xd6, + 0x0d, 0x1d, 0x1f, 0xe8, 0x4d, 0xac, 0x1b, 0xf5, 0x7d, 0xbc, 0xae, 0x1b, 0xea, 0x1c, 0x7a, 0x11, + 0xe6, 0xf6, 0x77, 0x47, 0x1f, 0xcc, 0xd3, 0x21, 0xd6, 0xb1, 0x4e, 0x87, 0x38, 0xa8, 0x6f, 0xef, + 0xef, 0xe8, 0x86, 0xfa, 0x02, 0x9a, 0x83, 0x62, 0x55, 0x37, 0x1a, 0xb8, 0xfe, 0x6d, 0x5f, 0x78, + 0x99, 0x39, 0x87, 0xeb, 0xf7, 0x85, 0x44, 0x5d, 0xa2, 0xaf, 0x6c, 0x6c, 0xe2, 0xda, 0xee, 0x96, + 0x14, 0xbd, 0x8c, 0x34, 0xb8, 0xcc, 0x7d, 0xab, 0xed, 0x36, 0xf4, 0xdd, 0xca, 0xee, 0xba, 0xce, + 0x26, 0x71, 0xdf, 0x50, 0x5f, 0x44, 0xd7, 0xa0, 0x34, 0xf2, 0x6c, 0x7d, 0x53, 0xaf, 0xee, 0x6f, + 0xeb, 0x6a, 0x09, 0x2d, 0xc0, 0x55, 0xf1, 0xa6, 0xb1, 0x80, 0x2b, 0x6c, 0x25, 0x1b, 0x15, 0x1c, + 0x31, 0xa0, 0x6a, 0x68, 0x1e, 0x54, 0xa3, 0x51, 0xdf, 0x8b, 0x48, 0xaf, 0xca, 0x79, 0xfd, 0x70, + 0xbf, 0xde, 0xa8, 0xa8, 0xd7, 0xd8, 0x14, 0xf9, 0xdd, 0xeb, 0x48, 0x85, 0x1c, 0xd6, 0x77, 0xea, + 0x07, 0xba, 0x90, 0x94, 0x51, 0x0e, 0xd2, 0x0d, 0xbd, 0x82, 0xab, 0x74, 0x33, 0x2e, 0xd0, 0xd7, + 0xdf, 0xa9, 0xe0, 0x2d, 0xbe, 0xe0, 0xcd, 0x8d, 0xfa, 0xae, 0xae, 0x2e, 0x6a, 0xc9, 0x4f, 0x7f, + 0x56, 0x56, 0x96, 0x3e, 0x7f, 0x8d, 0x46, 0x35, 0x6e, 0xdf, 0xee, 0xb9, 0x94, 0x0c, 0xc3, 0x29, + 0xf0, 0x50, 0xc0, 0x2a, 0x51, 0xa3, 0x69, 0xf0, 0xfb, 0x40, 0x93, 0xda, 0xe6, 0x31, 0x31, 0xbb, + 0xde, 0xb1, 0xc8, 0x82, 0x17, 0xc7, 0x28, 0x6f, 0x10, 0x6f, 0x93, 0xe1, 0x70, 0xa6, 0x2d, 0x9b, + 0xe8, 0x0e, 0xd0, 0x4e, 0xf3, 0xa8, 0x6b, 0xb6, 0x5d, 0x91, 0xff, 0x2e, 0x8c, 0xd7, 0xbf, 0x47, + 0x61, 0x38, 0xdd, 0x16, 0x2d, 0xb4, 0xc6, 0xb3, 0xf0, 0x53, 0xe2, 0xb8, 0xf4, 0xc2, 0x49, 0xc6, + 0xa5, 0x4f, 0x61, 0xfd, 0x03, 0x0e, 0x64, 0x99, 0xb8, 0x68, 0x4b, 0x1b, 0x32, 0x93, 0x4f, 0x3d, + 0xc9, 0x46, 0x5c, 0x36, 0x8f, 0x61, 0xb6, 0x3d, 0x92, 0xcd, 0xf3, 0x4c, 0xf8, 0xd5, 0xf1, 0x96, + 0xa2, 0x19, 0x7d, 0x7b, 0x28, 0xda, 0x7d, 0x3f, 0x92, 0xd1, 0xcf, 0x4c, 0x9c, 0xda, 0xd8, 0xac, + 0xfe, 0x4e, 0x38, 0xab, 0x4f, 0x4f, 0x9c, 0xda, 0x98, 0xcc, 0x5e, 0x2c, 0x8c, 0xeb, 0x99, 0x1e, + 0x11, 0x19, 0xee, 0x84, 0x85, 0x31, 0x28, 0x8c, 0x2d, 0x0c, 0x6b, 0xc9, 0x7d, 0xc1, 0x88, 0x52, + 0xa6, 0xb5, 0x13, 0xf6, 0x05, 0x63, 0x56, 0x97, 0xed, 0x0b, 0xde, 0x44, 0x5b, 0x50, 0x60, 0xfb, + 0x42, 0x52, 0xb7, 0x2b, 0x72, 0xd8, 0xff, 0x9a, 0xb0, 0x39, 0x7c, 0x2c, 0xce, 0xb7, 0xc3, 0x5d, + 0xb4, 0x09, 0x54, 0xd0, 0x24, 0xdf, 0x21, 0xad, 0x81, 0x67, 0x3b, 0x6e, 0x7c, 0xae, 0x1a, 0xb6, + 0xa5, 0x4b, 0x28, 0xce, 0xb5, 0x43, 0x3d, 0x39, 0x2b, 0x9e, 0xe9, 0x3e, 0x70, 0x45, 0x82, 0x3a, + 0x61, 0x56, 0x1a, 0x14, 0xc6, 0x66, 0x85, 0xb5, 0xa4, 0x36, 0xbd, 0xe0, 0x5c, 0x91, 0x96, 0x4e, + 0xd0, 0xc6, 0x14, 0xc6, 0xb4, 0x59, 0x4b, 0x6e, 0x54, 0x59, 0x68, 0x29, 0x3e, 0x69, 0xa3, 0xca, + 0x4a, 0x0b, 0x5d, 0x09, 0x99, 0x5b, 0x88, 0x75, 0xe1, 0x68, 0x91, 0x9d, 0x4e, 0x58, 0x97, 0x1d, + 0x26, 0x62, 0xeb, 0xc2, 0x9b, 0xc8, 0x84, 0xcb, 0xdc, 0x40, 0xa8, 0xca, 0xe0, 0x99, 0xde, 0xc0, + 0x15, 0xa9, 0xea, 0x6b, 0x93, 0x8c, 0x05, 0xf1, 0x12, 0x53, 0xc1, 0xf3, 0xed, 0x18, 0x29, 0x6a, + 0x43, 0x69, 0x64, 0x08, 0x19, 0x53, 0xf1, 0x4c, 0xf6, 0xd6, 0xf9, 0x06, 0x91, 0x95, 0x8c, 0xcb, + 0xed, 0x58, 0xb9, 0x5c, 0x0e, 0x9e, 0xe8, 0xcf, 0x3d, 0x69, 0x39, 0x44, 0xa5, 0xa0, 0x2d, 0x03, + 0x22, 0xb1, 0x43, 0xed, 0x3e, 0xe1, 0xb9, 0xa4, 0x5b, 0x9a, 0x7f, 0xd2, 0x0e, 0xad, 0xfb, 0x58, + 0xb6, 0x43, 0x83, 0xae, 0xf6, 0x1a, 0x64, 0x7c, 0x7a, 0x44, 0x65, 0x98, 0xe1, 0x84, 0xfa, 0x88, + 0x45, 0x24, 0x69, 0x19, 0xd9, 0x0b, 0xa1, 0xf6, 0x26, 0xa4, 0x25, 0x17, 0xa2, 0x1b, 0x90, 0xe2, + 0xdc, 0xc9, 0x63, 0xba, 0xac, 0x0c, 0x8a, 0xba, 0x66, 0x5b, 0x26, 0xc8, 0xec, 0xb9, 0x56, 0x63, + 0xc9, 0xb8, 0x24, 0xbd, 0xf7, 0x20, 0x27, 0x48, 0x93, 0x25, 0x99, 0x43, 0x21, 0x95, 0x40, 0x85, + 0x93, 0xcc, 0xd3, 0x40, 0x34, 0x9a, 0xd7, 0x4b, 0xee, 0xe4, 0x3e, 0xe4, 0x65, 0x5c, 0xc9, 0xa4, + 0xd2, 0x79, 0x81, 0xd1, 0x6e, 0x41, 0x71, 0xe3, 0xfc, 0x79, 0xbd, 0x56, 0x09, 0x27, 0xe8, 0xff, + 0x0b, 0x40, 0xc9, 0x2c, 0x92, 0x17, 0xcb, 0x20, 0x9f, 0x22, 0x42, 0x0e, 0x67, 0x8e, 0x44, 0xdf, + 0xd5, 0xde, 0x89, 0x26, 0xef, 0x6e, 0xe7, 0xbb, 0x3c, 0xe0, 0x94, 0x09, 0x3a, 0x93, 0x20, 0x04, + 0x49, 0xcb, 0xf4, 0x4c, 0x96, 0x3a, 0xe4, 0x30, 0x6b, 0x6b, 0x9f, 0x25, 0xd8, 0x4c, 0x73, 0x4a, + 0x8b, 0x1c, 0x7d, 0xe5, 0xa2, 0x47, 0x7f, 0x84, 0x82, 0x12, 0x4f, 0x4b, 0x41, 0xa3, 0xcc, 0x38, + 0xf5, 0xf4, 0xcc, 0x18, 0xe5, 0xe9, 0xe4, 0x85, 0x79, 0x5a, 0xfb, 0xd3, 0x0c, 0xdb, 0xb9, 0x82, + 0xb5, 0xab, 0x30, 0x2d, 0x4c, 0xf1, 0xc5, 0x79, 0xf5, 0x49, 0xa6, 0x78, 0x90, 0x2d, 0x13, 0x33, + 0xae, 0x8b, 0x2a, 0xa0, 0x3a, 0xa4, 0x65, 0x9f, 0x12, 0x87, 0x58, 0xd2, 0xb5, 0x44, 0x24, 0x65, + 0xe1, 0x91, 0x78, 0xb0, 0xda, 0x45, 0x1f, 0x2f, 0xdc, 0xfa, 0xdd, 0x34, 0xa4, 0x58, 0x13, 0xbd, + 0x05, 0x20, 0xe2, 0xfb, 0x60, 0x9f, 0x8f, 0x33, 0x93, 0x31, 0xa5, 0x00, 0x5d, 0x83, 0x69, 0xb3, + 0xe5, 0x75, 0x4e, 0x79, 0x2e, 0x99, 0xf6, 0x3d, 0x64, 0x32, 0x7a, 0x42, 0x65, 0xcc, 0x31, 0x15, + 0x4a, 0x5d, 0xa4, 0x10, 0x5d, 0x81, 0xa9, 0x7e, 0xc7, 0x62, 0xf3, 0x99, 0x59, 0x9b, 0x39, 0xfb, + 0x72, 0x61, 0x6a, 0xaf, 0x56, 0xc5, 0x54, 0x86, 0xde, 0x81, 0xa2, 0x43, 0xda, 0x1d, 0x3a, 0x1f, + 0xc4, 0x6a, 0x7a, 0x9d, 0x13, 0x59, 0x71, 0x97, 0x1b, 0xb9, 0xd1, 0x39, 0x61, 0x1b, 0x17, 0x17, + 0x02, 0x1c, 0x95, 0xa1, 0x3b, 0x30, 0xeb, 0x90, 0x61, 0xdd, 0xe9, 0x78, 0x5d, 0x35, 0x8c, 0x64, + 0xda, 0x77, 0xa1, 0xe8, 0xd9, 0x9e, 0xd9, 0x8d, 0x94, 0xd7, 0x27, 0xd4, 0x11, 0x0a, 0x0c, 0x1d, + 0x14, 0x6f, 0xee, 0xc1, 0x9c, 0xf8, 0xd4, 0x43, 0xac, 0x48, 0x39, 0x7d, 0x82, 0x0d, 0xe4, 0x6b, + 0x04, 0x76, 0xd6, 0x60, 0xd6, 0x3e, 0x3a, 0x62, 0x2f, 0x10, 0x58, 0xc9, 0x4c, 0xb2, 0xa2, 0x0a, + 0x7c, 0x60, 0x43, 0x87, 0x5c, 0xcb, 0xec, 0x9b, 0x87, 0x9d, 0x6e, 0xc7, 0xeb, 0xb0, 0xb2, 0xf9, + 0x54, 0x28, 0xd3, 0xf6, 0x57, 0x75, 0x79, 0x5d, 0x82, 0x1e, 0xc9, 0x64, 0x34, 0xac, 0x86, 0xba, + 0x80, 0xa4, 0x0b, 0xcd, 0xbe, 0x63, 0x9f, 0x76, 0x2c, 0xe2, 0xd0, 0x38, 0x83, 0x1a, 0x7b, 0xfb, + 0x7c, 0x3b, 0xd7, 0xf7, 0x75, 0x4f, 0xe8, 0x8b, 0x81, 0x66, 0x9d, 0x21, 0xb9, 0xab, 0xfd, 0x92, + 0x97, 0xe6, 0x22, 0x52, 0x74, 0x1f, 0x2e, 0x8f, 0xb8, 0x10, 0xde, 0xa9, 0x57, 0x87, 0xa6, 0x44, + 0x2a, 0x86, 0x36, 0xed, 0xbc, 0x13, 0xf3, 0x2c, 0x6e, 0xb9, 0x13, 0x17, 0x58, 0x6e, 0xed, 0x93, + 0x19, 0xc8, 0x47, 0x98, 0x03, 0x35, 0x00, 0x42, 0x9c, 0xc3, 0xcf, 0xf7, 0xf2, 0x79, 0x38, 0x27, + 0xc8, 0xd0, 0xc5, 0x58, 0x21, 0x3b, 0xa8, 0x0d, 0xf3, 0x2d, 0xfb, 0xa4, 0xdf, 0x25, 0x74, 0x5b, + 0x85, 0xec, 0x27, 0x9e, 0xc1, 0xfe, 0x9c, 0x6f, 0x31, 0xe4, 0x7e, 0x1d, 0xe6, 0x03, 0x52, 0x89, + 0x90, 0x27, 0x1d, 0x68, 0x7e, 0xa4, 0x98, 0x40, 0x27, 0x78, 0x9a, 0x9a, 0x2b, 0x29, 0x78, 0xce, + 0xd7, 0x0c, 0x0c, 0x6a, 0x7f, 0x4d, 0x42, 0xc6, 0xef, 0xa2, 0x0a, 0x14, 0x42, 0x35, 0x8a, 0x60, + 0x01, 0xe3, 0x0d, 0x73, 0x3f, 0xf3, 0x47, 0x61, 0xe1, 0x13, 0x28, 0x67, 0x09, 0x32, 0x2d, 0xbb, + 0xd7, 0x23, 0x2d, 0x8f, 0x58, 0x8c, 0x74, 0x24, 0x20, 0x10, 0xc7, 0x71, 0x4b, 0xf2, 0x19, 0xb8, + 0x25, 0x75, 0x5e, 0x6e, 0xb9, 0x03, 0xb3, 0x83, 0xde, 0x79, 0x99, 0x29, 0x8c, 0x64, 0xda, 0xff, + 0xcd, 0xca, 0xe6, 0xf4, 0xe8, 0x71, 0x42, 0xca, 0x09, 0x95, 0x3a, 0x15, 0x86, 0x8a, 0xe8, 0xc4, + 0x71, 0xd1, 0xff, 0x43, 0xa1, 0xd3, 0xa3, 0x2c, 0x4b, 0x9a, 0x42, 0x87, 0x13, 0x90, 0xac, 0xdc, + 0xd5, 0xf8, 0xc3, 0xb0, 0x6a, 0xbe, 0x13, 0x92, 0x8d, 0xe5, 0xb1, 0xcc, 0x37, 0xc2, 0x63, 0x70, + 0x31, 0x1e, 0x5b, 0xa2, 0x19, 0x9a, 0xd8, 0x59, 0xa5, 0x6c, 0x78, 0x4d, 0x7d, 0xb1, 0xf6, 0xc7, + 0x04, 0xe4, 0xc2, 0xd1, 0x00, 0xda, 0x83, 0x4c, 0x10, 0x45, 0xf0, 0x63, 0xf8, 0xfa, 0x39, 0xa2, + 0x88, 0x65, 0xd9, 0x92, 0x43, 0xf8, 0x46, 0x50, 0x13, 0x54, 0xdb, 0xe9, 0x1f, 0x9b, 0xbd, 0x48, + 0x78, 0x72, 0x71, 0xc3, 0xf2, 0xb8, 0x14, 0xb9, 0x35, 0x1f, 0xa1, 0x7d, 0xa2, 0x40, 0x5a, 0xf6, + 0xd0, 0x5d, 0xc8, 0xcb, 0x61, 0xc2, 0x07, 0x45, 0xae, 0xa0, 0xc4, 0x85, 0xce, 0x49, 0x8e, 0x84, + 0x64, 0x91, 0x82, 0x5d, 0xe2, 0x62, 0x05, 0x3b, 0x6d, 0x83, 0x91, 0x5a, 0x10, 0x77, 0xa3, 0xdb, + 0x00, 0xa1, 0x00, 0x3e, 0x5a, 0x17, 0xf5, 0x61, 0x92, 0xb6, 0x02, 0xa4, 0xf6, 0x53, 0x1e, 0x19, + 0xf2, 0xd8, 0xee, 0x36, 0xe4, 0xfb, 0xa4, 0x67, 0xd1, 0xcc, 0x5f, 0x46, 0x87, 0xe1, 0x58, 0x9c, + 0x82, 0xe4, 0x9b, 0x08, 0x1c, 0xd7, 0xbb, 0x01, 0x29, 0x8e, 0x4f, 0x8c, 0xc3, 0xf3, 0xe7, 0xe8, + 0x5d, 0x28, 0x06, 0x24, 0xc9, 0x55, 0xa6, 0xc6, 0xa9, 0x14, 0x7c, 0xa4, 0x74, 0x2e, 0x27, 0x16, + 0x97, 0x2b, 0x26, 0x47, 0x15, 0xe5, 0xba, 0x65, 0x39, 0x90, 0xeb, 0xdd, 0xe5, 0x67, 0xda, 0x6c, + 0x1d, 0x9b, 0x87, 0x5d, 0x22, 0x94, 0x53, 0xe3, 0x46, 0x55, 0x43, 0x58, 0xa6, 0x2f, 0x92, 0x14, + 0x9e, 0xb9, 0xde, 0x80, 0x14, 0xcf, 0x79, 0xa3, 0x13, 0x43, 0x1f, 0xca, 0x17, 0x65, 0xcf, 0xb5, + 0x4d, 0x96, 0x59, 0x7c, 0x13, 0x1f, 0xc2, 0x7e, 0xa8, 0xb0, 0xb8, 0x54, 0x64, 0xad, 0xab, 0x90, + 0xe5, 0x5b, 0x58, 0xee, 0x38, 0x25, 0x64, 0x88, 0x63, 0x18, 0x39, 0xc1, 0x89, 0xdf, 0x46, 0xd7, + 0x01, 0xf8, 0x47, 0x6e, 0xc6, 0x66, 0x34, 0x5c, 0x57, 0x70, 0x86, 0x49, 0x18, 0x6b, 0xbd, 0x04, + 0x39, 0xd2, 0x65, 0xb4, 0xcb, 0x01, 0x53, 0x0c, 0x90, 0x15, 0x32, 0x0a, 0xd1, 0x0e, 0x60, 0x3e, + 0x2e, 0xed, 0x45, 0x77, 0x61, 0x5a, 0xe4, 0xcc, 0x7c, 0xeb, 0x2f, 0xc6, 0x7c, 0x22, 0x58, 0xef, + 0x0e, 0xa8, 0x27, 0x5c, 0x43, 0x92, 0x20, 0xd7, 0xd2, 0xee, 0xc3, 0xe5, 0xf8, 0x4c, 0xf7, 0x59, + 0x3f, 0x3f, 0xac, 0xb1, 0x35, 0xe3, 0xe9, 0xed, 0xed, 0x21, 0x27, 0x4b, 0xa3, 0x85, 0xfe, 0x38, + 0xe7, 0x96, 0xfe, 0x9e, 0x78, 0x9e, 0x35, 0xf1, 0x68, 0xf1, 0x7b, 0x3a, 0x5a, 0xfc, 0x9e, 0x89, + 0x16, 0xbf, 0xd3, 0x43, 0xc5, 0xef, 0x4c, 0x4c, 0xf1, 0x1b, 0x46, 0x8b, 0xdf, 0xd9, 0x98, 0xe2, + 0xf7, 0x5c, 0xb4, 0xf8, 0x9d, 0x8b, 0x16, 0xbf, 0xf3, 0xc3, 0xc5, 0xef, 0xc2, 0x50, 0xa1, 0xbb, + 0x38, 0xa1, 0xb8, 0xac, 0x4e, 0x2c, 0x2e, 0xcf, 0x46, 0xcb, 0xc1, 0x48, 0x94, 0x72, 0xff, 0x91, + 0x83, 0x94, 0x7e, 0x4a, 0xd3, 0x9d, 0xd5, 0x48, 0x1d, 0xb7, 0x14, 0xe5, 0x6f, 0x06, 0x89, 0xfb, + 0x2d, 0x13, 0xb8, 0x83, 0x43, 0xb7, 0xe5, 0x74, 0x0e, 0x89, 0x25, 0x12, 0xd3, 0x72, 0x9c, 0xa6, + 0xe1, 0xa3, 0x70, 0x48, 0x03, 0xdd, 0x01, 0xa0, 0xf4, 0xd0, 0x34, 0x2d, 0x8b, 0xc5, 0x26, 0x31, + 0x3f, 0x36, 0x10, 0x23, 0x9b, 0xee, 0x83, 0x0a, 0x05, 0xe1, 0x8c, 0x27, 0x9b, 0x68, 0x0d, 0x72, + 0x4c, 0x9b, 0xff, 0xdc, 0xc4, 0x12, 0x11, 0xcb, 0xc2, 0x38, 0x7d, 0xfe, 0xed, 0xcd, 0xc2, 0x59, + 0x2f, 0xe8, 0xa0, 0xf7, 0x21, 0xcb, 0xef, 0x04, 0xee, 0x42, 0x6a, 0xfc, 0x2b, 0xb0, 0x2b, 0x81, + 0xfb, 0xc0, 0xf3, 0x42, 0xee, 0x84, 0x0e, 0x79, 0x6e, 0x80, 0xff, 0x90, 0xc3, 0x8a, 0xff, 0x19, + 0x53, 0xc8, 0x04, 0xff, 0x8a, 0x65, 0xe1, 0x9c, 0x19, 0xea, 0xa1, 0x2d, 0x28, 0x06, 0x51, 0x20, + 0xf7, 0x65, 0x26, 0xee, 0x57, 0x2c, 0xdc, 0x90, 0x1f, 0x13, 0x72, 0x7f, 0x82, 0x00, 0x92, 0xfb, + 0xf4, 0x21, 0xcc, 0x06, 0xc6, 0xe4, 0xec, 0xa4, 0xe3, 0x72, 0xfd, 0x21, 0x73, 0x72, 0x8a, 0xd4, + 0xa3, 0x21, 0x49, 0xd4, 0xa4, 0x7c, 0xd5, 0xcc, 0x39, 0x4c, 0xca, 0xd7, 0x0d, 0x4c, 0x0a, 0x89, + 0xf6, 0xa9, 0x02, 0x60, 0x84, 0xf7, 0x42, 0xa8, 0x6c, 0xac, 0x5c, 0xb4, 0x6c, 0x7c, 0x07, 0xb4, + 0x63, 0x62, 0x3a, 0xde, 0x21, 0x31, 0x29, 0xe9, 0x7b, 0xc4, 0x39, 0x35, 0xbb, 0x4d, 0x97, 0xb4, + 0xec, 0x9e, 0xe5, 0x0a, 0x0e, 0x2e, 0xf9, 0x88, 0x9a, 0x00, 0x18, 0xfc, 0xb9, 0xb6, 0x0a, 0x19, + 0x7f, 0x87, 0xa1, 0x57, 0x20, 0x49, 0x77, 0x88, 0x60, 0xaf, 0x98, 0x2b, 0x8b, 0x3d, 0xd6, 0x7e, + 0xad, 0x40, 0x36, 0xb4, 0xad, 0xbe, 0xc9, 0x6f, 0x8d, 0x68, 0xc5, 0xa7, 0x50, 0x1e, 0xa7, 0xcc, + 0x86, 0x9c, 0x88, 0xe3, 0x4e, 0xf4, 0x2a, 0xa4, 0xf8, 0xc4, 0xd1, 0xf8, 0xbe, 0xe0, 0x07, 0x22, + 0x12, 0x4f, 0x30, 0x7f, 0xac, 0x59, 0x50, 0x88, 0xee, 0x1d, 0x84, 0x21, 0xe3, 0x8f, 0x2c, 0x7c, + 0x7e, 0xba, 0xdc, 0x29, 0x30, 0xa3, 0x1d, 0x81, 0x3a, 0xbc, 0xa5, 0xfe, 0x23, 0xe3, 0xec, 0x87, + 0xc6, 0x91, 0x07, 0xe9, 0xd9, 0xd3, 0x29, 0x6d, 0x0f, 0x20, 0x38, 0xec, 0x68, 0x0d, 0x52, 0xec, + 0xa4, 0x0a, 0x3b, 0x17, 0x2b, 0x4c, 0x71, 0x55, 0xed, 0x03, 0xc8, 0x85, 0xcf, 0xfe, 0x33, 0x7d, + 0x3a, 0xfe, 0x83, 0x32, 0xe6, 0x9a, 0xf4, 0xbf, 0x7f, 0x56, 0x55, 0x85, 0xf6, 0xe9, 0x0d, 0xd3, + 0xac, 0x54, 0xab, 0x7a, 0x55, 0x4d, 0x20, 0x15, 0x72, 0xac, 0xcf, 0x3f, 0x2f, 0x56, 0xf9, 0x45, + 0xc9, 0x3f, 0xed, 0x71, 0x48, 0x92, 0xde, 0x5f, 0x5c, 0xc0, 0x3f, 0x0b, 0x56, 0xd5, 0x14, 0x9a, + 0x83, 0xa2, 0x7f, 0xc5, 0x09, 0xdc, 0x34, 0xbd, 0x50, 0x03, 0xa1, 0xb4, 0x37, 0x13, 0x15, 0x4b, + 0x13, 0xec, 0x2b, 0xf2, 0xa6, 0x5e, 0xc1, 0x8d, 0x35, 0xbd, 0xd2, 0x50, 0x33, 0xfc, 0xd6, 0x59, + 0xab, 0x7e, 0xf1, 0xb8, 0x7c, 0xe9, 0xcf, 0x8f, 0xcb, 0x97, 0xfe, 0xf2, 0xb8, 0xac, 0x7c, 0xfd, + 0xb8, 0xac, 0xfc, 0xf3, 0x71, 0x59, 0xf9, 0xc1, 0x59, 0x59, 0xf9, 0xc5, 0x59, 0x59, 0xf9, 0xcd, + 0x59, 0x59, 0xf9, 0xfd, 0x59, 0x59, 0xf9, 0xfc, 0xac, 0xac, 0x7c, 0x71, 0x56, 0x56, 0xfe, 0x76, + 0x56, 0xbe, 0xf4, 0xf5, 0x59, 0x59, 0xf9, 0xc9, 0x57, 0xe5, 0x4b, 0x9f, 0x7d, 0x55, 0x56, 0x3e, + 0x9a, 0xe6, 0x73, 0xff, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1d, 0xbe, 0x4b, 0x48, 0xc6, 0x2c, + 0x00, 0x00, } diff --git a/api/v1/lib/master/masterpb_test.go b/api/v1/lib/master/masterpb_test.go index 33df1050..2c17af7e 100644 --- a/api/v1/lib/master/masterpb_test.go +++ b/api/v1/lib/master/masterpb_test.go @@ -1054,6 +1054,210 @@ func BenchmarkCall_DestroyVolumesProtoUnmarshal(b *testing.B) { b.SetBytes(int64(total / b.N)) } +func TestCall_GrowVolumeProto(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedCall_GrowVolume(popr, false) + dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + msg := &Call_GrowVolume{} + if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + littlefuzz := make([]byte, len(dAtA)) + copy(littlefuzz, dAtA) + for i := range dAtA { + dAtA[i] = byte(popr.Intn(256)) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } + if len(littlefuzz) > 0 { + fuzzamount := 100 + for i := 0; i < fuzzamount; i++ { + littlefuzz[popr.Intn(len(littlefuzz))] = byte(popr.Intn(256)) + littlefuzz = append(littlefuzz, byte(popr.Intn(256))) + } + // shouldn't panic + _ = github_com_gogo_protobuf_proto.Unmarshal(littlefuzz, msg) + } +} + +func TestCall_GrowVolumeMarshalTo(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedCall_GrowVolume(popr, false) + size := p.ProtoSize() + dAtA := make([]byte, size) + for i := range dAtA { + dAtA[i] = byte(popr.Intn(256)) + } + _, err := p.MarshalTo(dAtA) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + msg := &Call_GrowVolume{} + if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + for i := range dAtA { + dAtA[i] = byte(popr.Intn(256)) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } +} + +func BenchmarkCall_GrowVolumeProtoMarshal(b *testing.B) { + popr := math_rand.New(math_rand.NewSource(616)) + total := 0 + pops := make([]*Call_GrowVolume, 10000) + for i := 0; i < 10000; i++ { + pops[i] = NewPopulatedCall_GrowVolume(popr, false) + } + b.ResetTimer() + for i := 0; i < b.N; i++ { + dAtA, err := github_com_gogo_protobuf_proto.Marshal(pops[i%10000]) + if err != nil { + panic(err) + } + total += len(dAtA) + } + b.SetBytes(int64(total / b.N)) +} + +func BenchmarkCall_GrowVolumeProtoUnmarshal(b *testing.B) { + popr := math_rand.New(math_rand.NewSource(616)) + total := 0 + datas := make([][]byte, 10000) + for i := 0; i < 10000; i++ { + dAtA, err := github_com_gogo_protobuf_proto.Marshal(NewPopulatedCall_GrowVolume(popr, false)) + if err != nil { + panic(err) + } + datas[i] = dAtA + } + msg := &Call_GrowVolume{} + b.ResetTimer() + for i := 0; i < b.N; i++ { + total += len(datas[i%10000]) + if err := github_com_gogo_protobuf_proto.Unmarshal(datas[i%10000], msg); err != nil { + panic(err) + } + } + b.SetBytes(int64(total / b.N)) +} + +func TestCall_ShrinkVolumeProto(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedCall_ShrinkVolume(popr, false) + dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + msg := &Call_ShrinkVolume{} + if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + littlefuzz := make([]byte, len(dAtA)) + copy(littlefuzz, dAtA) + for i := range dAtA { + dAtA[i] = byte(popr.Intn(256)) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } + if len(littlefuzz) > 0 { + fuzzamount := 100 + for i := 0; i < fuzzamount; i++ { + littlefuzz[popr.Intn(len(littlefuzz))] = byte(popr.Intn(256)) + littlefuzz = append(littlefuzz, byte(popr.Intn(256))) + } + // shouldn't panic + _ = github_com_gogo_protobuf_proto.Unmarshal(littlefuzz, msg) + } +} + +func TestCall_ShrinkVolumeMarshalTo(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedCall_ShrinkVolume(popr, false) + size := p.ProtoSize() + dAtA := make([]byte, size) + for i := range dAtA { + dAtA[i] = byte(popr.Intn(256)) + } + _, err := p.MarshalTo(dAtA) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + msg := &Call_ShrinkVolume{} + if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + for i := range dAtA { + dAtA[i] = byte(popr.Intn(256)) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } +} + +func BenchmarkCall_ShrinkVolumeProtoMarshal(b *testing.B) { + popr := math_rand.New(math_rand.NewSource(616)) + total := 0 + pops := make([]*Call_ShrinkVolume, 10000) + for i := 0; i < 10000; i++ { + pops[i] = NewPopulatedCall_ShrinkVolume(popr, false) + } + b.ResetTimer() + for i := 0; i < b.N; i++ { + dAtA, err := github_com_gogo_protobuf_proto.Marshal(pops[i%10000]) + if err != nil { + panic(err) + } + total += len(dAtA) + } + b.SetBytes(int64(total / b.N)) +} + +func BenchmarkCall_ShrinkVolumeProtoUnmarshal(b *testing.B) { + popr := math_rand.New(math_rand.NewSource(616)) + total := 0 + datas := make([][]byte, 10000) + for i := 0; i < 10000; i++ { + dAtA, err := github_com_gogo_protobuf_proto.Marshal(NewPopulatedCall_ShrinkVolume(popr, false)) + if err != nil { + panic(err) + } + datas[i] = dAtA + } + msg := &Call_ShrinkVolume{} + b.ResetTimer() + for i := 0; i < b.N; i++ { + total += len(datas[i%10000]) + if err := github_com_gogo_protobuf_proto.Unmarshal(datas[i%10000], msg); err != nil { + panic(err) + } + } + b.SetBytes(int64(total / b.N)) +} + func TestCall_UpdateMaintenanceScheduleProto(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) @@ -3400,6 +3604,108 @@ func BenchmarkResponse_GetExecutors_ExecutorProtoUnmarshal(b *testing.B) { b.SetBytes(int64(total / b.N)) } +func TestResponse_GetOperationsProto(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedResponse_GetOperations(popr, false) + dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + msg := &Response_GetOperations{} + if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + littlefuzz := make([]byte, len(dAtA)) + copy(littlefuzz, dAtA) + for i := range dAtA { + dAtA[i] = byte(popr.Intn(256)) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } + if len(littlefuzz) > 0 { + fuzzamount := 100 + for i := 0; i < fuzzamount; i++ { + littlefuzz[popr.Intn(len(littlefuzz))] = byte(popr.Intn(256)) + littlefuzz = append(littlefuzz, byte(popr.Intn(256))) + } + // shouldn't panic + _ = github_com_gogo_protobuf_proto.Unmarshal(littlefuzz, msg) + } +} + +func TestResponse_GetOperationsMarshalTo(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedResponse_GetOperations(popr, false) + size := p.ProtoSize() + dAtA := make([]byte, size) + for i := range dAtA { + dAtA[i] = byte(popr.Intn(256)) + } + _, err := p.MarshalTo(dAtA) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + msg := &Response_GetOperations{} + if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + for i := range dAtA { + dAtA[i] = byte(popr.Intn(256)) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } +} + +func BenchmarkResponse_GetOperationsProtoMarshal(b *testing.B) { + popr := math_rand.New(math_rand.NewSource(616)) + total := 0 + pops := make([]*Response_GetOperations, 10000) + for i := 0; i < 10000; i++ { + pops[i] = NewPopulatedResponse_GetOperations(popr, false) + } + b.ResetTimer() + for i := 0; i < b.N; i++ { + dAtA, err := github_com_gogo_protobuf_proto.Marshal(pops[i%10000]) + if err != nil { + panic(err) + } + total += len(dAtA) + } + b.SetBytes(int64(total / b.N)) +} + +func BenchmarkResponse_GetOperationsProtoUnmarshal(b *testing.B) { + popr := math_rand.New(math_rand.NewSource(616)) + total := 0 + datas := make([][]byte, 10000) + for i := 0; i < 10000; i++ { + dAtA, err := github_com_gogo_protobuf_proto.Marshal(NewPopulatedResponse_GetOperations(popr, false)) + if err != nil { + panic(err) + } + datas[i] = dAtA + } + msg := &Response_GetOperations{} + b.ResetTimer() + for i := 0; i < b.N; i++ { + total += len(datas[i%10000]) + if err := github_com_gogo_protobuf_proto.Unmarshal(datas[i%10000], msg); err != nil { + panic(err) + } + } + b.SetBytes(int64(total / b.N)) +} + func TestResponse_GetTasksProto(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) @@ -5242,6 +5548,48 @@ func TestCall_DestroyVolumesJSON(t *testing.T) { t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p) } } +func TestCall_GrowVolumeJSON(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedCall_GrowVolume(popr, true) + marshaler := github_com_gogo_protobuf_jsonpb.Marshaler{} + jsondata, err := marshaler.MarshalToString(p) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + msg := &Call_GrowVolume{} + err = github_com_gogo_protobuf_jsonpb.UnmarshalString(jsondata, msg) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p) + } +} +func TestCall_ShrinkVolumeJSON(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedCall_ShrinkVolume(popr, true) + marshaler := github_com_gogo_protobuf_jsonpb.Marshaler{} + jsondata, err := marshaler.MarshalToString(p) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + msg := &Call_ShrinkVolume{} + err = github_com_gogo_protobuf_jsonpb.UnmarshalString(jsondata, msg) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p) + } +} func TestCall_UpdateMaintenanceScheduleJSON(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) @@ -5725,6 +6073,27 @@ func TestResponse_GetExecutors_ExecutorJSON(t *testing.T) { t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p) } } +func TestResponse_GetOperationsJSON(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedResponse_GetOperations(popr, true) + marshaler := github_com_gogo_protobuf_jsonpb.Marshaler{} + jsondata, err := marshaler.MarshalToString(p) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + msg := &Response_GetOperations{} + err = github_com_gogo_protobuf_jsonpb.UnmarshalString(jsondata, msg) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p) + } +} func TestResponse_GetTasksJSON(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) @@ -6236,7 +6605,75 @@ func TestCall_UpdateWeightsProtoText(t *testing.T) { popr := math_rand.New(math_rand.NewSource(seed)) p := NewPopulatedCall_UpdateWeights(popr, true) dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p) - msg := &Call_UpdateWeights{} + msg := &Call_UpdateWeights{} + if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } +} + +func TestCall_UpdateWeightsProtoCompactText(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedCall_UpdateWeights(popr, true) + dAtA := github_com_gogo_protobuf_proto.CompactTextString(p) + msg := &Call_UpdateWeights{} + if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } +} + +func TestCall_ReserveResourcesProtoText(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedCall_ReserveResources(popr, true) + dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p) + msg := &Call_ReserveResources{} + if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } +} + +func TestCall_ReserveResourcesProtoCompactText(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedCall_ReserveResources(popr, true) + dAtA := github_com_gogo_protobuf_proto.CompactTextString(p) + msg := &Call_ReserveResources{} + if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } +} + +func TestCall_UnreserveResourcesProtoText(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedCall_UnreserveResources(popr, true) + dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p) + msg := &Call_UnreserveResources{} if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { t.Fatalf("seed = %d, err = %v", seed, err) } @@ -6248,12 +6685,12 @@ func TestCall_UpdateWeightsProtoText(t *testing.T) { } } -func TestCall_UpdateWeightsProtoCompactText(t *testing.T) { +func TestCall_UnreserveResourcesProtoCompactText(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) - p := NewPopulatedCall_UpdateWeights(popr, true) + p := NewPopulatedCall_UnreserveResources(popr, true) dAtA := github_com_gogo_protobuf_proto.CompactTextString(p) - msg := &Call_UpdateWeights{} + msg := &Call_UnreserveResources{} if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { t.Fatalf("seed = %d, err = %v", seed, err) } @@ -6265,12 +6702,12 @@ func TestCall_UpdateWeightsProtoCompactText(t *testing.T) { } } -func TestCall_ReserveResourcesProtoText(t *testing.T) { +func TestCall_CreateVolumesProtoText(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) - p := NewPopulatedCall_ReserveResources(popr, true) + p := NewPopulatedCall_CreateVolumes(popr, true) dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p) - msg := &Call_ReserveResources{} + msg := &Call_CreateVolumes{} if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { t.Fatalf("seed = %d, err = %v", seed, err) } @@ -6282,12 +6719,12 @@ func TestCall_ReserveResourcesProtoText(t *testing.T) { } } -func TestCall_ReserveResourcesProtoCompactText(t *testing.T) { +func TestCall_CreateVolumesProtoCompactText(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) - p := NewPopulatedCall_ReserveResources(popr, true) + p := NewPopulatedCall_CreateVolumes(popr, true) dAtA := github_com_gogo_protobuf_proto.CompactTextString(p) - msg := &Call_ReserveResources{} + msg := &Call_CreateVolumes{} if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { t.Fatalf("seed = %d, err = %v", seed, err) } @@ -6299,12 +6736,12 @@ func TestCall_ReserveResourcesProtoCompactText(t *testing.T) { } } -func TestCall_UnreserveResourcesProtoText(t *testing.T) { +func TestCall_DestroyVolumesProtoText(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) - p := NewPopulatedCall_UnreserveResources(popr, true) + p := NewPopulatedCall_DestroyVolumes(popr, true) dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p) - msg := &Call_UnreserveResources{} + msg := &Call_DestroyVolumes{} if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { t.Fatalf("seed = %d, err = %v", seed, err) } @@ -6316,12 +6753,12 @@ func TestCall_UnreserveResourcesProtoText(t *testing.T) { } } -func TestCall_UnreserveResourcesProtoCompactText(t *testing.T) { +func TestCall_DestroyVolumesProtoCompactText(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) - p := NewPopulatedCall_UnreserveResources(popr, true) + p := NewPopulatedCall_DestroyVolumes(popr, true) dAtA := github_com_gogo_protobuf_proto.CompactTextString(p) - msg := &Call_UnreserveResources{} + msg := &Call_DestroyVolumes{} if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { t.Fatalf("seed = %d, err = %v", seed, err) } @@ -6333,12 +6770,12 @@ func TestCall_UnreserveResourcesProtoCompactText(t *testing.T) { } } -func TestCall_CreateVolumesProtoText(t *testing.T) { +func TestCall_GrowVolumeProtoText(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) - p := NewPopulatedCall_CreateVolumes(popr, true) + p := NewPopulatedCall_GrowVolume(popr, true) dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p) - msg := &Call_CreateVolumes{} + msg := &Call_GrowVolume{} if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { t.Fatalf("seed = %d, err = %v", seed, err) } @@ -6350,12 +6787,12 @@ func TestCall_CreateVolumesProtoText(t *testing.T) { } } -func TestCall_CreateVolumesProtoCompactText(t *testing.T) { +func TestCall_GrowVolumeProtoCompactText(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) - p := NewPopulatedCall_CreateVolumes(popr, true) + p := NewPopulatedCall_GrowVolume(popr, true) dAtA := github_com_gogo_protobuf_proto.CompactTextString(p) - msg := &Call_CreateVolumes{} + msg := &Call_GrowVolume{} if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { t.Fatalf("seed = %d, err = %v", seed, err) } @@ -6367,12 +6804,12 @@ func TestCall_CreateVolumesProtoCompactText(t *testing.T) { } } -func TestCall_DestroyVolumesProtoText(t *testing.T) { +func TestCall_ShrinkVolumeProtoText(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) - p := NewPopulatedCall_DestroyVolumes(popr, true) + p := NewPopulatedCall_ShrinkVolume(popr, true) dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p) - msg := &Call_DestroyVolumes{} + msg := &Call_ShrinkVolume{} if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { t.Fatalf("seed = %d, err = %v", seed, err) } @@ -6384,12 +6821,12 @@ func TestCall_DestroyVolumesProtoText(t *testing.T) { } } -func TestCall_DestroyVolumesProtoCompactText(t *testing.T) { +func TestCall_ShrinkVolumeProtoCompactText(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) - p := NewPopulatedCall_DestroyVolumes(popr, true) + p := NewPopulatedCall_ShrinkVolume(popr, true) dAtA := github_com_gogo_protobuf_proto.CompactTextString(p) - msg := &Call_DestroyVolumes{} + msg := &Call_ShrinkVolume{} if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { t.Fatalf("seed = %d, err = %v", seed, err) } @@ -7183,6 +7620,40 @@ func TestResponse_GetExecutors_ExecutorProtoCompactText(t *testing.T) { } } +func TestResponse_GetOperationsProtoText(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedResponse_GetOperations(popr, true) + dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p) + msg := &Response_GetOperations{} + if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } +} + +func TestResponse_GetOperationsProtoCompactText(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedResponse_GetOperations(popr, true) + dAtA := github_com_gogo_protobuf_proto.CompactTextString(p) + msg := &Response_GetOperations{} + if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } +} + func TestResponse_GetTasksProtoText(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) @@ -7877,6 +8348,36 @@ func TestCall_DestroyVolumesVerboseEqual(t *testing.T) { t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err) } } +func TestCall_GrowVolumeVerboseEqual(t *testing.T) { + popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) + p := NewPopulatedCall_GrowVolume(popr, false) + dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) + if err != nil { + panic(err) + } + msg := &Call_GrowVolume{} + if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { + panic(err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err) + } +} +func TestCall_ShrinkVolumeVerboseEqual(t *testing.T) { + popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) + p := NewPopulatedCall_ShrinkVolume(popr, false) + dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) + if err != nil { + panic(err) + } + msg := &Call_ShrinkVolume{} + if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { + panic(err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err) + } +} func TestCall_UpdateMaintenanceScheduleVerboseEqual(t *testing.T) { popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) p := NewPopulatedCall_UpdateMaintenanceSchedule(popr, false) @@ -8222,6 +8723,21 @@ func TestResponse_GetExecutors_ExecutorVerboseEqual(t *testing.T) { t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err) } } +func TestResponse_GetOperationsVerboseEqual(t *testing.T) { + popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) + p := NewPopulatedResponse_GetOperations(popr, false) + dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) + if err != nil { + panic(err) + } + msg := &Response_GetOperations{} + if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { + panic(err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err) + } +} func TestResponse_GetTasksVerboseEqual(t *testing.T) { popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) p := NewPopulatedResponse_GetTasks(popr, false) @@ -8592,6 +9108,32 @@ func TestCall_DestroyVolumesGoString(t *testing.T) { panic(err) } } +func TestCall_GrowVolumeGoString(t *testing.T) { + popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) + p := NewPopulatedCall_GrowVolume(popr, false) + s1 := p.GoString() + s2 := fmt.Sprintf("%#v", p) + if s1 != s2 { + t.Fatalf("GoString want %v got %v", s1, s2) + } + _, err := go_parser.ParseExpr(s1) + if err != nil { + panic(err) + } +} +func TestCall_ShrinkVolumeGoString(t *testing.T) { + popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) + p := NewPopulatedCall_ShrinkVolume(popr, false) + s1 := p.GoString() + s2 := fmt.Sprintf("%#v", p) + if s1 != s2 { + t.Fatalf("GoString want %v got %v", s1, s2) + } + _, err := go_parser.ParseExpr(s1) + if err != nil { + panic(err) + } +} func TestCall_UpdateMaintenanceScheduleGoString(t *testing.T) { popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) p := NewPopulatedCall_UpdateMaintenanceSchedule(popr, false) @@ -8891,6 +9433,19 @@ func TestResponse_GetExecutors_ExecutorGoString(t *testing.T) { panic(err) } } +func TestResponse_GetOperationsGoString(t *testing.T) { + popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) + p := NewPopulatedResponse_GetOperations(popr, false) + s1 := p.GoString() + s2 := fmt.Sprintf("%#v", p) + if s1 != s2 { + t.Fatalf("GoString want %v got %v", s1, s2) + } + _, err := go_parser.ParseExpr(s1) + if err != nil { + panic(err) + } +} func TestResponse_GetTasksGoString(t *testing.T) { popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) p := NewPopulatedResponse_GetTasks(popr, false) @@ -9459,6 +10014,78 @@ func BenchmarkCall_DestroyVolumesProtoSize(b *testing.B) { b.SetBytes(int64(total / b.N)) } +func TestCall_GrowVolumeProtoSize(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedCall_GrowVolume(popr, true) + size2 := github_com_gogo_protobuf_proto.Size(p) + dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + size := p.ProtoSize() + if len(dAtA) != size { + t.Errorf("seed = %d, size %v != marshalled size %v", seed, size, len(dAtA)) + } + if size2 != size { + t.Errorf("seed = %d, size %v != before marshal proto.Size %v", seed, size, size2) + } + size3 := github_com_gogo_protobuf_proto.Size(p) + if size3 != size { + t.Errorf("seed = %d, size %v != after marshal proto.Size %v", seed, size, size3) + } +} + +func BenchmarkCall_GrowVolumeProtoSize(b *testing.B) { + popr := math_rand.New(math_rand.NewSource(616)) + total := 0 + pops := make([]*Call_GrowVolume, 1000) + for i := 0; i < 1000; i++ { + pops[i] = NewPopulatedCall_GrowVolume(popr, false) + } + b.ResetTimer() + for i := 0; i < b.N; i++ { + total += pops[i%1000].ProtoSize() + } + b.SetBytes(int64(total / b.N)) +} + +func TestCall_ShrinkVolumeProtoSize(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedCall_ShrinkVolume(popr, true) + size2 := github_com_gogo_protobuf_proto.Size(p) + dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + size := p.ProtoSize() + if len(dAtA) != size { + t.Errorf("seed = %d, size %v != marshalled size %v", seed, size, len(dAtA)) + } + if size2 != size { + t.Errorf("seed = %d, size %v != before marshal proto.Size %v", seed, size, size2) + } + size3 := github_com_gogo_protobuf_proto.Size(p) + if size3 != size { + t.Errorf("seed = %d, size %v != after marshal proto.Size %v", seed, size, size3) + } +} + +func BenchmarkCall_ShrinkVolumeProtoSize(b *testing.B) { + popr := math_rand.New(math_rand.NewSource(616)) + total := 0 + pops := make([]*Call_ShrinkVolume, 1000) + for i := 0; i < 1000; i++ { + pops[i] = NewPopulatedCall_ShrinkVolume(popr, false) + } + b.ResetTimer() + for i := 0; i < b.N; i++ { + total += pops[i%1000].ProtoSize() + } + b.SetBytes(int64(total / b.N)) +} + func TestCall_UpdateMaintenanceScheduleProtoSize(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) @@ -10287,6 +10914,42 @@ func BenchmarkResponse_GetExecutors_ExecutorProtoSize(b *testing.B) { b.SetBytes(int64(total / b.N)) } +func TestResponse_GetOperationsProtoSize(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedResponse_GetOperations(popr, true) + size2 := github_com_gogo_protobuf_proto.Size(p) + dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + size := p.ProtoSize() + if len(dAtA) != size { + t.Errorf("seed = %d, size %v != marshalled size %v", seed, size, len(dAtA)) + } + if size2 != size { + t.Errorf("seed = %d, size %v != before marshal proto.Size %v", seed, size, size2) + } + size3 := github_com_gogo_protobuf_proto.Size(p) + if size3 != size { + t.Errorf("seed = %d, size %v != after marshal proto.Size %v", seed, size, size3) + } +} + +func BenchmarkResponse_GetOperationsProtoSize(b *testing.B) { + popr := math_rand.New(math_rand.NewSource(616)) + total := 0 + pops := make([]*Response_GetOperations, 1000) + for i := 0; i < 1000; i++ { + pops[i] = NewPopulatedResponse_GetOperations(popr, false) + } + b.ResetTimer() + for i := 0; i < b.N; i++ { + total += pops[i%1000].ProtoSize() + } + b.SetBytes(int64(total / b.N)) +} + func TestResponse_GetTasksProtoSize(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) @@ -10953,6 +11616,24 @@ func TestCall_DestroyVolumesStringer(t *testing.T) { t.Fatalf("String want %v got %v", s1, s2) } } +func TestCall_GrowVolumeStringer(t *testing.T) { + popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) + p := NewPopulatedCall_GrowVolume(popr, false) + s1 := p.String() + s2 := fmt.Sprintf("%v", p) + if s1 != s2 { + t.Fatalf("String want %v got %v", s1, s2) + } +} +func TestCall_ShrinkVolumeStringer(t *testing.T) { + popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) + p := NewPopulatedCall_ShrinkVolume(popr, false) + s1 := p.String() + s2 := fmt.Sprintf("%v", p) + if s1 != s2 { + t.Fatalf("String want %v got %v", s1, s2) + } +} func TestCall_UpdateMaintenanceScheduleStringer(t *testing.T) { popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) p := NewPopulatedCall_UpdateMaintenanceSchedule(popr, false) @@ -11160,6 +11841,15 @@ func TestResponse_GetExecutors_ExecutorStringer(t *testing.T) { t.Fatalf("String want %v got %v", s1, s2) } } +func TestResponse_GetOperationsStringer(t *testing.T) { + popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) + p := NewPopulatedResponse_GetOperations(popr, false) + s1 := p.String() + s2 := fmt.Sprintf("%v", p) + if s1 != s2 { + t.Fatalf("String want %v got %v", s1, s2) + } +} func TestResponse_GetTasksStringer(t *testing.T) { popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) p := NewPopulatedResponse_GetTasks(popr, false) diff --git a/api/v1/lib/mesos.pb.go b/api/v1/lib/mesos.pb.go index 0cc0370f..cf7bdd93 100644 --- a/api/v1/lib/mesos.pb.go +++ b/api/v1/lib/mesos.pb.go @@ -192,7 +192,7 @@ const ( // // NOTE: This state is not always terminal. For example, tasks might // transition from TASK_LOST to TASK_RUNNING or other states when a - // partitioned agent re-registers. + // partitioned agent reregisters. TASK_LOST TaskState = 5 // The task failed to launch because of a transient error. The // task's executor never started running. Unlike TASK_ERROR, the @@ -293,6 +293,31 @@ const ( OPERATION_ERROR OperationState = 4 // TERMINAL: The operation was dropped due to a transient error. OPERATION_DROPPED OperationState = 5 + // The operation affects an agent that has lost contact with the master, + // typically due to a network failure or partition. The operation may or may + // not still be pending. + OPERATION_UNREACHABLE OperationState = 6 + // The operation affected an agent that the master cannot contact; + // the operator has asserted that the agent has been shutdown, but this has + // not been directly confirmed by the master. + // + // If the operator is correct, the operation is not pending and this is a + // terminal state; if the operator is mistaken, the operation may still be + // pending and might return to a different state in the future. + OPERATION_GONE_BY_OPERATOR OperationState = 7 + // The operation affects an agent that the master recovered from its + // state, but that agent has not yet re-registered. + // + // The operation can transition to `OPERATION_UNREACHABLE` if the + // corresponding agent is marked as unreachable, and will transition to + // another status if the agent re-registers. + OPERATION_RECOVERING OperationState = 8 + // The master has no knowledge of the operation. This is typically + // because either (a) the master never had knowledge of the operation, or + // (b) the master forgot about the operation because it garbage collected + // its metadata about the operation. The operation may or may not still be + // pending. + OPERATION_UNKNOWN OperationState = 9 ) var OperationState_name = map[int32]string{ @@ -302,14 +327,22 @@ var OperationState_name = map[int32]string{ 3: "OPERATION_FAILED", 4: "OPERATION_ERROR", 5: "OPERATION_DROPPED", + 6: "OPERATION_UNREACHABLE", + 7: "OPERATION_GONE_BY_OPERATOR", + 8: "OPERATION_RECOVERING", + 9: "OPERATION_UNKNOWN", } var OperationState_value = map[string]int32{ - "OPERATION_UNSUPPORTED": 0, - "OPERATION_PENDING": 1, - "OPERATION_FINISHED": 2, - "OPERATION_FAILED": 3, - "OPERATION_ERROR": 4, - "OPERATION_DROPPED": 5, + "OPERATION_UNSUPPORTED": 0, + "OPERATION_PENDING": 1, + "OPERATION_FINISHED": 2, + "OPERATION_FAILED": 3, + "OPERATION_ERROR": 4, + "OPERATION_DROPPED": 5, + "OPERATION_UNREACHABLE": 6, + "OPERATION_GONE_BY_OPERATOR": 7, + "OPERATION_RECOVERING": 8, + "OPERATION_UNKNOWN": 9, } func (x OperationState) Enum() *OperationState { @@ -655,7 +688,7 @@ type MasterInfo_Capability_Type int32 const ( MasterInfo_Capability_UNKNOWN MasterInfo_Capability_Type = 0 // The master can handle slaves whose state - // changes after re-registering. + // changes after reregistering. MasterInfo_Capability_AGENT_UPDATE MasterInfo_Capability_Type = 1 ) @@ -747,6 +780,9 @@ const ( // // (2) The ability to provide operation feedback. AgentInfo_Capability_RESOURCE_PROVIDER AgentInfo_Capability_Type = 4 + // This expresses the capability for the agent to handle persistent volume + // resize operations safely. This capability is turned on by default. + AgentInfo_Capability_RESIZE_VOLUME AgentInfo_Capability_Type = 5 ) var AgentInfo_Capability_Type_name = map[int32]string{ @@ -755,6 +791,7 @@ var AgentInfo_Capability_Type_name = map[int32]string{ 2: "HIERARCHICAL_ROLE", 3: "RESERVATION_REFINEMENT", 4: "RESOURCE_PROVIDER", + 5: "RESIZE_VOLUME", } var AgentInfo_Capability_Type_value = map[string]int32{ "UNKNOWN": 0, @@ -762,6 +799,7 @@ var AgentInfo_Capability_Type_value = map[string]int32{ "HIERARCHICAL_ROLE": 2, "RESERVATION_REFINEMENT": 3, "RESOURCE_PROVIDER": 4, + "RESIZE_VOLUME": 5, } func (x AgentInfo_Capability_Type) Enum() *AgentInfo_Capability_Type { @@ -961,6 +999,8 @@ const ( Offer_Operation_DESTROY_VOLUME Offer_Operation_Type = 8 Offer_Operation_CREATE_BLOCK Offer_Operation_Type = 9 Offer_Operation_DESTROY_BLOCK Offer_Operation_Type = 10 + Offer_Operation_GROW_VOLUME Offer_Operation_Type = 11 + Offer_Operation_SHRINK_VOLUME Offer_Operation_Type = 12 ) var Offer_Operation_Type_name = map[int32]string{ @@ -975,6 +1015,8 @@ var Offer_Operation_Type_name = map[int32]string{ 8: "DESTROY_VOLUME", 9: "CREATE_BLOCK", 10: "DESTROY_BLOCK", + 11: "GROW_VOLUME", + 12: "SHRINK_VOLUME", } var Offer_Operation_Type_value = map[string]int32{ "UNKNOWN": 0, @@ -988,6 +1030,8 @@ var Offer_Operation_Type_value = map[string]int32{ "DESTROY_VOLUME": 8, "CREATE_BLOCK": 9, "DESTROY_BLOCK": 10, + "GROW_VOLUME": 11, + "SHRINK_VOLUME": 12, } func (x Offer_Operation_Type) Enum() *Offer_Operation_Type { @@ -1063,6 +1107,7 @@ const ( REASON_CONTAINER_LIMITATION_MEMORY TaskStatus_Reason = 8 REASON_CONTAINER_PREEMPTED TaskStatus_Reason = 17 REASON_CONTAINER_UPDATE_FAILED TaskStatus_Reason = 22 + REASON_MAX_COMPLETION_TIME_REACHED TaskStatus_Reason = 33 REASON_EXECUTOR_REGISTRATION_TIMEOUT TaskStatus_Reason = 23 REASON_EXECUTOR_REREGISTRATION_TIMEOUT TaskStatus_Reason = 24 REASON_EXECUTOR_TERMINATED TaskStatus_Reason = 1 @@ -1099,6 +1144,7 @@ var TaskStatus_Reason_name = map[int32]string{ 8: "REASON_CONTAINER_LIMITATION_MEMORY", 17: "REASON_CONTAINER_PREEMPTED", 22: "REASON_CONTAINER_UPDATE_FAILED", + 33: "REASON_MAX_COMPLETION_TIME_REACHED", 23: "REASON_EXECUTOR_REGISTRATION_TIMEOUT", 24: "REASON_EXECUTOR_REREGISTRATION_TIMEOUT", 1: "REASON_EXECUTOR_TERMINATED", @@ -1134,6 +1180,7 @@ var TaskStatus_Reason_value = map[string]int32{ "REASON_CONTAINER_LIMITATION_MEMORY": 8, "REASON_CONTAINER_PREEMPTED": 17, "REASON_CONTAINER_UPDATE_FAILED": 22, + "REASON_MAX_COMPLETION_TIME_REACHED": 33, "REASON_EXECUTOR_REGISTRATION_TIMEOUT": 23, "REASON_EXECUTOR_REREGISTRATION_TIMEOUT": 24, "REASON_EXECUTOR_TERMINATED": 1, @@ -2451,7 +2498,7 @@ func (m *FrameworkInfo_Capability) GetType() FrameworkInfo_Capability_Type { // specifying one of the optional fields. Specifying more than one type // is an error. // -// NOTE: This API is unstable and the related feature is experimental. +// NOTE: This API is subject to change and the related feature is experimental. type CheckInfo struct { // The type of the check. Type CheckInfo_Type `protobuf:"varint,1,opt,name=type,enum=mesos.CheckInfo_Type" json:"type"` @@ -4162,7 +4209,6 @@ func (m *Resource_DiskInfo_Persistence) GetPrincipal() string { } // Describes where a disk originates from. -// TODO(jmlvanre): Add support for BLOCK devices. type Resource_DiskInfo_Source struct { Type Resource_DiskInfo_Source_Type `protobuf:"varint,1,req,name=type,enum=mesos.Resource_DiskInfo_Source_Type" json:"type"` Path *Resource_DiskInfo_Source_Path `protobuf:"bytes,2,opt,name=path" json:"path,omitempty"` @@ -4180,7 +4226,7 @@ type Resource_DiskInfo_Source struct { // the framework will do disk selection based on profile names, // instead of vendor specific disk parameters. // - // Also see the DiskProfile module. + // Also see the DiskProfileAdaptor module. Profile *string `protobuf:"bytes,6,opt,name=profile" json:"profile,omitempty"` } @@ -6060,9 +6106,10 @@ type Offer struct { // URL for reaching the agent running on the host. URL *URL `protobuf:"bytes,8,opt,name=url" json:"url,omitempty"` // The domain of the agent. - Domain *DomainInfo `protobuf:"bytes,11,opt,name=domain" json:"domain,omitempty"` - Resources []Resource `protobuf:"bytes,5,rep,name=resources" json:"resources"` - Attributes []Attribute `protobuf:"bytes,7,rep,name=attributes" json:"attributes"` + Domain *DomainInfo `protobuf:"bytes,11,opt,name=domain" json:"domain,omitempty"` + Resources []Resource `protobuf:"bytes,5,rep,name=resources" json:"resources"` + Attributes []Attribute `protobuf:"bytes,7,rep,name=attributes" json:"attributes"` + // Executors of the same framework running on this agent. ExecutorIDs []ExecutorID `protobuf:"bytes,6,rep,name=executor_ids,json=executorIds" json:"executor_ids"` // Signifies that the resources in this Offer may be unavailable during // the given interval. Any tasks launched using these resources may be @@ -6176,6 +6223,8 @@ type Offer_Operation struct { Unreserve *Offer_Operation_Unreserve `protobuf:"bytes,4,opt,name=unreserve" json:"unreserve,omitempty"` Create *Offer_Operation_Create `protobuf:"bytes,5,opt,name=create" json:"create,omitempty"` Destroy *Offer_Operation_Destroy `protobuf:"bytes,6,opt,name=destroy" json:"destroy,omitempty"` + GrowVolume *Offer_Operation_GrowVolume `protobuf:"bytes,13,opt,name=grow_volume,json=growVolume" json:"grow_volume,omitempty"` + ShrinkVolume *Offer_Operation_ShrinkVolume `protobuf:"bytes,14,opt,name=shrink_volume,json=shrinkVolume" json:"shrink_volume,omitempty"` CreateVolume *Offer_Operation_CreateVolume `protobuf:"bytes,8,opt,name=create_volume,json=createVolume" json:"create_volume,omitempty"` DestroyVolume *Offer_Operation_DestroyVolume `protobuf:"bytes,9,opt,name=destroy_volume,json=destroyVolume" json:"destroy_volume,omitempty"` CreateBlock *Offer_Operation_CreateBlock `protobuf:"bytes,10,opt,name=create_block,json=createBlock" json:"create_block,omitempty"` @@ -6242,6 +6291,20 @@ func (m *Offer_Operation) GetDestroy() *Offer_Operation_Destroy { return nil } +func (m *Offer_Operation) GetGrowVolume() *Offer_Operation_GrowVolume { + if m != nil { + return m.GrowVolume + } + return nil +} + +func (m *Offer_Operation) GetShrinkVolume() *Offer_Operation_ShrinkVolume { + if m != nil { + return m.ShrinkVolume + } + return nil +} + func (m *Offer_Operation) GetCreateVolume() *Offer_Operation_CreateVolume { if m != nil { return m.CreateVolume @@ -6389,6 +6452,65 @@ func (m *Offer_Operation_Destroy) GetVolumes() []Resource { return nil } +// Grow a volume by an additional disk resource. +// NOTE: This is currently experimental and only for persistent volumes +// created on ROOT/PATH disk. +type Offer_Operation_GrowVolume struct { + Volume Resource `protobuf:"bytes,1,req,name=volume" json:"volume"` + Addition Resource `protobuf:"bytes,2,req,name=addition" json:"addition"` +} + +func (m *Offer_Operation_GrowVolume) Reset() { *m = Offer_Operation_GrowVolume{} } +func (*Offer_Operation_GrowVolume) ProtoMessage() {} +func (*Offer_Operation_GrowVolume) Descriptor() ([]byte, []int) { + return fileDescriptorMesos, []int{41, 0, 6} +} + +func (m *Offer_Operation_GrowVolume) GetVolume() Resource { + if m != nil { + return m.Volume + } + return Resource{} +} + +func (m *Offer_Operation_GrowVolume) GetAddition() Resource { + if m != nil { + return m.Addition + } + return Resource{} +} + +// Shrink a volume by the size specified in the `subtract` field. +// NOTE: This is currently experimental and only for persistent volumes +// created on ROOT/PATH disk. +type Offer_Operation_ShrinkVolume struct { + Volume Resource `protobuf:"bytes,1,req,name=volume" json:"volume"` + // See comments in `Value.Scalar` for maximum precision supported. + Subtract Value_Scalar `protobuf:"bytes,2,req,name=subtract" json:"subtract"` +} + +func (m *Offer_Operation_ShrinkVolume) Reset() { *m = Offer_Operation_ShrinkVolume{} } +func (*Offer_Operation_ShrinkVolume) ProtoMessage() {} +func (*Offer_Operation_ShrinkVolume) Descriptor() ([]byte, []int) { + return fileDescriptorMesos, []int{41, 0, 7} +} + +func (m *Offer_Operation_ShrinkVolume) GetVolume() Resource { + if m != nil { + return m.Volume + } + return Resource{} +} + +func (m *Offer_Operation_ShrinkVolume) GetSubtract() Value_Scalar { + if m != nil { + return m.Subtract + } + return Value_Scalar{} +} + +// NOTE: For the time being, this API is subject to change and the related +// feature is experimental. type Offer_Operation_CreateVolume struct { Source Resource `protobuf:"bytes,1,req,name=source" json:"source"` TargetType Resource_DiskInfo_Source_Type `protobuf:"varint,2,req,name=target_type,json=targetType,enum=mesos.Resource_DiskInfo_Source_Type" json:"target_type"` @@ -6397,7 +6519,7 @@ type Offer_Operation_CreateVolume struct { func (m *Offer_Operation_CreateVolume) Reset() { *m = Offer_Operation_CreateVolume{} } func (*Offer_Operation_CreateVolume) ProtoMessage() {} func (*Offer_Operation_CreateVolume) Descriptor() ([]byte, []int) { - return fileDescriptorMesos, []int{41, 0, 6} + return fileDescriptorMesos, []int{41, 0, 8} } func (m *Offer_Operation_CreateVolume) GetSource() Resource { @@ -6414,6 +6536,8 @@ func (m *Offer_Operation_CreateVolume) GetTargetType() Resource_DiskInfo_Source_ return Resource_DiskInfo_Source_UNKNOWN } +// NOTE: For the time being, this API is subject to change and the related +// feature is experimental. type Offer_Operation_DestroyVolume struct { Volume Resource `protobuf:"bytes,1,req,name=volume" json:"volume"` } @@ -6421,7 +6545,7 @@ type Offer_Operation_DestroyVolume struct { func (m *Offer_Operation_DestroyVolume) Reset() { *m = Offer_Operation_DestroyVolume{} } func (*Offer_Operation_DestroyVolume) ProtoMessage() {} func (*Offer_Operation_DestroyVolume) Descriptor() ([]byte, []int) { - return fileDescriptorMesos, []int{41, 0, 7} + return fileDescriptorMesos, []int{41, 0, 9} } func (m *Offer_Operation_DestroyVolume) GetVolume() Resource { @@ -6431,6 +6555,8 @@ func (m *Offer_Operation_DestroyVolume) GetVolume() Resource { return Resource{} } +// NOTE: For the time being, this API is subject to change and the related +// feature is experimental. type Offer_Operation_CreateBlock struct { Source Resource `protobuf:"bytes,1,req,name=source" json:"source"` } @@ -6438,7 +6564,7 @@ type Offer_Operation_CreateBlock struct { func (m *Offer_Operation_CreateBlock) Reset() { *m = Offer_Operation_CreateBlock{} } func (*Offer_Operation_CreateBlock) ProtoMessage() {} func (*Offer_Operation_CreateBlock) Descriptor() ([]byte, []int) { - return fileDescriptorMesos, []int{41, 0, 8} + return fileDescriptorMesos, []int{41, 0, 10} } func (m *Offer_Operation_CreateBlock) GetSource() Resource { @@ -6448,6 +6574,8 @@ func (m *Offer_Operation_CreateBlock) GetSource() Resource { return Resource{} } +// NOTE: For the time being, this API is subject to change and the related +// feature is experimental. type Offer_Operation_DestroyBlock struct { Block Resource `protobuf:"bytes,1,req,name=block" json:"block"` } @@ -6455,7 +6583,7 @@ type Offer_Operation_DestroyBlock struct { func (m *Offer_Operation_DestroyBlock) Reset() { *m = Offer_Operation_DestroyBlock{} } func (*Offer_Operation_DestroyBlock) ProtoMessage() {} func (*Offer_Operation_DestroyBlock) Descriptor() ([]byte, []int) { - return fileDescriptorMesos, []int{41, 0, 9} + return fileDescriptorMesos, []int{41, 0, 11} } func (m *Offer_Operation_DestroyBlock) GetBlock() Resource { @@ -6599,6 +6727,13 @@ type TaskInfo struct { // to use this information as needed and to handle tasks without // service discovery information. Discovery *DiscoveryInfo `protobuf:"bytes,11,opt,name=discovery" json:"discovery,omitempty"` + // Maximum duration for task completion. If the task is non-terminal at the + // end of this duration, it will fail with the reason + // `REASON_MAX_COMPLETION_TIME_REACHED`. Mesos supports this field for + // executor-less tasks, and tasks that use Docker or default executors. + // It is the executor's responsibility to implement this, so it might not be + // supported by all custom executors. + MaxCompletionTime *DurationInfo `protobuf:"bytes,14,opt,name=max_completion_time,json=maxCompletionTime" json:"max_completion_time,omitempty"` } func (m *TaskInfo) Reset() { *m = TaskInfo{} } @@ -6696,6 +6831,13 @@ func (m *TaskInfo) GetDiscovery() *DiscoveryInfo { return nil } +func (m *TaskInfo) GetMaxCompletionTime() *DurationInfo { + if m != nil { + return m.MaxCompletionTime + } + return nil +} + // * // Describes a group of tasks that belong to an executor. The // executor will receive the task group in a single message to @@ -6963,6 +7105,10 @@ func (m *Operation) GetUUID() UUID { // * // Describes the current status of an operation. type OperationStatus struct { + // While frameworks will only receive status updates for operations on which + // they have set an ID, this field is optional because this message is also + // used internally by Mesos components when the operation's ID has not been + // set. OperationID *OperationID `protobuf:"bytes,1,opt,name=operation_id,json=operationId" json:"operation_id,omitempty"` State OperationState `protobuf:"varint,2,req,name=state,enum=mesos.OperationState" json:"state"` Message *string `protobuf:"bytes,3,opt,name=message" json:"message,omitempty"` @@ -7020,7 +7166,7 @@ func (m *OperationStatus) GetUUID() *UUID { // (e.g., the check timed out), these fields must contain empty messages, i.e., // `exit_code` or `status_code` will be unset. // -// NOTE: This API is unstable and the related feature is experimental. +// NOTE: This API is subject to change and the related feature is experimental. type CheckStatusInfo struct { // The type of the check this status corresponds to. Type *CheckInfo_Type `protobuf:"varint,1,opt,name=type,enum=mesos.CheckInfo_Type" json:"type,omitempty"` @@ -7754,7 +7900,7 @@ type Image_Docker struct { // deprecated since Mesos 1.3. Please use `config` below // (see MESOS-7088 for details). Credential *Credential `protobuf:"bytes,2,opt,name=credential" json:"credential,omitempty"` - // Docker config containing credentails to authenticate with + // Docker config containing credentials to authenticate with // docker registry. The secret is expected to be a docker // config file in JSON format with UTF-8 character encoding. Config *Secret `protobuf:"bytes,3,opt,name=config" json:"config,omitempty"` @@ -9501,6 +9647,8 @@ func init() { proto.RegisterType((*Offer_Operation_Unreserve)(nil), "mesos.Offer.Operation.Unreserve") proto.RegisterType((*Offer_Operation_Create)(nil), "mesos.Offer.Operation.Create") proto.RegisterType((*Offer_Operation_Destroy)(nil), "mesos.Offer.Operation.Destroy") + proto.RegisterType((*Offer_Operation_GrowVolume)(nil), "mesos.Offer.Operation.GrowVolume") + proto.RegisterType((*Offer_Operation_ShrinkVolume)(nil), "mesos.Offer.Operation.ShrinkVolume") proto.RegisterType((*Offer_Operation_CreateVolume)(nil), "mesos.Offer.Operation.CreateVolume") proto.RegisterType((*Offer_Operation_DestroyVolume)(nil), "mesos.Offer.Operation.DestroyVolume") proto.RegisterType((*Offer_Operation_CreateBlock)(nil), "mesos.Offer.Operation.CreateBlock") @@ -18932,6 +19080,12 @@ func (this *Offer_Operation) VerboseEqual(that interface{}) error { if !this.Destroy.Equal(that1.Destroy) { return fmt.Errorf("Destroy this(%v) Not Equal that(%v)", this.Destroy, that1.Destroy) } + if !this.GrowVolume.Equal(that1.GrowVolume) { + return fmt.Errorf("GrowVolume this(%v) Not Equal that(%v)", this.GrowVolume, that1.GrowVolume) + } + if !this.ShrinkVolume.Equal(that1.ShrinkVolume) { + return fmt.Errorf("ShrinkVolume this(%v) Not Equal that(%v)", this.ShrinkVolume, that1.ShrinkVolume) + } if !this.CreateVolume.Equal(that1.CreateVolume) { return fmt.Errorf("CreateVolume this(%v) Not Equal that(%v)", this.CreateVolume, that1.CreateVolume) } @@ -18995,6 +19149,12 @@ func (this *Offer_Operation) Equal(that interface{}) bool { if !this.Destroy.Equal(that1.Destroy) { return false } + if !this.GrowVolume.Equal(that1.GrowVolume) { + return false + } + if !this.ShrinkVolume.Equal(that1.ShrinkVolume) { + return false + } if !this.CreateVolume.Equal(that1.CreateVolume) { return false } @@ -19425,6 +19585,138 @@ func (this *Offer_Operation_Destroy) Equal(that interface{}) bool { } return true } +func (this *Offer_Operation_GrowVolume) VerboseEqual(that interface{}) error { + if that == nil { + if this == nil { + return nil + } + return fmt.Errorf("that == nil && this != nil") + } + + that1, ok := that.(*Offer_Operation_GrowVolume) + if !ok { + that2, ok := that.(Offer_Operation_GrowVolume) + if ok { + that1 = &that2 + } else { + return fmt.Errorf("that is not of type *Offer_Operation_GrowVolume") + } + } + if that1 == nil { + if this == nil { + return nil + } + return fmt.Errorf("that is type *Offer_Operation_GrowVolume but is nil && this != nil") + } else if this == nil { + return fmt.Errorf("that is type *Offer_Operation_GrowVolume but is not nil && this == nil") + } + if !this.Volume.Equal(&that1.Volume) { + return fmt.Errorf("Volume this(%v) Not Equal that(%v)", this.Volume, that1.Volume) + } + if !this.Addition.Equal(&that1.Addition) { + return fmt.Errorf("Addition this(%v) Not Equal that(%v)", this.Addition, that1.Addition) + } + return nil +} +func (this *Offer_Operation_GrowVolume) Equal(that interface{}) bool { + if that == nil { + if this == nil { + return true + } + return false + } + + that1, ok := that.(*Offer_Operation_GrowVolume) + if !ok { + that2, ok := that.(Offer_Operation_GrowVolume) + 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.Volume.Equal(&that1.Volume) { + return false + } + if !this.Addition.Equal(&that1.Addition) { + return false + } + return true +} +func (this *Offer_Operation_ShrinkVolume) VerboseEqual(that interface{}) error { + if that == nil { + if this == nil { + return nil + } + return fmt.Errorf("that == nil && this != nil") + } + + that1, ok := that.(*Offer_Operation_ShrinkVolume) + if !ok { + that2, ok := that.(Offer_Operation_ShrinkVolume) + if ok { + that1 = &that2 + } else { + return fmt.Errorf("that is not of type *Offer_Operation_ShrinkVolume") + } + } + if that1 == nil { + if this == nil { + return nil + } + return fmt.Errorf("that is type *Offer_Operation_ShrinkVolume but is nil && this != nil") + } else if this == nil { + return fmt.Errorf("that is type *Offer_Operation_ShrinkVolume but is not nil && this == nil") + } + if !this.Volume.Equal(&that1.Volume) { + return fmt.Errorf("Volume this(%v) Not Equal that(%v)", this.Volume, that1.Volume) + } + if !this.Subtract.Equal(&that1.Subtract) { + return fmt.Errorf("Subtract this(%v) Not Equal that(%v)", this.Subtract, that1.Subtract) + } + return nil +} +func (this *Offer_Operation_ShrinkVolume) Equal(that interface{}) bool { + if that == nil { + if this == nil { + return true + } + return false + } + + that1, ok := that.(*Offer_Operation_ShrinkVolume) + if !ok { + that2, ok := that.(Offer_Operation_ShrinkVolume) + 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.Volume.Equal(&that1.Volume) { + return false + } + if !this.Subtract.Equal(&that1.Subtract) { + return false + } + return true +} func (this *Offer_Operation_CreateVolume) VerboseEqual(that interface{}) error { if that == nil { if this == nil { @@ -19840,6 +20132,9 @@ func (this *TaskInfo) VerboseEqual(that interface{}) error { if !this.Discovery.Equal(that1.Discovery) { return fmt.Errorf("Discovery this(%v) Not Equal that(%v)", this.Discovery, that1.Discovery) } + if !this.MaxCompletionTime.Equal(that1.MaxCompletionTime) { + return fmt.Errorf("MaxCompletionTime this(%v) Not Equal that(%v)", this.MaxCompletionTime, that1.MaxCompletionTime) + } return nil } func (this *TaskInfo) Equal(that interface{}) bool { @@ -19911,6 +20206,9 @@ func (this *TaskInfo) Equal(that interface{}) bool { if !this.Discovery.Equal(that1.Discovery) { return false } + if !this.MaxCompletionTime.Equal(that1.MaxCompletionTime) { + return false + } return true } func (this *TaskGroupInfo) VerboseEqual(that interface{}) error { @@ -28012,7 +28310,7 @@ func (this *Offer_Operation) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 16) + s := make([]string, 0, 18) s = append(s, "&mesos.Offer_Operation{") s = append(s, "Type: "+fmt.Sprintf("%#v", this.Type)+",\n") if this.ID != nil { @@ -28036,6 +28334,12 @@ func (this *Offer_Operation) GoString() string { if this.Destroy != nil { s = append(s, "Destroy: "+fmt.Sprintf("%#v", this.Destroy)+",\n") } + if this.GrowVolume != nil { + s = append(s, "GrowVolume: "+fmt.Sprintf("%#v", this.GrowVolume)+",\n") + } + if this.ShrinkVolume != nil { + s = append(s, "ShrinkVolume: "+fmt.Sprintf("%#v", this.ShrinkVolume)+",\n") + } if this.CreateVolume != nil { s = append(s, "CreateVolume: "+fmt.Sprintf("%#v", this.CreateVolume)+",\n") } @@ -28122,6 +28426,28 @@ func (this *Offer_Operation_Destroy) GoString() string { s = append(s, "}") return strings.Join(s, "") } +func (this *Offer_Operation_GrowVolume) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 6) + s = append(s, "&mesos.Offer_Operation_GrowVolume{") + s = append(s, "Volume: "+strings.Replace(this.Volume.GoString(), `&`, ``, 1)+",\n") + s = append(s, "Addition: "+strings.Replace(this.Addition.GoString(), `&`, ``, 1)+",\n") + s = append(s, "}") + return strings.Join(s, "") +} +func (this *Offer_Operation_ShrinkVolume) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 6) + s = append(s, "&mesos.Offer_Operation_ShrinkVolume{") + s = append(s, "Volume: "+strings.Replace(this.Volume.GoString(), `&`, ``, 1)+",\n") + s = append(s, "Subtract: "+strings.Replace(this.Subtract.GoString(), `&`, ``, 1)+",\n") + s = append(s, "}") + return strings.Join(s, "") +} func (this *Offer_Operation_CreateVolume) GoString() string { if this == nil { return "nil" @@ -28188,7 +28514,7 @@ func (this *TaskInfo) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 17) + s := make([]string, 0, 18) s = append(s, "&mesos.TaskInfo{") s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n") s = append(s, "TaskID: "+strings.Replace(this.TaskID.GoString(), `&`, ``, 1)+",\n") @@ -28223,6 +28549,9 @@ func (this *TaskInfo) GoString() string { if this.Discovery != nil { s = append(s, "Discovery: "+fmt.Sprintf("%#v", this.Discovery)+",\n") } + if this.MaxCompletionTime != nil { + s = append(s, "MaxCompletionTime: "+fmt.Sprintf("%#v", this.MaxCompletionTime)+",\n") + } s = append(s, "}") return strings.Join(s, "") } @@ -33492,6 +33821,26 @@ func (m *Offer_Operation) MarshalTo(dAtA []byte) (int, error) { } i += n93 } + if m.GrowVolume != nil { + dAtA[i] = 0x6a + i++ + i = encodeVarintMesos(dAtA, i, uint64(m.GrowVolume.ProtoSize())) + n94, err := m.GrowVolume.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n94 + } + if m.ShrinkVolume != nil { + dAtA[i] = 0x72 + i++ + i = encodeVarintMesos(dAtA, i, uint64(m.ShrinkVolume.ProtoSize())) + n95, err := m.ShrinkVolume.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n95 + } return i, nil } @@ -33543,19 +33892,19 @@ func (m *Offer_Operation_LaunchGroup) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMesos(dAtA, i, uint64(m.Executor.ProtoSize())) - n94, err := m.Executor.MarshalTo(dAtA[i:]) + n96, err := m.Executor.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n94 + i += n96 dAtA[i] = 0x12 i++ i = encodeVarintMesos(dAtA, i, uint64(m.TaskGroup.ProtoSize())) - n95, err := m.TaskGroup.MarshalTo(dAtA[i:]) + n97, err := m.TaskGroup.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n95 + i += n97 return i, nil } @@ -33679,6 +34028,74 @@ func (m *Offer_Operation_Destroy) MarshalTo(dAtA []byte) (int, error) { return i, nil } +func (m *Offer_Operation_GrowVolume) 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 *Offer_Operation_GrowVolume) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintMesos(dAtA, i, uint64(m.Volume.ProtoSize())) + n98, err := m.Volume.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n98 + dAtA[i] = 0x12 + i++ + i = encodeVarintMesos(dAtA, i, uint64(m.Addition.ProtoSize())) + n99, err := m.Addition.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n99 + return i, nil +} + +func (m *Offer_Operation_ShrinkVolume) 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 *Offer_Operation_ShrinkVolume) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintMesos(dAtA, i, uint64(m.Volume.ProtoSize())) + n100, err := m.Volume.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n100 + dAtA[i] = 0x12 + i++ + i = encodeVarintMesos(dAtA, i, uint64(m.Subtract.ProtoSize())) + n101, err := m.Subtract.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n101 + return i, nil +} + func (m *Offer_Operation_CreateVolume) Marshal() (dAtA []byte, err error) { size := m.ProtoSize() dAtA = make([]byte, size) @@ -33697,11 +34114,11 @@ func (m *Offer_Operation_CreateVolume) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMesos(dAtA, i, uint64(m.Source.ProtoSize())) - n96, err := m.Source.MarshalTo(dAtA[i:]) + n102, err := m.Source.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n96 + i += n102 dAtA[i] = 0x10 i++ i = encodeVarintMesos(dAtA, i, uint64(m.TargetType)) @@ -33726,11 +34143,11 @@ func (m *Offer_Operation_DestroyVolume) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMesos(dAtA, i, uint64(m.Volume.ProtoSize())) - n97, err := m.Volume.MarshalTo(dAtA[i:]) + n103, err := m.Volume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n97 + i += n103 return i, nil } @@ -33752,11 +34169,11 @@ func (m *Offer_Operation_CreateBlock) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMesos(dAtA, i, uint64(m.Source.ProtoSize())) - n98, err := m.Source.MarshalTo(dAtA[i:]) + n104, err := m.Source.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n98 + i += n104 return i, nil } @@ -33778,11 +34195,11 @@ func (m *Offer_Operation_DestroyBlock) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMesos(dAtA, i, uint64(m.Block.ProtoSize())) - n99, err := m.Block.MarshalTo(dAtA[i:]) + n105, err := m.Block.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n99 + i += n105 return i, nil } @@ -33804,47 +34221,47 @@ func (m *InverseOffer) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMesos(dAtA, i, uint64(m.OfferID.ProtoSize())) - n100, err := m.OfferID.MarshalTo(dAtA[i:]) + n106, err := m.OfferID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n100 + i += n106 if m.URL != nil { dAtA[i] = 0x12 i++ i = encodeVarintMesos(dAtA, i, uint64(m.URL.ProtoSize())) - n101, err := m.URL.MarshalTo(dAtA[i:]) + n107, err := m.URL.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n101 + i += n107 } dAtA[i] = 0x1a i++ i = encodeVarintMesos(dAtA, i, uint64(m.FrameworkID.ProtoSize())) - n102, err := m.FrameworkID.MarshalTo(dAtA[i:]) + n108, err := m.FrameworkID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n102 + i += n108 if m.AgentID != nil { dAtA[i] = 0x22 i++ i = encodeVarintMesos(dAtA, i, uint64(m.AgentID.ProtoSize())) - n103, err := m.AgentID.MarshalTo(dAtA[i:]) + n109, err := m.AgentID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n103 + i += n109 } dAtA[i] = 0x2a i++ i = encodeVarintMesos(dAtA, i, uint64(m.Unavailability.ProtoSize())) - n104, err := m.Unavailability.MarshalTo(dAtA[i:]) + n110, err := m.Unavailability.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n104 + i += n110 if len(m.Resources) > 0 { for _, msg := range m.Resources { dAtA[i] = 0x32 @@ -33882,19 +34299,19 @@ func (m *TaskInfo) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintMesos(dAtA, i, uint64(m.TaskID.ProtoSize())) - n105, err := m.TaskID.MarshalTo(dAtA[i:]) + n111, err := m.TaskID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n105 + i += n111 dAtA[i] = 0x1a i++ i = encodeVarintMesos(dAtA, i, uint64(m.AgentID.ProtoSize())) - n106, err := m.AgentID.MarshalTo(dAtA[i:]) + n112, err := m.AgentID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n106 + i += n112 if len(m.Resources) > 0 { for _, msg := range m.Resources { dAtA[i] = 0x22 @@ -33911,11 +34328,11 @@ func (m *TaskInfo) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintMesos(dAtA, i, uint64(m.Executor.ProtoSize())) - n107, err := m.Executor.MarshalTo(dAtA[i:]) + n113, err := m.Executor.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n107 + i += n113 } if m.Data != nil { dAtA[i] = 0x32 @@ -33927,71 +34344,81 @@ func (m *TaskInfo) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3a i++ i = encodeVarintMesos(dAtA, i, uint64(m.Command.ProtoSize())) - n108, err := m.Command.MarshalTo(dAtA[i:]) + n114, err := m.Command.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n108 + i += n114 } if m.HealthCheck != nil { dAtA[i] = 0x42 i++ i = encodeVarintMesos(dAtA, i, uint64(m.HealthCheck.ProtoSize())) - n109, err := m.HealthCheck.MarshalTo(dAtA[i:]) + n115, err := m.HealthCheck.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n109 + i += n115 } if m.Container != nil { dAtA[i] = 0x4a i++ i = encodeVarintMesos(dAtA, i, uint64(m.Container.ProtoSize())) - n110, err := m.Container.MarshalTo(dAtA[i:]) + n116, err := m.Container.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n110 + i += n116 } if m.Labels != nil { dAtA[i] = 0x52 i++ i = encodeVarintMesos(dAtA, i, uint64(m.Labels.ProtoSize())) - n111, err := m.Labels.MarshalTo(dAtA[i:]) + n117, err := m.Labels.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n111 + i += n117 } if m.Discovery != nil { dAtA[i] = 0x5a i++ i = encodeVarintMesos(dAtA, i, uint64(m.Discovery.ProtoSize())) - n112, err := m.Discovery.MarshalTo(dAtA[i:]) + n118, err := m.Discovery.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n112 + i += n118 } if m.KillPolicy != nil { dAtA[i] = 0x62 i++ i = encodeVarintMesos(dAtA, i, uint64(m.KillPolicy.ProtoSize())) - n113, err := m.KillPolicy.MarshalTo(dAtA[i:]) + n119, err := m.KillPolicy.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n113 + i += n119 } if m.Check != nil { dAtA[i] = 0x6a i++ i = encodeVarintMesos(dAtA, i, uint64(m.Check.ProtoSize())) - n114, err := m.Check.MarshalTo(dAtA[i:]) + n120, err := m.Check.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n114 + i += n120 + } + if m.MaxCompletionTime != nil { + dAtA[i] = 0x72 + i++ + i = encodeVarintMesos(dAtA, i, uint64(m.MaxCompletionTime.ProtoSize())) + n121, err := m.MaxCompletionTime.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n121 } return i, nil } @@ -34048,37 +34475,37 @@ func (m *Task) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintMesos(dAtA, i, uint64(m.TaskID.ProtoSize())) - n115, err := m.TaskID.MarshalTo(dAtA[i:]) + n122, err := m.TaskID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n115 + i += n122 dAtA[i] = 0x1a i++ i = encodeVarintMesos(dAtA, i, uint64(m.FrameworkID.ProtoSize())) - n116, err := m.FrameworkID.MarshalTo(dAtA[i:]) + n123, err := m.FrameworkID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n116 + i += n123 if m.ExecutorID != nil { dAtA[i] = 0x22 i++ i = encodeVarintMesos(dAtA, i, uint64(m.ExecutorID.ProtoSize())) - n117, err := m.ExecutorID.MarshalTo(dAtA[i:]) + n124, err := m.ExecutorID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n117 + i += n124 } dAtA[i] = 0x2a i++ i = encodeVarintMesos(dAtA, i, uint64(m.AgentID.ProtoSize())) - n118, err := m.AgentID.MarshalTo(dAtA[i:]) + n125, err := m.AgentID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n118 + i += n125 if m.State == nil { return 0, github_com_gogo_protobuf_proto.NewRequiredNotSetError("state") } else { @@ -34125,31 +34552,31 @@ func (m *Task) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x5a i++ i = encodeVarintMesos(dAtA, i, uint64(m.Labels.ProtoSize())) - n119, err := m.Labels.MarshalTo(dAtA[i:]) + n126, err := m.Labels.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n119 + i += n126 } if m.Discovery != nil { dAtA[i] = 0x62 i++ i = encodeVarintMesos(dAtA, i, uint64(m.Discovery.ProtoSize())) - n120, err := m.Discovery.MarshalTo(dAtA[i:]) + n127, err := m.Discovery.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n120 + i += n127 } if m.Container != nil { dAtA[i] = 0x6a i++ i = encodeVarintMesos(dAtA, i, uint64(m.Container.ProtoSize())) - n121, err := m.Container.MarshalTo(dAtA[i:]) + n128, err := m.Container.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n121 + i += n128 } if m.User != nil { dAtA[i] = 0x72 @@ -34235,38 +34662,38 @@ func (m *Operation) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMesos(dAtA, i, uint64(m.FrameworkID.ProtoSize())) - n122, err := m.FrameworkID.MarshalTo(dAtA[i:]) + n129, err := m.FrameworkID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n122 + i += n129 } if m.AgentID != nil { dAtA[i] = 0x12 i++ i = encodeVarintMesos(dAtA, i, uint64(m.AgentID.ProtoSize())) - n123, err := m.AgentID.MarshalTo(dAtA[i:]) + n130, err := m.AgentID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n123 + i += n130 } dAtA[i] = 0x1a i++ i = encodeVarintMesos(dAtA, i, uint64(m.Info.ProtoSize())) - n124, err := m.Info.MarshalTo(dAtA[i:]) + n131, err := m.Info.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n124 + i += n131 dAtA[i] = 0x22 i++ i = encodeVarintMesos(dAtA, i, uint64(m.LatestStatus.ProtoSize())) - n125, err := m.LatestStatus.MarshalTo(dAtA[i:]) + n132, err := m.LatestStatus.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n125 + i += n132 if len(m.Statuses) > 0 { for _, msg := range m.Statuses { dAtA[i] = 0x2a @@ -34282,11 +34709,11 @@ func (m *Operation) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x32 i++ i = encodeVarintMesos(dAtA, i, uint64(m.UUID.ProtoSize())) - n126, err := m.UUID.MarshalTo(dAtA[i:]) + n133, err := m.UUID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n126 + i += n133 return i, nil } @@ -34309,11 +34736,11 @@ func (m *OperationStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMesos(dAtA, i, uint64(m.OperationID.ProtoSize())) - n127, err := m.OperationID.MarshalTo(dAtA[i:]) + n134, err := m.OperationID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n127 + i += n134 } dAtA[i] = 0x10 i++ @@ -34340,11 +34767,11 @@ func (m *OperationStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintMesos(dAtA, i, uint64(m.UUID.ProtoSize())) - n128, err := m.UUID.MarshalTo(dAtA[i:]) + n135, err := m.UUID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n128 + i += n135 } return i, nil } @@ -34373,31 +34800,31 @@ func (m *CheckStatusInfo) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintMesos(dAtA, i, uint64(m.Command.ProtoSize())) - n129, err := m.Command.MarshalTo(dAtA[i:]) + n136, err := m.Command.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n129 + i += n136 } if m.HTTP != nil { dAtA[i] = 0x1a i++ i = encodeVarintMesos(dAtA, i, uint64(m.HTTP.ProtoSize())) - n130, err := m.HTTP.MarshalTo(dAtA[i:]) + n137, err := m.HTTP.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n130 + i += n137 } if m.TCP != nil { dAtA[i] = 0x22 i++ i = encodeVarintMesos(dAtA, i, uint64(m.TCP.ProtoSize())) - n131, err := m.TCP.MarshalTo(dAtA[i:]) + n138, err := m.TCP.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n131 + i += n138 } return i, nil } @@ -34494,11 +34921,11 @@ func (m *TaskStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMesos(dAtA, i, uint64(m.TaskID.ProtoSize())) - n132, err := m.TaskID.MarshalTo(dAtA[i:]) + n139, err := m.TaskID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n132 + i += n139 if m.State == nil { return 0, github_com_gogo_protobuf_proto.NewRequiredNotSetError("state") } else { @@ -34522,11 +34949,11 @@ func (m *TaskStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintMesos(dAtA, i, uint64(m.AgentID.ProtoSize())) - n133, err := m.AgentID.MarshalTo(dAtA[i:]) + n140, err := m.AgentID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n133 + i += n140 } if m.Timestamp != nil { dAtA[i] = 0x31 @@ -34537,11 +34964,11 @@ func (m *TaskStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3a i++ i = encodeVarintMesos(dAtA, i, uint64(m.ExecutorID.ProtoSize())) - n134, err := m.ExecutorID.MarshalTo(dAtA[i:]) + n141, err := m.ExecutorID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n134 + i += n141 } if m.Healthy != nil { dAtA[i] = 0x40 @@ -34573,41 +35000,41 @@ func (m *TaskStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x62 i++ i = encodeVarintMesos(dAtA, i, uint64(m.Labels.ProtoSize())) - n135, err := m.Labels.MarshalTo(dAtA[i:]) + n142, err := m.Labels.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n135 + i += n142 } if m.ContainerStatus != nil { dAtA[i] = 0x6a i++ i = encodeVarintMesos(dAtA, i, uint64(m.ContainerStatus.ProtoSize())) - n136, err := m.ContainerStatus.MarshalTo(dAtA[i:]) + n143, err := m.ContainerStatus.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n136 + i += n143 } if m.UnreachableTime != nil { dAtA[i] = 0x72 i++ i = encodeVarintMesos(dAtA, i, uint64(m.UnreachableTime.ProtoSize())) - n137, err := m.UnreachableTime.MarshalTo(dAtA[i:]) + n144, err := m.UnreachableTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n137 + i += n144 } if m.CheckStatus != nil { dAtA[i] = 0x7a i++ i = encodeVarintMesos(dAtA, i, uint64(m.CheckStatus.ProtoSize())) - n138, err := m.CheckStatus.MarshalTo(dAtA[i:]) + n145, err := m.CheckStatus.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n138 + i += n145 } if m.Limitation != nil { dAtA[i] = 0x82 @@ -34615,11 +35042,11 @@ func (m *TaskStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintMesos(dAtA, i, uint64(m.Limitation.ProtoSize())) - n139, err := m.Limitation.MarshalTo(dAtA[i:]) + n146, err := m.Limitation.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n139 + i += n146 } return i, nil } @@ -34711,11 +35138,11 @@ func (m *Environment_Variable) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintMesos(dAtA, i, uint64(m.Secret.ProtoSize())) - n140, err := m.Secret.MarshalTo(dAtA[i:]) + n147, err := m.Secret.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n140 + i += n147 } return i, nil } @@ -34856,21 +35283,21 @@ func (m *Secret) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintMesos(dAtA, i, uint64(m.Reference.ProtoSize())) - n141, err := m.Reference.MarshalTo(dAtA[i:]) + n148, err := m.Reference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n141 + i += n148 } if m.Value != nil { dAtA[i] = 0x1a i++ i = encodeVarintMesos(dAtA, i, uint64(m.Value.ProtoSize())) - n142, err := m.Value.MarshalTo(dAtA[i:]) + n149, err := m.Value.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n142 + i += n149 } return i, nil } @@ -35027,21 +35454,21 @@ func (m *Image) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintMesos(dAtA, i, uint64(m.Appc.ProtoSize())) - n143, err := m.Appc.MarshalTo(dAtA[i:]) + n150, err := m.Appc.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n143 + i += n150 } if m.Docker != nil { dAtA[i] = 0x1a i++ i = encodeVarintMesos(dAtA, i, uint64(m.Docker.ProtoSize())) - n144, err := m.Docker.MarshalTo(dAtA[i:]) + n151, err := m.Docker.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n144 + i += n151 } if m.Cached != nil { dAtA[i] = 0x20 @@ -35085,11 +35512,11 @@ func (m *Image_Appc) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintMesos(dAtA, i, uint64(m.Labels.ProtoSize())) - n145, err := m.Labels.MarshalTo(dAtA[i:]) + n152, err := m.Labels.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n145 + i += n152 } return i, nil } @@ -35117,21 +35544,21 @@ func (m *Image_Docker) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintMesos(dAtA, i, uint64(m.Credential.ProtoSize())) - n146, err := m.Credential.MarshalTo(dAtA[i:]) + n153, err := m.Credential.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n146 + i += n153 } if m.Config != nil { dAtA[i] = 0x1a i++ i = encodeVarintMesos(dAtA, i, uint64(m.Config.ProtoSize())) - n147, err := m.Config.MarshalTo(dAtA[i:]) + n154, err := m.Config.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n147 + i += n154 } return i, nil } @@ -35195,21 +35622,21 @@ func (m *Volume) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintMesos(dAtA, i, uint64(m.Image.ProtoSize())) - n148, err := m.Image.MarshalTo(dAtA[i:]) + n155, err := m.Image.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n148 + i += n155 } if m.Source != nil { dAtA[i] = 0x2a i++ i = encodeVarintMesos(dAtA, i, uint64(m.Source.ProtoSize())) - n149, err := m.Source.MarshalTo(dAtA[i:]) + n156, err := m.Source.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n149 + i += n156 } return i, nil } @@ -35236,41 +35663,41 @@ func (m *Volume_Source) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintMesos(dAtA, i, uint64(m.DockerVolume.ProtoSize())) - n150, err := m.DockerVolume.MarshalTo(dAtA[i:]) + n157, err := m.DockerVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n150 + i += n157 } if m.SandboxPath != nil { dAtA[i] = 0x1a i++ i = encodeVarintMesos(dAtA, i, uint64(m.SandboxPath.ProtoSize())) - n151, err := m.SandboxPath.MarshalTo(dAtA[i:]) + n158, err := m.SandboxPath.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n151 + i += n158 } if m.Secret != nil { dAtA[i] = 0x22 i++ i = encodeVarintMesos(dAtA, i, uint64(m.Secret.ProtoSize())) - n152, err := m.Secret.MarshalTo(dAtA[i:]) + n159, err := m.Secret.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n152 + i += n159 } if m.HostPath != nil { dAtA[i] = 0x2a i++ i = encodeVarintMesos(dAtA, i, uint64(m.HostPath.ProtoSize())) - n153, err := m.HostPath.MarshalTo(dAtA[i:]) + n160, err := m.HostPath.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n153 + i += n160 } return i, nil } @@ -35304,11 +35731,11 @@ func (m *Volume_Source_DockerVolume) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintMesos(dAtA, i, uint64(m.DriverOptions.ProtoSize())) - n154, err := m.DriverOptions.MarshalTo(dAtA[i:]) + n161, err := m.DriverOptions.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n154 + i += n161 } return i, nil } @@ -35336,11 +35763,11 @@ func (m *Volume_Source_HostPath) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintMesos(dAtA, i, uint64(m.MountPropagation.ProtoSize())) - n155, err := m.MountPropagation.MarshalTo(dAtA[i:]) + n162, err := m.MountPropagation.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n155 + i += n162 } return i, nil } @@ -35404,11 +35831,11 @@ func (m *NetworkInfo) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintMesos(dAtA, i, uint64(m.Labels.ProtoSize())) - n156, err := m.Labels.MarshalTo(dAtA[i:]) + n163, err := m.Labels.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n156 + i += n163 } if len(m.IPAddresses) > 0 { for _, msg := range m.IPAddresses { @@ -35546,31 +35973,31 @@ func (m *LinuxInfo) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMesos(dAtA, i, uint64(m.CapabilityInfo.ProtoSize())) - n157, err := m.CapabilityInfo.MarshalTo(dAtA[i:]) + n164, err := m.CapabilityInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n157 + i += n164 } if m.BoundingCapabilities != nil { dAtA[i] = 0x12 i++ i = encodeVarintMesos(dAtA, i, uint64(m.BoundingCapabilities.ProtoSize())) - n158, err := m.BoundingCapabilities.MarshalTo(dAtA[i:]) + n165, err := m.BoundingCapabilities.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n158 + i += n165 } if m.EffectiveCapabilities != nil { dAtA[i] = 0x1a i++ i = encodeVarintMesos(dAtA, i, uint64(m.EffectiveCapabilities.ProtoSize())) - n159, err := m.EffectiveCapabilities.MarshalTo(dAtA[i:]) + n166, err := m.EffectiveCapabilities.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n159 + i += n166 } if m.SharePIDNamespace != nil { dAtA[i] = 0x20 @@ -35665,11 +36092,11 @@ func (m *TTYInfo) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMesos(dAtA, i, uint64(m.WindowSize.ProtoSize())) - n160, err := m.WindowSize.MarshalTo(dAtA[i:]) + n167, err := m.WindowSize.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n160 + i += n167 } return i, nil } @@ -35736,11 +36163,11 @@ func (m *ContainerInfo) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintMesos(dAtA, i, uint64(m.Docker.ProtoSize())) - n161, err := m.Docker.MarshalTo(dAtA[i:]) + n168, err := m.Docker.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n161 + i += n168 } if m.Hostname != nil { dAtA[i] = 0x22 @@ -35752,11 +36179,11 @@ func (m *ContainerInfo) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintMesos(dAtA, i, uint64(m.Mesos.ProtoSize())) - n162, err := m.Mesos.MarshalTo(dAtA[i:]) + n169, err := m.Mesos.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n162 + i += n169 } if len(m.NetworkInfos) > 0 { for _, msg := range m.NetworkInfos { @@ -35774,31 +36201,31 @@ func (m *ContainerInfo) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x42 i++ i = encodeVarintMesos(dAtA, i, uint64(m.LinuxInfo.ProtoSize())) - n163, err := m.LinuxInfo.MarshalTo(dAtA[i:]) + n170, err := m.LinuxInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n163 + i += n170 } if m.RlimitInfo != nil { dAtA[i] = 0x4a i++ i = encodeVarintMesos(dAtA, i, uint64(m.RlimitInfo.ProtoSize())) - n164, err := m.RlimitInfo.MarshalTo(dAtA[i:]) + n171, err := m.RlimitInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n164 + i += n171 } if m.TTYInfo != nil { dAtA[i] = 0x52 i++ i = encodeVarintMesos(dAtA, i, uint64(m.TTYInfo.ProtoSize())) - n165, err := m.TTYInfo.MarshalTo(dAtA[i:]) + n172, err := m.TTYInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n165 + i += n172 } return i, nil } @@ -35929,11 +36356,11 @@ func (m *ContainerInfo_MesosInfo) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMesos(dAtA, i, uint64(m.Image.ProtoSize())) - n166, err := m.Image.MarshalTo(dAtA[i:]) + n173, err := m.Image.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n166 + i += n173 } return i, nil } @@ -35969,11 +36396,11 @@ func (m *ContainerStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintMesos(dAtA, i, uint64(m.CgroupInfo.ProtoSize())) - n167, err := m.CgroupInfo.MarshalTo(dAtA[i:]) + n174, err := m.CgroupInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n167 + i += n174 } if m.ExecutorPID != nil { dAtA[i] = 0x18 @@ -35984,11 +36411,11 @@ func (m *ContainerStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintMesos(dAtA, i, uint64(m.ContainerID.ProtoSize())) - n168, err := m.ContainerID.MarshalTo(dAtA[i:]) + n175, err := m.ContainerID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n168 + i += n175 } return i, nil } @@ -36012,11 +36439,11 @@ func (m *CgroupInfo) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMesos(dAtA, i, uint64(m.NetCLS.ProtoSize())) - n169, err := m.NetCLS.MarshalTo(dAtA[i:]) + n176, err := m.NetCLS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n169 + i += n176 } return i, nil } @@ -36104,11 +36531,11 @@ func (m *CgroupInfo_Blkio_CFQ_Statistics) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMesos(dAtA, i, uint64(m.Device.ProtoSize())) - n170, err := m.Device.MarshalTo(dAtA[i:]) + n177, err := m.Device.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n170 + i += n177 } if m.Sectors != nil { dAtA[i] = 0x10 @@ -36232,11 +36659,11 @@ func (m *CgroupInfo_Blkio_Throttling_Statistics) MarshalTo(dAtA []byte) (int, er dAtA[i] = 0xa i++ i = encodeVarintMesos(dAtA, i, uint64(m.Device.ProtoSize())) - n171, err := m.Device.MarshalTo(dAtA[i:]) + n178, err := m.Device.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n171 + i += n178 } if len(m.IOServiced) > 0 { for _, msg := range m.IOServiced { @@ -36439,11 +36866,11 @@ func (m *Port) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintMesos(dAtA, i, uint64(m.Labels.ProtoSize())) - n172, err := m.Labels.MarshalTo(dAtA[i:]) + n179, err := m.Labels.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n172 + i += n179 } return i, nil } @@ -36524,21 +36951,21 @@ func (m *DiscoveryInfo) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x32 i++ i = encodeVarintMesos(dAtA, i, uint64(m.Ports.ProtoSize())) - n173, err := m.Ports.MarshalTo(dAtA[i:]) + n180, err := m.Ports.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n173 + i += n180 } if m.Labels != nil { dAtA[i] = 0x3a i++ i = encodeVarintMesos(dAtA, i, uint64(m.Labels.ProtoSize())) - n174, err := m.Labels.MarshalTo(dAtA[i:]) + n181, err := m.Labels.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n174 + i += n181 } return i, nil } @@ -36764,11 +37191,11 @@ func (m *FileInfo) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintMesos(dAtA, i, uint64(m.Mtime.ProtoSize())) - n175, err := m.Mtime.MarshalTo(dAtA[i:]) + n182, err := m.Mtime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n175 + i += n182 } if m.Mode != nil { dAtA[i] = 0x28 @@ -36815,11 +37242,11 @@ func (m *Device) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintMesos(dAtA, i, uint64(m.Number.ProtoSize())) - n176, err := m.Number.MarshalTo(dAtA[i:]) + n183, err := m.Number.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n176 + i += n183 } return i, nil } @@ -36874,19 +37301,19 @@ func (m *DeviceAccess) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintMesos(dAtA, i, uint64(m.Device.ProtoSize())) - n177, err := m.Device.MarshalTo(dAtA[i:]) + n184, err := m.Device.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n177 + i += n184 dAtA[i] = 0x12 i++ i = encodeVarintMesos(dAtA, i, uint64(m.Access.ProtoSize())) - n178, err := m.Access.MarshalTo(dAtA[i:]) + n185, err := m.Access.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n178 + i += n185 return i, nil } @@ -37635,7 +38062,7 @@ func NewPopulatedAgentInfo(r randyMesos, easy bool) *AgentInfo { func NewPopulatedAgentInfo_Capability(r randyMesos, easy bool) *AgentInfo_Capability { this := &AgentInfo_Capability{} - this.Type = AgentInfo_Capability_Type([]int32{0, 1, 2, 3, 4}[r.Intn(5)]) + this.Type = AgentInfo_Capability_Type([]int32{0, 1, 2, 3, 4, 5}[r.Intn(6)]) if !easy && r.Intn(10) != 0 { } return this @@ -39177,7 +39604,7 @@ func NewPopulatedOffer(r randyMesos, easy bool) *Offer { func NewPopulatedOffer_Operation(r randyMesos, easy bool) *Offer_Operation { this := &Offer_Operation{} - this.Type = Offer_Operation_Type([]int32{0, 1, 6, 2, 3, 4, 5, 7, 8, 9, 10}[r.Intn(11)]) + this.Type = Offer_Operation_Type([]int32{0, 1, 6, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12}[r.Intn(13)]) if r.Intn(10) != 0 { this.Launch = NewPopulatedOffer_Operation_Launch(r, easy) } @@ -39211,6 +39638,12 @@ func NewPopulatedOffer_Operation(r randyMesos, easy bool) *Offer_Operation { if r.Intn(10) != 0 { this.ID = NewPopulatedOperationID(r, easy) } + if r.Intn(10) != 0 { + this.GrowVolume = NewPopulatedOffer_Operation_GrowVolume(r, easy) + } + if r.Intn(10) != 0 { + this.ShrinkVolume = NewPopulatedOffer_Operation_ShrinkVolume(r, easy) + } if !easy && r.Intn(10) != 0 { } return this @@ -39302,10 +39735,32 @@ func NewPopulatedOffer_Operation_Destroy(r randyMesos, easy bool) *Offer_Operati return this } +func NewPopulatedOffer_Operation_GrowVolume(r randyMesos, easy bool) *Offer_Operation_GrowVolume { + this := &Offer_Operation_GrowVolume{} + v301 := NewPopulatedResource(r, easy) + this.Volume = *v301 + v302 := NewPopulatedResource(r, easy) + this.Addition = *v302 + if !easy && r.Intn(10) != 0 { + } + return this +} + +func NewPopulatedOffer_Operation_ShrinkVolume(r randyMesos, easy bool) *Offer_Operation_ShrinkVolume { + this := &Offer_Operation_ShrinkVolume{} + v303 := NewPopulatedResource(r, easy) + this.Volume = *v303 + v304 := NewPopulatedValue_Scalar(r, easy) + this.Subtract = *v304 + if !easy && r.Intn(10) != 0 { + } + return this +} + func NewPopulatedOffer_Operation_CreateVolume(r randyMesos, easy bool) *Offer_Operation_CreateVolume { this := &Offer_Operation_CreateVolume{} - v301 := NewPopulatedResource(r, easy) - this.Source = *v301 + v305 := NewPopulatedResource(r, easy) + this.Source = *v305 this.TargetType = Resource_DiskInfo_Source_Type([]int32{0, 1, 2, 3, 4}[r.Intn(5)]) if !easy && r.Intn(10) != 0 { } @@ -39314,8 +39769,8 @@ func NewPopulatedOffer_Operation_CreateVolume(r randyMesos, easy bool) *Offer_Op func NewPopulatedOffer_Operation_DestroyVolume(r randyMesos, easy bool) *Offer_Operation_DestroyVolume { this := &Offer_Operation_DestroyVolume{} - v302 := NewPopulatedResource(r, easy) - this.Volume = *v302 + v306 := NewPopulatedResource(r, easy) + this.Volume = *v306 if !easy && r.Intn(10) != 0 { } return this @@ -39323,8 +39778,8 @@ func NewPopulatedOffer_Operation_DestroyVolume(r randyMesos, easy bool) *Offer_O func NewPopulatedOffer_Operation_CreateBlock(r randyMesos, easy bool) *Offer_Operation_CreateBlock { this := &Offer_Operation_CreateBlock{} - v303 := NewPopulatedResource(r, easy) - this.Source = *v303 + v307 := NewPopulatedResource(r, easy) + this.Source = *v307 if !easy && r.Intn(10) != 0 { } return this @@ -39332,8 +39787,8 @@ func NewPopulatedOffer_Operation_CreateBlock(r randyMesos, easy bool) *Offer_Ope func NewPopulatedOffer_Operation_DestroyBlock(r randyMesos, easy bool) *Offer_Operation_DestroyBlock { this := &Offer_Operation_DestroyBlock{} - v304 := NewPopulatedResource(r, easy) - this.Block = *v304 + v308 := NewPopulatedResource(r, easy) + this.Block = *v308 if !easy && r.Intn(10) != 0 { } return this @@ -39341,24 +39796,24 @@ func NewPopulatedOffer_Operation_DestroyBlock(r randyMesos, easy bool) *Offer_Op func NewPopulatedInverseOffer(r randyMesos, easy bool) *InverseOffer { this := &InverseOffer{} - v305 := NewPopulatedOfferID(r, easy) - this.OfferID = *v305 + v309 := NewPopulatedOfferID(r, easy) + this.OfferID = *v309 if r.Intn(10) != 0 { this.URL = NewPopulatedURL(r, easy) } - v306 := NewPopulatedFrameworkID(r, easy) - this.FrameworkID = *v306 + v310 := NewPopulatedFrameworkID(r, easy) + this.FrameworkID = *v310 if r.Intn(10) != 0 { this.AgentID = NewPopulatedAgentID(r, easy) } - v307 := NewPopulatedUnavailability(r, easy) - this.Unavailability = *v307 + v311 := NewPopulatedUnavailability(r, easy) + this.Unavailability = *v311 if r.Intn(10) != 0 { - v308 := r.Intn(5) - this.Resources = make([]Resource, v308) - for i := 0; i < v308; i++ { - v309 := NewPopulatedResource(r, easy) - this.Resources[i] = *v309 + v312 := r.Intn(5) + this.Resources = make([]Resource, v312) + for i := 0; i < v312; i++ { + v313 := NewPopulatedResource(r, easy) + this.Resources[i] = *v313 } } if !easy && r.Intn(10) != 0 { @@ -39369,25 +39824,25 @@ func NewPopulatedInverseOffer(r randyMesos, easy bool) *InverseOffer { func NewPopulatedTaskInfo(r randyMesos, easy bool) *TaskInfo { this := &TaskInfo{} this.Name = string(randStringMesos(r)) - v310 := NewPopulatedTaskID(r, easy) - this.TaskID = *v310 - v311 := NewPopulatedAgentID(r, easy) - this.AgentID = *v311 + v314 := NewPopulatedTaskID(r, easy) + this.TaskID = *v314 + v315 := NewPopulatedAgentID(r, easy) + this.AgentID = *v315 if r.Intn(10) != 0 { - v312 := r.Intn(5) - this.Resources = make([]Resource, v312) - for i := 0; i < v312; i++ { - v313 := NewPopulatedResource(r, easy) - this.Resources[i] = *v313 + v316 := r.Intn(5) + this.Resources = make([]Resource, v316) + for i := 0; i < v316; i++ { + v317 := NewPopulatedResource(r, easy) + this.Resources[i] = *v317 } } if r.Intn(10) != 0 { this.Executor = NewPopulatedExecutorInfo(r, easy) } if r.Intn(10) != 0 { - v314 := r.Intn(100) - this.Data = make([]byte, v314) - for i := 0; i < v314; i++ { + v318 := r.Intn(100) + this.Data = make([]byte, v318) + for i := 0; i < v318; i++ { this.Data[i] = byte(r.Intn(256)) } } @@ -39412,6 +39867,9 @@ func NewPopulatedTaskInfo(r randyMesos, easy bool) *TaskInfo { if r.Intn(10) != 0 { this.Check = NewPopulatedCheckInfo(r, easy) } + if r.Intn(10) != 0 { + this.MaxCompletionTime = NewPopulatedDurationInfo(r, easy) + } if !easy && r.Intn(10) != 0 { } return this @@ -39420,11 +39878,11 @@ func NewPopulatedTaskInfo(r randyMesos, easy bool) *TaskInfo { func NewPopulatedTaskGroupInfo(r randyMesos, easy bool) *TaskGroupInfo { this := &TaskGroupInfo{} if r.Intn(10) != 0 { - v315 := r.Intn(5) - this.Tasks = make([]TaskInfo, v315) - for i := 0; i < v315; i++ { - v316 := NewPopulatedTaskInfo(r, easy) - this.Tasks[i] = *v316 + v319 := r.Intn(5) + this.Tasks = make([]TaskInfo, v319) + for i := 0; i < v319; i++ { + v320 := NewPopulatedTaskInfo(r, easy) + this.Tasks[i] = *v320 } } if !easy && r.Intn(10) != 0 { @@ -39435,41 +39893,41 @@ func NewPopulatedTaskGroupInfo(r randyMesos, easy bool) *TaskGroupInfo { func NewPopulatedTask(r randyMesos, easy bool) *Task { this := &Task{} this.Name = string(randStringMesos(r)) - v317 := NewPopulatedTaskID(r, easy) - this.TaskID = *v317 - v318 := NewPopulatedFrameworkID(r, easy) - this.FrameworkID = *v318 + v321 := NewPopulatedTaskID(r, easy) + this.TaskID = *v321 + v322 := NewPopulatedFrameworkID(r, easy) + this.FrameworkID = *v322 if r.Intn(10) != 0 { this.ExecutorID = NewPopulatedExecutorID(r, easy) } - v319 := NewPopulatedAgentID(r, easy) - this.AgentID = *v319 - v320 := TaskState([]int32{6, 0, 1, 8, 2, 3, 4, 7, 5, 9, 10, 11, 12, 13}[r.Intn(14)]) - this.State = &v320 + v323 := NewPopulatedAgentID(r, easy) + this.AgentID = *v323 + v324 := TaskState([]int32{6, 0, 1, 8, 2, 3, 4, 7, 5, 9, 10, 11, 12, 13}[r.Intn(14)]) + this.State = &v324 if r.Intn(10) != 0 { - v321 := r.Intn(5) - this.Resources = make([]Resource, v321) - for i := 0; i < v321; i++ { - v322 := NewPopulatedResource(r, easy) - this.Resources[i] = *v322 + v325 := r.Intn(5) + this.Resources = make([]Resource, v325) + for i := 0; i < v325; i++ { + v326 := NewPopulatedResource(r, easy) + this.Resources[i] = *v326 } } if r.Intn(10) == 0 { - v323 := r.Intn(5) - this.Statuses = make([]TaskStatus, v323) - for i := 0; i < v323; i++ { - v324 := NewPopulatedTaskStatus(r, easy) - this.Statuses[i] = *v324 + v327 := r.Intn(5) + this.Statuses = make([]TaskStatus, v327) + for i := 0; i < v327; i++ { + v328 := NewPopulatedTaskStatus(r, easy) + this.Statuses[i] = *v328 } } if r.Intn(10) != 0 { - v325 := TaskState([]int32{6, 0, 1, 8, 2, 3, 4, 7, 5, 9, 10, 11, 12, 13}[r.Intn(14)]) - this.StatusUpdateState = &v325 + v329 := TaskState([]int32{6, 0, 1, 8, 2, 3, 4, 7, 5, 9, 10, 11, 12, 13}[r.Intn(14)]) + this.StatusUpdateState = &v329 } if r.Intn(10) != 0 { - v326 := r.Intn(100) - this.StatusUpdateUUID = make([]byte, v326) - for i := 0; i < v326; i++ { + v330 := r.Intn(100) + this.StatusUpdateUUID = make([]byte, v330) + for i := 0; i < v330; i++ { this.StatusUpdateUUID[i] = byte(r.Intn(256)) } } @@ -39483,8 +39941,8 @@ func NewPopulatedTask(r randyMesos, easy bool) *Task { this.Container = NewPopulatedContainerInfo(r, easy) } if r.Intn(10) != 0 { - v327 := string(randStringMesos(r)) - this.User = &v327 + v331 := string(randStringMesos(r)) + this.User = &v331 } if !easy && r.Intn(10) != 0 { } @@ -39494,11 +39952,11 @@ func NewPopulatedTask(r randyMesos, easy bool) *Task { func NewPopulatedTaskResourceLimitation(r randyMesos, easy bool) *TaskResourceLimitation { this := &TaskResourceLimitation{} if r.Intn(10) != 0 { - v328 := r.Intn(5) - this.Resources = make([]Resource, v328) - for i := 0; i < v328; i++ { - v329 := NewPopulatedResource(r, easy) - this.Resources[i] = *v329 + v332 := r.Intn(5) + this.Resources = make([]Resource, v332) + for i := 0; i < v332; i++ { + v333 := NewPopulatedResource(r, easy) + this.Resources[i] = *v333 } } if !easy && r.Intn(10) != 0 { @@ -39508,9 +39966,9 @@ func NewPopulatedTaskResourceLimitation(r randyMesos, easy bool) *TaskResourceLi func NewPopulatedUUID(r randyMesos, easy bool) *UUID { this := &UUID{} - v330 := r.Intn(100) - this.Value = make([]byte, v330) - for i := 0; i < v330; i++ { + v334 := r.Intn(100) + this.Value = make([]byte, v334) + for i := 0; i < v334; i++ { this.Value[i] = byte(r.Intn(256)) } if !easy && r.Intn(10) != 0 { @@ -39526,20 +39984,20 @@ func NewPopulatedOperation(r randyMesos, easy bool) *Operation { if r.Intn(10) != 0 { this.AgentID = NewPopulatedAgentID(r, easy) } - v331 := NewPopulatedOffer_Operation(r, easy) - this.Info = *v331 - v332 := NewPopulatedOperationStatus(r, easy) - this.LatestStatus = *v332 + v335 := NewPopulatedOffer_Operation(r, easy) + this.Info = *v335 + v336 := NewPopulatedOperationStatus(r, easy) + this.LatestStatus = *v336 if r.Intn(10) != 0 { - v333 := r.Intn(5) - this.Statuses = make([]OperationStatus, v333) - for i := 0; i < v333; i++ { - v334 := NewPopulatedOperationStatus(r, easy) - this.Statuses[i] = *v334 + v337 := r.Intn(5) + this.Statuses = make([]OperationStatus, v337) + for i := 0; i < v337; i++ { + v338 := NewPopulatedOperationStatus(r, easy) + this.Statuses[i] = *v338 } } - v335 := NewPopulatedUUID(r, easy) - this.UUID = *v335 + v339 := NewPopulatedUUID(r, easy) + this.UUID = *v339 if !easy && r.Intn(10) != 0 { } return this @@ -39550,17 +40008,17 @@ func NewPopulatedOperationStatus(r randyMesos, easy bool) *OperationStatus { if r.Intn(10) != 0 { this.OperationID = NewPopulatedOperationID(r, easy) } - this.State = OperationState([]int32{0, 1, 2, 3, 4, 5}[r.Intn(6)]) + this.State = OperationState([]int32{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}[r.Intn(10)]) if r.Intn(10) != 0 { - v336 := string(randStringMesos(r)) - this.Message = &v336 + v340 := string(randStringMesos(r)) + this.Message = &v340 } if r.Intn(10) != 0 { - v337 := r.Intn(5) - this.ConvertedResources = make([]Resource, v337) - for i := 0; i < v337; i++ { - v338 := NewPopulatedResource(r, easy) - this.ConvertedResources[i] = *v338 + v341 := r.Intn(5) + this.ConvertedResources = make([]Resource, v341) + for i := 0; i < v341; i++ { + v342 := NewPopulatedResource(r, easy) + this.ConvertedResources[i] = *v342 } } if r.Intn(10) != 0 { @@ -39574,8 +40032,8 @@ func NewPopulatedOperationStatus(r randyMesos, easy bool) *OperationStatus { func NewPopulatedCheckStatusInfo(r randyMesos, easy bool) *CheckStatusInfo { this := &CheckStatusInfo{} if r.Intn(10) != 0 { - v339 := CheckInfo_Type([]int32{0, 1, 2, 3}[r.Intn(4)]) - this.Type = &v339 + v343 := CheckInfo_Type([]int32{0, 1, 2, 3}[r.Intn(4)]) + this.Type = &v343 } if r.Intn(10) != 0 { this.Command = NewPopulatedCheckStatusInfo_Command(r, easy) @@ -39594,11 +40052,11 @@ func NewPopulatedCheckStatusInfo(r randyMesos, easy bool) *CheckStatusInfo { func NewPopulatedCheckStatusInfo_Command(r randyMesos, easy bool) *CheckStatusInfo_Command { this := &CheckStatusInfo_Command{} if r.Intn(10) != 0 { - v340 := int32(r.Int31()) + v344 := int32(r.Int31()) if r.Intn(2) == 0 { - v340 *= -1 + v344 *= -1 } - this.ExitCode = &v340 + this.ExitCode = &v344 } if !easy && r.Intn(10) != 0 { } @@ -39608,8 +40066,8 @@ func NewPopulatedCheckStatusInfo_Command(r randyMesos, easy bool) *CheckStatusIn func NewPopulatedCheckStatusInfo_Http(r randyMesos, easy bool) *CheckStatusInfo_Http { this := &CheckStatusInfo_Http{} if r.Intn(10) != 0 { - v341 := uint32(r.Uint32()) - this.StatusCode = &v341 + v345 := uint32(r.Uint32()) + this.StatusCode = &v345 } if !easy && r.Intn(10) != 0 { } @@ -39619,8 +40077,8 @@ func NewPopulatedCheckStatusInfo_Http(r randyMesos, easy bool) *CheckStatusInfo_ func NewPopulatedCheckStatusInfo_Tcp(r randyMesos, easy bool) *CheckStatusInfo_Tcp { this := &CheckStatusInfo_Tcp{} if r.Intn(10) != 0 { - v342 := bool(bool(r.Intn(2) == 0)) - this.Succeeded = &v342 + v346 := bool(bool(r.Intn(2) == 0)) + this.Succeeded = &v346 } if !easy && r.Intn(10) != 0 { } @@ -39629,50 +40087,50 @@ func NewPopulatedCheckStatusInfo_Tcp(r randyMesos, easy bool) *CheckStatusInfo_T func NewPopulatedTaskStatus(r randyMesos, easy bool) *TaskStatus { this := &TaskStatus{} - v343 := NewPopulatedTaskID(r, easy) - this.TaskID = *v343 - v344 := TaskState([]int32{6, 0, 1, 8, 2, 3, 4, 7, 5, 9, 10, 11, 12, 13}[r.Intn(14)]) - this.State = &v344 + v347 := NewPopulatedTaskID(r, easy) + this.TaskID = *v347 + v348 := TaskState([]int32{6, 0, 1, 8, 2, 3, 4, 7, 5, 9, 10, 11, 12, 13}[r.Intn(14)]) + this.State = &v348 if r.Intn(10) != 0 { - v345 := r.Intn(100) - this.Data = make([]byte, v345) - for i := 0; i < v345; i++ { + v349 := r.Intn(100) + this.Data = make([]byte, v349) + for i := 0; i < v349; i++ { this.Data[i] = byte(r.Intn(256)) } } if r.Intn(10) != 0 { - v346 := string(randStringMesos(r)) - this.Message = &v346 + v350 := string(randStringMesos(r)) + this.Message = &v350 } if r.Intn(10) != 0 { this.AgentID = NewPopulatedAgentID(r, easy) } if r.Intn(10) != 0 { - v347 := float64(r.Float64()) + v351 := float64(r.Float64()) if r.Intn(2) == 0 { - v347 *= -1 + v351 *= -1 } - this.Timestamp = &v347 + this.Timestamp = &v351 } if r.Intn(10) != 0 { this.ExecutorID = NewPopulatedExecutorID(r, easy) } if r.Intn(10) != 0 { - v348 := bool(bool(r.Intn(2) == 0)) - this.Healthy = &v348 + v352 := bool(bool(r.Intn(2) == 0)) + this.Healthy = &v352 } if r.Intn(10) != 0 { - v349 := TaskStatus_Source([]int32{0, 1, 2}[r.Intn(3)]) - this.Source = &v349 + v353 := TaskStatus_Source([]int32{0, 1, 2}[r.Intn(3)]) + this.Source = &v353 } if r.Intn(10) != 0 { - v350 := TaskStatus_Reason([]int32{0, 21, 19, 20, 8, 17, 22, 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(33)]) - this.Reason = &v350 + v354 := 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 = &v354 } if r.Intn(10) != 0 { - v351 := r.Intn(100) - this.UUID = make([]byte, v351) - for i := 0; i < v351; i++ { + v355 := r.Intn(100) + this.UUID = make([]byte, v355) + for i := 0; i < v355; i++ { this.UUID[i] = byte(r.Intn(256)) } } @@ -39699,11 +40157,11 @@ func NewPopulatedTaskStatus(r randyMesos, easy bool) *TaskStatus { func NewPopulatedFilters(r randyMesos, easy bool) *Filters { this := &Filters{} if r.Intn(10) != 0 { - v352 := float64(r.Float64()) + v356 := float64(r.Float64()) if r.Intn(2) == 0 { - v352 *= -1 + v356 *= -1 } - this.RefuseSeconds = &v352 + this.RefuseSeconds = &v356 } if !easy && r.Intn(10) != 0 { } @@ -39713,11 +40171,11 @@ func NewPopulatedFilters(r randyMesos, easy bool) *Filters { func NewPopulatedEnvironment(r randyMesos, easy bool) *Environment { this := &Environment{} if r.Intn(10) != 0 { - v353 := r.Intn(5) - this.Variables = make([]Environment_Variable, v353) - for i := 0; i < v353; i++ { - v354 := NewPopulatedEnvironment_Variable(r, easy) - this.Variables[i] = *v354 + v357 := r.Intn(5) + this.Variables = make([]Environment_Variable, v357) + for i := 0; i < v357; i++ { + v358 := NewPopulatedEnvironment_Variable(r, easy) + this.Variables[i] = *v358 } } if !easy && r.Intn(10) != 0 { @@ -39729,12 +40187,12 @@ func NewPopulatedEnvironment_Variable(r randyMesos, easy bool) *Environment_Vari this := &Environment_Variable{} this.Name = string(randStringMesos(r)) if r.Intn(10) != 0 { - v355 := string(randStringMesos(r)) - this.Value = &v355 + v359 := string(randStringMesos(r)) + this.Value = &v359 } if r.Intn(10) != 0 { - v356 := Environment_Variable_Type([]int32{0, 1, 2}[r.Intn(3)]) - this.Type = &v356 + v360 := Environment_Variable_Type([]int32{0, 1, 2}[r.Intn(3)]) + this.Type = &v360 } if r.Intn(10) != 0 { this.Secret = NewPopulatedSecret(r, easy) @@ -39756,11 +40214,11 @@ func NewPopulatedParameter(r randyMesos, easy bool) *Parameter { func NewPopulatedParameters(r randyMesos, easy bool) *Parameters { this := &Parameters{} if r.Intn(10) != 0 { - v357 := r.Intn(5) - this.Parameter = make([]Parameter, v357) - for i := 0; i < v357; i++ { - v358 := NewPopulatedParameter(r, easy) - this.Parameter[i] = *v358 + v361 := r.Intn(5) + this.Parameter = make([]Parameter, v361) + for i := 0; i < v361; i++ { + v362 := NewPopulatedParameter(r, easy) + this.Parameter[i] = *v362 } } if !easy && r.Intn(10) != 0 { @@ -39772,8 +40230,8 @@ func NewPopulatedCredential(r randyMesos, easy bool) *Credential { this := &Credential{} this.Principal = string(randStringMesos(r)) if r.Intn(10) != 0 { - v359 := string(randStringMesos(r)) - this.Secret = &v359 + v363 := string(randStringMesos(r)) + this.Secret = &v363 } if !easy && r.Intn(10) != 0 { } @@ -39783,11 +40241,11 @@ func NewPopulatedCredential(r randyMesos, easy bool) *Credential { func NewPopulatedCredentials(r randyMesos, easy bool) *Credentials { this := &Credentials{} if r.Intn(10) != 0 { - v360 := r.Intn(5) - this.Credentials = make([]Credential, v360) - for i := 0; i < v360; i++ { - v361 := NewPopulatedCredential(r, easy) - this.Credentials[i] = *v361 + v364 := r.Intn(5) + this.Credentials = make([]Credential, v364) + for i := 0; i < v364; i++ { + v365 := NewPopulatedCredential(r, easy) + this.Credentials[i] = *v365 } } if !easy && r.Intn(10) != 0 { @@ -39813,8 +40271,8 @@ func NewPopulatedSecret_Reference(r randyMesos, easy bool) *Secret_Reference { this := &Secret_Reference{} this.Name = string(randStringMesos(r)) if r.Intn(10) != 0 { - v362 := string(randStringMesos(r)) - this.Key = &v362 + v366 := string(randStringMesos(r)) + this.Key = &v366 } if !easy && r.Intn(10) != 0 { } @@ -39823,9 +40281,9 @@ func NewPopulatedSecret_Reference(r randyMesos, easy bool) *Secret_Reference { func NewPopulatedSecret_Value(r randyMesos, easy bool) *Secret_Value { this := &Secret_Value{} - v363 := r.Intn(100) - this.Data = make([]byte, v363) - for i := 0; i < v363; i++ { + v367 := r.Intn(100) + this.Data = make([]byte, v367) + for i := 0; i < v367; i++ { this.Data[i] = byte(r.Intn(256)) } if !easy && r.Intn(10) != 0 { @@ -39836,16 +40294,16 @@ func NewPopulatedSecret_Value(r randyMesos, easy bool) *Secret_Value { func NewPopulatedRateLimit(r randyMesos, easy bool) *RateLimit { this := &RateLimit{} if r.Intn(10) != 0 { - v364 := float64(r.Float64()) + v368 := float64(r.Float64()) if r.Intn(2) == 0 { - v364 *= -1 + v368 *= -1 } - this.QPS = &v364 + this.QPS = &v368 } this.Principal = string(randStringMesos(r)) if r.Intn(10) != 0 { - v365 := uint64(uint64(r.Uint32())) - this.Capacity = &v365 + v369 := uint64(uint64(r.Uint32())) + this.Capacity = &v369 } if !easy && r.Intn(10) != 0 { } @@ -39855,23 +40313,23 @@ func NewPopulatedRateLimit(r randyMesos, easy bool) *RateLimit { func NewPopulatedRateLimits(r randyMesos, easy bool) *RateLimits { this := &RateLimits{} if r.Intn(10) != 0 { - v366 := r.Intn(5) - this.Limits = make([]RateLimit, v366) - for i := 0; i < v366; i++ { - v367 := NewPopulatedRateLimit(r, easy) - this.Limits[i] = *v367 + v370 := r.Intn(5) + this.Limits = make([]RateLimit, v370) + for i := 0; i < v370; i++ { + v371 := NewPopulatedRateLimit(r, easy) + this.Limits[i] = *v371 } } if r.Intn(10) != 0 { - v368 := float64(r.Float64()) + v372 := float64(r.Float64()) if r.Intn(2) == 0 { - v368 *= -1 + v372 *= -1 } - this.AggregateDefaultQPS = &v368 + this.AggregateDefaultQPS = &v372 } if r.Intn(10) != 0 { - v369 := uint64(uint64(r.Uint32())) - this.AggregateDefaultCapacity = &v369 + v373 := uint64(uint64(r.Uint32())) + this.AggregateDefaultCapacity = &v373 } if !easy && r.Intn(10) != 0 { } @@ -39880,8 +40338,8 @@ func NewPopulatedRateLimits(r randyMesos, easy bool) *RateLimits { func NewPopulatedImage(r randyMesos, easy bool) *Image { this := &Image{} - v370 := Image_Type([]int32{1, 2}[r.Intn(2)]) - this.Type = &v370 + v374 := Image_Type([]int32{1, 2}[r.Intn(2)]) + this.Type = &v374 if r.Intn(10) != 0 { this.Appc = NewPopulatedImage_Appc(r, easy) } @@ -39889,8 +40347,8 @@ func NewPopulatedImage(r randyMesos, easy bool) *Image { this.Docker = NewPopulatedImage_Docker(r, easy) } if r.Intn(10) != 0 { - v371 := bool(bool(r.Intn(2) == 0)) - this.Cached = &v371 + v375 := bool(bool(r.Intn(2) == 0)) + this.Cached = &v375 } if !easy && r.Intn(10) != 0 { } @@ -39901,8 +40359,8 @@ func NewPopulatedImage_Appc(r randyMesos, easy bool) *Image_Appc { this := &Image_Appc{} this.Name = string(randStringMesos(r)) if r.Intn(10) != 0 { - v372 := string(randStringMesos(r)) - this.ID = &v372 + v376 := string(randStringMesos(r)) + this.ID = &v376 } if r.Intn(10) != 0 { this.Labels = NewPopulatedLabels(r, easy) @@ -39929,8 +40387,8 @@ func NewPopulatedImage_Docker(r randyMesos, easy bool) *Image_Docker { func NewPopulatedMountPropagation(r randyMesos, easy bool) *MountPropagation { this := &MountPropagation{} if r.Intn(10) != 0 { - v373 := MountPropagation_Mode([]int32{0, 1, 2}[r.Intn(3)]) - this.Mode = &v373 + v377 := MountPropagation_Mode([]int32{0, 1, 2}[r.Intn(3)]) + this.Mode = &v377 } if !easy && r.Intn(10) != 0 { } @@ -39941,11 +40399,11 @@ func NewPopulatedVolume(r randyMesos, easy bool) *Volume { this := &Volume{} this.ContainerPath = string(randStringMesos(r)) if r.Intn(10) != 0 { - v374 := string(randStringMesos(r)) - this.HostPath = &v374 + v378 := string(randStringMesos(r)) + this.HostPath = &v378 } - v375 := Volume_Mode([]int32{1, 2}[r.Intn(2)]) - this.Mode = &v375 + v379 := Volume_Mode([]int32{1, 2}[r.Intn(2)]) + this.Mode = &v379 if r.Intn(10) != 0 { this.Image = NewPopulatedImage(r, easy) } @@ -39980,8 +40438,8 @@ func NewPopulatedVolume_Source(r randyMesos, easy bool) *Volume_Source { func NewPopulatedVolume_Source_DockerVolume(r randyMesos, easy bool) *Volume_Source_DockerVolume { this := &Volume_Source_DockerVolume{} if r.Intn(10) != 0 { - v376 := string(randStringMesos(r)) - this.Driver = &v376 + v380 := string(randStringMesos(r)) + this.Driver = &v380 } this.Name = string(randStringMesos(r)) if r.Intn(10) != 0 { @@ -40015,9 +40473,9 @@ func NewPopulatedVolume_Source_SandboxPath(r randyMesos, easy bool) *Volume_Sour func NewPopulatedNetworkInfo(r randyMesos, easy bool) *NetworkInfo { this := &NetworkInfo{} if r.Intn(10) != 0 { - v377 := r.Intn(10) - this.Groups = make([]string, v377) - for i := 0; i < v377; i++ { + v381 := r.Intn(10) + this.Groups = make([]string, v381) + for i := 0; i < v381; i++ { this.Groups[i] = string(randStringMesos(r)) } } @@ -40025,23 +40483,23 @@ func NewPopulatedNetworkInfo(r randyMesos, easy bool) *NetworkInfo { this.Labels = NewPopulatedLabels(r, easy) } if r.Intn(10) != 0 { - v378 := r.Intn(5) - this.IPAddresses = make([]NetworkInfo_IPAddress, v378) - for i := 0; i < v378; i++ { - v379 := NewPopulatedNetworkInfo_IPAddress(r, easy) - this.IPAddresses[i] = *v379 + v382 := r.Intn(5) + this.IPAddresses = make([]NetworkInfo_IPAddress, v382) + for i := 0; i < v382; i++ { + v383 := NewPopulatedNetworkInfo_IPAddress(r, easy) + this.IPAddresses[i] = *v383 } } if r.Intn(10) != 0 { - v380 := string(randStringMesos(r)) - this.Name = &v380 + v384 := string(randStringMesos(r)) + this.Name = &v384 } if r.Intn(10) != 0 { - v381 := r.Intn(5) - this.PortMappings = make([]NetworkInfo_PortMapping, v381) - for i := 0; i < v381; i++ { - v382 := NewPopulatedNetworkInfo_PortMapping(r, easy) - this.PortMappings[i] = *v382 + v385 := r.Intn(5) + this.PortMappings = make([]NetworkInfo_PortMapping, v385) + for i := 0; i < v385; i++ { + v386 := NewPopulatedNetworkInfo_PortMapping(r, easy) + this.PortMappings[i] = *v386 } } if !easy && r.Intn(10) != 0 { @@ -40052,12 +40510,12 @@ func NewPopulatedNetworkInfo(r randyMesos, easy bool) *NetworkInfo { func NewPopulatedNetworkInfo_IPAddress(r randyMesos, easy bool) *NetworkInfo_IPAddress { this := &NetworkInfo_IPAddress{} if r.Intn(10) != 0 { - v383 := NetworkInfo_Protocol([]int32{1, 2}[r.Intn(2)]) - this.Protocol = &v383 + v387 := NetworkInfo_Protocol([]int32{1, 2}[r.Intn(2)]) + this.Protocol = &v387 } if r.Intn(10) != 0 { - v384 := string(randStringMesos(r)) - this.IPAddress = &v384 + v388 := string(randStringMesos(r)) + this.IPAddress = &v388 } if !easy && r.Intn(10) != 0 { } @@ -40069,8 +40527,8 @@ func NewPopulatedNetworkInfo_PortMapping(r randyMesos, easy bool) *NetworkInfo_P this.HostPort = uint32(r.Uint32()) this.ContainerPort = uint32(r.Uint32()) if r.Intn(10) != 0 { - v385 := string(randStringMesos(r)) - this.Protocol = &v385 + v389 := string(randStringMesos(r)) + this.Protocol = &v389 } if !easy && r.Intn(10) != 0 { } @@ -40080,9 +40538,9 @@ func NewPopulatedNetworkInfo_PortMapping(r randyMesos, easy bool) *NetworkInfo_P func NewPopulatedCapabilityInfo(r randyMesos, easy bool) *CapabilityInfo { this := &CapabilityInfo{} if r.Intn(10) != 0 { - v386 := r.Intn(10) - this.Capabilities = make([]CapabilityInfo_Capability, v386) - for i := 0; i < v386; i++ { + v390 := r.Intn(10) + this.Capabilities = make([]CapabilityInfo_Capability, v390) + for i := 0; i < v390; i++ { this.Capabilities[i] = CapabilityInfo_Capability([]int32{0, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037}[r.Intn(39)]) } } @@ -40103,8 +40561,8 @@ func NewPopulatedLinuxInfo(r randyMesos, easy bool) *LinuxInfo { this.EffectiveCapabilities = NewPopulatedCapabilityInfo(r, easy) } if r.Intn(10) != 0 { - v387 := bool(bool(r.Intn(2) == 0)) - this.SharePIDNamespace = &v387 + v391 := bool(bool(r.Intn(2) == 0)) + this.SharePIDNamespace = &v391 } if !easy && r.Intn(10) != 0 { } @@ -40114,11 +40572,11 @@ func NewPopulatedLinuxInfo(r randyMesos, easy bool) *LinuxInfo { func NewPopulatedRLimitInfo(r randyMesos, easy bool) *RLimitInfo { this := &RLimitInfo{} if r.Intn(10) != 0 { - v388 := r.Intn(5) - this.Rlimits = make([]RLimitInfo_RLimit, v388) - for i := 0; i < v388; i++ { - v389 := NewPopulatedRLimitInfo_RLimit(r, easy) - this.Rlimits[i] = *v389 + v392 := r.Intn(5) + this.Rlimits = make([]RLimitInfo_RLimit, v392) + for i := 0; i < v392; i++ { + v393 := NewPopulatedRLimitInfo_RLimit(r, easy) + this.Rlimits[i] = *v393 } } if !easy && r.Intn(10) != 0 { @@ -40130,12 +40588,12 @@ func NewPopulatedRLimitInfo_RLimit(r randyMesos, easy bool) *RLimitInfo_RLimit { this := &RLimitInfo_RLimit{} this.Type = RLimitInfo_RLimit_Type([]int32{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}[r.Intn(17)]) if r.Intn(10) != 0 { - v390 := uint64(uint64(r.Uint32())) - this.Hard = &v390 + v394 := uint64(uint64(r.Uint32())) + this.Hard = &v394 } if r.Intn(10) != 0 { - v391 := uint64(uint64(r.Uint32())) - this.Soft = &v391 + v395 := uint64(uint64(r.Uint32())) + this.Soft = &v395 } if !easy && r.Intn(10) != 0 { } @@ -40163,32 +40621,32 @@ func NewPopulatedTTYInfo_WindowSize(r randyMesos, easy bool) *TTYInfo_WindowSize func NewPopulatedContainerInfo(r randyMesos, easy bool) *ContainerInfo { this := &ContainerInfo{} - v392 := ContainerInfo_Type([]int32{1, 2}[r.Intn(2)]) - this.Type = &v392 + v396 := ContainerInfo_Type([]int32{1, 2}[r.Intn(2)]) + this.Type = &v396 if r.Intn(10) != 0 { - v393 := r.Intn(5) - this.Volumes = make([]Volume, v393) - for i := 0; i < v393; i++ { - v394 := NewPopulatedVolume(r, easy) - this.Volumes[i] = *v394 + v397 := r.Intn(5) + this.Volumes = make([]Volume, v397) + for i := 0; i < v397; i++ { + v398 := NewPopulatedVolume(r, easy) + this.Volumes[i] = *v398 } } if r.Intn(10) != 0 { this.Docker = NewPopulatedContainerInfo_DockerInfo(r, easy) } if r.Intn(10) != 0 { - v395 := string(randStringMesos(r)) - this.Hostname = &v395 + v399 := string(randStringMesos(r)) + this.Hostname = &v399 } if r.Intn(10) != 0 { this.Mesos = NewPopulatedContainerInfo_MesosInfo(r, easy) } if r.Intn(10) != 0 { - v396 := r.Intn(5) - this.NetworkInfos = make([]NetworkInfo, v396) - for i := 0; i < v396; i++ { - v397 := NewPopulatedNetworkInfo(r, easy) - this.NetworkInfos[i] = *v397 + v400 := r.Intn(5) + this.NetworkInfos = make([]NetworkInfo, v400) + for i := 0; i < v400; i++ { + v401 := NewPopulatedNetworkInfo(r, easy) + this.NetworkInfos[i] = *v401 } } if r.Intn(10) != 0 { @@ -40209,36 +40667,36 @@ func NewPopulatedContainerInfo_DockerInfo(r randyMesos, easy bool) *ContainerInf this := &ContainerInfo_DockerInfo{} this.Image = string(randStringMesos(r)) if r.Intn(10) != 0 { - v398 := ContainerInfo_DockerInfo_Network([]int32{1, 2, 3, 4}[r.Intn(4)]) - this.Network = &v398 + v402 := ContainerInfo_DockerInfo_Network([]int32{1, 2, 3, 4}[r.Intn(4)]) + this.Network = &v402 } if r.Intn(10) != 0 { - v399 := r.Intn(5) - this.PortMappings = make([]ContainerInfo_DockerInfo_PortMapping, v399) - for i := 0; i < v399; i++ { - v400 := NewPopulatedContainerInfo_DockerInfo_PortMapping(r, easy) - this.PortMappings[i] = *v400 + v403 := r.Intn(5) + this.PortMappings = make([]ContainerInfo_DockerInfo_PortMapping, v403) + for i := 0; i < v403; i++ { + v404 := NewPopulatedContainerInfo_DockerInfo_PortMapping(r, easy) + this.PortMappings[i] = *v404 } } if r.Intn(10) != 0 { - v401 := bool(bool(r.Intn(2) == 0)) - this.Privileged = &v401 + v405 := bool(bool(r.Intn(2) == 0)) + this.Privileged = &v405 } if r.Intn(10) != 0 { - v402 := r.Intn(5) - this.Parameters = make([]Parameter, v402) - for i := 0; i < v402; i++ { - v403 := NewPopulatedParameter(r, easy) - this.Parameters[i] = *v403 + v406 := r.Intn(5) + this.Parameters = make([]Parameter, v406) + for i := 0; i < v406; i++ { + v407 := NewPopulatedParameter(r, easy) + this.Parameters[i] = *v407 } } if r.Intn(10) != 0 { - v404 := bool(bool(r.Intn(2) == 0)) - this.ForcePullImage = &v404 + v408 := bool(bool(r.Intn(2) == 0)) + this.ForcePullImage = &v408 } if r.Intn(10) != 0 { - v405 := string(randStringMesos(r)) - this.VolumeDriver = &v405 + v409 := string(randStringMesos(r)) + this.VolumeDriver = &v409 } if !easy && r.Intn(10) != 0 { } @@ -40250,8 +40708,8 @@ func NewPopulatedContainerInfo_DockerInfo_PortMapping(r randyMesos, easy bool) * this.HostPort = uint32(r.Uint32()) this.ContainerPort = uint32(r.Uint32()) if r.Intn(10) != 0 { - v406 := string(randStringMesos(r)) - this.Protocol = &v406 + v410 := string(randStringMesos(r)) + this.Protocol = &v410 } if !easy && r.Intn(10) != 0 { } @@ -40271,19 +40729,19 @@ func NewPopulatedContainerInfo_MesosInfo(r randyMesos, easy bool) *ContainerInfo func NewPopulatedContainerStatus(r randyMesos, easy bool) *ContainerStatus { this := &ContainerStatus{} if r.Intn(10) != 0 { - v407 := r.Intn(5) - this.NetworkInfos = make([]NetworkInfo, v407) - for i := 0; i < v407; i++ { - v408 := NewPopulatedNetworkInfo(r, easy) - this.NetworkInfos[i] = *v408 + v411 := r.Intn(5) + this.NetworkInfos = make([]NetworkInfo, v411) + for i := 0; i < v411; i++ { + v412 := NewPopulatedNetworkInfo(r, easy) + this.NetworkInfos[i] = *v412 } } if r.Intn(10) != 0 { this.CgroupInfo = NewPopulatedCgroupInfo(r, easy) } if r.Intn(10) != 0 { - v409 := uint32(r.Uint32()) - this.ExecutorPID = &v409 + v413 := uint32(r.Uint32()) + this.ExecutorPID = &v413 } if r.Intn(10) == 0 { this.ContainerID = NewPopulatedContainerID(r, easy) @@ -40313,12 +40771,12 @@ func NewPopulatedCgroupInfo_Blkio(r randyMesos, easy bool) *CgroupInfo_Blkio { func NewPopulatedCgroupInfo_Blkio_Value(r randyMesos, easy bool) *CgroupInfo_Blkio_Value { this := &CgroupInfo_Blkio_Value{} if r.Intn(10) != 0 { - v410 := CgroupInfo_Blkio_Operation([]int32{0, 1, 2, 3, 4, 5}[r.Intn(6)]) - this.Op = &v410 + v414 := CgroupInfo_Blkio_Operation([]int32{0, 1, 2, 3, 4, 5}[r.Intn(6)]) + this.Op = &v414 } if r.Intn(10) != 0 { - v411 := uint64(uint64(r.Uint32())) - this.Value = &v411 + v415 := uint64(uint64(r.Uint32())) + this.Value = &v415 } if !easy && r.Intn(10) != 0 { } @@ -40338,59 +40796,59 @@ func NewPopulatedCgroupInfo_Blkio_CFQ_Statistics(r randyMesos, easy bool) *Cgrou this.Device = NewPopulatedDevice_Number(r, easy) } if r.Intn(10) != 0 { - v412 := uint64(uint64(r.Uint32())) - this.Sectors = &v412 - } - if r.Intn(10) != 0 { - v413 := uint64(uint64(r.Uint32())) - this.Time = &v413 - } - if r.Intn(10) != 0 { - v414 := r.Intn(5) - this.IOServiced = make([]CgroupInfo_Blkio_Value, v414) - for i := 0; i < v414; i++ { - v415 := NewPopulatedCgroupInfo_Blkio_Value(r, easy) - this.IOServiced[i] = *v415 - } + v416 := uint64(uint64(r.Uint32())) + this.Sectors = &v416 } if r.Intn(10) != 0 { - v416 := r.Intn(5) - this.IOServiceBytes = make([]CgroupInfo_Blkio_Value, v416) - for i := 0; i < v416; i++ { - v417 := NewPopulatedCgroupInfo_Blkio_Value(r, easy) - this.IOServiceBytes[i] = *v417 - } + v417 := uint64(uint64(r.Uint32())) + this.Time = &v417 } if r.Intn(10) != 0 { v418 := r.Intn(5) - this.IOServiceTime = make([]CgroupInfo_Blkio_Value, v418) + this.IOServiced = make([]CgroupInfo_Blkio_Value, v418) for i := 0; i < v418; i++ { v419 := NewPopulatedCgroupInfo_Blkio_Value(r, easy) - this.IOServiceTime[i] = *v419 + this.IOServiced[i] = *v419 } } if r.Intn(10) != 0 { v420 := r.Intn(5) - this.IOWaitTime = make([]CgroupInfo_Blkio_Value, v420) + this.IOServiceBytes = make([]CgroupInfo_Blkio_Value, v420) for i := 0; i < v420; i++ { v421 := NewPopulatedCgroupInfo_Blkio_Value(r, easy) - this.IOWaitTime[i] = *v421 + this.IOServiceBytes[i] = *v421 } } if r.Intn(10) != 0 { v422 := r.Intn(5) - this.IOMerged = make([]CgroupInfo_Blkio_Value, v422) + this.IOServiceTime = make([]CgroupInfo_Blkio_Value, v422) for i := 0; i < v422; i++ { v423 := NewPopulatedCgroupInfo_Blkio_Value(r, easy) - this.IOMerged[i] = *v423 + this.IOServiceTime[i] = *v423 } } if r.Intn(10) != 0 { v424 := r.Intn(5) - this.IOQueued = make([]CgroupInfo_Blkio_Value, v424) + this.IOWaitTime = make([]CgroupInfo_Blkio_Value, v424) for i := 0; i < v424; i++ { v425 := NewPopulatedCgroupInfo_Blkio_Value(r, easy) - this.IOQueued[i] = *v425 + this.IOWaitTime[i] = *v425 + } + } + if r.Intn(10) != 0 { + v426 := r.Intn(5) + this.IOMerged = make([]CgroupInfo_Blkio_Value, v426) + for i := 0; i < v426; i++ { + v427 := NewPopulatedCgroupInfo_Blkio_Value(r, easy) + this.IOMerged[i] = *v427 + } + } + if r.Intn(10) != 0 { + v428 := r.Intn(5) + this.IOQueued = make([]CgroupInfo_Blkio_Value, v428) + for i := 0; i < v428; i++ { + v429 := NewPopulatedCgroupInfo_Blkio_Value(r, easy) + this.IOQueued[i] = *v429 } } if !easy && r.Intn(10) != 0 { @@ -40411,19 +40869,19 @@ func NewPopulatedCgroupInfo_Blkio_Throttling_Statistics(r randyMesos, easy bool) this.Device = NewPopulatedDevice_Number(r, easy) } if r.Intn(10) != 0 { - v426 := r.Intn(5) - this.IOServiced = make([]CgroupInfo_Blkio_Value, v426) - for i := 0; i < v426; i++ { - v427 := NewPopulatedCgroupInfo_Blkio_Value(r, easy) - this.IOServiced[i] = *v427 + v430 := r.Intn(5) + this.IOServiced = make([]CgroupInfo_Blkio_Value, v430) + for i := 0; i < v430; i++ { + v431 := NewPopulatedCgroupInfo_Blkio_Value(r, easy) + this.IOServiced[i] = *v431 } } if r.Intn(10) != 0 { - v428 := r.Intn(5) - this.IOServiceBytes = make([]CgroupInfo_Blkio_Value, v428) - for i := 0; i < v428; i++ { - v429 := NewPopulatedCgroupInfo_Blkio_Value(r, easy) - this.IOServiceBytes[i] = *v429 + v432 := r.Intn(5) + this.IOServiceBytes = make([]CgroupInfo_Blkio_Value, v432) + for i := 0; i < v432; i++ { + v433 := NewPopulatedCgroupInfo_Blkio_Value(r, easy) + this.IOServiceBytes[i] = *v433 } } if !easy && r.Intn(10) != 0 { @@ -40434,25 +40892,25 @@ func NewPopulatedCgroupInfo_Blkio_Throttling_Statistics(r randyMesos, easy bool) func NewPopulatedCgroupInfo_Blkio_Statistics(r randyMesos, easy bool) *CgroupInfo_Blkio_Statistics { this := &CgroupInfo_Blkio_Statistics{} if r.Intn(10) != 0 { - v430 := r.Intn(5) - this.CFQ = make([]CgroupInfo_Blkio_CFQ_Statistics, v430) - for i := 0; i < v430; i++ { - v431 := NewPopulatedCgroupInfo_Blkio_CFQ_Statistics(r, easy) - this.CFQ[i] = *v431 + v434 := r.Intn(5) + this.CFQ = make([]CgroupInfo_Blkio_CFQ_Statistics, v434) + for i := 0; i < v434; i++ { + v435 := NewPopulatedCgroupInfo_Blkio_CFQ_Statistics(r, easy) + this.CFQ[i] = *v435 } } if r.Intn(10) != 0 { - v432 := r.Intn(5) - this.CFQRecursive = make([]CgroupInfo_Blkio_CFQ_Statistics, v432) - for i := 0; i < v432; i++ { - v433 := NewPopulatedCgroupInfo_Blkio_CFQ_Statistics(r, easy) - this.CFQRecursive[i] = *v433 + v436 := r.Intn(5) + this.CFQRecursive = make([]CgroupInfo_Blkio_CFQ_Statistics, v436) + for i := 0; i < v436; i++ { + v437 := NewPopulatedCgroupInfo_Blkio_CFQ_Statistics(r, easy) + this.CFQRecursive[i] = *v437 } } if r.Intn(10) != 0 { - v434 := r.Intn(5) - this.Throttling = make([]*CgroupInfo_Blkio_Throttling_Statistics, v434) - for i := 0; i < v434; i++ { + v438 := r.Intn(5) + this.Throttling = make([]*CgroupInfo_Blkio_Throttling_Statistics, v438) + for i := 0; i < v438; i++ { this.Throttling[i] = NewPopulatedCgroupInfo_Blkio_Throttling_Statistics(r, easy) } } @@ -40464,8 +40922,8 @@ func NewPopulatedCgroupInfo_Blkio_Statistics(r randyMesos, easy bool) *CgroupInf func NewPopulatedCgroupInfo_NetCls(r randyMesos, easy bool) *CgroupInfo_NetCls { this := &CgroupInfo_NetCls{} if r.Intn(10) != 0 { - v435 := uint32(r.Uint32()) - this.ClassID = &v435 + v439 := uint32(r.Uint32()) + this.ClassID = &v439 } if !easy && r.Intn(10) != 0 { } @@ -40475,11 +40933,11 @@ func NewPopulatedCgroupInfo_NetCls(r randyMesos, easy bool) *CgroupInfo_NetCls { func NewPopulatedLabels(r randyMesos, easy bool) *Labels { this := &Labels{} if r.Intn(10) != 0 { - v436 := r.Intn(5) - this.Labels = make([]Label, v436) - for i := 0; i < v436; i++ { - v437 := NewPopulatedLabel(r, easy) - this.Labels[i] = *v437 + v440 := r.Intn(5) + this.Labels = make([]Label, v440) + for i := 0; i < v440; i++ { + v441 := NewPopulatedLabel(r, easy) + this.Labels[i] = *v441 } } if !easy && r.Intn(10) != 0 { @@ -40491,8 +40949,8 @@ func NewPopulatedLabel(r randyMesos, easy bool) *Label { this := &Label{} this.Key = string(randStringMesos(r)) if r.Intn(10) != 0 { - v438 := string(randStringMesos(r)) - this.Value = &v438 + v442 := string(randStringMesos(r)) + this.Value = &v442 } if !easy && r.Intn(10) != 0 { } @@ -40503,16 +40961,16 @@ func NewPopulatedPort(r randyMesos, easy bool) *Port { this := &Port{} this.Number = uint32(r.Uint32()) if r.Intn(10) != 0 { - v439 := string(randStringMesos(r)) - this.Name = &v439 + v443 := string(randStringMesos(r)) + this.Name = &v443 } if r.Intn(10) != 0 { - v440 := string(randStringMesos(r)) - this.Protocol = &v440 + v444 := string(randStringMesos(r)) + this.Protocol = &v444 } if r.Intn(10) != 0 { - v441 := DiscoveryInfo_Visibility([]int32{0, 1, 2}[r.Intn(3)]) - this.Visibility = &v441 + v445 := DiscoveryInfo_Visibility([]int32{0, 1, 2}[r.Intn(3)]) + this.Visibility = &v445 } if r.Intn(10) != 0 { this.Labels = NewPopulatedLabels(r, easy) @@ -40525,11 +40983,11 @@ func NewPopulatedPort(r randyMesos, easy bool) *Port { func NewPopulatedPorts(r randyMesos, easy bool) *Ports { this := &Ports{} if r.Intn(10) != 0 { - v442 := r.Intn(5) - this.Ports = make([]Port, v442) - for i := 0; i < v442; i++ { - v443 := NewPopulatedPort(r, easy) - this.Ports[i] = *v443 + v446 := r.Intn(5) + this.Ports = make([]Port, v446) + for i := 0; i < v446; i++ { + v447 := NewPopulatedPort(r, easy) + this.Ports[i] = *v447 } } if !easy && r.Intn(10) != 0 { @@ -40541,20 +40999,20 @@ func NewPopulatedDiscoveryInfo(r randyMesos, easy bool) *DiscoveryInfo { this := &DiscoveryInfo{} this.Visibility = DiscoveryInfo_Visibility([]int32{0, 1, 2}[r.Intn(3)]) if r.Intn(10) != 0 { - v444 := string(randStringMesos(r)) - this.Name = &v444 + v448 := string(randStringMesos(r)) + this.Name = &v448 } if r.Intn(10) != 0 { - v445 := string(randStringMesos(r)) - this.Environment = &v445 + v449 := string(randStringMesos(r)) + this.Environment = &v449 } if r.Intn(10) != 0 { - v446 := string(randStringMesos(r)) - this.Location = &v446 + v450 := string(randStringMesos(r)) + this.Location = &v450 } if r.Intn(10) != 0 { - v447 := string(randStringMesos(r)) - this.Version = &v447 + v451 := string(randStringMesos(r)) + this.Version = &v451 } if r.Intn(10) != 0 { this.Ports = NewPopulatedPorts(r, easy) @@ -40574,8 +41032,8 @@ func NewPopulatedWeightInfo(r randyMesos, easy bool) *WeightInfo { this.Weight *= -1 } if r.Intn(10) != 0 { - v448 := string(randStringMesos(r)) - this.Role = &v448 + v452 := string(randStringMesos(r)) + this.Role = &v452 } if !easy && r.Intn(10) != 0 { } @@ -40586,31 +41044,31 @@ func NewPopulatedVersionInfo(r randyMesos, easy bool) *VersionInfo { this := &VersionInfo{} this.Version = string(randStringMesos(r)) if r.Intn(10) != 0 { - v449 := string(randStringMesos(r)) - this.BuildDate = &v449 + v453 := string(randStringMesos(r)) + this.BuildDate = &v453 } if r.Intn(10) != 0 { - v450 := float64(r.Float64()) + v454 := float64(r.Float64()) if r.Intn(2) == 0 { - v450 *= -1 + v454 *= -1 } - this.BuildTime = &v450 + this.BuildTime = &v454 } if r.Intn(10) != 0 { - v451 := string(randStringMesos(r)) - this.BuildUser = &v451 + v455 := string(randStringMesos(r)) + this.BuildUser = &v455 } if r.Intn(10) != 0 { - v452 := string(randStringMesos(r)) - this.GitSHA = &v452 + v456 := string(randStringMesos(r)) + this.GitSHA = &v456 } if r.Intn(10) != 0 { - v453 := string(randStringMesos(r)) - this.GitBranch = &v453 + v457 := string(randStringMesos(r)) + this.GitBranch = &v457 } if r.Intn(10) != 0 { - v454 := string(randStringMesos(r)) - this.GitTag = &v454 + v458 := string(randStringMesos(r)) + this.GitTag = &v458 } if !easy && r.Intn(10) != 0 { } @@ -40621,8 +41079,8 @@ func NewPopulatedFlag(r randyMesos, easy bool) *Flag { this := &Flag{} this.Name = string(randStringMesos(r)) if r.Intn(10) != 0 { - v455 := string(randStringMesos(r)) - this.Value = &v455 + v459 := string(randStringMesos(r)) + this.Value = &v459 } if !easy && r.Intn(10) != 0 { } @@ -40637,19 +41095,19 @@ func NewPopulatedRole(r randyMesos, easy bool) *Role { this.Weight *= -1 } if r.Intn(10) != 0 { - v456 := r.Intn(5) - this.Frameworks = make([]FrameworkID, v456) - for i := 0; i < v456; i++ { - v457 := NewPopulatedFrameworkID(r, easy) - this.Frameworks[i] = *v457 + v460 := r.Intn(5) + this.Frameworks = make([]FrameworkID, v460) + for i := 0; i < v460; i++ { + v461 := NewPopulatedFrameworkID(r, easy) + this.Frameworks[i] = *v461 } } if r.Intn(10) != 0 { - v458 := r.Intn(5) - this.Resources = make([]Resource, v458) - for i := 0; i < v458; i++ { - v459 := NewPopulatedResource(r, easy) - this.Resources[i] = *v459 + v462 := r.Intn(5) + this.Resources = make([]Resource, v462) + for i := 0; i < v462; i++ { + v463 := NewPopulatedResource(r, easy) + this.Resources[i] = *v463 } } if !easy && r.Intn(10) != 0 { @@ -40661,11 +41119,11 @@ func NewPopulatedMetric(r randyMesos, easy bool) *Metric { this := &Metric{} this.Name = string(randStringMesos(r)) if r.Intn(10) != 0 { - v460 := float64(r.Float64()) + v464 := float64(r.Float64()) if r.Intn(2) == 0 { - v460 *= -1 + v464 *= -1 } - this.Value = &v460 + this.Value = &v464 } if !easy && r.Intn(10) != 0 { } @@ -40676,30 +41134,30 @@ func NewPopulatedFileInfo(r randyMesos, easy bool) *FileInfo { this := &FileInfo{} this.Path = string(randStringMesos(r)) if r.Intn(10) != 0 { - v461 := int32(r.Int31()) + v465 := int32(r.Int31()) if r.Intn(2) == 0 { - v461 *= -1 + v465 *= -1 } - this.Nlink = &v461 + this.Nlink = &v465 } if r.Intn(10) != 0 { - v462 := uint64(uint64(r.Uint32())) - this.Size = &v462 + v466 := uint64(uint64(r.Uint32())) + this.Size = &v466 } if r.Intn(10) != 0 { this.Mtime = NewPopulatedTimeInfo(r, easy) } if r.Intn(10) != 0 { - v463 := uint32(r.Uint32()) - this.Mode = &v463 + v467 := uint32(r.Uint32()) + this.Mode = &v467 } if r.Intn(10) != 0 { - v464 := string(randStringMesos(r)) - this.UID = &v464 + v468 := string(randStringMesos(r)) + this.UID = &v468 } if r.Intn(10) != 0 { - v465 := string(randStringMesos(r)) - this.GID = &v465 + v469 := string(randStringMesos(r)) + this.GID = &v469 } if !easy && r.Intn(10) != 0 { } @@ -40709,8 +41167,8 @@ func NewPopulatedFileInfo(r randyMesos, easy bool) *FileInfo { func NewPopulatedDevice(r randyMesos, easy bool) *Device { this := &Device{} if r.Intn(10) != 0 { - v466 := string(randStringMesos(r)) - this.Path = &v466 + v470 := string(randStringMesos(r)) + this.Path = &v470 } if r.Intn(10) != 0 { this.Number = NewPopulatedDevice_Number(r, easy) @@ -40722,10 +41180,10 @@ func NewPopulatedDevice(r randyMesos, easy bool) *Device { func NewPopulatedDevice_Number(r randyMesos, easy bool) *Device_Number { this := &Device_Number{} - v467 := uint64(uint64(r.Uint32())) - this.MajorNumber = &v467 - v468 := uint64(uint64(r.Uint32())) - this.MinorNumber = &v468 + v471 := uint64(uint64(r.Uint32())) + this.MajorNumber = &v471 + v472 := uint64(uint64(r.Uint32())) + this.MinorNumber = &v472 if !easy && r.Intn(10) != 0 { } return this @@ -40733,10 +41191,10 @@ func NewPopulatedDevice_Number(r randyMesos, easy bool) *Device_Number { func NewPopulatedDeviceAccess(r randyMesos, easy bool) *DeviceAccess { this := &DeviceAccess{} - v469 := NewPopulatedDevice(r, easy) - this.Device = *v469 - v470 := NewPopulatedDeviceAccess_Access(r, easy) - this.Access = *v470 + v473 := NewPopulatedDevice(r, easy) + this.Device = *v473 + v474 := NewPopulatedDeviceAccess_Access(r, easy) + this.Access = *v474 if !easy && r.Intn(10) != 0 { } return this @@ -40745,16 +41203,16 @@ func NewPopulatedDeviceAccess(r randyMesos, easy bool) *DeviceAccess { func NewPopulatedDeviceAccess_Access(r randyMesos, easy bool) *DeviceAccess_Access { this := &DeviceAccess_Access{} if r.Intn(10) != 0 { - v471 := bool(bool(r.Intn(2) == 0)) - this.Read = &v471 + v475 := bool(bool(r.Intn(2) == 0)) + this.Read = &v475 } if r.Intn(10) != 0 { - v472 := bool(bool(r.Intn(2) == 0)) - this.Write = &v472 + v476 := bool(bool(r.Intn(2) == 0)) + this.Write = &v476 } if r.Intn(10) != 0 { - v473 := bool(bool(r.Intn(2) == 0)) - this.Mknod = &v473 + v477 := bool(bool(r.Intn(2) == 0)) + this.Mknod = &v477 } if !easy && r.Intn(10) != 0 { } @@ -40764,11 +41222,11 @@ func NewPopulatedDeviceAccess_Access(r randyMesos, easy bool) *DeviceAccess_Acce func NewPopulatedDeviceWhitelist(r randyMesos, easy bool) *DeviceWhitelist { this := &DeviceWhitelist{} if r.Intn(10) != 0 { - v474 := r.Intn(5) - this.AllowedDevices = make([]DeviceAccess, v474) - for i := 0; i < v474; i++ { - v475 := NewPopulatedDeviceAccess(r, easy) - this.AllowedDevices[i] = *v475 + v478 := r.Intn(5) + this.AllowedDevices = make([]DeviceAccess, v478) + for i := 0; i < v478; i++ { + v479 := NewPopulatedDeviceAccess(r, easy) + this.AllowedDevices[i] = *v479 } } if !easy && r.Intn(10) != 0 { @@ -40795,9 +41253,9 @@ func randUTF8RuneMesos(r randyMesos) rune { return rune(ru + 61) } func randStringMesos(r randyMesos) string { - v476 := r.Intn(100) - tmps := make([]rune, v476) - for i := 0; i < v476; i++ { + v480 := r.Intn(100) + tmps := make([]rune, v480) + for i := 0; i < v480; i++ { tmps[i] = randUTF8RuneMesos(r) } return string(tmps) @@ -40819,11 +41277,11 @@ func randFieldMesos(dAtA []byte, r randyMesos, fieldNumber int, wire int) []byte switch wire { case 0: dAtA = encodeVarintPopulateMesos(dAtA, uint64(key)) - v477 := r.Int63() + v481 := r.Int63() if r.Intn(2) == 0 { - v477 *= -1 + v481 *= -1 } - dAtA = encodeVarintPopulateMesos(dAtA, uint64(v477)) + dAtA = encodeVarintPopulateMesos(dAtA, uint64(v481)) case 1: dAtA = encodeVarintPopulateMesos(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))) @@ -42565,6 +43023,14 @@ func (m *Offer_Operation) ProtoSize() (n int) { l = m.ID.ProtoSize() n += 1 + l + sovMesos(uint64(l)) } + if m.GrowVolume != nil { + l = m.GrowVolume.ProtoSize() + n += 1 + l + sovMesos(uint64(l)) + } + if m.ShrinkVolume != nil { + l = m.ShrinkVolume.ProtoSize() + n += 1 + l + sovMesos(uint64(l)) + } return n } @@ -42638,6 +43104,26 @@ func (m *Offer_Operation_Destroy) ProtoSize() (n int) { return n } +func (m *Offer_Operation_GrowVolume) ProtoSize() (n int) { + var l int + _ = l + l = m.Volume.ProtoSize() + n += 1 + l + sovMesos(uint64(l)) + l = m.Addition.ProtoSize() + n += 1 + l + sovMesos(uint64(l)) + return n +} + +func (m *Offer_Operation_ShrinkVolume) ProtoSize() (n int) { + var l int + _ = l + l = m.Volume.ProtoSize() + n += 1 + l + sovMesos(uint64(l)) + l = m.Subtract.ProtoSize() + n += 1 + l + sovMesos(uint64(l)) + return n +} + func (m *Offer_Operation_CreateVolume) ProtoSize() (n int) { var l int _ = l @@ -42748,6 +43234,10 @@ func (m *TaskInfo) ProtoSize() (n int) { l = m.Check.ProtoSize() n += 1 + l + sovMesos(uint64(l)) } + if m.MaxCompletionTime != nil { + l = m.MaxCompletionTime.ProtoSize() + n += 1 + l + sovMesos(uint64(l)) + } return n } @@ -45022,6 +45512,8 @@ func (this *Offer_Operation) String() string { `CreateBlock:` + strings.Replace(fmt.Sprintf("%v", this.CreateBlock), "Offer_Operation_CreateBlock", "Offer_Operation_CreateBlock", 1) + `,`, `DestroyBlock:` + strings.Replace(fmt.Sprintf("%v", this.DestroyBlock), "Offer_Operation_DestroyBlock", "Offer_Operation_DestroyBlock", 1) + `,`, `ID:` + strings.Replace(fmt.Sprintf("%v", this.ID), "OperationID", "OperationID", 1) + `,`, + `GrowVolume:` + strings.Replace(fmt.Sprintf("%v", this.GrowVolume), "Offer_Operation_GrowVolume", "Offer_Operation_GrowVolume", 1) + `,`, + `ShrinkVolume:` + strings.Replace(fmt.Sprintf("%v", this.ShrinkVolume), "Offer_Operation_ShrinkVolume", "Offer_Operation_ShrinkVolume", 1) + `,`, `}`, }, "") return s @@ -45087,6 +45579,28 @@ func (this *Offer_Operation_Destroy) String() string { }, "") return s } +func (this *Offer_Operation_GrowVolume) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Offer_Operation_GrowVolume{`, + `Volume:` + strings.Replace(strings.Replace(this.Volume.String(), "Resource", "Resource", 1), `&`, ``, 1) + `,`, + `Addition:` + strings.Replace(strings.Replace(this.Addition.String(), "Resource", "Resource", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *Offer_Operation_ShrinkVolume) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Offer_Operation_ShrinkVolume{`, + `Volume:` + strings.Replace(strings.Replace(this.Volume.String(), "Resource", "Resource", 1), `&`, ``, 1) + `,`, + `Subtract:` + strings.Replace(strings.Replace(this.Subtract.String(), "Value_Scalar", "Value_Scalar", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} func (this *Offer_Operation_CreateVolume) String() string { if this == nil { return "nil" @@ -45161,6 +45675,7 @@ func (this *TaskInfo) String() string { `Discovery:` + strings.Replace(fmt.Sprintf("%v", this.Discovery), "DiscoveryInfo", "DiscoveryInfo", 1) + `,`, `KillPolicy:` + strings.Replace(fmt.Sprintf("%v", this.KillPolicy), "KillPolicy", "KillPolicy", 1) + `,`, `Check:` + strings.Replace(fmt.Sprintf("%v", this.Check), "CheckInfo", "CheckInfo", 1) + `,`, + `MaxCompletionTime:` + strings.Replace(fmt.Sprintf("%v", this.MaxCompletionTime), "DurationInfo", "DurationInfo", 1) + `,`, `}`, }, "") return s @@ -59753,49 +60268,311 @@ func (m *Offer_Operation) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.CreateBlock == nil { - m.CreateBlock = &Offer_Operation_CreateBlock{} - } - if err := m.CreateBlock.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DestroyBlock", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowMesos - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthMesos - } - postIndex := iNdEx + msglen - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.DestroyBlock == nil { - m.DestroyBlock = &Offer_Operation_DestroyBlock{} - } - if err := m.DestroyBlock.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.CreateBlock == nil { + m.CreateBlock = &Offer_Operation_CreateBlock{} + } + if err := m.CreateBlock.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DestroyBlock", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMesos + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMesos + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.DestroyBlock == nil { + m.DestroyBlock = &Offer_Operation_DestroyBlock{} + } + if err := m.DestroyBlock.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMesos + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMesos + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ID == nil { + m.ID = &OperationID{} + } + if err := m.ID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GrowVolume", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMesos + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMesos + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.GrowVolume == nil { + m.GrowVolume = &Offer_Operation_GrowVolume{} + } + if err := m.GrowVolume.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ShrinkVolume", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMesos + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMesos + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ShrinkVolume == nil { + m.ShrinkVolume = &Offer_Operation_ShrinkVolume{} + } + if err := m.ShrinkVolume.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipMesos(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthMesos + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Offer_Operation_Launch) 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 ErrIntOverflowMesos + } + 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: Launch: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Launch: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TaskInfos", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMesos + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMesos + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TaskInfos = append(m.TaskInfos, TaskInfo{}) + if err := m.TaskInfos[len(m.TaskInfos)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipMesos(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthMesos + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Offer_Operation_LaunchGroup) 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 ErrIntOverflowMesos + } + 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: LaunchGroup: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: LaunchGroup: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Executor", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMesos + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMesos + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Executor.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 12: + hasFields[0] |= uint64(0x00000001) + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TaskGroup", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -59819,13 +60596,11 @@ func (m *Offer_Operation) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ID == nil { - m.ID = &OperationID{} - } - if err := m.ID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.TaskGroup.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + hasFields[0] |= uint64(0x00000002) default: iNdEx = preIndex skippy, err := skipMesos(dAtA[iNdEx:]) @@ -59841,13 +60616,19 @@ func (m *Offer_Operation) Unmarshal(dAtA []byte) error { iNdEx += skippy } } + if hasFields[0]&uint64(0x00000001) == 0 { + return github_com_gogo_protobuf_proto.NewRequiredNotSetError("executor") + } + if hasFields[0]&uint64(0x00000002) == 0 { + return github_com_gogo_protobuf_proto.NewRequiredNotSetError("task_group") + } if iNdEx > l { return io.ErrUnexpectedEOF } return nil } -func (m *Offer_Operation_Launch) Unmarshal(dAtA []byte) error { +func (m *Offer_Operation_Reserve) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -59870,15 +60651,15 @@ func (m *Offer_Operation_Launch) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Launch: wiretype end group for non-group") + return fmt.Errorf("proto: Reserve: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Launch: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Reserve: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TaskInfos", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Resources", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -59902,8 +60683,8 @@ func (m *Offer_Operation_Launch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.TaskInfos = append(m.TaskInfos, TaskInfo{}) - if err := m.TaskInfos[len(m.TaskInfos)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Resources = append(m.Resources, Resource{}) + if err := m.Resources[len(m.Resources)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -59928,8 +60709,7 @@ func (m *Offer_Operation_Launch) Unmarshal(dAtA []byte) error { } return nil } -func (m *Offer_Operation_LaunchGroup) Unmarshal(dAtA []byte) error { - var hasFields [1]uint64 +func (m *Offer_Operation_Unreserve) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -59952,46 +60732,15 @@ func (m *Offer_Operation_LaunchGroup) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: LaunchGroup: wiretype end group for non-group") + return fmt.Errorf("proto: Unreserve: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: LaunchGroup: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Unreserve: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Executor", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowMesos - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthMesos - } - postIndex := iNdEx + msglen - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Executor.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 TaskGroup", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Resources", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -60015,11 +60764,11 @@ func (m *Offer_Operation_LaunchGroup) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.TaskGroup.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Resources = append(m.Resources, Resource{}) + if err := m.Resources[len(m.Resources)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - hasFields[0] |= uint64(0x00000002) default: iNdEx = preIndex skippy, err := skipMesos(dAtA[iNdEx:]) @@ -60035,19 +60784,13 @@ func (m *Offer_Operation_LaunchGroup) Unmarshal(dAtA []byte) error { iNdEx += skippy } } - if hasFields[0]&uint64(0x00000001) == 0 { - return github_com_gogo_protobuf_proto.NewRequiredNotSetError("executor") - } - if hasFields[0]&uint64(0x00000002) == 0 { - return github_com_gogo_protobuf_proto.NewRequiredNotSetError("task_group") - } if iNdEx > l { return io.ErrUnexpectedEOF } return nil } -func (m *Offer_Operation_Reserve) Unmarshal(dAtA []byte) error { +func (m *Offer_Operation_Create) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -60070,15 +60813,15 @@ func (m *Offer_Operation_Reserve) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Reserve: wiretype end group for non-group") + return fmt.Errorf("proto: Create: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Reserve: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Create: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Resources", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Volumes", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -60102,8 +60845,8 @@ func (m *Offer_Operation_Reserve) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Resources = append(m.Resources, Resource{}) - if err := m.Resources[len(m.Resources)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Volumes = append(m.Volumes, Resource{}) + if err := m.Volumes[len(m.Volumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -60128,7 +60871,7 @@ func (m *Offer_Operation_Reserve) Unmarshal(dAtA []byte) error { } return nil } -func (m *Offer_Operation_Unreserve) Unmarshal(dAtA []byte) error { +func (m *Offer_Operation_Destroy) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -60151,15 +60894,15 @@ func (m *Offer_Operation_Unreserve) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Unreserve: wiretype end group for non-group") + return fmt.Errorf("proto: Destroy: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Unreserve: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Destroy: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Resources", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Volumes", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -60183,8 +60926,8 @@ func (m *Offer_Operation_Unreserve) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Resources = append(m.Resources, Resource{}) - if err := m.Resources[len(m.Resources)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Volumes = append(m.Volumes, Resource{}) + if err := m.Volumes[len(m.Volumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -60209,7 +60952,8 @@ func (m *Offer_Operation_Unreserve) Unmarshal(dAtA []byte) error { } return nil } -func (m *Offer_Operation_Create) Unmarshal(dAtA []byte) error { +func (m *Offer_Operation_GrowVolume) Unmarshal(dAtA []byte) error { + var hasFields [1]uint64 l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -60232,15 +60976,15 @@ func (m *Offer_Operation_Create) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Create: wiretype end group for non-group") + return fmt.Errorf("proto: GrowVolume: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Create: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: GrowVolume: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Volumes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Volume", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -60264,11 +61008,42 @@ func (m *Offer_Operation_Create) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Volumes = append(m.Volumes, Resource{}) - if err := m.Volumes[len(m.Volumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Volume.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 Addition", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMesos + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMesos + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Addition.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + hasFields[0] |= uint64(0x00000002) default: iNdEx = preIndex skippy, err := skipMesos(dAtA[iNdEx:]) @@ -60284,13 +61059,20 @@ func (m *Offer_Operation_Create) Unmarshal(dAtA []byte) error { iNdEx += skippy } } + if hasFields[0]&uint64(0x00000001) == 0 { + return github_com_gogo_protobuf_proto.NewRequiredNotSetError("volume") + } + if hasFields[0]&uint64(0x00000002) == 0 { + return github_com_gogo_protobuf_proto.NewRequiredNotSetError("addition") + } if iNdEx > l { return io.ErrUnexpectedEOF } return nil } -func (m *Offer_Operation_Destroy) Unmarshal(dAtA []byte) error { +func (m *Offer_Operation_ShrinkVolume) Unmarshal(dAtA []byte) error { + var hasFields [1]uint64 l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -60313,15 +61095,15 @@ func (m *Offer_Operation_Destroy) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Destroy: wiretype end group for non-group") + return fmt.Errorf("proto: ShrinkVolume: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Destroy: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ShrinkVolume: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Volumes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Volume", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -60345,11 +61127,42 @@ func (m *Offer_Operation_Destroy) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Volumes = append(m.Volumes, Resource{}) - if err := m.Volumes[len(m.Volumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Volume.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 Subtract", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMesos + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMesos + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Subtract.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + hasFields[0] |= uint64(0x00000002) default: iNdEx = preIndex skippy, err := skipMesos(dAtA[iNdEx:]) @@ -60365,6 +61178,12 @@ func (m *Offer_Operation_Destroy) Unmarshal(dAtA []byte) error { iNdEx += skippy } } + if hasFields[0]&uint64(0x00000001) == 0 { + return github_com_gogo_protobuf_proto.NewRequiredNotSetError("volume") + } + if hasFields[0]&uint64(0x00000002) == 0 { + return github_com_gogo_protobuf_proto.NewRequiredNotSetError("subtract") + } if iNdEx > l { return io.ErrUnexpectedEOF @@ -61432,6 +62251,39 @@ func (m *TaskInfo) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MaxCompletionTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMesos + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMesos + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.MaxCompletionTime == nil { + m.MaxCompletionTime = &DurationInfo{} + } + if err := m.MaxCompletionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipMesos(dAtA[iNdEx:]) @@ -71481,748 +72333,762 @@ var ( func init() { proto.RegisterFile("mesos.proto", fileDescriptorMesos) } var fileDescriptorMesos = []byte{ - // 11888 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0xbd, 0x4d, 0x90, 0x1b, 0x49, - 0x76, 0x18, 0x3c, 0xf8, 0x07, 0x1e, 0x80, 0xee, 0x62, 0x36, 0xd9, 0xd3, 0x04, 0xc9, 0x6e, 0x0e, - 0x86, 0xe4, 0x90, 0x43, 0x0e, 0xc9, 0xe1, 0x0c, 0x67, 0x87, 0x9c, 0x9d, 0x99, 0x45, 0x03, 0xd5, - 0xdd, 0xb5, 0xc4, 0xdf, 0x26, 0x00, 0x72, 0x66, 0x43, 0x11, 0x88, 0x6a, 0xa0, 0xba, 0xbb, 0x44, - 0x00, 0x85, 0xa9, 0x2a, 0x34, 0xc9, 0xbd, 0x7c, 0xfb, 0x7d, 0x9f, 0x64, 0xaf, 0x64, 0xc9, 0xe1, - 0x83, 0xff, 0x64, 0xeb, 0x60, 0x87, 0x0e, 0xd6, 0xc1, 0x52, 0x48, 0x0a, 0x87, 0x43, 0xe1, 0x90, - 0x7f, 0x0e, 0xb2, 0xa5, 0x9b, 0xa5, 0x9b, 0x4e, 0xb4, 0xb6, 0x25, 0x87, 0x25, 0x5b, 0xb6, 0xd6, - 0x92, 0x6c, 0xc9, 0x96, 0x2c, 0x3b, 0xf2, 0xb7, 0xb2, 0x00, 0x34, 0xba, 0x39, 0x2b, 0x85, 0x4f, - 0x40, 0xbe, 0x7c, 0xef, 0x65, 0xe6, 0xcb, 0x97, 0x99, 0xef, 0x65, 0x66, 0xbd, 0x84, 0xec, 0xd0, - 0xf2, 0x1c, 0xef, 0xf6, 0xd8, 0x75, 0x7c, 0x07, 0x25, 0x68, 0xa2, 0xf0, 0xce, 0xbe, 0xed, 0x1f, - 0x4c, 0x76, 0x6f, 0xf7, 0x9c, 0xe1, 0x9d, 0x7d, 0x67, 0xdf, 0xb9, 0x43, 0x73, 0x77, 0x27, 0x7b, - 0x34, 0x45, 0x13, 0xf4, 0x1f, 0xa3, 0x2a, 0xde, 0x80, 0xec, 0x96, 0x6b, 0x0e, 0xad, 0x67, 0x8e, - 0xfb, 0xd4, 0xa8, 0xa0, 0x02, 0x24, 0x0e, 0xcd, 0xc1, 0xc4, 0x5a, 0x8b, 0x5c, 0x8e, 0x5e, 0xcf, - 0x6c, 0xc6, 0x7f, 0xf5, 0xe5, 0xc6, 0x6b, 0x98, 0x81, 0x8a, 0x57, 0x21, 0xd5, 0xd8, 0xdb, 0xb3, - 0xdc, 0x93, 0xd1, 0x4a, 0xfb, 0xd6, 0xc8, 0x3f, 0x01, 0xed, 0x0a, 0x24, 0xdb, 0xa6, 0x77, 0x52, - 0x99, 0xd7, 0x01, 0xf4, 0xe7, 0x56, 0x6f, 0xe2, 0x3b, 0x27, 0x15, 0xdb, 0x81, 0x6c, 0xd9, 0x19, - 0xf9, 0xa6, 0x3d, 0x3a, 0xa9, 0x86, 0xe8, 0x6d, 0x48, 0x8e, 0x4d, 0xd7, 0x1a, 0xf9, 0x6b, 0xd1, - 0xcb, 0x91, 0xeb, 0xd9, 0x7b, 0xe8, 0x36, 0x93, 0xa3, 0x42, 0x8f, 0x39, 0x46, 0xf1, 0x2e, 0x20, - 0x6c, 0x79, 0xce, 0xc4, 0xed, 0x59, 0x4d, 0xd7, 0x39, 0xb4, 0xfb, 0x27, 0xb6, 0xff, 0x06, 0x64, - 0x1b, 0x63, 0xcb, 0x35, 0x7d, 0xdb, 0x19, 0x9d, 0x80, 0x7a, 0x0f, 0xd2, 0x6d, 0x7b, 0x68, 0x19, - 0xa3, 0x3d, 0x07, 0x5d, 0x83, 0xec, 0xc8, 0x1c, 0x39, 0x9e, 0xd5, 0x73, 0x46, 0x7d, 0x8f, 0x62, - 0xc7, 0x38, 0xb6, 0x9a, 0x51, 0xfc, 0x00, 0x72, 0x95, 0x09, 0xe7, 0xfe, 0x2a, 0x74, 0x4f, 0x20, - 0x55, 0xea, 0xf7, 0x5d, 0xcb, 0xf3, 0x50, 0x01, 0xd2, 0x07, 0x8e, 0xe7, 0x8f, 0xcc, 0x21, 0xa9, - 0x55, 0xe4, 0x7a, 0x06, 0xcb, 0x34, 0x5a, 0x85, 0xa8, 0x3d, 0xa6, 0x72, 0xc9, 0x6c, 0x26, 0x8f, - 0x5e, 0x6e, 0x44, 0x8d, 0x26, 0x8e, 0xda, 0x63, 0xb4, 0x06, 0xf1, 0xb1, 0xe3, 0xfa, 0x6b, 0xb1, - 0xcb, 0xd1, 0xeb, 0x09, 0xce, 0x9f, 0x42, 0x8a, 0x3f, 0x1f, 0x81, 0x58, 0x07, 0x57, 0xd1, 0x45, - 0x48, 0x7a, 0xbd, 0x03, 0x6b, 0x18, 0x6e, 0x29, 0x87, 0xa1, 0xdb, 0x90, 0x32, 0x59, 0xf1, 0x6b, - 0xd1, 0xcb, 0xd1, 0xeb, 0xd9, 0x7b, 0x4b, 0x5c, 0xe8, 0xbc, 0x52, 0x1c, 0x5d, 0x20, 0x21, 0x04, - 0xf1, 0xb1, 0xe9, 0x1f, 0xac, 0xc5, 0x68, 0xfd, 0xe8, 0x7f, 0x74, 0x0b, 0x12, 0x5f, 0x4c, 0x2c, - 0xf7, 0xc5, 0x5a, 0xfc, 0x72, 0xec, 0x7a, 0xf6, 0x9e, 0xc6, 0x39, 0x34, 0x4d, 0xa2, 0xc0, 0xbe, - 0xe5, 0x0a, 0xe1, 0x52, 0x24, 0xd2, 0xca, 0x3d, 0xd7, 0xdc, 0x1f, 0x92, 0x7e, 0x4e, 0xb0, 0x56, - 0x8a, 0x74, 0x71, 0x04, 0x4b, 0x9d, 0x91, 0x79, 0x68, 0xda, 0x03, 0x73, 0xd7, 0x1e, 0xd8, 0xfe, - 0x0b, 0x74, 0x13, 0x12, 0x9e, 0x6f, 0xba, 0x3e, 0xad, 0x7c, 0xf6, 0xde, 0x32, 0xe7, 0x2d, 0xba, - 0x47, 0xb0, 0xa6, 0x38, 0xe8, 0x0e, 0xa4, 0xfb, 0xbc, 0x0f, 0xb8, 0x0a, 0xad, 0x70, 0x7c, 0xb5, - 0x6b, 0xb0, 0x44, 0x2a, 0x7e, 0x0a, 0x99, 0x9a, 0xd9, 0x3b, 0xb0, 0x47, 0x16, 0xd5, 0x88, 0x57, - 0x16, 0x7f, 0xf1, 0xdf, 0x46, 0x20, 0x2b, 0x38, 0x90, 0x5e, 0xbf, 0x05, 0x51, 0xbb, 0xcf, 0xeb, - 0x2a, 0xe4, 0x20, 0x4b, 0xd8, 0x04, 0x52, 0x59, 0x4a, 0x5d, 0xc1, 0x51, 0xbb, 0x8f, 0x6e, 0x42, - 0x7c, 0xe8, 0xf4, 0x2d, 0xca, 0x77, 0xe9, 0xde, 0xeb, 0x53, 0xf8, 0xa3, 0x3d, 0xe7, 0x76, 0xcd, - 0xe9, 0x5b, 0x98, 0x22, 0xa1, 0x8f, 0x61, 0x69, 0x12, 0x92, 0x0d, 0xed, 0x83, 0xec, 0xbd, 0x73, - 0x9c, 0x2c, 0x2c, 0x38, 0x3c, 0x85, 0x5c, 0xbc, 0x06, 0x71, 0xc2, 0x0c, 0x25, 0x21, 0xda, 0x69, - 0x6a, 0x11, 0x94, 0x83, 0x74, 0x05, 0x97, 0x8c, 0xba, 0x51, 0xdf, 0xd6, 0xa2, 0x28, 0x0d, 0xf1, - 0x4a, 0xe3, 0x49, 0x5d, 0x8b, 0x15, 0x7f, 0x3b, 0x01, 0xf9, 0x60, 0xe6, 0x21, 0x6d, 0x5a, 0x83, - 0xf8, 0xc4, 0xb3, 0xdc, 0x90, 0xfa, 0x50, 0x08, 0xc9, 0xa1, 0xd2, 0x8a, 0xaa, 0x39, 0x54, 0x5e, - 0x6f, 0x53, 0x39, 0xc4, 0x42, 0xc3, 0x58, 0x99, 0xcf, 0xb8, 0x0c, 0x99, 0x14, 0x6e, 0x81, 0xb6, - 0x67, 0xda, 0x03, 0xe7, 0xd0, 0x72, 0xbb, 0xbe, 0x3d, 0xb4, 0x9c, 0x89, 0xbf, 0x16, 0xbf, 0x1c, - 0xb9, 0x1e, 0x79, 0x18, 0xb9, 0x8b, 0x97, 0x45, 0x56, 0x9b, 0xe5, 0xa0, 0xab, 0x00, 0xbd, 0x03, - 0xab, 0xf7, 0x74, 0xec, 0xd8, 0x5c, 0x81, 0xd2, 0x0f, 0x13, 0x7b, 0xe6, 0xc0, 0xb3, 0xb0, 0x92, - 0x81, 0xce, 0x43, 0xdc, 0x75, 0x06, 0xd6, 0x5a, 0x92, 0x74, 0xd9, 0xc3, 0xc8, 0xdb, 0x9b, 0xd1, - 0xb5, 0x08, 0xa6, 0xa0, 0x50, 0x3f, 0xa7, 0xa6, 0xfa, 0xf9, 0x22, 0x64, 0xc6, 0xae, 0x3d, 0xea, - 0xd9, 0x63, 0x73, 0xb0, 0x96, 0xa6, 0x99, 0x01, 0x00, 0xdd, 0x80, 0xcc, 0x33, 0x6b, 0x77, 0x62, - 0x77, 0x27, 0xee, 0x60, 0x2d, 0x43, 0x95, 0x21, 0x77, 0xf4, 0x72, 0x23, 0xfd, 0xc4, 0xda, 0xed, - 0xd8, 0x1d, 0x5c, 0xc5, 0x69, 0x9a, 0xdd, 0x71, 0x07, 0xc8, 0x80, 0x5c, 0xcf, 0x1c, 0x33, 0xe1, - 0xdb, 0x96, 0xb7, 0x06, 0x74, 0x68, 0x6c, 0xcc, 0x88, 0x82, 0x74, 0x72, 0x59, 0x20, 0xbe, 0xe0, - 0x32, 0x0c, 0x91, 0xa2, 0xab, 0x90, 0x1c, 0x98, 0xbb, 0xd6, 0xc0, 0x5b, 0xcb, 0x52, 0x79, 0xe6, - 0x39, 0x93, 0x2a, 0x05, 0x62, 0x9e, 0x89, 0xce, 0x42, 0x82, 0x34, 0xcf, 0x5b, 0xcb, 0x5d, 0x8e, - 0x5d, 0xcf, 0x60, 0x96, 0x28, 0xfc, 0xad, 0x28, 0x40, 0xc0, 0x1f, 0x7d, 0x02, 0x71, 0xff, 0xc5, - 0x98, 0xe9, 0xf7, 0xd2, 0xbd, 0x2b, 0x27, 0x54, 0xe7, 0x76, 0xfb, 0xc5, 0xd8, 0x12, 0xfd, 0x4a, - 0xe8, 0x8a, 0xff, 0x26, 0x02, 0x71, 0x02, 0x44, 0x59, 0x48, 0x75, 0xea, 0x8f, 0xea, 0x44, 0x67, - 0x5e, 0x43, 0xaf, 0xc3, 0x0a, 0xd6, 0x1f, 0x37, 0xca, 0xa5, 0xcd, 0xaa, 0xde, 0xc5, 0x7a, 0xab, - 0xd1, 0xc1, 0x65, 0xbd, 0xa5, 0x45, 0xd0, 0x2a, 0xa0, 0x76, 0xa9, 0xf5, 0xa8, 0xfb, 0xc8, 0xa8, - 0x56, 0x8d, 0xfa, 0x76, 0xb7, 0xd5, 0x2e, 0xb5, 0x75, 0x2d, 0x8a, 0xce, 0x40, 0x7e, 0xbb, 0xd9, - 0x51, 0x50, 0x63, 0xe8, 0x2c, 0x68, 0xad, 0x9d, 0x12, 0xd6, 0x2b, 0x0a, 0x34, 0x8e, 0x56, 0x60, - 0xb9, 0x59, 0xc2, 0x6d, 0xa3, 0x6d, 0x34, 0xea, 0xdd, 0xd2, 0x93, 0x12, 0xd6, 0xb5, 0x04, 0x5a, - 0x02, 0xa8, 0x75, 0xaa, 0x6d, 0xa3, 0x8b, 0x1b, 0x55, 0x5d, 0x4b, 0xa2, 0x02, 0xac, 0x62, 0xbd, - 0xa5, 0xe3, 0xc7, 0x25, 0x8a, 0x86, 0xf5, 0x2d, 0xa3, 0xae, 0xd7, 0xf4, 0x7a, 0x5b, 0x4b, 0x21, - 0x0d, 0x72, 0x58, 0xdf, 0x0e, 0xa8, 0xd3, 0x85, 0xf8, 0x77, 0x7e, 0x6a, 0x3d, 0x52, 0xfc, 0xc7, - 0x71, 0xc8, 0x94, 0x89, 0xba, 0x50, 0x15, 0xbf, 0x13, 0x12, 0x8b, 0x18, 0x51, 0x32, 0x7f, 0x46, - 0x0e, 0xe8, 0x1e, 0xa4, 0x7a, 0xce, 0x70, 0x68, 0x8e, 0xfa, 0x7c, 0xa2, 0x59, 0x9b, 0xa1, 0x29, - 0xb3, 0x7c, 0x2c, 0x10, 0xd1, 0x7b, 0x10, 0x3f, 0xf0, 0xfd, 0xf1, 0xd4, 0xb0, 0x0d, 0x08, 0x76, - 0x7c, 0x7f, 0xbc, 0x99, 0x3e, 0x7a, 0xb9, 0x11, 0xdf, 0x69, 0xb7, 0x9b, 0x98, 0x22, 0xa3, 0xb7, - 0x20, 0xdf, 0xb7, 0x06, 0xe6, 0x8b, 0xae, 0x58, 0x48, 0xd8, 0xc8, 0x88, 0xbe, 0x7b, 0x1f, 0xe7, - 0x68, 0x46, 0x8b, 0xc1, 0xd1, 0x3b, 0xa0, 0xd9, 0x23, 0xdf, 0x72, 0x0f, 0xcd, 0x81, 0xc4, 0x4d, - 0x70, 0xdc, 0xbb, 0x78, 0x59, 0xe4, 0x09, 0xf4, 0x9b, 0xb0, 0xcc, 0xc7, 0x9a, 0xc4, 0x4e, 0x32, - 0xec, 0x7b, 0x77, 0xf1, 0x12, 0xcf, 0x12, 0xc8, 0x77, 0x20, 0xe6, 0xf7, 0xc6, 0x74, 0xb0, 0x64, - 0xef, 0x9d, 0x9d, 0x95, 0x4e, 0x6f, 0xbc, 0x99, 0x3a, 0x7a, 0xb9, 0x11, 0x6b, 0x97, 0x9b, 0x98, - 0x60, 0x16, 0x3e, 0x86, 0x14, 0x6f, 0xbe, 0x2a, 0x29, 0x36, 0x2d, 0x06, 0xab, 0x3a, 0x85, 0x2a, - 0xb3, 0xb8, 0x40, 0x2c, 0xbc, 0x0f, 0x71, 0x22, 0x0c, 0xb9, 0xb8, 0x11, 0xc2, 0xbc, 0xba, 0xb8, - 0xc9, 0x65, 0x28, 0x1a, 0x2c, 0x43, 0x85, 0x0d, 0x88, 0xb5, 0x7b, 0x0b, 0x88, 0x8a, 0x0f, 0xe6, - 0xe9, 0x6e, 0x16, 0x52, 0xe5, 0x46, 0xad, 0x56, 0xaa, 0x57, 0xb4, 0x08, 0x99, 0x06, 0x89, 0xec, - 0xb5, 0x28, 0x4a, 0x01, 0x69, 0x8d, 0x16, 0xe3, 0xea, 0xf2, 0x0b, 0x49, 0xc8, 0xee, 0x58, 0xe6, - 0xc0, 0x3f, 0xa0, 0xcd, 0x26, 0xe3, 0x88, 0xf6, 0x65, 0x84, 0x8a, 0xe4, 0x32, 0x6f, 0x92, 0x82, - 0x71, 0x9b, 0xf0, 0x91, 0x22, 0x3a, 0xb9, 0x5b, 0xa3, 0xaf, 0xd0, 0xad, 0xb1, 0x57, 0xea, 0xd6, - 0xf8, 0xb1, 0xdd, 0xfa, 0x3e, 0x9c, 0xed, 0x39, 0x23, 0x8f, 0x98, 0x71, 0xf6, 0xa1, 0xd5, 0x25, - 0x33, 0xed, 0xc4, 0xb5, 0x98, 0xda, 0xe4, 0x1f, 0x46, 0xde, 0xc3, 0x2b, 0x4a, 0xf6, 0x16, 0xcf, - 0x25, 0x54, 0xfb, 0xae, 0xd9, 0xb3, 0xba, 0x63, 0xcb, 0xb5, 0x9d, 0xfe, 0xb4, 0xfa, 0xbc, 0x7b, - 0x17, 0x23, 0x9a, 0xdf, 0xa4, 0xd9, 0xa2, 0xac, 0x5b, 0x81, 0x1a, 0xa4, 0xa6, 0x8c, 0x3b, 0xa9, - 0x06, 0xc1, 0x50, 0x79, 0x97, 0x8f, 0xc7, 0x74, 0x68, 0x61, 0x54, 0xc5, 0x3b, 0x33, 0x22, 0x1f, - 0x32, 0x1d, 0xcd, 0x50, 0xe6, 0x1b, 0xf3, 0x28, 0xca, 0x4a, 0x7f, 0x84, 0xd5, 0xf5, 0xe7, 0x22, - 0x90, 0x0f, 0xf5, 0xd7, 0xab, 0x69, 0x1e, 0x5a, 0x95, 0x26, 0x16, 0x33, 0x8b, 0x84, 0x71, 0x55, - 0x80, 0xb4, 0xe7, 0x9b, 0xfe, 0xc4, 0xb3, 0x3c, 0x6a, 0x1b, 0xe5, 0xb1, 0x4c, 0xa3, 0x8f, 0x21, - 0x4d, 0x2d, 0xfd, 0x9e, 0x33, 0xa0, 0x02, 0x5f, 0xba, 0x77, 0x81, 0x57, 0xba, 0x6e, 0xf9, 0x72, - 0x2e, 0x6e, 0x72, 0x94, 0x87, 0x71, 0xa3, 0x79, 0xf8, 0x3e, 0x96, 0x24, 0x85, 0x7d, 0xc8, 0xa9, - 0x0d, 0x5a, 0x50, 0x61, 0xb5, 0xa0, 0xe8, 0x2b, 0x17, 0xf4, 0xfd, 0x0c, 0x9a, 0x0a, 0xc0, 0x23, - 0x7b, 0x30, 0x68, 0x3a, 0x03, 0xbb, 0xf7, 0x02, 0x7d, 0x00, 0x39, 0x55, 0x6f, 0xf8, 0xd0, 0x99, - 0x6b, 0xa0, 0x65, 0x15, 0x05, 0x2a, 0xfe, 0x59, 0x94, 0x78, 0x10, 0x52, 0x49, 0xd0, 0x87, 0x10, - 0x9f, 0xb8, 0x36, 0xb1, 0xa8, 0xc9, 0x8a, 0xba, 0x3a, 0xab, 0x46, 0xb7, 0x3b, 0xd8, 0xd8, 0xcc, - 0x71, 0x53, 0x2b, 0xde, 0xc1, 0x86, 0x87, 0x29, 0x05, 0x7a, 0x1f, 0xb2, 0xd6, 0xe8, 0xd0, 0x76, - 0x9d, 0xd1, 0x70, 0xd6, 0xc9, 0xd0, 0x83, 0x1c, 0xac, 0xa2, 0x91, 0x75, 0x95, 0x39, 0x0a, 0xac, - 0x6f, 0xb9, 0xaf, 0x82, 0xb8, 0x51, 0xc4, 0x2c, 0x58, 0x66, 0x0e, 0x15, 0x20, 0xe1, 0x1d, 0x58, - 0x83, 0x01, 0x1d, 0x0a, 0xe9, 0x87, 0x71, 0xdf, 0x9d, 0x58, 0x98, 0x81, 0x88, 0x61, 0x61, 0xba, - 0xfb, 0x13, 0xc2, 0xd1, 0x5b, 0x4b, 0xd1, 0x15, 0x3a, 0x00, 0x14, 0xfe, 0x2e, 0xb5, 0xd5, 0x8d, - 0x85, 0xde, 0xd1, 0x3a, 0x80, 0x45, 0x5d, 0x2e, 0x73, 0x77, 0xc0, 0x4c, 0xc6, 0x34, 0x56, 0x20, - 0x68, 0x1d, 0x52, 0xd6, 0x73, 0xdf, 0x35, 0x7b, 0x3e, 0xad, 0xa9, 0x28, 0x5f, 0x00, 0x49, 0x3b, - 0x7a, 0x66, 0xef, 0xc0, 0xa2, 0x13, 0x42, 0x1a, 0xb3, 0x04, 0xda, 0x80, 0xac, 0x33, 0xf1, 0xc7, - 0x13, 0xbf, 0xbb, 0x67, 0x0f, 0x2c, 0xde, 0x1c, 0x60, 0xa0, 0x2d, 0x7b, 0x60, 0x15, 0x7f, 0x38, - 0x01, 0x39, 0xe9, 0xea, 0x11, 0xf9, 0x6f, 0x41, 0xd6, 0xe2, 0xe9, 0xae, 0xb4, 0x75, 0xcf, 0x08, - 0x29, 0x4a, 0xa7, 0x70, 0x13, 0xf1, 0x1e, 0x50, 0x1c, 0x45, 0x51, 0x5f, 0xc7, 0x35, 0xfa, 0x44, - 0x82, 0x7d, 0xd3, 0x37, 0x69, 0x75, 0x72, 0x98, 0xfe, 0x47, 0xef, 0x41, 0xc6, 0xe5, 0x5e, 0x1d, - 0x99, 0x86, 0x62, 0x8a, 0xc5, 0x2f, 0xbc, 0x3d, 0x2e, 0x94, 0x00, 0xef, 0x15, 0xa7, 0x96, 0x2d, - 0xc8, 0xed, 0x09, 0x73, 0x87, 0xd4, 0x3f, 0x7d, 0xac, 0x8d, 0xba, 0x7c, 0xf4, 0x72, 0x43, 0x75, - 0xc2, 0x71, 0x56, 0x12, 0xb2, 0xea, 0x53, 0x0b, 0x32, 0xc3, 0x14, 0x80, 0x5a, 0x8f, 0x05, 0x48, - 0xb2, 0x4a, 0xad, 0x01, 0x35, 0x0e, 0x89, 0xcd, 0xc9, 0x21, 0xe8, 0x1e, 0x64, 0x7a, 0xc2, 0x8f, - 0xe5, 0x86, 0xdc, 0xd9, 0x19, 0xff, 0x96, 0xd4, 0x34, 0x40, 0x23, 0x34, 0x7d, 0xdb, 0xeb, 0x11, - 0xf3, 0xf7, 0xc5, 0x5a, 0x2e, 0x44, 0x53, 0x11, 0x70, 0x46, 0x23, 0xd1, 0xd0, 0x36, 0x9c, 0xf3, - 0x0e, 0x26, 0x7e, 0xdf, 0x79, 0x36, 0xea, 0x86, 0xc6, 0x5b, 0xfe, 0xf8, 0xf1, 0xb6, 0x22, 0x28, - 0xb6, 0x83, 0x71, 0xa7, 0x98, 0x9d, 0x4b, 0x8b, 0xcc, 0xce, 0x7b, 0x7c, 0xaa, 0x5e, 0xa6, 0x53, - 0xcb, 0xda, 0xb4, 0x1e, 0xcc, 0xb3, 0x9e, 0x8a, 0xf7, 0x8e, 0x99, 0x53, 0x2a, 0xfa, 0x56, 0xa9, - 0x53, 0x6d, 0x6b, 0x11, 0x04, 0x90, 0x2c, 0x77, 0x5a, 0xed, 0x46, 0x4d, 0x8b, 0xf2, 0xc9, 0xe4, - 0x9f, 0x46, 0x01, 0x2a, 0xce, 0xd0, 0xb4, 0x99, 0x7b, 0xfd, 0x35, 0xc8, 0xed, 0x99, 0x93, 0x81, - 0xdf, 0xed, 0x53, 0x18, 0x9f, 0x4d, 0x2e, 0x89, 0xd6, 0x49, 0xc4, 0xdb, 0x5b, 0x04, 0x8b, 0xa5, - 0x71, 0x76, 0x2f, 0x48, 0x14, 0xfe, 0x7d, 0x04, 0xb2, 0x4a, 0x26, 0xda, 0x82, 0xa4, 0x6b, 0xed, - 0x13, 0xd7, 0x91, 0xa9, 0xf4, 0xf5, 0x85, 0xbc, 0x6e, 0x63, 0x8a, 0xab, 0x58, 0x2f, 0x9c, 0x1a, - 0x7d, 0x0d, 0xe2, 0xdf, 0x72, 0x46, 0x16, 0x77, 0xa7, 0xaf, 0x2d, 0xe6, 0xf2, 0x4d, 0x67, 0xa4, - 0xfa, 0xb1, 0x94, 0xb2, 0x70, 0x0d, 0x20, 0xe0, 0x2e, 0x9d, 0xac, 0xc8, 0xb4, 0x93, 0x55, 0xb8, - 0x02, 0x69, 0x41, 0x7f, 0x3c, 0x56, 0xf1, 0x97, 0x63, 0x00, 0x35, 0xd3, 0xf3, 0x99, 0x7a, 0xa1, - 0x82, 0xf4, 0x50, 0x33, 0x33, 0xfe, 0x68, 0x81, 0x7b, 0xb9, 0x64, 0x09, 0x09, 0xf2, 0x66, 0x37, - 0x1a, 0xf2, 0x0f, 0xe3, 0xf7, 0xef, 0xde, 0xbf, 0xcb, 0x17, 0x98, 0xf3, 0x10, 0x1b, 0xdb, 0x7d, - 0x3a, 0x8e, 0x33, 0x6c, 0x61, 0x6d, 0x1a, 0x15, 0x4c, 0x60, 0x21, 0x57, 0x2b, 0x31, 0xe5, 0x6a, - 0xad, 0x41, 0xea, 0xd0, 0x72, 0x3d, 0x22, 0x70, 0xea, 0xa4, 0x61, 0x91, 0x44, 0xd7, 0x83, 0x3d, - 0x09, 0x36, 0xa0, 0xa7, 0xf6, 0x24, 0x82, 0xdd, 0x88, 0x1b, 0x90, 0xe4, 0xfd, 0xcf, 0x86, 0xf1, - 0x99, 0x19, 0x69, 0x63, 0x8e, 0x40, 0xc6, 0x7d, 0xc8, 0x21, 0xcb, 0xd0, 0xd9, 0xe5, 0xa2, 0xf4, - 0xb9, 0x85, 0x80, 0x4e, 0xf0, 0xc6, 0x0a, 0x87, 0x21, 0x7f, 0xea, 0xa3, 0x90, 0xe3, 0xf0, 0xc6, - 0x22, 0x6e, 0xb3, 0xc3, 0xe0, 0xe6, 0xbc, 0x61, 0xa0, 0x41, 0xae, 0xb4, 0xad, 0xd7, 0xdb, 0xdd, - 0x4e, 0xb3, 0x42, 0x9c, 0xa5, 0x08, 0xd7, 0xff, 0x5f, 0x89, 0x41, 0x86, 0xed, 0xdf, 0x91, 0x5e, - 0xbc, 0x1c, 0xda, 0xab, 0x08, 0xba, 0x3c, 0x10, 0x6f, 0x68, 0x2a, 0x8d, 0x9d, 0x72, 0x2a, 0xfd, - 0x00, 0xc0, 0xf4, 0x7d, 0xd7, 0xde, 0x9d, 0xf8, 0x72, 0x02, 0x16, 0xdb, 0x18, 0x25, 0x91, 0xc1, - 0xc9, 0x14, 0x4c, 0x74, 0x8d, 0x2a, 0x55, 0x32, 0xdc, 0x59, 0x6c, 0xb3, 0x31, 0xe4, 0xea, 0x0b, - 0x25, 0x22, 0xbd, 0x95, 0xa0, 0x4a, 0xf4, 0x2e, 0x57, 0xa2, 0xa0, 0x27, 0xe1, 0x84, 0x9e, 0x2c, - 0xfc, 0xf3, 0x48, 0xa8, 0x0b, 0x1e, 0x86, 0xba, 0xe0, 0x72, 0xa8, 0xf4, 0x93, 0x7a, 0xc0, 0x9b, - 0xd7, 0x03, 0x61, 0xf7, 0x32, 0x82, 0xce, 0xc1, 0x99, 0x1d, 0x43, 0xc7, 0x25, 0x5c, 0xde, 0x31, - 0xca, 0xa5, 0x2a, 0x03, 0x47, 0x17, 0x78, 0x9d, 0x31, 0x42, 0x22, 0xbc, 0xd8, 0x6e, 0x13, 0x37, - 0x1e, 0x1b, 0x15, 0x1d, 0x6b, 0x71, 0xde, 0x93, 0xff, 0x2c, 0x0a, 0xab, 0xe5, 0x96, 0xd1, 0x1c, - 0x4c, 0xf6, 0xed, 0x51, 0x68, 0xee, 0x47, 0x25, 0x48, 0x7b, 0x96, 0x7b, 0x68, 0x93, 0x3e, 0x23, - 0xf6, 0xcd, 0xd2, 0xbd, 0xab, 0x62, 0x8d, 0x98, 0x4b, 0x70, 0xbb, 0xc5, 0xb0, 0xb1, 0x24, 0x53, - 0x57, 0xc3, 0xe8, 0xc9, 0xab, 0xe1, 0x97, 0xd2, 0x92, 0xd0, 0x52, 0x16, 0x3f, 0xd5, 0x52, 0x56, - 0xdc, 0x82, 0x14, 0xaf, 0x6b, 0x58, 0xd8, 0xab, 0x80, 0xca, 0x8d, 0x7a, 0x1b, 0x37, 0xaa, 0x55, - 0x1d, 0x77, 0x89, 0x38, 0x8d, 0x32, 0x11, 0xba, 0x06, 0xb9, 0x7a, 0xa3, 0xa2, 0x4b, 0x88, 0x58, - 0x06, 0xbe, 0x13, 0x81, 0xbc, 0x94, 0x85, 0x98, 0xf9, 0x78, 0xff, 0x2b, 0x33, 0x1f, 0x75, 0x09, - 0x8e, 0xdf, 0x9e, 0x2a, 0x03, 0xc8, 0xaa, 0x89, 0x76, 0x5f, 0x5a, 0x28, 0x69, 0xa1, 0xf4, 0x01, - 0x59, 0xf1, 0xc7, 0x63, 0x70, 0x76, 0x66, 0x0f, 0x9a, 0xd4, 0xe8, 0x5d, 0x3e, 0xc5, 0x12, 0xc1, - 0x9c, 0x9f, 0x92, 0x66, 0xb0, 0x59, 0x1d, 0x1a, 0x18, 0xe1, 0x81, 0x17, 0x3d, 0xf5, 0xc0, 0x13, - 0x8d, 0x8f, 0x1d, 0xdb, 0xf8, 0xf8, 0x4c, 0xe3, 0x3f, 0x83, 0xb3, 0x7d, 0x8b, 0x2d, 0x9e, 0xae, - 0x45, 0xf4, 0x86, 0x1a, 0x02, 0x62, 0xb8, 0x6f, 0x4c, 0x55, 0x98, 0xfc, 0x11, 0x38, 0x8a, 0x20, - 0x56, 0x38, 0x0b, 0x25, 0x97, 0xf8, 0x34, 0x29, 0xcf, 0x77, 0x5c, 0x73, 0xdf, 0xe2, 0x73, 0xc1, - 0x9b, 0xc7, 0xb5, 0x9e, 0xea, 0x2e, 0x43, 0xc5, 0x82, 0xa6, 0xf0, 0x31, 0xa4, 0x38, 0x0c, 0xdd, - 0x83, 0xe4, 0x98, 0x76, 0x02, 0x5f, 0x8c, 0xcf, 0x4e, 0x77, 0x8e, 0xba, 0xf0, 0x32, 0xcc, 0xe2, - 0xef, 0xc4, 0x20, 0xf1, 0x98, 0x9a, 0xca, 0x37, 0x15, 0x95, 0x58, 0x92, 0x53, 0x09, 0xcd, 0x9b, - 0x75, 0x1c, 0x6f, 0x12, 0xe7, 0xcd, 0x1c, 0x98, 0xee, 0xd4, 0x96, 0x31, 0x43, 0x6f, 0xd1, 0x2c, - 0xcc, 0x51, 0x08, 0xb2, 0x6b, 0x8e, 0xf6, 0x2d, 0x8f, 0xef, 0xe2, 0x84, 0x91, 0x31, 0xcd, 0xc2, - 0x1c, 0x05, 0x15, 0x21, 0xe6, 0x59, 0x3e, 0x1f, 0x21, 0x5a, 0x98, 0xad, 0xe5, 0x63, 0x92, 0x89, - 0xae, 0x42, 0xdc, 0xb7, 0x9e, 0xb3, 0x8d, 0xcc, 0xec, 0x74, 0x55, 0xad, 0xe7, 0x3e, 0xa6, 0xd9, - 0x85, 0x2b, 0x90, 0x64, 0x35, 0x09, 0xbb, 0x08, 0x91, 0x90, 0x8b, 0x50, 0xf8, 0x08, 0x12, 0xb4, - 0x0a, 0x04, 0x69, 0xd7, 0x12, 0xd2, 0x8b, 0x0b, 0x24, 0x0a, 0x42, 0xab, 0x10, 0xb3, 0xe8, 0xe4, - 0x10, 0xe4, 0x10, 0x40, 0xe1, 0x43, 0x48, 0xb2, 0xfa, 0xa3, 0xdb, 0x90, 0xa0, 0x2d, 0xe0, 0x2e, - 0x16, 0x9a, 0x6d, 0xa3, 0xe0, 0x48, 0xd1, 0x0a, 0xe7, 0x21, 0xd6, 0xb2, 0xa8, 0x67, 0x6c, 0xfb, - 0xd6, 0x90, 0x52, 0x65, 0x30, 0xfd, 0x5f, 0x28, 0x42, 0x9c, 0xb4, 0x62, 0xe1, 0x69, 0xcb, 0xbb, - 0x7c, 0x12, 0x06, 0x48, 0xb6, 0xca, 0xa5, 0x6a, 0x09, 0x6b, 0xaf, 0x91, 0xff, 0xb8, 0x54, 0xdf, - 0xa6, 0x9b, 0x88, 0x29, 0x88, 0xb5, 0xf4, 0x36, 0xdb, 0xa4, 0x6e, 0xeb, 0x9f, 0xb5, 0xb5, 0x58, - 0xf1, 0x8f, 0x23, 0x90, 0x91, 0xc3, 0xe2, 0x78, 0xdb, 0x47, 0x2a, 0x42, 0xf4, 0xd5, 0x14, 0x21, - 0xf6, 0x2a, 0x8a, 0x10, 0x3f, 0x59, 0x11, 0x4e, 0xd7, 0xc9, 0x42, 0x5f, 0x92, 0x0b, 0xf4, 0xa5, - 0xf8, 0x9b, 0x39, 0x48, 0x8b, 0xd1, 0xb4, 0xa0, 0xe1, 0x57, 0x4f, 0x68, 0xf8, 0x5f, 0x7a, 0x93, - 0x79, 0x5b, 0x12, 0x8b, 0x74, 0x7f, 0xc1, 0x1e, 0xfd, 0x2d, 0x88, 0xf7, 0x6d, 0xef, 0x29, 0xb7, - 0xff, 0xd6, 0xa6, 0xe7, 0xa4, 0x8a, 0xed, 0xd1, 0x6d, 0x0b, 0x4c, 0xb1, 0x50, 0x09, 0xb2, 0xca, - 0x4c, 0xc6, 0x6d, 0xc1, 0x93, 0x26, 0x32, 0xac, 0xd2, 0xa0, 0x8f, 0xc8, 0x42, 0x78, 0xe8, 0xf4, - 0xa8, 0x73, 0x9d, 0x09, 0x39, 0x13, 0x0a, 0x03, 0x8e, 0xc0, 0x16, 0x37, 0x89, 0x4f, 0x66, 0x2b, - 0xef, 0xc0, 0x74, 0xad, 0x3e, 0x37, 0x5e, 0x0a, 0xd3, 0x94, 0x2d, 0x9a, 0xcb, 0xac, 0x18, 0x86, - 0x89, 0xb6, 0x61, 0xd9, 0x1c, 0x0c, 0x9c, 0x1e, 0x2d, 0xbe, 0x6b, 0x8f, 0xf6, 0x1c, 0xee, 0x15, - 0xae, 0x4f, 0x13, 0x97, 0x24, 0x1a, 0x65, 0xb0, 0x64, 0x86, 0xd2, 0xe8, 0xeb, 0x90, 0x1d, 0xf3, - 0x69, 0x95, 0xf8, 0xb3, 0xb9, 0x93, 0x96, 0x9d, 0x25, 0xe2, 0x93, 0x07, 0x69, 0x0c, 0x82, 0xda, - 0xe8, 0x23, 0x03, 0x72, 0xa1, 0x25, 0x21, 0xff, 0x2a, 0x4b, 0x42, 0x88, 0xb4, 0x70, 0x05, 0x96, - 0xc2, 0x15, 0x27, 0xf3, 0x03, 0xed, 0x6e, 0x76, 0xb6, 0x46, 0xff, 0x17, 0x7e, 0x23, 0x02, 0xcb, - 0x53, 0xdc, 0xc2, 0x67, 0x30, 0x91, 0xe9, 0x33, 0x98, 0xc0, 0x2d, 0x8d, 0x2e, 0x72, 0x4b, 0x45, - 0x61, 0xb1, 0xa0, 0x30, 0xf4, 0x21, 0x1f, 0x14, 0xf1, 0xd0, 0xe1, 0xc7, 0x71, 0xad, 0x52, 0xc6, - 0xc9, 0x7c, 0x87, 0x95, 0xcc, 0x57, 0xed, 0x52, 0xdb, 0x28, 0x6b, 0x11, 0xea, 0xbc, 0x7e, 0x5e, - 0x2f, 0xd5, 0x8c, 0xb2, 0xb0, 0x54, 0x0a, 0x7f, 0x27, 0x01, 0x69, 0xa1, 0xa7, 0x68, 0x0b, 0xb2, - 0x63, 0xe2, 0xdd, 0x78, 0xbe, 0x35, 0xea, 0x59, 0xdc, 0x36, 0xb8, 0x72, 0x9c, 0x5a, 0xdf, 0x6e, - 0x06, 0xb8, 0x58, 0x25, 0x24, 0xad, 0x3f, 0x74, 0x06, 0x93, 0xa1, 0x35, 0xd5, 0xfa, 0xc7, 0x14, - 0x88, 0x79, 0x26, 0xfa, 0x8a, 0xdc, 0x88, 0x88, 0xcd, 0x1f, 0x0b, 0xb2, 0xa4, 0x16, 0x4d, 0x8b, - 0x5d, 0x8a, 0xc2, 0x36, 0x64, 0x95, 0xb2, 0x17, 0x3a, 0x8b, 0xa1, 0x6e, 0x8a, 0x4e, 0x75, 0x53, - 0xe1, 0x27, 0x62, 0x90, 0x64, 0xbc, 0x95, 0x33, 0xa7, 0xe8, 0x3c, 0xb1, 0x4f, 0x55, 0x65, 0x76, - 0x5e, 0xfe, 0x50, 0xd9, 0x71, 0xcd, 0x9e, 0x4c, 0xdf, 0x34, 0xfd, 0x03, 0xbe, 0x2f, 0xfb, 0x11, - 0x24, 0x86, 0xce, 0x64, 0xe4, 0x73, 0x29, 0x5c, 0x3d, 0x89, 0xb4, 0x46, 0x90, 0x31, 0xa3, 0xa1, - 0x47, 0xbe, 0xc2, 0xab, 0x55, 0x4d, 0xb5, 0x1b, 0x90, 0x1e, 0x5a, 0xbe, 0x49, 0xf7, 0xae, 0x12, - 0xf3, 0x54, 0x50, 0x66, 0x13, 0x17, 0x77, 0xec, 0x3a, 0x74, 0x63, 0x8d, 0xbb, 0xb8, 0x3c, 0x59, - 0x28, 0x40, 0x9c, 0xd4, 0x93, 0xa9, 0xa9, 0xe3, 0x07, 0x63, 0xc2, 0xf1, 0x0b, 0x17, 0x20, 0x41, - 0x2b, 0x32, 0x2f, 0xb3, 0xb8, 0x39, 0x4f, 0x13, 0xd3, 0x10, 0x6f, 0x96, 0xda, 0x3b, 0x5a, 0x04, - 0x65, 0x20, 0x51, 0x6b, 0x74, 0xea, 0x64, 0xb5, 0xcc, 0x40, 0x62, 0xb3, 0xda, 0x28, 0x3f, 0xd2, - 0x62, 0x64, 0x05, 0xc5, 0xa5, 0x27, 0xc2, 0x01, 0x29, 0x2c, 0x43, 0x3e, 0x34, 0x95, 0x15, 0x72, - 0x00, 0xc1, 0x0c, 0x55, 0xfc, 0x27, 0x51, 0x58, 0x6b, 0xbb, 0xe6, 0xde, 0x9e, 0xdd, 0x23, 0x26, - 0xb0, 0xeb, 0x0c, 0x5a, 0xbe, 0xe9, 0xdb, 0x9e, 0x6f, 0xf7, 0xbc, 0x85, 0x1a, 0xb1, 0x06, 0xa9, - 0x5d, 0xb3, 0xf7, 0x74, 0xe0, 0xec, 0xd3, 0xbe, 0x8a, 0x63, 0x91, 0x44, 0x67, 0x21, 0xb1, 0xfb, - 0xc2, 0xe7, 0x56, 0x53, 0x1c, 0xb3, 0x04, 0x81, 0xf6, 0x5d, 0x67, 0xcc, 0xd6, 0x93, 0x38, 0x66, - 0x09, 0xb4, 0x0e, 0xe0, 0x1c, 0x5a, 0xee, 0xc0, 0x1e, 0xda, 0x3e, 0x3b, 0x8b, 0x88, 0x63, 0x05, - 0x42, 0x85, 0x6a, 0xf6, 0x9e, 0x5a, 0x3e, 0x3b, 0x72, 0x88, 0x63, 0x91, 0x24, 0xf2, 0xfa, 0x62, - 0x60, 0x8d, 0xe8, 0xa2, 0x11, 0xc7, 0xf4, 0x3f, 0xba, 0x0a, 0x29, 0xd7, 0xf4, 0xad, 0xdd, 0xb1, - 0x47, 0x97, 0x85, 0xf8, 0x66, 0xf6, 0xe8, 0xe5, 0x46, 0x0a, 0x9b, 0xbe, 0xb5, 0xd9, 0x6c, 0x61, - 0x91, 0x27, 0xd0, 0xc6, 0x63, 0x8f, 0x4e, 0xfe, 0x0a, 0x5a, 0x53, 0xa0, 0x8d, 0xc7, 0xf4, 0x86, - 0x86, 0x6b, 0x7d, 0x31, 0xb1, 0x26, 0xf4, 0x44, 0x97, 0x94, 0x22, 0xd3, 0xc5, 0x1f, 0x4a, 0x40, - 0xce, 0x18, 0x2b, 0xa2, 0x5a, 0x07, 0xd8, 0x72, 0xdc, 0x67, 0xa6, 0xdb, 0xb7, 0x47, 0xfb, 0xb4, - 0x13, 0x63, 0x58, 0x81, 0x90, 0xfc, 0x0a, 0x33, 0xa2, 0xdb, 0xed, 0x2a, 0x95, 0x58, 0x0c, 0x2b, - 0x10, 0x92, 0x6f, 0x8c, 0xb0, 0xd5, 0xb3, 0xec, 0x43, 0x2e, 0xb9, 0x18, 0x56, 0x20, 0xe8, 0x32, - 0x64, 0x8d, 0xd1, 0x4e, 0xdf, 0xd5, 0x5d, 0xd7, 0x71, 0x99, 0x10, 0x63, 0x58, 0x05, 0xa1, 0x22, - 0xe4, 0x8c, 0x51, 0xa9, 0x2f, 0x51, 0x12, 0x14, 0x25, 0x04, 0x43, 0x57, 0x20, 0x4f, 0xea, 0x54, - 0x31, 0x7d, 0x73, 0xdf, 0x35, 0x87, 0x4c, 0xa8, 0x31, 0x1c, 0x06, 0xa2, 0xeb, 0xb0, 0x6c, 0x8c, - 0x3a, 0xa3, 0xa7, 0x23, 0xe7, 0xd9, 0x88, 0x1e, 0x15, 0xb0, 0xad, 0x99, 0x18, 0x9e, 0x06, 0xb3, - 0x5a, 0x57, 0x6c, 0xaf, 0x67, 0xba, 0x7d, 0x26, 0x73, 0x5a, 0x6b, 0x01, 0xe1, 0xf9, 0xd6, 0xc0, - 0x3e, 0x24, 0xae, 0x57, 0x46, 0xe6, 0x73, 0x08, 0x69, 0x55, 0x63, 0xe2, 0x63, 0x22, 0x55, 0xcf, - 0x67, 0x52, 0x8e, 0x61, 0x15, 0xc4, 0x31, 0x64, 0x11, 0x59, 0x89, 0x21, 0xcb, 0x60, 0x18, 0x75, - 0x07, 0x3b, 0xd4, 0x9d, 0xca, 0x49, 0x0c, 0x01, 0x22, 0x92, 0xc1, 0x96, 0xe9, 0x0d, 0xf9, 0xad, - 0x02, 0xba, 0x39, 0x1a, 0xc3, 0x21, 0x18, 0xa9, 0x29, 0x4d, 0x63, 0xeb, 0x8b, 0x3e, 0xdb, 0x04, - 0x8d, 0x61, 0x05, 0x42, 0x94, 0x81, 0xa6, 0x1a, 0x8f, 0x3c, 0xba, 0xfb, 0x19, 0xc3, 0x32, 0x2d, - 0x69, 0xb7, 0x4c, 0x7b, 0xe0, 0xad, 0x69, 0x0a, 0x2d, 0x85, 0x10, 0x25, 0xde, 0x72, 0xcd, 0x7d, - 0x42, 0x7a, 0x86, 0x66, 0x8a, 0x24, 0x99, 0x56, 0xc9, 0x5f, 0x46, 0x88, 0x68, 0x5e, 0x00, 0x20, - 0x2d, 0x23, 0x89, 0xb2, 0x6b, 0x99, 0xa4, 0x65, 0x2b, 0xac, 0x65, 0x0a, 0xa8, 0xf8, 0x2f, 0x52, - 0xb0, 0x64, 0xf4, 0x86, 0xaa, 0x22, 0xae, 0x42, 0xd2, 0x18, 0xd5, 0xbc, 0x7d, 0x8f, 0x2b, 0x21, - 0x4f, 0x91, 0x06, 0x18, 0x23, 0xae, 0x1a, 0x4c, 0xfd, 0x64, 0x9a, 0xa9, 0x4e, 0xd9, 0x9b, 0x0c, - 0x79, 0x7e, 0x4c, 0xa8, 0x4e, 0x00, 0x43, 0xd7, 0x60, 0x89, 0x74, 0x9c, 0xe7, 0x77, 0x46, 0xae, - 0x65, 0xf6, 0x0e, 0x84, 0x0e, 0x4e, 0x41, 0x99, 0xa2, 0x12, 0xa9, 0xea, 0xcf, 0x7b, 0x7d, 0xa1, - 0x85, 0x2a, 0x88, 0x61, 0x34, 0x4d, 0x77, 0xd8, 0x74, 0x9d, 0x5d, 0xa1, 0x82, 0x2a, 0x88, 0xd5, - 0xa7, 0xe5, 0xf6, 0xbe, 0x31, 0xb1, 0x46, 0xa4, 0xa4, 0x94, 0xa8, 0x4f, 0x00, 0x63, 0x5c, 0xb0, - 0xd5, 0xb7, 0x5d, 0xab, 0xe7, 0x0b, 0xdd, 0x53, 0x41, 0x44, 0xec, 0xc6, 0x48, 0xef, 0x1d, 0x38, - 0x42, 0xf3, 0x44, 0x92, 0xa9, 0x25, 0xf9, 0x8b, 0xad, 0xb1, 0xd0, 0x3a, 0x05, 0xc2, 0xca, 0x27, - 0x15, 0xf6, 0x7c, 0x73, 0x38, 0x16, 0x5a, 0x17, 0x82, 0xb1, 0x41, 0x22, 0xd3, 0x94, 0x51, 0x4e, - 0x0c, 0x92, 0x10, 0x98, 0xd5, 0x94, 0x0c, 0xc2, 0x9a, 0xe9, 0x3d, 0xf5, 0xb8, 0xf6, 0xa9, 0x20, - 0x26, 0x5b, 0x91, 0xa4, 0xac, 0x96, 0x84, 0x6c, 0x55, 0x28, 0x69, 0x51, 0x63, 0xe2, 0xd3, 0xce, - 0x65, 0x3a, 0x28, 0x92, 0x44, 0x91, 0x1a, 0x13, 0x9f, 0x77, 0x1f, 0xd3, 0xc0, 0x00, 0x40, 0xea, - 0x4a, 0x46, 0x8c, 0xda, 0x79, 0x4c, 0x11, 0xa7, 0xc1, 0xa4, 0xe5, 0x8d, 0x89, 0x1f, 0x74, 0x1f, - 0xd3, 0xc9, 0x10, 0x8c, 0xe3, 0x04, 0x1d, 0xb8, 0x22, 0x71, 0x82, 0x1e, 0xbc, 0x02, 0xf9, 0xc6, - 0xc4, 0x57, 0xba, 0xf0, 0x2c, 0x9b, 0x68, 0x42, 0x40, 0xce, 0x29, 0xe8, 0xc4, 0x73, 0x92, 0x53, - 0xd0, 0x8b, 0x05, 0x48, 0x93, 0x86, 0xd0, 0x6e, 0x5c, 0x65, 0x7a, 0x2b, 0xd2, 0x7c, 0xe8, 0xcb, - 0x8e, 0x7c, 0x5d, 0x0e, 0x7d, 0xd9, 0x93, 0xac, 0x1e, 0x4a, 0x57, 0xae, 0xc9, 0x7a, 0x28, 0x7d, - 0xf9, 0x36, 0x68, 0x2a, 0x80, 0x32, 0x3b, 0x4f, 0x11, 0x67, 0xe0, 0xbc, 0xce, 0x41, 0x77, 0x16, - 0x64, 0x9d, 0x83, 0xfe, 0x64, 0xf2, 0x0e, 0x75, 0xe8, 0x05, 0x29, 0x6f, 0x15, 0x5c, 0xfc, 0xf5, - 0x18, 0xe4, 0xdb, 0x3d, 0x75, 0xfc, 0x92, 0xc9, 0xca, 0x77, 0x4a, 0x83, 0x7d, 0xc7, 0xb5, 0xfd, - 0x83, 0x21, 0x1f, 0xc5, 0x21, 0x18, 0x19, 0xe3, 0xd8, 0x77, 0x6a, 0xf6, 0x88, 0x8f, 0x64, 0x9e, - 0x12, 0x70, 0xf3, 0x39, 0x1f, 0xc1, 0x3c, 0x45, 0xf4, 0xa6, 0x66, 0x3e, 0x2f, 0x3b, 0xa3, 0x11, - 0x1f, 0xb4, 0x22, 0x49, 0x24, 0x58, 0xea, 0xf9, 0xf6, 0xa1, 0xd5, 0x18, 0x5b, 0x23, 0x39, 0x5a, - 0x15, 0x10, 0xa9, 0x4f, 0xd3, 0xf4, 0x3c, 0x89, 0xc2, 0x86, 0x6b, 0x08, 0x46, 0x70, 0x4a, 0xbe, - 0x6f, 0x0d, 0xc7, 0x3e, 0x9b, 0xc9, 0xf8, 0x78, 0x55, 0x61, 0xa4, 0x24, 0xdd, 0xf3, 0xcd, 0x5d, - 0x62, 0x78, 0x07, 0xe3, 0x55, 0x01, 0x11, 0x1d, 0x2e, 0x4f, 0x5c, 0x97, 0x82, 0xf8, 0x88, 0x0d, - 0x00, 0x6c, 0x5e, 0x6b, 0x59, 0xfb, 0x62, 0xbc, 0xf2, 0x14, 0x1f, 0x13, 0x34, 0x23, 0x2b, 0xc7, - 0x04, 0xcd, 0xb9, 0x0c, 0x59, 0x6c, 0xf9, 0xae, 0x39, 0xf2, 0x68, 0x2e, 0x5f, 0x18, 0x14, 0x10, - 0xe3, 0xa9, 0xbb, 0xae, 0x18, 0x94, 0x3c, 0xc5, 0x79, 0x62, 0xb2, 0x24, 0x2d, 0x49, 0x9e, 0x24, - 0x39, 0x33, 0x53, 0x2e, 0xcf, 0xce, 0x94, 0xc5, 0xbf, 0x1f, 0x85, 0x7c, 0xa7, 0xaf, 0xf6, 0x29, - 0x9d, 0x01, 0x82, 0x45, 0x37, 0x22, 0x66, 0x80, 0x60, 0xc9, 0x5d, 0x83, 0x54, 0xdd, 0x69, 0x3a, - 0xae, 0x2f, 0x26, 0x67, 0x91, 0x0c, 0xcd, 0xdb, 0xb1, 0xd9, 0x79, 0x9b, 0x0c, 0x60, 0xc9, 0x38, - 0x2e, 0x75, 0x31, 0xe0, 0x4c, 0xf4, 0xa9, 0x77, 0xb8, 0x3b, 0xd9, 0x0b, 0x9b, 0x05, 0x2a, 0x8c, - 0xe0, 0xb4, 0x46, 0xfd, 0x00, 0x87, 0xf7, 0xb1, 0x0a, 0x9b, 0x69, 0x79, 0x6a, 0xce, 0x1a, 0x41, - 0x70, 0xf6, 0x47, 0x8e, 0x6b, 0xf5, 0x6b, 0x93, 0x81, 0x6f, 0xf3, 0x4e, 0x0e, 0xc1, 0x8a, 0x7f, - 0x33, 0x0a, 0x4b, 0xad, 0x7a, 0xad, 0xa9, 0x88, 0xe7, 0x23, 0x48, 0xdb, 0xe3, 0xae, 0xe7, 0x9b, - 0xbe, 0x37, 0x75, 0x51, 0x40, 0x35, 0xb1, 0x98, 0x95, 0x66, 0x50, 0x42, 0x0f, 0xa7, 0x6c, 0x9a, - 0xe5, 0xa1, 0x32, 0x80, 0xdd, 0x1b, 0x0a, 0xf2, 0x68, 0xe8, 0xba, 0x55, 0x78, 0x69, 0xdc, 0xcc, - 0x1f, 0xbd, 0xdc, 0xc8, 0x18, 0xe5, 0x1a, 0x67, 0x91, 0xb1, 0x79, 0xb6, 0x87, 0x3e, 0x85, 0x8c, - 0xdf, 0x13, 0x3c, 0x62, 0xa1, 0x4d, 0xee, 0xd0, 0xe8, 0x64, 0x37, 0x00, 0xdb, 0x65, 0xce, 0x21, - 0xed, 0xf7, 0x02, 0x06, 0x93, 0xbe, 0x60, 0x10, 0xde, 0x25, 0x0f, 0xa9, 0x02, 0x63, 0xd0, 0xa9, - 0x08, 0x06, 0x13, 0x96, 0xe9, 0x15, 0x7f, 0x3d, 0x02, 0x4b, 0xc4, 0x43, 0x51, 0xc4, 0x12, 0xf8, - 0x75, 0x91, 0x57, 0xf2, 0xeb, 0xa6, 0xfd, 0xcf, 0xe8, 0x97, 0xf5, 0x3f, 0x37, 0x20, 0x4b, 0xcd, - 0xf0, 0xae, 0x6a, 0xce, 0x03, 0x05, 0x6d, 0x52, 0x9b, 0xfe, 0x12, 0xc0, 0xc4, 0xb3, 0xfa, 0x3c, - 0x9f, 0x19, 0xf6, 0x19, 0x02, 0xa1, 0xd9, 0xc5, 0x5f, 0x58, 0x09, 0xee, 0x6d, 0x87, 0x66, 0xb8, - 0x8c, 0x2f, 0xa6, 0xd4, 0xd0, 0xc6, 0x66, 0x00, 0x46, 0x65, 0x58, 0xe9, 0x8d, 0x27, 0x5e, 0x77, - 0xe2, 0xf1, 0x7b, 0xa2, 0x5d, 0xcf, 0xea, 0xf1, 0x8b, 0x53, 0x9b, 0x67, 0x8f, 0x5e, 0x6e, 0x68, - 0xe5, 0x66, 0xc7, 0xeb, 0x78, 0xec, 0xaa, 0x68, 0xcb, 0xea, 0x79, 0x58, 0x23, 0x04, 0x2a, 0x04, - 0x19, 0x70, 0x8e, 0x32, 0xf1, 0x5e, 0x78, 0xbe, 0x35, 0x54, 0xd8, 0xd0, 0x3b, 0x55, 0x9b, 0xab, - 0x47, 0x2f, 0x37, 0x10, 0x61, 0xd3, 0xa2, 0xf9, 0x92, 0x11, 0x22, 0x44, 0x61, 0x18, 0xba, 0x05, - 0x40, 0x59, 0xd1, 0xc6, 0xb3, 0x5b, 0x56, 0x4c, 0x9d, 0x08, 0x7d, 0x95, 0x00, 0x71, 0x86, 0x20, - 0xd0, 0xbf, 0xe8, 0x3d, 0xc8, 0x0f, 0xad, 0x61, 0xd7, 0xf5, 0x3c, 0x2e, 0x1a, 0xea, 0xd8, 0xb0, - 0x3b, 0x06, 0x35, 0x6b, 0x88, 0x5b, 0x2d, 0x2a, 0x20, 0x9c, 0x1d, 0x5a, 0x43, 0xec, 0x79, 0x4c, - 0x98, 0xd7, 0x60, 0x99, 0x10, 0xa9, 0x12, 0x67, 0x2e, 0x0f, 0xe1, 0x55, 0x0d, 0x84, 0xfe, 0x00, - 0x96, 0x69, 0x55, 0x46, 0x2e, 0x3f, 0xec, 0x67, 0x63, 0x31, 0xbf, 0x79, 0xe6, 0xe8, 0xe5, 0x46, - 0x9e, 0xd4, 0xa7, 0xee, 0xb2, 0x53, 0x7d, 0x0f, 0xe7, 0x09, 0xa6, 0x4c, 0xa2, 0x4f, 0xe1, 0x8c, - 0x20, 0xf5, 0x0f, 0x5c, 0xc7, 0xf7, 0x07, 0x16, 0xbb, 0x13, 0x91, 0xdf, 0x5c, 0x39, 0x7a, 0xb9, - 0xb1, 0xcc, 0x88, 0xdb, 0x22, 0x0b, 0x2f, 0x33, 0x72, 0x09, 0x40, 0x18, 0xd6, 0x28, 0x03, 0x49, - 0xad, 0x08, 0x35, 0x43, 0x85, 0x72, 0xfe, 0xe8, 0xe5, 0xc6, 0x39, 0xc2, 0x47, 0x12, 0x49, 0xb9, - 0xd2, 0xce, 0x98, 0x01, 0xa3, 0x2b, 0xb0, 0x44, 0xda, 0x4d, 0x3c, 0x65, 0xde, 0x6c, 0xe6, 0x6c, - 0xe5, 0x86, 0xd6, 0x70, 0xcb, 0x1e, 0x58, 0xac, 0xd5, 0x1c, 0xcb, 0x1c, 0x39, 0x23, 0x8e, 0x95, - 0x95, 0x58, 0xa5, 0x91, 0x33, 0x62, 0x58, 0xef, 0xc2, 0x39, 0x82, 0x35, 0x34, 0xc7, 0x63, 0xab, - 0xaf, 0xb2, 0xcc, 0x51, 0x64, 0x34, 0xb4, 0x86, 0x35, 0x9a, 0x17, 0x30, 0xbe, 0x01, 0xf1, 0xb1, - 0xe5, 0xee, 0xf1, 0x1b, 0x13, 0x62, 0xe6, 0x68, 0x5a, 0xee, 0x5e, 0xa0, 0xb2, 0x98, 0xa2, 0x90, - 0x3a, 0x8c, 0x2c, 0xbf, 0xeb, 0x3e, 0xef, 0x0a, 0x9f, 0x74, 0x89, 0xd5, 0x61, 0x64, 0xf9, 0xf8, - 0x79, 0x93, 0x3b, 0xa6, 0x97, 0x21, 0xc7, 0xb1, 0x58, 0xd1, 0xcb, 0x6c, 0xd8, 0x50, 0x1c, 0x56, - 0x64, 0x11, 0xf2, 0x1c, 0xc3, 0x0a, 0x0c, 0xb6, 0x38, 0xce, 0x52, 0x14, 0xe9, 0xa9, 0x89, 0xb2, - 0x88, 0xa3, 0x3c, 0xb6, 0xfa, 0xd4, 0x62, 0x13, 0x65, 0x55, 0x18, 0x4c, 0x60, 0xf9, 0x41, 0x8d, - 0x90, 0xc4, 0x6a, 0x4f, 0xd7, 0xc8, 0x17, 0x35, 0x5a, 0x91, 0x35, 0x6a, 0x87, 0x6b, 0xe4, 0xcb, - 0x1a, 0x9d, 0x95, 0x35, 0x6a, 0x4f, 0xd5, 0xc8, 0x0f, 0x6a, 0x74, 0x4e, 0x29, 0x4b, 0xd4, 0xa8, - 0x05, 0xe7, 0x29, 0x56, 0x6f, 0xdc, 0x75, 0x7d, 0xbf, 0x3b, 0xb4, 0x7b, 0xae, 0x43, 0xd4, 0xa3, - 0x3b, 0xbe, 0x7f, 0x97, 0xda, 0x6f, 0x5c, 0x45, 0xea, 0x96, 0xdf, 0x2e, 0x37, 0xb1, 0xef, 0xd7, - 0x04, 0x46, 0xf3, 0xfe, 0x5d, 0x7c, 0x8e, 0xf0, 0xea, 0x8d, 0xa7, 0xc0, 0x0b, 0x98, 0x3e, 0xb8, - 0x4b, 0xad, 0xbe, 0xe3, 0x99, 0x3e, 0x98, 0xcf, 0xf4, 0xc1, 0x42, 0xa6, 0xf7, 0xa9, 0x99, 0xb8, - 0x80, 0xe9, 0xfd, 0xf9, 0x4c, 0xef, 0x2f, 0x62, 0xfa, 0x80, 0x9a, 0x94, 0x0b, 0x98, 0x3e, 0x98, - 0xcf, 0xf4, 0x01, 0xba, 0x0e, 0x5a, 0xdf, 0xf6, 0x9e, 0x86, 0xa6, 0x86, 0x02, 0x95, 0xfd, 0x12, - 0x81, 0x2b, 0x73, 0xc3, 0x35, 0x58, 0xa6, 0x98, 0xca, 0xac, 0x7c, 0x81, 0xcd, 0x21, 0x04, 0xdc, - 0x11, 0x33, 0x33, 0xfa, 0x0c, 0x0a, 0xa2, 0x9a, 0x26, 0xb5, 0xf5, 0xba, 0x3d, 0x67, 0x34, 0xb2, - 0x7a, 0x6c, 0x23, 0xf8, 0x22, 0xad, 0xe7, 0x85, 0xa3, 0x97, 0x1b, 0xaf, 0xb3, 0x7a, 0x32, 0x7b, - 0xb0, 0x1c, 0xa0, 0xe0, 0xd7, 0x59, 0x4d, 0x67, 0x32, 0x50, 0x17, 0x2e, 0x09, 0xce, 0x74, 0x6a, - 0x78, 0x66, 0xda, 0x7e, 0x88, 0xf9, 0x25, 0xca, 0xfc, 0xd2, 0xd1, 0xcb, 0x8d, 0xf3, 0x8c, 0x39, - 0x99, 0x08, 0x9e, 0x98, 0xb6, 0xaf, 0xb2, 0x3f, 0xcf, 0xd8, 0xcf, 0xc9, 0x62, 0x3b, 0x91, 0x4e, - 0xcf, 0xf2, 0x3c, 0xcb, 0x5b, 0x5b, 0x27, 0x73, 0x17, 0x0e, 0x00, 0xc4, 0x8e, 0xf2, 0x0f, 0x5c, - 0xcb, 0xec, 0x7b, 0x6b, 0x1b, 0x34, 0x4f, 0x24, 0xd1, 0x57, 0x60, 0x8d, 0x4e, 0xaf, 0xce, 0xb3, - 0xee, 0xd8, 0xb5, 0x3c, 0x6f, 0xe2, 0x92, 0x46, 0x4f, 0x46, 0xbe, 0xe5, 0xae, 0x5d, 0xa6, 0x32, - 0x22, 0x53, 0x47, 0xd5, 0x79, 0xd6, 0xe4, 0xb9, 0x65, 0x96, 0x89, 0x3e, 0x86, 0x0b, 0x74, 0x4e, - 0xb1, 0xfa, 0xf6, 0x64, 0x38, 0x4b, 0xfb, 0x06, 0xa5, 0x25, 0xbc, 0x6b, 0x14, 0x63, 0x9a, 0xbc, - 0x04, 0x97, 0x08, 0x79, 0xcf, 0xb5, 0x7d, 0xbb, 0x67, 0x0e, 0x66, 0x19, 0x14, 0x29, 0x83, 0xc2, - 0xd0, 0x1a, 0x96, 0x39, 0xce, 0x34, 0x8b, 0x1f, 0x84, 0x75, 0x2a, 0x53, 0xb6, 0x4d, 0x47, 0xa4, - 0xe9, 0xbb, 0xce, 0x80, 0x1a, 0x1b, 0x6c, 0x7e, 0x5a, 0x7b, 0x33, 0xb4, 0x75, 0x7f, 0xdc, 0x7e, - 0x1e, 0x5f, 0x66, 0x2f, 0x10, 0xe1, 0x1e, 0xb7, 0xe5, 0xc7, 0x57, 0x21, 0xdf, 0xf1, 0xcd, 0x01, - 0xd7, 0xa0, 0x2b, 0x72, 0x15, 0x6a, 0x13, 0x68, 0x68, 0xa6, 0x65, 0x78, 0x43, 0x6b, 0xe8, 0x3d, - 0xe3, 0xd8, 0x57, 0xe5, 0x4c, 0x4b, 0xb1, 0x6b, 0x24, 0x8b, 0x91, 0xdc, 0x81, 0xb3, 0x84, 0xc4, - 0x73, 0xf6, 0xfc, 0x90, 0x2a, 0x5f, 0xa3, 0x14, 0x67, 0x86, 0xd6, 0xb0, 0xe5, 0xec, 0xf9, 0x61, - 0x6d, 0xa6, 0xa2, 0x33, 0x7b, 0x07, 0x62, 0x1e, 0x7f, 0x4b, 0xd6, 0xa5, 0x4c, 0xa0, 0xa1, 0xb5, - 0xc1, 0x7b, 0x66, 0x8e, 0x39, 0xda, 0x75, 0xb9, 0x36, 0xb4, 0x9e, 0x99, 0x63, 0x86, 0x75, 0x8f, - 0xd5, 0x78, 0x32, 0xb2, 0x0e, 0xed, 0x1e, 0xbd, 0x45, 0xc9, 0x91, 0x6f, 0x50, 0xe4, 0x95, 0xa1, - 0x35, 0xec, 0x04, 0x79, 0x8c, 0xe6, 0x07, 0x60, 0x85, 0x48, 0xde, 0x1b, 0x71, 0x03, 0x93, 0x8b, - 0xfb, 0xed, 0xd0, 0x5a, 0x11, 0xb6, 0x66, 0x37, 0xcf, 0x1d, 0xbd, 0xdc, 0x38, 0x53, 0xb7, 0xfc, - 0x30, 0x18, 0x9f, 0x19, 0x59, 0x7e, 0x6b, 0x14, 0xda, 0xaa, 0xa9, 0xf0, 0xd1, 0xaa, 0x70, 0xbe, - 0x49, 0x3b, 0xf2, 0x5c, 0x70, 0xef, 0xef, 0xe9, 0x4c, 0xf7, 0xd1, 0x31, 0xaf, 0x70, 0xa9, 0x81, - 0xb6, 0x3b, 0x78, 0x6a, 0x3b, 0x2a, 0x9b, 0x5b, 0xb4, 0x82, 0x45, 0x71, 0x8e, 0xbe, 0xef, 0x3a, - 0x93, 0x31, 0xb5, 0xf5, 0x36, 0x09, 0xe6, 0x6d, 0xa5, 0x5a, 0xcb, 0x94, 0x36, 0x00, 0x14, 0xff, - 0x20, 0x0e, 0x79, 0x61, 0xb4, 0x75, 0x3c, 0x73, 0xdf, 0x42, 0x25, 0xc8, 0x88, 0x9b, 0x9c, 0xe2, - 0x22, 0xee, 0xf4, 0x69, 0x19, 0x45, 0x94, 0xf7, 0x00, 0x85, 0x39, 0x27, 0xa9, 0xd0, 0x4d, 0x48, - 0x50, 0x4d, 0xe1, 0x97, 0x1d, 0x8e, 0xb9, 0x75, 0xc2, 0x70, 0x0a, 0xdf, 0x8b, 0x41, 0x5a, 0xb0, - 0x42, 0x9f, 0x40, 0x3e, 0xb8, 0x80, 0x3a, 0xda, 0x73, 0xf8, 0x15, 0x81, 0x95, 0x39, 0x57, 0x0f, - 0xc5, 0xc9, 0x94, 0xa5, 0x5e, 0x60, 0x7d, 0x0f, 0x32, 0xfc, 0x08, 0xcd, 0xea, 0x2f, 0x2e, 0x3d, - 0xc0, 0x43, 0x0f, 0x00, 0x14, 0x61, 0xc6, 0xe6, 0x1e, 0xb2, 0x29, 0x32, 0x54, 0x90, 0xd1, 0xd7, - 0x21, 0x27, 0x6f, 0x8d, 0x74, 0xe9, 0x91, 0x42, 0x74, 0xfe, 0xc7, 0x8d, 0x9b, 0x2b, 0x7c, 0x43, - 0x5d, 0xfd, 0x62, 0x12, 0x67, 0x25, 0xb1, 0xd1, 0x47, 0x9f, 0x40, 0xc2, 0xa7, 0x7b, 0x0c, 0xec, - 0xb2, 0x46, 0x71, 0xa1, 0xd0, 0x6f, 0xb7, 0x4d, 0xef, 0xa9, 0x14, 0x24, 0x21, 0x2b, 0xfc, 0xa3, - 0x08, 0xc4, 0x09, 0x74, 0xc1, 0xd1, 0xf1, 0x0d, 0xba, 0xc3, 0xcf, 0x6e, 0x2f, 0x8a, 0x93, 0x0d, - 0xf6, 0x45, 0xe8, 0xcc, 0x86, 0xff, 0x97, 0xba, 0x3d, 0x14, 0x1c, 0xe0, 0xc5, 0x17, 0x1c, 0xe0, - 0x15, 0xff, 0xfa, 0x0a, 0x2c, 0x85, 0x4d, 0xae, 0x53, 0x79, 0x09, 0x97, 0x43, 0x9f, 0x00, 0x06, - 0x28, 0x12, 0x4a, 0x3c, 0xfc, 0xde, 0x8b, 0xde, 0x40, 0x7a, 0x2f, 0x3c, 0x85, 0x3e, 0x80, 0xd7, - 0x3d, 0xdf, 0x1c, 0x10, 0x0b, 0x96, 0x41, 0xba, 0x7b, 0xae, 0x33, 0xf2, 0xad, 0x51, 0x9f, 0xbb, - 0x31, 0xe7, 0x78, 0x76, 0x99, 0xe6, 0x6e, 0xf1, 0x4c, 0xf4, 0x3e, 0xac, 0x4e, 0xd1, 0xed, 0x12, - 0x23, 0x6b, 0xd4, 0xe7, 0x67, 0x17, 0x67, 0x43, 0x64, 0x9b, 0x2c, 0x8f, 0xf8, 0xc5, 0xf6, 0xc8, - 0xf3, 0xdd, 0x09, 0x5f, 0x03, 0x99, 0x5d, 0x1f, 0x82, 0xa1, 0x1b, 0xa0, 0xb1, 0x89, 0xce, 0xb5, - 0xf6, 0x2c, 0x97, 0xf8, 0x5f, 0x1e, 0x3f, 0xdb, 0x58, 0xa6, 0x70, 0x2c, 0xc1, 0xe8, 0x0d, 0xc8, - 0x31, 0xd4, 0xa1, 0x4d, 0x57, 0xc1, 0x34, 0x33, 0xd6, 0x28, 0xac, 0x46, 0x41, 0xa8, 0x00, 0xe9, - 0x5d, 0xd7, 0x1c, 0xf5, 0x0e, 0x2c, 0x7e, 0xc6, 0x81, 0x65, 0x1a, 0xbd, 0x09, 0x79, 0xf6, 0x5f, - 0xd0, 0x73, 0x7b, 0x9b, 0x01, 0x39, 0x83, 0x4b, 0x00, 0xbb, 0x13, 0x8f, 0x37, 0x92, 0xdb, 0xda, - 0x99, 0xdd, 0x89, 0xc7, 0x1a, 0x46, 0xb2, 0x5d, 0x6b, 0x4f, 0x64, 0x33, 0xeb, 0x3a, 0xe3, 0x5a, - 0x7b, 0x3c, 0xfb, 0x06, 0x10, 0x6f, 0xa8, 0xdb, 0x1b, 0x38, 0xbd, 0xa7, 0xd4, 0xb2, 0x8e, 0x30, - 0xc7, 0xb7, 0xdc, 0xec, 0x94, 0x09, 0x0c, 0xa7, 0x7b, 0xe3, 0x09, 0xfd, 0x47, 0x38, 0x11, 0x6d, - 0xe5, 0xb8, 0xc4, 0xa0, 0x8e, 0xe0, 0x0c, 0x81, 0xb0, 0xec, 0x0d, 0xc8, 0x8e, 0xcd, 0x7d, 0xab, - 0x4b, 0x0f, 0x4a, 0xa4, 0x31, 0x4d, 0x40, 0xf4, 0x66, 0x2d, 0x15, 0xc6, 0xd0, 0x1e, 0x39, 0xae, - 0xc0, 0xe0, 0xb6, 0x34, 0x85, 0x29, 0x28, 0xe6, 0x0f, 0x06, 0x28, 0x67, 0x38, 0x0a, 0x81, 0x71, - 0x14, 0x22, 0x7d, 0xd2, 0xc5, 0xcf, 0xfd, 0xae, 0xf7, 0xcc, 0xf6, 0xa9, 0xdc, 0x10, 0x97, 0x3e, - 0x83, 0xb7, 0x38, 0x18, 0x7d, 0x08, 0x4b, 0xa4, 0x6d, 0x43, 0x7b, 0xdf, 0xe5, 0x07, 0xe7, 0xd4, - 0x9e, 0x96, 0xee, 0x57, 0x4d, 0x66, 0x50, 0xf7, 0x2b, 0x48, 0x92, 0x42, 0xcc, 0x81, 0xbd, 0x4f, - 0xbf, 0x34, 0x10, 0x75, 0x61, 0x86, 0xf6, 0xb2, 0x84, 0x07, 0xf5, 0xb1, 0x86, 0x93, 0x01, 0xbb, - 0x2f, 0xc0, 0x51, 0x99, 0xb9, 0xbd, 0x2c, 0xe1, 0x1c, 0xf5, 0x1a, 0x2c, 0x0f, 0xde, 0xed, 0xf6, - 0x99, 0x46, 0x0c, 0x1c, 0x62, 0xfa, 0xac, 0xb2, 0x55, 0x72, 0xf0, 0x6e, 0x85, 0x42, 0xab, 0x04, - 0x48, 0x56, 0xec, 0x30, 0x9e, 0xe8, 0xfe, 0xd7, 0xd9, 0x8a, 0xad, 0x62, 0x73, 0x25, 0xb8, 0x0e, - 0x5a, 0x40, 0xe2, 0xf9, 0x8e, 0x6b, 0xb1, 0x0d, 0xd4, 0x38, 0x5e, 0x12, 0xd8, 0x2d, 0x0a, 0x45, - 0xef, 0xc1, 0xea, 0x14, 0xa6, 0xe0, 0x7e, 0x9e, 0xad, 0xae, 0x21, 0x7c, 0xce, 0xfe, 0x2e, 0x9c, - 0x0d, 0x88, 0xc6, 0x44, 0xef, 0x99, 0xe0, 0x0b, 0xe1, 0x0a, 0x35, 0x65, 0x0e, 0x7a, 0x00, 0xe7, - 0x67, 0x29, 0x44, 0x49, 0xcc, 0xd2, 0x5d, 0x9d, 0x26, 0xe3, 0x85, 0x31, 0x31, 0xd9, 0xaa, 0x98, - 0x2e, 0x0a, 0x31, 0x19, 0x33, 0x62, 0xb2, 0x67, 0xc5, 0x74, 0x49, 0xd4, 0xca, 0x98, 0x16, 0x13, - 0x6b, 0x87, 0x3d, 0xd3, 0x8e, 0xf5, 0x30, 0xc5, 0x4c, 0x3b, 0xec, 0xf9, 0xed, 0xd8, 0x10, 0xed, - 0x30, 0xe6, 0xb5, 0xe3, 0x06, 0x64, 0x06, 0x83, 0x1e, 0x6f, 0x01, 0x35, 0x5c, 0xd9, 0xd0, 0xaa, - 0x56, 0xcb, 0xb4, 0x01, 0x38, 0x3d, 0x18, 0xf4, 0x58, 0x53, 0x1e, 0xc0, 0xb2, 0x40, 0x15, 0xbc, - 0xdf, 0x08, 0x54, 0x95, 0x13, 0x30, 0xb6, 0x38, 0xcf, 0xa9, 0x78, 0x29, 0xb7, 0x00, 0x08, 0x29, - 0xef, 0x73, 0x6a, 0xa2, 0xb2, 0xfd, 0x8e, 0x6a, 0xb5, 0xcc, 0xba, 0x1c, 0x93, 0x6a, 0xf0, 0xde, - 0xff, 0x2a, 0x68, 0x12, 0x5b, 0x94, 0xf4, 0x26, 0xa5, 0x41, 0x47, 0x2f, 0x37, 0x96, 0x04, 0x0d, - 0x2f, 0x6a, 0x49, 0x10, 0xf2, 0xb2, 0x3e, 0x04, 0x02, 0x51, 0x05, 0x77, 0x25, 0x54, 0xcb, 0x40, - 0x6e, 0xb4, 0x96, 0x8a, 0x18, 0x75, 0x58, 0x51, 0x29, 0x45, 0xd1, 0xd4, 0x04, 0x65, 0x76, 0x98, - 0x42, 0xce, 0x4b, 0x3f, 0xa3, 0xb0, 0x08, 0x1a, 0xdb, 0xf7, 0x07, 0xbb, 0x5c, 0xa6, 0xd7, 0x82, - 0xc6, 0x56, 0xda, 0xd5, 0x4d, 0x26, 0xd4, 0x0c, 0x41, 0x60, 0x52, 0xfd, 0x2a, 0x68, 0x12, 0x5b, - 0x94, 0xf8, 0x56, 0xd0, 0x58, 0x41, 0x23, 0x1a, 0x2b, 0x08, 0x79, 0x59, 0x77, 0x20, 0x4b, 0xa9, - 0xb9, 0x64, 0xa9, 0xa1, 0xca, 0x6e, 0xe9, 0x10, 0x42, 0x2e, 0x5a, 0x5a, 0x1d, 0x2e, 0xdb, 0x4f, - 0xe1, 0x4c, 0x40, 0x20, 0xca, 0xa3, 0x26, 0x2b, 0xdb, 0xb3, 0x91, 0x64, 0xbc, 0xc0, 0x65, 0x49, - 0xcb, 0x4b, 0xfc, 0x08, 0x28, 0x48, 0x95, 0xef, 0xdb, 0xe1, 0xea, 0x2a, 0x02, 0xa6, 0xd5, 0x55, - 0x24, 0xbc, 0x03, 0x67, 0x43, 0xc4, 0xa2, 0x02, 0x37, 0x29, 0x07, 0xba, 0x83, 0xa6, 0x72, 0xe0, - 0x75, 0x40, 0x2a, 0x97, 0x40, 0xc8, 0x76, 0x20, 0xe4, 0x5b, 0x81, 0x90, 0x8d, 0x40, 0xc8, 0xb6, - 0x2a, 0x64, 0x7b, 0x5a, 0xc8, 0xef, 0x04, 0xb5, 0x36, 0xa6, 0x84, 0x6c, 0x87, 0x85, 0xfc, 0x06, - 0xf0, 0xc5, 0x8c, 0x97, 0x76, 0x9b, 0x4d, 0xf8, 0x0c, 0xc6, 0x0a, 0xb8, 0x05, 0x48, 0x41, 0x11, - 0x45, 0xdc, 0xa1, 0x88, 0x5a, 0x80, 0x18, 0xac, 0x86, 0x23, 0xa7, 0x2f, 0xe6, 0x8d, 0xbb, 0x6c, - 0xb9, 0x23, 0x10, 0xc6, 0xec, 0x3a, 0x68, 0x32, 0x5b, 0xb0, 0x7a, 0x97, 0xcd, 0x93, 0x02, 0x89, - 0x33, 0xda, 0x80, 0x2c, 0xc5, 0xe4, 0xdd, 0x7f, 0x8f, 0xef, 0xc4, 0x38, 0x7d, 0x31, 0x91, 0xbe, - 0x0d, 0x67, 0x02, 0x04, 0xc1, 0xeb, 0x3d, 0x36, 0xf3, 0x4b, 0x34, 0xce, 0xec, 0x2d, 0xa0, 0x20, - 0xb5, 0x67, 0xdf, 0x0f, 0x4a, 0x55, 0x7a, 0xf1, 0x2e, 0x9c, 0x0d, 0x21, 0x0a, 0xbe, 0xf7, 0xd9, - 0x04, 0xa5, 0x62, 0x33, 0xd6, 0xc5, 0x43, 0x48, 0xf1, 0x23, 0x78, 0xf4, 0x01, 0xa4, 0xcd, 0x7d, - 0xb2, 0x62, 0xc9, 0x6b, 0xce, 0xd3, 0x97, 0xfe, 0xe9, 0xc6, 0x3c, 0x4f, 0xe0, 0x14, 0x45, 0x36, - 0xa6, 0xec, 0xc5, 0xe8, 0xe9, 0xec, 0xc5, 0xe2, 0xcf, 0x22, 0x48, 0xd0, 0xf8, 0x26, 0x3c, 0xa8, - 0x40, 0x24, 0x14, 0xa6, 0x82, 0x47, 0x3e, 0x99, 0x31, 0x4d, 0xbf, 0x3e, 0xf5, 0x99, 0x57, 0x34, - 0x64, 0x74, 0xab, 0x9f, 0x79, 0x49, 0xa3, 0xfb, 0xd8, 0x4f, 0xbd, 0x1e, 0x2a, 0xcd, 0x8d, 0x85, - 0x83, 0x64, 0xf0, 0xe6, 0x2e, 0x73, 0x1e, 0xb3, 0x4d, 0x56, 0x3f, 0xd4, 0x88, 0x9f, 0xfc, 0xa1, - 0xc6, 0x69, 0xbf, 0x79, 0x33, 0x20, 0xa7, 0x7c, 0x84, 0x47, 0xcc, 0xc7, 0xd8, 0xfc, 0xaf, 0xf0, - 0x64, 0xeb, 0x02, 0x98, 0x87, 0xb3, 0xc1, 0x67, 0x78, 0xd3, 0xdf, 0x7c, 0xa4, 0x4e, 0x7d, 0xf5, - 0xfc, 0x2a, 0xc4, 0x26, 0xee, 0x80, 0x5f, 0xb6, 0x04, 0x71, 0xb2, 0x81, 0xab, 0xec, 0x13, 0xa0, - 0x0e, 0xae, 0x62, 0x92, 0x3f, 0x27, 0x6c, 0x45, 0xe6, 0x15, 0xc2, 0x56, 0xcc, 0xbb, 0x26, 0x09, - 0x5f, 0xea, 0x9a, 0x64, 0xf0, 0x81, 0x49, 0xf6, 0xa4, 0x0f, 0x4c, 0x7e, 0x29, 0x0f, 0x19, 0x19, - 0x2a, 0x06, 0xdd, 0x0f, 0x7d, 0x5f, 0x72, 0x41, 0xd5, 0xbb, 0xdb, 0x12, 0x6b, 0xf6, 0xd6, 0xda, - 0x7d, 0xe2, 0xe6, 0x4c, 0x46, 0x3d, 0x71, 0x6f, 0xed, 0xd2, 0x31, 0x84, 0x55, 0x8a, 0x84, 0x39, - 0x32, 0xfa, 0x10, 0x52, 0xec, 0x1a, 0xa5, 0xb8, 0xba, 0xb7, 0x7e, 0x0c, 0x1d, 0xbb, 0xad, 0x68, - 0x61, 0x81, 0x8e, 0x3e, 0x81, 0xcc, 0x64, 0x24, 0x68, 0xe3, 0xa1, 0xef, 0xd2, 0xa7, 0x69, 0x3b, - 0x02, 0x0f, 0x07, 0x24, 0xa4, 0xc2, 0x3d, 0x7a, 0x87, 0x84, 0xdf, 0x6a, 0x3b, 0xae, 0xc2, 0xec, - 0xa2, 0x09, 0xe6, 0xc8, 0xa4, 0xc2, 0x7d, 0xcb, 0xf3, 0x5d, 0xe7, 0x05, 0xbf, 0xb8, 0x7c, 0x5c, - 0x85, 0x2b, 0x0c, 0x0b, 0x0b, 0x74, 0xa4, 0x43, 0x8e, 0x35, 0xba, 0x4b, 0x37, 0x23, 0xf8, 0x5d, - 0xdf, 0xe2, 0x42, 0x39, 0x6d, 0x13, 0x4c, 0x9c, 0x1d, 0x04, 0x09, 0xb4, 0x03, 0x79, 0x56, 0x95, - 0x2e, 0xbf, 0x19, 0x99, 0x0e, 0x7d, 0x7a, 0x30, 0xbf, 0xfa, 0xfc, 0xbe, 0x64, 0xae, 0xa7, 0xa4, - 0xd0, 0x23, 0x58, 0xe2, 0x75, 0x13, 0xac, 0x32, 0xa1, 0x73, 0xb2, 0x63, 0x5a, 0xc4, 0x79, 0xe5, - 0xfb, 0x6a, 0x92, 0xb4, 0x8e, 0x57, 0x6b, 0x97, 0xba, 0x31, 0xb0, 0xb0, 0x75, 0xac, 0x56, 0x9b, - 0xd4, 0x11, 0xca, 0xf6, 0x82, 0x04, 0x69, 0x9d, 0xa8, 0x13, 0xe3, 0x93, 0x5d, 0xd8, 0x3a, 0x5e, - 0x25, 0xc6, 0x28, 0xd7, 0x57, 0x52, 0x7c, 0xf6, 0xcc, 0x85, 0xbe, 0x09, 0x52, 0x02, 0x22, 0xa9, - 0x77, 0x1c, 0x0b, 0x9f, 0x40, 0x92, 0xc9, 0x1b, 0xbd, 0xcf, 0x7d, 0x31, 0x32, 0xf2, 0xc4, 0x56, - 0xcf, 0xb2, 0xba, 0x2b, 0x10, 0xec, 0xb2, 0x50, 0x17, 0x8d, 0xa4, 0xbd, 0xc2, 0xff, 0x03, 0x59, - 0xa5, 0xbf, 0xd0, 0x7d, 0x48, 0x8b, 0x19, 0xe7, 0xe4, 0xcd, 0x1a, 0x89, 0x8a, 0x1e, 0xf0, 0xb2, - 0x99, 0x7a, 0x44, 0x43, 0x1f, 0x82, 0x90, 0xb2, 0xb7, 0xc5, 0x1e, 0x96, 0x5a, 0x01, 0x0a, 0x2c, - 0x7c, 0x42, 0x16, 0x2b, 0xa6, 0xd7, 0xa1, 0xf9, 0x35, 0x72, 0xba, 0xf9, 0xb5, 0xf0, 0x35, 0xc8, - 0xc8, 0x41, 0xf2, 0xe5, 0x38, 0x3c, 0x80, 0x24, 0xeb, 0x54, 0x74, 0x07, 0x52, 0x4c, 0x9d, 0x4e, - 0x20, 0x16, 0x58, 0x85, 0x87, 0x90, 0xe2, 0xfd, 0xf8, 0xea, 0xb4, 0x3f, 0x1a, 0x81, 0x9c, 0xaa, - 0xe2, 0xe8, 0x1d, 0xe5, 0xc8, 0x38, 0x7a, 0x3c, 0x03, 0x71, 0x50, 0xfc, 0x08, 0xb2, 0xbe, 0xe9, - 0xee, 0x5b, 0x7e, 0x57, 0xf9, 0x7e, 0xe0, 0x55, 0xee, 0xec, 0x02, 0x23, 0x27, 0x90, 0xc2, 0x27, - 0x90, 0x0f, 0x8d, 0x11, 0x52, 0x19, 0x3e, 0xb2, 0x16, 0x57, 0x86, 0x21, 0x15, 0xbe, 0x0a, 0x59, - 0x65, 0x60, 0xbc, 0x62, 0x53, 0x0a, 0x1f, 0x41, 0x4e, 0x1d, 0x0e, 0xe8, 0x26, 0x24, 0xd8, 0x10, - 0x5a, 0x48, 0xcd, 0x70, 0x8a, 0xbf, 0x18, 0x39, 0xe6, 0xca, 0x77, 0xb5, 0xd4, 0xa9, 0x97, 0x77, - 0xd8, 0x17, 0x6a, 0xec, 0x7f, 0x77, 0x1b, 0x37, 0x3a, 0x4d, 0x2d, 0x49, 0x50, 0xd9, 0x17, 0x81, - 0xba, 0x16, 0x45, 0x79, 0xc8, 0x74, 0xea, 0x22, 0x19, 0xa3, 0x1f, 0x34, 0x63, 0xbd, 0xd4, 0xd6, - 0xb5, 0x38, 0xfb, 0xd2, 0xb9, 0xd5, 0xc6, 0x8d, 0xcf, 0xb5, 0x04, 0x3a, 0x03, 0x79, 0x96, 0xd1, - 0x7d, 0xdc, 0xa8, 0x76, 0x6a, 0xba, 0x96, 0x42, 0x08, 0x96, 0x78, 0xbe, 0x80, 0xa5, 0x49, 0x69, - 0x1c, 0x8d, 0x5d, 0xea, 0xcd, 0x10, 0x42, 0x81, 0xc5, 0x40, 0xc0, 0x3f, 0x91, 0xfb, 0xed, 0x28, - 0xe4, 0x8c, 0xd1, 0xa1, 0xe5, 0x7a, 0x16, 0xb3, 0x9b, 0xee, 0x2c, 0xb0, 0x9b, 0xa4, 0xe5, 0xc2, - 0x01, 0xd4, 0x78, 0xe2, 0x4b, 0x7b, 0xf4, 0x84, 0xa5, 0x7d, 0xda, 0xc6, 0x8a, 0x7d, 0x1f, 0x36, - 0x96, 0x6a, 0x52, 0xc6, 0x5f, 0xc1, 0xa4, 0x2c, 0xcf, 0x98, 0x17, 0x09, 0x5a, 0x8b, 0xf9, 0xe6, - 0x85, 0xd8, 0x2f, 0x9f, 0x32, 0x32, 0x42, 0x03, 0x3c, 0x79, 0x4a, 0xbb, 0xf4, 0x28, 0x0e, 0x69, - 0x31, 0x03, 0x2e, 0xd8, 0x4e, 0xfd, 0x00, 0x52, 0x6c, 0x02, 0x3d, 0x66, 0x4f, 0x75, 0x89, 0x8b, - 0x86, 0x47, 0xdd, 0xc3, 0x49, 0x3a, 0x8b, 0x7e, 0x7f, 0x46, 0x67, 0xa8, 0x3d, 0xf1, 0x53, 0x9a, - 0x94, 0x77, 0x94, 0x49, 0x3a, 0x11, 0xba, 0x72, 0xa3, 0x4e, 0xd2, 0xca, 0xf4, 0x2c, 0x02, 0x38, - 0x24, 0x95, 0x00, 0x0e, 0xaf, 0x16, 0x8b, 0xe1, 0x3e, 0xe4, 0x0e, 0x68, 0x84, 0x96, 0x2e, 0x8d, - 0xdc, 0x35, 0x15, 0x8b, 0x41, 0x09, 0xde, 0x82, 0xb3, 0x07, 0x4a, 0xf0, 0x9d, 0xd0, 0xf7, 0xa7, - 0x99, 0xd3, 0x85, 0x52, 0x08, 0x76, 0x9d, 0x61, 0x71, 0x34, 0x03, 0x25, 0xe2, 0x42, 0xf6, 0x74, - 0x11, 0x17, 0xee, 0x41, 0xf6, 0xa9, 0x3d, 0x18, 0x74, 0xc7, 0x34, 0xce, 0x09, 0x5f, 0x61, 0x85, - 0x79, 0x19, 0x04, 0x40, 0xc1, 0xf0, 0x34, 0x08, 0x86, 0x72, 0x0d, 0x12, 0xac, 0xc9, 0xf9, 0xd0, - 0x07, 0x52, 0x32, 0x9e, 0x0b, 0x66, 0xd9, 0xc5, 0xaf, 0x42, 0x3e, 0xb4, 0xd2, 0xd1, 0x63, 0x13, - 0x7a, 0x00, 0xb0, 0x70, 0x29, 0x66, 0x38, 0xc5, 0x7f, 0x97, 0x38, 0x71, 0xb7, 0xff, 0xcb, 0xaa, - 0xe7, 0x5f, 0xe4, 0xd8, 0xdf, 0x0c, 0x47, 0x14, 0x89, 0x87, 0x04, 0xa8, 0xf8, 0x32, 0x4b, 0x0b, - 0xa2, 0x89, 0xa8, 0xc3, 0x25, 0xf1, 0x8a, 0xc3, 0xe5, 0x1a, 0x8d, 0x31, 0xe8, 0x5b, 0x6b, 0x49, - 0xba, 0xda, 0x69, 0x8a, 0x04, 0x5a, 0x04, 0x8e, 0x59, 0x76, 0x78, 0x58, 0xa5, 0x4e, 0x39, 0xac, - 0xde, 0x53, 0x62, 0x00, 0xa5, 0x43, 0x5e, 0x9a, 0xe0, 0x3f, 0x11, 0xc7, 0x78, 0x41, 0x70, 0xa0, - 0xaf, 0xc1, 0x0a, 0xfb, 0xdf, 0x9d, 0x8c, 0xfb, 0xc4, 0x86, 0x64, 0xf5, 0xcb, 0x50, 0x17, 0x64, - 0xb6, 0x7e, 0x67, 0x18, 0x72, 0x87, 0xe2, 0x52, 0x10, 0xda, 0x04, 0x14, 0xe6, 0x30, 0x99, 0xd8, - 0xec, 0xf3, 0xb4, 0x1c, 0xbb, 0x2c, 0xd5, 0x52, 0x48, 0x3a, 0x1d, 0xa3, 0x82, 0x35, 0x95, 0x49, - 0x67, 0x62, 0xf7, 0x4f, 0x1b, 0x78, 0xee, 0xcb, 0x44, 0x29, 0x09, 0x0d, 0xe1, 0xfc, 0xe9, 0x86, - 0xb0, 0x08, 0xb9, 0xb3, 0x14, 0x84, 0xdc, 0x29, 0xd6, 0x60, 0xb5, 0x4d, 0x2f, 0xce, 0x32, 0x71, - 0xd3, 0x93, 0x62, 0xe6, 0xb6, 0x7d, 0x19, 0xa3, 0xad, 0x78, 0x11, 0xe2, 0x44, 0x16, 0x41, 0xcc, - 0x1f, 0x32, 0x60, 0x72, 0xe2, 0x43, 0xd5, 0xdf, 0x8d, 0xaa, 0x7e, 0xe1, 0x74, 0x20, 0x99, 0xc8, - 0x97, 0x0c, 0x24, 0xa3, 0xae, 0x7c, 0xd1, 0x57, 0x58, 0xf9, 0xee, 0x42, 0x9c, 0xba, 0xc3, 0x6c, - 0xe4, 0xad, 0xce, 0x77, 0x08, 0xc4, 0x58, 0xb7, 0x59, 0x74, 0x81, 0xfc, 0xc0, 0xf4, 0x2d, 0xcf, - 0xef, 0xb2, 0xae, 0xe6, 0x27, 0x91, 0xab, 0xd3, 0xce, 0x40, 0x48, 0x29, 0x73, 0x8c, 0x84, 0xc1, - 0xd0, 0x87, 0x8a, 0x36, 0x27, 0x42, 0x01, 0x98, 0xe6, 0x53, 0x07, 0x2a, 0xfd, 0x0e, 0xc4, 0xa9, - 0x0a, 0x26, 0x69, 0x99, 0x59, 0xb1, 0x3c, 0x77, 0x8c, 0x8a, 0x12, 0xab, 0x89, 0xe8, 0x21, 0x45, - 0x2b, 0xfe, 0x44, 0x14, 0x96, 0xa7, 0x58, 0x12, 0x89, 0x3b, 0x02, 0x34, 0x2b, 0x71, 0xd5, 0x97, - 0xa1, 0x12, 0x57, 0x00, 0x38, 0x2b, 0x09, 0x8d, 0x3e, 0x7a, 0x57, 0x8c, 0x77, 0x66, 0xdd, 0x9e, - 0x9b, 0xd7, 0x02, 0x4b, 0x89, 0x2c, 0x4a, 0x3f, 0x31, 0x4e, 0x0d, 0x2d, 0xcf, 0x33, 0xf7, 0xc5, - 0x17, 0x85, 0x22, 0x89, 0xb6, 0x60, 0xa5, 0xe7, 0x10, 0x6b, 0xcb, 0xb7, 0xfa, 0xdd, 0x53, 0xae, - 0xba, 0x48, 0x52, 0x60, 0x39, 0x4f, 0xdc, 0xe0, 0xf2, 0x61, 0x4b, 0x6f, 0x48, 0x3e, 0xe9, 0x29, - 0xd9, 0xbc, 0x8c, 0xc2, 0x32, 0x5d, 0x29, 0x98, 0x5c, 0xf8, 0xf6, 0xc6, 0xc9, 0x11, 0x0c, 0xe5, - 0xf7, 0x74, 0x53, 0x11, 0x22, 0xd6, 0x55, 0xec, 0x80, 0xe7, 0x6c, 0x04, 0xc3, 0x07, 0xa1, 0x08, - 0x86, 0x17, 0x8e, 0x21, 0x9b, 0x1b, 0xc7, 0xf0, 0x3e, 0x0b, 0xcf, 0x16, 0x0f, 0x7d, 0x1f, 0x3b, - 0x4d, 0x39, 0x1b, 0x48, 0xf0, 0x5a, 0x10, 0x48, 0xf0, 0x02, 0x64, 0xac, 0xe7, 0xf4, 0xe6, 0x50, - 0x9f, 0x35, 0x33, 0x41, 0x6c, 0x11, 0xdb, 0x2f, 0x3b, 0x7d, 0xab, 0xf0, 0x16, 0x8f, 0x18, 0xb8, - 0x01, 0x59, 0x3e, 0xed, 0x49, 0xb4, 0x3c, 0x3b, 0x8c, 0x9f, 0x78, 0x14, 0xf1, 0x4d, 0x16, 0x24, - 0xf0, 0x22, 0x64, 0xbc, 0x49, 0xaf, 0x67, 0x59, 0x7d, 0x8b, 0xe9, 0x51, 0x1a, 0x07, 0x80, 0xe2, - 0x9f, 0x2e, 0x01, 0x04, 0xb3, 0xb3, 0xba, 0x46, 0x46, 0x5e, 0x65, 0x8d, 0xbc, 0x16, 0xd6, 0xb3, - 0x63, 0xd7, 0x15, 0x61, 0x48, 0xc5, 0x14, 0x43, 0x4a, 0x51, 0xb8, 0x78, 0x58, 0xe1, 0x3e, 0x08, - 0xad, 0x74, 0xa7, 0x9f, 0x2f, 0x2e, 0xaa, 0xa7, 0xe7, 0x49, 0x7e, 0xa8, 0x2a, 0xcf, 0xcd, 0xa7, - 0xd6, 0xe0, 0xd4, 0x97, 0x59, 0x83, 0xd7, 0x20, 0xc5, 0xcc, 0xb4, 0x17, 0xd4, 0x92, 0x4b, 0x63, - 0x91, 0x44, 0x77, 0xa5, 0xe7, 0x96, 0x09, 0x85, 0x89, 0x0a, 0x84, 0x3c, 0x7d, 0x61, 0xf9, 0x2e, - 0x24, 0x5d, 0xcb, 0xf4, 0x1c, 0x16, 0x0f, 0x66, 0x2e, 0x05, 0xa6, 0xf9, 0x98, 0xe3, 0xa1, 0x8b, - 0x7c, 0x00, 0x65, 0xe9, 0x1a, 0x37, 0x35, 0x66, 0x94, 0xb5, 0x2c, 0xb7, 0x68, 0x2d, 0x2b, 0xb1, - 0x43, 0x5f, 0x76, 0x57, 0x83, 0xcf, 0x92, 0x6c, 0x79, 0x5a, 0x9d, 0x5e, 0x9e, 0x58, 0x2d, 0xd8, - 0x61, 0xb0, 0x02, 0x40, 0x0f, 0x41, 0x9b, 0xb0, 0x6f, 0x67, 0xe8, 0x85, 0x22, 0x22, 0x62, 0x1e, - 0x41, 0x6b, 0x3a, 0x78, 0x31, 0x5e, 0x56, 0x10, 0x09, 0x10, 0x3d, 0x80, 0x1c, 0xb5, 0xfb, 0x44, - 0xd1, 0xcb, 0xe1, 0xa2, 0xc3, 0xc3, 0x05, 0x67, 0x7b, 0x01, 0x00, 0x7d, 0x0c, 0xec, 0x1a, 0x36, - 0xbb, 0xfa, 0xa0, 0x85, 0xb6, 0xf0, 0xe6, 0x2f, 0x91, 0x58, 0x21, 0x28, 0x6e, 0xca, 0xcf, 0x75, - 0xcf, 0x40, 0x9e, 0x47, 0xae, 0xa9, 0x95, 0x5a, 0x6d, 0x1d, 0xb3, 0x98, 0x44, 0x1c, 0x44, 0x43, - 0x13, 0x69, 0x11, 0xb4, 0x02, 0xcb, 0x1c, 0xa2, 0x7f, 0xa6, 0x97, 0x3b, 0xed, 0x06, 0xd6, 0xa2, - 0xc5, 0x5f, 0x4e, 0x43, 0x92, 0x75, 0x0a, 0x2a, 0xc2, 0x3a, 0xd6, 0x4b, 0xad, 0x46, 0xbd, 0xcb, - 0xe3, 0x04, 0x4a, 0xbc, 0xee, 0x56, 0xc9, 0xa8, 0xea, 0x15, 0xed, 0xb5, 0x10, 0x4e, 0xbd, 0x5d, - 0x32, 0xea, 0x3a, 0xee, 0x72, 0x8f, 0x9a, 0xe3, 0x9c, 0x43, 0x1b, 0x70, 0x61, 0x16, 0xc7, 0xa8, - 0x19, 0x6d, 0x1a, 0x74, 0x47, 0x5b, 0x41, 0x57, 0xe0, 0xf2, 0x02, 0x84, 0x6e, 0xc5, 0x68, 0x3d, - 0xd2, 0xce, 0xa2, 0x6b, 0x50, 0x5c, 0x84, 0x55, 0xd3, 0x6b, 0x0d, 0xfc, 0xb9, 0x96, 0x46, 0xeb, - 0x50, 0x98, 0xc1, 0x6b, 0x62, 0x5d, 0xaf, 0x35, 0xdb, 0x7a, 0x45, 0x3b, 0x33, 0xb7, 0xca, 0x2c, - 0x4e, 0x93, 0xa8, 0xf2, 0x2a, 0xba, 0x0e, 0x57, 0x38, 0x8e, 0x6c, 0x32, 0xd6, 0xb7, 0x8d, 0x56, - 0x1b, 0xb3, 0xc2, 0xda, 0x46, 0x4d, 0x6f, 0x74, 0xda, 0xda, 0xeb, 0xe8, 0x6d, 0xb8, 0x36, 0x8b, - 0x39, 0x17, 0x77, 0x4d, 0xa9, 0x99, 0xc4, 0x6d, 0xeb, 0xb8, 0x66, 0xd4, 0x4b, 0xa4, 0x66, 0x11, - 0x74, 0x19, 0x2e, 0x4e, 0xe7, 0x77, 0xea, 0x8c, 0x97, 0x8e, 0xf5, 0x8a, 0x16, 0x45, 0x17, 0x61, - 0x8d, 0x63, 0x6c, 0xe1, 0x52, 0x4d, 0x7f, 0xd2, 0xc0, 0x8f, 0xba, 0x58, 0xaf, 0x35, 0x1e, 0xeb, - 0x15, 0x2d, 0x46, 0x3a, 0x94, 0xe7, 0x6e, 0x97, 0xbb, 0x3a, 0xc6, 0x0d, 0xac, 0xc5, 0x95, 0x42, - 0x8d, 0xfa, 0xe3, 0x52, 0xd5, 0xa8, 0x04, 0xa4, 0x46, 0x45, 0x4b, 0xa0, 0xf3, 0x70, 0x6e, 0x2a, - 0xbf, 0xb1, 0xb5, 0xa5, 0xe3, 0x96, 0x96, 0x54, 0xea, 0x63, 0x34, 0xba, 0xad, 0x27, 0x46, 0xbb, - 0xbc, 0xb3, 0xd9, 0x28, 0x61, 0xa2, 0x07, 0x06, 0xa9, 0xf1, 0x05, 0x85, 0x39, 0xd3, 0x33, 0xd2, - 0x57, 0xe5, 0x46, 0xbd, 0xae, 0x97, 0x49, 0x7e, 0x4a, 0x61, 0x8e, 0xf5, 0x72, 0xa3, 0x5e, 0x36, - 0xaa, 0x06, 0xeb, 0xf4, 0x8c, 0xd2, 0x14, 0x19, 0x2b, 0xb8, 0x2b, 0x36, 0x69, 0x10, 0xba, 0x04, - 0xe7, 0x79, 0x2e, 0x0b, 0xa4, 0x15, 0xe2, 0x0b, 0x68, 0x0d, 0xce, 0x86, 0xb2, 0x85, 0x0c, 0xb2, - 0x8a, 0x2e, 0x85, 0x72, 0xba, 0x9b, 0x9f, 0x77, 0x1b, 0x4d, 0x1d, 0x97, 0x88, 0x96, 0x6f, 0xcc, - 0xb0, 0x17, 0x5d, 0x46, 0xc5, 0x7c, 0x99, 0x85, 0x85, 0x0a, 0x65, 0xb7, 0xda, 0x25, 0x4c, 0x8a, - 0xce, 0xcd, 0x14, 0x2d, 0xea, 0x9c, 0x57, 0x8a, 0x96, 0xf1, 0x92, 0xf5, 0x4a, 0xb7, 0xd2, 0xc1, - 0x46, 0x7d, 0x9b, 0x0f, 0x0a, 0x6d, 0x7d, 0x1a, 0xab, 0xbc, 0xa3, 0x97, 0x1f, 0xd1, 0x98, 0xca, - 0x9d, 0x16, 0x57, 0xc3, 0x8a, 0x76, 0x11, 0xdd, 0x84, 0xb7, 0x54, 0xac, 0x1d, 0xbd, 0x54, 0x6d, - 0xef, 0xcc, 0x47, 0xbe, 0xa4, 0xb4, 0x86, 0x22, 0xd3, 0xad, 0x2c, 0xd1, 0x9b, 0xda, 0x79, 0x45, - 0xe1, 0x95, 0xec, 0x4e, 0xbd, 0xd4, 0x69, 0xef, 0x34, 0xb0, 0xf1, 0x4d, 0xbd, 0xa2, 0x15, 0x58, - 0xf4, 0xe7, 0x00, 0x47, 0x10, 0x2f, 0x29, 0xdd, 0x44, 0x33, 0x42, 0x64, 0xcb, 0xd3, 0x64, 0x42, - 0x16, 0x5a, 0xf1, 0x3d, 0x48, 0x6d, 0xd9, 0x03, 0xdf, 0xa2, 0x5f, 0x29, 0x2e, 0xb9, 0xd6, 0xde, - 0xc4, 0xb3, 0xba, 0x41, 0x1c, 0x7d, 0x1a, 0x18, 0xfc, 0x3e, 0xce, 0xb3, 0x0c, 0x1e, 0x5f, 0xb6, - 0xf8, 0x0f, 0xa3, 0x90, 0x55, 0x42, 0x78, 0xa2, 0x4f, 0x21, 0x73, 0x68, 0xba, 0x36, 0x99, 0x59, - 0x85, 0xf9, 0x7f, 0x61, 0x36, 0xd2, 0xe7, 0xed, 0xc7, 0x1c, 0x47, 0xb8, 0x02, 0x92, 0xa6, 0xf0, - 0x6b, 0x11, 0x48, 0x8b, 0xdc, 0x05, 0xfe, 0xb3, 0xf4, 0x14, 0xa2, 0x6a, 0x74, 0xd0, 0x8f, 0x64, - 0x58, 0x26, 0x35, 0x26, 0xd9, 0xbc, 0x82, 0xa9, 0x61, 0xf6, 0x30, 0xf1, 0xb8, 0x54, 0xed, 0xe8, - 0xdc, 0x3e, 0xbb, 0x0a, 0x49, 0xcf, 0xea, 0xb9, 0x32, 0x72, 0x90, 0x58, 0xaa, 0x5a, 0x14, 0x88, - 0x79, 0x66, 0xf1, 0xee, 0xbc, 0x0d, 0xca, 0x0c, 0x30, 0x56, 0x2c, 0x84, 0x62, 0x4b, 0x2f, 0x63, - 0xbd, 0x2d, 0x63, 0x67, 0x7d, 0x0a, 0x19, 0x19, 0x93, 0x1f, 0xad, 0x42, 0xec, 0xa9, 0xf5, 0x22, - 0xd4, 0x22, 0x02, 0x08, 0x22, 0xf5, 0x44, 0x67, 0x23, 0xf5, 0x6c, 0x02, 0x48, 0x06, 0x1e, 0x7a, - 0x1f, 0x32, 0x63, 0x91, 0xe2, 0x22, 0x3e, 0x2e, 0xf4, 0x7f, 0x80, 0x58, 0xdc, 0x01, 0x28, 0xbb, - 0x56, 0xdf, 0x1a, 0xf9, 0xb6, 0x39, 0x40, 0xc5, 0x70, 0xac, 0x8f, 0xa0, 0x44, 0x25, 0xe2, 0xc7, - 0xaa, 0x94, 0x47, 0x94, 0x47, 0xd7, 0x65, 0x02, 0xd8, 0xa1, 0xbb, 0xc3, 0x9c, 0x93, 0x87, 0x1e, - 0x40, 0xb6, 0x17, 0x24, 0x79, 0x85, 0x84, 0x05, 0x13, 0x20, 0x8a, 0x37, 0x18, 0x14, 0xdc, 0xe2, - 0x4f, 0x45, 0x21, 0xc9, 0xa4, 0x8b, 0x6e, 0x85, 0xec, 0x68, 0x14, 0x12, 0xfd, 0xbc, 0x43, 0xbe, - 0x8c, 0xbc, 0x9b, 0xc7, 0x8d, 0xe9, 0xd7, 0xc3, 0x24, 0xf2, 0x8e, 0x1e, 0x0e, 0x30, 0xd1, 0x0d, - 0x35, 0xa4, 0x6c, 0xb0, 0xcf, 0xc6, 0x49, 0x68, 0x94, 0x1c, 0x11, 0xd2, 0xe9, 0x2b, 0x90, 0x91, - 0x2c, 0x16, 0xa8, 0xa1, 0xc6, 0x7a, 0x93, 0x09, 0x88, 0xfc, 0x2d, 0x5c, 0x10, 0xc1, 0xb0, 0x84, - 0x75, 0xc9, 0x5c, 0x59, 0xfa, 0xbf, 0xf8, 0xde, 0x3c, 0xdd, 0xc9, 0x43, 0x06, 0xeb, 0x5b, 0x3a, - 0xd6, 0xeb, 0x34, 0x02, 0x9b, 0x54, 0x25, 0xa1, 0x3e, 0x7b, 0x90, 0xc1, 0xa6, 0xcf, 0x0c, 0x08, - 0x74, 0x1e, 0x62, 0x5f, 0x8c, 0xf9, 0x70, 0x64, 0x36, 0xfb, 0x37, 0x9a, 0x2d, 0x4c, 0x60, 0xe1, - 0x3e, 0x8d, 0xce, 0xef, 0xd3, 0x02, 0xa4, 0x7b, 0xe6, 0xd8, 0xec, 0x89, 0x67, 0x0c, 0xe2, 0x58, - 0xa6, 0x8b, 0xbf, 0x12, 0x01, 0x90, 0x05, 0x79, 0xe8, 0x36, 0x24, 0x79, 0x2c, 0x88, 0xb0, 0x8e, - 0x49, 0x14, 0xb1, 0xed, 0xcf, 0xe3, 0x43, 0x3c, 0x82, 0x73, 0xe6, 0xfe, 0xbe, 0x6b, 0xed, 0x9b, - 0xbe, 0xd5, 0x15, 0x81, 0xce, 0x48, 0x5d, 0xd9, 0x97, 0x62, 0xaf, 0x1f, 0xbd, 0xdc, 0x58, 0x29, - 0x09, 0x04, 0x1e, 0x6e, 0x81, 0xd4, 0x7d, 0xc5, 0x9c, 0x06, 0x8e, 0x3d, 0xf4, 0x55, 0x28, 0xcc, - 0x32, 0x9b, 0xaa, 0xf9, 0xda, 0x34, 0x61, 0x59, 0xb4, 0xe4, 0xa7, 0x63, 0x90, 0x30, 0x86, 0xc4, - 0x68, 0xbf, 0x3a, 0x37, 0x22, 0x19, 0xcd, 0x53, 0x5d, 0xb3, 0xab, 0x10, 0x37, 0xc7, 0xe3, 0x1e, - 0x57, 0xa5, 0x30, 0x5a, 0x69, 0x3c, 0xee, 0x61, 0x9a, 0x8d, 0x6e, 0x42, 0xb2, 0xef, 0xf4, 0x9e, - 0x5a, 0xd3, 0x61, 0x9b, 0x18, 0x62, 0x85, 0x66, 0x61, 0x8e, 0x82, 0x2e, 0x42, 0x92, 0x5e, 0x1a, - 0x63, 0x1b, 0x6b, 0x22, 0x2c, 0x30, 0x87, 0x15, 0xba, 0x10, 0x27, 0x8c, 0x17, 0xa8, 0xd6, 0x2a, - 0xbf, 0x0f, 0x3c, 0x1d, 0x07, 0x25, 0xb0, 0xa8, 0x63, 0x0b, 0x2c, 0xea, 0xc2, 0xb7, 0x23, 0x90, - 0x64, 0x35, 0x5a, 0x50, 0xc6, 0x7d, 0x80, 0x60, 0x3c, 0x4e, 0xb5, 0x5e, 0x19, 0xba, 0xd1, 0xb5, - 0x08, 0x56, 0x10, 0x49, 0x15, 0x7a, 0xce, 0x68, 0xcf, 0xde, 0x9f, 0xaa, 0x82, 0x98, 0x29, 0x59, - 0x66, 0xb1, 0xc8, 0xb5, 0x3d, 0x0d, 0xf1, 0x52, 0xb3, 0x59, 0x66, 0x73, 0x63, 0xa5, 0x51, 0x7e, - 0xa4, 0x63, 0xa9, 0xdc, 0x3f, 0x12, 0x01, 0x8d, 0x46, 0x5d, 0x69, 0xba, 0xce, 0xd8, 0xdc, 0x67, - 0x5b, 0x3c, 0x77, 0xf9, 0xfb, 0x1c, 0x6c, 0x32, 0x90, 0xb1, 0x42, 0xa7, 0xd0, 0x94, 0x47, 0x3a, - 0x8a, 0x65, 0xfe, 0xca, 0x46, 0x68, 0x60, 0x9d, 0x83, 0x33, 0x3b, 0x8d, 0x56, 0xbb, 0xdb, 0x6e, - 0x04, 0x66, 0xa3, 0x16, 0x21, 0x86, 0xf6, 0xa6, 0x51, 0x31, 0xb0, 0x5e, 0x26, 0x66, 0x4d, 0xa9, - 0x2a, 0xeb, 0xf2, 0x87, 0x29, 0x48, 0xf2, 0x03, 0xb3, 0x9b, 0xb0, 0x14, 0xf8, 0x23, 0x34, 0x0a, - 0x8e, 0x2a, 0xbc, 0xbc, 0xcc, 0xa3, 0xc1, 0x64, 0x2e, 0x40, 0xe6, 0xc0, 0xf1, 0xfc, 0xae, 0x12, - 0x9f, 0x9c, 0x5e, 0x33, 0xa1, 0x99, 0xd7, 0x78, 0x5b, 0x62, 0x54, 0x03, 0x51, 0x28, 0x6e, 0x90, - 0xfa, 0xcc, 0x48, 0x11, 0x12, 0xf6, 0x50, 0xb8, 0x9d, 0xd9, 0x7b, 0x39, 0x55, 0xb5, 0x30, 0xcb, - 0x42, 0xb7, 0xa4, 0x3b, 0x97, 0x08, 0x6d, 0xdd, 0x71, 0x6e, 0x53, 0x31, 0x85, 0x7e, 0x2c, 0x29, - 0x7d, 0x8b, 0xf7, 0x42, 0xb3, 0xeb, 0xf9, 0x79, 0x64, 0xb3, 0x93, 0xec, 0x16, 0xe4, 0x99, 0x2a, - 0x77, 0x43, 0xa1, 0x8f, 0xde, 0x98, 0x4b, 0xcd, 0x54, 0x4d, 0x1c, 0xef, 0xf7, 0x95, 0x14, 0x2a, - 0x43, 0xce, 0x33, 0x47, 0xfd, 0x5d, 0xe7, 0x79, 0x57, 0x3e, 0x61, 0x13, 0xdc, 0x91, 0x08, 0xb3, - 0x69, 0x31, 0x44, 0x1a, 0x4b, 0x28, 0xeb, 0x05, 0x89, 0x53, 0x2e, 0xce, 0xe8, 0xa1, 0xda, 0x15, - 0xe1, 0xfb, 0x14, 0xe1, 0x82, 0x76, 0x78, 0xff, 0x04, 0x3d, 0x55, 0xf8, 0x16, 0xe4, 0xd4, 0x56, - 0x90, 0xf5, 0xaf, 0xef, 0xda, 0x87, 0x74, 0x91, 0xa5, 0xeb, 0x1f, 0x4b, 0x2d, 0x08, 0x6f, 0xf9, - 0x21, 0x2c, 0x31, 0x9c, 0xae, 0x33, 0x66, 0xf7, 0x91, 0x63, 0xa1, 0x21, 0x15, 0x2c, 0xe2, 0x38, - 0xcf, 0x10, 0x1b, 0x0c, 0xaf, 0xf0, 0x83, 0x90, 0x16, 0x35, 0xa2, 0xc1, 0x5a, 0xa7, 0x35, 0x8e, - 0xc5, 0x55, 0xaa, 0xc0, 0x19, 0x1a, 0x23, 0xa9, 0x3b, 0x0e, 0x46, 0xc1, 0xd4, 0xf2, 0x37, 0x3d, - 0x48, 0xb0, 0x36, 0x9c, 0x82, 0x14, 0x7e, 0x22, 0x02, 0x59, 0x45, 0xce, 0xe8, 0xd3, 0x90, 0x72, - 0x5c, 0x3d, 0xa9, 0x5f, 0x66, 0x15, 0x65, 0x4d, 0x06, 0x8a, 0x9a, 0xaa, 0x70, 0xf1, 0xce, 0x31, - 0x51, 0x93, 0x5a, 0x7a, 0x75, 0x8b, 0x4d, 0x07, 0xcd, 0x12, 0x26, 0x9e, 0xad, 0x18, 0x82, 0x9f, - 0xcf, 0x23, 0x38, 0x03, 0x79, 0x36, 0x6b, 0x88, 0x63, 0xd9, 0x08, 0x59, 0x33, 0xe9, 0xd0, 0xa6, - 0xe1, 0x97, 0xe2, 0xd4, 0x51, 0x2e, 0xd5, 0x2b, 0x9b, 0x8d, 0xcf, 0x18, 0x24, 0xaa, 0x58, 0x61, - 0x22, 0x2a, 0xfe, 0x6a, 0xf0, 0x10, 0x0f, 0x7e, 0xa2, 0x45, 0xe8, 0x6f, 0x43, 0x8b, 0x16, 0xff, - 0x76, 0x1c, 0xb2, 0x4a, 0x44, 0x7e, 0xd2, 0xed, 0xf4, 0xe2, 0x03, 0xfb, 0xb2, 0x22, 0x83, 0x79, - 0xea, 0x94, 0xdf, 0x4f, 0xa0, 0x36, 0xe4, 0xec, 0x71, 0x97, 0x07, 0x4a, 0x96, 0xbb, 0xb5, 0x17, - 0xe7, 0x84, 0xfe, 0x37, 0x9a, 0xe2, 0xad, 0x27, 0x79, 0x54, 0x23, 0x41, 0x96, 0x87, 0xb3, 0xf6, - 0x58, 0x26, 0x64, 0xd4, 0xf3, 0xa4, 0x12, 0xf5, 0xdc, 0x80, 0xfc, 0xd8, 0x71, 0x7d, 0xfa, 0x89, - 0xad, 0x3d, 0xda, 0x17, 0x47, 0x23, 0xeb, 0xf3, 0x5e, 0x19, 0x70, 0x5c, 0xbf, 0xc6, 0xd0, 0xc4, - 0xf6, 0xf2, 0x38, 0x00, 0x79, 0x85, 0xe7, 0x90, 0x91, 0x45, 0x87, 0x1e, 0x2e, 0x88, 0xbc, 0xf2, - 0xc3, 0x05, 0xf4, 0x76, 0xa9, 0x14, 0x00, 0x5f, 0xbf, 0xd8, 0xed, 0x52, 0x51, 0x02, 0xce, 0xc8, - 0xa6, 0x15, 0x5e, 0x40, 0x56, 0xa9, 0x1c, 0x7a, 0x43, 0x8c, 0xdf, 0xe9, 0x37, 0x15, 0xd8, 0x30, - 0x75, 0x5c, 0x7f, 0x6a, 0x6a, 0x26, 0x78, 0x51, 0x05, 0x4f, 0x99, 0x9a, 0x09, 0x72, 0x41, 0x69, - 0x0b, 0xdb, 0x40, 0x0e, 0x5e, 0x58, 0x58, 0x87, 0xb4, 0x68, 0x04, 0xd1, 0x49, 0xd2, 0x0c, 0xf6, - 0xaa, 0x82, 0xd1, 0x3c, 0xfc, 0x40, 0x8b, 0x16, 0x8f, 0x12, 0xb0, 0x14, 0x04, 0x31, 0xa6, 0xba, - 0x51, 0x99, 0x0a, 0x66, 0xcd, 0x62, 0x05, 0x8b, 0xa9, 0x2c, 0x8c, 0xac, 0x24, 0xc3, 0xa1, 0xac, - 0x8b, 0x3f, 0x92, 0x08, 0x05, 0x52, 0x9e, 0xba, 0xe9, 0x90, 0x28, 0xef, 0x90, 0xbf, 0xbf, 0x93, - 0x42, 0x67, 0x20, 0x57, 0x29, 0x95, 0xbb, 0x8d, 0xc7, 0x3a, 0xc6, 0x46, 0x45, 0xd7, 0x7e, 0x37, - 0x85, 0xce, 0xc2, 0x32, 0x01, 0x61, 0xbd, 0x54, 0xe9, 0xb6, 0xf4, 0x12, 0x2e, 0xef, 0x68, 0xff, - 0x31, 0x85, 0xb2, 0x90, 0xdc, 0x6a, 0x3c, 0x21, 0xab, 0xdb, 0x7f, 0x62, 0x89, 0x96, 0xde, 0x36, - 0x2a, 0xda, 0xef, 0xa5, 0x50, 0x06, 0xe2, 0xc4, 0xa7, 0xd5, 0xfe, 0x33, 0x85, 0xb7, 0xf4, 0xf6, - 0xb6, 0x51, 0xd1, 0xfe, 0x8b, 0x48, 0x74, 0x8c, 0x8a, 0xf6, 0xfb, 0x29, 0x94, 0x83, 0x54, 0x4b, - 0x6f, 0x37, 0xcb, 0xa5, 0xa6, 0xf6, 0x3d, 0x5a, 0x44, 0xd5, 0xa8, 0x77, 0x3e, 0xeb, 0x1a, 0xb5, - 0x5a, 0xa7, 0x5d, 0xda, 0xac, 0xea, 0xda, 0x7f, 0x4d, 0xa1, 0x73, 0xa0, 0xd5, 0xf5, 0x76, 0x77, - 0xd3, 0xa8, 0x57, 0x64, 0x6c, 0xe0, 0x3f, 0x48, 0x21, 0x04, 0x79, 0x0a, 0xc6, 0x8d, 0x52, 0xa5, - 0x5c, 0x6a, 0xb5, 0xb5, 0x3f, 0x4c, 0xa1, 0x25, 0xc8, 0x10, 0x58, 0xa9, 0x52, 0x33, 0xea, 0xda, - 0x1f, 0x51, 0xf6, 0x24, 0x8d, 0x4b, 0x4f, 0xb4, 0xff, 0x96, 0x42, 0x79, 0x48, 0x1b, 0xcd, 0x72, - 0x97, 0xde, 0x9c, 0xf8, 0xef, 0x14, 0x99, 0x24, 0x59, 0xed, 0xff, 0x38, 0x85, 0x96, 0x01, 0x5a, - 0x9f, 0xb7, 0xba, 0xb5, 0x46, 0xa5, 0x53, 0xd5, 0xb5, 0x3f, 0xa1, 0x08, 0x04, 0x80, 0x4b, 0x4f, - 0x8c, 0x86, 0xf6, 0x3f, 0x24, 0x42, 0x79, 0x07, 0x37, 0x1a, 0x6d, 0xed, 0x7f, 0x4a, 0x40, 0xb3, - 0x8d, 0x4b, 0x65, 0x5d, 0xfb, 0x53, 0x49, 0xd1, 0x2c, 0x95, 0xcb, 0x6d, 0xed, 0xcf, 0x64, 0x9a, - 0xd5, 0xe7, 0x7f, 0xd1, 0x1a, 0x90, 0xf4, 0x26, 0xa1, 0xff, 0x73, 0x99, 0xac, 0x93, 0x16, 0xfd, - 0x6f, 0x2a, 0x74, 0x5a, 0x1e, 0xdf, 0xe0, 0xd0, 0xbe, 0x9d, 0x16, 0x18, 0x6d, 0xa3, 0xa6, 0x6b, - 0xff, 0x6f, 0x1a, 0xad, 0xc0, 0x12, 0x4d, 0xb6, 0x3f, 0x27, 0x66, 0xc5, 0x96, 0xb1, 0xad, 0xfd, - 0x7f, 0x69, 0xd2, 0x6f, 0xb5, 0x47, 0xf5, 0x46, 0x45, 0xfb, 0xff, 0xe9, 0xff, 0xaa, 0x5e, 0x6a, - 0xe9, 0xda, 0x0f, 0xa5, 0x91, 0x06, 0xd9, 0x52, 0xa7, 0x62, 0xb4, 0xbb, 0x4f, 0xb0, 0xd1, 0xd6, - 0xb5, 0x1f, 0x4e, 0x13, 0x91, 0x31, 0x08, 0x8f, 0xbf, 0xac, 0xfd, 0x95, 0x34, 0xef, 0x81, 0x2d, - 0xd2, 0x03, 0x7f, 0x35, 0x4d, 0xaa, 0x50, 0x53, 0xfb, 0xfd, 0x3b, 0x69, 0xd2, 0x06, 0x02, 0x62, - 0x6d, 0xf8, 0x91, 0x34, 0xed, 0xbf, 0xcf, 0x5b, 0xd5, 0xc6, 0xb6, 0xf6, 0xa3, 0x69, 0x22, 0x81, - 0x27, 0xa5, 0x47, 0x7a, 0xb7, 0x54, 0x2d, 0xe1, 0x9a, 0xf6, 0xd7, 0x68, 0x11, 0xf4, 0x6a, 0x4a, - 0xb7, 0xd5, 0x69, 0x35, 0xf5, 0x7a, 0x45, 0xfb, 0x31, 0x8a, 0xc4, 0x8a, 0x25, 0xba, 0xa3, 0xfd, - 0xb8, 0x78, 0x8f, 0xe9, 0xe7, 0xa2, 0x90, 0xa9, 0xda, 0xa3, 0xc9, 0x73, 0xaa, 0xdf, 0x9b, 0xb0, - 0x2c, 0x35, 0xf5, 0x85, 0xf8, 0xc8, 0x2f, 0xf4, 0x6a, 0x52, 0x48, 0xc5, 0xa9, 0x61, 0xb8, 0xd4, - 0x0b, 0x8f, 0x91, 0xaf, 0xc3, 0xb9, 0x5d, 0x67, 0x32, 0xea, 0xdb, 0xa3, 0xfd, 0x6e, 0x68, 0xb0, - 0x44, 0x17, 0x70, 0xc2, 0x67, 0x05, 0x4d, 0x59, 0x7d, 0x82, 0xab, 0x0a, 0xab, 0xd6, 0xde, 0x9e, - 0xc5, 0xbf, 0x8b, 0x56, 0x99, 0xc5, 0x16, 0x31, 0x3b, 0x27, 0x89, 0x42, 0xdc, 0x74, 0x58, 0xa1, - 0x41, 0x40, 0xbb, 0x63, 0xbb, 0xdf, 0x25, 0x53, 0xa8, 0x37, 0x36, 0x7b, 0xfc, 0x5d, 0x0e, 0xf6, - 0x8d, 0x02, 0x8d, 0xc6, 0xd7, 0x34, 0x2a, 0x75, 0x91, 0x89, 0xcf, 0x50, 0x8a, 0xa6, 0xdd, 0x97, - 0xa0, 0xe2, 0xaf, 0xc7, 0x00, 0x30, 0xf5, 0x80, 0xf8, 0xbb, 0x28, 0x29, 0x37, 0xe4, 0x28, 0xc9, - 0xa8, 0xa9, 0x12, 0x87, 0xff, 0x15, 0x77, 0xc6, 0x38, 0x7a, 0xe1, 0x3b, 0x31, 0x48, 0xb2, 0x1c, - 0xf4, 0x95, 0xd0, 0x1a, 0x7c, 0xe9, 0x38, 0x0e, 0xb3, 0x6b, 0x2f, 0x82, 0xf8, 0x81, 0xe9, 0xf6, - 0x79, 0xe0, 0x3f, 0xfa, 0x9f, 0xc0, 0x3c, 0x67, 0xcf, 0xe7, 0x6e, 0x12, 0xfd, 0x5f, 0xfc, 0xc9, - 0xe8, 0x31, 0x6f, 0x3f, 0xe0, 0x6a, 0xad, 0xdd, 0x2d, 0xb5, 0xd8, 0x9a, 0x4a, 0x13, 0xe5, 0x06, - 0xd6, 0xb5, 0x28, 0xca, 0x41, 0x9a, 0x25, 0x9b, 0x1d, 0x2d, 0x26, 0x33, 0x2b, 0xa5, 0x76, 0x49, - 0x8b, 0xa3, 0x25, 0x22, 0x82, 0x5a, 0xbb, 0xbb, 0xd5, 0x32, 0xbe, 0xc9, 0x9f, 0x06, 0xa3, 0x69, - 0xa2, 0x75, 0x2d, 0x2d, 0x49, 0x9f, 0xff, 0x22, 0xe9, 0x9a, 0x5e, 0xa3, 0x23, 0x9d, 0x8c, 0xab, - 0x3c, 0x83, 0xb4, 0xb6, 0xbf, 0xd1, 0xd1, 0x3b, 0xba, 0x96, 0x96, 0x3c, 0xe9, 0xd0, 0xcb, 0xa0, - 0x65, 0xc8, 0xb2, 0x64, 0x63, 0xcb, 0xa8, 0xea, 0x1a, 0x48, 0xa6, 0xf5, 0x26, 0x6e, 0x94, 0xb5, - 0xac, 0xac, 0x11, 0x6e, 0xb5, 0xb4, 0x9c, 0x44, 0xc7, 0xed, 0x26, 0x36, 0x1a, 0x5a, 0x5e, 0x01, - 0xd0, 0x91, 0xba, 0x44, 0xf7, 0x56, 0x09, 0xa0, 0x65, 0x6c, 0x93, 0x51, 0x60, 0xd4, 0xb7, 0xb5, - 0x65, 0xc9, 0xb4, 0xd5, 0x2e, 0x95, 0x1f, 0x69, 0x1a, 0x1f, 0x06, 0x3f, 0x1e, 0x81, 0x54, 0xbb, - 0xfd, 0x39, 0xed, 0xd0, 0x87, 0x90, 0x7d, 0x66, 0x8f, 0xfa, 0xce, 0xb3, 0xae, 0x67, 0x7f, 0xcb, - 0x9a, 0x8a, 0x27, 0xce, 0x91, 0x6e, 0x3f, 0xa1, 0x18, 0x2d, 0xfb, 0x5b, 0x16, 0x86, 0x67, 0xf2, - 0x7f, 0x61, 0x0b, 0x20, 0xc8, 0x21, 0x86, 0x91, 0xeb, 0x3c, 0xf3, 0xc2, 0x8f, 0x03, 0x11, 0x08, - 0x5a, 0x87, 0x54, 0x8f, 0x18, 0x58, 0x23, 0x2f, 0xb4, 0x7a, 0x09, 0x60, 0xf1, 0x65, 0x1a, 0xf2, - 0xe1, 0x10, 0xf5, 0xef, 0x84, 0x3c, 0xd9, 0xf3, 0xf3, 0x0e, 0xed, 0x55, 0x8f, 0xf6, 0x9d, 0xe0, - 0x02, 0x23, 0xbb, 0xf0, 0x1f, 0x8e, 0x58, 0x3a, 0x75, 0x7d, 0x11, 0x7d, 0x65, 0xca, 0xb3, 0xdd, - 0x98, 0xcb, 0x9f, 0x99, 0xc7, 0xe2, 0xce, 0x36, 0xf5, 0x2d, 0x0b, 0xa1, 0x7b, 0xf6, 0xe1, 0x97, - 0x26, 0xde, 0x07, 0xf6, 0x06, 0x2b, 0x37, 0xc4, 0xd7, 0xe7, 0xf2, 0xac, 0x11, 0x18, 0xbb, 0x7a, - 0x43, 0xb3, 0xd1, 0xc7, 0x34, 0x00, 0x06, 0x3b, 0xdd, 0xa7, 0x97, 0x5f, 0x53, 0xa1, 0x68, 0xd8, - 0x8a, 0x0d, 0x22, 0x4c, 0x99, 0x51, 0x00, 0xf2, 0xd0, 0x1d, 0x80, 0x01, 0x99, 0xcf, 0xd8, 0xec, - 0x95, 0x0e, 0x5d, 0xf3, 0x91, 0x13, 0x1d, 0xce, 0x0c, 0xe4, 0x9c, 0x77, 0x0f, 0xb2, 0x6c, 0x40, - 0x32, 0x8a, 0x4c, 0xc8, 0x62, 0x0f, 0x46, 0x20, 0x06, 0x86, 0x45, 0x69, 0x3e, 0x80, 0xb4, 0x2f, - 0x26, 0x48, 0x08, 0x9d, 0x05, 0x72, 0xfd, 0x60, 0x67, 0x81, 0x3c, 0x81, 0x53, 0x3e, 0x9b, 0x98, - 0x0a, 0x3f, 0x1f, 0x07, 0x08, 0x84, 0x88, 0x0a, 0xc2, 0xe7, 0x0b, 0x45, 0xe7, 0x66, 0xbe, 0xde, - 0x36, 0xa4, 0x78, 0xbb, 0xf8, 0xeb, 0x51, 0x6f, 0x9d, 0xd0, 0x25, 0x42, 0x32, 0x0f, 0xe3, 0xc4, - 0x32, 0xc6, 0x82, 0x1a, 0x3d, 0x9e, 0x36, 0x13, 0xd9, 0x07, 0xc3, 0x37, 0x4f, 0x62, 0x77, 0x82, - 0xcd, 0x88, 0xae, 0x02, 0x8c, 0x5d, 0xfb, 0xd0, 0x1e, 0x58, 0xfb, 0x72, 0x8f, 0x43, 0x3c, 0x08, - 0x19, 0x64, 0xa0, 0x0f, 0x00, 0xe4, 0x26, 0xe4, 0xf4, 0xd3, 0x16, 0xd3, 0xdb, 0x95, 0x0a, 0x26, - 0xba, 0x0e, 0xda, 0x9e, 0xe3, 0xf6, 0xac, 0xee, 0x78, 0x32, 0x18, 0x74, 0x99, 0x98, 0xe8, 0xfb, - 0x4e, 0x78, 0x89, 0xc2, 0x9b, 0x93, 0xc1, 0x80, 0xed, 0xf1, 0xbc, 0x05, 0x79, 0xa6, 0xc6, 0x5d, - 0xee, 0xae, 0xa5, 0xe4, 0x23, 0x40, 0x39, 0x96, 0x51, 0xa1, 0xf0, 0xff, 0x9b, 0xb6, 0xe6, 0x03, - 0x48, 0xf1, 0xee, 0xa1, 0xcf, 0x76, 0x35, 0x5a, 0xfc, 0xb1, 0x9d, 0x4d, 0x6c, 0x54, 0xb6, 0x75, - 0x16, 0x63, 0xbd, 0xde, 0xa8, 0xeb, 0x5a, 0x8c, 0xfc, 0xeb, 0xb4, 0x82, 0x67, 0x2b, 0x0a, 0x77, - 0x20, 0x23, 0xc7, 0x48, 0xb0, 0x4b, 0x10, 0x39, 0x76, 0x97, 0xa0, 0xf8, 0x66, 0x10, 0xd7, 0x9d, - 0x6f, 0xb6, 0xb0, 0xf8, 0xb4, 0x7a, 0xab, 0xd1, 0x92, 0x8e, 0xd6, 0xb7, 0xa3, 0xb0, 0x3c, 0x75, - 0xa4, 0x3a, 0x3b, 0xf2, 0x22, 0xaf, 0x34, 0xf2, 0xee, 0x41, 0xb6, 0x47, 0x7d, 0x25, 0x36, 0x2e, - 0xa6, 0x76, 0x93, 0x64, 0xe0, 0x03, 0x0c, 0x3d, 0xf9, 0x1f, 0xdd, 0x53, 0xbe, 0xa7, 0x19, 0xf3, - 0x97, 0x4b, 0xf3, 0xec, 0x1a, 0x89, 0x38, 0xec, 0x6e, 0x1a, 0x95, 0xe0, 0xc3, 0x99, 0xa6, 0x4d, - 0x5f, 0x92, 0x9a, 0xfa, 0xae, 0xff, 0x98, 0x47, 0x8b, 0x19, 0x9f, 0xe3, 0xbe, 0xe9, 0x2f, 0xfe, - 0x4c, 0x16, 0x20, 0xa8, 0x16, 0xfa, 0x98, 0x0e, 0xb8, 0x6e, 0x6f, 0x20, 0x22, 0x9f, 0xad, 0xcd, - 0xc6, 0x6c, 0xa8, 0x5b, 0x7e, 0x79, 0xe0, 0x6d, 0xc2, 0xd1, 0xcb, 0x8d, 0x24, 0xf9, 0x5f, 0x6d, - 0xe1, 0xe4, 0x88, 0xc2, 0x0a, 0x3f, 0x0b, 0x90, 0xa0, 0x21, 0x1d, 0x0a, 0x4d, 0xb1, 0x03, 0xfc, - 0x2e, 0x44, 0x9d, 0xf1, 0xd4, 0x13, 0x35, 0x33, 0x01, 0x20, 0xe4, 0xed, 0x17, 0x1c, 0x75, 0xc6, - 0xe1, 0x63, 0x8d, 0xb8, 0xd8, 0x8c, 0xfe, 0xa3, 0x38, 0xc4, 0xca, 0x5b, 0xdf, 0x28, 0xfc, 0x5e, - 0x1c, 0x40, 0xf9, 0x2e, 0xff, 0x16, 0x24, 0xfb, 0xd6, 0xa1, 0x2d, 0xa3, 0x92, 0xc9, 0xdb, 0x5f, - 0x14, 0x78, 0xbb, 0x3e, 0x19, 0xee, 0xd2, 0xfd, 0x48, 0x9a, 0x44, 0x6b, 0x90, 0xf2, 0xac, 0x9e, - 0x2f, 0x82, 0x8e, 0xc6, 0xb1, 0x48, 0x12, 0x7b, 0x81, 0x9e, 0x96, 0x73, 0x7b, 0x81, 0xfc, 0x47, - 0x18, 0xb2, 0xb6, 0xd3, 0xe5, 0xaf, 0x9b, 0xf4, 0xf9, 0xb5, 0x9a, 0x4b, 0xc7, 0x35, 0x82, 0xb6, - 0x37, 0x78, 0x79, 0xcc, 0x68, 0xf0, 0x37, 0x47, 0xfa, 0x18, 0x6c, 0x47, 0xfc, 0x47, 0x5d, 0xd0, - 0x02, 0x9e, 0x32, 0x1c, 0xd7, 0x29, 0x18, 0xaf, 0x72, 0xc6, 0x4b, 0x92, 0x31, 0x0b, 0xda, 0xb5, - 0x24, 0x99, 0x8b, 0x18, 0x21, 0xcb, 0x4a, 0x01, 0xb4, 0x4d, 0xc9, 0xd3, 0xf0, 0x3f, 0xc7, 0xf9, - 0xe7, 0x25, 0xff, 0xb6, 0x3d, 0xb4, 0x70, 0x5e, 0xb2, 0xa7, 0x97, 0x04, 0x5a, 0x90, 0xb3, 0x1d, - 0x16, 0x45, 0x87, 0xb2, 0x4e, 0xbd, 0xa2, 0x4c, 0x9e, 0x98, 0x36, 0x0d, 0x60, 0x49, 0x64, 0x22, - 0xfe, 0xa3, 0x2a, 0x64, 0x6c, 0xa7, 0x3b, 0xb4, 0xdc, 0x7d, 0x1a, 0xff, 0xeb, 0x14, 0x1c, 0x35, - 0xce, 0x31, 0x6d, 0x34, 0x6a, 0x94, 0x0c, 0xa7, 0x6d, 0x87, 0xfd, 0xe3, 0xdc, 0x68, 0x60, 0xe4, - 0x3e, 0x7f, 0x69, 0xe9, 0xf4, 0xdc, 0xbe, 0x41, 0xc9, 0x08, 0x37, 0xf6, 0xaf, 0xf0, 0xe7, 0x11, - 0x00, 0x1e, 0x24, 0xcc, 0x1e, 0xed, 0x17, 0x7e, 0x3f, 0xf2, 0x7d, 0x68, 0xdf, 0x94, 0x3e, 0x45, - 0xff, 0xb2, 0xf4, 0x29, 0xf6, 0x17, 0xa8, 0x4f, 0x85, 0x1f, 0x8e, 0x86, 0x5a, 0xac, 0x43, 0xac, - 0xb7, 0xf7, 0x05, 0x9f, 0x15, 0xaf, 0x1d, 0x57, 0x44, 0x79, 0xeb, 0x1b, 0xb7, 0xd5, 0x50, 0x89, - 0xbc, 0x2c, 0x32, 0x80, 0x31, 0xa1, 0x47, 0x26, 0xe4, 0x7b, 0x7b, 0x5f, 0x74, 0x5d, 0xab, 0x37, - 0x71, 0x3d, 0xfb, 0xd0, 0xe2, 0xc2, 0x38, 0x2d, 0xc3, 0xb3, 0x9c, 0x61, 0x8e, 0x30, 0x14, 0x3c, - 0x70, 0xae, 0xb7, 0xf7, 0x85, 0x4c, 0xa1, 0x1a, 0x80, 0x2f, 0x3b, 0x8e, 0xcb, 0xe4, 0x9d, 0xe3, - 0xf8, 0x07, 0x5d, 0xac, 0x46, 0xa3, 0x51, 0x18, 0x14, 0x5b, 0xea, 0xfd, 0xcb, 0xe9, 0x73, 0xcf, - 0x76, 0xa3, 0x5d, 0xaa, 0xb2, 0x8d, 0x13, 0xea, 0x5a, 0xd2, 0x08, 0xe8, 0xcc, 0xdb, 0xa5, 0x8b, - 0x59, 0xeb, 0xf3, 0x7a, 0x59, 0x8b, 0x13, 0x60, 0x89, 0xfe, 0x4d, 0xc8, 0x75, 0x2d, 0xc9, 0xa6, - 0x53, 0x74, 0x15, 0x52, 0xbd, 0x81, 0xe9, 0x79, 0xfc, 0x6a, 0x61, 0x9e, 0x19, 0x4f, 0x65, 0x02, - 0x32, 0x2a, 0x58, 0xe4, 0x15, 0xdf, 0x87, 0x24, 0xdb, 0x6b, 0x43, 0x6f, 0xcb, 0xad, 0x38, 0xd6, - 0x17, 0x39, 0x75, 0x2b, 0x4e, 0x1e, 0x4b, 0xb1, 0x78, 0x26, 0xf7, 0x21, 0x41, 0xc1, 0xc7, 0x1e, - 0xbc, 0xce, 0x3d, 0x49, 0x2e, 0xfe, 0x52, 0x04, 0xe2, 0x74, 0x55, 0xbf, 0x08, 0xc9, 0x11, 0x55, - 0xe5, 0x90, 0x89, 0xc0, 0x61, 0x72, 0x5f, 0x2e, 0x1a, 0x7a, 0x8d, 0xf0, 0x58, 0x3b, 0x00, 0x7d, - 0x0a, 0x70, 0x68, 0x7b, 0x36, 0xff, 0x64, 0x82, 0x3d, 0x88, 0xb0, 0x31, 0xef, 0xd2, 0xee, 0xed, - 0xc7, 0x12, 0x0d, 0x2b, 0x24, 0xca, 0x2e, 0x64, 0x62, 0x51, 0x14, 0x97, 0xbb, 0x90, 0x60, 0x31, - 0x4b, 0xdf, 0x82, 0xc4, 0x98, 0xc6, 0x32, 0x65, 0x92, 0x12, 0xf7, 0x1b, 0x49, 0xa6, 0xb0, 0x37, - 0x69, 0x7e, 0xf1, 0x5f, 0x47, 0x21, 0x1f, 0xaa, 0x01, 0xd2, 0x43, 0x75, 0x65, 0x7e, 0xc7, 0x49, - 0x75, 0x15, 0x86, 0x9c, 0x52, 0xe3, 0x79, 0x22, 0xba, 0x1c, 0x7e, 0x11, 0x94, 0x49, 0x29, 0xf4, - 0xfa, 0x67, 0x01, 0xd2, 0xe2, 0x33, 0x52, 0xe1, 0x57, 0x88, 0xb4, 0xfa, 0x82, 0x5d, 0x22, 0xfc, - 0x82, 0x5d, 0x51, 0xb4, 0x36, 0x19, 0x32, 0x8f, 0xa8, 0x28, 0x78, 0x43, 0x15, 0x09, 0xa6, 0x16, - 0x49, 0xf0, 0x03, 0x80, 0xa0, 0x59, 0xc4, 0x55, 0x95, 0x57, 0x70, 0xf8, 0x3b, 0xac, 0xd5, 0x0e, - 0xbd, 0xa5, 0x45, 0x5f, 0x74, 0xd7, 0x3f, 0x6b, 0xeb, 0x98, 0x1e, 0x25, 0x15, 0x3f, 0x01, 0x78, - 0x62, 0xd9, 0xfb, 0x07, 0x3e, 0x7f, 0x53, 0x23, 0xf9, 0x8c, 0xa6, 0x42, 0x71, 0x73, 0x38, 0x4c, - 0x3e, 0x96, 0x11, 0x0d, 0x1e, 0xcb, 0x28, 0xfe, 0x87, 0x08, 0x64, 0x1f, 0xb3, 0xe6, 0x50, 0x0e, - 0xeb, 0x41, 0x63, 0x55, 0xd5, 0x95, 0x4d, 0xa6, 0xd1, 0x61, 0xec, 0x41, 0xbf, 0xdb, 0x67, 0x37, - 0x1e, 0xe9, 0x7b, 0x10, 0x14, 0x52, 0x31, 0x7d, 0x2b, 0xc8, 0x96, 0x2b, 0x7c, 0x84, 0x67, 0xd3, - 0xe5, 0x47, 0x66, 0xd3, 0x1b, 0xde, 0x71, 0x85, 0xba, 0xe3, 0x59, 0x2e, 0x7a, 0x13, 0x52, 0xfb, - 0xb6, 0xdf, 0xf5, 0x0e, 0xd8, 0x93, 0x0b, 0x19, 0x66, 0xf9, 0x6c, 0xdb, 0x7e, 0x6b, 0xa7, 0x84, - 0x93, 0xfb, 0xb6, 0xdf, 0x3a, 0x30, 0x09, 0x0f, 0x82, 0xc4, 0xbe, 0xd4, 0xe7, 0x3b, 0xd4, 0x99, - 0x7d, 0xdb, 0xdf, 0xa4, 0x00, 0xf4, 0x3a, 0xe3, 0xe1, 0x9b, 0xfb, 0xfc, 0xd5, 0x77, 0x42, 0xd7, - 0x36, 0xf7, 0x8b, 0x1f, 0x40, 0x7c, 0x6b, 0x60, 0xee, 0xbf, 0xea, 0x25, 0x8f, 0xe2, 0xcf, 0x44, - 0x20, 0x8e, 0x9d, 0x85, 0xb7, 0x43, 0x02, 0xb1, 0x47, 0xe7, 0x88, 0xfd, 0x43, 0x00, 0x79, 0x11, - 0x5c, 0xac, 0x18, 0xf3, 0xee, 0x8f, 0x73, 0x5d, 0x0e, 0x70, 0xbf, 0xd4, 0x07, 0x3e, 0xc5, 0x0f, - 0x21, 0x59, 0xb3, 0x7c, 0xd7, 0xee, 0x9d, 0xb6, 0xa5, 0x11, 0xd1, 0xd2, 0x7f, 0x19, 0x81, 0xf4, - 0x96, 0x3d, 0x90, 0x2f, 0x4d, 0x1e, 0x73, 0x2c, 0x74, 0x16, 0x12, 0xa3, 0x81, 0x3d, 0x62, 0x8e, - 0x62, 0x02, 0xb3, 0x04, 0xdd, 0x05, 0xb2, 0xbf, 0x25, 0xad, 0x3a, 0xf2, 0x1f, 0x5d, 0x85, 0xc4, - 0x90, 0x2a, 0x42, 0x7c, 0xfe, 0xc5, 0x48, 0x96, 0x4b, 0x48, 0xe9, 0x99, 0x25, 0x7d, 0x90, 0x9a, - 0x9f, 0x4f, 0x9e, 0x87, 0xd8, 0x84, 0xbf, 0x35, 0xc8, 0x5f, 0x9b, 0xec, 0x18, 0x15, 0x4c, 0x60, - 0x24, 0x6b, 0x9f, 0xdf, 0x5d, 0xe5, 0x59, 0xdb, 0x24, 0x6b, 0xdf, 0xee, 0x17, 0xff, 0x5e, 0x04, - 0x92, 0xcc, 0x20, 0x90, 0x0f, 0x38, 0x47, 0x94, 0x07, 0x9c, 0x6f, 0xc9, 0xc9, 0x35, 0xba, 0xc8, - 0x86, 0x60, 0x38, 0x85, 0x3a, 0x24, 0x19, 0x24, 0x08, 0x23, 0xa4, 0x4c, 0xcd, 0x22, 0x8c, 0x90, - 0x82, 0x42, 0x83, 0x11, 0xc9, 0x02, 0xa2, 0x32, 0x18, 0x11, 0x43, 0x21, 0xe2, 0xcd, 0xb1, 0x92, - 0x4a, 0xbd, 0x9e, 0xe5, 0x79, 0xf4, 0x7c, 0x5f, 0x98, 0x34, 0xea, 0x7d, 0x63, 0x86, 0x24, 0xb4, - 0x88, 0x5b, 0x34, 0x1f, 0x42, 0xd2, 0xa4, 0x64, 0xfc, 0x03, 0x9e, 0x42, 0x08, 0x99, 0x71, 0xbc, - 0xcd, 0x7e, 0x04, 0x25, 0xc3, 0x2f, 0xec, 0x40, 0x92, 0x17, 0x48, 0x26, 0x00, 0xcb, 0x14, 0x37, - 0xa1, 0xe9, 0x7f, 0xd2, 0x9b, 0xcf, 0x5c, 0xdb, 0x17, 0x4f, 0x0d, 0xb3, 0x04, 0x81, 0x0e, 0x9f, - 0x8e, 0x1c, 0xe6, 0x21, 0xa5, 0x31, 0x4b, 0x14, 0x3b, 0xb0, 0xcc, 0x8a, 0x7b, 0x72, 0x60, 0xfb, - 0xd6, 0xc0, 0xf6, 0x7c, 0xb4, 0xc9, 0x3e, 0xdc, 0x7f, 0x66, 0xf5, 0xbb, 0xac, 0xa2, 0x62, 0xea, - 0x5f, 0x99, 0x53, 0x3f, 0xf1, 0x5d, 0x1e, 0xa7, 0x60, 0x59, 0xde, 0xdb, 0x3f, 0x00, 0x49, 0xee, - 0x12, 0xae, 0x02, 0xaa, 0x60, 0xe3, 0xb1, 0x8e, 0xbb, 0xf5, 0x06, 0xdd, 0x33, 0xc3, 0xec, 0xda, - 0x23, 0x82, 0x25, 0x0e, 0xc7, 0x9d, 0x7a, 0xdd, 0xa8, 0x6f, 0x6b, 0x51, 0x05, 0x56, 0xda, 0x6c, - 0x50, 0xbc, 0x98, 0x02, 0x6b, 0xb5, 0x1b, 0xcd, 0xa6, 0x5e, 0xd1, 0xe2, 0x6f, 0xff, 0x58, 0x14, - 0x32, 0xf2, 0x2e, 0x36, 0xd2, 0x20, 0x47, 0xef, 0xa1, 0xb5, 0xda, 0xa5, 0x6d, 0xc2, 0x27, 0x89, - 0xce, 0x40, 0x5e, 0x40, 0x70, 0x9b, 0x80, 0x5e, 0x93, 0x48, 0xa2, 0xb0, 0x88, 0x84, 0x3c, 0x32, - 0xaa, 0x55, 0x02, 0x49, 0x4b, 0xb2, 0x2d, 0xa3, 0x6e, 0xb4, 0x76, 0xe8, 0xd5, 0xcb, 0x65, 0xc8, - 0x32, 0x10, 0xbb, 0x23, 0x1a, 0x93, 0x00, 0x76, 0xcf, 0x8f, 0xed, 0x63, 0x52, 0x00, 0xbb, 0x79, - 0x99, 0x22, 0xf3, 0x3c, 0x4d, 0x57, 0x89, 0x87, 0x9e, 0x90, 0xa5, 0x54, 0x30, 0xab, 0x7c, 0x06, - 0x9d, 0x05, 0x8d, 0x5f, 0x9b, 0xc3, 0x7a, 0xa9, 0xbc, 0x43, 0x8f, 0x47, 0x40, 0x92, 0x6d, 0x13, - 0x17, 0x3e, 0x8b, 0xce, 0xc3, 0x39, 0x99, 0x0c, 0xdd, 0x62, 0xcc, 0x49, 0x8e, 0xf2, 0x0a, 0xe2, - 0xdb, 0x3f, 0x19, 0x81, 0xa5, 0xf0, 0x27, 0x10, 0x84, 0x9e, 0x91, 0x18, 0x8d, 0x7a, 0xb7, 0x53, - 0x6f, 0x75, 0x9a, 0x4d, 0x26, 0x50, 0x7a, 0xa7, 0x21, 0xc8, 0x12, 0xbb, 0x9a, 0x11, 0xd2, 0x4f, - 0x01, 0x58, 0x91, 0xc0, 0x59, 0xd0, 0x14, 0xb8, 0x10, 0xc3, 0x0a, 0x2c, 0x07, 0x50, 0x71, 0xe9, - 0x34, 0xc4, 0x59, 0x34, 0x38, 0xb1, 0x59, 0xfe, 0xb5, 0xef, 0xae, 0xbf, 0xf6, 0x1b, 0xdf, 0x5d, - 0x7f, 0xed, 0x37, 0xbf, 0xbb, 0x1e, 0xf9, 0xde, 0x77, 0xd7, 0x23, 0x7f, 0xf2, 0xdd, 0xf5, 0xc8, - 0xb7, 0x8f, 0xd6, 0x23, 0x3f, 0x7d, 0xb4, 0x1e, 0xf9, 0xc5, 0xa3, 0xf5, 0xc8, 0xbf, 0x3a, 0x5a, - 0x8f, 0xfc, 0xea, 0xd1, 0x7a, 0xe4, 0xd7, 0x8e, 0xd6, 0x23, 0xbf, 0x73, 0xb4, 0xfe, 0xda, 0xf7, - 0x8e, 0xd6, 0x23, 0x7f, 0xe3, 0xb7, 0xd6, 0x5f, 0xfb, 0x07, 0xbf, 0xb5, 0x1e, 0xf9, 0x26, 0xdb, - 0xd3, 0xfb, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x8e, 0xcf, 0xed, 0x0a, 0x99, 0x89, 0x00, 0x00, + // 12099 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0xbd, 0x5d, 0x90, 0x1b, 0x49, + 0x72, 0x18, 0xbc, 0xf8, 0x07, 0x12, 0xc0, 0x4c, 0xb3, 0x86, 0x9c, 0x1d, 0x82, 0xe4, 0x0c, 0x17, + 0xbb, 0xe4, 0x72, 0x97, 0x5c, 0x92, 0xcb, 0x5d, 0xee, 0x2d, 0xb9, 0xb7, 0xbb, 0x87, 0x01, 0x7a, + 0x66, 0xfa, 0x88, 0xbf, 0x2b, 0x00, 0xe4, 0xee, 0x85, 0x22, 0x10, 0x3d, 0x40, 0xcf, 0x4c, 0x8b, + 0x00, 0x1a, 0xdb, 0xdd, 0x18, 0x92, 0xf7, 0xf2, 0xdd, 0xf7, 0x7d, 0x92, 0x7c, 0x92, 0x25, 0x87, + 0x1f, 0xfc, 0x27, 0xdb, 0x0f, 0x76, 0xe8, 0x41, 0x7a, 0xb0, 0x1c, 0x92, 0xc2, 0xe1, 0x70, 0x38, + 0x1c, 0xb6, 0x1f, 0x6c, 0x59, 0x6f, 0xd6, 0x45, 0xf8, 0x41, 0x11, 0x76, 0xd0, 0xba, 0x91, 0x1c, + 0x96, 0x6c, 0xd9, 0x3a, 0x4b, 0xb2, 0x25, 0xdb, 0xb2, 0xec, 0xa8, 0xdf, 0xae, 0x06, 0x30, 0x98, + 0x99, 0x3d, 0x29, 0xfc, 0x04, 0x54, 0x56, 0x66, 0x56, 0x55, 0x56, 0x56, 0x55, 0x66, 0x55, 0x75, + 0x16, 0x64, 0x87, 0x96, 0xe7, 0x78, 0xb7, 0xc7, 0xae, 0xe3, 0x3b, 0x28, 0x41, 0x13, 0x85, 0x77, + 0xf6, 0x6d, 0xff, 0x60, 0xb2, 0x7b, 0xbb, 0xe7, 0x0c, 0xef, 0xec, 0x3b, 0xfb, 0xce, 0x1d, 0x9a, + 0xbb, 0x3b, 0xd9, 0xa3, 0x29, 0x9a, 0xa0, 0xff, 0x18, 0x55, 0xf1, 0x2d, 0xc8, 0x6e, 0xb9, 0xe6, + 0xd0, 0x7a, 0xe6, 0xb8, 0x4f, 0x8d, 0x0a, 0x2a, 0x40, 0xe2, 0xd0, 0x1c, 0x4c, 0xac, 0xb5, 0xc8, + 0xd5, 0xe8, 0x8d, 0xcc, 0x66, 0xfc, 0x57, 0x5e, 0x6e, 0xbc, 0x82, 0x19, 0xa8, 0x78, 0x0d, 0x52, + 0x8d, 0xbd, 0x3d, 0xcb, 0x3d, 0x19, 0xad, 0xb4, 0x6f, 0x8d, 0xfc, 0x13, 0xd0, 0xde, 0x80, 0x64, + 0xdb, 0xf4, 0x4e, 0x2a, 0xf3, 0x06, 0x80, 0xfe, 0xdc, 0xea, 0x4d, 0x7c, 0xe7, 0xa4, 0x62, 0x3b, + 0x90, 0x2d, 0x3b, 0x23, 0xdf, 0xb4, 0x47, 0x27, 0xd5, 0x10, 0xbd, 0x0d, 0xc9, 0xb1, 0xe9, 0x5a, + 0x23, 0x7f, 0x2d, 0x7a, 0x35, 0x72, 0x23, 0x7b, 0x0f, 0xdd, 0x66, 0x72, 0x54, 0xe8, 0x31, 0xc7, + 0x28, 0xde, 0x05, 0x84, 0x2d, 0xcf, 0x99, 0xb8, 0x3d, 0xab, 0xe9, 0x3a, 0x87, 0x76, 0xff, 0xc4, + 0xf6, 0xbf, 0x05, 0xd9, 0xc6, 0xd8, 0x72, 0x4d, 0xdf, 0x76, 0x46, 0x27, 0xa0, 0xde, 0x83, 0x74, + 0xdb, 0x1e, 0x5a, 0xc6, 0x68, 0xcf, 0x41, 0xd7, 0x21, 0x3b, 0x32, 0x47, 0x8e, 0x67, 0xf5, 0x9c, + 0x51, 0xdf, 0xa3, 0xd8, 0x31, 0x8e, 0xad, 0x66, 0x14, 0x3f, 0x80, 0x5c, 0x65, 0xc2, 0xb9, 0x9f, + 0x85, 0xee, 0x09, 0xa4, 0x4a, 0xfd, 0xbe, 0x6b, 0x79, 0x1e, 0x2a, 0x40, 0xfa, 0xc0, 0xf1, 0xfc, + 0x91, 0x39, 0x24, 0xb5, 0x8a, 0xdc, 0xc8, 0x60, 0x99, 0x46, 0xab, 0x10, 0xb5, 0xc7, 0x54, 0x2e, + 0x99, 0xcd, 0xe4, 0xd1, 0xcb, 0x8d, 0xa8, 0xd1, 0xc4, 0x51, 0x7b, 0x8c, 0xd6, 0x20, 0x3e, 0x76, + 0x5c, 0x7f, 0x2d, 0x76, 0x35, 0x7a, 0x23, 0xc1, 0xf9, 0x53, 0x48, 0xf1, 0x17, 0x23, 0x10, 0xeb, + 0xe0, 0x2a, 0xba, 0x0c, 0x49, 0xaf, 0x77, 0x60, 0x0d, 0xc3, 0x2d, 0xe5, 0x30, 0x74, 0x1b, 0x52, + 0x26, 0x2b, 0x7e, 0x2d, 0x7a, 0x35, 0x7a, 0x23, 0x7b, 0x6f, 0x89, 0x0b, 0x9d, 0x57, 0x8a, 0xa3, + 0x0b, 0x24, 0x84, 0x20, 0x3e, 0x36, 0xfd, 0x83, 0xb5, 0x18, 0xad, 0x1f, 0xfd, 0x8f, 0x6e, 0x41, + 0xe2, 0x8b, 0x89, 0xe5, 0xbe, 0x58, 0x8b, 0x5f, 0x8d, 0xdd, 0xc8, 0xde, 0xd3, 0x38, 0x87, 0xa6, + 0x49, 0x14, 0xd8, 0xb7, 0x5c, 0x21, 0x5c, 0x8a, 0x44, 0x5a, 0xb9, 0xe7, 0x9a, 0xfb, 0x43, 0xd2, + 0xcf, 0x09, 0xd6, 0x4a, 0x91, 0x2e, 0x8e, 0x60, 0xa9, 0x33, 0x32, 0x0f, 0x4d, 0x7b, 0x60, 0xee, + 0xda, 0x03, 0xdb, 0x7f, 0x81, 0x6e, 0x42, 0xc2, 0xf3, 0x4d, 0xd7, 0xa7, 0x95, 0xcf, 0xde, 0x5b, + 0xe6, 0xbc, 0x45, 0xf7, 0x08, 0xd6, 0x14, 0x07, 0xdd, 0x81, 0x74, 0x9f, 0xf7, 0x01, 0x57, 0xa1, + 0x15, 0x8e, 0xaf, 0x76, 0x0d, 0x96, 0x48, 0xc5, 0x4f, 0x21, 0x53, 0x33, 0x7b, 0x07, 0xf6, 0xc8, + 0xa2, 0x1a, 0x71, 0x66, 0xf1, 0x17, 0xff, 0x65, 0x04, 0xb2, 0x82, 0x03, 0xe9, 0xf5, 0x5b, 0x10, + 0xb5, 0xfb, 0xbc, 0xae, 0x42, 0x0e, 0xb2, 0x84, 0x4d, 0x20, 0x95, 0xa5, 0xd4, 0x15, 0x1c, 0xb5, + 0xfb, 0xe8, 0x26, 0xc4, 0x87, 0x4e, 0xdf, 0xa2, 0x7c, 0x97, 0xee, 0xbd, 0x3a, 0x85, 0x3f, 0xda, + 0x73, 0x6e, 0xd7, 0x9c, 0xbe, 0x85, 0x29, 0x12, 0xfa, 0x18, 0x96, 0x26, 0x21, 0xd9, 0xd0, 0x3e, + 0xc8, 0xde, 0xbb, 0xc0, 0xc9, 0xc2, 0x82, 0xc3, 0x53, 0xc8, 0xc5, 0xeb, 0x10, 0x27, 0xcc, 0x50, + 0x12, 0xa2, 0x9d, 0xa6, 0x16, 0x41, 0x39, 0x48, 0x57, 0x70, 0xc9, 0xa8, 0x1b, 0xf5, 0x6d, 0x2d, + 0x8a, 0xd2, 0x10, 0xaf, 0x34, 0x9e, 0xd4, 0xb5, 0x58, 0xf1, 0x37, 0x13, 0x90, 0x0f, 0x66, 0x1e, + 0xd2, 0xa6, 0x35, 0x88, 0x4f, 0x3c, 0xcb, 0x0d, 0xa9, 0x0f, 0x85, 0x90, 0x1c, 0x2a, 0xad, 0xa8, + 0x9a, 0x43, 0xe5, 0xf5, 0x36, 0x95, 0x43, 0x2c, 0x34, 0x8c, 0x95, 0xf9, 0x8c, 0xcb, 0x90, 0x49, + 0xe1, 0x16, 0x68, 0x7b, 0xa6, 0x3d, 0x70, 0x0e, 0x2d, 0xb7, 0xeb, 0xdb, 0x43, 0xcb, 0x99, 0xf8, + 0x6b, 0xf1, 0xab, 0x91, 0x1b, 0x91, 0x87, 0x91, 0xbb, 0x78, 0x59, 0x64, 0xb5, 0x59, 0x0e, 0xba, + 0x06, 0xd0, 0x3b, 0xb0, 0x7a, 0x4f, 0xc7, 0x8e, 0xcd, 0x15, 0x28, 0xfd, 0x30, 0xb1, 0x67, 0x0e, + 0x3c, 0x0b, 0x2b, 0x19, 0xe8, 0x22, 0xc4, 0x5d, 0x67, 0x60, 0xad, 0x25, 0x49, 0x97, 0x3d, 0x8c, + 0xbc, 0xbd, 0x19, 0x5d, 0x8b, 0x60, 0x0a, 0x0a, 0xf5, 0x73, 0x6a, 0xaa, 0x9f, 0x2f, 0x43, 0x66, + 0xec, 0xda, 0xa3, 0x9e, 0x3d, 0x36, 0x07, 0x6b, 0x69, 0x9a, 0x19, 0x00, 0xd0, 0x5b, 0x90, 0x79, + 0x66, 0xed, 0x4e, 0xec, 0xee, 0xc4, 0x1d, 0xac, 0x65, 0xa8, 0x32, 0xe4, 0x8e, 0x5e, 0x6e, 0xa4, + 0x9f, 0x58, 0xbb, 0x1d, 0xbb, 0x83, 0xab, 0x38, 0x4d, 0xb3, 0x3b, 0xee, 0x00, 0x19, 0x90, 0xeb, + 0x99, 0x63, 0x26, 0x7c, 0xdb, 0xf2, 0xd6, 0x80, 0x0e, 0x8d, 0x8d, 0x19, 0x51, 0x90, 0x4e, 0x2e, + 0x0b, 0xc4, 0x17, 0x5c, 0x86, 0x21, 0x52, 0x74, 0x0d, 0x92, 0x03, 0x73, 0xd7, 0x1a, 0x78, 0x6b, + 0x59, 0x2a, 0xcf, 0x3c, 0x67, 0x52, 0xa5, 0x40, 0xcc, 0x33, 0xd1, 0x79, 0x48, 0x90, 0xe6, 0x79, + 0x6b, 0xb9, 0xab, 0xb1, 0x1b, 0x19, 0xcc, 0x12, 0x85, 0xbf, 0x1c, 0x05, 0x08, 0xf8, 0xa3, 0x4f, + 0x20, 0xee, 0xbf, 0x18, 0x33, 0xfd, 0x5e, 0xba, 0xf7, 0xc6, 0x09, 0xd5, 0xb9, 0xdd, 0x7e, 0x31, + 0xb6, 0x44, 0xbf, 0x12, 0xba, 0xe2, 0x2f, 0x47, 0x20, 0x4e, 0x80, 0x28, 0x0b, 0xa9, 0x4e, 0xfd, + 0x51, 0x9d, 0xe8, 0xcc, 0x2b, 0xe8, 0x55, 0x58, 0xc1, 0xfa, 0xe3, 0x46, 0xb9, 0xb4, 0x59, 0xd5, + 0xbb, 0x58, 0x6f, 0x35, 0x3a, 0xb8, 0xac, 0xb7, 0xb4, 0x08, 0x5a, 0x05, 0xd4, 0x2e, 0xb5, 0x1e, + 0x75, 0x1f, 0x19, 0xd5, 0xaa, 0x51, 0xdf, 0xee, 0xb6, 0xda, 0xa5, 0xb6, 0xae, 0x45, 0xd1, 0x39, + 0xc8, 0x6f, 0x37, 0x3b, 0x0a, 0x6a, 0x0c, 0x9d, 0x07, 0xad, 0xb5, 0x53, 0xc2, 0x7a, 0x45, 0x81, + 0xc6, 0xd1, 0x0a, 0x2c, 0x37, 0x4b, 0xb8, 0x6d, 0xb4, 0x8d, 0x46, 0xbd, 0x5b, 0x7a, 0x52, 0xc2, + 0xba, 0x96, 0x40, 0x4b, 0x00, 0xb5, 0x4e, 0xb5, 0x6d, 0x74, 0x71, 0xa3, 0xaa, 0x6b, 0x49, 0x54, + 0x80, 0x55, 0xac, 0xb7, 0x74, 0xfc, 0xb8, 0x44, 0xd1, 0xb0, 0xbe, 0x65, 0xd4, 0xf5, 0x9a, 0x5e, + 0x6f, 0x6b, 0x29, 0xa4, 0x41, 0x0e, 0xeb, 0xdb, 0x01, 0x75, 0xba, 0x10, 0xff, 0xce, 0xcf, 0xac, + 0x47, 0x8a, 0x7f, 0x27, 0x0e, 0x99, 0x32, 0x51, 0x17, 0xaa, 0xe2, 0x77, 0x42, 0x62, 0x11, 0x23, + 0x4a, 0xe6, 0xcf, 0xc8, 0x01, 0xdd, 0x83, 0x54, 0xcf, 0x19, 0x0e, 0xcd, 0x51, 0x9f, 0x4f, 0x34, + 0x6b, 0x33, 0x34, 0x65, 0x96, 0x8f, 0x05, 0x22, 0x7a, 0x0f, 0xe2, 0x07, 0xbe, 0x3f, 0x9e, 0x1a, + 0xb6, 0x01, 0xc1, 0x8e, 0xef, 0x8f, 0x37, 0xd3, 0x47, 0x2f, 0x37, 0xe2, 0x3b, 0xed, 0x76, 0x13, + 0x53, 0x64, 0xf4, 0x26, 0xe4, 0xfb, 0xd6, 0xc0, 0x7c, 0xd1, 0x15, 0x0b, 0x09, 0x1b, 0x19, 0xd1, + 0x77, 0xef, 0xe3, 0x1c, 0xcd, 0x68, 0x31, 0x38, 0x7a, 0x07, 0x34, 0x7b, 0xe4, 0x5b, 0xee, 0xa1, + 0x39, 0x90, 0xb8, 0x09, 0x8e, 0x7b, 0x17, 0x2f, 0x8b, 0x3c, 0x81, 0x7e, 0x13, 0x96, 0xf9, 0x58, + 0x93, 0xd8, 0x49, 0x86, 0x7d, 0xef, 0x2e, 0x5e, 0xe2, 0x59, 0x02, 0xf9, 0x0e, 0xc4, 0xfc, 0xde, + 0x98, 0x0e, 0x96, 0xec, 0xbd, 0xf3, 0xb3, 0xd2, 0xe9, 0x8d, 0x37, 0x53, 0x47, 0x2f, 0x37, 0x62, + 0xed, 0x72, 0x13, 0x13, 0xcc, 0xc2, 0xc7, 0x90, 0xe2, 0xcd, 0x57, 0x25, 0xc5, 0xa6, 0xc5, 0x60, + 0x55, 0xa7, 0x50, 0x65, 0x16, 0x17, 0x88, 0x85, 0xf7, 0x21, 0x4e, 0x84, 0x21, 0x17, 0x37, 0x42, + 0x98, 0x57, 0x17, 0x37, 0xb9, 0x0c, 0x45, 0x83, 0x65, 0xa8, 0xb0, 0x01, 0xb1, 0x76, 0x6f, 0x01, + 0x51, 0xf1, 0xc1, 0x3c, 0xdd, 0xcd, 0x42, 0xaa, 0xdc, 0xa8, 0xd5, 0x4a, 0xf5, 0x8a, 0x16, 0x21, + 0xd3, 0x20, 0x91, 0xbd, 0x16, 0x45, 0x29, 0x20, 0xad, 0xd1, 0x62, 0x5c, 0x5d, 0x7e, 0x29, 0x09, + 0xd9, 0x1d, 0xcb, 0x1c, 0xf8, 0x07, 0xb4, 0xd9, 0x64, 0x1c, 0xd1, 0xbe, 0x8c, 0x50, 0x91, 0x5c, + 0xe5, 0x4d, 0x52, 0x30, 0x6e, 0x13, 0x3e, 0x52, 0x44, 0x27, 0x77, 0x6b, 0xf4, 0x0c, 0xdd, 0x1a, + 0x3b, 0x53, 0xb7, 0xc6, 0x8f, 0xed, 0xd6, 0xf7, 0xe1, 0x7c, 0xcf, 0x19, 0x79, 0xc4, 0x8c, 0xb3, + 0x0f, 0xad, 0x2e, 0x99, 0x69, 0x27, 0xae, 0xc5, 0xd4, 0x26, 0xff, 0x30, 0xf2, 0x1e, 0x5e, 0x51, + 0xb2, 0xb7, 0x78, 0x2e, 0xa1, 0xda, 0x77, 0xcd, 0x9e, 0xd5, 0x1d, 0x5b, 0xae, 0xed, 0xf4, 0xa7, + 0xd5, 0xe7, 0xdd, 0xbb, 0x18, 0xd1, 0xfc, 0x26, 0xcd, 0x16, 0x65, 0xdd, 0x0a, 0xd4, 0x20, 0x35, + 0x65, 0xdc, 0x49, 0x35, 0x08, 0x86, 0xca, 0xbb, 0x7c, 0x3c, 0xa6, 0x43, 0x0b, 0xa3, 0x2a, 0xde, + 0x99, 0x11, 0xf9, 0x90, 0xe9, 0x68, 0x86, 0x32, 0xdf, 0x98, 0x47, 0x51, 0x56, 0xfa, 0x23, 0xac, + 0xae, 0xbf, 0x10, 0x81, 0x7c, 0xa8, 0xbf, 0xce, 0xa6, 0x79, 0x68, 0x55, 0x9a, 0x58, 0xcc, 0x2c, + 0x12, 0xc6, 0x55, 0x01, 0xd2, 0x9e, 0x6f, 0xfa, 0x13, 0xcf, 0xf2, 0xa8, 0x6d, 0x94, 0xc7, 0x32, + 0x8d, 0x3e, 0x86, 0x34, 0xb5, 0xf4, 0x7b, 0xce, 0x80, 0x0a, 0x7c, 0xe9, 0xde, 0x25, 0x5e, 0xe9, + 0xba, 0xe5, 0xcb, 0xb9, 0xb8, 0xc9, 0x51, 0x1e, 0xc6, 0x8d, 0xe6, 0xe1, 0xfb, 0x58, 0x92, 0x14, + 0xf6, 0x21, 0xa7, 0x36, 0x68, 0x41, 0x85, 0xd5, 0x82, 0xa2, 0x67, 0x2e, 0xe8, 0x07, 0x19, 0x34, + 0x15, 0x80, 0x47, 0xf6, 0x60, 0xd0, 0x74, 0x06, 0x76, 0xef, 0x05, 0xfa, 0x00, 0x72, 0xaa, 0xde, + 0xf0, 0xa1, 0x33, 0xd7, 0x40, 0xcb, 0x2a, 0x0a, 0x54, 0xfc, 0xe3, 0x28, 0xf1, 0x20, 0xa4, 0x92, + 0xa0, 0x0f, 0x21, 0x3e, 0x71, 0x6d, 0x62, 0x51, 0x93, 0x15, 0x75, 0x75, 0x56, 0x8d, 0x6e, 0x77, + 0xb0, 0xb1, 0x99, 0xe3, 0xa6, 0x56, 0xbc, 0x83, 0x0d, 0x0f, 0x53, 0x0a, 0xf4, 0x3e, 0x64, 0xad, + 0xd1, 0xa1, 0xed, 0x3a, 0xa3, 0xe1, 0xac, 0x93, 0xa1, 0x07, 0x39, 0x58, 0x45, 0x23, 0xeb, 0x2a, + 0x73, 0x14, 0x58, 0xdf, 0x72, 0x5f, 0x05, 0x71, 0xa3, 0x88, 0x59, 0xb0, 0xcc, 0x1c, 0x2a, 0x40, + 0xc2, 0x3b, 0xb0, 0x06, 0x03, 0x3a, 0x14, 0xd2, 0x0f, 0xe3, 0xbe, 0x3b, 0xb1, 0x30, 0x03, 0x11, + 0xc3, 0xc2, 0x74, 0xf7, 0x27, 0x84, 0xa3, 0xb7, 0x96, 0xa2, 0x2b, 0x74, 0x00, 0x28, 0xfc, 0x35, + 0x6a, 0xab, 0x1b, 0x0b, 0xbd, 0xa3, 0x75, 0x00, 0x8b, 0xba, 0x5c, 0xe6, 0xee, 0x80, 0x99, 0x8c, + 0x69, 0xac, 0x40, 0xd0, 0x3a, 0xa4, 0xac, 0xe7, 0xbe, 0x6b, 0xf6, 0x7c, 0x5a, 0x53, 0x51, 0xbe, + 0x00, 0x92, 0x76, 0xf4, 0xcc, 0xde, 0x81, 0x45, 0x27, 0x84, 0x34, 0x66, 0x09, 0xb4, 0x01, 0x59, + 0x67, 0xe2, 0x8f, 0x27, 0x7e, 0x77, 0xcf, 0x1e, 0x58, 0xbc, 0x39, 0xc0, 0x40, 0x5b, 0xf6, 0xc0, + 0x2a, 0xfe, 0x68, 0x02, 0x72, 0xd2, 0xd5, 0x23, 0xf2, 0xdf, 0x82, 0xac, 0xc5, 0xd3, 0x5d, 0x69, + 0xeb, 0x9e, 0x13, 0x52, 0x94, 0x4e, 0xe1, 0x26, 0xe2, 0x3d, 0xa0, 0x38, 0x8a, 0xa2, 0xbe, 0x8e, + 0x6b, 0xf4, 0x89, 0x04, 0xfb, 0xa6, 0x6f, 0xd2, 0xea, 0xe4, 0x30, 0xfd, 0x8f, 0xde, 0x83, 0x8c, + 0xcb, 0xbd, 0x3a, 0x32, 0x0d, 0xc5, 0x14, 0x8b, 0x5f, 0x78, 0x7b, 0x5c, 0x28, 0x01, 0xde, 0x19, + 0xa7, 0x96, 0x2d, 0xc8, 0xed, 0x09, 0x73, 0x87, 0xd4, 0x3f, 0x7d, 0xac, 0x8d, 0xba, 0x7c, 0xf4, + 0x72, 0x43, 0x75, 0xc2, 0x71, 0x56, 0x12, 0xb2, 0xea, 0x53, 0x0b, 0x32, 0xc3, 0x14, 0x80, 0x5a, + 0x8f, 0x05, 0x48, 0xb2, 0x4a, 0xad, 0x01, 0x35, 0x0e, 0x89, 0xcd, 0xc9, 0x21, 0xe8, 0x1e, 0x64, + 0x7a, 0xc2, 0x8f, 0xe5, 0x86, 0xdc, 0xf9, 0x19, 0xff, 0x96, 0xd4, 0x34, 0x40, 0x23, 0x34, 0x7d, + 0xdb, 0xeb, 0x11, 0xf3, 0xf7, 0xc5, 0x5a, 0x2e, 0x44, 0x53, 0x11, 0x70, 0x46, 0x23, 0xd1, 0xd0, + 0x36, 0x5c, 0xf0, 0x0e, 0x26, 0x7e, 0xdf, 0x79, 0x36, 0xea, 0x86, 0xc6, 0x5b, 0xfe, 0xf8, 0xf1, + 0xb6, 0x22, 0x28, 0xb6, 0x83, 0x71, 0xa7, 0x98, 0x9d, 0x4b, 0x8b, 0xcc, 0xce, 0x7b, 0x7c, 0xaa, + 0x5e, 0xa6, 0x53, 0xcb, 0xda, 0xb4, 0x1e, 0xcc, 0xb3, 0x9e, 0x8a, 0xf7, 0x8e, 0x99, 0x53, 0x2a, + 0xfa, 0x56, 0xa9, 0x53, 0x6d, 0x6b, 0x11, 0x04, 0x90, 0x2c, 0x77, 0x5a, 0xed, 0x46, 0x4d, 0x8b, + 0xf2, 0xc9, 0xe4, 0xef, 0x47, 0x01, 0x2a, 0xce, 0xd0, 0xb4, 0x99, 0x7b, 0xfd, 0x35, 0xc8, 0xed, + 0x99, 0x93, 0x81, 0xdf, 0xed, 0x53, 0x18, 0x9f, 0x4d, 0xae, 0x88, 0xd6, 0x49, 0xc4, 0xdb, 0x5b, + 0x04, 0x8b, 0xa5, 0x71, 0x76, 0x2f, 0x48, 0x14, 0xfe, 0x5d, 0x04, 0xb2, 0x4a, 0x26, 0xda, 0x82, + 0xa4, 0x6b, 0xed, 0x13, 0xd7, 0x91, 0xa9, 0xf4, 0x8d, 0x85, 0xbc, 0x6e, 0x63, 0x8a, 0xab, 0x58, + 0x2f, 0x9c, 0x1a, 0x7d, 0x0d, 0xe2, 0xdf, 0x72, 0x46, 0x16, 0x77, 0xa7, 0xaf, 0x2f, 0xe6, 0xf2, + 0x4d, 0x67, 0xa4, 0xfa, 0xb1, 0x94, 0xb2, 0x70, 0x1d, 0x20, 0xe0, 0x2e, 0x9d, 0xac, 0xc8, 0xb4, + 0x93, 0x55, 0x78, 0x03, 0xd2, 0x82, 0xfe, 0x78, 0xac, 0xe2, 0x3f, 0x8b, 0x01, 0xd4, 0x4c, 0xcf, + 0x67, 0xea, 0x85, 0x0a, 0xd2, 0x43, 0xcd, 0xcc, 0xf8, 0xa3, 0x05, 0xee, 0xe5, 0x92, 0x25, 0x24, + 0xc8, 0x9b, 0xdd, 0x68, 0xc8, 0x3f, 0x8c, 0xdf, 0xbf, 0x7b, 0xff, 0x2e, 0x5f, 0x60, 0x2e, 0x42, + 0x6c, 0x6c, 0xf7, 0xe9, 0x38, 0xce, 0xb0, 0x85, 0xb5, 0x69, 0x54, 0x30, 0x81, 0x85, 0x5c, 0xad, + 0xc4, 0x94, 0xab, 0xb5, 0x06, 0xa9, 0x43, 0xcb, 0xf5, 0x88, 0xc0, 0xa9, 0x93, 0x86, 0x45, 0x12, + 0xdd, 0x08, 0xf6, 0x24, 0xd8, 0x80, 0x9e, 0xda, 0x93, 0x08, 0x76, 0x23, 0xde, 0x82, 0x24, 0xef, + 0x7f, 0x36, 0x8c, 0xcf, 0xcd, 0x48, 0x1b, 0x73, 0x04, 0x32, 0xee, 0x43, 0x0e, 0x59, 0x86, 0xce, + 0x2e, 0x97, 0xa5, 0xcf, 0x2d, 0x04, 0x74, 0x82, 0x37, 0x56, 0x38, 0x0c, 0xf9, 0x53, 0x1f, 0x85, + 0x1c, 0x87, 0xd7, 0x16, 0x71, 0x9b, 0x1d, 0x06, 0x37, 0xe7, 0x0d, 0x03, 0x0d, 0x72, 0xa5, 0x6d, + 0xbd, 0xde, 0xee, 0x76, 0x9a, 0x15, 0xe2, 0x2c, 0x45, 0xb8, 0xfe, 0xff, 0xeb, 0x18, 0x64, 0xd8, + 0xfe, 0x1d, 0xe9, 0xc5, 0xab, 0xa1, 0xbd, 0x8a, 0xa0, 0xcb, 0x03, 0xf1, 0x86, 0xa6, 0xd2, 0xd8, + 0x29, 0xa7, 0xd2, 0x0f, 0x00, 0x4c, 0xdf, 0x77, 0xed, 0xdd, 0x89, 0x2f, 0x27, 0x60, 0xb1, 0x8d, + 0x51, 0x12, 0x19, 0x9c, 0x4c, 0xc1, 0x44, 0xd7, 0xa9, 0x52, 0x25, 0xc3, 0x9d, 0xc5, 0x36, 0x1b, + 0x43, 0xae, 0xbe, 0x50, 0x22, 0xd2, 0x5b, 0x09, 0xaa, 0x44, 0xef, 0x72, 0x25, 0x0a, 0x7a, 0x12, + 0x4e, 0xe8, 0xc9, 0xc2, 0x77, 0x23, 0xa1, 0x2e, 0x78, 0x18, 0xea, 0x82, 0xab, 0xa1, 0xd2, 0x4f, + 0xea, 0x81, 0x1f, 0x9b, 0xeb, 0xce, 0x86, 0xfd, 0xcb, 0x08, 0xba, 0x00, 0xe7, 0x76, 0x0c, 0x1d, + 0x97, 0x70, 0x79, 0xc7, 0x28, 0x97, 0xaa, 0x0c, 0x1c, 0x5d, 0xe0, 0x76, 0xc6, 0x08, 0x89, 0x70, + 0x63, 0xbb, 0x4d, 0xdc, 0x78, 0x6c, 0x54, 0x74, 0xac, 0xc5, 0x89, 0xdf, 0x8b, 0xf5, 0x96, 0xf1, + 0x4d, 0xbd, 0xfb, 0xb8, 0x51, 0xed, 0xd4, 0x74, 0x2d, 0xc1, 0x7b, 0xf7, 0x1f, 0x46, 0x61, 0xb5, + 0xdc, 0x32, 0x9a, 0x83, 0xc9, 0xbe, 0x3d, 0x0a, 0xad, 0x07, 0xa8, 0x04, 0x69, 0xcf, 0x72, 0x0f, + 0x6d, 0xd2, 0x8f, 0xc4, 0xe6, 0x59, 0xba, 0x77, 0x4d, 0xac, 0x1b, 0x73, 0x09, 0x6e, 0xb7, 0x18, + 0x36, 0x96, 0x64, 0xea, 0x0a, 0x19, 0x3d, 0x79, 0x85, 0xfc, 0x52, 0x9a, 0x13, 0x5a, 0xde, 0xe2, + 0xa7, 0x5a, 0xde, 0x8a, 0x5b, 0x90, 0xe2, 0x75, 0x0d, 0xcb, 0x7f, 0x15, 0x50, 0xb9, 0x51, 0x6f, + 0xe3, 0x46, 0xb5, 0xaa, 0xe3, 0x2e, 0x91, 0xb0, 0x51, 0x26, 0xfd, 0xa0, 0x41, 0xae, 0xde, 0xa8, + 0xe8, 0x12, 0x22, 0x96, 0x86, 0xef, 0x44, 0x20, 0x2f, 0x65, 0x21, 0x66, 0x43, 0xae, 0x13, 0xca, + 0x6c, 0x48, 0xdd, 0x84, 0xe3, 0xb7, 0xac, 0xca, 0x00, 0xb2, 0x6a, 0xa2, 0xdd, 0x57, 0x16, 0x4a, + 0x5a, 0x0c, 0x84, 0x80, 0xac, 0xf8, 0x53, 0x31, 0x38, 0x3f, 0xb3, 0x2f, 0x4d, 0x6a, 0xf4, 0x2e, + 0x9f, 0x76, 0x89, 0x60, 0x2e, 0x4e, 0x49, 0x33, 0xd8, 0xc0, 0x0e, 0x0d, 0x96, 0xf0, 0x60, 0x8c, + 0x9e, 0x7a, 0x30, 0x8a, 0xc6, 0xc7, 0x8e, 0x6d, 0x7c, 0x7c, 0xa6, 0xf1, 0x9f, 0xc1, 0xf9, 0xbe, + 0xc5, 0x16, 0x54, 0xd7, 0x22, 0x7a, 0x43, 0x8d, 0x03, 0x31, 0x05, 0x6c, 0x4c, 0x55, 0x98, 0xfc, + 0x11, 0x38, 0x8a, 0x20, 0x56, 0x38, 0x0b, 0x25, 0x97, 0xf8, 0x39, 0x29, 0xcf, 0x77, 0x5c, 0x73, + 0xdf, 0xe2, 0xf3, 0xc3, 0xeb, 0xc7, 0xb5, 0x9e, 0xea, 0x2e, 0x43, 0xc5, 0x82, 0xa6, 0xf0, 0x31, + 0xa4, 0x38, 0x0c, 0xdd, 0x83, 0xe4, 0x98, 0x76, 0x02, 0x5f, 0xa0, 0xcf, 0x4f, 0x77, 0x8e, 0xba, + 0x18, 0x33, 0xcc, 0xe2, 0x6f, 0xc5, 0x20, 0xf1, 0x98, 0x9a, 0xcf, 0x37, 0x15, 0x95, 0x58, 0x92, + 0xd3, 0x0b, 0xcd, 0x9b, 0x75, 0x26, 0x6f, 0x12, 0x87, 0xce, 0x1c, 0x98, 0xee, 0xd4, 0x36, 0x32, + 0x43, 0x6f, 0xd1, 0x2c, 0xcc, 0x51, 0x08, 0xb2, 0x6b, 0x8e, 0xf6, 0x2d, 0x8f, 0xef, 0xec, 0x84, + 0x91, 0x31, 0xcd, 0xc2, 0x1c, 0x05, 0x15, 0x21, 0xe6, 0x59, 0x3e, 0x1f, 0x21, 0x5a, 0x98, 0xad, + 0xe5, 0x63, 0x92, 0x89, 0xae, 0x41, 0xdc, 0xb7, 0x9e, 0xb3, 0xcd, 0xcd, 0xec, 0x74, 0x55, 0xad, + 0xe7, 0x3e, 0xa6, 0xd9, 0x85, 0x37, 0x20, 0xc9, 0x6a, 0x12, 0x76, 0x1b, 0x22, 0x21, 0xb7, 0xa1, + 0xf0, 0x11, 0x24, 0x68, 0x15, 0x08, 0xd2, 0xae, 0x25, 0xa4, 0x17, 0x17, 0x48, 0x14, 0x84, 0x56, + 0x21, 0x66, 0xd1, 0xc9, 0x21, 0xc8, 0x21, 0x80, 0xc2, 0x87, 0x90, 0x64, 0xf5, 0x47, 0xb7, 0x21, + 0x41, 0x5b, 0xc0, 0xdd, 0x2e, 0x34, 0xdb, 0x46, 0xc1, 0x91, 0xa2, 0x15, 0x2e, 0x42, 0xac, 0x65, + 0x51, 0x6f, 0xd9, 0xf6, 0xad, 0x21, 0xa5, 0xca, 0x60, 0xfa, 0xbf, 0x50, 0x84, 0x38, 0x69, 0xc5, + 0xc2, 0x13, 0x98, 0x77, 0xf9, 0xbc, 0x0c, 0x90, 0x6c, 0x95, 0x4b, 0xd5, 0x12, 0xd6, 0x5e, 0x21, + 0xff, 0x71, 0xa9, 0xbe, 0x4d, 0x37, 0x16, 0x53, 0x10, 0x6b, 0xe9, 0x6d, 0xb6, 0x71, 0xdd, 0xd6, + 0x3f, 0x6b, 0x6b, 0xb1, 0xe2, 0x1f, 0x46, 0x20, 0x23, 0x87, 0xc5, 0xf1, 0xf6, 0x90, 0x54, 0x84, + 0xe8, 0xd9, 0x14, 0x21, 0x76, 0x16, 0x45, 0x88, 0x9f, 0xac, 0x08, 0xa7, 0xeb, 0x64, 0xa1, 0x2f, + 0xc9, 0x05, 0xfa, 0x52, 0xfc, 0xf5, 0x1c, 0xa4, 0xc5, 0x68, 0x5a, 0xd0, 0xf0, 0x6b, 0x27, 0x34, + 0xfc, 0xcf, 0xbc, 0xc9, 0xbc, 0x2d, 0x89, 0x45, 0xba, 0xbf, 0x60, 0xdf, 0xfe, 0x16, 0xc4, 0xfb, + 0xb6, 0xf7, 0x94, 0xdb, 0x84, 0x6b, 0xd3, 0x73, 0x52, 0xc5, 0xf6, 0xe8, 0x56, 0x06, 0xa6, 0x58, + 0xa8, 0x04, 0x59, 0x65, 0x26, 0xe3, 0xf6, 0xe1, 0x49, 0x13, 0x19, 0x56, 0x69, 0xd0, 0x47, 0x64, + 0x21, 0x3c, 0x74, 0x7a, 0xd4, 0xe1, 0xce, 0x84, 0x1c, 0x0c, 0x85, 0x01, 0x47, 0x60, 0x8b, 0x9b, + 0xc4, 0x27, 0xb3, 0x95, 0x77, 0x60, 0xba, 0x56, 0x9f, 0x1b, 0x34, 0x85, 0x69, 0xca, 0x16, 0xcd, + 0x65, 0x96, 0x0d, 0xc3, 0x44, 0xdb, 0xb0, 0x6c, 0x0e, 0x06, 0x4e, 0x8f, 0x16, 0xdf, 0xb5, 0x47, + 0x7b, 0x0e, 0xf7, 0x14, 0xd7, 0xa7, 0x89, 0x4b, 0x12, 0x8d, 0x32, 0x58, 0x32, 0x43, 0x69, 0xf4, + 0x75, 0xc8, 0x8e, 0xf9, 0xb4, 0x4a, 0x7c, 0xdc, 0xdc, 0x49, 0xcb, 0xce, 0x12, 0xf1, 0xd3, 0x83, + 0x34, 0x06, 0x41, 0x6d, 0xf4, 0x91, 0x01, 0xb9, 0xd0, 0x92, 0x90, 0x3f, 0xcb, 0x92, 0x10, 0x22, + 0x2d, 0xbc, 0x01, 0x4b, 0xe1, 0x8a, 0x93, 0xf9, 0x81, 0x76, 0x37, 0x3b, 0x6f, 0xa3, 0xff, 0x0b, + 0xbf, 0x16, 0x81, 0xe5, 0x29, 0x6e, 0xe1, 0x73, 0x99, 0xc8, 0xf4, 0xb9, 0x4c, 0xe0, 0xaa, 0x46, + 0x17, 0xb9, 0xaa, 0xa2, 0xb0, 0x58, 0x50, 0x18, 0xfa, 0x90, 0x0f, 0x8a, 0x78, 0xe8, 0x40, 0xe4, + 0xb8, 0x56, 0x29, 0xe3, 0x64, 0xbe, 0x13, 0x4b, 0xe6, 0xab, 0x76, 0xa9, 0x6d, 0x94, 0xb5, 0x08, + 0x75, 0x68, 0x3f, 0xaf, 0x97, 0x6a, 0x46, 0x59, 0x58, 0x2a, 0x85, 0xbf, 0x9a, 0x80, 0xb4, 0xd0, + 0x53, 0xb4, 0x05, 0xd9, 0x31, 0xf1, 0x78, 0x3c, 0xdf, 0x1a, 0xf5, 0x2c, 0x6e, 0x1b, 0xbc, 0x71, + 0x9c, 0x5a, 0xdf, 0x6e, 0x06, 0xb8, 0x58, 0x25, 0x24, 0xad, 0x3f, 0x74, 0x06, 0x93, 0xa1, 0x35, + 0xd5, 0xfa, 0xc7, 0x14, 0x88, 0x79, 0x26, 0xfa, 0x8a, 0xdc, 0x9c, 0x88, 0xcd, 0x1f, 0x0b, 0xb2, + 0xa4, 0x16, 0x4d, 0x8b, 0x9d, 0x8b, 0xc2, 0x36, 0x64, 0x95, 0xb2, 0x17, 0x3a, 0x90, 0xa1, 0x6e, + 0x8a, 0x4e, 0x75, 0x53, 0xe1, 0xa7, 0x63, 0x90, 0x64, 0xbc, 0x95, 0x73, 0xa8, 0xe8, 0x3c, 0xb1, + 0x4f, 0x55, 0x65, 0x76, 0x5e, 0xfe, 0x50, 0xd9, 0x85, 0xcd, 0x9e, 0x4c, 0xdf, 0x34, 0xfd, 0x03, + 0xbe, 0x57, 0xfb, 0x11, 0x24, 0x86, 0xce, 0x64, 0xe4, 0x73, 0x29, 0x5c, 0x3b, 0x89, 0xb4, 0x46, + 0x90, 0x31, 0xa3, 0xa1, 0xc7, 0xc0, 0xc2, 0xd3, 0x55, 0x4d, 0xb5, 0xb7, 0x20, 0x3d, 0xb4, 0x7c, + 0x93, 0xee, 0x67, 0x25, 0xe6, 0xa9, 0xa0, 0xcc, 0x26, 0x6e, 0xef, 0xd8, 0x75, 0xe8, 0x66, 0x1b, + 0x77, 0x7b, 0x79, 0xb2, 0x50, 0x80, 0x38, 0xa9, 0x27, 0x53, 0x53, 0xc7, 0x0f, 0xc6, 0x84, 0xe3, + 0x17, 0x2e, 0x41, 0x82, 0x56, 0x64, 0x5e, 0x66, 0x71, 0x73, 0x9e, 0x26, 0xa6, 0x21, 0xde, 0x2c, + 0xb5, 0x77, 0xb4, 0x08, 0xca, 0x40, 0xa2, 0xd6, 0xe8, 0xd4, 0xc9, 0x6a, 0x99, 0x81, 0xc4, 0x66, + 0xb5, 0x51, 0x7e, 0xa4, 0xc5, 0xc8, 0x0a, 0x8a, 0x4b, 0x4f, 0xb4, 0x38, 0xd7, 0xcc, 0x65, 0xc8, + 0x87, 0xa6, 0xb2, 0x42, 0x0e, 0x20, 0x98, 0xa1, 0x8a, 0x7f, 0x2f, 0x0a, 0x6b, 0x6d, 0xd7, 0xdc, + 0xdb, 0xb3, 0x7b, 0xc4, 0x04, 0x76, 0x9d, 0x41, 0xcb, 0x37, 0x7d, 0xdb, 0xf3, 0xed, 0x9e, 0xb7, + 0x50, 0x23, 0xd6, 0x20, 0xb5, 0x6b, 0xf6, 0x9e, 0x0e, 0x9c, 0x7d, 0xda, 0x57, 0x71, 0x2c, 0x92, + 0xe8, 0x3c, 0x24, 0x76, 0x5f, 0xf8, 0xdc, 0x6a, 0x8a, 0x63, 0x96, 0x20, 0xd0, 0xbe, 0xeb, 0x8c, + 0xd9, 0x7a, 0x12, 0xc7, 0x2c, 0x81, 0xd6, 0x01, 0x9c, 0x43, 0xcb, 0x1d, 0xd8, 0x43, 0xdb, 0x67, + 0xe7, 0x13, 0x71, 0xac, 0x40, 0xa8, 0x50, 0xcd, 0xde, 0x53, 0xcb, 0x67, 0xc7, 0x10, 0x71, 0x2c, + 0x92, 0x44, 0x5e, 0x5f, 0x0c, 0xac, 0x11, 0x5d, 0x34, 0xe2, 0x98, 0xfe, 0x47, 0xd7, 0x20, 0xe5, + 0x9a, 0xbe, 0xb5, 0x3b, 0xf6, 0xe8, 0xb2, 0x10, 0xdf, 0xcc, 0x1e, 0xbd, 0xdc, 0x48, 0x61, 0xd3, + 0xb7, 0x36, 0x9b, 0x2d, 0x2c, 0xf2, 0x04, 0xda, 0x78, 0xec, 0xd1, 0xc9, 0x5f, 0x41, 0x6b, 0x0a, + 0xb4, 0xf1, 0x98, 0xde, 0xda, 0x70, 0xad, 0x2f, 0x26, 0xd6, 0x84, 0x9e, 0xf2, 0x92, 0x52, 0x64, + 0xba, 0xf8, 0x23, 0x09, 0xc8, 0x19, 0x63, 0x45, 0x54, 0xeb, 0x00, 0x5b, 0x8e, 0xfb, 0xcc, 0x74, + 0xfb, 0xf6, 0x68, 0x9f, 0x76, 0x62, 0x0c, 0x2b, 0x10, 0x92, 0x5f, 0x61, 0x46, 0x74, 0xbb, 0x5d, + 0xa5, 0x12, 0x8b, 0x61, 0x05, 0x42, 0xf2, 0x8d, 0x11, 0xb6, 0x7a, 0x96, 0x7d, 0xc8, 0x25, 0x17, + 0xc3, 0x0a, 0x04, 0x5d, 0x85, 0xac, 0x31, 0xda, 0xe9, 0xbb, 0xba, 0xeb, 0x3a, 0x2e, 0x13, 0x62, + 0x0c, 0xab, 0x20, 0x54, 0x84, 0x9c, 0x31, 0x2a, 0xf5, 0x25, 0x4a, 0x82, 0xa2, 0x84, 0x60, 0xe8, + 0x0d, 0xc8, 0x93, 0x3a, 0x55, 0x4c, 0xdf, 0xdc, 0x77, 0xcd, 0x21, 0x13, 0x6a, 0x0c, 0x87, 0x81, + 0xe8, 0x06, 0x2c, 0x1b, 0xa3, 0xce, 0xe8, 0xe9, 0xc8, 0x79, 0x36, 0xa2, 0xc7, 0x07, 0x6c, 0xbb, + 0x26, 0x86, 0xa7, 0xc1, 0xac, 0xd6, 0x15, 0xdb, 0xeb, 0x99, 0x6e, 0x9f, 0xc9, 0x9c, 0xd6, 0x5a, + 0x40, 0x78, 0xbe, 0x35, 0xb0, 0x0f, 0x89, 0xeb, 0x95, 0x91, 0xf9, 0x1c, 0x42, 0x5a, 0xd5, 0x98, + 0xf8, 0x98, 0x48, 0xd5, 0xf3, 0x99, 0x94, 0x63, 0x58, 0x05, 0x71, 0x0c, 0x59, 0x44, 0x56, 0x62, + 0xc8, 0x32, 0x18, 0x46, 0xdd, 0xc1, 0x0e, 0x75, 0xa7, 0x72, 0x12, 0x43, 0x80, 0x88, 0x64, 0xb0, + 0x65, 0x7a, 0x43, 0x7e, 0xd3, 0x80, 0x6e, 0x98, 0xc6, 0x70, 0x08, 0x46, 0x6a, 0x4a, 0xd3, 0xd8, + 0xfa, 0xa2, 0xcf, 0x36, 0x46, 0x63, 0x58, 0x81, 0x10, 0x65, 0xa0, 0xa9, 0xc6, 0x23, 0x8f, 0xee, + 0x88, 0xc6, 0xb0, 0x4c, 0x4b, 0xda, 0x2d, 0xd3, 0x1e, 0x78, 0x6b, 0x9a, 0x42, 0x4b, 0x21, 0x44, + 0x89, 0xb7, 0x5c, 0x73, 0x9f, 0x90, 0x9e, 0xa3, 0x99, 0x22, 0x49, 0xa6, 0x55, 0xf2, 0x97, 0x11, + 0x22, 0x9a, 0x17, 0x00, 0x48, 0xcb, 0x48, 0xa2, 0xec, 0x5a, 0x26, 0x69, 0xd9, 0x0a, 0x6b, 0x99, + 0x02, 0x2a, 0xfe, 0xe3, 0x14, 0x2c, 0x19, 0xbd, 0xa1, 0xaa, 0x88, 0xab, 0x90, 0x34, 0x46, 0x35, + 0x6f, 0xdf, 0xe3, 0x4a, 0xc8, 0x53, 0xa4, 0x01, 0xc6, 0x88, 0xab, 0x06, 0x53, 0x3f, 0x99, 0x66, + 0xaa, 0x53, 0xf6, 0x26, 0x43, 0x9e, 0x1f, 0x13, 0xaa, 0x13, 0xc0, 0xd0, 0x75, 0x58, 0x22, 0x1d, + 0xe7, 0xf9, 0x9d, 0x91, 0x6b, 0x99, 0xbd, 0x03, 0xa1, 0x83, 0x53, 0x50, 0xa6, 0xa8, 0x44, 0xaa, + 0xfa, 0xf3, 0x5e, 0x5f, 0x68, 0xa1, 0x0a, 0x62, 0x18, 0x4d, 0xd3, 0x1d, 0x36, 0x5d, 0x67, 0x57, + 0xa8, 0xa0, 0x0a, 0x62, 0xf5, 0x69, 0xb9, 0xbd, 0x6f, 0x4c, 0xac, 0x11, 0x29, 0x29, 0x25, 0xea, + 0x13, 0xc0, 0x18, 0x17, 0x6c, 0xf5, 0x6d, 0xd7, 0xea, 0xf9, 0x42, 0xf7, 0x54, 0x10, 0x11, 0xbb, + 0x31, 0xd2, 0x7b, 0x07, 0x8e, 0xd0, 0x3c, 0x91, 0x64, 0x6a, 0x49, 0xfe, 0x62, 0x6b, 0x2c, 0xb4, + 0x4e, 0x81, 0xb0, 0xf2, 0x49, 0x85, 0x3d, 0xdf, 0x1c, 0x8e, 0x85, 0xd6, 0x85, 0x60, 0x6c, 0x90, + 0xc8, 0x34, 0x65, 0x94, 0x13, 0x83, 0x24, 0x04, 0x66, 0x35, 0x25, 0x83, 0xb0, 0x66, 0x7a, 0x4f, + 0x3d, 0xae, 0x7d, 0x2a, 0x88, 0xc9, 0x56, 0x24, 0x29, 0xab, 0x25, 0x21, 0x5b, 0x15, 0x4a, 0x5a, + 0xd4, 0x98, 0xf8, 0xb4, 0x73, 0x99, 0x0e, 0x8a, 0x24, 0x51, 0xa4, 0xc6, 0xc4, 0xe7, 0xdd, 0xc7, + 0x34, 0x30, 0x00, 0x90, 0xba, 0x92, 0x11, 0xa3, 0x76, 0x1e, 0x53, 0xc4, 0x69, 0x30, 0x69, 0x79, + 0x63, 0xe2, 0x07, 0xdd, 0xc7, 0x74, 0x32, 0x04, 0xe3, 0x38, 0x41, 0x07, 0xae, 0x48, 0x9c, 0xa0, + 0x07, 0xdf, 0x80, 0x7c, 0x63, 0xe2, 0x2b, 0x5d, 0x78, 0x9e, 0x4d, 0x34, 0x21, 0x20, 0xe7, 0x14, + 0x74, 0xe2, 0x05, 0xc9, 0x29, 0xe8, 0xc5, 0x02, 0xa4, 0x49, 0x43, 0x68, 0x37, 0xae, 0x32, 0xbd, + 0x15, 0x69, 0x3e, 0xf4, 0x65, 0x47, 0xbe, 0x2a, 0x87, 0xbe, 0xec, 0x49, 0x56, 0x0f, 0xa5, 0x2b, + 0xd7, 0x64, 0x3d, 0x94, 0xbe, 0x7c, 0x1b, 0x34, 0x15, 0x40, 0x99, 0x5d, 0xa4, 0x88, 0x33, 0x70, + 0x5e, 0xe7, 0xa0, 0x3b, 0x0b, 0xb2, 0xce, 0x41, 0x7f, 0x32, 0x79, 0x87, 0x3a, 0xf4, 0x92, 0x94, + 0xb7, 0x0a, 0x2e, 0x7e, 0x37, 0x06, 0xf9, 0x76, 0x4f, 0x1d, 0xbf, 0x64, 0xb2, 0xf2, 0x9d, 0xd2, + 0x60, 0xdf, 0x71, 0x6d, 0xff, 0x60, 0xc8, 0x47, 0x71, 0x08, 0x46, 0xc6, 0x38, 0xf6, 0x9d, 0x9a, + 0x3d, 0xe2, 0x23, 0x99, 0xa7, 0x04, 0xdc, 0x7c, 0xce, 0x47, 0x30, 0x4f, 0x11, 0xbd, 0xa9, 0x99, + 0xcf, 0xcb, 0xce, 0x68, 0xc4, 0x07, 0xad, 0x48, 0x12, 0x09, 0x96, 0x7a, 0xbe, 0x7d, 0x68, 0x35, + 0xc6, 0xd6, 0x48, 0x8e, 0x56, 0x05, 0x44, 0xea, 0xd3, 0x34, 0x3d, 0x4f, 0xa2, 0xb0, 0xe1, 0x1a, + 0x82, 0x11, 0x9c, 0x92, 0xef, 0x5b, 0xc3, 0xb1, 0xcf, 0x66, 0x32, 0x3e, 0x5e, 0x55, 0x18, 0x29, + 0x49, 0xf7, 0x7c, 0x73, 0x97, 0x18, 0xde, 0xc1, 0x78, 0x55, 0x40, 0x44, 0x87, 0xcb, 0x13, 0xd7, + 0xa5, 0x20, 0x3e, 0x62, 0x03, 0x00, 0x9b, 0xd7, 0x5a, 0xd6, 0xbe, 0x18, 0xaf, 0x3c, 0xc5, 0xc7, + 0x04, 0xcd, 0xc8, 0xca, 0x31, 0x41, 0x73, 0xae, 0x42, 0x16, 0x5b, 0xbe, 0x6b, 0x8e, 0x3c, 0x9a, + 0xcb, 0x17, 0x06, 0x05, 0xc4, 0x78, 0xea, 0xae, 0x2b, 0x06, 0x25, 0x4f, 0x71, 0x9e, 0x98, 0x2c, + 0x49, 0x4b, 0x92, 0x27, 0x49, 0xce, 0xcc, 0x94, 0xcb, 0xb3, 0x33, 0x65, 0xf1, 0x6f, 0x44, 0x21, + 0xdf, 0xe9, 0xab, 0x7d, 0x4a, 0x67, 0x80, 0x60, 0xd1, 0x8d, 0x88, 0x19, 0x20, 0x58, 0x72, 0xd7, + 0x20, 0x55, 0x77, 0x9a, 0x8e, 0xeb, 0x8b, 0xc9, 0x59, 0x24, 0x43, 0xf3, 0x76, 0x6c, 0x76, 0xde, + 0x26, 0x03, 0x58, 0x32, 0x8e, 0x4b, 0x5d, 0x0c, 0x38, 0x13, 0x7d, 0xea, 0x1d, 0xee, 0x4e, 0xf6, + 0xc2, 0x66, 0x81, 0x0a, 0x23, 0x38, 0xad, 0x51, 0x3f, 0xc0, 0xe1, 0x7d, 0xac, 0xc2, 0x66, 0x5a, + 0x9e, 0x9a, 0xb3, 0x46, 0x10, 0x9c, 0xfd, 0x91, 0xe3, 0x5a, 0xfd, 0xda, 0x64, 0xe0, 0xdb, 0xbc, + 0x93, 0x43, 0xb0, 0xe2, 0x5f, 0x8a, 0xc2, 0x52, 0xab, 0x5e, 0x6b, 0x2a, 0xe2, 0xf9, 0x08, 0xd2, + 0xf6, 0xb8, 0xeb, 0xf9, 0xa6, 0xef, 0x4d, 0x5d, 0x1e, 0x50, 0x4d, 0x2c, 0x66, 0xa5, 0x19, 0x94, + 0xd0, 0xc3, 0x29, 0x9b, 0x66, 0x79, 0xa8, 0x0c, 0x60, 0xf7, 0x86, 0x82, 0x3c, 0x1a, 0xba, 0x82, + 0x15, 0x5e, 0x1a, 0x37, 0xf3, 0x47, 0x2f, 0x37, 0x32, 0x46, 0xb9, 0xc6, 0x59, 0x64, 0x6c, 0x9e, + 0xed, 0xa1, 0x4f, 0x21, 0xe3, 0xf7, 0x04, 0x8f, 0x58, 0x68, 0x93, 0x3b, 0x34, 0x3a, 0xd9, 0xad, + 0xc0, 0x76, 0x99, 0x73, 0x48, 0xfb, 0xbd, 0x80, 0xc1, 0xa4, 0x2f, 0x18, 0x84, 0x77, 0xc9, 0x43, + 0xaa, 0xc0, 0x18, 0x74, 0x2a, 0x82, 0xc1, 0x84, 0x65, 0x7a, 0xc5, 0xef, 0x46, 0x60, 0x89, 0x78, + 0x28, 0x8a, 0x58, 0x02, 0xbf, 0x2e, 0x72, 0x26, 0xbf, 0x6e, 0xda, 0xff, 0x8c, 0x7e, 0x59, 0xff, + 0x73, 0x03, 0xb2, 0xd4, 0x0c, 0xef, 0xaa, 0xe6, 0x3c, 0x50, 0xd0, 0x26, 0xb5, 0xe9, 0xaf, 0x00, + 0x4c, 0x3c, 0xab, 0xcf, 0xf3, 0x99, 0x61, 0x9f, 0x21, 0x10, 0x9a, 0x5d, 0xfc, 0xa5, 0x95, 0xe0, + 0x2e, 0x77, 0x68, 0x86, 0xcb, 0xf8, 0x62, 0x4a, 0x0d, 0x6d, 0x6c, 0x06, 0x60, 0x54, 0x86, 0x95, + 0xde, 0x78, 0xe2, 0x75, 0x27, 0x1e, 0xbf, 0x3b, 0xda, 0xf5, 0xac, 0x1e, 0xbf, 0x4c, 0xb5, 0x79, + 0xfe, 0xe8, 0xe5, 0x86, 0x56, 0x6e, 0x76, 0xbc, 0x8e, 0xc7, 0xae, 0x8f, 0xb6, 0xac, 0x9e, 0x87, + 0x35, 0x42, 0xa0, 0x42, 0x90, 0x01, 0x17, 0x28, 0x13, 0xef, 0x85, 0xe7, 0x5b, 0x43, 0x85, 0x0d, + 0xbd, 0x67, 0xb5, 0xb9, 0x7a, 0xf4, 0x72, 0x03, 0x11, 0x36, 0x2d, 0x9a, 0x2f, 0x19, 0x21, 0x42, + 0x14, 0x86, 0xa1, 0x5b, 0x00, 0x94, 0x15, 0x6d, 0x3c, 0xbb, 0x79, 0xc5, 0xd4, 0x89, 0xd0, 0x57, + 0x09, 0x10, 0x67, 0x08, 0x02, 0xfd, 0x8b, 0xde, 0x83, 0xfc, 0xd0, 0x1a, 0x76, 0x5d, 0xcf, 0xe3, + 0xa2, 0xa1, 0x8e, 0x0d, 0xbb, 0x77, 0x50, 0xb3, 0x86, 0xb8, 0xd5, 0xa2, 0x02, 0xc2, 0xd9, 0xa1, + 0x35, 0xc4, 0x9e, 0xc7, 0x84, 0x79, 0x1d, 0x96, 0x09, 0x91, 0x2a, 0x71, 0xe6, 0xf2, 0x10, 0x5e, + 0xd5, 0x40, 0xe8, 0x0f, 0x60, 0x99, 0x56, 0x65, 0xe4, 0xf2, 0x0b, 0x00, 0x6c, 0x2c, 0xe6, 0x37, + 0xcf, 0x1d, 0xbd, 0xdc, 0xc8, 0x93, 0xfa, 0xd4, 0x5d, 0x76, 0xd2, 0xef, 0xe1, 0x3c, 0xc1, 0x94, + 0x49, 0xf4, 0x29, 0x9c, 0x13, 0xa4, 0xfe, 0x81, 0xeb, 0xf8, 0xfe, 0xc0, 0x62, 0xf7, 0x24, 0xf2, + 0x9b, 0x2b, 0x47, 0x2f, 0x37, 0x96, 0x19, 0x71, 0x5b, 0x64, 0xe1, 0x65, 0x46, 0x2e, 0x01, 0x08, + 0xc3, 0x1a, 0x65, 0x20, 0xa9, 0x15, 0xa1, 0x66, 0xa8, 0x50, 0x2e, 0x1e, 0xbd, 0xdc, 0xb8, 0x40, + 0xf8, 0x48, 0x22, 0x29, 0x57, 0xda, 0x19, 0x33, 0x60, 0xf4, 0x06, 0x2c, 0x91, 0x76, 0x13, 0x4f, + 0x99, 0x37, 0x9b, 0x39, 0x5b, 0xb9, 0xa1, 0x35, 0xdc, 0xb2, 0x07, 0x16, 0x6b, 0x35, 0xc7, 0x32, + 0x47, 0xce, 0x88, 0x63, 0x65, 0x25, 0x56, 0x69, 0xe4, 0x8c, 0x18, 0xd6, 0xbb, 0x70, 0x81, 0x60, + 0x0d, 0xcd, 0xf1, 0xd8, 0xea, 0xab, 0x2c, 0x73, 0x14, 0x19, 0x0d, 0xad, 0x61, 0x8d, 0xe6, 0x05, + 0x8c, 0xdf, 0x82, 0xf8, 0xd8, 0x72, 0xf7, 0xf8, 0x2d, 0x0a, 0x31, 0x73, 0x34, 0x2d, 0x77, 0x2f, + 0x50, 0x59, 0x4c, 0x51, 0x48, 0x1d, 0x46, 0x96, 0xdf, 0x75, 0x9f, 0x77, 0x85, 0x4f, 0xba, 0xc4, + 0xea, 0x30, 0xb2, 0x7c, 0xfc, 0xbc, 0xc9, 0x1d, 0xd3, 0xab, 0x90, 0xe3, 0x58, 0xac, 0xe8, 0x65, + 0x36, 0x6c, 0x28, 0x0e, 0x2b, 0xb2, 0x08, 0x79, 0x8e, 0x61, 0x05, 0x06, 0x5b, 0x1c, 0x67, 0x29, + 0x8a, 0xf4, 0xd4, 0x44, 0x59, 0xc4, 0x51, 0x1e, 0x5b, 0x7d, 0x6a, 0xb1, 0x89, 0xb2, 0x2a, 0x0c, + 0x26, 0xb0, 0xfc, 0xa0, 0x46, 0x48, 0x62, 0xb5, 0xa7, 0x6b, 0xe4, 0x8b, 0x1a, 0xad, 0xc8, 0x1a, + 0xb5, 0xc3, 0x35, 0xf2, 0x65, 0x8d, 0xce, 0xcb, 0x1a, 0xb5, 0xa7, 0x6a, 0xe4, 0x07, 0x35, 0xba, + 0xa0, 0x94, 0x25, 0x6a, 0xd4, 0x82, 0x8b, 0x14, 0xab, 0x37, 0xee, 0xba, 0xbe, 0xdf, 0x1d, 0xda, + 0x3d, 0xd7, 0x21, 0xea, 0xd1, 0x1d, 0xdf, 0xbf, 0x4b, 0xed, 0x37, 0xae, 0x22, 0x75, 0xcb, 0x6f, + 0x97, 0x9b, 0xd8, 0xf7, 0x6b, 0x02, 0xa3, 0x79, 0xff, 0x2e, 0xbe, 0x40, 0x78, 0xf5, 0xc6, 0x53, + 0xe0, 0x05, 0x4c, 0x1f, 0xdc, 0xa5, 0x56, 0xdf, 0xf1, 0x4c, 0x1f, 0xcc, 0x67, 0xfa, 0x60, 0x21, + 0xd3, 0xfb, 0xd4, 0x4c, 0x5c, 0xc0, 0xf4, 0xfe, 0x7c, 0xa6, 0xf7, 0x17, 0x31, 0x7d, 0x40, 0x4d, + 0xca, 0x05, 0x4c, 0x1f, 0xcc, 0x67, 0xfa, 0x00, 0xdd, 0x00, 0xad, 0x6f, 0x7b, 0x4f, 0x43, 0x53, + 0x43, 0x81, 0xca, 0x7e, 0x89, 0xc0, 0x95, 0xb9, 0xe1, 0x3a, 0x2c, 0x53, 0x4c, 0x65, 0x56, 0xbe, + 0xc4, 0xe6, 0x10, 0x02, 0xee, 0x88, 0x99, 0x19, 0x7d, 0x06, 0x05, 0x51, 0x4d, 0x93, 0xda, 0x7a, + 0xdd, 0x9e, 0x33, 0x1a, 0x59, 0x3d, 0xb6, 0x11, 0x7c, 0x99, 0xd6, 0xf3, 0xd2, 0xd1, 0xcb, 0x8d, + 0x57, 0x59, 0x3d, 0x99, 0x3d, 0x58, 0x0e, 0x50, 0xf0, 0xab, 0xac, 0xa6, 0x33, 0x19, 0xa8, 0x0b, + 0x57, 0x04, 0x67, 0x3a, 0x35, 0x3c, 0x33, 0x6d, 0x3f, 0xc4, 0xfc, 0x0a, 0x65, 0x7e, 0xe5, 0xe8, + 0xe5, 0xc6, 0x45, 0xc6, 0x9c, 0x4c, 0x04, 0x4f, 0x4c, 0xdb, 0x57, 0xd9, 0x5f, 0x64, 0xec, 0xe7, + 0x64, 0xb1, 0x9d, 0x48, 0xa7, 0x67, 0x79, 0x9e, 0xe5, 0xad, 0xad, 0x93, 0xb9, 0x0b, 0x07, 0x00, + 0x62, 0x47, 0xf9, 0x07, 0xae, 0x65, 0xf6, 0xbd, 0xb5, 0x0d, 0x9a, 0x27, 0x92, 0xe8, 0x2b, 0xb0, + 0x46, 0xa7, 0x57, 0xe7, 0x59, 0x77, 0xec, 0x5a, 0x9e, 0x37, 0x71, 0x49, 0xa3, 0x27, 0x23, 0xdf, + 0x72, 0xd7, 0xae, 0x52, 0x19, 0x91, 0xa9, 0xa3, 0xea, 0x3c, 0x6b, 0xf2, 0xdc, 0x32, 0xcb, 0x44, + 0x1f, 0xc3, 0x25, 0x3a, 0xa7, 0x58, 0x7d, 0x7b, 0x32, 0x9c, 0xa5, 0x7d, 0x8d, 0xd2, 0x12, 0xde, + 0x35, 0x8a, 0x31, 0x4d, 0x5e, 0x82, 0x2b, 0x84, 0xbc, 0xe7, 0xda, 0xbe, 0xdd, 0x33, 0x07, 0xb3, + 0x0c, 0x8a, 0x94, 0x41, 0x61, 0x68, 0x0d, 0xcb, 0x1c, 0x67, 0x9a, 0xc5, 0x0f, 0xc3, 0x3a, 0x95, + 0x29, 0xdb, 0xa6, 0x23, 0xd2, 0xf4, 0x5d, 0x67, 0x40, 0x8d, 0x0d, 0x36, 0x3f, 0xad, 0xbd, 0x1e, + 0xda, 0xba, 0x3f, 0x6e, 0x3f, 0x8f, 0x2f, 0xb3, 0x97, 0x88, 0x70, 0x8f, 0xdb, 0xf2, 0xe3, 0xab, + 0x90, 0xef, 0xf8, 0xe6, 0x80, 0x6b, 0xd0, 0x1b, 0x72, 0x15, 0x6a, 0x13, 0x68, 0x68, 0xa6, 0x65, + 0x78, 0x43, 0x6b, 0xe8, 0x3d, 0xe3, 0xd8, 0xd7, 0xe4, 0x4c, 0x4b, 0xb1, 0x6b, 0x24, 0x8b, 0x91, + 0xdc, 0x81, 0xf3, 0x84, 0xc4, 0x73, 0xf6, 0xfc, 0x90, 0x2a, 0x5f, 0xa7, 0x14, 0xe7, 0x86, 0xd6, + 0xb0, 0xe5, 0xec, 0xf9, 0x61, 0x6d, 0xa6, 0xa2, 0x33, 0x7b, 0x07, 0x62, 0x1e, 0x7f, 0x53, 0xd6, + 0xa5, 0x4c, 0xa0, 0xa1, 0xb5, 0xc1, 0x7b, 0x66, 0x8e, 0x39, 0xda, 0x0d, 0xb9, 0x36, 0xb4, 0x9e, + 0x99, 0x63, 0x86, 0x75, 0x8f, 0xd5, 0x78, 0x32, 0xb2, 0x0e, 0xed, 0x1e, 0xbd, 0x59, 0xc9, 0x91, + 0xdf, 0xa2, 0xc8, 0x2b, 0x43, 0x6b, 0xd8, 0x09, 0xf2, 0x18, 0xcd, 0x0f, 0xc1, 0x0a, 0x91, 0xbc, + 0x37, 0xe2, 0x06, 0x26, 0x17, 0xf7, 0xdb, 0xa1, 0xb5, 0x22, 0x6c, 0xcd, 0x6e, 0x5e, 0x38, 0x7a, + 0xb9, 0x71, 0xae, 0x6e, 0xf9, 0x61, 0x30, 0x3e, 0x37, 0xb2, 0xfc, 0xd6, 0x28, 0xb4, 0x55, 0x53, + 0xe1, 0xa3, 0x55, 0xe1, 0x7c, 0x93, 0x76, 0xe4, 0x85, 0xe0, 0x2e, 0xe0, 0xd3, 0x99, 0xee, 0xa3, + 0x63, 0x5e, 0xe1, 0x52, 0x03, 0x6d, 0x77, 0xf0, 0xd4, 0x76, 0x54, 0x36, 0xb7, 0x68, 0x05, 0x8b, + 0xe2, 0x1c, 0x7d, 0xdf, 0x75, 0x26, 0x63, 0x6a, 0xeb, 0x6d, 0x12, 0xcc, 0xdb, 0x4a, 0xb5, 0x96, + 0x29, 0x6d, 0x00, 0x28, 0xfe, 0x5e, 0x1c, 0xf2, 0xc2, 0x68, 0xeb, 0x78, 0xe6, 0xbe, 0x85, 0x4a, + 0x90, 0x11, 0xb7, 0x3b, 0xc5, 0xe5, 0xdc, 0xe9, 0xd3, 0x32, 0x8a, 0x28, 0xef, 0x06, 0x0a, 0x73, + 0x4e, 0x52, 0xa1, 0x9b, 0x90, 0xa0, 0x9a, 0xc2, 0x2f, 0x3b, 0x1c, 0x73, 0xeb, 0x84, 0xe1, 0x14, + 0xbe, 0x1f, 0x83, 0xb4, 0x60, 0x85, 0x3e, 0x81, 0x7c, 0x70, 0x29, 0x75, 0xb4, 0xe7, 0xf0, 0x2b, + 0x02, 0x2b, 0x73, 0xae, 0x23, 0x8a, 0x93, 0x29, 0x4b, 0xbd, 0xd4, 0xfa, 0x1e, 0x64, 0xf8, 0x11, + 0x9a, 0xd5, 0x5f, 0x5c, 0x7a, 0x80, 0x87, 0x1e, 0x00, 0x28, 0xc2, 0x8c, 0xcd, 0x3d, 0x64, 0x53, + 0x64, 0xa8, 0x20, 0xa3, 0xaf, 0x43, 0x4e, 0xde, 0x1a, 0xe9, 0xd2, 0x23, 0x85, 0xe8, 0xfc, 0x0f, + 0x1e, 0x37, 0x57, 0xf8, 0x86, 0xba, 0xfa, 0x15, 0x25, 0xce, 0x4a, 0x62, 0xa3, 0x8f, 0x3e, 0x81, + 0x84, 0x4f, 0xf7, 0x18, 0xd8, 0x65, 0x8d, 0xe2, 0x42, 0xa1, 0xdf, 0x6e, 0x9b, 0xde, 0x53, 0x29, + 0x48, 0x42, 0x56, 0xf8, 0xd9, 0x08, 0xc4, 0x09, 0x74, 0xc1, 0xd1, 0xf1, 0x5b, 0x74, 0x87, 0x9f, + 0xdd, 0x68, 0x14, 0x27, 0x1b, 0xec, 0x2b, 0xd1, 0x99, 0x0d, 0xff, 0x2f, 0x75, 0x7b, 0x28, 0x38, + 0xc0, 0x8b, 0x2f, 0x38, 0xc0, 0x2b, 0xfe, 0x85, 0x15, 0x58, 0x0a, 0x9b, 0x5c, 0xa7, 0xf2, 0x12, + 0xae, 0x86, 0x3e, 0x0b, 0x0c, 0x50, 0x24, 0x94, 0x78, 0xf8, 0xbd, 0x17, 0xbd, 0x81, 0xf4, 0x5e, + 0x78, 0x0a, 0x7d, 0x00, 0xaf, 0x7a, 0xbe, 0x39, 0x20, 0x16, 0x2c, 0x83, 0x74, 0xf7, 0x5c, 0x67, + 0xe4, 0x5b, 0xa3, 0x3e, 0x77, 0x63, 0x2e, 0xf0, 0xec, 0x32, 0xcd, 0xdd, 0xe2, 0x99, 0xe8, 0x7d, + 0x58, 0x9d, 0xa2, 0xdb, 0x25, 0x46, 0xd6, 0xa8, 0xcf, 0xcf, 0x2e, 0xce, 0x87, 0xc8, 0x36, 0x59, + 0x1e, 0xf1, 0x8b, 0xed, 0x91, 0xe7, 0xbb, 0x13, 0xbe, 0x06, 0x32, 0xbb, 0x3e, 0x04, 0x43, 0x6f, + 0x81, 0xc6, 0x26, 0x3a, 0xd7, 0xda, 0xb3, 0x5c, 0xe2, 0x7f, 0x79, 0xfc, 0x6c, 0x63, 0x99, 0xc2, + 0xb1, 0x04, 0xa3, 0xd7, 0x20, 0xc7, 0x50, 0x87, 0x36, 0x5d, 0x05, 0xd3, 0xcc, 0x58, 0xa3, 0xb0, + 0x1a, 0x05, 0xa1, 0x02, 0xa4, 0x77, 0x5d, 0x73, 0xd4, 0x3b, 0xb0, 0xf8, 0x19, 0x07, 0x96, 0x69, + 0xf4, 0x3a, 0xe4, 0xd9, 0x7f, 0x41, 0xcf, 0xed, 0x6d, 0x06, 0xe4, 0x0c, 0xae, 0x00, 0xec, 0x4e, + 0x3c, 0xde, 0x48, 0x6e, 0x6b, 0x67, 0x76, 0x27, 0x1e, 0x6b, 0x18, 0xc9, 0x76, 0xad, 0x3d, 0x91, + 0xcd, 0xac, 0xeb, 0x8c, 0x6b, 0xed, 0xf1, 0xec, 0xb7, 0x80, 0x78, 0x43, 0xdd, 0xde, 0xc0, 0xe9, + 0x3d, 0xa5, 0x96, 0x75, 0x84, 0x39, 0xbe, 0xe5, 0x66, 0xa7, 0x4c, 0x60, 0x38, 0xdd, 0x1b, 0x4f, + 0xe8, 0x3f, 0xc2, 0x89, 0x68, 0x2b, 0xc7, 0x25, 0x06, 0x75, 0x04, 0x67, 0x08, 0x84, 0x65, 0x6f, + 0x40, 0x76, 0x6c, 0xee, 0x5b, 0x5d, 0x7a, 0x50, 0x22, 0x8d, 0x69, 0x02, 0xa2, 0xb7, 0x6d, 0xa9, + 0x30, 0x86, 0xf6, 0xc8, 0x71, 0x05, 0x06, 0xb7, 0xa5, 0x29, 0x4c, 0x41, 0x31, 0x7f, 0x38, 0x40, + 0x39, 0xc7, 0x51, 0x08, 0x8c, 0xa3, 0x10, 0xe9, 0x93, 0x2e, 0x7e, 0xee, 0x77, 0xbd, 0x67, 0xb6, + 0x4f, 0xe5, 0x86, 0xb8, 0xf4, 0x19, 0xbc, 0xc5, 0xc1, 0xe8, 0x43, 0x58, 0x22, 0x6d, 0x1b, 0xda, + 0xfb, 0x2e, 0x3f, 0x38, 0xa7, 0xf6, 0xb4, 0x74, 0xbf, 0x6a, 0x32, 0x83, 0xba, 0x5f, 0x41, 0x92, + 0x14, 0x62, 0x0e, 0xec, 0x7d, 0xfa, 0xf5, 0x81, 0xa8, 0x0b, 0x33, 0xb4, 0x97, 0x25, 0x3c, 0xa8, + 0x8f, 0x35, 0x9c, 0x0c, 0xd8, 0x7d, 0x01, 0x8e, 0xca, 0xcc, 0xed, 0x65, 0x09, 0xe7, 0xa8, 0xd7, + 0x61, 0x79, 0xf0, 0x6e, 0xb7, 0xcf, 0x34, 0x62, 0xe0, 0x10, 0xd3, 0x67, 0x95, 0xad, 0x92, 0x83, + 0x77, 0x2b, 0x14, 0x5a, 0x25, 0x40, 0xb2, 0x62, 0x87, 0xf1, 0x44, 0xf7, 0xbf, 0xca, 0x56, 0x6c, + 0x15, 0x9b, 0x2b, 0xc1, 0x0d, 0xd0, 0x02, 0x12, 0xcf, 0x77, 0x5c, 0x8b, 0x6d, 0xa0, 0xc6, 0xf1, + 0x92, 0xc0, 0x6e, 0x51, 0x28, 0x7a, 0x0f, 0x56, 0xa7, 0x30, 0x05, 0xf7, 0x8b, 0x6c, 0x75, 0x0d, + 0xe1, 0x73, 0xf6, 0x77, 0xe1, 0x7c, 0x40, 0x34, 0x26, 0x7a, 0xcf, 0x04, 0x5f, 0x08, 0x57, 0xa8, + 0x29, 0x73, 0xd0, 0x03, 0xb8, 0x38, 0x4b, 0x21, 0x4a, 0x62, 0x96, 0xee, 0xea, 0x34, 0x19, 0x2f, + 0x8c, 0x89, 0xc9, 0x56, 0xc5, 0x74, 0x59, 0x88, 0xc9, 0x98, 0x11, 0x93, 0x3d, 0x2b, 0xa6, 0x2b, + 0xa2, 0x56, 0xc6, 0xb4, 0x98, 0x58, 0x3b, 0xec, 0x99, 0x76, 0xac, 0x87, 0x29, 0x66, 0xda, 0x61, + 0xcf, 0x6f, 0xc7, 0x86, 0x68, 0x87, 0x31, 0xaf, 0x1d, 0x6f, 0x41, 0x66, 0x30, 0xe8, 0xf1, 0x16, + 0x50, 0xc3, 0x95, 0x0d, 0xad, 0x6a, 0xb5, 0x4c, 0x1b, 0x80, 0xd3, 0x83, 0x41, 0x8f, 0x35, 0xe5, + 0x01, 0x2c, 0x0b, 0x54, 0xc1, 0xfb, 0xb5, 0x40, 0x55, 0x39, 0x01, 0x63, 0x8b, 0xf3, 0x9c, 0x8a, + 0x97, 0x72, 0x0b, 0x80, 0x90, 0xf2, 0x3e, 0xa7, 0x26, 0x2a, 0xdb, 0xef, 0xa8, 0x56, 0xcb, 0xac, + 0xcb, 0x31, 0xa9, 0x06, 0xef, 0xfd, 0xaf, 0x82, 0x26, 0xb1, 0x45, 0x49, 0xaf, 0x53, 0x1a, 0x74, + 0xf4, 0x72, 0x63, 0x49, 0xd0, 0xf0, 0xa2, 0x96, 0x04, 0x21, 0x2f, 0xeb, 0x43, 0x20, 0x10, 0x55, + 0x70, 0x6f, 0x84, 0x6a, 0x19, 0xc8, 0x8d, 0xd6, 0x52, 0x11, 0xa3, 0x0e, 0x2b, 0x2a, 0xa5, 0x28, + 0x9a, 0x9a, 0xa0, 0xcc, 0x0e, 0x53, 0xc8, 0x79, 0xe9, 0xe7, 0x14, 0x16, 0x41, 0x63, 0xfb, 0xfe, + 0x60, 0x97, 0xcb, 0xf4, 0x7a, 0xd0, 0xd8, 0x4a, 0xbb, 0xba, 0xc9, 0x84, 0x9a, 0x21, 0x08, 0x4c, + 0xaa, 0x5f, 0x05, 0x4d, 0x62, 0x8b, 0x12, 0xdf, 0x0c, 0x1a, 0x2b, 0x68, 0x44, 0x63, 0x05, 0x21, + 0x2f, 0xeb, 0x0e, 0x64, 0x29, 0x35, 0x97, 0x2c, 0x35, 0x54, 0xd9, 0x2d, 0x1d, 0x42, 0xc8, 0x45, + 0x4b, 0xab, 0xc3, 0x65, 0xfb, 0x29, 0x9c, 0x0b, 0x08, 0x44, 0x79, 0xd4, 0x64, 0x65, 0x7b, 0x36, + 0x92, 0x8c, 0x17, 0xb8, 0x2c, 0x69, 0x79, 0x89, 0x1f, 0x01, 0x05, 0xa9, 0xf2, 0x7d, 0x3b, 0x5c, + 0x5d, 0x45, 0xc0, 0xb4, 0xba, 0x8a, 0x84, 0x77, 0xe0, 0x7c, 0x88, 0x58, 0x54, 0xe0, 0x26, 0xe5, + 0x40, 0x77, 0xd0, 0x54, 0x0e, 0xbc, 0x0e, 0x48, 0xe5, 0x12, 0x08, 0xd9, 0x0e, 0x84, 0x7c, 0x2b, + 0x10, 0xb2, 0x11, 0x08, 0xd9, 0x56, 0x85, 0x6c, 0x4f, 0x0b, 0xf9, 0x9d, 0xa0, 0xd6, 0xc6, 0x94, + 0x90, 0xed, 0xb0, 0x90, 0x5f, 0x03, 0xbe, 0x98, 0xf1, 0xd2, 0x6e, 0xb3, 0x09, 0x9f, 0xc1, 0x58, + 0x01, 0xb7, 0x00, 0x29, 0x28, 0xa2, 0x88, 0x3b, 0x14, 0x51, 0x0b, 0x10, 0x83, 0xd5, 0x70, 0xe4, + 0xf4, 0xc5, 0xbc, 0x71, 0x97, 0x2d, 0x77, 0x04, 0xc2, 0x98, 0xdd, 0x00, 0x4d, 0x66, 0x0b, 0x56, + 0xef, 0xb2, 0x79, 0x52, 0x20, 0x71, 0x46, 0x1b, 0x90, 0xa5, 0x98, 0xbc, 0xfb, 0xef, 0xf1, 0x9d, + 0x18, 0xa7, 0x2f, 0x26, 0xd2, 0xb7, 0xe1, 0x5c, 0x80, 0x20, 0x78, 0xbd, 0xc7, 0x66, 0x7e, 0x89, + 0xc6, 0x99, 0xbd, 0x09, 0x14, 0xa4, 0xf6, 0xec, 0xfb, 0x41, 0xa9, 0x4a, 0x2f, 0xde, 0x85, 0xf3, + 0x21, 0x44, 0xc1, 0xf7, 0x3e, 0x9b, 0xa0, 0x54, 0x6c, 0xc6, 0xba, 0x78, 0x08, 0x29, 0x7e, 0x04, + 0x8f, 0x3e, 0x80, 0xb4, 0xb9, 0x4f, 0x56, 0x2c, 0x79, 0xcd, 0x79, 0xfa, 0x43, 0x00, 0xba, 0x31, + 0xcf, 0x13, 0x38, 0x45, 0x91, 0x8d, 0x29, 0x7b, 0x31, 0x7a, 0x3a, 0x7b, 0xb1, 0xf8, 0xcb, 0x17, + 0x20, 0x41, 0x63, 0x9e, 0xf0, 0x40, 0x03, 0x91, 0x50, 0xe8, 0x0a, 0x1e, 0x0d, 0x65, 0xc6, 0x34, + 0xfd, 0xfa, 0xd4, 0xa7, 0x5f, 0xd1, 0x90, 0xd1, 0xad, 0x7e, 0xfa, 0x25, 0x8d, 0xee, 0x63, 0x3f, + 0xff, 0x7a, 0xa8, 0x34, 0x37, 0x16, 0x0e, 0x9c, 0xc1, 0x9b, 0xbb, 0xcc, 0x79, 0xcc, 0x36, 0x59, + 0xfd, 0x78, 0x23, 0x7e, 0xf2, 0xc7, 0x1b, 0xa7, 0xfd, 0x0e, 0xce, 0x80, 0x9c, 0xf2, 0x61, 0x1e, + 0x31, 0x1f, 0x63, 0xf3, 0xbf, 0xcc, 0x93, 0xad, 0x0b, 0x60, 0x1e, 0xce, 0x06, 0x9f, 0xe6, 0x4d, + 0x7f, 0x07, 0x92, 0x3a, 0xf5, 0xd5, 0xf3, 0x6b, 0x10, 0x9b, 0xb8, 0x03, 0x7e, 0xd9, 0x12, 0xc4, + 0xc9, 0x06, 0xae, 0xb2, 0xcf, 0x82, 0x3a, 0xb8, 0x8a, 0x49, 0xfe, 0x9c, 0x50, 0x16, 0x99, 0x33, + 0x84, 0xb2, 0x98, 0x77, 0x4d, 0x12, 0xbe, 0xd4, 0x35, 0xc9, 0xe0, 0xa3, 0x93, 0xec, 0x49, 0x1f, + 0x9d, 0xfc, 0x2b, 0x0d, 0x32, 0x32, 0x7c, 0x0c, 0xba, 0x1f, 0xfa, 0xe6, 0xe4, 0x92, 0xaa, 0x77, + 0xb7, 0x25, 0xd6, 0xec, 0xad, 0xb5, 0xfb, 0xc4, 0xcd, 0x99, 0x8c, 0x7a, 0xe2, 0xde, 0xda, 0x95, + 0x63, 0x08, 0xab, 0x14, 0x09, 0x73, 0x64, 0xf4, 0x21, 0xa4, 0xd8, 0x35, 0x4a, 0x71, 0x75, 0x6f, + 0xfd, 0x18, 0x3a, 0x76, 0x5b, 0xd1, 0xc2, 0x02, 0x1d, 0x7d, 0x02, 0x99, 0xc9, 0x48, 0xd0, 0xc6, + 0x43, 0xdf, 0xaa, 0x4f, 0xd3, 0x76, 0x04, 0x1e, 0x0e, 0x48, 0x48, 0x85, 0x7b, 0xf4, 0x0e, 0x09, + 0xbf, 0xd5, 0x76, 0x5c, 0x85, 0xd9, 0x45, 0x13, 0xcc, 0x91, 0x49, 0x85, 0xfb, 0x96, 0xe7, 0xbb, + 0xce, 0x0b, 0x7e, 0x71, 0xf9, 0xb8, 0x0a, 0x57, 0x18, 0x16, 0x16, 0xe8, 0x48, 0x87, 0x1c, 0x6b, + 0x74, 0x97, 0x6e, 0x46, 0xf0, 0xbb, 0xbe, 0xc5, 0x85, 0x72, 0xda, 0x26, 0x98, 0x38, 0x3b, 0x08, + 0x12, 0x68, 0x07, 0xf2, 0xac, 0x2a, 0x5d, 0x7e, 0x33, 0x32, 0x1d, 0xfa, 0xf4, 0x60, 0x7e, 0xf5, + 0xf9, 0x7d, 0xc9, 0x5c, 0x4f, 0x49, 0xa1, 0x47, 0xb0, 0xc4, 0xeb, 0x26, 0x58, 0x65, 0x42, 0xe7, + 0x64, 0xc7, 0xb4, 0x88, 0xf3, 0xca, 0xf7, 0xd5, 0x24, 0x69, 0x1d, 0xaf, 0xd6, 0x2e, 0x75, 0x63, + 0x60, 0x61, 0xeb, 0x58, 0xad, 0x36, 0xa9, 0x23, 0x94, 0xed, 0x05, 0x09, 0xd2, 0x3a, 0x51, 0x27, + 0xc6, 0x27, 0xbb, 0xb0, 0x75, 0xbc, 0x4a, 0x8c, 0x51, 0xae, 0xaf, 0xa4, 0xf8, 0xec, 0x99, 0x0b, + 0x7d, 0x13, 0xa4, 0x04, 0x49, 0x0a, 0xdd, 0x71, 0xdc, 0x84, 0xec, 0xbe, 0xeb, 0x3c, 0x13, 0x62, + 0x60, 0x07, 0x21, 0xaf, 0x1d, 0x53, 0xe6, 0xb6, 0xeb, 0x3c, 0xe3, 0x32, 0x80, 0x7d, 0xf9, 0x9f, + 0xd4, 0xdc, 0x3b, 0x70, 0xed, 0xd1, 0x53, 0xc1, 0x65, 0x69, 0x61, 0xcd, 0x5b, 0x14, 0x57, 0xf4, + 0x8b, 0xa7, 0xa4, 0x0a, 0x9f, 0x40, 0x92, 0xf5, 0x3e, 0x7a, 0x9f, 0x7b, 0x86, 0x64, 0x1e, 0x10, + 0x1b, 0x4f, 0xcb, 0xea, 0x1e, 0x45, 0xb0, 0xe7, 0x43, 0x1d, 0x46, 0x92, 0xf6, 0x0a, 0xff, 0x0f, + 0x64, 0x15, 0xed, 0x41, 0xf7, 0x21, 0x2d, 0xe6, 0xbf, 0x93, 0xb7, 0x8e, 0x24, 0x2a, 0x7a, 0xc0, + 0xcb, 0x66, 0xca, 0x1a, 0x0d, 0x7d, 0x96, 0x42, 0xca, 0xde, 0x16, 0x3b, 0x6a, 0x6a, 0x05, 0x28, + 0xb0, 0xf0, 0x09, 0x59, 0x3a, 0xd9, 0x28, 0x0b, 0xcd, 0xf6, 0x91, 0xd3, 0xcd, 0xf6, 0x85, 0xaf, + 0x41, 0x46, 0x0e, 0xd9, 0x2f, 0xc7, 0xe1, 0x01, 0x24, 0x99, 0x8a, 0xa1, 0x3b, 0x90, 0x62, 0xfd, + 0x71, 0x02, 0xb1, 0xc0, 0x2a, 0x3c, 0x84, 0x14, 0xd7, 0xaa, 0xb3, 0xd3, 0x8e, 0x00, 0x02, 0xed, + 0x40, 0xef, 0xc8, 0xcb, 0xcb, 0xe1, 0x00, 0x4f, 0x53, 0xd4, 0xe2, 0x12, 0xf3, 0xbb, 0x90, 0x36, + 0xfb, 0x7d, 0x5b, 0x6e, 0xe5, 0x1c, 0x4b, 0x20, 0xd1, 0x0a, 0x3e, 0xe4, 0x54, 0x3d, 0x3a, 0x6b, + 0x89, 0xf7, 0x21, 0xed, 0x4d, 0x76, 0xd9, 0x77, 0xf5, 0xd1, 0x90, 0x66, 0xa8, 0x1f, 0x44, 0x88, + 0x52, 0x05, 0x6a, 0xe1, 0x27, 0x22, 0x90, 0x53, 0xa7, 0x15, 0x52, 0xac, 0x3c, 0xa6, 0x5f, 0x54, + 0x2c, 0x3f, 0x9c, 0x7f, 0x04, 0x59, 0xdf, 0x74, 0xf7, 0x2d, 0xbf, 0xab, 0x7c, 0xb3, 0x71, 0x96, + 0x7b, 0xd2, 0xc0, 0xc8, 0x09, 0xa4, 0xf0, 0x09, 0xe4, 0x43, 0xf3, 0xd2, 0x19, 0x65, 0x50, 0xf8, + 0x2a, 0x64, 0x95, 0xc9, 0xe8, 0x8c, 0x4d, 0x29, 0x7c, 0x04, 0x39, 0x75, 0x0a, 0x42, 0x37, 0x21, + 0xc1, 0xa6, 0xad, 0x85, 0xd4, 0x0c, 0xa7, 0xf8, 0x6f, 0x22, 0xc7, 0x5c, 0xb3, 0xaf, 0x96, 0x3a, + 0xf5, 0xf2, 0x0e, 0xfb, 0x2a, 0x90, 0xfd, 0xef, 0x6e, 0xe3, 0x46, 0xa7, 0xa9, 0x25, 0x09, 0x2a, + 0xfb, 0x30, 0x53, 0xd7, 0xa2, 0x28, 0x0f, 0x99, 0x4e, 0x5d, 0x24, 0x63, 0xf4, 0xc3, 0x72, 0xac, + 0x97, 0xda, 0xba, 0x16, 0x67, 0x5f, 0x9c, 0xb7, 0xda, 0xb8, 0xf1, 0xb9, 0x96, 0x40, 0xe7, 0x20, + 0xcf, 0x32, 0xc4, 0xa7, 0x99, 0x29, 0x84, 0x60, 0x89, 0xe7, 0x0b, 0x58, 0x9a, 0x94, 0xc6, 0xd1, + 0xd8, 0x45, 0xea, 0x0c, 0x21, 0x14, 0x58, 0x0c, 0x04, 0x68, 0x19, 0xb2, 0xdb, 0xb8, 0xf1, 0x44, + 0x50, 0x65, 0x09, 0x4e, 0x6b, 0x07, 0x1b, 0xf5, 0x47, 0x02, 0x94, 0xe3, 0x9f, 0x2e, 0xfe, 0x66, + 0x14, 0x72, 0xc6, 0xe8, 0xd0, 0x72, 0x3d, 0x8b, 0xd9, 0xb3, 0x77, 0x16, 0xd8, 0xb3, 0xd2, 0xa2, + 0xe4, 0x00, 0x3a, 0x2d, 0x73, 0x93, 0x2b, 0x7a, 0x82, 0xc9, 0x35, 0x6d, 0xfb, 0xc6, 0x7e, 0x00, + 0xdb, 0x57, 0x35, 0xf5, 0xe3, 0x67, 0x30, 0xf5, 0xcb, 0x33, 0x66, 0x5f, 0x82, 0xd6, 0x62, 0xbe, + 0xd9, 0x27, 0xce, 0x31, 0xa6, 0x8c, 0xbf, 0xd0, 0x54, 0x97, 0x3c, 0xa5, 0xbf, 0xf0, 0xb3, 0x09, + 0x48, 0x8b, 0xb5, 0x60, 0xc1, 0x36, 0xf7, 0x07, 0x90, 0x62, 0x4b, 0xc9, 0x31, 0x7b, 0xdd, 0x4b, + 0x5c, 0x34, 0x3c, 0x42, 0x22, 0x4e, 0xd2, 0xf5, 0xe4, 0x07, 0x73, 0x06, 0x42, 0xed, 0x89, 0x9f, + 0xd2, 0xd4, 0xbf, 0xa3, 0x2c, 0x57, 0x89, 0xd0, 0x55, 0x28, 0x75, 0xb9, 0x52, 0x16, 0x2a, 0x11, + 0x6c, 0x23, 0xa9, 0x04, 0xdb, 0x38, 0x5b, 0xdc, 0x8c, 0xfb, 0x90, 0x3b, 0xa0, 0xd1, 0x74, 0xba, + 0x34, 0xca, 0xda, 0x54, 0xdc, 0x0c, 0x25, 0xd0, 0x0e, 0xce, 0x1e, 0x28, 0x81, 0x92, 0x42, 0xdf, + 0x05, 0x67, 0x4e, 0x17, 0xf6, 0x22, 0x38, 0x0d, 0x80, 0xc5, 0x91, 0x27, 0x94, 0xe8, 0x18, 0xd9, + 0xd3, 0x45, 0xc7, 0xb8, 0x07, 0xd9, 0xa7, 0xf6, 0x60, 0xd0, 0x1d, 0xd3, 0x98, 0x34, 0xdc, 0xf2, + 0x11, 0x66, 0x7f, 0x10, 0xac, 0x06, 0xc3, 0xd3, 0x20, 0x70, 0xcd, 0x75, 0x48, 0xb0, 0x26, 0xe7, + 0x43, 0x1f, 0xae, 0xc9, 0xd8, 0x3b, 0x98, 0x65, 0xa3, 0x32, 0xac, 0x0c, 0xcd, 0xe7, 0xdd, 0x9e, + 0x33, 0x1c, 0x0f, 0x2c, 0xea, 0x9a, 0xf8, 0xb6, 0x34, 0x71, 0xe6, 0xc6, 0xdd, 0x38, 0x37, 0x34, + 0x9f, 0x97, 0x25, 0x7a, 0xdb, 0x1e, 0x5a, 0xc5, 0xaf, 0x42, 0x3e, 0x64, 0x38, 0xd0, 0x33, 0x31, + 0x7a, 0xba, 0xb3, 0xd0, 0xb2, 0x61, 0x38, 0xc5, 0x7f, 0x9b, 0x38, 0xf1, 0x28, 0xe7, 0xcb, 0xea, + 0xf8, 0x9f, 0xe6, 0x04, 0xb2, 0x19, 0x0e, 0x21, 0x13, 0x0f, 0xf5, 0x82, 0xe2, 0xa8, 0x2e, 0x2d, + 0x08, 0x1f, 0xa3, 0x8e, 0xb9, 0xc4, 0x19, 0xc7, 0xdc, 0x75, 0x1a, 0x54, 0xd2, 0xb7, 0xd6, 0x92, + 0x74, 0x59, 0xd5, 0x14, 0x09, 0xb4, 0x08, 0x1c, 0xb3, 0xec, 0xf0, 0xd8, 0x4c, 0x9d, 0x72, 0x6c, + 0xbe, 0xa7, 0x04, 0x7d, 0x4a, 0x87, 0x5c, 0x70, 0xc1, 0x7f, 0xe2, 0x49, 0x73, 0x41, 0x44, 0x83, + 0xfa, 0x1a, 0xac, 0xb0, 0xff, 0xdd, 0xc9, 0xb8, 0x4f, 0x1c, 0x04, 0x56, 0xbf, 0x0c, 0xf5, 0x2f, + 0x67, 0xeb, 0x77, 0x8e, 0x21, 0x77, 0x28, 0x2e, 0x05, 0xa1, 0x4d, 0x40, 0x61, 0x0e, 0x93, 0x89, + 0xcd, 0xbe, 0x3d, 0xcc, 0xb1, 0x9b, 0x70, 0x2d, 0x85, 0xa4, 0xd3, 0x31, 0x2a, 0x58, 0x53, 0x99, + 0x74, 0x26, 0x76, 0xff, 0xb4, 0x91, 0x06, 0xbf, 0x4c, 0x58, 0x9a, 0xd0, 0x3c, 0x90, 0x3f, 0xdd, + 0x3c, 0x20, 0x62, 0x2c, 0x2d, 0x05, 0x31, 0x96, 0x8a, 0x35, 0x58, 0x6d, 0xd3, 0x5b, 0xd1, 0x4c, + 0xdc, 0xf4, 0x1a, 0x00, 0xf3, 0xc9, 0xbf, 0x8c, 0x0d, 0x5c, 0xbc, 0x0c, 0x71, 0x22, 0x8b, 0x20, + 0xc8, 0x13, 0x19, 0x30, 0x39, 0xf1, 0x15, 0xf2, 0x6f, 0x47, 0x55, 0xa7, 0x7f, 0x3a, 0x72, 0x50, + 0xe4, 0x4b, 0x46, 0x0e, 0x52, 0x97, 0xcf, 0xe8, 0x19, 0x96, 0xcf, 0xbb, 0x10, 0xa7, 0x7b, 0x1d, + 0x6c, 0xe4, 0xad, 0xce, 0xf7, 0x99, 0xc4, 0x58, 0xb7, 0x59, 0xe8, 0x88, 0xfc, 0xc0, 0xf4, 0x2d, + 0xcf, 0xef, 0xb2, 0xae, 0xe6, 0xc7, 0xcc, 0xab, 0xd3, 0x9e, 0x5e, 0x48, 0x29, 0x73, 0x8c, 0x84, + 0xc1, 0xd0, 0x87, 0x8a, 0x36, 0x27, 0x42, 0x11, 0xb7, 0xe6, 0x53, 0x07, 0x2a, 0xfd, 0x0e, 0xc4, + 0xa9, 0x0a, 0x26, 0x69, 0x99, 0x59, 0xb1, 0xc6, 0x77, 0x8c, 0x8a, 0x12, 0x9c, 0x8b, 0xe8, 0x21, + 0x45, 0x2b, 0xfe, 0x74, 0x14, 0x96, 0xa7, 0x58, 0x12, 0x89, 0x3b, 0x02, 0x34, 0x2b, 0x71, 0xd5, + 0x51, 0xa5, 0x12, 0x57, 0x00, 0x38, 0x2b, 0x09, 0x8d, 0x3e, 0x7a, 0x57, 0x8c, 0x77, 0x66, 0x46, + 0x5f, 0x98, 0xd7, 0x02, 0x4b, 0x09, 0x25, 0x4b, 0xbf, 0x1f, 0x4f, 0x0d, 0x2d, 0xcf, 0x33, 0xf7, + 0xc5, 0xe7, 0xa2, 0x22, 0x89, 0xb6, 0x60, 0xa5, 0xe7, 0x10, 0x93, 0xcd, 0xb7, 0xfa, 0xdd, 0x53, + 0x2e, 0xdd, 0x48, 0x52, 0x60, 0x39, 0x4f, 0xbc, 0xc5, 0xe5, 0xc3, 0xd6, 0xef, 0x90, 0x7c, 0xd2, + 0x53, 0xb2, 0x79, 0x19, 0x85, 0x65, 0xba, 0xdc, 0x30, 0xb9, 0xf0, 0xbd, 0xab, 0x93, 0x43, 0x56, + 0xca, 0x8f, 0x25, 0xa7, 0xc2, 0x7f, 0xac, 0xab, 0xd8, 0x01, 0xcf, 0xd9, 0x90, 0x95, 0x0f, 0x42, + 0x21, 0x2b, 0x2f, 0x1d, 0x43, 0x36, 0x37, 0x70, 0xe5, 0x7d, 0x16, 0x8f, 0x2f, 0x1e, 0xfa, 0xf8, + 0x79, 0x9a, 0x72, 0x36, 0x72, 0xe4, 0xf5, 0x20, 0x72, 0xe4, 0x25, 0xc8, 0x58, 0xcf, 0xe9, 0xb5, + 0xb0, 0x3e, 0x6b, 0x66, 0x82, 0x18, 0x34, 0xb6, 0x5f, 0x76, 0xfa, 0x56, 0xe1, 0x4d, 0x1e, 0x22, + 0x72, 0x03, 0xb2, 0x7c, 0xda, 0x93, 0x68, 0x79, 0x76, 0xd3, 0x62, 0xe2, 0x51, 0xc4, 0xd7, 0x59, + 0x54, 0xc8, 0xcb, 0x90, 0xf1, 0x26, 0xbd, 0x9e, 0x65, 0xf5, 0x2d, 0xa6, 0x47, 0x69, 0x1c, 0x00, + 0x8a, 0x3f, 0xb3, 0x0c, 0x10, 0xcc, 0xce, 0xea, 0x1a, 0x19, 0x39, 0xcb, 0x1a, 0x79, 0x3d, 0xac, + 0x67, 0xc7, 0xae, 0x2b, 0xc2, 0x1a, 0x8b, 0x29, 0xd6, 0x98, 0xa2, 0x70, 0xf1, 0xb0, 0xc2, 0x7d, + 0x10, 0x5a, 0xe9, 0x4e, 0x3f, 0x5f, 0x5c, 0x56, 0xaf, 0x46, 0x24, 0xf9, 0x89, 0xb9, 0xbc, 0x14, + 0x31, 0xb5, 0x06, 0xa7, 0xbe, 0xcc, 0x1a, 0xbc, 0x06, 0x29, 0x66, 0xeb, 0xbd, 0xa0, 0xe6, 0x60, + 0x1a, 0x8b, 0x24, 0xba, 0x2b, 0x5d, 0xc4, 0x4c, 0x28, 0x2e, 0x58, 0x20, 0xe4, 0xe9, 0xdb, 0xe8, + 0x77, 0x21, 0xe9, 0x5a, 0xa6, 0xe7, 0xb0, 0x00, 0x40, 0x73, 0x29, 0x30, 0xcd, 0xc7, 0x1c, 0x0f, + 0x5d, 0xe6, 0x03, 0x28, 0x4b, 0xd7, 0xb8, 0xa9, 0x31, 0xa3, 0xac, 0x65, 0xb9, 0x45, 0x6b, 0x59, + 0x89, 0x9d, 0xe8, 0xb3, 0x8b, 0x38, 0x7c, 0x96, 0x64, 0xcb, 0xd3, 0xea, 0xf4, 0xf2, 0xc4, 0x6a, + 0xc1, 0x4e, 0xfa, 0x15, 0x00, 0x7a, 0x08, 0xda, 0x84, 0x7d, 0x18, 0x45, 0x6f, 0x8b, 0x29, 0x46, + 0xdf, 0x74, 0xb4, 0x6a, 0xbc, 0xac, 0x20, 0x12, 0x20, 0x7a, 0x00, 0x39, 0x6a, 0x3c, 0x8a, 0xa2, + 0x97, 0xc3, 0x45, 0x87, 0x87, 0x0b, 0xce, 0xf6, 0x02, 0x00, 0xfa, 0x18, 0xd8, 0x1d, 0x7b, 0x76, + 0xaf, 0x45, 0x0b, 0xed, 0xcf, 0xce, 0x5f, 0x22, 0xb1, 0x42, 0x50, 0xdc, 0x94, 0xdf, 0x62, 0x13, + 0xe7, 0x94, 0x45, 0x2a, 0xaa, 0x95, 0x5a, 0x6d, 0x1d, 0xb3, 0x20, 0x54, 0x1c, 0x44, 0x63, 0x51, + 0x69, 0x11, 0xb4, 0x02, 0xcb, 0x1c, 0xa2, 0x7f, 0xa6, 0x97, 0x3b, 0xed, 0x06, 0xd6, 0xa2, 0xc5, + 0xdf, 0x49, 0x43, 0x92, 0x75, 0x0a, 0x2a, 0xc2, 0x3a, 0xd6, 0x4b, 0xad, 0x46, 0xbd, 0xcb, 0x03, + 0x43, 0x4a, 0xbc, 0xee, 0x56, 0xc9, 0xa8, 0xea, 0x15, 0xed, 0x95, 0x10, 0x4e, 0xbd, 0x5d, 0x32, + 0xea, 0x3a, 0xee, 0x72, 0xd7, 0x9d, 0xe3, 0x5c, 0x40, 0x1b, 0x70, 0x69, 0x16, 0xc7, 0xa8, 0x19, + 0x6d, 0x1a, 0x64, 0x49, 0x5b, 0x41, 0x6f, 0xc0, 0xd5, 0x05, 0x08, 0xdd, 0x8a, 0xd1, 0x7a, 0xa4, + 0x9d, 0x47, 0xd7, 0xa1, 0xb8, 0x08, 0xab, 0xa6, 0xd7, 0x1a, 0xf8, 0x73, 0x2d, 0x8d, 0xd6, 0xa1, + 0x30, 0x83, 0xd7, 0xc4, 0xba, 0x5e, 0x6b, 0xb6, 0xf5, 0x8a, 0x76, 0x6e, 0x6e, 0x95, 0x59, 0x60, + 0x2e, 0x51, 0xe5, 0x55, 0xa5, 0xac, 0x5a, 0xe9, 0x33, 0xd2, 0xfc, 0x66, 0x55, 0xa7, 0xa5, 0xb4, + 0x8d, 0x9a, 0xde, 0xc5, 0x7a, 0xa9, 0xbc, 0xa3, 0x57, 0xb4, 0xd7, 0xd0, 0x0d, 0x78, 0x83, 0xe3, + 0x49, 0xd1, 0x60, 0x7d, 0xdb, 0x68, 0xb5, 0x71, 0x49, 0xa2, 0x37, 0x3a, 0x6d, 0xed, 0x55, 0xf4, + 0x36, 0x5c, 0x9f, 0xc5, 0x9c, 0x8b, 0xbb, 0xa6, 0xb4, 0x40, 0xe2, 0xb6, 0x75, 0x5c, 0x33, 0xea, + 0x25, 0xd2, 0x82, 0x08, 0xba, 0x0a, 0x97, 0xa7, 0xf3, 0x3b, 0x75, 0xc6, 0x4b, 0xc7, 0x7a, 0x45, + 0x8b, 0xa2, 0xcb, 0xb0, 0xc6, 0x31, 0xb6, 0x70, 0xa9, 0xa6, 0x3f, 0x69, 0xe0, 0x47, 0x5d, 0xac, + 0xd7, 0x1a, 0x8f, 0xf5, 0x8a, 0x16, 0x23, 0x1d, 0xcf, 0x73, 0xb7, 0xcb, 0x5d, 0x1d, 0xe3, 0x06, + 0xd6, 0xe2, 0x4a, 0xa1, 0x46, 0xfd, 0x71, 0xa9, 0x6a, 0x54, 0x02, 0x52, 0xa3, 0xa2, 0x25, 0xd0, + 0x45, 0xb8, 0x30, 0x95, 0xdf, 0xd8, 0xda, 0xd2, 0x71, 0x4b, 0x4b, 0x2a, 0xf5, 0x31, 0x1a, 0xdd, + 0xd6, 0x13, 0xa3, 0x5d, 0xde, 0xd9, 0x6c, 0x94, 0x30, 0xd1, 0x17, 0x83, 0xd4, 0xf8, 0x92, 0xc2, + 0x9c, 0xe9, 0x23, 0xe9, 0xd3, 0x72, 0xa3, 0x5e, 0xd7, 0xcb, 0x24, 0x3f, 0xa5, 0x30, 0xc7, 0x7a, + 0xb9, 0x51, 0x2f, 0x1b, 0x55, 0x83, 0x29, 0x47, 0x46, 0x69, 0x8a, 0x0c, 0x22, 0xdd, 0x15, 0xbb, + 0x46, 0x08, 0x5d, 0x81, 0x8b, 0x3c, 0x97, 0x45, 0x58, 0x0b, 0xf1, 0x05, 0xb4, 0x06, 0xe7, 0x43, + 0xd9, 0x42, 0x06, 0x59, 0x45, 0xe7, 0x42, 0x39, 0xdd, 0xcd, 0xcf, 0xbb, 0x8d, 0xa6, 0x8e, 0x4b, + 0x64, 0x34, 0x6c, 0xcc, 0xb0, 0x17, 0x5d, 0x46, 0xc5, 0x7c, 0x95, 0x85, 0x0b, 0x0b, 0x65, 0xb7, + 0xda, 0x25, 0x4c, 0x8a, 0xce, 0xcd, 0x14, 0x2d, 0xea, 0x9c, 0x57, 0x8a, 0x96, 0x81, 0xb4, 0xf5, + 0x4a, 0xb7, 0xd2, 0xc1, 0x46, 0x7d, 0x9b, 0x0f, 0x1e, 0x6d, 0x7d, 0x1a, 0xab, 0xbc, 0xa3, 0x97, + 0x1f, 0xd1, 0x60, 0xdb, 0x9d, 0x16, 0x57, 0xd7, 0x8a, 0x76, 0x19, 0xdd, 0x84, 0x37, 0x55, 0xac, + 0x1d, 0xbd, 0x54, 0x6d, 0xef, 0xcc, 0x47, 0xbe, 0xa2, 0xb4, 0x86, 0x22, 0xd3, 0xbd, 0x35, 0xd1, + 0x9b, 0xda, 0x45, 0x65, 0x60, 0x28, 0xd9, 0x9d, 0x7a, 0xa9, 0xd3, 0xde, 0x69, 0x60, 0xe3, 0x9b, + 0x7a, 0x45, 0x2b, 0xb0, 0xb0, 0xe0, 0x01, 0x8e, 0x20, 0x5e, 0x52, 0xba, 0x89, 0x66, 0x84, 0xc8, + 0x96, 0xa7, 0xc9, 0x84, 0x2c, 0xb4, 0xe2, 0x7b, 0x90, 0xda, 0xb2, 0x07, 0xbe, 0x45, 0x3f, 0x55, + 0x5d, 0x72, 0xad, 0xbd, 0x89, 0x67, 0x75, 0x83, 0x07, 0x16, 0x68, 0xc4, 0xf8, 0xfb, 0x38, 0xcf, + 0x32, 0x78, 0xe0, 0xe1, 0xe2, 0xdf, 0x8e, 0x42, 0x56, 0x89, 0xed, 0x8a, 0x3e, 0x85, 0xcc, 0xa1, + 0xe9, 0xda, 0x64, 0x06, 0x16, 0x6e, 0xc2, 0xa5, 0xd9, 0x10, 0xb0, 0xb7, 0x1f, 0x73, 0x1c, 0xe1, + 0x32, 0x48, 0x9a, 0xc2, 0xaf, 0x46, 0x20, 0x2d, 0x72, 0x17, 0xf8, 0xd9, 0xd2, 0xa3, 0x88, 0xaa, + 0x61, 0x63, 0x3f, 0x92, 0xb1, 0xb9, 0xd4, 0x60, 0x75, 0xf3, 0x0a, 0xa6, 0x06, 0xdc, 0xc3, 0xc4, + 0xe3, 0x52, 0xb5, 0xa3, 0x73, 0x3b, 0xee, 0x1a, 0x24, 0x3d, 0xab, 0xe7, 0xca, 0xf0, 0x51, 0x62, + 0x49, 0x6b, 0x51, 0x20, 0xe6, 0x99, 0xc5, 0xbb, 0xf3, 0x76, 0x4c, 0x33, 0xc0, 0x58, 0xb1, 0xd8, + 0x9a, 0x2d, 0xbd, 0x8c, 0xf5, 0xb6, 0x0c, 0xa0, 0xf6, 0x29, 0x64, 0xe4, 0x63, 0x0d, 0x68, 0x15, + 0x62, 0x4f, 0xad, 0x17, 0xa1, 0x16, 0x11, 0x40, 0x10, 0xae, 0x29, 0x3a, 0x1b, 0xae, 0x69, 0x13, + 0x40, 0x32, 0xf0, 0xd0, 0xfb, 0x90, 0x19, 0x8b, 0x14, 0x17, 0xf1, 0x71, 0x6f, 0x42, 0x04, 0x88, + 0xc5, 0x1d, 0x80, 0xb2, 0x6b, 0xf5, 0xad, 0x91, 0x6f, 0x9b, 0x03, 0x54, 0x0c, 0x07, 0x7c, 0x09, + 0x4a, 0x54, 0xc2, 0xbe, 0xac, 0x4a, 0x79, 0x44, 0x79, 0xd8, 0x65, 0x26, 0x80, 0x1d, 0xba, 0x5d, + 0xcd, 0x39, 0x79, 0xe8, 0x01, 0x64, 0x7b, 0x41, 0x92, 0x57, 0x48, 0x58, 0x3a, 0x01, 0xa2, 0x78, + 0x9c, 0x43, 0xc1, 0x2d, 0xfe, 0x4c, 0x14, 0x92, 0x4c, 0xba, 0xe8, 0x56, 0xc8, 0xde, 0x46, 0x21, + 0xd1, 0xcf, 0x3b, 0xe9, 0xcd, 0xc8, 0x0b, 0x9a, 0xdc, 0xe8, 0x7e, 0x35, 0x4c, 0x22, 0x2f, 0x6a, + 0xe2, 0x00, 0x13, 0xbd, 0xa5, 0xc6, 0x1a, 0x0e, 0x36, 0x8d, 0x38, 0x09, 0x3d, 0x70, 0x10, 0x71, + 0xbd, 0xbe, 0x02, 0x19, 0xc9, 0x62, 0x81, 0x1a, 0x6a, 0xac, 0x37, 0x99, 0x80, 0xc8, 0xdf, 0xc2, + 0x25, 0x11, 0x11, 0x4d, 0x58, 0xa1, 0xcc, 0xe5, 0xa5, 0xff, 0x8b, 0xef, 0xcd, 0xd3, 0x9d, 0x3c, + 0x64, 0xb0, 0xbe, 0xa5, 0x63, 0xbd, 0x4e, 0xc3, 0xf0, 0x49, 0x55, 0x12, 0xea, 0xb3, 0x07, 0x19, + 0x6c, 0xfa, 0xcc, 0xd0, 0x40, 0x17, 0x21, 0xf6, 0xc5, 0x98, 0x0f, 0x47, 0x66, 0xdb, 0x7f, 0xa3, + 0xd9, 0xc2, 0x04, 0x16, 0xee, 0xd3, 0xe8, 0xfc, 0x3e, 0x2d, 0x40, 0xba, 0x67, 0x8e, 0xcd, 0x9e, + 0x78, 0xdf, 0x22, 0x8e, 0x65, 0xba, 0xf8, 0x2f, 0x22, 0x00, 0xb2, 0x20, 0x0f, 0xdd, 0x86, 0x24, + 0x0f, 0x08, 0x12, 0xd6, 0x31, 0x89, 0x22, 0xce, 0x21, 0x78, 0x90, 0x90, 0x47, 0x70, 0xc1, 0xdc, + 0xdf, 0x77, 0xad, 0x7d, 0xd3, 0xb7, 0xba, 0x22, 0xda, 0x1d, 0xa9, 0x2b, 0xfb, 0x5c, 0xf0, 0xd5, + 0xa3, 0x97, 0x1b, 0x2b, 0x25, 0x81, 0xc0, 0x63, 0x6e, 0x90, 0xba, 0xaf, 0x98, 0xd3, 0xc0, 0xb1, + 0x87, 0xbe, 0x0a, 0x85, 0x59, 0x66, 0x53, 0x35, 0x5f, 0x9b, 0x26, 0x2c, 0x8b, 0x96, 0xfc, 0x5c, + 0x0c, 0x12, 0xc6, 0x90, 0x18, 0xf7, 0xd7, 0xe6, 0x86, 0xa5, 0xa3, 0x79, 0xaa, 0x0b, 0x77, 0x0d, + 0xe2, 0xe6, 0x78, 0xdc, 0xe3, 0xaa, 0x14, 0x46, 0x2b, 0x8d, 0xc7, 0x3d, 0x4c, 0xb3, 0xd1, 0x4d, + 0x48, 0xf6, 0x9d, 0xde, 0x53, 0x6b, 0x3a, 0x76, 0x17, 0x43, 0xac, 0xd0, 0x2c, 0xcc, 0x51, 0xd0, + 0x65, 0x48, 0xd2, 0x9b, 0x83, 0x6c, 0x03, 0x4e, 0xc4, 0x8b, 0xe6, 0xb0, 0x42, 0x17, 0xe2, 0x84, + 0xf1, 0x02, 0xd5, 0x5a, 0xe5, 0x97, 0xc2, 0xa7, 0x83, 0xe1, 0x04, 0x96, 0x77, 0x6c, 0x81, 0xe5, + 0x5d, 0xf8, 0x76, 0x04, 0x92, 0xac, 0x46, 0x0b, 0xca, 0xb8, 0x0f, 0x10, 0x8c, 0xc7, 0xa9, 0xd6, + 0x2b, 0x43, 0x37, 0xba, 0x16, 0xc1, 0x0a, 0x22, 0xa9, 0x42, 0xcf, 0x19, 0xed, 0xd9, 0xfb, 0x53, + 0x55, 0x10, 0x33, 0x25, 0xcb, 0x2c, 0x16, 0xb9, 0xb6, 0xa7, 0x21, 0x5e, 0x6a, 0x36, 0xcb, 0x6c, + 0x6e, 0xac, 0x34, 0xca, 0x8f, 0x74, 0x2c, 0x95, 0xfb, 0xc7, 0x23, 0xa0, 0xd1, 0xd0, 0x3b, 0x4d, + 0xd7, 0x19, 0x9b, 0xfb, 0x6c, 0x2b, 0xe8, 0x2e, 0x7f, 0xb8, 0x85, 0x4d, 0x06, 0x32, 0x88, 0xec, + 0x14, 0x9a, 0xf2, 0x7a, 0x4b, 0xb1, 0xcc, 0x9f, 0x5f, 0x09, 0x0d, 0xac, 0x0b, 0x70, 0x6e, 0xa7, + 0xd1, 0x6a, 0x77, 0xdb, 0x8d, 0xc0, 0xbc, 0xd4, 0x22, 0xc4, 0x20, 0xdf, 0x34, 0x2a, 0x06, 0xd6, + 0xcb, 0xc4, 0xac, 0x29, 0x55, 0x65, 0x5d, 0x7e, 0x3f, 0x05, 0x49, 0x7e, 0x82, 0x77, 0x13, 0x96, + 0x02, 0xbf, 0x85, 0x86, 0x42, 0x52, 0x85, 0x97, 0x97, 0x79, 0x34, 0xa2, 0xd0, 0x25, 0xc8, 0x1c, + 0x38, 0x9e, 0xdf, 0x55, 0x02, 0xd7, 0xd3, 0xbb, 0x46, 0x34, 0xf3, 0x3a, 0x6f, 0x4b, 0x8c, 0x6a, + 0x20, 0x0a, 0x05, 0x8f, 0x52, 0xdf, 0x9f, 0x29, 0x42, 0xc2, 0x1e, 0x0a, 0xf7, 0x34, 0x7b, 0x2f, + 0xa7, 0xaa, 0x16, 0x66, 0x59, 0xe8, 0x96, 0x74, 0xfb, 0x12, 0xa1, 0x2d, 0x3e, 0xce, 0x6d, 0x2a, + 0xb0, 0xd4, 0x4f, 0x26, 0xa5, 0x0f, 0xf2, 0x5e, 0x68, 0x76, 0xbd, 0x38, 0x8f, 0x6c, 0x76, 0x92, + 0xdd, 0x82, 0x3c, 0x53, 0xe5, 0x6e, 0x28, 0xfe, 0xd5, 0x6b, 0x73, 0xa9, 0x99, 0xaa, 0x89, 0xbb, + 0x04, 0x7d, 0x25, 0x85, 0xca, 0x90, 0xf3, 0xcc, 0x51, 0x7f, 0xd7, 0x79, 0xde, 0x95, 0x6f, 0x1b, + 0x05, 0x17, 0x65, 0xc2, 0x6c, 0x5a, 0x0c, 0x91, 0x06, 0x94, 0xca, 0x7a, 0x41, 0xe2, 0x94, 0x8b, + 0x33, 0x7a, 0xa8, 0x76, 0x45, 0xf8, 0x52, 0x4d, 0xb8, 0xa0, 0x1d, 0xde, 0x3f, 0x41, 0x4f, 0x15, + 0xbe, 0x05, 0x39, 0xb5, 0x15, 0x64, 0xfd, 0xeb, 0xbb, 0xf6, 0x21, 0x5d, 0x64, 0xe9, 0xfa, 0xc7, + 0x52, 0x0b, 0x62, 0x9c, 0x7e, 0x08, 0x4b, 0x0c, 0xa7, 0xeb, 0x8c, 0xd9, 0xa5, 0xf4, 0x58, 0x68, + 0x48, 0x05, 0x8b, 0x38, 0xce, 0x33, 0xc4, 0x06, 0xc3, 0x2b, 0xfc, 0x30, 0xa4, 0x45, 0x8d, 0x68, + 0x14, 0xdf, 0x69, 0x8d, 0x63, 0xc1, 0xb5, 0x2a, 0x70, 0x8e, 0x06, 0xca, 0xea, 0x8e, 0x83, 0x51, + 0x30, 0xb5, 0xfc, 0x4d, 0x0f, 0x12, 0xac, 0x0d, 0xa7, 0x20, 0x85, 0x9f, 0x8e, 0x40, 0x56, 0x91, + 0x33, 0xfa, 0x34, 0xa4, 0x1c, 0xd7, 0x4e, 0xea, 0x97, 0x59, 0x45, 0x59, 0x93, 0xd1, 0xc2, 0xa6, + 0x2a, 0x5c, 0xbc, 0x73, 0x4c, 0xe8, 0xac, 0x96, 0x5e, 0xdd, 0x62, 0xd3, 0x41, 0xb3, 0x84, 0x89, + 0x07, 0x2c, 0x86, 0xe0, 0xe7, 0xf3, 0x08, 0xce, 0x41, 0x9e, 0xcd, 0x1a, 0xe2, 0x78, 0x37, 0x42, + 0xd6, 0x4c, 0x3a, 0xb4, 0x69, 0x0c, 0xae, 0x38, 0x75, 0xa8, 0x4b, 0xf5, 0xca, 0x66, 0xe3, 0x33, + 0x06, 0x89, 0x2a, 0x56, 0x98, 0x78, 0x2e, 0x61, 0x35, 0x78, 0xa1, 0x09, 0x3f, 0xd1, 0x22, 0xf4, + 0xb7, 0xa1, 0x45, 0x8b, 0x7f, 0x25, 0x0e, 0x59, 0xe5, 0xa9, 0x06, 0xd2, 0xed, 0xf4, 0xbe, 0x09, + 0xfb, 0xbc, 0x26, 0x83, 0x79, 0xea, 0x94, 0x1f, 0xd1, 0xa0, 0x36, 0xe4, 0xec, 0x71, 0x97, 0x47, + 0xd0, 0x96, 0xbb, 0xba, 0x97, 0xe7, 0xbc, 0x09, 0x61, 0x34, 0xc5, 0x23, 0x60, 0xf2, 0x48, 0x47, + 0x82, 0x2c, 0x0f, 0x67, 0xed, 0xb1, 0x4c, 0xc8, 0x70, 0xf8, 0x49, 0x25, 0x1c, 0xbe, 0x01, 0xf9, + 0xb1, 0xe3, 0xfa, 0xf4, 0x3b, 0x6b, 0x7b, 0xb4, 0x2f, 0x8e, 0x50, 0xd6, 0xe7, 0x3d, 0x3f, 0xe1, + 0xb8, 0x7e, 0x8d, 0xa1, 0x89, 0x6d, 0xe8, 0x71, 0x00, 0xf2, 0x0a, 0xcf, 0x21, 0x23, 0x8b, 0x0e, + 0xbd, 0x68, 0x11, 0x39, 0xf3, 0x8b, 0x16, 0xf4, 0x8a, 0xb1, 0x14, 0x00, 0x5f, 0xbf, 0xd8, 0x15, + 0x63, 0x51, 0x02, 0xce, 0xc8, 0xa6, 0x15, 0x5e, 0x40, 0x56, 0xa9, 0x1c, 0x7a, 0x4d, 0x8c, 0xdf, + 0xe9, 0xc7, 0x36, 0xd8, 0x30, 0x75, 0x5c, 0x7f, 0x6a, 0x6a, 0x26, 0x78, 0x51, 0x05, 0x4f, 0x99, + 0x9a, 0x09, 0x72, 0x41, 0x69, 0x0b, 0xdb, 0x68, 0x0e, 0x9e, 0xde, 0x58, 0x87, 0xb4, 0x68, 0x04, + 0xd1, 0x49, 0xd2, 0x0c, 0xf6, 0xdc, 0x86, 0xd1, 0x3c, 0xfc, 0x40, 0x8b, 0x16, 0x8f, 0x12, 0xb0, + 0x14, 0x44, 0xb7, 0xa6, 0xba, 0x51, 0x99, 0x8a, 0x72, 0xce, 0x02, 0x46, 0x8b, 0xa9, 0x2c, 0x8c, + 0xac, 0x24, 0xc3, 0x31, 0xce, 0x8b, 0x3f, 0x9e, 0x08, 0x45, 0xd8, 0x9e, 0xba, 0x7a, 0x91, 0x28, + 0xef, 0x90, 0xbf, 0xbf, 0x95, 0x42, 0xe7, 0x20, 0x57, 0x29, 0x95, 0xbb, 0x8d, 0xc7, 0x3a, 0xc6, + 0x46, 0x45, 0xd7, 0x7e, 0x3b, 0x85, 0xce, 0xc3, 0x32, 0x01, 0x61, 0xbd, 0x54, 0xe9, 0xb6, 0xf4, + 0x12, 0x2e, 0xef, 0x68, 0xff, 0x21, 0x85, 0xb2, 0x90, 0xdc, 0x6a, 0x3c, 0x21, 0xab, 0xdb, 0x7f, + 0x64, 0x89, 0x96, 0xde, 0x36, 0x2a, 0xda, 0xef, 0xa4, 0x50, 0x06, 0xe2, 0xc4, 0xa7, 0xd5, 0xfe, + 0x13, 0x85, 0xb7, 0xf4, 0xf6, 0xb6, 0x51, 0xd1, 0xfe, 0xb3, 0x48, 0x74, 0x8c, 0x8a, 0xf6, 0xbb, + 0x29, 0x94, 0x83, 0x54, 0x4b, 0x6f, 0x37, 0xcb, 0xa5, 0xa6, 0xf6, 0x7d, 0x5a, 0x44, 0xd5, 0xa8, + 0x77, 0x3e, 0xeb, 0x1a, 0xb5, 0x5a, 0xa7, 0x5d, 0xda, 0xac, 0xea, 0xda, 0x7f, 0x49, 0xa1, 0x0b, + 0xa0, 0xd5, 0xf5, 0x76, 0x77, 0xd3, 0xa8, 0x57, 0x64, 0x80, 0xe8, 0xdf, 0x4b, 0x21, 0x04, 0x79, + 0x0a, 0xc6, 0x8d, 0x52, 0xa5, 0x5c, 0x6a, 0xb5, 0xb5, 0xdf, 0x4f, 0xa1, 0x25, 0xc8, 0x10, 0x58, + 0xa9, 0x52, 0x33, 0xea, 0xda, 0x1f, 0x50, 0xf6, 0x24, 0x8d, 0x4b, 0x4f, 0xb4, 0xff, 0x9a, 0x42, + 0x79, 0x48, 0x1b, 0xcd, 0x72, 0x97, 0x5e, 0xe5, 0xf8, 0x6f, 0x14, 0x99, 0x24, 0x59, 0xed, 0xff, + 0x30, 0x85, 0x96, 0x01, 0x5a, 0x9f, 0xb7, 0xba, 0xb5, 0x46, 0xa5, 0x53, 0xd5, 0xb5, 0x3f, 0xa2, + 0x08, 0x04, 0x80, 0x4b, 0x4f, 0x8c, 0x86, 0xf6, 0xdf, 0x25, 0x42, 0x79, 0x07, 0x37, 0x1a, 0x6d, + 0xed, 0x7f, 0x48, 0x40, 0xb3, 0x8d, 0x4b, 0x65, 0x5d, 0xfb, 0x9f, 0x92, 0xa2, 0x59, 0x2a, 0x97, + 0xdb, 0xda, 0x1f, 0xcb, 0x34, 0xab, 0xcf, 0xff, 0xa2, 0x35, 0x20, 0xe9, 0x4d, 0x42, 0xff, 0x27, + 0x32, 0x59, 0x27, 0x2d, 0xfa, 0xdf, 0x54, 0xe8, 0xb4, 0x3c, 0xbe, 0xc1, 0xa1, 0x7d, 0x3b, 0x2d, + 0x30, 0xda, 0x46, 0x4d, 0xd7, 0xfe, 0xdf, 0x34, 0x5a, 0x81, 0x25, 0x9a, 0x6c, 0x7f, 0x4e, 0xcc, + 0x8a, 0x2d, 0x63, 0x5b, 0xfb, 0xff, 0xd2, 0xa4, 0xdf, 0x6a, 0x8f, 0xea, 0x8d, 0x8a, 0xf6, 0xff, + 0xd3, 0xff, 0x55, 0xbd, 0xd4, 0xd2, 0xb5, 0x1f, 0x49, 0x23, 0x0d, 0xb2, 0xa5, 0x4e, 0xc5, 0x68, + 0x77, 0x9f, 0x60, 0xa3, 0xad, 0x6b, 0x3f, 0x9a, 0x26, 0x22, 0x63, 0x10, 0x1e, 0x84, 0x5b, 0xfb, + 0xb1, 0x34, 0xef, 0x81, 0x2d, 0xd2, 0x03, 0x7f, 0x2e, 0x4d, 0xaa, 0x50, 0x53, 0xfb, 0xfd, 0x3b, + 0x69, 0xd2, 0x06, 0x02, 0x62, 0x6d, 0xf8, 0xf1, 0x34, 0xed, 0xbf, 0xcf, 0x5b, 0xd5, 0xc6, 0xb6, + 0xf6, 0x13, 0x69, 0x22, 0x81, 0x27, 0xa5, 0x47, 0x7a, 0xb7, 0x54, 0x2d, 0xe1, 0x9a, 0xf6, 0xe7, + 0x69, 0x11, 0xf4, 0xae, 0x4c, 0xb7, 0xd5, 0x69, 0x35, 0xf5, 0x7a, 0x45, 0xfb, 0x49, 0x8a, 0xc4, + 0x8a, 0x25, 0xba, 0xa3, 0xfd, 0x94, 0x78, 0xa8, 0xeb, 0x17, 0xa2, 0x90, 0xa9, 0xda, 0xa3, 0xc9, + 0x73, 0xaa, 0xdf, 0x9b, 0xb0, 0x2c, 0x35, 0xf5, 0x85, 0xf8, 0xd2, 0x33, 0xf4, 0x9c, 0x56, 0x48, + 0xc5, 0xa9, 0x61, 0xb8, 0xd4, 0x0b, 0x8f, 0x91, 0xaf, 0xc3, 0x85, 0x5d, 0x67, 0x32, 0xea, 0xdb, + 0xa3, 0xfd, 0x6e, 0x68, 0xb0, 0x44, 0x17, 0x70, 0xc2, 0xe7, 0x05, 0x4d, 0x59, 0x7d, 0x9b, 0xad, + 0x0a, 0xab, 0xd6, 0xde, 0x9e, 0xc5, 0x3f, 0x8e, 0x57, 0x99, 0xc5, 0x16, 0x31, 0xbb, 0x20, 0x89, + 0x42, 0xdc, 0x74, 0x58, 0xa1, 0x91, 0x60, 0xbb, 0x63, 0xbb, 0xdf, 0x25, 0x53, 0xa8, 0x37, 0x36, + 0x7b, 0xfc, 0xc1, 0x16, 0xf6, 0xa1, 0x0a, 0x0d, 0xc9, 0xd8, 0x34, 0x2a, 0x75, 0x91, 0x89, 0xcf, + 0x51, 0x8a, 0xa6, 0xdd, 0x97, 0xa0, 0xe2, 0x77, 0x63, 0x00, 0x98, 0x7a, 0x40, 0xfc, 0xc1, 0x9c, + 0x94, 0x1b, 0x72, 0x94, 0x64, 0xe8, 0x5c, 0x89, 0xc3, 0xff, 0x8a, 0xab, 0x7a, 0x1c, 0xbd, 0xf0, + 0x9d, 0x18, 0x24, 0x59, 0x0e, 0xfa, 0x4a, 0x68, 0x0d, 0xbe, 0x72, 0x1c, 0x87, 0xd9, 0xb5, 0x17, + 0x41, 0xfc, 0xc0, 0x74, 0xfb, 0x3c, 0xfa, 0x23, 0xfd, 0x4f, 0x60, 0x9e, 0xb3, 0xe7, 0x73, 0x37, + 0x89, 0xfe, 0x2f, 0xfe, 0xcd, 0xe8, 0x31, 0x8f, 0x82, 0xe0, 0x6a, 0xad, 0xdd, 0x2d, 0xb5, 0xd8, + 0x9a, 0x4a, 0x13, 0xe5, 0x06, 0xd6, 0xb5, 0x28, 0xca, 0x41, 0x9a, 0x25, 0x9b, 0x1d, 0x2d, 0x26, + 0x33, 0x2b, 0xa5, 0x76, 0x49, 0x8b, 0xa3, 0x25, 0x22, 0x82, 0x5a, 0xbb, 0xbb, 0xd5, 0x32, 0xbe, + 0xc9, 0xdf, 0x8c, 0xa3, 0x69, 0xa2, 0x75, 0x2d, 0x2d, 0x49, 0xdf, 0x85, 0x23, 0xe9, 0x9a, 0x5e, + 0xa3, 0x23, 0x3d, 0x45, 0x63, 0xf3, 0x53, 0x48, 0x6b, 0xfb, 0x1b, 0x1d, 0xbd, 0xa3, 0x6b, 0x69, + 0xc9, 0x93, 0x0e, 0xbd, 0x0c, 0x5a, 0x86, 0x2c, 0x4b, 0x36, 0xb6, 0x8c, 0xaa, 0xae, 0x81, 0x64, + 0x5a, 0x6f, 0xe2, 0x46, 0x59, 0xcb, 0xca, 0x1a, 0xe1, 0x56, 0x4b, 0xcb, 0x49, 0x74, 0xdc, 0x6e, + 0x62, 0xa3, 0xa1, 0xe5, 0x15, 0x00, 0x1d, 0xa9, 0x4b, 0x74, 0x6f, 0x95, 0x00, 0x5a, 0xc6, 0x36, + 0x19, 0x05, 0x46, 0x7d, 0x5b, 0x5b, 0x96, 0x4c, 0x5b, 0xed, 0x52, 0xf9, 0x91, 0xa6, 0xf1, 0x61, + 0xf0, 0x53, 0x11, 0x48, 0xb5, 0xdb, 0x9f, 0xd3, 0x0e, 0x7d, 0x08, 0xd9, 0x67, 0xf6, 0xa8, 0xef, + 0x3c, 0xeb, 0x7a, 0xf6, 0xb7, 0xac, 0xa9, 0xa0, 0xf2, 0x1c, 0xe9, 0xf6, 0x13, 0x8a, 0xd1, 0xb2, + 0xbf, 0x65, 0x61, 0x78, 0x26, 0xff, 0x17, 0xb6, 0x00, 0x82, 0x1c, 0x62, 0x18, 0xb9, 0xce, 0x33, + 0x2f, 0xfc, 0x6a, 0x14, 0x81, 0xa0, 0x75, 0x48, 0xf5, 0x88, 0x81, 0x35, 0xf2, 0x42, 0xab, 0x97, + 0x00, 0x16, 0x5f, 0xa6, 0x21, 0x1f, 0x7e, 0xa7, 0xe0, 0x9d, 0x90, 0x27, 0x7b, 0x71, 0xde, 0xe1, + 0xbe, 0xea, 0xd1, 0xbe, 0x13, 0xdc, 0x1b, 0x65, 0x5f, 0x7d, 0x84, 0xc3, 0xd6, 0x4e, 0xdd, 0x1a, + 0x45, 0x5f, 0x99, 0xf2, 0x6c, 0x37, 0xe6, 0xf2, 0x67, 0xe6, 0xb1, 0xb8, 0xb8, 0x4f, 0x7d, 0xcb, + 0x42, 0xe8, 0x63, 0x8b, 0xf0, 0x13, 0x24, 0xef, 0x03, 0x7b, 0x9c, 0x97, 0x1b, 0xe2, 0xeb, 0x73, + 0x79, 0xd6, 0x08, 0x8c, 0xdd, 0xf3, 0xa1, 0xd9, 0xe8, 0x63, 0x1a, 0x05, 0x85, 0xdd, 0x02, 0xa0, + 0x77, 0x8e, 0x53, 0xa1, 0x90, 0xe8, 0x8a, 0x0d, 0x22, 0x4c, 0x99, 0x51, 0x00, 0xf2, 0xd0, 0x1d, + 0x80, 0x01, 0x99, 0xcf, 0xd8, 0xec, 0x95, 0x0e, 0xdd, 0x29, 0x92, 0x13, 0x1d, 0xce, 0x0c, 0xe4, + 0x9c, 0x77, 0x0f, 0xb2, 0x6c, 0x40, 0x32, 0x8a, 0x4c, 0xc8, 0x62, 0x0f, 0x46, 0x20, 0x06, 0x86, + 0x45, 0x69, 0x3e, 0x80, 0xb4, 0x2f, 0x26, 0x48, 0x08, 0x9d, 0x19, 0x72, 0xfd, 0x60, 0x67, 0x86, + 0x3c, 0x81, 0x53, 0x3e, 0x9b, 0x98, 0x0a, 0xbf, 0x18, 0x07, 0x08, 0x84, 0x88, 0x0a, 0xc2, 0xe7, + 0x0b, 0x85, 0x68, 0x67, 0xbe, 0xde, 0x36, 0xa4, 0x78, 0xbb, 0xf8, 0xb3, 0x62, 0x6f, 0x9e, 0xd0, + 0x25, 0x42, 0x32, 0x0f, 0xe3, 0xc4, 0x32, 0xc6, 0x82, 0x1a, 0x3d, 0x9e, 0x36, 0x13, 0xd9, 0x57, + 0xe3, 0x37, 0x4f, 0x62, 0x77, 0x82, 0xcd, 0x88, 0xae, 0x01, 0x8c, 0x5d, 0xfb, 0xd0, 0x1e, 0x58, + 0xfb, 0x72, 0x8f, 0x43, 0xbc, 0x14, 0x1a, 0x64, 0xa0, 0x0f, 0x00, 0xe4, 0x26, 0xe4, 0xf4, 0x9b, + 0x27, 0xd3, 0xdb, 0x95, 0x0a, 0x26, 0xba, 0x01, 0xda, 0x9e, 0xe3, 0xf6, 0xac, 0xee, 0x78, 0x32, + 0x18, 0x74, 0x99, 0x98, 0xe8, 0xc3, 0x5f, 0x78, 0x89, 0xc2, 0x9b, 0x93, 0xc1, 0x80, 0xed, 0xf1, + 0xbc, 0x09, 0x79, 0xa6, 0xc6, 0x5d, 0xee, 0xae, 0xa5, 0xe4, 0xeb, 0x50, 0x39, 0x96, 0x51, 0xa1, + 0xf0, 0xff, 0x9b, 0xb6, 0xe6, 0x03, 0x48, 0xf1, 0xee, 0xa1, 0xef, 0xb9, 0x35, 0x5a, 0xfc, 0x15, + 0xa6, 0x4d, 0x6c, 0x54, 0xb6, 0x75, 0x16, 0x68, 0xbf, 0xde, 0xa8, 0xeb, 0x5a, 0x8c, 0xfc, 0xeb, + 0xb4, 0x74, 0x2c, 0x43, 0x07, 0xdf, 0x81, 0x8c, 0x1c, 0x23, 0xc1, 0x2e, 0x41, 0xe4, 0xd8, 0x5d, + 0x82, 0xe2, 0xeb, 0x41, 0x70, 0x7f, 0xbe, 0xd9, 0xc2, 0x82, 0x14, 0xeb, 0xad, 0x46, 0x4b, 0x3a, + 0x5a, 0xdf, 0x8e, 0xc2, 0xf2, 0xd4, 0xd1, 0xeb, 0xec, 0xc8, 0x8b, 0x9c, 0x69, 0xe4, 0xdd, 0x83, + 0x6c, 0x8f, 0xfa, 0x4a, 0x6c, 0x5c, 0x4c, 0xed, 0x26, 0xc9, 0xe8, 0x17, 0x18, 0x7a, 0xf2, 0x3f, + 0xba, 0xa7, 0x7c, 0x54, 0x35, 0xe6, 0x4f, 0xda, 0xe6, 0xd9, 0x75, 0x13, 0x71, 0x28, 0xde, 0x34, + 0x2a, 0xc1, 0xd7, 0x53, 0x4d, 0x9b, 0x3e, 0x31, 0x36, 0x15, 0xdc, 0xe1, 0x98, 0xd7, 0xac, 0x19, + 0x9f, 0xe3, 0x02, 0x3b, 0x14, 0x7f, 0x3e, 0x0b, 0x10, 0x54, 0x0b, 0x7d, 0x4c, 0x07, 0x5c, 0xb7, + 0x37, 0x10, 0xe1, 0xef, 0xd6, 0x66, 0x03, 0x77, 0xd4, 0x2d, 0xbf, 0x3c, 0xf0, 0x36, 0xe1, 0xe8, + 0xe5, 0x46, 0x92, 0xfc, 0xaf, 0xb6, 0x70, 0x72, 0x44, 0x61, 0x85, 0xbf, 0x0b, 0x90, 0xa0, 0x71, + 0x3d, 0x0a, 0x4d, 0xb1, 0x03, 0xfc, 0x2e, 0x44, 0x9d, 0xf1, 0xd4, 0xdb, 0x45, 0x33, 0x51, 0x40, + 0xe4, 0x2d, 0x19, 0x1c, 0x75, 0xc6, 0xe1, 0x63, 0x8d, 0xb8, 0xd8, 0x8c, 0xfe, 0x83, 0x38, 0xc4, + 0xca, 0x5b, 0xdf, 0x28, 0xfc, 0x4e, 0x1c, 0x40, 0x09, 0xce, 0x70, 0x0b, 0x92, 0x7d, 0xeb, 0xd0, + 0x96, 0xa1, 0xe9, 0xe4, 0x2d, 0x31, 0x0a, 0xbc, 0x5d, 0x9f, 0x0c, 0x77, 0xe9, 0x7e, 0x24, 0x4d, + 0xa2, 0x35, 0x48, 0x79, 0x56, 0xcf, 0x17, 0x91, 0x67, 0xe3, 0x58, 0x24, 0x89, 0xbd, 0x40, 0x4f, + 0xd5, 0xb9, 0xbd, 0x40, 0xfe, 0x23, 0x0c, 0x59, 0xdb, 0xe9, 0xf2, 0x27, 0x6e, 0xfa, 0xfc, 0xfa, + 0xcd, 0x95, 0xe3, 0x1a, 0x41, 0xdb, 0x1b, 0x3c, 0x49, 0x67, 0x34, 0xf8, 0xc3, 0x33, 0x7d, 0x0c, + 0xb6, 0x23, 0xfe, 0xa3, 0x2e, 0x68, 0x01, 0x4f, 0x19, 0x93, 0xed, 0x14, 0x8c, 0x57, 0x39, 0xe3, + 0x25, 0xc9, 0x98, 0x45, 0x6e, 0x5b, 0x92, 0xcc, 0x45, 0xa0, 0x98, 0x65, 0xa5, 0x00, 0xda, 0xa6, + 0xe4, 0x69, 0xf8, 0x5f, 0xe0, 0xfc, 0xf3, 0x92, 0x7f, 0xdb, 0x1e, 0x5a, 0x38, 0x2f, 0xd9, 0xd3, + 0xcb, 0x04, 0x2d, 0xc8, 0xd9, 0x0e, 0x0b, 0xa5, 0x44, 0x59, 0xa7, 0xce, 0x28, 0x93, 0x27, 0xa6, + 0x4d, 0xa3, 0x98, 0x12, 0x99, 0x88, 0xff, 0xa8, 0x0a, 0x19, 0xdb, 0xe9, 0x0e, 0x2d, 0x77, 0x9f, + 0x06, 0x81, 0x3b, 0x05, 0x47, 0x8d, 0x73, 0x4c, 0x1b, 0x8d, 0x1a, 0x25, 0xc3, 0x69, 0xdb, 0x61, + 0xff, 0x38, 0x37, 0x1a, 0x1d, 0xbb, 0xcf, 0x9f, 0xe0, 0x3a, 0x3d, 0xb7, 0x6f, 0x50, 0x32, 0xc2, + 0x8d, 0xfd, 0x2b, 0xfc, 0x49, 0x04, 0x80, 0x47, 0x8a, 0xb3, 0x47, 0xfb, 0x85, 0xdf, 0x8d, 0xfc, + 0x00, 0xda, 0x37, 0xa5, 0x4f, 0xd1, 0x3f, 0x2b, 0x7d, 0x8a, 0xfd, 0x29, 0xea, 0x53, 0xe1, 0x47, + 0xa3, 0xa1, 0x16, 0xeb, 0x10, 0xeb, 0xed, 0x7d, 0xc1, 0x67, 0xc5, 0xeb, 0xc7, 0x15, 0x51, 0xde, + 0xfa, 0xc6, 0x6d, 0x35, 0x5e, 0x26, 0x2f, 0x8b, 0x0c, 0x60, 0x4c, 0xe8, 0x91, 0x09, 0xf9, 0xde, + 0xde, 0x17, 0x5d, 0xd7, 0xea, 0x4d, 0x5c, 0xcf, 0x3e, 0xb4, 0xb8, 0x30, 0x4e, 0xcb, 0xf0, 0x3c, + 0x67, 0x98, 0x23, 0x0c, 0x05, 0x0f, 0x9c, 0xeb, 0xed, 0x7d, 0x21, 0x53, 0xa8, 0x06, 0xe0, 0xcb, + 0x8e, 0xe3, 0x32, 0x79, 0xe7, 0x38, 0xfe, 0x41, 0x17, 0xab, 0x21, 0x89, 0x14, 0x06, 0xc5, 0x96, + 0x7a, 0x4f, 0x73, 0xfa, 0xdc, 0xb3, 0xdd, 0x68, 0x97, 0xaa, 0x6c, 0xe3, 0x84, 0xba, 0x96, 0x34, + 0x0c, 0x3e, 0xf3, 0x76, 0xe9, 0x62, 0xd6, 0xfa, 0xbc, 0x5e, 0xd6, 0xe2, 0x04, 0x58, 0xa2, 0x7f, + 0x13, 0x72, 0x5d, 0x4b, 0xb2, 0xe9, 0x14, 0x5d, 0x83, 0x54, 0x6f, 0x60, 0x7a, 0x1e, 0xbf, 0x82, + 0x98, 0x67, 0xc6, 0x53, 0x99, 0x80, 0x8c, 0x0a, 0x16, 0x79, 0xc5, 0xf7, 0x21, 0xc9, 0xf6, 0xda, + 0xd0, 0xdb, 0x72, 0x2b, 0x8e, 0xf5, 0x45, 0x4e, 0xdd, 0x8a, 0x93, 0xc7, 0x52, 0x2c, 0xa8, 0xcd, + 0x7d, 0x48, 0x50, 0xf0, 0xb1, 0x07, 0xaf, 0x73, 0x4f, 0x92, 0x8b, 0xff, 0x28, 0x02, 0x71, 0xba, + 0xaa, 0x5f, 0x86, 0xe4, 0x88, 0xaa, 0x72, 0xc8, 0x44, 0xe0, 0x30, 0xb9, 0x2f, 0x17, 0x0d, 0x3d, + 0x53, 0x79, 0xac, 0x1d, 0x80, 0x3e, 0x05, 0x38, 0xb4, 0x3d, 0x9b, 0x7f, 0x9f, 0xc1, 0x5e, 0xc5, + 0xd8, 0x98, 0x77, 0xb9, 0xf7, 0xf6, 0x63, 0x89, 0x86, 0x15, 0x12, 0x65, 0x17, 0x32, 0xb1, 0x28, + 0x94, 0xcf, 0x5d, 0x48, 0xb0, 0xc0, 0xb5, 0x6f, 0x42, 0x62, 0x4c, 0x03, 0xda, 0x32, 0x49, 0x89, + 0x7b, 0x90, 0x24, 0x53, 0xd8, 0x9b, 0x34, 0xbf, 0xf8, 0xcf, 0xa3, 0x90, 0x0f, 0xd5, 0x00, 0xe9, + 0xa1, 0xba, 0x32, 0xbf, 0xe3, 0xa4, 0xba, 0x0a, 0x43, 0x4e, 0xa9, 0xf1, 0x3c, 0x11, 0x5d, 0x0d, + 0x3f, 0x15, 0xcb, 0xa4, 0x14, 0x7a, 0x16, 0xb6, 0x00, 0x69, 0xf1, 0x2d, 0xb1, 0xf0, 0x2b, 0x44, + 0x5a, 0x7d, 0xda, 0x30, 0x11, 0x7e, 0xda, 0xb0, 0x28, 0x5a, 0x9b, 0x0c, 0x99, 0x47, 0x54, 0x14, + 0xbc, 0xa1, 0x8a, 0x04, 0x53, 0x8b, 0x24, 0xf8, 0x01, 0x40, 0xd0, 0x2c, 0xe2, 0xaa, 0xca, 0x2b, + 0x38, 0xfc, 0x81, 0xde, 0x6a, 0x87, 0xde, 0xe6, 0xa2, 0x4f, 0xfd, 0xeb, 0x9f, 0xb5, 0x75, 0x4c, + 0x8f, 0x92, 0x8a, 0x9f, 0x00, 0x3c, 0xb1, 0xec, 0xfd, 0x03, 0x9f, 0x3f, 0xac, 0x92, 0x7c, 0x46, + 0x53, 0xa1, 0xe0, 0x49, 0x1c, 0x26, 0x5f, 0x4c, 0x89, 0x06, 0x2f, 0xa6, 0x14, 0xff, 0x7d, 0x04, + 0xb2, 0x8f, 0x59, 0x73, 0x28, 0x87, 0xf5, 0xa0, 0xb1, 0xaa, 0xea, 0xca, 0x26, 0xd3, 0x10, 0x41, + 0xf6, 0xa0, 0xdf, 0xed, 0xb3, 0x9b, 0x91, 0xf4, 0x51, 0x10, 0x0a, 0xa9, 0x98, 0xbe, 0x15, 0x64, + 0xcb, 0x15, 0x3e, 0xc2, 0xb3, 0xe9, 0xf2, 0x23, 0xb3, 0xe9, 0x4d, 0xf0, 0xb8, 0x42, 0xdd, 0xf1, + 0x2c, 0x17, 0xbd, 0x0e, 0xa9, 0x7d, 0xdb, 0xef, 0x7a, 0x07, 0xec, 0xdd, 0x8d, 0x0c, 0xb3, 0x7c, + 0xb6, 0x6d, 0xbf, 0xb5, 0x53, 0xc2, 0xc9, 0x7d, 0xdb, 0x6f, 0x1d, 0x98, 0x84, 0x07, 0x41, 0x62, + 0xe1, 0x1a, 0xf8, 0x0e, 0x75, 0x66, 0xdf, 0xf6, 0x37, 0x29, 0x00, 0xbd, 0xca, 0x78, 0xf8, 0xe6, + 0x3e, 0x33, 0xcc, 0x29, 0x5d, 0xdb, 0xdc, 0x2f, 0x7e, 0x00, 0xf1, 0xad, 0x81, 0xb9, 0x7f, 0xd6, + 0x4b, 0x1e, 0xc5, 0x9f, 0x8f, 0x40, 0x1c, 0x3b, 0x0b, 0x6f, 0x87, 0x04, 0x62, 0x8f, 0xce, 0x11, + 0xfb, 0x87, 0x00, 0xf2, 0xc2, 0xb8, 0x58, 0x31, 0xe6, 0xdd, 0x33, 0xe7, 0xba, 0x1c, 0xe0, 0x7e, + 0xa9, 0xaf, 0x89, 0x8a, 0x1f, 0x42, 0xb2, 0x66, 0xf9, 0xae, 0xdd, 0x3b, 0x6d, 0x4b, 0x23, 0xa2, + 0xa5, 0xff, 0x24, 0x02, 0xe9, 0x2d, 0x7b, 0x20, 0x9f, 0x20, 0x3d, 0xe6, 0x58, 0xe8, 0x3c, 0x24, + 0x46, 0x03, 0x7b, 0xc4, 0x1c, 0xc5, 0x04, 0x66, 0x09, 0xba, 0x0b, 0x64, 0x7f, 0x4b, 0x5a, 0x75, + 0xe4, 0x3f, 0xba, 0x06, 0x89, 0x21, 0x55, 0x84, 0xf8, 0xfc, 0x0b, 0x94, 0x2c, 0x97, 0x90, 0xd2, + 0x33, 0x4b, 0xfa, 0x52, 0x39, 0x3f, 0x9f, 0xbc, 0x08, 0xb1, 0x09, 0x7f, 0x84, 0x92, 0x3f, 0x43, + 0xda, 0x31, 0x2a, 0x98, 0xc0, 0x48, 0xd6, 0x3e, 0xbf, 0xe3, 0xca, 0xb3, 0xb6, 0x49, 0xd6, 0xbe, + 0xdd, 0x2f, 0xfe, 0xf5, 0x08, 0x24, 0x99, 0x41, 0x20, 0x5f, 0xf6, 0x8e, 0x28, 0x2f, 0x7b, 0xdf, + 0x92, 0x93, 0x6b, 0x74, 0x91, 0x0d, 0xc1, 0x70, 0x0a, 0x75, 0x48, 0x32, 0x48, 0x10, 0x4b, 0x4a, + 0x99, 0x9a, 0x45, 0x2c, 0x29, 0x05, 0x85, 0x46, 0xa4, 0x92, 0x05, 0x44, 0x65, 0x44, 0x2a, 0x86, + 0x42, 0xc4, 0x9b, 0x63, 0x25, 0x95, 0x7a, 0x3d, 0xcb, 0xf3, 0xe8, 0xf9, 0xbe, 0x30, 0x69, 0xd4, + 0x7b, 0xc9, 0x0c, 0x49, 0x68, 0x11, 0xb7, 0x68, 0x3e, 0x84, 0xa4, 0x49, 0xc9, 0xf8, 0x87, 0x3e, + 0x85, 0x10, 0x32, 0xe3, 0x78, 0x9b, 0xfd, 0x08, 0x4a, 0x86, 0x5f, 0xd8, 0x81, 0x24, 0x2f, 0x90, + 0x4c, 0x00, 0x96, 0x29, 0x6e, 0x4c, 0xd3, 0xff, 0xa4, 0x37, 0x9f, 0xb9, 0xb6, 0x2f, 0xde, 0xa0, + 0x66, 0x09, 0x02, 0x1d, 0x3e, 0x1d, 0x39, 0xcc, 0x43, 0x4a, 0x63, 0x96, 0x28, 0x76, 0x60, 0x99, + 0x15, 0xf7, 0xe4, 0xc0, 0xf6, 0xad, 0x81, 0xed, 0xf9, 0x68, 0x93, 0x45, 0x6f, 0x78, 0x66, 0xf5, + 0xbb, 0xac, 0xa2, 0x62, 0xea, 0x5f, 0x99, 0x53, 0x3f, 0xf1, 0x11, 0x20, 0xa7, 0x60, 0x59, 0xde, + 0xdb, 0x3f, 0x04, 0x49, 0xee, 0x12, 0xae, 0x02, 0xaa, 0x60, 0xe3, 0xb1, 0x8e, 0xbb, 0xf5, 0x06, + 0xdd, 0x33, 0xc3, 0xec, 0xda, 0x23, 0x82, 0x25, 0x0e, 0xc7, 0x9d, 0x7a, 0xdd, 0xa8, 0x6f, 0x6b, + 0x51, 0x05, 0x56, 0xda, 0x6c, 0x50, 0xbc, 0x98, 0x02, 0x6b, 0xb5, 0x1b, 0xcd, 0xa6, 0x5e, 0xd1, + 0xe2, 0x6f, 0xff, 0x64, 0x14, 0x32, 0xf2, 0xce, 0x36, 0xd2, 0x20, 0x47, 0xef, 0xa1, 0xb5, 0xda, + 0xa5, 0x6d, 0xc2, 0x27, 0x89, 0xce, 0x41, 0x5e, 0x40, 0x70, 0x9b, 0x80, 0x5e, 0x91, 0x48, 0xa2, + 0xb0, 0x88, 0x84, 0x3c, 0x32, 0xaa, 0x55, 0x02, 0x49, 0x4b, 0xb2, 0x2d, 0xa3, 0x6e, 0xb4, 0x76, + 0xe8, 0xd5, 0xcb, 0x65, 0xc8, 0x32, 0x10, 0xbb, 0x4b, 0x1a, 0x93, 0x00, 0x76, 0xcf, 0x8f, 0xed, + 0x63, 0x52, 0x00, 0xbb, 0x79, 0x99, 0x22, 0xf3, 0x3c, 0x4d, 0x57, 0x89, 0x87, 0x9e, 0x90, 0xa5, + 0x54, 0x30, 0xab, 0x7c, 0x06, 0x9d, 0x07, 0x8d, 0x5f, 0x9b, 0xa3, 0x37, 0x4f, 0xe9, 0xf1, 0x08, + 0x48, 0xb2, 0x6d, 0xe2, 0xc2, 0x67, 0xd1, 0x45, 0xb8, 0x20, 0x93, 0xa1, 0x5b, 0x8c, 0x39, 0xc9, + 0x51, 0x5e, 0x41, 0x7c, 0xfb, 0x3b, 0x51, 0x58, 0x0a, 0x7f, 0x2a, 0x41, 0xe8, 0x19, 0x89, 0xd1, + 0xa8, 0x77, 0x3b, 0xf5, 0x56, 0xa7, 0xd9, 0x64, 0x02, 0xa5, 0x77, 0x1a, 0x82, 0x2c, 0xb1, 0xab, + 0x19, 0x21, 0xfd, 0x14, 0x80, 0x15, 0x09, 0x9c, 0x07, 0x4d, 0x81, 0x0b, 0x31, 0xac, 0xc0, 0x72, + 0x00, 0x15, 0x97, 0x4e, 0x43, 0x9c, 0x45, 0x83, 0x13, 0xd3, 0x75, 0x09, 0x5a, 0x9d, 0x44, 0xeb, + 0x50, 0x08, 0xb2, 0x66, 0xda, 0x9a, 0x42, 0x6b, 0x70, 0x3e, 0xc8, 0xc7, 0x7a, 0xb9, 0xf1, 0x58, + 0xc7, 0xac, 0xaf, 0x42, 0x65, 0x09, 0x51, 0x64, 0x36, 0xcb, 0xbf, 0xfa, 0xbd, 0xf5, 0x57, 0x7e, + 0xed, 0x7b, 0xeb, 0xaf, 0xfc, 0xfa, 0xf7, 0xd6, 0x23, 0xdf, 0xff, 0xde, 0x7a, 0xe4, 0x8f, 0xbe, + 0xb7, 0x1e, 0xf9, 0xf6, 0xd1, 0x7a, 0xe4, 0xe7, 0x8e, 0xd6, 0x23, 0xff, 0xe0, 0x68, 0x3d, 0xf2, + 0x4f, 0x8f, 0xd6, 0x23, 0xbf, 0x72, 0xb4, 0x1e, 0xf9, 0xd5, 0xa3, 0xf5, 0xc8, 0x6f, 0x1d, 0xad, + 0xbf, 0xf2, 0xfd, 0xa3, 0xf5, 0xc8, 0x5f, 0xfc, 0x8d, 0xf5, 0x57, 0xfe, 0xd6, 0x6f, 0xac, 0x47, + 0xbe, 0xc9, 0xf6, 0x0f, 0xff, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3c, 0x36, 0x0d, 0x75, 0x1e, + 0x8c, 0x00, 0x00, } diff --git a/api/v1/lib/mesospb_test.go b/api/v1/lib/mesospb_test.go index 718acdee..5657152a 100644 --- a/api/v1/lib/mesospb_test.go +++ b/api/v1/lib/mesospb_test.go @@ -8069,6 +8069,210 @@ func BenchmarkOffer_Operation_DestroyProtoUnmarshal(b *testing.B) { b.SetBytes(int64(total / b.N)) } +func TestOffer_Operation_GrowVolumeProto(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedOffer_Operation_GrowVolume(popr, false) + dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + msg := &Offer_Operation_GrowVolume{} + if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + littlefuzz := make([]byte, len(dAtA)) + copy(littlefuzz, dAtA) + for i := range dAtA { + dAtA[i] = byte(popr.Intn(256)) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } + if len(littlefuzz) > 0 { + fuzzamount := 100 + for i := 0; i < fuzzamount; i++ { + littlefuzz[popr.Intn(len(littlefuzz))] = byte(popr.Intn(256)) + littlefuzz = append(littlefuzz, byte(popr.Intn(256))) + } + // shouldn't panic + _ = github_com_gogo_protobuf_proto.Unmarshal(littlefuzz, msg) + } +} + +func TestOffer_Operation_GrowVolumeMarshalTo(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedOffer_Operation_GrowVolume(popr, false) + size := p.ProtoSize() + dAtA := make([]byte, size) + for i := range dAtA { + dAtA[i] = byte(popr.Intn(256)) + } + _, err := p.MarshalTo(dAtA) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + msg := &Offer_Operation_GrowVolume{} + if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + for i := range dAtA { + dAtA[i] = byte(popr.Intn(256)) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } +} + +func BenchmarkOffer_Operation_GrowVolumeProtoMarshal(b *testing.B) { + popr := math_rand.New(math_rand.NewSource(616)) + total := 0 + pops := make([]*Offer_Operation_GrowVolume, 10000) + for i := 0; i < 10000; i++ { + pops[i] = NewPopulatedOffer_Operation_GrowVolume(popr, false) + } + b.ResetTimer() + for i := 0; i < b.N; i++ { + dAtA, err := github_com_gogo_protobuf_proto.Marshal(pops[i%10000]) + if err != nil { + panic(err) + } + total += len(dAtA) + } + b.SetBytes(int64(total / b.N)) +} + +func BenchmarkOffer_Operation_GrowVolumeProtoUnmarshal(b *testing.B) { + popr := math_rand.New(math_rand.NewSource(616)) + total := 0 + datas := make([][]byte, 10000) + for i := 0; i < 10000; i++ { + dAtA, err := github_com_gogo_protobuf_proto.Marshal(NewPopulatedOffer_Operation_GrowVolume(popr, false)) + if err != nil { + panic(err) + } + datas[i] = dAtA + } + msg := &Offer_Operation_GrowVolume{} + b.ResetTimer() + for i := 0; i < b.N; i++ { + total += len(datas[i%10000]) + if err := github_com_gogo_protobuf_proto.Unmarshal(datas[i%10000], msg); err != nil { + panic(err) + } + } + b.SetBytes(int64(total / b.N)) +} + +func TestOffer_Operation_ShrinkVolumeProto(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedOffer_Operation_ShrinkVolume(popr, false) + dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + msg := &Offer_Operation_ShrinkVolume{} + if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + littlefuzz := make([]byte, len(dAtA)) + copy(littlefuzz, dAtA) + for i := range dAtA { + dAtA[i] = byte(popr.Intn(256)) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } + if len(littlefuzz) > 0 { + fuzzamount := 100 + for i := 0; i < fuzzamount; i++ { + littlefuzz[popr.Intn(len(littlefuzz))] = byte(popr.Intn(256)) + littlefuzz = append(littlefuzz, byte(popr.Intn(256))) + } + // shouldn't panic + _ = github_com_gogo_protobuf_proto.Unmarshal(littlefuzz, msg) + } +} + +func TestOffer_Operation_ShrinkVolumeMarshalTo(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedOffer_Operation_ShrinkVolume(popr, false) + size := p.ProtoSize() + dAtA := make([]byte, size) + for i := range dAtA { + dAtA[i] = byte(popr.Intn(256)) + } + _, err := p.MarshalTo(dAtA) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + msg := &Offer_Operation_ShrinkVolume{} + if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + for i := range dAtA { + dAtA[i] = byte(popr.Intn(256)) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } +} + +func BenchmarkOffer_Operation_ShrinkVolumeProtoMarshal(b *testing.B) { + popr := math_rand.New(math_rand.NewSource(616)) + total := 0 + pops := make([]*Offer_Operation_ShrinkVolume, 10000) + for i := 0; i < 10000; i++ { + pops[i] = NewPopulatedOffer_Operation_ShrinkVolume(popr, false) + } + b.ResetTimer() + for i := 0; i < b.N; i++ { + dAtA, err := github_com_gogo_protobuf_proto.Marshal(pops[i%10000]) + if err != nil { + panic(err) + } + total += len(dAtA) + } + b.SetBytes(int64(total / b.N)) +} + +func BenchmarkOffer_Operation_ShrinkVolumeProtoUnmarshal(b *testing.B) { + popr := math_rand.New(math_rand.NewSource(616)) + total := 0 + datas := make([][]byte, 10000) + for i := 0; i < 10000; i++ { + dAtA, err := github_com_gogo_protobuf_proto.Marshal(NewPopulatedOffer_Operation_ShrinkVolume(popr, false)) + if err != nil { + panic(err) + } + datas[i] = dAtA + } + msg := &Offer_Operation_ShrinkVolume{} + b.ResetTimer() + for i := 0; i < b.N; i++ { + total += len(datas[i%10000]) + if err := github_com_gogo_protobuf_proto.Unmarshal(datas[i%10000], msg); err != nil { + panic(err) + } + } + b.SetBytes(int64(total / b.N)) +} + func TestOffer_Operation_CreateVolumeProto(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) @@ -17561,6 +17765,48 @@ func TestOffer_Operation_DestroyJSON(t *testing.T) { t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p) } } +func TestOffer_Operation_GrowVolumeJSON(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedOffer_Operation_GrowVolume(popr, true) + marshaler := github_com_gogo_protobuf_jsonpb.Marshaler{} + jsondata, err := marshaler.MarshalToString(p) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + msg := &Offer_Operation_GrowVolume{} + err = github_com_gogo_protobuf_jsonpb.UnmarshalString(jsondata, msg) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p) + } +} +func TestOffer_Operation_ShrinkVolumeJSON(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedOffer_Operation_ShrinkVolume(popr, true) + marshaler := github_com_gogo_protobuf_jsonpb.Marshaler{} + jsondata, err := marshaler.MarshalToString(p) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + msg := &Offer_Operation_ShrinkVolume{} + err = github_com_gogo_protobuf_jsonpb.UnmarshalString(jsondata, msg) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p) + } +} func TestOffer_Operation_CreateVolumeJSON(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) @@ -21830,6 +22076,74 @@ func TestOffer_Operation_DestroyProtoCompactText(t *testing.T) { } } +func TestOffer_Operation_GrowVolumeProtoText(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedOffer_Operation_GrowVolume(popr, true) + dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p) + msg := &Offer_Operation_GrowVolume{} + if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } +} + +func TestOffer_Operation_GrowVolumeProtoCompactText(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedOffer_Operation_GrowVolume(popr, true) + dAtA := github_com_gogo_protobuf_proto.CompactTextString(p) + msg := &Offer_Operation_GrowVolume{} + if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } +} + +func TestOffer_Operation_ShrinkVolumeProtoText(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedOffer_Operation_ShrinkVolume(popr, true) + dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p) + msg := &Offer_Operation_ShrinkVolume{} + if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } +} + +func TestOffer_Operation_ShrinkVolumeProtoCompactText(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedOffer_Operation_ShrinkVolume(popr, true) + dAtA := github_com_gogo_protobuf_proto.CompactTextString(p) + msg := &Offer_Operation_ShrinkVolume{} + if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) + } + if !p.Equal(msg) { + t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) + } +} + func TestOffer_Operation_CreateVolumeProtoText(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) @@ -25618,6 +25932,36 @@ func TestOffer_Operation_DestroyVerboseEqual(t *testing.T) { t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err) } } +func TestOffer_Operation_GrowVolumeVerboseEqual(t *testing.T) { + popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) + p := NewPopulatedOffer_Operation_GrowVolume(popr, false) + dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) + if err != nil { + panic(err) + } + msg := &Offer_Operation_GrowVolume{} + if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { + panic(err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err) + } +} +func TestOffer_Operation_ShrinkVolumeVerboseEqual(t *testing.T) { + popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) + p := NewPopulatedOffer_Operation_ShrinkVolume(popr, false) + dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) + if err != nil { + panic(err) + } + msg := &Offer_Operation_ShrinkVolume{} + if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { + panic(err) + } + if err := p.VerboseEqual(msg); err != nil { + t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err) + } +} func TestOffer_Operation_CreateVolumeVerboseEqual(t *testing.T) { popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) p := NewPopulatedOffer_Operation_CreateVolume(popr, false) @@ -27787,6 +28131,32 @@ func TestOffer_Operation_DestroyGoString(t *testing.T) { panic(err) } } +func TestOffer_Operation_GrowVolumeGoString(t *testing.T) { + popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) + p := NewPopulatedOffer_Operation_GrowVolume(popr, false) + s1 := p.GoString() + s2 := fmt.Sprintf("%#v", p) + if s1 != s2 { + t.Fatalf("GoString want %v got %v", s1, s2) + } + _, err := go_parser.ParseExpr(s1) + if err != nil { + panic(err) + } +} +func TestOffer_Operation_ShrinkVolumeGoString(t *testing.T) { + popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) + p := NewPopulatedOffer_Operation_ShrinkVolume(popr, false) + s1 := p.GoString() + s2 := fmt.Sprintf("%#v", p) + if s1 != s2 { + t.Fatalf("GoString want %v got %v", s1, s2) + } + _, err := go_parser.ParseExpr(s1) + if err != nil { + panic(err) + } +} func TestOffer_Operation_CreateVolumeGoString(t *testing.T) { popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) p := NewPopulatedOffer_Operation_CreateVolume(popr, false) @@ -31596,6 +31966,78 @@ func BenchmarkOffer_Operation_DestroyProtoSize(b *testing.B) { b.SetBytes(int64(total / b.N)) } +func TestOffer_Operation_GrowVolumeProtoSize(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedOffer_Operation_GrowVolume(popr, true) + size2 := github_com_gogo_protobuf_proto.Size(p) + dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + size := p.ProtoSize() + if len(dAtA) != size { + t.Errorf("seed = %d, size %v != marshalled size %v", seed, size, len(dAtA)) + } + if size2 != size { + t.Errorf("seed = %d, size %v != before marshal proto.Size %v", seed, size, size2) + } + size3 := github_com_gogo_protobuf_proto.Size(p) + if size3 != size { + t.Errorf("seed = %d, size %v != after marshal proto.Size %v", seed, size, size3) + } +} + +func BenchmarkOffer_Operation_GrowVolumeProtoSize(b *testing.B) { + popr := math_rand.New(math_rand.NewSource(616)) + total := 0 + pops := make([]*Offer_Operation_GrowVolume, 1000) + for i := 0; i < 1000; i++ { + pops[i] = NewPopulatedOffer_Operation_GrowVolume(popr, false) + } + b.ResetTimer() + for i := 0; i < b.N; i++ { + total += pops[i%1000].ProtoSize() + } + b.SetBytes(int64(total / b.N)) +} + +func TestOffer_Operation_ShrinkVolumeProtoSize(t *testing.T) { + seed := time.Now().UnixNano() + popr := math_rand.New(math_rand.NewSource(seed)) + p := NewPopulatedOffer_Operation_ShrinkVolume(popr, true) + size2 := github_com_gogo_protobuf_proto.Size(p) + dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) + if err != nil { + t.Fatalf("seed = %d, err = %v", seed, err) + } + size := p.ProtoSize() + if len(dAtA) != size { + t.Errorf("seed = %d, size %v != marshalled size %v", seed, size, len(dAtA)) + } + if size2 != size { + t.Errorf("seed = %d, size %v != before marshal proto.Size %v", seed, size, size2) + } + size3 := github_com_gogo_protobuf_proto.Size(p) + if size3 != size { + t.Errorf("seed = %d, size %v != after marshal proto.Size %v", seed, size, size3) + } +} + +func BenchmarkOffer_Operation_ShrinkVolumeProtoSize(b *testing.B) { + popr := math_rand.New(math_rand.NewSource(616)) + total := 0 + pops := make([]*Offer_Operation_ShrinkVolume, 1000) + for i := 0; i < 1000; i++ { + pops[i] = NewPopulatedOffer_Operation_ShrinkVolume(popr, false) + } + b.ResetTimer() + for i := 0; i < b.N; i++ { + total += pops[i%1000].ProtoSize() + } + b.SetBytes(int64(total / b.N)) +} + func TestOffer_Operation_CreateVolumeProtoSize(t *testing.T) { seed := time.Now().UnixNano() popr := math_rand.New(math_rand.NewSource(seed)) @@ -35070,6 +35512,24 @@ func TestOffer_Operation_DestroyStringer(t *testing.T) { t.Fatalf("String want %v got %v", s1, s2) } } +func TestOffer_Operation_GrowVolumeStringer(t *testing.T) { + popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) + p := NewPopulatedOffer_Operation_GrowVolume(popr, false) + s1 := p.String() + s2 := fmt.Sprintf("%v", p) + if s1 != s2 { + t.Fatalf("String want %v got %v", s1, s2) + } +} +func TestOffer_Operation_ShrinkVolumeStringer(t *testing.T) { + popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) + p := NewPopulatedOffer_Operation_ShrinkVolume(popr, false) + s1 := p.String() + s2 := fmt.Sprintf("%v", p) + if s1 != s2 { + t.Fatalf("String want %v got %v", s1, s2) + } +} func TestOffer_Operation_CreateVolumeStringer(t *testing.T) { popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) p := NewPopulatedOffer_Operation_CreateVolume(popr, false) diff --git a/api/v1/lib/scheduler/scheduler.pb.go b/api/v1/lib/scheduler/scheduler.pb.go index 58b55ff9..1c65c779 100644 --- a/api/v1/lib/scheduler/scheduler.pb.go +++ b/api/v1/lib/scheduler/scheduler.pb.go @@ -620,13 +620,21 @@ func (m *Event_Error) GetMessage() string { // * // Synchronous responses for calls made to the scheduler API. type Response struct { - ReconcileOperations *Response_ReconcileOperations `protobuf:"bytes,1,opt,name=reconcile_operations,json=reconcileOperations" json:"reconcile_operations,omitempty"` + Type Response_Type `protobuf:"varint,1,opt,name=type,enum=mesos.scheduler.Response_Type" json:"type"` + ReconcileOperations *Response_ReconcileOperations `protobuf:"bytes,2,opt,name=reconcile_operations,json=reconcileOperations" json:"reconcile_operations,omitempty"` } func (m *Response) Reset() { *m = Response{} } func (*Response) ProtoMessage() {} func (*Response) Descriptor() ([]byte, []int) { return fileDescriptorScheduler, []int{1} } +func (m *Response) GetType() Response_Type { + if m != nil { + return m.Type + } + return Response_UNKNOWN +} + func (m *Response) GetReconcileOperations() *Response_ReconcileOperations { if m != nil { return m.ReconcileOperations @@ -1113,6 +1121,11 @@ func (m *Call_Acknowledge) GetUUID() []byte { // Such status updates are retried by the agent or resource provider // until they are acknowledged by the scheduler. type Call_AcknowledgeOperationStatus struct { + // If the operation affects resources that belong to a SLRP, both + // `agent_id` and `resource_provider_id` have to be set. + // + // If the operation affects resources that belong to a SERP, only + // `resource_provider_id` has to be set. AgentID *mesos.AgentID `protobuf:"bytes,1,opt,name=agent_id,json=agentId" json:"agent_id,omitempty"` ResourceProviderID *mesos.ResourceProviderID `protobuf:"bytes,2,opt,name=resource_provider_id,json=resourceProviderId" json:"resource_provider_id,omitempty"` UUID []byte `protobuf:"bytes,3,req,name=uuid" json:"uuid,omitempty"` @@ -1223,7 +1236,11 @@ func (m *Call_ReconcileOperations) GetOperations() []Call_ReconcileOperations_Op } type Call_ReconcileOperations_Operation struct { - OperationID mesos.OperationID `protobuf:"bytes,1,req,name=operation_id,json=operationId" json:"operation_id"` + OperationID mesos.OperationID `protobuf:"bytes,1,req,name=operation_id,json=operationId" json:"operation_id"` + // If `agent_id` is not set and the master doesn't know the operation, + // then it will return `OPERATION_UNKNOWN`; if `agent_id` is set, it can + // return more fine-grained states depending on the state of the + // corresponding agent. AgentID *mesos.AgentID `protobuf:"bytes,2,opt,name=agent_id,json=agentId" json:"agent_id,omitempty"` ResourceProviderID *mesos.ResourceProviderID `protobuf:"bytes,3,opt,name=resource_provider_id,json=resourceProviderId" json:"resource_provider_id,omitempty"` } @@ -2210,6 +2227,9 @@ func (this *Response) VerboseEqual(that interface{}) error { } 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.ReconcileOperations.Equal(that1.ReconcileOperations) { return fmt.Errorf("ReconcileOperations this(%v) Not Equal that(%v)", this.ReconcileOperations, that1.ReconcileOperations) } @@ -2240,6 +2260,9 @@ func (this *Response) Equal(that interface{}) bool { } else if this == nil { return false } + if this.Type != that1.Type { + return false + } if !this.ReconcileOperations.Equal(that1.ReconcileOperations) { return false } @@ -3883,8 +3906,9 @@ func (this *Response) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 5) + s := make([]string, 0, 6) s = append(s, "&scheduler.Response{") + s = append(s, "Type: "+fmt.Sprintf("%#v", this.Type)+",\n") if this.ReconcileOperations != nil { s = append(s, "ReconcileOperations: "+fmt.Sprintf("%#v", this.ReconcileOperations)+",\n") } @@ -4662,8 +4686,11 @@ func (m *Response) MarshalTo(dAtA []byte) (int, error) { _ = i var l int _ = l + dAtA[i] = 0x8 + i++ + i = encodeVarintScheduler(dAtA, i, uint64(m.Type)) if m.ReconcileOperations != nil { - dAtA[i] = 0xa + dAtA[i] = 0x12 i++ i = encodeVarintScheduler(dAtA, i, uint64(m.ReconcileOperations.ProtoSize())) n21, err := m.ReconcileOperations.MarshalTo(dAtA[i:]) @@ -5760,6 +5787,7 @@ func NewPopulatedEvent_Error(r randyScheduler, easy bool) *Event_Error { func NewPopulatedResponse(r randyScheduler, easy bool) *Response { this := &Response{} + this.Type = Response_Type([]int32{0, 1}[r.Intn(2)]) if r.Intn(10) != 0 { this.ReconcileOperations = NewPopulatedResponse_ReconcileOperations(r, easy) } @@ -6346,6 +6374,7 @@ func (m *Event_Error) ProtoSize() (n int) { func (m *Response) ProtoSize() (n int) { var l int _ = l + n += 1 + sovScheduler(uint64(m.Type)) if m.ReconcileOperations != nil { l = m.ReconcileOperations.ProtoSize() n += 1 + l + sovScheduler(uint64(l)) @@ -6828,6 +6857,7 @@ func (this *Response) String() string { return "nil" } s := strings.Join([]string{`&Response{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, `ReconcileOperations:` + strings.Replace(fmt.Sprintf("%v", this.ReconcileOperations), "Response_ReconcileOperations", "Response_ReconcileOperations", 1) + `,`, `}`, }, "") @@ -8511,6 +8541,25 @@ func (m *Response) Unmarshal(dAtA []byte) error { } 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 ErrIntOverflowScheduler + } + 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 ReconcileOperations", wireType) } @@ -11388,130 +11437,130 @@ var ( func init() { proto.RegisterFile("scheduler/scheduler.proto", fileDescriptorScheduler) } var fileDescriptorScheduler = []byte{ - // 1990 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0x4d, 0x70, 0x23, 0x47, - 0x15, 0x76, 0xcb, 0xb2, 0x7e, 0xde, 0xd8, 0xf2, 0x6c, 0xfb, 0x27, 0xda, 0x89, 0x77, 0xec, 0xb8, - 0x52, 0x85, 0x93, 0x62, 0xed, 0xc5, 0xd9, 0x24, 0x90, 0x84, 0xaa, 0xe8, 0x67, 0xbc, 0x19, 0xec, - 0xb5, 0x9d, 0x1e, 0x69, 0x29, 0x28, 0x40, 0x19, 0x6b, 0xda, 0xde, 0x29, 0xcb, 0x1a, 0x31, 0x33, - 0xf2, 0xb2, 0x37, 0x2e, 0x54, 0x71, 0xa2, 0x38, 0xc0, 0x91, 0x02, 0x2a, 0x17, 0x8a, 0x43, 0xb8, - 0x72, 0xe4, 0x02, 0x95, 0x13, 0x95, 0x23, 0x27, 0x17, 0x56, 0x0e, 0x70, 0x23, 0x07, 0x0e, 0x1c, - 0xa9, 0xee, 0xe9, 0x19, 0xcd, 0x48, 0x1a, 0x6d, 0xd6, 0xa1, 0xa0, 0xb8, 0xa8, 0xa6, 0x5f, 0x7f, - 0xef, 0xf5, 0xeb, 0xd7, 0xaf, 0x5f, 0x7f, 0x4f, 0x70, 0xdb, 0x6b, 0x3f, 0xa6, 0x56, 0xbf, 0x43, - 0xdd, 0x9d, 0xe8, 0x6b, 0xbb, 0xe7, 0x3a, 0xbe, 0x83, 0x17, 0x2f, 0xa8, 0xe7, 0x78, 0xdb, 0x91, - 0x58, 0xb9, 0x77, 0x66, 0xfb, 0x8f, 0xfb, 0x27, 0xdb, 0x6d, 0xe7, 0x62, 0x87, 0xcf, 0x05, 0xbf, - 0x77, 0xcf, 0x9c, 0x1d, 0xb3, 0x67, 0xef, 0x5c, 0x7e, 0x65, 0xa7, 0x63, 0x9f, 0x04, 0xb2, 0xc0, - 0x84, 0x72, 0x37, 0xa6, 0x71, 0xe6, 0x9c, 0x39, 0x3b, 0x5c, 0x7c, 0xd2, 0x3f, 0xe5, 0x23, 0x3e, - 0xe0, 0x5f, 0x01, 0x7c, 0xf3, 0xa3, 0x45, 0x98, 0xd3, 0x2e, 0x69, 0xd7, 0xc7, 0xaf, 0x43, 0xd6, - 0x7f, 0xda, 0xa3, 0x65, 0xb4, 0x81, 0xb6, 0x4a, 0xbb, 0x2f, 0x6e, 0x8f, 0xb8, 0xb2, 0xcd, 0x51, - 0xdb, 0x8d, 0xa7, 0x3d, 0x5a, 0xcd, 0x7e, 0x7c, 0xb5, 0x3e, 0x43, 0x38, 0x1c, 0x57, 0x00, 0xbc, - 0xfe, 0x89, 0xd7, 0x76, 0xed, 0x13, 0x6a, 0x95, 0x33, 0x1b, 0x68, 0x4b, 0xda, 0x7d, 0x29, 0x45, - 0xd9, 0x88, 0x80, 0x24, 0xa6, 0x84, 0x5f, 0x87, 0x9c, 0x73, 0x7a, 0x4a, 0x5d, 0xaf, 0x3c, 0xcb, - 0xd5, 0xef, 0xa4, 0xa8, 0x1f, 0x71, 0x10, 0x11, 0x60, 0xfc, 0x55, 0xc8, 0xbb, 0xd4, 0x6b, 0xdb, - 0x5d, 0xab, 0x9c, 0xe5, 0x7a, 0x6a, 0x8a, 0x1e, 0x09, 0x50, 0x24, 0x84, 0xb3, 0x05, 0xfb, 0x3d, - 0xcb, 0xf4, 0x69, 0x79, 0x6e, 0xea, 0x82, 0x4d, 0x0e, 0x22, 0x02, 0xcc, 0x16, 0xbc, 0xa0, 0x9e, - 0x67, 0x9e, 0xd1, 0x72, 0x6e, 0xea, 0x82, 0x0f, 0x03, 0x14, 0x09, 0xe1, 0x4c, 0xf3, 0xd4, 0xb4, - 0x3b, 0x7d, 0x97, 0x96, 0xf3, 0x53, 0x35, 0xf7, 0x02, 0x14, 0x09, 0xe1, 0x78, 0x17, 0xe6, 0xa8, - 0xeb, 0x3a, 0x6e, 0xb9, 0xc0, 0xf5, 0xd6, 0x52, 0xf4, 0x34, 0x86, 0x21, 0x01, 0x14, 0xef, 0x43, - 0xc9, 0xee, 0x5e, 0x52, 0xd7, 0xa3, 0x2d, 0x11, 0xd7, 0x22, 0x57, 0x7e, 0x39, 0x45, 0x59, 0x0f, - 0xc0, 0x22, 0xbc, 0x0b, 0x76, 0x7c, 0x88, 0xbf, 0x07, 0x2b, 0x22, 0x6c, 0xad, 0x84, 0xd1, 0x32, - 0x70, 0x9b, 0xaf, 0x4e, 0x8f, 0x79, 0xdc, 0x34, 0x59, 0x72, 0xc7, 0x85, 0xd8, 0x82, 0x17, 0x82, - 0xf0, 0xb6, 0x9c, 0x1e, 0x75, 0x4d, 0xdf, 0x76, 0xba, 0x2d, 0xcf, 0x37, 0xfd, 0xbe, 0x57, 0x96, - 0xf8, 0x0a, 0x5f, 0x9e, 0x7a, 0x38, 0x47, 0xa1, 0x92, 0xc1, 0x75, 0xc8, 0x4a, 0x7f, 0x92, 0x58, - 0xf9, 0x13, 0x02, 0x18, 0x66, 0x1f, 0xde, 0x83, 0xf9, 0x53, 0xd7, 0xbc, 0xa0, 0x4f, 0x1c, 0xf7, - 0xbc, 0x65, 0x5b, 0x65, 0xb4, 0x91, 0xd9, 0x92, 0x76, 0xb1, 0x58, 0x69, 0x2f, 0x9c, 0xd2, 0xeb, - 0xd5, 0xc5, 0xc1, 0xd5, 0xba, 0x14, 0x13, 0x10, 0x29, 0x52, 0xd4, 0x2d, 0xfc, 0x0e, 0x28, 0x8f, - 0xa9, 0xe9, 0xfa, 0x27, 0xd4, 0xf4, 0x5b, 0x76, 0xd7, 0xa7, 0xee, 0xa5, 0xd9, 0x69, 0x79, 0xb4, - 0xed, 0x74, 0x2d, 0x8f, 0x5f, 0x06, 0x44, 0xca, 0x11, 0x42, 0x17, 0x00, 0x23, 0x98, 0xc7, 0xbb, - 0x20, 0x5d, 0x98, 0x9e, 0x4f, 0xdd, 0x96, 0xdd, 0x3d, 0x75, 0x44, 0xf2, 0xdf, 0x12, 0x4e, 0x3c, - 0xe4, 0x33, 0x7a, 0xf7, 0xd4, 0x21, 0x70, 0x11, 0x7d, 0x2b, 0xf7, 0x21, 0x27, 0x0e, 0xe6, 0xd5, - 0xe8, 0xd6, 0xa0, 0x8d, 0xd9, 0x2d, 0x69, 0x77, 0x5e, 0x28, 0xf2, 0x69, 0x71, 0x45, 0x05, 0x42, - 0x79, 0x1f, 0x16, 0x12, 0x87, 0x8c, 0xdf, 0x1d, 0x4b, 0x91, 0xc0, 0xc8, 0x92, 0x30, 0x12, 0x47, - 0x0b, 0x5b, 0xc9, 0xbc, 0x50, 0x34, 0xc8, 0x8b, 0x33, 0xc6, 0x6f, 0x41, 0x81, 0x1b, 0x19, 0x46, - 0xb2, 0x14, 0xf7, 0x85, 0x45, 0x91, 0x59, 0x18, 0x5c, 0xad, 0xe7, 0x85, 0x80, 0xe4, 0xb9, 0x82, - 0x6e, 0x29, 0x67, 0xb0, 0x34, 0x21, 0x55, 0xf0, 0x31, 0xc8, 0x09, 0xff, 0xd2, 0x4d, 0xaf, 0x0a, - 0xd3, 0xa5, 0xb8, 0xbe, 0x5e, 0x27, 0xa5, 0xb8, 0xbb, 0xba, 0xa5, 0x7c, 0x0d, 0x72, 0x41, 0xc6, - 0xe0, 0x1d, 0xc8, 0x89, 0x04, 0x0b, 0x2c, 0x86, 0x11, 0x6f, 0x98, 0xde, 0x79, 0x90, 0x2e, 0x61, - 0xf4, 0x02, 0x98, 0xf2, 0x10, 0x56, 0x26, 0x26, 0x1b, 0xbe, 0x3f, 0x62, 0x69, 0x35, 0xf4, 0x2d, - 0x89, 0x1b, 0x31, 0xf7, 0x6b, 0x04, 0x79, 0x51, 0x21, 0x58, 0xe8, 0xcc, 0x33, 0xda, 0xf5, 0xc7, - 0xf7, 0x57, 0x61, 0xe2, 0x78, 0xe8, 0x84, 0x80, 0xe4, 0xb9, 0x82, 0xce, 0x92, 0x58, 0xa2, 0x3f, - 0xa0, 0xed, 0xbe, 0xef, 0xf0, 0xf0, 0x64, 0x12, 0x9b, 0xd1, 0xc4, 0x8c, 0x5e, 0xaf, 0x62, 0x61, - 0x01, 0x86, 0x32, 0x02, 0xa1, 0xa6, 0x6e, 0x61, 0x0c, 0x59, 0xcb, 0xf4, 0xcd, 0xf2, 0xec, 0x46, - 0x66, 0x6b, 0x9e, 0xf0, 0x6f, 0xe5, 0x17, 0x08, 0xf2, 0xa2, 0x16, 0xe1, 0x37, 0x12, 0x3e, 0xa2, - 0x09, 0x3e, 0x4a, 0x13, 0xfd, 0xab, 0x8e, 0xfa, 0x87, 0x26, 0xfb, 0x57, 0x9a, 0xe2, 0xdb, 0x6a, - 0x14, 0x61, 0x76, 0x3b, 0xe6, 0xa2, 0x18, 0x7e, 0x09, 0xe6, 0x78, 0xc9, 0xc3, 0xea, 0xb0, 0x26, - 0xb3, 0xf8, 0x15, 0x45, 0xac, 0x43, 0xe1, 0xe6, 0x9f, 0x11, 0x64, 0xd9, 0x9b, 0x85, 0x25, 0xc8, - 0x37, 0x0f, 0xf7, 0x0f, 0x8f, 0xbe, 0x79, 0x28, 0xcf, 0xe0, 0x12, 0x80, 0xd1, 0xac, 0x1a, 0x35, - 0xa2, 0x57, 0xb5, 0xba, 0x8c, 0x30, 0x40, 0xee, 0x68, 0x6f, 0x4f, 0x23, 0x86, 0x9c, 0xc1, 0x18, - 0x4a, 0xfa, 0xe1, 0x23, 0x8d, 0x18, 0x5a, 0x4b, 0xc8, 0x8a, 0x4c, 0x99, 0x68, 0x46, 0x4d, 0x3f, - 0xac, 0xcb, 0xb3, 0xf8, 0x36, 0xac, 0x88, 0x41, 0x2b, 0x01, 0x94, 0x81, 0xd9, 0x69, 0x1e, 0xd7, - 0x2b, 0x0d, 0x4d, 0xce, 0xe2, 0x17, 0xe1, 0x85, 0xe0, 0xbb, 0x75, 0x74, 0xac, 0x91, 0x4a, 0x43, - 0x3f, 0x3a, 0x6c, 0x19, 0x8d, 0x4a, 0xa3, 0x69, 0xc8, 0x12, 0x33, 0xf8, 0x50, 0x33, 0x8c, 0xca, - 0x03, 0x4d, 0x9e, 0x63, 0x83, 0xbd, 0x8a, 0x7e, 0xd0, 0x24, 0x9a, 0x9c, 0xc3, 0x45, 0x98, 0xd3, - 0x08, 0x39, 0x22, 0x72, 0x1e, 0x2f, 0x40, 0xf1, 0x3d, 0xad, 0x42, 0x1a, 0x55, 0xad, 0xd2, 0x90, - 0x0b, 0x4a, 0xf6, 0xc7, 0x1f, 0xaa, 0x68, 0xf3, 0x47, 0x19, 0x28, 0x10, 0xea, 0xf5, 0x9c, 0xae, - 0x47, 0xf1, 0x07, 0xb0, 0xec, 0xb2, 0x62, 0xd2, 0xb6, 0x3b, 0xb1, 0xfa, 0xe9, 0x89, 0x63, 0xba, - 0x3b, 0x56, 0x39, 0x43, 0xc5, 0x6d, 0x12, 0x6a, 0x45, 0xa9, 0xea, 0xb1, 0xf2, 0x3c, 0x26, 0x54, - 0x4e, 0xd8, 0xfd, 0x1c, 0x13, 0xe3, 0x7d, 0xc0, 0xa3, 0xe5, 0x9a, 0x86, 0x35, 0x64, 0xfa, 0x2d, - 0xb8, 0xe5, 0x24, 0xc5, 0xd4, 0xdb, 0x7c, 0x6d, 0xd2, 0x11, 0x95, 0x61, 0x99, 0x68, 0xb5, 0xa3, - 0xc3, 0x9a, 0x7e, 0x10, 0x8b, 0xa0, 0x21, 0x23, 0x11, 0x87, 0x7f, 0xdc, 0x81, 0x6c, 0xcd, 0xec, - 0x74, 0x26, 0xd4, 0x72, 0x74, 0xa3, 0x5a, 0x7e, 0x5f, 0xf0, 0x9f, 0x0c, 0xe7, 0x3f, 0xca, 0x58, - 0xec, 0xd8, 0x62, 0xe3, 0xf4, 0xe7, 0xeb, 0x50, 0x8c, 0x98, 0x8c, 0xa8, 0xe0, 0xeb, 0x93, 0x55, - 0xa3, 0xe7, 0x87, 0x0c, 0x35, 0x58, 0x05, 0x31, 0xdb, 0x6d, 0xda, 0xf3, 0x05, 0x85, 0x59, 0x9b, - 0xac, 0x5b, 0xe1, 0x18, 0x22, 0xb0, 0xf8, 0x4d, 0xc8, 0x5b, 0xb4, 0xdd, 0xb1, 0xbb, 0xe9, 0x04, - 0x86, 0xab, 0xd5, 0x03, 0x10, 0x09, 0xd1, 0x78, 0x1b, 0xb2, 0xe7, 0x76, 0xa7, 0x23, 0xe8, 0x4b, - 0xca, 0x1e, 0xf7, 0xed, 0x4e, 0x87, 0x70, 0x1c, 0x2b, 0x4f, 0xde, 0xe3, 0xbe, 0x6f, 0x39, 0x4f, - 0xba, 0xa9, 0xc4, 0x25, 0xd8, 0x9c, 0x40, 0x91, 0x08, 0x8f, 0x6b, 0x20, 0x99, 0xed, 0xf3, 0xae, - 0xf3, 0xa4, 0x43, 0xad, 0x33, 0x2a, 0xf8, 0xcb, 0x4b, 0x69, 0xfb, 0x8b, 0x80, 0x24, 0xae, 0xc5, - 0xc2, 0x1b, 0x65, 0xa5, 0x60, 0x31, 0x29, 0xe1, 0x8d, 0xb2, 0x94, 0x0c, 0x35, 0x58, 0xa0, 0xc2, - 0xea, 0x00, 0xd3, 0x02, 0x35, 0x46, 0xd8, 0xde, 0x64, 0xdc, 0xf2, 0xfb, 0x7d, 0xea, 0xf9, 0x82, - 0x85, 0xdc, 0x49, 0x5b, 0x95, 0x83, 0x48, 0x88, 0xc6, 0xdf, 0x85, 0x95, 0xe0, 0x90, 0x5a, 0x23, - 0xef, 0xeb, 0x02, 0x37, 0xf3, 0xca, 0xb4, 0xf3, 0x4d, 0xf2, 0xb0, 0x25, 0x73, 0x5c, 0x88, 0x3f, - 0x80, 0x55, 0x71, 0x96, 0xa3, 0xf6, 0x4b, 0x29, 0x74, 0x2c, 0x9e, 0x08, 0xc9, 0x05, 0x96, 0xad, - 0x09, 0x52, 0x96, 0x91, 0x2e, 0xbd, 0xb4, 0x2f, 0x69, 0x79, 0x71, 0x5a, 0x46, 0x12, 0x8e, 0x21, - 0x02, 0xcb, 0x13, 0xa5, 0xdf, 0xeb, 0xb9, 0xd4, 0xf3, 0xca, 0xf2, 0xd4, 0x44, 0x11, 0x28, 0x12, - 0xe1, 0xb1, 0x0b, 0x6b, 0xb1, 0x23, 0x1f, 0xa7, 0x81, 0xb7, 0xb8, 0xbd, 0x7b, 0xcf, 0xcc, 0x9c, - 0x51, 0x2a, 0xa8, 0x98, 0xa9, 0x73, 0xf8, 0x3b, 0x29, 0x85, 0x13, 0x4f, 0x3b, 0xa5, 0xcf, 0x5d, - 0x34, 0x3d, 0x28, 0x46, 0xb7, 0x1d, 0xbf, 0x0d, 0xa5, 0x58, 0x7d, 0x62, 0x44, 0x2f, 0x78, 0xe8, - 0x97, 0xc7, 0x2a, 0x14, 0xe3, 0x7a, 0x0b, 0xa7, 0xf1, 0x21, 0x7e, 0x05, 0xe4, 0x30, 0x4e, 0xd4, - 0x6a, 0xb9, 0x4e, 0x87, 0x32, 0x5a, 0x39, 0xbb, 0x55, 0x24, 0x8b, 0x43, 0x39, 0x61, 0x62, 0xe5, - 0x77, 0x08, 0x72, 0x41, 0x1e, 0xb1, 0x5b, 0x13, 0xb2, 0xa6, 0xb0, 0x28, 0x8f, 0xd2, 0x26, 0x59, - 0x90, 0x82, 0x82, 0x10, 0x78, 0xa4, 0x20, 0x28, 0x99, 0x87, 0xdf, 0x01, 0x88, 0x85, 0x24, 0x93, - 0x2c, 0xea, 0x0c, 0x34, 0x2c, 0xed, 0xa2, 0x16, 0xc6, 0xf0, 0x78, 0x0b, 0xf2, 0xa7, 0x76, 0xc7, - 0x1f, 0xb6, 0x73, 0xe1, 0xd2, 0x7b, 0x81, 0x94, 0x84, 0xd3, 0x8a, 0x0b, 0x79, 0x91, 0x98, 0x5f, - 0xd4, 0xe3, 0xd8, 0x9a, 0x99, 0xe9, 0x6b, 0xfe, 0x0c, 0xc1, 0xd2, 0x84, 0xdb, 0x86, 0x0d, 0xb8, - 0x35, 0x4a, 0x38, 0xd3, 0x1c, 0x79, 0x41, 0x38, 0xb2, 0x98, 0x64, 0x9c, 0x1e, 0x59, 0x4c, 0x52, - 0xce, 0xe7, 0x71, 0xeb, 0xe7, 0x08, 0x96, 0x27, 0x5d, 0xd2, 0xff, 0xb5, 0x5f, 0x2a, 0xe4, 0x82, - 0x9b, 0x8e, 0x97, 0x61, 0x2e, 0x48, 0x3f, 0xc4, 0xd3, 0x2f, 0x18, 0x28, 0xbf, 0x45, 0x90, 0x65, - 0xef, 0x05, 0x7e, 0x03, 0xf2, 0xbe, 0xe9, 0xc5, 0x9a, 0xa9, 0x85, 0x18, 0xab, 0x66, 0x24, 0x4f, - 0x38, 0x97, 0x0b, 0xc6, 0x24, 0xc7, 0xd0, 0xba, 0x95, 0x20, 0x97, 0x99, 0xe7, 0x20, 0x97, 0xbb, - 0x20, 0xb1, 0x17, 0xaa, 0xd5, 0x73, 0x3a, 0x76, 0xfb, 0xe9, 0x48, 0xef, 0xc4, 0x3c, 0x3a, 0xe6, - 0x13, 0x04, 0xce, 0xa3, 0x6f, 0xe5, 0x27, 0x08, 0x0a, 0xe1, 0x43, 0x35, 0xca, 0x9e, 0xd1, 0x4d, - 0xd9, 0xf3, 0x5b, 0x89, 0x0d, 0x3c, 0x17, 0x83, 0x57, 0x7e, 0x89, 0x40, 0x8a, 0x15, 0xb0, 0x2f, - 0xd4, 0x0d, 0xc4, 0x0e, 0x20, 0xf3, 0x3c, 0x07, 0xb0, 0x06, 0xd9, 0x7e, 0xdf, 0xb6, 0x02, 0xf6, - 0x5f, 0x2d, 0x0c, 0xae, 0xd6, 0xb3, 0xcd, 0xa6, 0x5e, 0x27, 0x5c, 0xaa, 0x7c, 0x98, 0x01, 0x25, - 0xbd, 0xc4, 0xde, 0xb8, 0x35, 0x68, 0xb3, 0xf2, 0xeb, 0x39, 0x7d, 0xb7, 0x4d, 0x5b, 0x3d, 0xd7, - 0xb9, 0xb4, 0x2d, 0x1a, 0xeb, 0x11, 0x6e, 0x0b, 0x1b, 0x44, 0x40, 0x8e, 0x05, 0x82, 0x75, 0x7b, - 0x83, 0xab, 0x75, 0x3c, 0x2e, 0x27, 0xd8, 0x1d, 0x95, 0x3d, 0x63, 0x67, 0xf8, 0x1b, 0x30, 0x3f, - 0x7c, 0x69, 0x6c, 0xab, 0x9c, 0x4d, 0xfc, 0x05, 0x10, 0x6d, 0x54, 0xaf, 0x57, 0x97, 0x44, 0xe4, - 0xa4, 0x98, 0x90, 0x48, 0x91, 0xb2, 0x6e, 0x29, 0x7f, 0x44, 0x50, 0x8c, 0x1e, 0x07, 0xfc, 0x2e, - 0xcc, 0xb1, 0xd8, 0x86, 0xd7, 0xf4, 0xe5, 0x67, 0x3c, 0x26, 0xfc, 0x80, 0x44, 0x1d, 0x0d, 0x14, - 0x95, 0x4b, 0xc8, 0x32, 0xe1, 0x7f, 0xfb, 0x52, 0x29, 0x7f, 0xcb, 0x4c, 0x66, 0xfb, 0xdf, 0x4a, - 0x3c, 0x08, 0xc1, 0xb6, 0x5e, 0xfb, 0xdc, 0x6f, 0xe4, 0xb4, 0xd7, 0x42, 0xf9, 0x27, 0x82, 0x62, - 0x34, 0x3f, 0x76, 0x28, 0xe8, 0xe6, 0x87, 0x72, 0xe3, 0xca, 0x92, 0x96, 0x9b, 0xb3, 0xff, 0xc1, - 0xdc, 0xfc, 0xbf, 0xf8, 0x0f, 0xe0, 0x6d, 0xc8, 0x0b, 0x7a, 0x8b, 0xef, 0x41, 0x41, 0x10, 0xdc, - 0xd1, 0xc7, 0x47, 0x20, 0xc4, 0xc9, 0x46, 0x28, 0x65, 0x03, 0x0a, 0x21, 0xd5, 0x9b, 0xfc, 0x74, - 0x6c, 0x7e, 0x94, 0x99, 0xd4, 0xf6, 0x2d, 0x40, 0x31, 0xea, 0xcc, 0x65, 0x84, 0xe7, 0xa1, 0xd0, - 0xd0, 0x2a, 0xa4, 0xce, 0x26, 0x33, 0xac, 0xbd, 0xae, 0xd4, 0x6a, 0xda, 0x71, 0x43, 0x9e, 0x65, - 0x5a, 0x75, 0xad, 0x76, 0xa0, 0x1f, 0xb2, 0x5e, 0xfb, 0x36, 0xac, 0x04, 0x13, 0xad, 0x91, 0xd6, - 0x7d, 0x01, 0x2b, 0xb0, 0x2a, 0x70, 0xa3, 0x73, 0x25, 0x66, 0x8f, 0x68, 0x8f, 0xf4, 0x47, 0xac, - 0x09, 0x2f, 0x40, 0x76, 0x5f, 0x3f, 0x38, 0x90, 0x73, 0x6c, 0x4d, 0xe3, 0xbd, 0x66, 0x83, 0xaf, - 0x99, 0xc7, 0x8b, 0x20, 0x55, 0x6a, 0xcc, 0xbb, 0x03, 0xad, 0xfe, 0x40, 0x93, 0x0b, 0x78, 0x03, - 0xd6, 0x62, 0x82, 0xf1, 0xe6, 0x7e, 0x91, 0xed, 0x21, 0x6a, 0x5d, 0xe5, 0x62, 0x6a, 0x27, 0x2b, - 0xc7, 0xff, 0x05, 0x80, 0xe0, 0x3f, 0x86, 0xf7, 0x9b, 0x9a, 0xd1, 0x90, 0x25, 0xee, 0x43, 0xf3, - 0xf8, 0x98, 0x68, 0x86, 0x21, 0xcf, 0x07, 0x1d, 0x6f, 0xf5, 0xc1, 0x27, 0xd7, 0xea, 0xcc, 0x5f, - 0xae, 0xd5, 0x99, 0xbf, 0x5e, 0xab, 0xe8, 0xb3, 0x6b, 0x15, 0xfd, 0xeb, 0x5a, 0x45, 0x3f, 0x1c, - 0xa8, 0xe8, 0x37, 0x03, 0x15, 0xfd, 0x7e, 0xa0, 0xa2, 0x3f, 0x0c, 0x54, 0xf4, 0xf1, 0x40, 0x45, - 0x9f, 0x0c, 0x54, 0xf4, 0xf7, 0x81, 0x3a, 0xf3, 0xd9, 0x40, 0x45, 0x3f, 0xfd, 0x54, 0x9d, 0xf9, - 0xd5, 0xa7, 0x2a, 0xfa, 0x76, 0x31, 0xba, 0xa8, 0xff, 0x0e, 0x00, 0x00, 0xff, 0xff, 0xcb, 0x4b, - 0x8a, 0x38, 0x81, 0x18, 0x00, 0x00, + // 1996 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0x4d, 0x70, 0xe4, 0x46, + 0x15, 0x76, 0x8f, 0xc7, 0xf3, 0xf3, 0x64, 0x8f, 0xb5, 0xed, 0x9f, 0xcc, 0x2a, 0x5e, 0xd9, 0x71, + 0xa5, 0x0a, 0x27, 0xc5, 0xda, 0x8b, 0xb3, 0x49, 0x20, 0x09, 0x55, 0x99, 0x1f, 0x79, 0x23, 0xec, + 0xb5, 0x9d, 0xd6, 0xcc, 0x52, 0x50, 0xc0, 0x44, 0x1e, 0xb5, 0xbd, 0x2a, 0x8f, 0x47, 0x83, 0xa4, + 0xf1, 0xb2, 0x37, 0x8e, 0x9c, 0x28, 0x0e, 0x70, 0xa4, 0x80, 0xca, 0x85, 0xe2, 0x10, 0xae, 0xdc, + 0xe0, 0x02, 0x95, 0x13, 0x95, 0x23, 0x27, 0x17, 0x9e, 0x1c, 0xe0, 0x46, 0x0e, 0x1c, 0x38, 0x52, + 0xdd, 0x6a, 0x69, 0xa4, 0x99, 0xd1, 0x6c, 0xd6, 0xa1, 0xa0, 0xb8, 0x4c, 0x49, 0xaf, 0xbf, 0xf7, + 0xfa, 0xe9, 0xbd, 0xd7, 0xef, 0x7d, 0x3d, 0x70, 0xdb, 0x6b, 0x3f, 0xa6, 0x56, 0xbf, 0x43, 0xdd, + 0x9d, 0xe8, 0x69, 0xbb, 0xe7, 0x3a, 0xbe, 0x83, 0x17, 0x2f, 0xa8, 0xe7, 0x78, 0xdb, 0x91, 0x58, + 0xb9, 0x77, 0x66, 0xfb, 0x8f, 0xfb, 0x27, 0xdb, 0x6d, 0xe7, 0x62, 0x87, 0xaf, 0x05, 0xbf, 0x77, + 0xcf, 0x9c, 0x1d, 0xb3, 0x67, 0xef, 0x5c, 0x7e, 0x65, 0xa7, 0x63, 0x9f, 0x04, 0xb2, 0xc0, 0x84, + 0x72, 0x37, 0xa6, 0x71, 0xe6, 0x9c, 0x39, 0x3b, 0x5c, 0x7c, 0xd2, 0x3f, 0xe5, 0x6f, 0xfc, 0x85, + 0x3f, 0x05, 0xf0, 0xcd, 0x8f, 0x16, 0x61, 0x4e, 0xbb, 0xa4, 0x5d, 0x1f, 0xbf, 0x0e, 0x59, 0xff, + 0x69, 0x8f, 0x96, 0xd1, 0x06, 0xda, 0x2a, 0xed, 0xbe, 0xb8, 0x3d, 0xe2, 0xca, 0x36, 0x47, 0x6d, + 0x37, 0x9e, 0xf6, 0x68, 0x35, 0xfb, 0xf1, 0xd5, 0xfa, 0x0c, 0xe1, 0x70, 0x5c, 0x01, 0xf0, 0xfa, + 0x27, 0x5e, 0xdb, 0xb5, 0x4f, 0xa8, 0x55, 0xce, 0x6c, 0xa0, 0x2d, 0x69, 0xf7, 0xa5, 0x14, 0x65, + 0x23, 0x02, 0x92, 0x98, 0x12, 0x7e, 0x1d, 0x72, 0xce, 0xe9, 0x29, 0x75, 0xbd, 0xf2, 0x2c, 0x57, + 0xbf, 0x93, 0xa2, 0x7e, 0xc4, 0x41, 0x44, 0x80, 0xf1, 0x57, 0x21, 0xef, 0x52, 0xaf, 0x6d, 0x77, + 0xad, 0x72, 0x96, 0xeb, 0xa9, 0x29, 0x7a, 0x24, 0x40, 0x91, 0x10, 0xce, 0x36, 0xec, 0xf7, 0x2c, + 0xd3, 0xa7, 0xe5, 0xb9, 0xa9, 0x1b, 0x36, 0x39, 0x88, 0x08, 0x30, 0xdb, 0xf0, 0x82, 0x7a, 0x9e, + 0x79, 0x46, 0xcb, 0xb9, 0xa9, 0x1b, 0x3e, 0x0c, 0x50, 0x24, 0x84, 0x33, 0xcd, 0x53, 0xd3, 0xee, + 0xf4, 0x5d, 0x5a, 0xce, 0x4f, 0xd5, 0xdc, 0x0b, 0x50, 0x24, 0x84, 0xe3, 0x5d, 0x98, 0xa3, 0xae, + 0xeb, 0xb8, 0xe5, 0x02, 0xd7, 0x5b, 0x4b, 0xd1, 0xd3, 0x18, 0x86, 0x04, 0x50, 0xbc, 0x0f, 0x25, + 0xbb, 0x7b, 0x49, 0x5d, 0x8f, 0xb6, 0x44, 0x5c, 0x8b, 0x5c, 0xf9, 0xe5, 0x14, 0x65, 0x3d, 0x00, + 0x8b, 0xf0, 0x2e, 0xd8, 0xf1, 0x57, 0xfc, 0x3d, 0x58, 0x11, 0x61, 0x6b, 0x25, 0x8c, 0x96, 0x81, + 0xdb, 0x7c, 0x75, 0x7a, 0xcc, 0xe3, 0xa6, 0xc9, 0x92, 0x3b, 0x2e, 0xc4, 0x16, 0xbc, 0x10, 0x84, + 0xb7, 0xe5, 0xf4, 0xa8, 0x6b, 0xfa, 0xb6, 0xd3, 0x6d, 0x79, 0xbe, 0xe9, 0xf7, 0xbd, 0xb2, 0xc4, + 0x77, 0xf8, 0xf2, 0xd4, 0xe4, 0x1c, 0x85, 0x4a, 0x06, 0xd7, 0x21, 0x2b, 0xfd, 0x49, 0x62, 0xe5, + 0x4f, 0x08, 0x60, 0x58, 0x7d, 0x78, 0x0f, 0xe6, 0x4f, 0x5d, 0xf3, 0x82, 0x3e, 0x71, 0xdc, 0xf3, + 0x96, 0x6d, 0x95, 0xd1, 0x46, 0x66, 0x4b, 0xda, 0xc5, 0x62, 0xa7, 0xbd, 0x70, 0x49, 0xaf, 0x57, + 0x17, 0x07, 0x57, 0xeb, 0x52, 0x4c, 0x40, 0xa4, 0x48, 0x51, 0xb7, 0xf0, 0x3b, 0xa0, 0x3c, 0xa6, + 0xa6, 0xeb, 0x9f, 0x50, 0xd3, 0x6f, 0xd9, 0x5d, 0x9f, 0xba, 0x97, 0x66, 0xa7, 0xe5, 0xd1, 0xb6, + 0xd3, 0xb5, 0x3c, 0x7e, 0x18, 0x10, 0x29, 0x47, 0x08, 0x5d, 0x00, 0x8c, 0x60, 0x1d, 0xef, 0x82, + 0x74, 0x61, 0x7a, 0x3e, 0x75, 0x5b, 0x76, 0xf7, 0xd4, 0x11, 0xc5, 0x7f, 0x4b, 0x38, 0xf1, 0x90, + 0xaf, 0xe8, 0xdd, 0x53, 0x87, 0xc0, 0x45, 0xf4, 0xac, 0xdc, 0x87, 0x9c, 0x48, 0xcc, 0xab, 0xd1, + 0xa9, 0x41, 0x1b, 0xb3, 0x5b, 0xd2, 0xee, 0xbc, 0x50, 0xe4, 0xcb, 0xe2, 0x88, 0x0a, 0x84, 0xf2, + 0x3e, 0x2c, 0x24, 0x92, 0x8c, 0xdf, 0x1d, 0x2b, 0x91, 0xc0, 0xc8, 0x92, 0x30, 0x12, 0x47, 0x0b, + 0x5b, 0xc9, 0xba, 0x50, 0x34, 0xc8, 0x8b, 0x1c, 0xe3, 0xb7, 0xa0, 0xc0, 0x8d, 0x0c, 0x23, 0x59, + 0x8a, 0xfb, 0xc2, 0xa2, 0xc8, 0x2c, 0x0c, 0xae, 0xd6, 0xf3, 0x42, 0x40, 0xf2, 0x5c, 0x41, 0xb7, + 0x94, 0x33, 0x58, 0x9a, 0x50, 0x2a, 0xf8, 0x18, 0xe4, 0x84, 0x7f, 0xe9, 0xa6, 0x57, 0x85, 0xe9, + 0x52, 0x5c, 0x5f, 0xaf, 0x93, 0x52, 0xdc, 0x5d, 0xdd, 0x52, 0xbe, 0x06, 0xb9, 0xa0, 0x62, 0xf0, + 0x0e, 0xe4, 0x44, 0x81, 0x05, 0x16, 0xc3, 0x88, 0x37, 0x4c, 0xef, 0x3c, 0x28, 0x97, 0x30, 0x7a, + 0x01, 0x4c, 0x79, 0x08, 0x2b, 0x13, 0x8b, 0x0d, 0xdf, 0x1f, 0xb1, 0xb4, 0x1a, 0xfa, 0x96, 0xc4, + 0x8d, 0x98, 0xfb, 0x15, 0x82, 0xbc, 0xe8, 0x10, 0x2c, 0x74, 0xe6, 0x19, 0xed, 0xfa, 0xe3, 0xdf, + 0x57, 0x61, 0xe2, 0x78, 0xe8, 0x84, 0x80, 0xe4, 0xb9, 0x82, 0xce, 0x8a, 0x58, 0xa2, 0x3f, 0xa0, + 0xed, 0xbe, 0xef, 0xf0, 0xf0, 0x64, 0x12, 0x1f, 0xa3, 0x89, 0x15, 0xbd, 0x5e, 0xc5, 0xc2, 0x02, + 0x0c, 0x65, 0x04, 0x42, 0x4d, 0xdd, 0xc2, 0x18, 0xb2, 0x96, 0xe9, 0x9b, 0xe5, 0xd9, 0x8d, 0xcc, + 0xd6, 0x3c, 0xe1, 0xcf, 0xca, 0xcf, 0x11, 0xe4, 0x45, 0x2f, 0xc2, 0x6f, 0x24, 0x7c, 0x44, 0x13, + 0x7c, 0x94, 0x26, 0xfa, 0x57, 0x1d, 0xf5, 0x0f, 0x4d, 0xf6, 0xaf, 0x34, 0xc5, 0xb7, 0xd5, 0x28, + 0xc2, 0xec, 0x74, 0xcc, 0x45, 0x31, 0xfc, 0x12, 0xcc, 0xf1, 0x96, 0x87, 0xd5, 0x61, 0x4f, 0x66, + 0xf1, 0x2b, 0x8a, 0x58, 0x87, 0xc2, 0xcd, 0x3f, 0x23, 0xc8, 0xb2, 0x99, 0x85, 0x25, 0xc8, 0x37, + 0x0f, 0xf7, 0x0f, 0x8f, 0xbe, 0x79, 0x28, 0xcf, 0xe0, 0x12, 0x80, 0xd1, 0xac, 0x1a, 0x35, 0xa2, + 0x57, 0xb5, 0xba, 0x8c, 0x30, 0x40, 0xee, 0x68, 0x6f, 0x4f, 0x23, 0x86, 0x9c, 0xc1, 0x18, 0x4a, + 0xfa, 0xe1, 0x23, 0x8d, 0x18, 0x5a, 0x4b, 0xc8, 0x8a, 0x4c, 0x99, 0x68, 0x46, 0x4d, 0x3f, 0xac, + 0xcb, 0xb3, 0xf8, 0x36, 0xac, 0x88, 0x97, 0x56, 0x02, 0x28, 0x03, 0xb3, 0xd3, 0x3c, 0xae, 0x57, + 0x1a, 0x9a, 0x9c, 0xc5, 0x2f, 0xc2, 0x0b, 0xc1, 0x73, 0xeb, 0xe8, 0x58, 0x23, 0x95, 0x86, 0x7e, + 0x74, 0xd8, 0x32, 0x1a, 0x95, 0x46, 0xd3, 0x90, 0x25, 0x66, 0xf0, 0xa1, 0x66, 0x18, 0x95, 0x07, + 0x9a, 0x3c, 0xc7, 0x5e, 0xf6, 0x2a, 0xfa, 0x41, 0x93, 0x68, 0x72, 0x0e, 0x17, 0x61, 0x4e, 0x23, + 0xe4, 0x88, 0xc8, 0x79, 0xbc, 0x00, 0xc5, 0xf7, 0xb4, 0x0a, 0x69, 0x54, 0xb5, 0x4a, 0x43, 0x2e, + 0x28, 0xd9, 0x1f, 0x7d, 0xa8, 0xa2, 0xcd, 0xdf, 0x67, 0xa0, 0x40, 0xa8, 0xd7, 0x73, 0xba, 0x1e, + 0x9b, 0x2b, 0xf1, 0x99, 0x3d, 0x3e, 0x54, 0x42, 0xe0, 0xf8, 0xd8, 0xfe, 0x00, 0x96, 0x5d, 0xd6, + 0x86, 0xda, 0x76, 0x27, 0xd6, 0x79, 0x3d, 0x91, 0xa5, 0xbb, 0xe9, 0x96, 0x48, 0xa8, 0x15, 0x15, + 0xb9, 0xc7, 0x1a, 0xfb, 0x98, 0x50, 0x39, 0x61, 0x27, 0x7b, 0x4c, 0x8c, 0xf7, 0x01, 0x8f, 0x36, + 0x7a, 0x1a, 0x76, 0x9f, 0xe9, 0xe7, 0xe7, 0x96, 0x93, 0x14, 0x53, 0x6f, 0xf3, 0xb5, 0x49, 0xc9, + 0x2d, 0xc3, 0x32, 0xd1, 0x6a, 0x47, 0x87, 0x35, 0xfd, 0x20, 0x16, 0x7b, 0x43, 0x46, 0x22, 0x82, + 0xff, 0xb8, 0x03, 0xd9, 0x9a, 0xd9, 0xe9, 0x4c, 0x98, 0x02, 0xe8, 0x46, 0x53, 0xe0, 0xbe, 0xc8, + 0x42, 0x86, 0x67, 0x41, 0x19, 0x8b, 0x1d, 0xdb, 0x6c, 0x3c, 0x03, 0x5f, 0x87, 0x62, 0xc4, 0x81, + 0x44, 0xef, 0x5f, 0x9f, 0xac, 0x1a, 0x0d, 0x2e, 0x32, 0xd4, 0x60, 0xbd, 0xc7, 0x6c, 0xb7, 0x69, + 0xcf, 0x17, 0xe4, 0x67, 0x6d, 0xb2, 0x6e, 0x85, 0x63, 0x88, 0xc0, 0xe2, 0x37, 0x21, 0x6f, 0xd1, + 0x76, 0xc7, 0xee, 0xa6, 0x53, 0x1f, 0xae, 0x56, 0x0f, 0x40, 0x24, 0x44, 0xe3, 0x6d, 0xc8, 0x9e, + 0xdb, 0x9d, 0x8e, 0x20, 0x3e, 0x29, 0xdf, 0xb8, 0x6f, 0x77, 0x3a, 0x84, 0xe3, 0x58, 0x63, 0xf3, + 0x1e, 0xf7, 0x7d, 0xcb, 0x79, 0xd2, 0x4d, 0xa5, 0x3c, 0xc1, 0xc7, 0x09, 0x14, 0x89, 0xf0, 0xb8, + 0x06, 0x92, 0xd9, 0x3e, 0xef, 0x3a, 0x4f, 0x3a, 0xd4, 0x3a, 0xa3, 0x82, 0xf9, 0xbc, 0x94, 0xf6, + 0x7d, 0x11, 0x90, 0xc4, 0xb5, 0x58, 0x78, 0xa3, 0xaa, 0x14, 0xfc, 0x27, 0x25, 0xbc, 0x51, 0x95, + 0x92, 0xa1, 0x06, 0x0b, 0x54, 0xd8, 0x57, 0x60, 0x5a, 0xa0, 0xc6, 0xa8, 0xde, 0x9b, 0x8c, 0x95, + 0x7e, 0xbf, 0x4f, 0x3d, 0x5f, 0xf0, 0x97, 0x3b, 0x69, 0xbb, 0x72, 0x10, 0x09, 0xd1, 0xf8, 0xbb, + 0xb0, 0x12, 0x24, 0xa9, 0x35, 0x32, 0x99, 0x17, 0xb8, 0x99, 0x57, 0xa6, 0xe5, 0x37, 0xc9, 0xe0, + 0x96, 0xcc, 0x71, 0x21, 0xfe, 0x00, 0x56, 0x45, 0x2e, 0x47, 0xed, 0x97, 0x52, 0x88, 0x5c, 0xbc, + 0x10, 0x92, 0x1b, 0x2c, 0x5b, 0x13, 0xa4, 0xac, 0x22, 0x5d, 0x7a, 0x69, 0x5f, 0xd2, 0xf2, 0xe2, + 0xb4, 0x8a, 0x24, 0x1c, 0x43, 0x04, 0x96, 0x17, 0x4a, 0xbf, 0xd7, 0x73, 0xa9, 0xe7, 0x95, 0xe5, + 0xa9, 0x85, 0x22, 0x50, 0x24, 0xc2, 0x63, 0x17, 0xd6, 0x62, 0x29, 0x1f, 0x27, 0x90, 0xb7, 0xb8, + 0xbd, 0x7b, 0xcf, 0xac, 0x9c, 0x51, 0x12, 0xa9, 0x98, 0xa9, 0x6b, 0xf8, 0x3b, 0x29, 0x8d, 0x13, + 0x4f, 0xcb, 0xd2, 0xe7, 0x6e, 0x9a, 0x1e, 0x14, 0xa3, 0xd3, 0x8e, 0xdf, 0x86, 0x52, 0xac, 0x3f, + 0x31, 0x8a, 0x18, 0x50, 0x84, 0xe5, 0xb1, 0x0e, 0xc5, 0x58, 0xe2, 0xc2, 0x69, 0xfc, 0x15, 0xbf, + 0x02, 0x72, 0x18, 0x27, 0x6a, 0xb5, 0x5c, 0xa7, 0x43, 0x59, 0x73, 0x9f, 0xdd, 0x2a, 0x92, 0xc5, + 0xa1, 0x9c, 0x30, 0xb1, 0xf2, 0x5b, 0x04, 0xb9, 0xa0, 0x8e, 0xd8, 0xa9, 0x09, 0xf9, 0x56, 0xd8, + 0x94, 0x47, 0x09, 0x97, 0x2c, 0xe8, 0x44, 0x41, 0x08, 0x3c, 0x52, 0x10, 0x64, 0xce, 0xc3, 0xef, + 0x00, 0x24, 0x66, 0x49, 0xa2, 0xa9, 0x33, 0xd0, 0xb0, 0xb5, 0x8b, 0x5e, 0x18, 0xc3, 0xe3, 0x2d, + 0xc8, 0x9f, 0xda, 0x1d, 0x7f, 0x78, 0x11, 0x0c, 0xb7, 0xde, 0x0b, 0xa4, 0x24, 0x5c, 0x56, 0x5c, + 0xc8, 0x8b, 0xc2, 0xfc, 0xa2, 0x1e, 0xc7, 0xf6, 0xcc, 0x4c, 0xdf, 0xf3, 0xa7, 0x08, 0x96, 0x26, + 0x9c, 0x36, 0x6c, 0xc0, 0xad, 0x51, 0xaa, 0x9a, 0xe6, 0xc8, 0x0b, 0xc2, 0x91, 0xc5, 0x24, 0x57, + 0xf5, 0xc8, 0x62, 0x92, 0xac, 0x3e, 0x8f, 0x5b, 0x3f, 0x43, 0xb0, 0x3c, 0xe9, 0x90, 0xfe, 0xaf, + 0xfd, 0x52, 0x21, 0x17, 0x9c, 0x74, 0xbc, 0x0c, 0x73, 0x41, 0xf9, 0x21, 0x5e, 0x7e, 0xc1, 0x8b, + 0xf2, 0x1b, 0x04, 0x59, 0x36, 0x2f, 0xf0, 0x1b, 0x90, 0xf7, 0x4d, 0x2f, 0x76, 0x0d, 0x5b, 0x88, + 0xf1, 0x71, 0x46, 0x0f, 0x85, 0x73, 0xb9, 0xe0, 0x9d, 0xe4, 0x18, 0x5a, 0xb7, 0x12, 0xb4, 0x34, + 0xf3, 0x1c, 0xb4, 0x74, 0x17, 0x24, 0x36, 0xa1, 0x5a, 0x3d, 0xa7, 0x63, 0xb7, 0x9f, 0x8e, 0xdc, + 0xba, 0x98, 0x47, 0xc7, 0x7c, 0x81, 0xc0, 0x79, 0xf4, 0xac, 0xfc, 0x18, 0x41, 0x21, 0x1c, 0x54, + 0xa3, 0xbc, 0x1b, 0xdd, 0x94, 0x77, 0xbf, 0x95, 0xf8, 0x80, 0xe7, 0xe2, 0xfe, 0xca, 0x2f, 0x10, + 0x48, 0xb1, 0x06, 0xf6, 0x85, 0xee, 0x11, 0xb1, 0x04, 0x64, 0x9e, 0x27, 0x01, 0x6b, 0x90, 0xed, + 0xf7, 0x6d, 0x2b, 0xb8, 0x37, 0x54, 0x0b, 0x83, 0xab, 0xf5, 0x6c, 0xb3, 0xa9, 0xd7, 0x09, 0x97, + 0x2a, 0x1f, 0x66, 0x40, 0x49, 0x6f, 0xb1, 0x37, 0xbe, 0x54, 0xb4, 0x59, 0xfb, 0xf5, 0x9c, 0xbe, + 0xdb, 0xa6, 0xad, 0x9e, 0xeb, 0x5c, 0xda, 0x16, 0x8d, 0xdd, 0x2e, 0x6e, 0x0b, 0x1b, 0x44, 0x40, + 0x8e, 0x05, 0x82, 0xdd, 0x13, 0x07, 0x57, 0xeb, 0x78, 0x5c, 0x4e, 0xb0, 0x3b, 0x2a, 0x7b, 0xc6, + 0x97, 0xe1, 0x6f, 0xc0, 0xfc, 0x70, 0xd2, 0xd8, 0x56, 0x39, 0x9b, 0xf8, 0xf3, 0x20, 0xfa, 0x50, + 0xbd, 0x5e, 0x5d, 0x12, 0x91, 0x93, 0x62, 0x42, 0x22, 0x45, 0xca, 0xba, 0xa5, 0xfc, 0x11, 0x41, + 0x31, 0x1a, 0x0e, 0xf8, 0x5d, 0x98, 0x63, 0xb1, 0x0d, 0x8f, 0xe9, 0xcb, 0xcf, 0x18, 0x26, 0x3c, + 0x41, 0xa2, 0x8f, 0x06, 0x8a, 0xca, 0x25, 0x64, 0x99, 0xf0, 0xbf, 0x7d, 0xa8, 0x94, 0xbf, 0x65, + 0x26, 0xb3, 0xfd, 0x6f, 0x25, 0x06, 0x42, 0xf0, 0x59, 0xaf, 0x7d, 0xee, 0x19, 0x39, 0x6d, 0x5a, + 0x28, 0xff, 0x44, 0x50, 0x8c, 0xd6, 0xc7, 0x92, 0x82, 0x6e, 0x9e, 0x94, 0x1b, 0x77, 0x96, 0xb4, + 0xda, 0x9c, 0xfd, 0x0f, 0xd6, 0xe6, 0xff, 0xc5, 0xbf, 0x07, 0x6f, 0x43, 0x5e, 0xd0, 0x5b, 0x7c, + 0x0f, 0x0a, 0x82, 0xe0, 0x8e, 0x0e, 0x1f, 0x81, 0x10, 0x99, 0x8d, 0x50, 0xca, 0x06, 0x14, 0x42, + 0xaa, 0x37, 0x79, 0x74, 0x6c, 0x7e, 0x94, 0x99, 0x74, 0xed, 0x5b, 0x80, 0x62, 0x74, 0xa7, 0x97, + 0x11, 0x9e, 0x87, 0x42, 0x43, 0xab, 0x90, 0x3a, 0x5b, 0xcc, 0xb0, 0x8b, 0x79, 0xa5, 0x56, 0xd3, + 0x8e, 0x1b, 0xf2, 0x2c, 0xd3, 0xaa, 0x6b, 0xb5, 0x03, 0xfd, 0x90, 0xdd, 0xd2, 0x6f, 0xc3, 0x4a, + 0xb0, 0xd0, 0x1a, 0xb9, 0xf4, 0x2f, 0x60, 0x05, 0x56, 0x05, 0x6e, 0x74, 0xad, 0xc4, 0xec, 0x11, + 0xed, 0x91, 0xfe, 0x88, 0x5d, 0xdf, 0x0b, 0x90, 0xdd, 0xd7, 0x0f, 0x0e, 0xe4, 0x1c, 0xdb, 0xd3, + 0x78, 0xaf, 0xd9, 0xe0, 0x7b, 0xe6, 0xf1, 0x22, 0x48, 0x95, 0x1a, 0xf3, 0xee, 0x40, 0xab, 0x3f, + 0xd0, 0xe4, 0x02, 0xde, 0x80, 0xb5, 0x98, 0x60, 0xfc, 0x6f, 0x81, 0x45, 0xf6, 0x0d, 0xd1, 0xd5, + 0x55, 0x2e, 0xa6, 0xde, 0x64, 0xe5, 0xf8, 0xff, 0x07, 0x10, 0xfc, 0x3b, 0xf1, 0x7e, 0x53, 0x33, + 0x1a, 0xb2, 0xc4, 0x7d, 0x68, 0x1e, 0x1f, 0x13, 0xcd, 0x30, 0xe4, 0xf9, 0xe0, 0xc6, 0x5b, 0x7d, + 0xf0, 0xc9, 0xb5, 0x3a, 0xf3, 0x97, 0x6b, 0x75, 0xe6, 0xaf, 0xd7, 0x2a, 0xfa, 0xec, 0x5a, 0x45, + 0xff, 0xba, 0x56, 0xd1, 0x0f, 0x07, 0x2a, 0xfa, 0xf5, 0x40, 0x45, 0xbf, 0x1b, 0xa8, 0xe8, 0x0f, + 0x03, 0x15, 0x7d, 0x3c, 0x50, 0xd1, 0x27, 0x03, 0x15, 0xfd, 0x7d, 0xa0, 0xce, 0x7c, 0x36, 0x50, + 0xd1, 0x4f, 0x3e, 0x55, 0x67, 0x7e, 0xf9, 0xa9, 0x8a, 0xbe, 0x5d, 0x8c, 0x0e, 0xea, 0xbf, 0x03, + 0x00, 0x00, 0xff, 0xff, 0x97, 0xf8, 0xf1, 0xe6, 0xbb, 0x18, 0x00, 0x00, } From 81e14f224586d204a9c18404e45950c6029d2e89 Mon Sep 17 00:00:00 2001 From: Chun-Hung Hsiao Date: Wed, 18 Jul 2018 14:28:00 -0700 Subject: [PATCH 3/5] proto: regenerate jsons --- api/v1/lib/agent/agent.pb_ffjson.go | 422 ++++++ api/v1/lib/master/master.pb_ffjson.go | 1359 +++++++++++++++++-- api/v1/lib/mesos.pb_ffjson.go | 1089 ++++++++++++--- api/v1/lib/scheduler/scheduler.pb_ffjson.go | 60 +- 4 files changed, 2621 insertions(+), 309 deletions(-) diff --git a/api/v1/lib/agent/agent.pb_ffjson.go b/api/v1/lib/agent/agent.pb_ffjson.go index 020edc99..680617ae 100644 --- a/api/v1/lib/agent/agent.pb_ffjson.go +++ b/api/v1/lib/agent/agent.pb_ffjson.go @@ -7710,6 +7710,21 @@ func (mj *Response) MarshalJSONBuf(buf fflib.EncodingBuffer) error { buf.WriteByte(',') } } + if mj.GetOperations != nil { + if true { + buf.WriteString(`"get_operations":`) + + { + + err = mj.GetOperations.MarshalJSONBuf(buf) + if err != nil { + return err + } + + } + buf.WriteByte(',') + } + } if mj.GetTasks != nil { if true { buf.WriteString(`"get_tasks":`) @@ -7818,6 +7833,8 @@ const ( ffj_t_Response_GetExecutors + ffj_t_Response_GetOperations + ffj_t_Response_GetTasks ffj_t_Response_GetAgent @@ -7853,6 +7870,8 @@ var ffj_key_Response_GetFrameworks = []byte("get_frameworks") var ffj_key_Response_GetExecutors = []byte("get_executors") +var ffj_key_Response_GetOperations = []byte("get_operations") + var ffj_key_Response_GetTasks = []byte("get_tasks") var ffj_key_Response_GetAgent = []byte("get_agent") @@ -7969,6 +7988,11 @@ mainparse: state = fflib.FFParse_want_colon goto mainparse + } else if bytes.Equal(ffj_key_Response_GetOperations, kn) { + currentKey = ffj_t_Response_GetOperations + state = fflib.FFParse_want_colon + goto mainparse + } else if bytes.Equal(ffj_key_Response_GetTasks, kn) { currentKey = ffj_t_Response_GetTasks state = fflib.FFParse_want_colon @@ -8054,6 +8078,12 @@ mainparse: goto mainparse } + if fflib.EqualFoldRight(ffj_key_Response_GetOperations, kn) { + currentKey = ffj_t_Response_GetOperations + state = fflib.FFParse_want_colon + goto mainparse + } + if fflib.EqualFoldRight(ffj_key_Response_GetExecutors, kn) { currentKey = ffj_t_Response_GetExecutors state = fflib.FFParse_want_colon @@ -8179,6 +8209,9 @@ mainparse: case ffj_t_Response_GetExecutors: goto handle_GetExecutors + case ffj_t_Response_GetOperations: + goto handle_GetOperations + case ffj_t_Response_GetTasks: goto handle_GetTasks @@ -8531,6 +8564,33 @@ handle_GetExecutors: state = fflib.FFParse_after_value goto mainparse +handle_GetOperations: + + /* handler: uj.GetOperations type=agent.Response_GetOperations kind=struct quoted=false*/ + + { + if tok == fflib.FFTok_null { + + uj.GetOperations = nil + + state = fflib.FFParse_after_value + goto mainparse + } + + if uj.GetOperations == nil { + uj.GetOperations = new(Response_GetOperations) + } + + err = uj.GetOperations.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err + } + state = fflib.FFParse_after_value + } + + state = fflib.FFParse_after_value + goto mainparse + handle_GetTasks: /* handler: uj.GetTasks type=agent.Response_GetTasks kind=struct quoted=false*/ @@ -11643,6 +11703,257 @@ done: return nil } +func (mj *Response_GetOperations) MarshalJSON() ([]byte, error) { + var buf fflib.Buffer + if mj == nil { + buf.WriteString("null") + return buf.Bytes(), nil + } + err := mj.MarshalJSONBuf(&buf) + if err != nil { + return nil, err + } + return buf.Bytes(), nil +} +func (mj *Response_GetOperations) MarshalJSONBuf(buf fflib.EncodingBuffer) error { + if mj == nil { + buf.WriteString("null") + return nil + } + var err error + var obj []byte + _ = obj + _ = err + buf.WriteString(`{"operations":`) + if mj.Operations != nil { + buf.WriteString(`[`) + for i, v := range mj.Operations { + if i != 0 { + buf.WriteString(`,`) + } + + { + + err = v.MarshalJSONBuf(buf) + if err != nil { + return err + } + + } + } + buf.WriteString(`]`) + } else { + buf.WriteString(`null`) + } + buf.WriteByte('}') + return nil +} + +const ( + ffj_t_Response_GetOperationsbase = iota + ffj_t_Response_GetOperationsno_such_key + + ffj_t_Response_GetOperations_Operations +) + +var ffj_key_Response_GetOperations_Operations = []byte("operations") + +func (uj *Response_GetOperations) UnmarshalJSON(input []byte) error { + fs := fflib.NewFFLexer(input) + return uj.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start) +} + +func (uj *Response_GetOperations) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error { + var err error = nil + currentKey := ffj_t_Response_GetOperationsbase + _ = currentKey + tok := fflib.FFTok_init + wantedTok := fflib.FFTok_init + +mainparse: + for { + tok = fs.Scan() + // println(fmt.Sprintf("debug: tok: %v state: %v", tok, state)) + if tok == fflib.FFTok_error { + goto tokerror + } + + switch state { + + case fflib.FFParse_map_start: + if tok != fflib.FFTok_left_bracket { + wantedTok = fflib.FFTok_left_bracket + goto wrongtokenerror + } + state = fflib.FFParse_want_key + continue + + case fflib.FFParse_after_value: + if tok == fflib.FFTok_comma { + state = fflib.FFParse_want_key + } else if tok == fflib.FFTok_right_bracket { + goto done + } else { + wantedTok = fflib.FFTok_comma + goto wrongtokenerror + } + + case fflib.FFParse_want_key: + // json {} ended. goto exit. woo. + if tok == fflib.FFTok_right_bracket { + goto done + } + if tok != fflib.FFTok_string { + wantedTok = fflib.FFTok_string + goto wrongtokenerror + } + + kn := fs.Output.Bytes() + if len(kn) <= 0 { + // "" case. hrm. + currentKey = ffj_t_Response_GetOperationsno_such_key + state = fflib.FFParse_want_colon + goto mainparse + } else { + switch kn[0] { + + case 'o': + + if bytes.Equal(ffj_key_Response_GetOperations_Operations, kn) { + currentKey = ffj_t_Response_GetOperations_Operations + state = fflib.FFParse_want_colon + goto mainparse + } + + } + + if fflib.EqualFoldRight(ffj_key_Response_GetOperations_Operations, kn) { + currentKey = ffj_t_Response_GetOperations_Operations + state = fflib.FFParse_want_colon + goto mainparse + } + + currentKey = ffj_t_Response_GetOperationsno_such_key + state = fflib.FFParse_want_colon + goto mainparse + } + + case fflib.FFParse_want_colon: + if tok != fflib.FFTok_colon { + wantedTok = fflib.FFTok_colon + goto wrongtokenerror + } + state = fflib.FFParse_want_value + continue + case fflib.FFParse_want_value: + + if tok == fflib.FFTok_left_brace || tok == fflib.FFTok_left_bracket || tok == fflib.FFTok_integer || tok == fflib.FFTok_double || tok == fflib.FFTok_string || tok == fflib.FFTok_bool || tok == fflib.FFTok_null { + switch currentKey { + + case ffj_t_Response_GetOperations_Operations: + goto handle_Operations + + case ffj_t_Response_GetOperationsno_such_key: + err = fs.SkipField(tok) + if err != nil { + return fs.WrapErr(err) + } + state = fflib.FFParse_after_value + goto mainparse + } + } else { + goto wantedvalue + } + } + } + +handle_Operations: + + /* handler: uj.Operations type=[]mesos.Operation kind=slice quoted=false*/ + + { + + { + if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null { + return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok)) + } + } + + if tok == fflib.FFTok_null { + uj.Operations = nil + } else { + + uj.Operations = []mesos.Operation{} + + wantVal := true + + for { + + var tmp_uj__Operations mesos.Operation + + tok = fs.Scan() + if tok == fflib.FFTok_error { + goto tokerror + } + if tok == fflib.FFTok_right_brace { + break + } + + if tok == fflib.FFTok_comma { + if wantVal == true { + // TODO(pquerna): this isn't an ideal error message, this handles + // things like [,,,] as an array value. + return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) + } + continue + } else { + wantVal = true + } + + /* handler: tmp_uj__Operations type=mesos.Operation kind=struct quoted=false*/ + + { + if tok == fflib.FFTok_null { + + state = fflib.FFParse_after_value + goto mainparse + } + + err = tmp_uj__Operations.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err + } + state = fflib.FFParse_after_value + } + + uj.Operations = append(uj.Operations, tmp_uj__Operations) + + wantVal = false + } + } + } + + state = fflib.FFParse_after_value + goto mainparse + +wantedvalue: + return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) +wrongtokenerror: + return fs.WrapErr(fmt.Errorf("ffjson: wanted token: %v, but got token: %v output=%s", wantedTok, tok, fs.Output.String())) +tokerror: + if fs.BigError != nil { + return fs.WrapErr(fs.BigError) + } + err = fs.Error.ToError() + if err != nil { + return fs.WrapErr(err) + } + panic("ffjson-generated: unreachable, please report bug.") +done: + + return nil +} + func (mj *Response_GetResourceProviders) MarshalJSON() ([]byte, error) { var buf fflib.Buffer if mj == nil { @@ -11925,6 +12236,27 @@ func (mj *Response_GetResourceProviders_ResourceProvider) MarshalJSONBuf(buf ffl } } + buf.WriteString(`,"total_resources":`) + if mj.TotalResources != nil { + buf.WriteString(`[`) + for i, v := range mj.TotalResources { + if i != 0 { + buf.WriteString(`,`) + } + + { + + err = v.MarshalJSONBuf(buf) + if err != nil { + return err + } + + } + } + buf.WriteString(`]`) + } else { + buf.WriteString(`null`) + } buf.WriteByte('}') return nil } @@ -11934,10 +12266,14 @@ const ( ffj_t_Response_GetResourceProviders_ResourceProviderno_such_key ffj_t_Response_GetResourceProviders_ResourceProvider_ResourceProviderInfo + + ffj_t_Response_GetResourceProviders_ResourceProvider_TotalResources ) var ffj_key_Response_GetResourceProviders_ResourceProvider_ResourceProviderInfo = []byte("resource_provider_info") +var ffj_key_Response_GetResourceProviders_ResourceProvider_TotalResources = []byte("total_resources") + func (uj *Response_GetResourceProviders_ResourceProvider) UnmarshalJSON(input []byte) error { fs := fflib.NewFFLexer(input) return uj.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start) @@ -12005,6 +12341,20 @@ mainparse: goto mainparse } + case 't': + + if bytes.Equal(ffj_key_Response_GetResourceProviders_ResourceProvider_TotalResources, kn) { + currentKey = ffj_t_Response_GetResourceProviders_ResourceProvider_TotalResources + state = fflib.FFParse_want_colon + goto mainparse + } + + } + + if fflib.EqualFoldRight(ffj_key_Response_GetResourceProviders_ResourceProvider_TotalResources, kn) { + currentKey = ffj_t_Response_GetResourceProviders_ResourceProvider_TotalResources + state = fflib.FFParse_want_colon + goto mainparse } if fflib.EqualFoldRight(ffj_key_Response_GetResourceProviders_ResourceProvider_ResourceProviderInfo, kn) { @@ -12033,6 +12383,9 @@ mainparse: case ffj_t_Response_GetResourceProviders_ResourceProvider_ResourceProviderInfo: goto handle_ResourceProviderInfo + case ffj_t_Response_GetResourceProviders_ResourceProvider_TotalResources: + goto handle_TotalResources + case ffj_t_Response_GetResourceProviders_ResourceProviderno_such_key: err = fs.SkipField(tok) if err != nil { @@ -12068,6 +12421,75 @@ handle_ResourceProviderInfo: state = fflib.FFParse_after_value goto mainparse +handle_TotalResources: + + /* handler: uj.TotalResources type=[]mesos.Resource kind=slice quoted=false*/ + + { + + { + if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null { + return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok)) + } + } + + if tok == fflib.FFTok_null { + uj.TotalResources = nil + } else { + + uj.TotalResources = []mesos.Resource{} + + wantVal := true + + for { + + var tmp_uj__TotalResources mesos.Resource + + tok = fs.Scan() + if tok == fflib.FFTok_error { + goto tokerror + } + if tok == fflib.FFTok_right_brace { + break + } + + if tok == fflib.FFTok_comma { + if wantVal == true { + // TODO(pquerna): this isn't an ideal error message, this handles + // things like [,,,] as an array value. + return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) + } + continue + } else { + wantVal = true + } + + /* handler: tmp_uj__TotalResources type=mesos.Resource kind=struct quoted=false*/ + + { + if tok == fflib.FFTok_null { + + state = fflib.FFParse_after_value + goto mainparse + } + + err = tmp_uj__TotalResources.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err + } + state = fflib.FFParse_after_value + } + + uj.TotalResources = append(uj.TotalResources, tmp_uj__TotalResources) + + wantVal = false + } + } + } + + state = fflib.FFParse_after_value + goto mainparse + wantedvalue: return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) wrongtokenerror: diff --git a/api/v1/lib/master/master.pb_ffjson.go b/api/v1/lib/master/master.pb_ffjson.go index 579c6215..e59afb21 100644 --- a/api/v1/lib/master/master.pb_ffjson.go +++ b/api/v1/lib/master/master.pb_ffjson.go @@ -183,6 +183,36 @@ func (mj *Call) MarshalJSONBuf(buf fflib.EncodingBuffer) error { buf.WriteByte(',') } } + if mj.GrowVolume != nil { + if true { + buf.WriteString(`"grow_volume":`) + + { + + err = mj.GrowVolume.MarshalJSONBuf(buf) + if err != nil { + return err + } + + } + buf.WriteByte(',') + } + } + if mj.ShrinkVolume != nil { + if true { + buf.WriteString(`"shrink_volume":`) + + { + + err = mj.ShrinkVolume.MarshalJSONBuf(buf) + if err != nil { + return err + } + + } + buf.WriteByte(',') + } + } if mj.UpdateMaintenanceSchedule != nil { if true { buf.WriteString(`"update_maintenance_schedule":`) @@ -317,6 +347,10 @@ const ( ffj_t_Call_DestroyVolumes + ffj_t_Call_GrowVolume + + ffj_t_Call_ShrinkVolume + ffj_t_Call_UpdateMaintenanceSchedule ffj_t_Call_StartMaintenance @@ -352,6 +386,10 @@ var ffj_key_Call_CreateVolumes = []byte("create_volumes") var ffj_key_Call_DestroyVolumes = []byte("destroy_volumes") +var ffj_key_Call_GrowVolume = []byte("grow_volume") + +var ffj_key_Call_ShrinkVolume = []byte("shrink_volume") + var ffj_key_Call_UpdateMaintenanceSchedule = []byte("update_maintenance_schedule") var ffj_key_Call_StartMaintenance = []byte("start_maintenance") @@ -447,6 +485,11 @@ mainparse: currentKey = ffj_t_Call_GetMetrics state = fflib.FFParse_want_colon goto mainparse + + } else if bytes.Equal(ffj_key_Call_GrowVolume, kn) { + currentKey = ffj_t_Call_GrowVolume + state = fflib.FFParse_want_colon + goto mainparse } case 'l': @@ -490,6 +533,11 @@ mainparse: state = fflib.FFParse_want_colon goto mainparse + } else if bytes.Equal(ffj_key_Call_ShrinkVolume, kn) { + currentKey = ffj_t_Call_ShrinkVolume + state = fflib.FFParse_want_colon + goto mainparse + } else if bytes.Equal(ffj_key_Call_StartMaintenance, kn) { currentKey = ffj_t_Call_StartMaintenance state = fflib.FFParse_want_colon @@ -581,6 +629,18 @@ mainparse: goto mainparse } + if fflib.EqualFoldRight(ffj_key_Call_ShrinkVolume, kn) { + currentKey = ffj_t_Call_ShrinkVolume + state = fflib.FFParse_want_colon + goto mainparse + } + + if fflib.AsciiEqualFold(ffj_key_Call_GrowVolume, kn) { + currentKey = ffj_t_Call_GrowVolume + state = fflib.FFParse_want_colon + goto mainparse + } + if fflib.EqualFoldRight(ffj_key_Call_DestroyVolumes, kn) { currentKey = ffj_t_Call_DestroyVolumes state = fflib.FFParse_want_colon @@ -688,6 +748,12 @@ mainparse: case ffj_t_Call_DestroyVolumes: goto handle_DestroyVolumes + case ffj_t_Call_GrowVolume: + goto handle_GrowVolume + + case ffj_t_Call_ShrinkVolume: + goto handle_ShrinkVolume + case ffj_t_Call_UpdateMaintenanceSchedule: goto handle_UpdateMaintenanceSchedule @@ -992,6 +1058,60 @@ handle_DestroyVolumes: state = fflib.FFParse_after_value goto mainparse +handle_GrowVolume: + + /* handler: uj.GrowVolume type=master.Call_GrowVolume kind=struct quoted=false*/ + + { + if tok == fflib.FFTok_null { + + uj.GrowVolume = nil + + state = fflib.FFParse_after_value + goto mainparse + } + + if uj.GrowVolume == nil { + uj.GrowVolume = new(Call_GrowVolume) + } + + err = uj.GrowVolume.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err + } + state = fflib.FFParse_after_value + } + + state = fflib.FFParse_after_value + goto mainparse + +handle_ShrinkVolume: + + /* handler: uj.ShrinkVolume type=master.Call_ShrinkVolume kind=struct quoted=false*/ + + { + if tok == fflib.FFTok_null { + + uj.ShrinkVolume = nil + + state = fflib.FFParse_after_value + goto mainparse + } + + if uj.ShrinkVolume == nil { + uj.ShrinkVolume = new(Call_ShrinkVolume) + } + + err = uj.ShrinkVolume.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err + } + state = fflib.FFParse_after_value + } + + state = fflib.FFParse_after_value + goto mainparse + handle_UpdateMaintenanceSchedule: /* handler: uj.UpdateMaintenanceSchedule type=master.Call_UpdateMaintenanceSchedule kind=struct quoted=false*/ @@ -2010,7 +2130,7 @@ done: return nil } -func (mj *Call_ListFiles) MarshalJSON() ([]byte, error) { +func (mj *Call_GrowVolume) MarshalJSON() ([]byte, error) { var buf fflib.Buffer if mj == nil { buf.WriteString("null") @@ -2022,7 +2142,7 @@ func (mj *Call_ListFiles) MarshalJSON() ([]byte, error) { } return buf.Bytes(), nil } -func (mj *Call_ListFiles) MarshalJSONBuf(buf fflib.EncodingBuffer) error { +func (mj *Call_GrowVolume) MarshalJSONBuf(buf fflib.EncodingBuffer) error { if mj == nil { buf.WriteString("null") return nil @@ -2031,29 +2151,71 @@ func (mj *Call_ListFiles) MarshalJSONBuf(buf fflib.EncodingBuffer) error { var obj []byte _ = obj _ = err - buf.WriteString(`{"path":`) - fflib.WriteJsonString(buf, string(mj.Path)) + buf.WriteByte('{') + if mj.AgentID != nil { + if true { + buf.WriteString(`"agent_id":`) + + { + + err = mj.AgentID.MarshalJSONBuf(buf) + if err != nil { + return err + } + + } + buf.WriteByte(',') + } + } + buf.WriteString(`"volume":`) + + { + + err = mj.Volume.MarshalJSONBuf(buf) + if err != nil { + return err + } + + } + buf.WriteString(`,"addition":`) + + { + + err = mj.Addition.MarshalJSONBuf(buf) + if err != nil { + return err + } + + } buf.WriteByte('}') return nil } const ( - ffj_t_Call_ListFilesbase = iota - ffj_t_Call_ListFilesno_such_key + ffj_t_Call_GrowVolumebase = iota + ffj_t_Call_GrowVolumeno_such_key - ffj_t_Call_ListFiles_Path + ffj_t_Call_GrowVolume_AgentID + + ffj_t_Call_GrowVolume_Volume + + ffj_t_Call_GrowVolume_Addition ) -var ffj_key_Call_ListFiles_Path = []byte("path") +var ffj_key_Call_GrowVolume_AgentID = []byte("agent_id") -func (uj *Call_ListFiles) UnmarshalJSON(input []byte) error { +var ffj_key_Call_GrowVolume_Volume = []byte("volume") + +var ffj_key_Call_GrowVolume_Addition = []byte("addition") + +func (uj *Call_GrowVolume) UnmarshalJSON(input []byte) error { fs := fflib.NewFFLexer(input) return uj.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start) } -func (uj *Call_ListFiles) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error { +func (uj *Call_GrowVolume) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error { var err error = nil - currentKey := ffj_t_Call_ListFilesbase + currentKey := ffj_t_Call_GrowVolumebase _ = currentKey tok := fflib.FFTok_init wantedTok := fflib.FFTok_init @@ -2099,29 +2261,54 @@ mainparse: kn := fs.Output.Bytes() if len(kn) <= 0 { // "" case. hrm. - currentKey = ffj_t_Call_ListFilesno_such_key + currentKey = ffj_t_Call_GrowVolumeno_such_key state = fflib.FFParse_want_colon goto mainparse } else { switch kn[0] { - case 'p': + case 'a': - if bytes.Equal(ffj_key_Call_ListFiles_Path, kn) { - currentKey = ffj_t_Call_ListFiles_Path + if bytes.Equal(ffj_key_Call_GrowVolume_AgentID, kn) { + currentKey = ffj_t_Call_GrowVolume_AgentID + state = fflib.FFParse_want_colon + goto mainparse + + } else if bytes.Equal(ffj_key_Call_GrowVolume_Addition, kn) { + currentKey = ffj_t_Call_GrowVolume_Addition + state = fflib.FFParse_want_colon + goto mainparse + } + + case 'v': + + if bytes.Equal(ffj_key_Call_GrowVolume_Volume, kn) { + currentKey = ffj_t_Call_GrowVolume_Volume state = fflib.FFParse_want_colon goto mainparse } } - if fflib.SimpleLetterEqualFold(ffj_key_Call_ListFiles_Path, kn) { - currentKey = ffj_t_Call_ListFiles_Path + if fflib.SimpleLetterEqualFold(ffj_key_Call_GrowVolume_Addition, kn) { + currentKey = ffj_t_Call_GrowVolume_Addition state = fflib.FFParse_want_colon goto mainparse } - currentKey = ffj_t_Call_ListFilesno_such_key + if fflib.SimpleLetterEqualFold(ffj_key_Call_GrowVolume_Volume, kn) { + currentKey = ffj_t_Call_GrowVolume_Volume + state = fflib.FFParse_want_colon + goto mainparse + } + + if fflib.AsciiEqualFold(ffj_key_Call_GrowVolume_AgentID, kn) { + currentKey = ffj_t_Call_GrowVolume_AgentID + state = fflib.FFParse_want_colon + goto mainparse + } + + currentKey = ffj_t_Call_GrowVolumeno_such_key state = fflib.FFParse_want_colon goto mainparse } @@ -2138,10 +2325,16 @@ mainparse: if tok == fflib.FFTok_left_brace || tok == fflib.FFTok_left_bracket || tok == fflib.FFTok_integer || tok == fflib.FFTok_double || tok == fflib.FFTok_string || tok == fflib.FFTok_bool || tok == fflib.FFTok_null { switch currentKey { - case ffj_t_Call_ListFiles_Path: - goto handle_Path + case ffj_t_Call_GrowVolume_AgentID: + goto handle_AgentID - case ffj_t_Call_ListFilesno_such_key: + case ffj_t_Call_GrowVolume_Volume: + goto handle_Volume + + case ffj_t_Call_GrowVolume_Addition: + goto handle_Addition + + case ffj_t_Call_GrowVolumeno_such_key: err = fs.SkipField(tok) if err != nil { return fs.WrapErr(err) @@ -2155,27 +2348,70 @@ mainparse: } } -handle_Path: +handle_AgentID: - /* handler: uj.Path type=string kind=string quoted=false*/ + /* handler: uj.AgentID type=mesos.AgentID kind=struct quoted=false*/ { + if tok == fflib.FFTok_null { - { - if tok != fflib.FFTok_string && tok != fflib.FFTok_null { - return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok)) - } + uj.AgentID = nil + + state = fflib.FFParse_after_value + goto mainparse + } + + if uj.AgentID == nil { + uj.AgentID = new(mesos.AgentID) + } + + err = uj.AgentID.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err } + state = fflib.FFParse_after_value + } + + state = fflib.FFParse_after_value + goto mainparse +handle_Volume: + + /* handler: uj.Volume type=mesos.Resource kind=struct quoted=false*/ + + { if tok == fflib.FFTok_null { - } else { + state = fflib.FFParse_after_value + goto mainparse + } - outBuf := fs.Output.Bytes() + err = uj.Volume.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err + } + state = fflib.FFParse_after_value + } - uj.Path = string(string(outBuf)) + state = fflib.FFParse_after_value + goto mainparse + +handle_Addition: + + /* handler: uj.Addition type=mesos.Resource kind=struct quoted=false*/ + + { + if tok == fflib.FFTok_null { + + state = fflib.FFParse_after_value + goto mainparse + } + err = uj.Addition.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err } + state = fflib.FFParse_after_value } state = fflib.FFParse_after_value @@ -2199,7 +2435,7 @@ done: return nil } -func (mj *Call_MarkAgentGone) MarshalJSON() ([]byte, error) { +func (mj *Call_ListFiles) MarshalJSON() ([]byte, error) { var buf fflib.Buffer if mj == nil { buf.WriteString("null") @@ -2211,7 +2447,7 @@ func (mj *Call_MarkAgentGone) MarshalJSON() ([]byte, error) { } return buf.Bytes(), nil } -func (mj *Call_MarkAgentGone) MarshalJSONBuf(buf fflib.EncodingBuffer) error { +func (mj *Call_ListFiles) MarshalJSONBuf(buf fflib.EncodingBuffer) error { if mj == nil { buf.WriteString("null") return nil @@ -2220,37 +2456,29 @@ func (mj *Call_MarkAgentGone) MarshalJSONBuf(buf fflib.EncodingBuffer) error { var obj []byte _ = obj _ = err - buf.WriteString(`{"agent_id":`) - - { - - err = mj.AgentID.MarshalJSONBuf(buf) - if err != nil { - return err - } - - } + buf.WriteString(`{"path":`) + fflib.WriteJsonString(buf, string(mj.Path)) buf.WriteByte('}') return nil } const ( - ffj_t_Call_MarkAgentGonebase = iota - ffj_t_Call_MarkAgentGoneno_such_key + ffj_t_Call_ListFilesbase = iota + ffj_t_Call_ListFilesno_such_key - ffj_t_Call_MarkAgentGone_AgentID + ffj_t_Call_ListFiles_Path ) -var ffj_key_Call_MarkAgentGone_AgentID = []byte("agent_id") +var ffj_key_Call_ListFiles_Path = []byte("path") -func (uj *Call_MarkAgentGone) UnmarshalJSON(input []byte) error { +func (uj *Call_ListFiles) UnmarshalJSON(input []byte) error { fs := fflib.NewFFLexer(input) return uj.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start) } -func (uj *Call_MarkAgentGone) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error { +func (uj *Call_ListFiles) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error { var err error = nil - currentKey := ffj_t_Call_MarkAgentGonebase + currentKey := ffj_t_Call_ListFilesbase _ = currentKey tok := fflib.FFTok_init wantedTok := fflib.FFTok_init @@ -2296,29 +2524,226 @@ mainparse: kn := fs.Output.Bytes() if len(kn) <= 0 { // "" case. hrm. - currentKey = ffj_t_Call_MarkAgentGoneno_such_key + currentKey = ffj_t_Call_ListFilesno_such_key state = fflib.FFParse_want_colon goto mainparse } else { switch kn[0] { - case 'a': + case 'p': - if bytes.Equal(ffj_key_Call_MarkAgentGone_AgentID, kn) { - currentKey = ffj_t_Call_MarkAgentGone_AgentID + if bytes.Equal(ffj_key_Call_ListFiles_Path, kn) { + currentKey = ffj_t_Call_ListFiles_Path state = fflib.FFParse_want_colon goto mainparse } } - if fflib.AsciiEqualFold(ffj_key_Call_MarkAgentGone_AgentID, kn) { - currentKey = ffj_t_Call_MarkAgentGone_AgentID + if fflib.SimpleLetterEqualFold(ffj_key_Call_ListFiles_Path, kn) { + currentKey = ffj_t_Call_ListFiles_Path state = fflib.FFParse_want_colon goto mainparse } - currentKey = ffj_t_Call_MarkAgentGoneno_such_key + currentKey = ffj_t_Call_ListFilesno_such_key + state = fflib.FFParse_want_colon + goto mainparse + } + + case fflib.FFParse_want_colon: + if tok != fflib.FFTok_colon { + wantedTok = fflib.FFTok_colon + goto wrongtokenerror + } + state = fflib.FFParse_want_value + continue + case fflib.FFParse_want_value: + + if tok == fflib.FFTok_left_brace || tok == fflib.FFTok_left_bracket || tok == fflib.FFTok_integer || tok == fflib.FFTok_double || tok == fflib.FFTok_string || tok == fflib.FFTok_bool || tok == fflib.FFTok_null { + switch currentKey { + + case ffj_t_Call_ListFiles_Path: + goto handle_Path + + case ffj_t_Call_ListFilesno_such_key: + err = fs.SkipField(tok) + if err != nil { + return fs.WrapErr(err) + } + state = fflib.FFParse_after_value + goto mainparse + } + } else { + goto wantedvalue + } + } + } + +handle_Path: + + /* handler: uj.Path type=string kind=string quoted=false*/ + + { + + { + if tok != fflib.FFTok_string && tok != fflib.FFTok_null { + return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for string", tok)) + } + } + + if tok == fflib.FFTok_null { + + } else { + + outBuf := fs.Output.Bytes() + + uj.Path = string(string(outBuf)) + + } + } + + state = fflib.FFParse_after_value + goto mainparse + +wantedvalue: + return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) +wrongtokenerror: + return fs.WrapErr(fmt.Errorf("ffjson: wanted token: %v, but got token: %v output=%s", wantedTok, tok, fs.Output.String())) +tokerror: + if fs.BigError != nil { + return fs.WrapErr(fs.BigError) + } + err = fs.Error.ToError() + if err != nil { + return fs.WrapErr(err) + } + panic("ffjson-generated: unreachable, please report bug.") +done: + + return nil +} + +func (mj *Call_MarkAgentGone) MarshalJSON() ([]byte, error) { + var buf fflib.Buffer + if mj == nil { + buf.WriteString("null") + return buf.Bytes(), nil + } + err := mj.MarshalJSONBuf(&buf) + if err != nil { + return nil, err + } + return buf.Bytes(), nil +} +func (mj *Call_MarkAgentGone) MarshalJSONBuf(buf fflib.EncodingBuffer) error { + if mj == nil { + buf.WriteString("null") + return nil + } + var err error + var obj []byte + _ = obj + _ = err + buf.WriteString(`{"agent_id":`) + + { + + err = mj.AgentID.MarshalJSONBuf(buf) + if err != nil { + return err + } + + } + buf.WriteByte('}') + return nil +} + +const ( + ffj_t_Call_MarkAgentGonebase = iota + ffj_t_Call_MarkAgentGoneno_such_key + + ffj_t_Call_MarkAgentGone_AgentID +) + +var ffj_key_Call_MarkAgentGone_AgentID = []byte("agent_id") + +func (uj *Call_MarkAgentGone) UnmarshalJSON(input []byte) error { + fs := fflib.NewFFLexer(input) + return uj.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start) +} + +func (uj *Call_MarkAgentGone) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error { + var err error = nil + currentKey := ffj_t_Call_MarkAgentGonebase + _ = currentKey + tok := fflib.FFTok_init + wantedTok := fflib.FFTok_init + +mainparse: + for { + tok = fs.Scan() + // println(fmt.Sprintf("debug: tok: %v state: %v", tok, state)) + if tok == fflib.FFTok_error { + goto tokerror + } + + switch state { + + case fflib.FFParse_map_start: + if tok != fflib.FFTok_left_bracket { + wantedTok = fflib.FFTok_left_bracket + goto wrongtokenerror + } + state = fflib.FFParse_want_key + continue + + case fflib.FFParse_after_value: + if tok == fflib.FFTok_comma { + state = fflib.FFParse_want_key + } else if tok == fflib.FFTok_right_bracket { + goto done + } else { + wantedTok = fflib.FFTok_comma + goto wrongtokenerror + } + + case fflib.FFParse_want_key: + // json {} ended. goto exit. woo. + if tok == fflib.FFTok_right_bracket { + goto done + } + if tok != fflib.FFTok_string { + wantedTok = fflib.FFTok_string + goto wrongtokenerror + } + + kn := fs.Output.Bytes() + if len(kn) <= 0 { + // "" case. hrm. + currentKey = ffj_t_Call_MarkAgentGoneno_such_key + state = fflib.FFParse_want_colon + goto mainparse + } else { + switch kn[0] { + + case 'a': + + if bytes.Equal(ffj_key_Call_MarkAgentGone_AgentID, kn) { + currentKey = ffj_t_Call_MarkAgentGone_AgentID + state = fflib.FFParse_want_colon + goto mainparse + } + + } + + if fflib.AsciiEqualFold(ffj_key_Call_MarkAgentGone_AgentID, kn) { + currentKey = ffj_t_Call_MarkAgentGone_AgentID + state = fflib.FFParse_want_colon + goto mainparse + } + + currentKey = ffj_t_Call_MarkAgentGoneno_such_key state = fflib.FFParse_want_colon goto mainparse } @@ -3458,7 +3883,225 @@ func (mj *Call_SetQuota) MarshalJSONBuf(buf fflib.EncodingBuffer) error { { - err = mj.QuotaRequest.MarshalJSONBuf(buf) + err = mj.QuotaRequest.MarshalJSONBuf(buf) + if err != nil { + return err + } + + } + buf.WriteByte('}') + return nil +} + +const ( + ffj_t_Call_SetQuotabase = iota + ffj_t_Call_SetQuotano_such_key + + ffj_t_Call_SetQuota_QuotaRequest +) + +var ffj_key_Call_SetQuota_QuotaRequest = []byte("quota_request") + +func (uj *Call_SetQuota) UnmarshalJSON(input []byte) error { + fs := fflib.NewFFLexer(input) + return uj.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start) +} + +func (uj *Call_SetQuota) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error { + var err error = nil + currentKey := ffj_t_Call_SetQuotabase + _ = currentKey + tok := fflib.FFTok_init + wantedTok := fflib.FFTok_init + +mainparse: + for { + tok = fs.Scan() + // println(fmt.Sprintf("debug: tok: %v state: %v", tok, state)) + if tok == fflib.FFTok_error { + goto tokerror + } + + switch state { + + case fflib.FFParse_map_start: + if tok != fflib.FFTok_left_bracket { + wantedTok = fflib.FFTok_left_bracket + goto wrongtokenerror + } + state = fflib.FFParse_want_key + continue + + case fflib.FFParse_after_value: + if tok == fflib.FFTok_comma { + state = fflib.FFParse_want_key + } else if tok == fflib.FFTok_right_bracket { + goto done + } else { + wantedTok = fflib.FFTok_comma + goto wrongtokenerror + } + + case fflib.FFParse_want_key: + // json {} ended. goto exit. woo. + if tok == fflib.FFTok_right_bracket { + goto done + } + if tok != fflib.FFTok_string { + wantedTok = fflib.FFTok_string + goto wrongtokenerror + } + + kn := fs.Output.Bytes() + if len(kn) <= 0 { + // "" case. hrm. + currentKey = ffj_t_Call_SetQuotano_such_key + state = fflib.FFParse_want_colon + goto mainparse + } else { + switch kn[0] { + + case 'q': + + if bytes.Equal(ffj_key_Call_SetQuota_QuotaRequest, kn) { + currentKey = ffj_t_Call_SetQuota_QuotaRequest + state = fflib.FFParse_want_colon + goto mainparse + } + + } + + if fflib.EqualFoldRight(ffj_key_Call_SetQuota_QuotaRequest, kn) { + currentKey = ffj_t_Call_SetQuota_QuotaRequest + state = fflib.FFParse_want_colon + goto mainparse + } + + currentKey = ffj_t_Call_SetQuotano_such_key + state = fflib.FFParse_want_colon + goto mainparse + } + + case fflib.FFParse_want_colon: + if tok != fflib.FFTok_colon { + wantedTok = fflib.FFTok_colon + goto wrongtokenerror + } + state = fflib.FFParse_want_value + continue + case fflib.FFParse_want_value: + + if tok == fflib.FFTok_left_brace || tok == fflib.FFTok_left_bracket || tok == fflib.FFTok_integer || tok == fflib.FFTok_double || tok == fflib.FFTok_string || tok == fflib.FFTok_bool || tok == fflib.FFTok_null { + switch currentKey { + + case ffj_t_Call_SetQuota_QuotaRequest: + goto handle_QuotaRequest + + case ffj_t_Call_SetQuotano_such_key: + err = fs.SkipField(tok) + if err != nil { + return fs.WrapErr(err) + } + state = fflib.FFParse_after_value + goto mainparse + } + } else { + goto wantedvalue + } + } + } + +handle_QuotaRequest: + + /* handler: uj.QuotaRequest type=quota.QuotaRequest kind=struct quoted=false*/ + + { + if tok == fflib.FFTok_null { + + state = fflib.FFParse_after_value + goto mainparse + } + + err = uj.QuotaRequest.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err + } + state = fflib.FFParse_after_value + } + + state = fflib.FFParse_after_value + goto mainparse + +wantedvalue: + return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) +wrongtokenerror: + return fs.WrapErr(fmt.Errorf("ffjson: wanted token: %v, but got token: %v output=%s", wantedTok, tok, fs.Output.String())) +tokerror: + if fs.BigError != nil { + return fs.WrapErr(fs.BigError) + } + err = fs.Error.ToError() + if err != nil { + return fs.WrapErr(err) + } + panic("ffjson-generated: unreachable, please report bug.") +done: + + return nil +} + +func (mj *Call_ShrinkVolume) MarshalJSON() ([]byte, error) { + var buf fflib.Buffer + if mj == nil { + buf.WriteString("null") + return buf.Bytes(), nil + } + err := mj.MarshalJSONBuf(&buf) + if err != nil { + return nil, err + } + return buf.Bytes(), nil +} +func (mj *Call_ShrinkVolume) MarshalJSONBuf(buf fflib.EncodingBuffer) error { + if mj == nil { + buf.WriteString("null") + return nil + } + var err error + var obj []byte + _ = obj + _ = err + buf.WriteByte('{') + if mj.AgentID != nil { + if true { + buf.WriteString(`"agent_id":`) + + { + + err = mj.AgentID.MarshalJSONBuf(buf) + if err != nil { + return err + } + + } + buf.WriteByte(',') + } + } + buf.WriteString(`"volume":`) + + { + + err = mj.Volume.MarshalJSONBuf(buf) + if err != nil { + return err + } + + } + buf.WriteString(`,"subtract":`) + + { + + err = mj.Subtract.MarshalJSONBuf(buf) if err != nil { return err } @@ -3469,22 +4112,30 @@ func (mj *Call_SetQuota) MarshalJSONBuf(buf fflib.EncodingBuffer) error { } const ( - ffj_t_Call_SetQuotabase = iota - ffj_t_Call_SetQuotano_such_key + ffj_t_Call_ShrinkVolumebase = iota + ffj_t_Call_ShrinkVolumeno_such_key - ffj_t_Call_SetQuota_QuotaRequest + ffj_t_Call_ShrinkVolume_AgentID + + ffj_t_Call_ShrinkVolume_Volume + + ffj_t_Call_ShrinkVolume_Subtract ) -var ffj_key_Call_SetQuota_QuotaRequest = []byte("quota_request") +var ffj_key_Call_ShrinkVolume_AgentID = []byte("agent_id") -func (uj *Call_SetQuota) UnmarshalJSON(input []byte) error { +var ffj_key_Call_ShrinkVolume_Volume = []byte("volume") + +var ffj_key_Call_ShrinkVolume_Subtract = []byte("subtract") + +func (uj *Call_ShrinkVolume) UnmarshalJSON(input []byte) error { fs := fflib.NewFFLexer(input) return uj.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start) } -func (uj *Call_SetQuota) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error { +func (uj *Call_ShrinkVolume) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error { var err error = nil - currentKey := ffj_t_Call_SetQuotabase + currentKey := ffj_t_Call_ShrinkVolumebase _ = currentKey tok := fflib.FFTok_init wantedTok := fflib.FFTok_init @@ -3530,29 +4181,57 @@ mainparse: kn := fs.Output.Bytes() if len(kn) <= 0 { // "" case. hrm. - currentKey = ffj_t_Call_SetQuotano_such_key + currentKey = ffj_t_Call_ShrinkVolumeno_such_key state = fflib.FFParse_want_colon goto mainparse } else { switch kn[0] { - case 'q': + case 'a': - if bytes.Equal(ffj_key_Call_SetQuota_QuotaRequest, kn) { - currentKey = ffj_t_Call_SetQuota_QuotaRequest + if bytes.Equal(ffj_key_Call_ShrinkVolume_AgentID, kn) { + currentKey = ffj_t_Call_ShrinkVolume_AgentID + state = fflib.FFParse_want_colon + goto mainparse + } + + case 's': + + if bytes.Equal(ffj_key_Call_ShrinkVolume_Subtract, kn) { + currentKey = ffj_t_Call_ShrinkVolume_Subtract + state = fflib.FFParse_want_colon + goto mainparse + } + + case 'v': + + if bytes.Equal(ffj_key_Call_ShrinkVolume_Volume, kn) { + currentKey = ffj_t_Call_ShrinkVolume_Volume state = fflib.FFParse_want_colon goto mainparse } } - if fflib.EqualFoldRight(ffj_key_Call_SetQuota_QuotaRequest, kn) { - currentKey = ffj_t_Call_SetQuota_QuotaRequest + if fflib.EqualFoldRight(ffj_key_Call_ShrinkVolume_Subtract, kn) { + currentKey = ffj_t_Call_ShrinkVolume_Subtract state = fflib.FFParse_want_colon goto mainparse } - currentKey = ffj_t_Call_SetQuotano_such_key + if fflib.SimpleLetterEqualFold(ffj_key_Call_ShrinkVolume_Volume, kn) { + currentKey = ffj_t_Call_ShrinkVolume_Volume + state = fflib.FFParse_want_colon + goto mainparse + } + + if fflib.AsciiEqualFold(ffj_key_Call_ShrinkVolume_AgentID, kn) { + currentKey = ffj_t_Call_ShrinkVolume_AgentID + state = fflib.FFParse_want_colon + goto mainparse + } + + currentKey = ffj_t_Call_ShrinkVolumeno_such_key state = fflib.FFParse_want_colon goto mainparse } @@ -3569,10 +4248,16 @@ mainparse: if tok == fflib.FFTok_left_brace || tok == fflib.FFTok_left_bracket || tok == fflib.FFTok_integer || tok == fflib.FFTok_double || tok == fflib.FFTok_string || tok == fflib.FFTok_bool || tok == fflib.FFTok_null { switch currentKey { - case ffj_t_Call_SetQuota_QuotaRequest: - goto handle_QuotaRequest + case ffj_t_Call_ShrinkVolume_AgentID: + goto handle_AgentID - case ffj_t_Call_SetQuotano_such_key: + case ffj_t_Call_ShrinkVolume_Volume: + goto handle_Volume + + case ffj_t_Call_ShrinkVolume_Subtract: + goto handle_Subtract + + case ffj_t_Call_ShrinkVolumeno_such_key: err = fs.SkipField(tok) if err != nil { return fs.WrapErr(err) @@ -3586,18 +4271,66 @@ mainparse: } } -handle_QuotaRequest: +handle_AgentID: - /* handler: uj.QuotaRequest type=quota.QuotaRequest kind=struct quoted=false*/ + /* handler: uj.AgentID type=mesos.AgentID kind=struct quoted=false*/ { if tok == fflib.FFTok_null { + uj.AgentID = nil + state = fflib.FFParse_after_value goto mainparse } - err = uj.QuotaRequest.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if uj.AgentID == nil { + uj.AgentID = new(mesos.AgentID) + } + + err = uj.AgentID.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err + } + state = fflib.FFParse_after_value + } + + state = fflib.FFParse_after_value + goto mainparse + +handle_Volume: + + /* handler: uj.Volume type=mesos.Resource kind=struct quoted=false*/ + + { + if tok == fflib.FFTok_null { + + state = fflib.FFParse_after_value + goto mainparse + } + + err = uj.Volume.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err + } + state = fflib.FFParse_after_value + } + + state = fflib.FFParse_after_value + goto mainparse + +handle_Subtract: + + /* handler: uj.Subtract type=mesos.Value_Scalar kind=struct quoted=false*/ + + { + if tok == fflib.FFTok_null { + + state = fflib.FFParse_after_value + goto mainparse + } + + err = uj.Subtract.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) if err != nil { return err } @@ -7682,6 +8415,21 @@ func (mj *Response) MarshalJSONBuf(buf fflib.EncodingBuffer) error { buf.WriteByte(',') } } + if mj.GetOperations != nil { + if true { + buf.WriteString(`"get_operations":`) + + { + + err = mj.GetOperations.MarshalJSONBuf(buf) + if err != nil { + return err + } + + } + buf.WriteByte(',') + } + } if mj.GetTasks != nil { if true { buf.WriteString(`"get_tasks":`) @@ -7820,6 +8568,8 @@ const ( ffj_t_Response_GetExecutors + ffj_t_Response_GetOperations + ffj_t_Response_GetTasks ffj_t_Response_GetRoles @@ -7859,6 +8609,8 @@ var ffj_key_Response_GetFrameworks = []byte("get_frameworks") var ffj_key_Response_GetExecutors = []byte("get_executors") +var ffj_key_Response_GetOperations = []byte("get_operations") + var ffj_key_Response_GetTasks = []byte("get_tasks") var ffj_key_Response_GetRoles = []byte("get_roles") @@ -7979,6 +8731,11 @@ mainparse: state = fflib.FFParse_want_colon goto mainparse + } else if bytes.Equal(ffj_key_Response_GetOperations, kn) { + currentKey = ffj_t_Response_GetOperations + state = fflib.FFParse_want_colon + goto mainparse + } else if bytes.Equal(ffj_key_Response_GetTasks, kn) { currentKey = ffj_t_Response_GetTasks state = fflib.FFParse_want_colon @@ -8083,6 +8840,12 @@ mainparse: goto mainparse } + if fflib.EqualFoldRight(ffj_key_Response_GetOperations, kn) { + currentKey = ffj_t_Response_GetOperations + state = fflib.FFParse_want_colon + goto mainparse + } + if fflib.EqualFoldRight(ffj_key_Response_GetExecutors, kn) { currentKey = ffj_t_Response_GetExecutors state = fflib.FFParse_want_colon @@ -8208,6 +8971,9 @@ mainparse: case ffj_t_Response_GetExecutors: goto handle_GetExecutors + case ffj_t_Response_GetOperations: + goto handle_GetOperations + case ffj_t_Response_GetTasks: goto handle_GetTasks @@ -8566,6 +9332,33 @@ handle_GetExecutors: state = fflib.FFParse_after_value goto mainparse +handle_GetOperations: + + /* handler: uj.GetOperations type=master.Response_GetOperations kind=struct quoted=false*/ + + { + if tok == fflib.FFTok_null { + + uj.GetOperations = nil + + state = fflib.FFParse_after_value + goto mainparse + } + + if uj.GetOperations == nil { + uj.GetOperations = new(Response_GetOperations) + } + + err = uj.GetOperations.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err + } + state = fflib.FFParse_after_value + } + + state = fflib.FFParse_after_value + goto mainparse + handle_GetTasks: /* handler: uj.GetTasks type=master.Response_GetTasks kind=struct quoted=false*/ @@ -10196,6 +10989,27 @@ func (mj *Response_GetAgents_Agent_ResourceProvider) MarshalJSONBuf(buf fflib.En } } + buf.WriteString(`,"total_resources":`) + if mj.TotalResources != nil { + buf.WriteString(`[`) + for i, v := range mj.TotalResources { + if i != 0 { + buf.WriteString(`,`) + } + + { + + err = v.MarshalJSONBuf(buf) + if err != nil { + return err + } + + } + } + buf.WriteString(`]`) + } else { + buf.WriteString(`null`) + } buf.WriteByte('}') return nil } @@ -10205,10 +11019,14 @@ const ( ffj_t_Response_GetAgents_Agent_ResourceProviderno_such_key ffj_t_Response_GetAgents_Agent_ResourceProvider_ResourceProviderInfo + + ffj_t_Response_GetAgents_Agent_ResourceProvider_TotalResources ) var ffj_key_Response_GetAgents_Agent_ResourceProvider_ResourceProviderInfo = []byte("resource_provider_info") +var ffj_key_Response_GetAgents_Agent_ResourceProvider_TotalResources = []byte("total_resources") + func (uj *Response_GetAgents_Agent_ResourceProvider) UnmarshalJSON(input []byte) error { fs := fflib.NewFFLexer(input) return uj.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start) @@ -10276,6 +11094,20 @@ mainparse: goto mainparse } + case 't': + + if bytes.Equal(ffj_key_Response_GetAgents_Agent_ResourceProvider_TotalResources, kn) { + currentKey = ffj_t_Response_GetAgents_Agent_ResourceProvider_TotalResources + state = fflib.FFParse_want_colon + goto mainparse + } + + } + + if fflib.EqualFoldRight(ffj_key_Response_GetAgents_Agent_ResourceProvider_TotalResources, kn) { + currentKey = ffj_t_Response_GetAgents_Agent_ResourceProvider_TotalResources + state = fflib.FFParse_want_colon + goto mainparse } if fflib.EqualFoldRight(ffj_key_Response_GetAgents_Agent_ResourceProvider_ResourceProviderInfo, kn) { @@ -10301,39 +11133,111 @@ mainparse: if tok == fflib.FFTok_left_brace || tok == fflib.FFTok_left_bracket || tok == fflib.FFTok_integer || tok == fflib.FFTok_double || tok == fflib.FFTok_string || tok == fflib.FFTok_bool || tok == fflib.FFTok_null { switch currentKey { - case ffj_t_Response_GetAgents_Agent_ResourceProvider_ResourceProviderInfo: - goto handle_ResourceProviderInfo + case ffj_t_Response_GetAgents_Agent_ResourceProvider_ResourceProviderInfo: + goto handle_ResourceProviderInfo + + case ffj_t_Response_GetAgents_Agent_ResourceProvider_TotalResources: + goto handle_TotalResources + + case ffj_t_Response_GetAgents_Agent_ResourceProviderno_such_key: + err = fs.SkipField(tok) + if err != nil { + return fs.WrapErr(err) + } + state = fflib.FFParse_after_value + goto mainparse + } + } else { + goto wantedvalue + } + } + } + +handle_ResourceProviderInfo: + + /* handler: uj.ResourceProviderInfo type=mesos.ResourceProviderInfo kind=struct quoted=false*/ + + { + if tok == fflib.FFTok_null { + + state = fflib.FFParse_after_value + goto mainparse + } + + err = uj.ResourceProviderInfo.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err + } + state = fflib.FFParse_after_value + } + + state = fflib.FFParse_after_value + goto mainparse + +handle_TotalResources: + + /* handler: uj.TotalResources type=[]mesos.Resource kind=slice quoted=false*/ + + { + + { + if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null { + return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok)) + } + } + + if tok == fflib.FFTok_null { + uj.TotalResources = nil + } else { + + uj.TotalResources = []mesos.Resource{} + + wantVal := true + + for { + + var tmp_uj__TotalResources mesos.Resource + + tok = fs.Scan() + if tok == fflib.FFTok_error { + goto tokerror + } + if tok == fflib.FFTok_right_brace { + break + } + + if tok == fflib.FFTok_comma { + if wantVal == true { + // TODO(pquerna): this isn't an ideal error message, this handles + // things like [,,,] as an array value. + return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) + } + continue + } else { + wantVal = true + } + + /* handler: tmp_uj__TotalResources type=mesos.Resource kind=struct quoted=false*/ + + { + if tok == fflib.FFTok_null { + + state = fflib.FFParse_after_value + goto mainparse + } - case ffj_t_Response_GetAgents_Agent_ResourceProviderno_such_key: - err = fs.SkipField(tok) + err = tmp_uj__TotalResources.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) if err != nil { - return fs.WrapErr(err) + return err } state = fflib.FFParse_after_value - goto mainparse } - } else { - goto wantedvalue - } - } - } - -handle_ResourceProviderInfo: - - /* handler: uj.ResourceProviderInfo type=mesos.ResourceProviderInfo kind=struct quoted=false*/ - - { - if tok == fflib.FFTok_null { - state = fflib.FFParse_after_value - goto mainparse - } + uj.TotalResources = append(uj.TotalResources, tmp_uj__TotalResources) - err = uj.ResourceProviderInfo.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) - if err != nil { - return err + wantVal = false + } } - state = fflib.FFParse_after_value } state = fflib.FFParse_after_value @@ -14040,6 +14944,257 @@ done: return nil } +func (mj *Response_GetOperations) MarshalJSON() ([]byte, error) { + var buf fflib.Buffer + if mj == nil { + buf.WriteString("null") + return buf.Bytes(), nil + } + err := mj.MarshalJSONBuf(&buf) + if err != nil { + return nil, err + } + return buf.Bytes(), nil +} +func (mj *Response_GetOperations) MarshalJSONBuf(buf fflib.EncodingBuffer) error { + if mj == nil { + buf.WriteString("null") + return nil + } + var err error + var obj []byte + _ = obj + _ = err + buf.WriteString(`{"operations":`) + if mj.Operations != nil { + buf.WriteString(`[`) + for i, v := range mj.Operations { + if i != 0 { + buf.WriteString(`,`) + } + + { + + err = v.MarshalJSONBuf(buf) + if err != nil { + return err + } + + } + } + buf.WriteString(`]`) + } else { + buf.WriteString(`null`) + } + buf.WriteByte('}') + return nil +} + +const ( + ffj_t_Response_GetOperationsbase = iota + ffj_t_Response_GetOperationsno_such_key + + ffj_t_Response_GetOperations_Operations +) + +var ffj_key_Response_GetOperations_Operations = []byte("operations") + +func (uj *Response_GetOperations) UnmarshalJSON(input []byte) error { + fs := fflib.NewFFLexer(input) + return uj.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start) +} + +func (uj *Response_GetOperations) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error { + var err error = nil + currentKey := ffj_t_Response_GetOperationsbase + _ = currentKey + tok := fflib.FFTok_init + wantedTok := fflib.FFTok_init + +mainparse: + for { + tok = fs.Scan() + // println(fmt.Sprintf("debug: tok: %v state: %v", tok, state)) + if tok == fflib.FFTok_error { + goto tokerror + } + + switch state { + + case fflib.FFParse_map_start: + if tok != fflib.FFTok_left_bracket { + wantedTok = fflib.FFTok_left_bracket + goto wrongtokenerror + } + state = fflib.FFParse_want_key + continue + + case fflib.FFParse_after_value: + if tok == fflib.FFTok_comma { + state = fflib.FFParse_want_key + } else if tok == fflib.FFTok_right_bracket { + goto done + } else { + wantedTok = fflib.FFTok_comma + goto wrongtokenerror + } + + case fflib.FFParse_want_key: + // json {} ended. goto exit. woo. + if tok == fflib.FFTok_right_bracket { + goto done + } + if tok != fflib.FFTok_string { + wantedTok = fflib.FFTok_string + goto wrongtokenerror + } + + kn := fs.Output.Bytes() + if len(kn) <= 0 { + // "" case. hrm. + currentKey = ffj_t_Response_GetOperationsno_such_key + state = fflib.FFParse_want_colon + goto mainparse + } else { + switch kn[0] { + + case 'o': + + if bytes.Equal(ffj_key_Response_GetOperations_Operations, kn) { + currentKey = ffj_t_Response_GetOperations_Operations + state = fflib.FFParse_want_colon + goto mainparse + } + + } + + if fflib.EqualFoldRight(ffj_key_Response_GetOperations_Operations, kn) { + currentKey = ffj_t_Response_GetOperations_Operations + state = fflib.FFParse_want_colon + goto mainparse + } + + currentKey = ffj_t_Response_GetOperationsno_such_key + state = fflib.FFParse_want_colon + goto mainparse + } + + case fflib.FFParse_want_colon: + if tok != fflib.FFTok_colon { + wantedTok = fflib.FFTok_colon + goto wrongtokenerror + } + state = fflib.FFParse_want_value + continue + case fflib.FFParse_want_value: + + if tok == fflib.FFTok_left_brace || tok == fflib.FFTok_left_bracket || tok == fflib.FFTok_integer || tok == fflib.FFTok_double || tok == fflib.FFTok_string || tok == fflib.FFTok_bool || tok == fflib.FFTok_null { + switch currentKey { + + case ffj_t_Response_GetOperations_Operations: + goto handle_Operations + + case ffj_t_Response_GetOperationsno_such_key: + err = fs.SkipField(tok) + if err != nil { + return fs.WrapErr(err) + } + state = fflib.FFParse_after_value + goto mainparse + } + } else { + goto wantedvalue + } + } + } + +handle_Operations: + + /* handler: uj.Operations type=[]mesos.Operation kind=slice quoted=false*/ + + { + + { + if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null { + return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok)) + } + } + + if tok == fflib.FFTok_null { + uj.Operations = nil + } else { + + uj.Operations = []mesos.Operation{} + + wantVal := true + + for { + + var tmp_uj__Operations mesos.Operation + + tok = fs.Scan() + if tok == fflib.FFTok_error { + goto tokerror + } + if tok == fflib.FFTok_right_brace { + break + } + + if tok == fflib.FFTok_comma { + if wantVal == true { + // TODO(pquerna): this isn't an ideal error message, this handles + // things like [,,,] as an array value. + return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) + } + continue + } else { + wantVal = true + } + + /* handler: tmp_uj__Operations type=mesos.Operation kind=struct quoted=false*/ + + { + if tok == fflib.FFTok_null { + + state = fflib.FFParse_after_value + goto mainparse + } + + err = tmp_uj__Operations.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err + } + state = fflib.FFParse_after_value + } + + uj.Operations = append(uj.Operations, tmp_uj__Operations) + + wantVal = false + } + } + } + + state = fflib.FFParse_after_value + goto mainparse + +wantedvalue: + return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) +wrongtokenerror: + return fs.WrapErr(fmt.Errorf("ffjson: wanted token: %v, but got token: %v output=%s", wantedTok, tok, fs.Output.String())) +tokerror: + if fs.BigError != nil { + return fs.WrapErr(fs.BigError) + } + err = fs.Error.ToError() + if err != nil { + return fs.WrapErr(err) + } + panic("ffjson-generated: unreachable, please report bug.") +done: + + return nil +} + func (mj *Response_GetQuota) MarshalJSON() ([]byte, error) { var buf fflib.Buffer if mj == nil { diff --git a/api/v1/lib/mesos.pb_ffjson.go b/api/v1/lib/mesos.pb_ffjson.go index ae5cc2bf..6b8a4606 100644 --- a/api/v1/lib/mesos.pb_ffjson.go +++ b/api/v1/lib/mesos.pb_ffjson.go @@ -31249,6 +31249,36 @@ func (mj *Offer_Operation) MarshalJSONBuf(buf fflib.EncodingBuffer) error { buf.WriteByte(',') } } + if mj.GrowVolume != nil { + if true { + buf.WriteString(`"grow_volume":`) + + { + + err = mj.GrowVolume.MarshalJSONBuf(buf) + if err != nil { + return err + } + + } + buf.WriteByte(',') + } + } + if mj.ShrinkVolume != nil { + if true { + buf.WriteString(`"shrink_volume":`) + + { + + err = mj.ShrinkVolume.MarshalJSONBuf(buf) + if err != nil { + return err + } + + } + buf.WriteByte(',') + } + } if mj.CreateVolume != nil { if true { buf.WriteString(`"create_volume":`) @@ -31334,6 +31364,10 @@ const ( ffj_t_Offer_Operation_Destroy + ffj_t_Offer_Operation_GrowVolume + + ffj_t_Offer_Operation_ShrinkVolume + ffj_t_Offer_Operation_CreateVolume ffj_t_Offer_Operation_DestroyVolume @@ -31359,6 +31393,10 @@ var ffj_key_Offer_Operation_Create = []byte("create") var ffj_key_Offer_Operation_Destroy = []byte("destroy") +var ffj_key_Offer_Operation_GrowVolume = []byte("grow_volume") + +var ffj_key_Offer_Operation_ShrinkVolume = []byte("shrink_volume") + var ffj_key_Offer_Operation_CreateVolume = []byte("create_volume") var ffj_key_Offer_Operation_DestroyVolume = []byte("destroy_volume") @@ -31462,6 +31500,14 @@ mainparse: goto mainparse } + case 'g': + + if bytes.Equal(ffj_key_Offer_Operation_GrowVolume, kn) { + currentKey = ffj_t_Offer_Operation_GrowVolume + state = fflib.FFParse_want_colon + goto mainparse + } + case 'i': if bytes.Equal(ffj_key_Offer_Operation_ID, kn) { @@ -31491,6 +31537,14 @@ mainparse: goto mainparse } + case 's': + + if bytes.Equal(ffj_key_Offer_Operation_ShrinkVolume, kn) { + currentKey = ffj_t_Offer_Operation_ShrinkVolume + state = fflib.FFParse_want_colon + goto mainparse + } + case 't': if bytes.Equal(ffj_key_Offer_Operation_Type, kn) { @@ -31533,6 +31587,18 @@ mainparse: goto mainparse } + if fflib.EqualFoldRight(ffj_key_Offer_Operation_ShrinkVolume, kn) { + currentKey = ffj_t_Offer_Operation_ShrinkVolume + state = fflib.FFParse_want_colon + goto mainparse + } + + if fflib.AsciiEqualFold(ffj_key_Offer_Operation_GrowVolume, kn) { + currentKey = ffj_t_Offer_Operation_GrowVolume + state = fflib.FFParse_want_colon + goto mainparse + } + if fflib.EqualFoldRight(ffj_key_Offer_Operation_Destroy, kn) { currentKey = ffj_t_Offer_Operation_Destroy state = fflib.FFParse_want_colon @@ -31622,6 +31688,12 @@ mainparse: case ffj_t_Offer_Operation_Destroy: goto handle_Destroy + case ffj_t_Offer_Operation_GrowVolume: + goto handle_GrowVolume + + case ffj_t_Offer_Operation_ShrinkVolume: + goto handle_ShrinkVolume + case ffj_t_Offer_Operation_CreateVolume: goto handle_CreateVolume @@ -31863,6 +31935,60 @@ handle_Destroy: state = fflib.FFParse_after_value goto mainparse +handle_GrowVolume: + + /* handler: uj.GrowVolume type=mesos.Offer_Operation_GrowVolume kind=struct quoted=false*/ + + { + if tok == fflib.FFTok_null { + + uj.GrowVolume = nil + + state = fflib.FFParse_after_value + goto mainparse + } + + if uj.GrowVolume == nil { + uj.GrowVolume = new(Offer_Operation_GrowVolume) + } + + err = uj.GrowVolume.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err + } + state = fflib.FFParse_after_value + } + + state = fflib.FFParse_after_value + goto mainparse + +handle_ShrinkVolume: + + /* handler: uj.ShrinkVolume type=mesos.Offer_Operation_ShrinkVolume kind=struct quoted=false*/ + + { + if tok == fflib.FFTok_null { + + uj.ShrinkVolume = nil + + state = fflib.FFParse_after_value + goto mainparse + } + + if uj.ShrinkVolume == nil { + uj.ShrinkVolume = new(Offer_Operation_ShrinkVolume) + } + + err = uj.ShrinkVolume.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err + } + state = fflib.FFParse_after_value + } + + state = fflib.FFParse_after_value + goto mainparse + handle_CreateVolume: /* handler: uj.CreateVolume type=mesos.Offer_Operation_CreateVolume kind=struct quoted=false*/ @@ -33317,7 +33443,7 @@ done: return nil } -func (mj *Offer_Operation_Launch) MarshalJSON() ([]byte, error) { +func (mj *Offer_Operation_GrowVolume) MarshalJSON() ([]byte, error) { var buf fflib.Buffer if mj == nil { buf.WriteString("null") @@ -33329,7 +33455,7 @@ func (mj *Offer_Operation_Launch) MarshalJSON() ([]byte, error) { } return buf.Bytes(), nil } -func (mj *Offer_Operation_Launch) MarshalJSONBuf(buf fflib.EncodingBuffer) error { +func (mj *Offer_Operation_GrowVolume) MarshalJSONBuf(buf fflib.EncodingBuffer) error { if mj == nil { buf.WriteString("null") return nil @@ -33338,48 +33464,51 @@ func (mj *Offer_Operation_Launch) MarshalJSONBuf(buf fflib.EncodingBuffer) error var obj []byte _ = obj _ = err - buf.WriteString(`{"task_infos":`) - if mj.TaskInfos != nil { - buf.WriteString(`[`) - for i, v := range mj.TaskInfos { - if i != 0 { - buf.WriteString(`,`) - } + buf.WriteString(`{"volume":`) - { + { - err = v.MarshalJSONBuf(buf) - if err != nil { - return err - } + err = mj.Volume.MarshalJSONBuf(buf) + if err != nil { + return err + } - } + } + buf.WriteString(`,"addition":`) + + { + + err = mj.Addition.MarshalJSONBuf(buf) + if err != nil { + return err } - buf.WriteString(`]`) - } else { - buf.WriteString(`null`) + } buf.WriteByte('}') return nil } const ( - ffj_t_Offer_Operation_Launchbase = iota - ffj_t_Offer_Operation_Launchno_such_key + ffj_t_Offer_Operation_GrowVolumebase = iota + ffj_t_Offer_Operation_GrowVolumeno_such_key - ffj_t_Offer_Operation_Launch_TaskInfos + ffj_t_Offer_Operation_GrowVolume_Volume + + ffj_t_Offer_Operation_GrowVolume_Addition ) -var ffj_key_Offer_Operation_Launch_TaskInfos = []byte("task_infos") +var ffj_key_Offer_Operation_GrowVolume_Volume = []byte("volume") -func (uj *Offer_Operation_Launch) UnmarshalJSON(input []byte) error { +var ffj_key_Offer_Operation_GrowVolume_Addition = []byte("addition") + +func (uj *Offer_Operation_GrowVolume) UnmarshalJSON(input []byte) error { fs := fflib.NewFFLexer(input) return uj.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start) } -func (uj *Offer_Operation_Launch) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error { +func (uj *Offer_Operation_GrowVolume) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error { var err error = nil - currentKey := ffj_t_Offer_Operation_Launchbase + currentKey := ffj_t_Offer_Operation_GrowVolumebase _ = currentKey tok := fflib.FFTok_init wantedTok := fflib.FFTok_init @@ -33425,29 +33554,43 @@ mainparse: kn := fs.Output.Bytes() if len(kn) <= 0 { // "" case. hrm. - currentKey = ffj_t_Offer_Operation_Launchno_such_key + currentKey = ffj_t_Offer_Operation_GrowVolumeno_such_key state = fflib.FFParse_want_colon goto mainparse } else { switch kn[0] { - case 't': + case 'a': - if bytes.Equal(ffj_key_Offer_Operation_Launch_TaskInfos, kn) { - currentKey = ffj_t_Offer_Operation_Launch_TaskInfos + if bytes.Equal(ffj_key_Offer_Operation_GrowVolume_Addition, kn) { + currentKey = ffj_t_Offer_Operation_GrowVolume_Addition + state = fflib.FFParse_want_colon + goto mainparse + } + + case 'v': + + if bytes.Equal(ffj_key_Offer_Operation_GrowVolume_Volume, kn) { + currentKey = ffj_t_Offer_Operation_GrowVolume_Volume state = fflib.FFParse_want_colon goto mainparse } } - if fflib.EqualFoldRight(ffj_key_Offer_Operation_Launch_TaskInfos, kn) { - currentKey = ffj_t_Offer_Operation_Launch_TaskInfos + if fflib.SimpleLetterEqualFold(ffj_key_Offer_Operation_GrowVolume_Addition, kn) { + currentKey = ffj_t_Offer_Operation_GrowVolume_Addition state = fflib.FFParse_want_colon goto mainparse } - currentKey = ffj_t_Offer_Operation_Launchno_such_key + if fflib.SimpleLetterEqualFold(ffj_key_Offer_Operation_GrowVolume_Volume, kn) { + currentKey = ffj_t_Offer_Operation_GrowVolume_Volume + state = fflib.FFParse_want_colon + goto mainparse + } + + currentKey = ffj_t_Offer_Operation_GrowVolumeno_such_key state = fflib.FFParse_want_colon goto mainparse } @@ -33464,10 +33607,13 @@ mainparse: if tok == fflib.FFTok_left_brace || tok == fflib.FFTok_left_bracket || tok == fflib.FFTok_integer || tok == fflib.FFTok_double || tok == fflib.FFTok_string || tok == fflib.FFTok_bool || tok == fflib.FFTok_null { switch currentKey { - case ffj_t_Offer_Operation_Launch_TaskInfos: - goto handle_TaskInfos + case ffj_t_Offer_Operation_GrowVolume_Volume: + goto handle_Volume - case ffj_t_Offer_Operation_Launchno_such_key: + case ffj_t_Offer_Operation_GrowVolume_Addition: + goto handle_Addition + + case ffj_t_Offer_Operation_GrowVolumeno_such_key: err = fs.SkipField(tok) if err != nil { return fs.WrapErr(err) @@ -33481,70 +33627,43 @@ mainparse: } } -handle_TaskInfos: +handle_Volume: - /* handler: uj.TaskInfos type=[]mesos.TaskInfo kind=slice quoted=false*/ + /* handler: uj.Volume type=mesos.Resource kind=struct quoted=false*/ { - - { - if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null { - return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok)) - } - } - if tok == fflib.FFTok_null { - uj.TaskInfos = nil - } else { - - uj.TaskInfos = []TaskInfo{} - - wantVal := true - - for { - - var tmp_uj__TaskInfos TaskInfo - tok = fs.Scan() - if tok == fflib.FFTok_error { - goto tokerror - } - if tok == fflib.FFTok_right_brace { - break - } + state = fflib.FFParse_after_value + goto mainparse + } - if tok == fflib.FFTok_comma { - if wantVal == true { - // TODO(pquerna): this isn't an ideal error message, this handles - // things like [,,,] as an array value. - return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) - } - continue - } else { - wantVal = true - } + err = uj.Volume.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err + } + state = fflib.FFParse_after_value + } - /* handler: tmp_uj__TaskInfos type=mesos.TaskInfo kind=struct quoted=false*/ + state = fflib.FFParse_after_value + goto mainparse - { - if tok == fflib.FFTok_null { +handle_Addition: - state = fflib.FFParse_after_value - goto mainparse - } + /* handler: uj.Addition type=mesos.Resource kind=struct quoted=false*/ - err = tmp_uj__TaskInfos.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) - if err != nil { - return err - } - state = fflib.FFParse_after_value - } + { + if tok == fflib.FFTok_null { - uj.TaskInfos = append(uj.TaskInfos, tmp_uj__TaskInfos) + state = fflib.FFParse_after_value + goto mainparse + } - wantVal = false - } + err = uj.Addition.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err } + state = fflib.FFParse_after_value } state = fflib.FFParse_after_value @@ -33568,7 +33687,7 @@ done: return nil } -func (mj *Offer_Operation_LaunchGroup) MarshalJSON() ([]byte, error) { +func (mj *Offer_Operation_Launch) MarshalJSON() ([]byte, error) { var buf fflib.Buffer if mj == nil { buf.WriteString("null") @@ -33580,7 +33699,7 @@ func (mj *Offer_Operation_LaunchGroup) MarshalJSON() ([]byte, error) { } return buf.Bytes(), nil } -func (mj *Offer_Operation_LaunchGroup) MarshalJSONBuf(buf fflib.EncodingBuffer) error { +func (mj *Offer_Operation_Launch) MarshalJSONBuf(buf fflib.EncodingBuffer) error { if mj == nil { buf.WriteString("null") return nil @@ -33589,18 +33708,269 @@ func (mj *Offer_Operation_LaunchGroup) MarshalJSONBuf(buf fflib.EncodingBuffer) var obj []byte _ = obj _ = err - buf.WriteString(`{"executor":`) + buf.WriteString(`{"task_infos":`) + if mj.TaskInfos != nil { + buf.WriteString(`[`) + for i, v := range mj.TaskInfos { + if i != 0 { + buf.WriteString(`,`) + } - { + { - err = mj.Executor.MarshalJSONBuf(buf) - if err != nil { - return err - } + err = v.MarshalJSONBuf(buf) + if err != nil { + return err + } + } + } + buf.WriteString(`]`) + } else { + buf.WriteString(`null`) } - buf.WriteString(`,"task_group":`) - + buf.WriteByte('}') + return nil +} + +const ( + ffj_t_Offer_Operation_Launchbase = iota + ffj_t_Offer_Operation_Launchno_such_key + + ffj_t_Offer_Operation_Launch_TaskInfos +) + +var ffj_key_Offer_Operation_Launch_TaskInfos = []byte("task_infos") + +func (uj *Offer_Operation_Launch) UnmarshalJSON(input []byte) error { + fs := fflib.NewFFLexer(input) + return uj.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start) +} + +func (uj *Offer_Operation_Launch) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error { + var err error = nil + currentKey := ffj_t_Offer_Operation_Launchbase + _ = currentKey + tok := fflib.FFTok_init + wantedTok := fflib.FFTok_init + +mainparse: + for { + tok = fs.Scan() + // println(fmt.Sprintf("debug: tok: %v state: %v", tok, state)) + if tok == fflib.FFTok_error { + goto tokerror + } + + switch state { + + case fflib.FFParse_map_start: + if tok != fflib.FFTok_left_bracket { + wantedTok = fflib.FFTok_left_bracket + goto wrongtokenerror + } + state = fflib.FFParse_want_key + continue + + case fflib.FFParse_after_value: + if tok == fflib.FFTok_comma { + state = fflib.FFParse_want_key + } else if tok == fflib.FFTok_right_bracket { + goto done + } else { + wantedTok = fflib.FFTok_comma + goto wrongtokenerror + } + + case fflib.FFParse_want_key: + // json {} ended. goto exit. woo. + if tok == fflib.FFTok_right_bracket { + goto done + } + if tok != fflib.FFTok_string { + wantedTok = fflib.FFTok_string + goto wrongtokenerror + } + + kn := fs.Output.Bytes() + if len(kn) <= 0 { + // "" case. hrm. + currentKey = ffj_t_Offer_Operation_Launchno_such_key + state = fflib.FFParse_want_colon + goto mainparse + } else { + switch kn[0] { + + case 't': + + if bytes.Equal(ffj_key_Offer_Operation_Launch_TaskInfos, kn) { + currentKey = ffj_t_Offer_Operation_Launch_TaskInfos + state = fflib.FFParse_want_colon + goto mainparse + } + + } + + if fflib.EqualFoldRight(ffj_key_Offer_Operation_Launch_TaskInfos, kn) { + currentKey = ffj_t_Offer_Operation_Launch_TaskInfos + state = fflib.FFParse_want_colon + goto mainparse + } + + currentKey = ffj_t_Offer_Operation_Launchno_such_key + state = fflib.FFParse_want_colon + goto mainparse + } + + case fflib.FFParse_want_colon: + if tok != fflib.FFTok_colon { + wantedTok = fflib.FFTok_colon + goto wrongtokenerror + } + state = fflib.FFParse_want_value + continue + case fflib.FFParse_want_value: + + if tok == fflib.FFTok_left_brace || tok == fflib.FFTok_left_bracket || tok == fflib.FFTok_integer || tok == fflib.FFTok_double || tok == fflib.FFTok_string || tok == fflib.FFTok_bool || tok == fflib.FFTok_null { + switch currentKey { + + case ffj_t_Offer_Operation_Launch_TaskInfos: + goto handle_TaskInfos + + case ffj_t_Offer_Operation_Launchno_such_key: + err = fs.SkipField(tok) + if err != nil { + return fs.WrapErr(err) + } + state = fflib.FFParse_after_value + goto mainparse + } + } else { + goto wantedvalue + } + } + } + +handle_TaskInfos: + + /* handler: uj.TaskInfos type=[]mesos.TaskInfo kind=slice quoted=false*/ + + { + + { + if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null { + return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok)) + } + } + + if tok == fflib.FFTok_null { + uj.TaskInfos = nil + } else { + + uj.TaskInfos = []TaskInfo{} + + wantVal := true + + for { + + var tmp_uj__TaskInfos TaskInfo + + tok = fs.Scan() + if tok == fflib.FFTok_error { + goto tokerror + } + if tok == fflib.FFTok_right_brace { + break + } + + if tok == fflib.FFTok_comma { + if wantVal == true { + // TODO(pquerna): this isn't an ideal error message, this handles + // things like [,,,] as an array value. + return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) + } + continue + } else { + wantVal = true + } + + /* handler: tmp_uj__TaskInfos type=mesos.TaskInfo kind=struct quoted=false*/ + + { + if tok == fflib.FFTok_null { + + state = fflib.FFParse_after_value + goto mainparse + } + + err = tmp_uj__TaskInfos.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err + } + state = fflib.FFParse_after_value + } + + uj.TaskInfos = append(uj.TaskInfos, tmp_uj__TaskInfos) + + wantVal = false + } + } + } + + state = fflib.FFParse_after_value + goto mainparse + +wantedvalue: + return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) +wrongtokenerror: + return fs.WrapErr(fmt.Errorf("ffjson: wanted token: %v, but got token: %v output=%s", wantedTok, tok, fs.Output.String())) +tokerror: + if fs.BigError != nil { + return fs.WrapErr(fs.BigError) + } + err = fs.Error.ToError() + if err != nil { + return fs.WrapErr(err) + } + panic("ffjson-generated: unreachable, please report bug.") +done: + + return nil +} + +func (mj *Offer_Operation_LaunchGroup) MarshalJSON() ([]byte, error) { + var buf fflib.Buffer + if mj == nil { + buf.WriteString("null") + return buf.Bytes(), nil + } + err := mj.MarshalJSONBuf(&buf) + if err != nil { + return nil, err + } + return buf.Bytes(), nil +} +func (mj *Offer_Operation_LaunchGroup) MarshalJSONBuf(buf fflib.EncodingBuffer) error { + if mj == nil { + buf.WriteString("null") + return nil + } + var err error + var obj []byte + _ = obj + _ = err + buf.WriteString(`{"executor":`) + + { + + err = mj.Executor.MarshalJSONBuf(buf) + if err != nil { + return err + } + + } + buf.WriteString(`,"task_group":`) + { err = mj.TaskGroup.MarshalJSONBuf(buf) @@ -33752,43 +34122,294 @@ mainparse: } } -handle_Executor: +handle_Executor: + + /* handler: uj.Executor type=mesos.ExecutorInfo kind=struct quoted=false*/ + + { + if tok == fflib.FFTok_null { + + state = fflib.FFParse_after_value + goto mainparse + } + + err = uj.Executor.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err + } + state = fflib.FFParse_after_value + } + + state = fflib.FFParse_after_value + goto mainparse + +handle_TaskGroup: + + /* handler: uj.TaskGroup type=mesos.TaskGroupInfo kind=struct quoted=false*/ + + { + if tok == fflib.FFTok_null { + + state = fflib.FFParse_after_value + goto mainparse + } + + err = uj.TaskGroup.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err + } + state = fflib.FFParse_after_value + } + + state = fflib.FFParse_after_value + goto mainparse + +wantedvalue: + return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) +wrongtokenerror: + return fs.WrapErr(fmt.Errorf("ffjson: wanted token: %v, but got token: %v output=%s", wantedTok, tok, fs.Output.String())) +tokerror: + if fs.BigError != nil { + return fs.WrapErr(fs.BigError) + } + err = fs.Error.ToError() + if err != nil { + return fs.WrapErr(err) + } + panic("ffjson-generated: unreachable, please report bug.") +done: + + return nil +} + +func (mj *Offer_Operation_Reserve) MarshalJSON() ([]byte, error) { + var buf fflib.Buffer + if mj == nil { + buf.WriteString("null") + return buf.Bytes(), nil + } + err := mj.MarshalJSONBuf(&buf) + if err != nil { + return nil, err + } + return buf.Bytes(), nil +} +func (mj *Offer_Operation_Reserve) MarshalJSONBuf(buf fflib.EncodingBuffer) error { + if mj == nil { + buf.WriteString("null") + return nil + } + var err error + var obj []byte + _ = obj + _ = err + buf.WriteString(`{"resources":`) + if mj.Resources != nil { + buf.WriteString(`[`) + for i, v := range mj.Resources { + if i != 0 { + buf.WriteString(`,`) + } + + { + + err = v.MarshalJSONBuf(buf) + if err != nil { + return err + } + + } + } + buf.WriteString(`]`) + } else { + buf.WriteString(`null`) + } + buf.WriteByte('}') + return nil +} + +const ( + ffj_t_Offer_Operation_Reservebase = iota + ffj_t_Offer_Operation_Reserveno_such_key + + ffj_t_Offer_Operation_Reserve_Resources +) + +var ffj_key_Offer_Operation_Reserve_Resources = []byte("resources") + +func (uj *Offer_Operation_Reserve) UnmarshalJSON(input []byte) error { + fs := fflib.NewFFLexer(input) + return uj.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start) +} + +func (uj *Offer_Operation_Reserve) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error { + var err error = nil + currentKey := ffj_t_Offer_Operation_Reservebase + _ = currentKey + tok := fflib.FFTok_init + wantedTok := fflib.FFTok_init + +mainparse: + for { + tok = fs.Scan() + // println(fmt.Sprintf("debug: tok: %v state: %v", tok, state)) + if tok == fflib.FFTok_error { + goto tokerror + } + + switch state { + + case fflib.FFParse_map_start: + if tok != fflib.FFTok_left_bracket { + wantedTok = fflib.FFTok_left_bracket + goto wrongtokenerror + } + state = fflib.FFParse_want_key + continue + + case fflib.FFParse_after_value: + if tok == fflib.FFTok_comma { + state = fflib.FFParse_want_key + } else if tok == fflib.FFTok_right_bracket { + goto done + } else { + wantedTok = fflib.FFTok_comma + goto wrongtokenerror + } + + case fflib.FFParse_want_key: + // json {} ended. goto exit. woo. + if tok == fflib.FFTok_right_bracket { + goto done + } + if tok != fflib.FFTok_string { + wantedTok = fflib.FFTok_string + goto wrongtokenerror + } + + kn := fs.Output.Bytes() + if len(kn) <= 0 { + // "" case. hrm. + currentKey = ffj_t_Offer_Operation_Reserveno_such_key + state = fflib.FFParse_want_colon + goto mainparse + } else { + switch kn[0] { + + case 'r': + + if bytes.Equal(ffj_key_Offer_Operation_Reserve_Resources, kn) { + currentKey = ffj_t_Offer_Operation_Reserve_Resources + state = fflib.FFParse_want_colon + goto mainparse + } + + } + + if fflib.EqualFoldRight(ffj_key_Offer_Operation_Reserve_Resources, kn) { + currentKey = ffj_t_Offer_Operation_Reserve_Resources + state = fflib.FFParse_want_colon + goto mainparse + } + + currentKey = ffj_t_Offer_Operation_Reserveno_such_key + state = fflib.FFParse_want_colon + goto mainparse + } + + case fflib.FFParse_want_colon: + if tok != fflib.FFTok_colon { + wantedTok = fflib.FFTok_colon + goto wrongtokenerror + } + state = fflib.FFParse_want_value + continue + case fflib.FFParse_want_value: + + if tok == fflib.FFTok_left_brace || tok == fflib.FFTok_left_bracket || tok == fflib.FFTok_integer || tok == fflib.FFTok_double || tok == fflib.FFTok_string || tok == fflib.FFTok_bool || tok == fflib.FFTok_null { + switch currentKey { + + case ffj_t_Offer_Operation_Reserve_Resources: + goto handle_Resources + + case ffj_t_Offer_Operation_Reserveno_such_key: + err = fs.SkipField(tok) + if err != nil { + return fs.WrapErr(err) + } + state = fflib.FFParse_after_value + goto mainparse + } + } else { + goto wantedvalue + } + } + } + +handle_Resources: - /* handler: uj.Executor type=mesos.ExecutorInfo kind=struct quoted=false*/ + /* handler: uj.Resources type=[]mesos.Resource kind=slice quoted=false*/ { - if tok == fflib.FFTok_null { - state = fflib.FFParse_after_value - goto mainparse + { + if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null { + return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok)) + } } - err = uj.Executor.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) - if err != nil { - return err - } - state = fflib.FFParse_after_value - } + if tok == fflib.FFTok_null { + uj.Resources = nil + } else { - state = fflib.FFParse_after_value - goto mainparse + uj.Resources = []Resource{} -handle_TaskGroup: + wantVal := true - /* handler: uj.TaskGroup type=mesos.TaskGroupInfo kind=struct quoted=false*/ + for { - { - if tok == fflib.FFTok_null { + var tmp_uj__Resources Resource - state = fflib.FFParse_after_value - goto mainparse - } + tok = fs.Scan() + if tok == fflib.FFTok_error { + goto tokerror + } + if tok == fflib.FFTok_right_brace { + break + } - err = uj.TaskGroup.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) - if err != nil { - return err + if tok == fflib.FFTok_comma { + if wantVal == true { + // TODO(pquerna): this isn't an ideal error message, this handles + // things like [,,,] as an array value. + return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) + } + continue + } else { + wantVal = true + } + + /* handler: tmp_uj__Resources type=mesos.Resource kind=struct quoted=false*/ + + { + if tok == fflib.FFTok_null { + + state = fflib.FFParse_after_value + goto mainparse + } + + err = tmp_uj__Resources.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err + } + state = fflib.FFParse_after_value + } + + uj.Resources = append(uj.Resources, tmp_uj__Resources) + + wantVal = false + } } - state = fflib.FFParse_after_value } state = fflib.FFParse_after_value @@ -33812,7 +34433,7 @@ done: return nil } -func (mj *Offer_Operation_Reserve) MarshalJSON() ([]byte, error) { +func (mj *Offer_Operation_ShrinkVolume) MarshalJSON() ([]byte, error) { var buf fflib.Buffer if mj == nil { buf.WriteString("null") @@ -33824,7 +34445,7 @@ func (mj *Offer_Operation_Reserve) MarshalJSON() ([]byte, error) { } return buf.Bytes(), nil } -func (mj *Offer_Operation_Reserve) MarshalJSONBuf(buf fflib.EncodingBuffer) error { +func (mj *Offer_Operation_ShrinkVolume) MarshalJSONBuf(buf fflib.EncodingBuffer) error { if mj == nil { buf.WriteString("null") return nil @@ -33833,48 +34454,51 @@ func (mj *Offer_Operation_Reserve) MarshalJSONBuf(buf fflib.EncodingBuffer) erro var obj []byte _ = obj _ = err - buf.WriteString(`{"resources":`) - if mj.Resources != nil { - buf.WriteString(`[`) - for i, v := range mj.Resources { - if i != 0 { - buf.WriteString(`,`) - } + buf.WriteString(`{"volume":`) - { + { - err = v.MarshalJSONBuf(buf) - if err != nil { - return err - } + err = mj.Volume.MarshalJSONBuf(buf) + if err != nil { + return err + } - } + } + buf.WriteString(`,"subtract":`) + + { + + err = mj.Subtract.MarshalJSONBuf(buf) + if err != nil { + return err } - buf.WriteString(`]`) - } else { - buf.WriteString(`null`) + } buf.WriteByte('}') return nil } const ( - ffj_t_Offer_Operation_Reservebase = iota - ffj_t_Offer_Operation_Reserveno_such_key + ffj_t_Offer_Operation_ShrinkVolumebase = iota + ffj_t_Offer_Operation_ShrinkVolumeno_such_key - ffj_t_Offer_Operation_Reserve_Resources + ffj_t_Offer_Operation_ShrinkVolume_Volume + + ffj_t_Offer_Operation_ShrinkVolume_Subtract ) -var ffj_key_Offer_Operation_Reserve_Resources = []byte("resources") +var ffj_key_Offer_Operation_ShrinkVolume_Volume = []byte("volume") -func (uj *Offer_Operation_Reserve) UnmarshalJSON(input []byte) error { +var ffj_key_Offer_Operation_ShrinkVolume_Subtract = []byte("subtract") + +func (uj *Offer_Operation_ShrinkVolume) UnmarshalJSON(input []byte) error { fs := fflib.NewFFLexer(input) return uj.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start) } -func (uj *Offer_Operation_Reserve) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error { +func (uj *Offer_Operation_ShrinkVolume) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error { var err error = nil - currentKey := ffj_t_Offer_Operation_Reservebase + currentKey := ffj_t_Offer_Operation_ShrinkVolumebase _ = currentKey tok := fflib.FFTok_init wantedTok := fflib.FFTok_init @@ -33920,29 +34544,43 @@ mainparse: kn := fs.Output.Bytes() if len(kn) <= 0 { // "" case. hrm. - currentKey = ffj_t_Offer_Operation_Reserveno_such_key + currentKey = ffj_t_Offer_Operation_ShrinkVolumeno_such_key state = fflib.FFParse_want_colon goto mainparse } else { switch kn[0] { - case 'r': + case 's': - if bytes.Equal(ffj_key_Offer_Operation_Reserve_Resources, kn) { - currentKey = ffj_t_Offer_Operation_Reserve_Resources + if bytes.Equal(ffj_key_Offer_Operation_ShrinkVolume_Subtract, kn) { + currentKey = ffj_t_Offer_Operation_ShrinkVolume_Subtract + state = fflib.FFParse_want_colon + goto mainparse + } + + case 'v': + + if bytes.Equal(ffj_key_Offer_Operation_ShrinkVolume_Volume, kn) { + currentKey = ffj_t_Offer_Operation_ShrinkVolume_Volume state = fflib.FFParse_want_colon goto mainparse } } - if fflib.EqualFoldRight(ffj_key_Offer_Operation_Reserve_Resources, kn) { - currentKey = ffj_t_Offer_Operation_Reserve_Resources + if fflib.EqualFoldRight(ffj_key_Offer_Operation_ShrinkVolume_Subtract, kn) { + currentKey = ffj_t_Offer_Operation_ShrinkVolume_Subtract state = fflib.FFParse_want_colon goto mainparse } - currentKey = ffj_t_Offer_Operation_Reserveno_such_key + if fflib.SimpleLetterEqualFold(ffj_key_Offer_Operation_ShrinkVolume_Volume, kn) { + currentKey = ffj_t_Offer_Operation_ShrinkVolume_Volume + state = fflib.FFParse_want_colon + goto mainparse + } + + currentKey = ffj_t_Offer_Operation_ShrinkVolumeno_such_key state = fflib.FFParse_want_colon goto mainparse } @@ -33959,10 +34597,13 @@ mainparse: if tok == fflib.FFTok_left_brace || tok == fflib.FFTok_left_bracket || tok == fflib.FFTok_integer || tok == fflib.FFTok_double || tok == fflib.FFTok_string || tok == fflib.FFTok_bool || tok == fflib.FFTok_null { switch currentKey { - case ffj_t_Offer_Operation_Reserve_Resources: - goto handle_Resources + case ffj_t_Offer_Operation_ShrinkVolume_Volume: + goto handle_Volume - case ffj_t_Offer_Operation_Reserveno_such_key: + case ffj_t_Offer_Operation_ShrinkVolume_Subtract: + goto handle_Subtract + + case ffj_t_Offer_Operation_ShrinkVolumeno_such_key: err = fs.SkipField(tok) if err != nil { return fs.WrapErr(err) @@ -33976,70 +34617,43 @@ mainparse: } } -handle_Resources: +handle_Volume: - /* handler: uj.Resources type=[]mesos.Resource kind=slice quoted=false*/ + /* handler: uj.Volume type=mesos.Resource kind=struct quoted=false*/ { - - { - if tok != fflib.FFTok_left_brace && tok != fflib.FFTok_null { - return fs.WrapErr(fmt.Errorf("cannot unmarshal %s into Go value for ", tok)) - } - } - if tok == fflib.FFTok_null { - uj.Resources = nil - } else { - - uj.Resources = []Resource{} - - wantVal := true - - for { - - var tmp_uj__Resources Resource - tok = fs.Scan() - if tok == fflib.FFTok_error { - goto tokerror - } - if tok == fflib.FFTok_right_brace { - break - } + state = fflib.FFParse_after_value + goto mainparse + } - if tok == fflib.FFTok_comma { - if wantVal == true { - // TODO(pquerna): this isn't an ideal error message, this handles - // things like [,,,] as an array value. - return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) - } - continue - } else { - wantVal = true - } + err = uj.Volume.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err + } + state = fflib.FFParse_after_value + } - /* handler: tmp_uj__Resources type=mesos.Resource kind=struct quoted=false*/ + state = fflib.FFParse_after_value + goto mainparse - { - if tok == fflib.FFTok_null { +handle_Subtract: - state = fflib.FFParse_after_value - goto mainparse - } + /* handler: uj.Subtract type=mesos.Value_Scalar kind=struct quoted=false*/ - err = tmp_uj__Resources.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) - if err != nil { - return err - } - state = fflib.FFParse_after_value - } + { + if tok == fflib.FFTok_null { - uj.Resources = append(uj.Resources, tmp_uj__Resources) + state = fflib.FFParse_after_value + goto mainparse + } - wantVal = false - } + err = uj.Subtract.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err } + state = fflib.FFParse_after_value } state = fflib.FFParse_after_value @@ -53755,6 +54369,21 @@ func (mj *TaskInfo) MarshalJSONBuf(buf fflib.EncodingBuffer) error { buf.WriteByte(',') } } + if mj.MaxCompletionTime != nil { + if true { + buf.WriteString(`"max_completion_time":`) + + { + + err = mj.MaxCompletionTime.MarshalJSONBuf(buf) + if err != nil { + return err + } + + } + buf.WriteByte(',') + } + } buf.Rewind(1) buf.WriteByte('}') return nil @@ -53789,6 +54418,8 @@ const ( ffj_t_TaskInfo_Labels ffj_t_TaskInfo_Discovery + + ffj_t_TaskInfo_MaxCompletionTime ) var ffj_key_TaskInfo_Name = []byte("name") @@ -53817,6 +54448,8 @@ var ffj_key_TaskInfo_Labels = []byte("labels") var ffj_key_TaskInfo_Discovery = []byte("discovery") +var ffj_key_TaskInfo_MaxCompletionTime = []byte("max_completion_time") + func (uj *TaskInfo) UnmarshalJSON(input []byte) error { fs := fflib.NewFFLexer(input) return uj.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start) @@ -53947,6 +54580,14 @@ mainparse: goto mainparse } + case 'm': + + if bytes.Equal(ffj_key_TaskInfo_MaxCompletionTime, kn) { + currentKey = ffj_t_TaskInfo_MaxCompletionTime + state = fflib.FFParse_want_colon + goto mainparse + } + case 'n': if bytes.Equal(ffj_key_TaskInfo_Name, kn) { @@ -53973,6 +54614,12 @@ mainparse: } + if fflib.AsciiEqualFold(ffj_key_TaskInfo_MaxCompletionTime, kn) { + currentKey = ffj_t_TaskInfo_MaxCompletionTime + state = fflib.FFParse_want_colon + goto mainparse + } + if fflib.EqualFoldRight(ffj_key_TaskInfo_Discovery, kn) { currentKey = ffj_t_TaskInfo_Discovery state = fflib.FFParse_want_colon @@ -54107,6 +54754,9 @@ mainparse: case ffj_t_TaskInfo_Discovery: goto handle_Discovery + case ffj_t_TaskInfo_MaxCompletionTime: + goto handle_MaxCompletionTime + case ffj_t_TaskInfono_such_key: err = fs.SkipField(tok) if err != nil { @@ -54504,6 +55154,33 @@ handle_Discovery: state = fflib.FFParse_after_value goto mainparse +handle_MaxCompletionTime: + + /* handler: uj.MaxCompletionTime type=mesos.DurationInfo kind=struct quoted=false*/ + + { + if tok == fflib.FFTok_null { + + uj.MaxCompletionTime = nil + + state = fflib.FFParse_after_value + goto mainparse + } + + if uj.MaxCompletionTime == nil { + uj.MaxCompletionTime = new(DurationInfo) + } + + err = uj.MaxCompletionTime.UnmarshalJSONFFLexer(fs, fflib.FFParse_want_key) + if err != nil { + return err + } + state = fflib.FFParse_after_value + } + + state = fflib.FFParse_after_value + goto mainparse + wantedvalue: return fs.WrapErr(fmt.Errorf("wanted value token, but got token: %v", tok)) wrongtokenerror: diff --git a/api/v1/lib/scheduler/scheduler.pb_ffjson.go b/api/v1/lib/scheduler/scheduler.pb_ffjson.go index 8231ffef..36ca90e5 100644 --- a/api/v1/lib/scheduler/scheduler.pb_ffjson.go +++ b/api/v1/lib/scheduler/scheduler.pb_ffjson.go @@ -9567,7 +9567,18 @@ func (mj *Response) MarshalJSONBuf(buf fflib.EncodingBuffer) error { var obj []byte _ = obj _ = err - buf.WriteString(`{ `) + buf.WriteString(`{ "type":`) + + { + + obj, err = mj.Type.MarshalJSON() + if err != nil { + return err + } + buf.Write(obj) + + } + buf.WriteByte(',') if mj.ReconcileOperations != nil { if true { buf.WriteString(`"reconcile_operations":`) @@ -9592,9 +9603,13 @@ const ( ffj_t_Responsebase = iota ffj_t_Responseno_such_key + ffj_t_Response_Type + ffj_t_Response_ReconcileOperations ) +var ffj_key_Response_Type = []byte("type") + var ffj_key_Response_ReconcileOperations = []byte("reconcile_operations") func (uj *Response) UnmarshalJSON(input []byte) error { @@ -9664,6 +9679,14 @@ mainparse: goto mainparse } + case 't': + + if bytes.Equal(ffj_key_Response_Type, kn) { + currentKey = ffj_t_Response_Type + state = fflib.FFParse_want_colon + goto mainparse + } + } if fflib.EqualFoldRight(ffj_key_Response_ReconcileOperations, kn) { @@ -9672,6 +9695,12 @@ mainparse: goto mainparse } + if fflib.SimpleLetterEqualFold(ffj_key_Response_Type, kn) { + currentKey = ffj_t_Response_Type + state = fflib.FFParse_want_colon + goto mainparse + } + currentKey = ffj_t_Responseno_such_key state = fflib.FFParse_want_colon goto mainparse @@ -9689,6 +9718,9 @@ mainparse: if tok == fflib.FFTok_left_brace || tok == fflib.FFTok_left_bracket || tok == fflib.FFTok_integer || tok == fflib.FFTok_double || tok == fflib.FFTok_string || tok == fflib.FFTok_bool || tok == fflib.FFTok_null { switch currentKey { + case ffj_t_Response_Type: + goto handle_Type + case ffj_t_Response_ReconcileOperations: goto handle_ReconcileOperations @@ -9706,6 +9738,32 @@ mainparse: } } +handle_Type: + + /* handler: uj.Type type=scheduler.Response_Type kind=int32 quoted=false*/ + + { + if tok == fflib.FFTok_null { + + state = fflib.FFParse_after_value + goto mainparse + } + + tbuf, err := fs.CaptureField(tok) + if err != nil { + return fs.WrapErr(err) + } + + err = uj.Type.UnmarshalJSON(tbuf) + if err != nil { + return fs.WrapErr(err) + } + state = fflib.FFParse_after_value + } + + state = fflib.FFParse_after_value + goto mainparse + handle_ReconcileOperations: /* handler: uj.ReconcileOperations type=scheduler.Response_ReconcileOperations kind=struct quoted=false*/ From d146a87fc7c71f5806808324a1f2389717728e07 Mon Sep 17 00:00:00 2001 From: Chun-Hung Hsiao Date: Wed, 18 Jul 2018 14:35:12 -0700 Subject: [PATCH 4/5] lib: updated calls --- api/v1/lib/agent/calls/calls.go | 2 ++ api/v1/lib/httpcli/httpagent/util.go | 1 + api/v1/lib/httpcli/httpmaster/util.go | 3 +++ api/v1/lib/master/calls/calls.go | 33 +++++++++++++++++++++++++++ 4 files changed, 39 insertions(+) diff --git a/api/v1/lib/agent/calls/calls.go b/api/v1/lib/agent/calls/calls.go index d35c1e70..c2acacc2 100644 --- a/api/v1/lib/agent/calls/calls.go +++ b/api/v1/lib/agent/calls/calls.go @@ -71,6 +71,8 @@ func GetFrameworks() *agent.Call { return &agent.Call{Type: agent.Call_GET_FRAME func GetExecutors() *agent.Call { return &agent.Call{Type: agent.Call_GET_EXECUTORS} } +func GetOperations() *agent.Call { return &agent.Call{Type: agent.Call_GET_OPERATIONS} } + func GetTasks() *agent.Call { return &agent.Call{Type: agent.Call_GET_TASKS} } func GetAgent() *agent.Call { return &agent.Call{Type: agent.Call_GET_AGENT} } diff --git a/api/v1/lib/httpcli/httpagent/util.go b/api/v1/lib/httpcli/httpagent/util.go index 9c0e1043..5b8e1c8c 100644 --- a/api/v1/lib/httpcli/httpagent/util.go +++ b/api/v1/lib/httpcli/httpagent/util.go @@ -27,6 +27,7 @@ func classifyResponse(c *agent.Call) (rc client.ResponseClass, err error) { agent.Call_GET_CONTAINERS, agent.Call_GET_FRAMEWORKS, agent.Call_GET_EXECUTORS, + agent.Call_GET_OPERATIONS, agent.Call_GET_TASKS, agent.Call_GET_AGENT, agent.Call_GET_RESOURCE_PROVIDERS, diff --git a/api/v1/lib/httpcli/httpmaster/util.go b/api/v1/lib/httpcli/httpmaster/util.go index 858c00b4..e6c3d1ab 100644 --- a/api/v1/lib/httpcli/httpmaster/util.go +++ b/api/v1/lib/httpcli/httpmaster/util.go @@ -27,6 +27,7 @@ func classifyResponse(c *master.Call) (rc client.ResponseClass, err error) { master.Call_GET_AGENTS, master.Call_GET_FRAMEWORKS, master.Call_GET_EXECUTORS, + master.Call_GET_OPERATIONS, master.Call_GET_TASKS, master.Call_GET_ROLES, master.Call_GET_WEIGHTS, @@ -49,6 +50,8 @@ func classifyResponse(c *master.Call) (rc client.ResponseClass, err error) { master.Call_UNRESERVE_RESOURCES, master.Call_CREATE_VOLUMES, master.Call_DESTROY_VOLUMES, + master.Call_GROW_VOLUME, + master.Call_SHRINK_VOLUME, master.Call_UPDATE_MAINTENANCE_SCHEDULE, master.Call_START_MAINTENANCE, master.Call_STOP_MAINTENANCE, diff --git a/api/v1/lib/master/calls/calls.go b/api/v1/lib/master/calls/calls.go index 8f12ab9f..988eec3b 100644 --- a/api/v1/lib/master/calls/calls.go +++ b/api/v1/lib/master/calls/calls.go @@ -125,6 +125,13 @@ func GetExecutors() *master.Call { } } +// GetOperations retrieves information about all the operations known to the master. +func GetOperations() *master.Call { + return &master.Call{ + Type: master.Call_GET_OPERATIONS, + } +} + // GetTasks retrieves information about all the tasks known to the master. func GetTasks() *master.Call { return &master.Call{ @@ -221,6 +228,32 @@ func DestroyVolumes(a mesos.AgentID, v ...mesos.Resource) *master.Call { } } +// GrowLocalVolume grows a persistent volume on an agent's ROOT or PATH disks. The request is forwarded asynchronously +// to the Mesos agent where the persistent volume is located. +func GrowLocalVolume(a mesos.AgentID, volume mesos.Resource, addition mesos.Resource) *master.Call { + return &master.Call{ + Type: master.Call_GROW_VOLUME, + GrowVolume: &master.Call_GrowVolume{ + AgentID: &a, + Volume: volume, + Addition: addition, + }, + } +} + +// ShrinkLocalVolume shrinks a persistent volume on an agent's ROOT or PATH disks. The request is forwarded +// asynchronously to the Mesos agent where the persistent volume is located. +func ShrinkLocalVolume(a mesos.AgentID, volume mesos.Resource, subtract mesos.Value_Scalar) *master.Call { + return &master.Call{ + Type: master.Call_SHRINK_VOLUME, + ShrinkVolume: &master.Call_ShrinkVolume{ + AgentID: &a, + Volume: volume, + Subtract: subtract, + }, + } +} + // GetMaintenanceStatus retrieves the cluster's maintenance status. func GetMaintenanceStatus() *master.Call { return &master.Call{ From 381eadef8c21cdb35f38654488d0c12e1eeabb7a Mon Sep 17 00:00:00 2001 From: Chun-Hung Hsiao Date: Wed, 18 Jul 2018 14:36:24 -0700 Subject: [PATCH 5/5] lib: updated call tests --- api/v1/lib/agent/calls/calls_test.go | 1 + api/v1/lib/master/calls/calls_test.go | 3 +++ 2 files changed, 4 insertions(+) diff --git a/api/v1/lib/agent/calls/calls_test.go b/api/v1/lib/agent/calls/calls_test.go index b0236e23..1f70d42d 100644 --- a/api/v1/lib/agent/calls/calls_test.go +++ b/api/v1/lib/agent/calls/calls_test.go @@ -42,6 +42,7 @@ func Example() { GetContainers(), GetFrameworks(), GetExecutors(), + GetOperations(), GetTasks(), GetAgent(), GetResourceProviders(), diff --git a/api/v1/lib/master/calls/calls_test.go b/api/v1/lib/master/calls/calls_test.go index afd4373b..682ebf3d 100644 --- a/api/v1/lib/master/calls/calls_test.go +++ b/api/v1/lib/master/calls/calls_test.go @@ -39,6 +39,7 @@ func Example() { blackhole(GetAgents()) blackhole(GetFrameworks()) blackhole(GetExecutors()) + blackhole(GetOperations()) blackhole(GetTasks()) blackhole(GetRoles()) blackhole(GetWeights()) @@ -57,6 +58,8 @@ func Example() { blackhole(UnreserveResources(mesos.AgentID{})) blackhole(CreateVolumes(mesos.AgentID{})) blackhole(DestroyVolumes(mesos.AgentID{})) + blackhole(GrowLocalVolume(mesos.AgentID{}, mesos.Resource{}, mesos.Resource{})) + blackhole(ShrinkLocalVolume(mesos.AgentID{}, mesos.Resource{}, mesos.Value_Scalar{})) blackhole(UpdateMaintenanceSchedule(maintenance.Schedule{})) blackhole(StartMaintenance()) blackhole(StopMaintenance())