open-nomad/drivers/shared/executor/proto/executor.pb.go
Nick Ethier 971c8c9c2b
Driver networking support
Adds support for passing network isolation config into drivers and
implements support in the rawexec driver as a proof of concept
2019-07-31 01:03:20 -04:00

1269 lines
46 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// source: drivers/shared/executor/proto/executor.proto
package proto
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import timestamp "github.com/golang/protobuf/ptypes/timestamp"
import proto1 "github.com/hashicorp/nomad/plugins/drivers/proto"
import (
context "golang.org/x/net/context"
grpc "google.golang.org/grpc"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
type LaunchRequest struct {
Cmd string `protobuf:"bytes,1,opt,name=cmd,proto3" json:"cmd,omitempty"`
Args []string `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"`
Resources *proto1.Resources `protobuf:"bytes,3,opt,name=resources,proto3" json:"resources,omitempty"`
StdoutPath string `protobuf:"bytes,4,opt,name=stdout_path,json=stdoutPath,proto3" json:"stdout_path,omitempty"`
StderrPath string `protobuf:"bytes,5,opt,name=stderr_path,json=stderrPath,proto3" json:"stderr_path,omitempty"`
Env []string `protobuf:"bytes,6,rep,name=env,proto3" json:"env,omitempty"`
User string `protobuf:"bytes,7,opt,name=user,proto3" json:"user,omitempty"`
TaskDir string `protobuf:"bytes,8,opt,name=task_dir,json=taskDir,proto3" json:"task_dir,omitempty"`
ResourceLimits bool `protobuf:"varint,9,opt,name=resource_limits,json=resourceLimits,proto3" json:"resource_limits,omitempty"`
BasicProcessCgroup bool `protobuf:"varint,10,opt,name=basic_process_cgroup,json=basicProcessCgroup,proto3" json:"basic_process_cgroup,omitempty"`
Mounts []*proto1.Mount `protobuf:"bytes,11,rep,name=mounts,proto3" json:"mounts,omitempty"`
Devices []*proto1.Device `protobuf:"bytes,12,rep,name=devices,proto3" json:"devices,omitempty"`
NetworkIsolation *proto1.NetworkIsolationSpec `protobuf:"bytes,13,opt,name=network_isolation,json=networkIsolation,proto3" json:"network_isolation,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LaunchRequest) Reset() { *m = LaunchRequest{} }
func (m *LaunchRequest) String() string { return proto.CompactTextString(m) }
func (*LaunchRequest) ProtoMessage() {}
func (*LaunchRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_executor_43dc81e71868eb7b, []int{0}
}
func (m *LaunchRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LaunchRequest.Unmarshal(m, b)
}
func (m *LaunchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LaunchRequest.Marshal(b, m, deterministic)
}
func (dst *LaunchRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_LaunchRequest.Merge(dst, src)
}
func (m *LaunchRequest) XXX_Size() int {
return xxx_messageInfo_LaunchRequest.Size(m)
}
func (m *LaunchRequest) XXX_DiscardUnknown() {
xxx_messageInfo_LaunchRequest.DiscardUnknown(m)
}
var xxx_messageInfo_LaunchRequest proto.InternalMessageInfo
func (m *LaunchRequest) GetCmd() string {
if m != nil {
return m.Cmd
}
return ""
}
func (m *LaunchRequest) GetArgs() []string {
if m != nil {
return m.Args
}
return nil
}
func (m *LaunchRequest) GetResources() *proto1.Resources {
if m != nil {
return m.Resources
}
return nil
}
func (m *LaunchRequest) GetStdoutPath() string {
if m != nil {
return m.StdoutPath
}
return ""
}
func (m *LaunchRequest) GetStderrPath() string {
if m != nil {
return m.StderrPath
}
return ""
}
func (m *LaunchRequest) GetEnv() []string {
if m != nil {
return m.Env
}
return nil
}
func (m *LaunchRequest) GetUser() string {
if m != nil {
return m.User
}
return ""
}
func (m *LaunchRequest) GetTaskDir() string {
if m != nil {
return m.TaskDir
}
return ""
}
func (m *LaunchRequest) GetResourceLimits() bool {
if m != nil {
return m.ResourceLimits
}
return false
}
func (m *LaunchRequest) GetBasicProcessCgroup() bool {
if m != nil {
return m.BasicProcessCgroup
}
return false
}
func (m *LaunchRequest) GetMounts() []*proto1.Mount {
if m != nil {
return m.Mounts
}
return nil
}
func (m *LaunchRequest) GetDevices() []*proto1.Device {
if m != nil {
return m.Devices
}
return nil
}
func (m *LaunchRequest) GetNetworkIsolation() *proto1.NetworkIsolationSpec {
if m != nil {
return m.NetworkIsolation
}
return nil
}
type LaunchResponse struct {
Process *ProcessState `protobuf:"bytes,1,opt,name=process,proto3" json:"process,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LaunchResponse) Reset() { *m = LaunchResponse{} }
func (m *LaunchResponse) String() string { return proto.CompactTextString(m) }
func (*LaunchResponse) ProtoMessage() {}
func (*LaunchResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_executor_43dc81e71868eb7b, []int{1}
}
func (m *LaunchResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LaunchResponse.Unmarshal(m, b)
}
func (m *LaunchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LaunchResponse.Marshal(b, m, deterministic)
}
func (dst *LaunchResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_LaunchResponse.Merge(dst, src)
}
func (m *LaunchResponse) XXX_Size() int {
return xxx_messageInfo_LaunchResponse.Size(m)
}
func (m *LaunchResponse) XXX_DiscardUnknown() {
xxx_messageInfo_LaunchResponse.DiscardUnknown(m)
}
var xxx_messageInfo_LaunchResponse proto.InternalMessageInfo
func (m *LaunchResponse) GetProcess() *ProcessState {
if m != nil {
return m.Process
}
return nil
}
type WaitRequest struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *WaitRequest) Reset() { *m = WaitRequest{} }
func (m *WaitRequest) String() string { return proto.CompactTextString(m) }
func (*WaitRequest) ProtoMessage() {}
func (*WaitRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_executor_43dc81e71868eb7b, []int{2}
}
func (m *WaitRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_WaitRequest.Unmarshal(m, b)
}
func (m *WaitRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_WaitRequest.Marshal(b, m, deterministic)
}
func (dst *WaitRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_WaitRequest.Merge(dst, src)
}
func (m *WaitRequest) XXX_Size() int {
return xxx_messageInfo_WaitRequest.Size(m)
}
func (m *WaitRequest) XXX_DiscardUnknown() {
xxx_messageInfo_WaitRequest.DiscardUnknown(m)
}
var xxx_messageInfo_WaitRequest proto.InternalMessageInfo
type WaitResponse struct {
Process *ProcessState `protobuf:"bytes,1,opt,name=process,proto3" json:"process,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *WaitResponse) Reset() { *m = WaitResponse{} }
func (m *WaitResponse) String() string { return proto.CompactTextString(m) }
func (*WaitResponse) ProtoMessage() {}
func (*WaitResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_executor_43dc81e71868eb7b, []int{3}
}
func (m *WaitResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_WaitResponse.Unmarshal(m, b)
}
func (m *WaitResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_WaitResponse.Marshal(b, m, deterministic)
}
func (dst *WaitResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_WaitResponse.Merge(dst, src)
}
func (m *WaitResponse) XXX_Size() int {
return xxx_messageInfo_WaitResponse.Size(m)
}
func (m *WaitResponse) XXX_DiscardUnknown() {
xxx_messageInfo_WaitResponse.DiscardUnknown(m)
}
var xxx_messageInfo_WaitResponse proto.InternalMessageInfo
func (m *WaitResponse) GetProcess() *ProcessState {
if m != nil {
return m.Process
}
return nil
}
type ShutdownRequest struct {
Signal string `protobuf:"bytes,1,opt,name=signal,proto3" json:"signal,omitempty"`
GracePeriod int64 `protobuf:"varint,2,opt,name=grace_period,json=gracePeriod,proto3" json:"grace_period,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ShutdownRequest) Reset() { *m = ShutdownRequest{} }
func (m *ShutdownRequest) String() string { return proto.CompactTextString(m) }
func (*ShutdownRequest) ProtoMessage() {}
func (*ShutdownRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_executor_43dc81e71868eb7b, []int{4}
}
func (m *ShutdownRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ShutdownRequest.Unmarshal(m, b)
}
func (m *ShutdownRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ShutdownRequest.Marshal(b, m, deterministic)
}
func (dst *ShutdownRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_ShutdownRequest.Merge(dst, src)
}
func (m *ShutdownRequest) XXX_Size() int {
return xxx_messageInfo_ShutdownRequest.Size(m)
}
func (m *ShutdownRequest) XXX_DiscardUnknown() {
xxx_messageInfo_ShutdownRequest.DiscardUnknown(m)
}
var xxx_messageInfo_ShutdownRequest proto.InternalMessageInfo
func (m *ShutdownRequest) GetSignal() string {
if m != nil {
return m.Signal
}
return ""
}
func (m *ShutdownRequest) GetGracePeriod() int64 {
if m != nil {
return m.GracePeriod
}
return 0
}
type ShutdownResponse struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ShutdownResponse) Reset() { *m = ShutdownResponse{} }
func (m *ShutdownResponse) String() string { return proto.CompactTextString(m) }
func (*ShutdownResponse) ProtoMessage() {}
func (*ShutdownResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_executor_43dc81e71868eb7b, []int{5}
}
func (m *ShutdownResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ShutdownResponse.Unmarshal(m, b)
}
func (m *ShutdownResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ShutdownResponse.Marshal(b, m, deterministic)
}
func (dst *ShutdownResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_ShutdownResponse.Merge(dst, src)
}
func (m *ShutdownResponse) XXX_Size() int {
return xxx_messageInfo_ShutdownResponse.Size(m)
}
func (m *ShutdownResponse) XXX_DiscardUnknown() {
xxx_messageInfo_ShutdownResponse.DiscardUnknown(m)
}
var xxx_messageInfo_ShutdownResponse proto.InternalMessageInfo
type UpdateResourcesRequest struct {
Resources *proto1.Resources `protobuf:"bytes,1,opt,name=resources,proto3" json:"resources,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *UpdateResourcesRequest) Reset() { *m = UpdateResourcesRequest{} }
func (m *UpdateResourcesRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateResourcesRequest) ProtoMessage() {}
func (*UpdateResourcesRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_executor_43dc81e71868eb7b, []int{6}
}
func (m *UpdateResourcesRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateResourcesRequest.Unmarshal(m, b)
}
func (m *UpdateResourcesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UpdateResourcesRequest.Marshal(b, m, deterministic)
}
func (dst *UpdateResourcesRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_UpdateResourcesRequest.Merge(dst, src)
}
func (m *UpdateResourcesRequest) XXX_Size() int {
return xxx_messageInfo_UpdateResourcesRequest.Size(m)
}
func (m *UpdateResourcesRequest) XXX_DiscardUnknown() {
xxx_messageInfo_UpdateResourcesRequest.DiscardUnknown(m)
}
var xxx_messageInfo_UpdateResourcesRequest proto.InternalMessageInfo
func (m *UpdateResourcesRequest) GetResources() *proto1.Resources {
if m != nil {
return m.Resources
}
return nil
}
type UpdateResourcesResponse struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *UpdateResourcesResponse) Reset() { *m = UpdateResourcesResponse{} }
func (m *UpdateResourcesResponse) String() string { return proto.CompactTextString(m) }
func (*UpdateResourcesResponse) ProtoMessage() {}
func (*UpdateResourcesResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_executor_43dc81e71868eb7b, []int{7}
}
func (m *UpdateResourcesResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateResourcesResponse.Unmarshal(m, b)
}
func (m *UpdateResourcesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UpdateResourcesResponse.Marshal(b, m, deterministic)
}
func (dst *UpdateResourcesResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_UpdateResourcesResponse.Merge(dst, src)
}
func (m *UpdateResourcesResponse) XXX_Size() int {
return xxx_messageInfo_UpdateResourcesResponse.Size(m)
}
func (m *UpdateResourcesResponse) XXX_DiscardUnknown() {
xxx_messageInfo_UpdateResourcesResponse.DiscardUnknown(m)
}
var xxx_messageInfo_UpdateResourcesResponse proto.InternalMessageInfo
type VersionRequest struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *VersionRequest) Reset() { *m = VersionRequest{} }
func (m *VersionRequest) String() string { return proto.CompactTextString(m) }
func (*VersionRequest) ProtoMessage() {}
func (*VersionRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_executor_43dc81e71868eb7b, []int{8}
}
func (m *VersionRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_VersionRequest.Unmarshal(m, b)
}
func (m *VersionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_VersionRequest.Marshal(b, m, deterministic)
}
func (dst *VersionRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_VersionRequest.Merge(dst, src)
}
func (m *VersionRequest) XXX_Size() int {
return xxx_messageInfo_VersionRequest.Size(m)
}
func (m *VersionRequest) XXX_DiscardUnknown() {
xxx_messageInfo_VersionRequest.DiscardUnknown(m)
}
var xxx_messageInfo_VersionRequest proto.InternalMessageInfo
type VersionResponse struct {
Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *VersionResponse) Reset() { *m = VersionResponse{} }
func (m *VersionResponse) String() string { return proto.CompactTextString(m) }
func (*VersionResponse) ProtoMessage() {}
func (*VersionResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_executor_43dc81e71868eb7b, []int{9}
}
func (m *VersionResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_VersionResponse.Unmarshal(m, b)
}
func (m *VersionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_VersionResponse.Marshal(b, m, deterministic)
}
func (dst *VersionResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_VersionResponse.Merge(dst, src)
}
func (m *VersionResponse) XXX_Size() int {
return xxx_messageInfo_VersionResponse.Size(m)
}
func (m *VersionResponse) XXX_DiscardUnknown() {
xxx_messageInfo_VersionResponse.DiscardUnknown(m)
}
var xxx_messageInfo_VersionResponse proto.InternalMessageInfo
func (m *VersionResponse) GetVersion() string {
if m != nil {
return m.Version
}
return ""
}
type StatsRequest struct {
Interval int64 `protobuf:"varint,1,opt,name=interval,proto3" json:"interval,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *StatsRequest) Reset() { *m = StatsRequest{} }
func (m *StatsRequest) String() string { return proto.CompactTextString(m) }
func (*StatsRequest) ProtoMessage() {}
func (*StatsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_executor_43dc81e71868eb7b, []int{10}
}
func (m *StatsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StatsRequest.Unmarshal(m, b)
}
func (m *StatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_StatsRequest.Marshal(b, m, deterministic)
}
func (dst *StatsRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_StatsRequest.Merge(dst, src)
}
func (m *StatsRequest) XXX_Size() int {
return xxx_messageInfo_StatsRequest.Size(m)
}
func (m *StatsRequest) XXX_DiscardUnknown() {
xxx_messageInfo_StatsRequest.DiscardUnknown(m)
}
var xxx_messageInfo_StatsRequest proto.InternalMessageInfo
func (m *StatsRequest) GetInterval() int64 {
if m != nil {
return m.Interval
}
return 0
}
type StatsResponse struct {
Stats *proto1.TaskStats `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *StatsResponse) Reset() { *m = StatsResponse{} }
func (m *StatsResponse) String() string { return proto.CompactTextString(m) }
func (*StatsResponse) ProtoMessage() {}
func (*StatsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_executor_43dc81e71868eb7b, []int{11}
}
func (m *StatsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StatsResponse.Unmarshal(m, b)
}
func (m *StatsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_StatsResponse.Marshal(b, m, deterministic)
}
func (dst *StatsResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_StatsResponse.Merge(dst, src)
}
func (m *StatsResponse) XXX_Size() int {
return xxx_messageInfo_StatsResponse.Size(m)
}
func (m *StatsResponse) XXX_DiscardUnknown() {
xxx_messageInfo_StatsResponse.DiscardUnknown(m)
}
var xxx_messageInfo_StatsResponse proto.InternalMessageInfo
func (m *StatsResponse) GetStats() *proto1.TaskStats {
if m != nil {
return m.Stats
}
return nil
}
type SignalRequest struct {
Signal int32 `protobuf:"varint,1,opt,name=signal,proto3" json:"signal,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SignalRequest) Reset() { *m = SignalRequest{} }
func (m *SignalRequest) String() string { return proto.CompactTextString(m) }
func (*SignalRequest) ProtoMessage() {}
func (*SignalRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_executor_43dc81e71868eb7b, []int{12}
}
func (m *SignalRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalRequest.Unmarshal(m, b)
}
func (m *SignalRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SignalRequest.Marshal(b, m, deterministic)
}
func (dst *SignalRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_SignalRequest.Merge(dst, src)
}
func (m *SignalRequest) XXX_Size() int {
return xxx_messageInfo_SignalRequest.Size(m)
}
func (m *SignalRequest) XXX_DiscardUnknown() {
xxx_messageInfo_SignalRequest.DiscardUnknown(m)
}
var xxx_messageInfo_SignalRequest proto.InternalMessageInfo
func (m *SignalRequest) GetSignal() int32 {
if m != nil {
return m.Signal
}
return 0
}
type SignalResponse struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SignalResponse) Reset() { *m = SignalResponse{} }
func (m *SignalResponse) String() string { return proto.CompactTextString(m) }
func (*SignalResponse) ProtoMessage() {}
func (*SignalResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_executor_43dc81e71868eb7b, []int{13}
}
func (m *SignalResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalResponse.Unmarshal(m, b)
}
func (m *SignalResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SignalResponse.Marshal(b, m, deterministic)
}
func (dst *SignalResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_SignalResponse.Merge(dst, src)
}
func (m *SignalResponse) XXX_Size() int {
return xxx_messageInfo_SignalResponse.Size(m)
}
func (m *SignalResponse) XXX_DiscardUnknown() {
xxx_messageInfo_SignalResponse.DiscardUnknown(m)
}
var xxx_messageInfo_SignalResponse proto.InternalMessageInfo
type ExecRequest struct {
Deadline *timestamp.Timestamp `protobuf:"bytes,1,opt,name=deadline,proto3" json:"deadline,omitempty"`
Cmd string `protobuf:"bytes,2,opt,name=cmd,proto3" json:"cmd,omitempty"`
Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ExecRequest) Reset() { *m = ExecRequest{} }
func (m *ExecRequest) String() string { return proto.CompactTextString(m) }
func (*ExecRequest) ProtoMessage() {}
func (*ExecRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_executor_43dc81e71868eb7b, []int{14}
}
func (m *ExecRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ExecRequest.Unmarshal(m, b)
}
func (m *ExecRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ExecRequest.Marshal(b, m, deterministic)
}
func (dst *ExecRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_ExecRequest.Merge(dst, src)
}
func (m *ExecRequest) XXX_Size() int {
return xxx_messageInfo_ExecRequest.Size(m)
}
func (m *ExecRequest) XXX_DiscardUnknown() {
xxx_messageInfo_ExecRequest.DiscardUnknown(m)
}
var xxx_messageInfo_ExecRequest proto.InternalMessageInfo
func (m *ExecRequest) GetDeadline() *timestamp.Timestamp {
if m != nil {
return m.Deadline
}
return nil
}
func (m *ExecRequest) GetCmd() string {
if m != nil {
return m.Cmd
}
return ""
}
func (m *ExecRequest) GetArgs() []string {
if m != nil {
return m.Args
}
return nil
}
type ExecResponse struct {
Output []byte `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
ExitCode int32 `protobuf:"varint,2,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ExecResponse) Reset() { *m = ExecResponse{} }
func (m *ExecResponse) String() string { return proto.CompactTextString(m) }
func (*ExecResponse) ProtoMessage() {}
func (*ExecResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_executor_43dc81e71868eb7b, []int{15}
}
func (m *ExecResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ExecResponse.Unmarshal(m, b)
}
func (m *ExecResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ExecResponse.Marshal(b, m, deterministic)
}
func (dst *ExecResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_ExecResponse.Merge(dst, src)
}
func (m *ExecResponse) XXX_Size() int {
return xxx_messageInfo_ExecResponse.Size(m)
}
func (m *ExecResponse) XXX_DiscardUnknown() {
xxx_messageInfo_ExecResponse.DiscardUnknown(m)
}
var xxx_messageInfo_ExecResponse proto.InternalMessageInfo
func (m *ExecResponse) GetOutput() []byte {
if m != nil {
return m.Output
}
return nil
}
func (m *ExecResponse) GetExitCode() int32 {
if m != nil {
return m.ExitCode
}
return 0
}
type ProcessState struct {
Pid int32 `protobuf:"varint,1,opt,name=pid,proto3" json:"pid,omitempty"`
ExitCode int32 `protobuf:"varint,2,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"`
Signal int32 `protobuf:"varint,3,opt,name=signal,proto3" json:"signal,omitempty"`
Time *timestamp.Timestamp `protobuf:"bytes,4,opt,name=time,proto3" json:"time,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ProcessState) Reset() { *m = ProcessState{} }
func (m *ProcessState) String() string { return proto.CompactTextString(m) }
func (*ProcessState) ProtoMessage() {}
func (*ProcessState) Descriptor() ([]byte, []int) {
return fileDescriptor_executor_43dc81e71868eb7b, []int{16}
}
func (m *ProcessState) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ProcessState.Unmarshal(m, b)
}
func (m *ProcessState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ProcessState.Marshal(b, m, deterministic)
}
func (dst *ProcessState) XXX_Merge(src proto.Message) {
xxx_messageInfo_ProcessState.Merge(dst, src)
}
func (m *ProcessState) XXX_Size() int {
return xxx_messageInfo_ProcessState.Size(m)
}
func (m *ProcessState) XXX_DiscardUnknown() {
xxx_messageInfo_ProcessState.DiscardUnknown(m)
}
var xxx_messageInfo_ProcessState proto.InternalMessageInfo
func (m *ProcessState) GetPid() int32 {
if m != nil {
return m.Pid
}
return 0
}
func (m *ProcessState) GetExitCode() int32 {
if m != nil {
return m.ExitCode
}
return 0
}
func (m *ProcessState) GetSignal() int32 {
if m != nil {
return m.Signal
}
return 0
}
func (m *ProcessState) GetTime() *timestamp.Timestamp {
if m != nil {
return m.Time
}
return nil
}
func init() {
proto.RegisterType((*LaunchRequest)(nil), "hashicorp.nomad.plugins.executor.proto.LaunchRequest")
proto.RegisterType((*LaunchResponse)(nil), "hashicorp.nomad.plugins.executor.proto.LaunchResponse")
proto.RegisterType((*WaitRequest)(nil), "hashicorp.nomad.plugins.executor.proto.WaitRequest")
proto.RegisterType((*WaitResponse)(nil), "hashicorp.nomad.plugins.executor.proto.WaitResponse")
proto.RegisterType((*ShutdownRequest)(nil), "hashicorp.nomad.plugins.executor.proto.ShutdownRequest")
proto.RegisterType((*ShutdownResponse)(nil), "hashicorp.nomad.plugins.executor.proto.ShutdownResponse")
proto.RegisterType((*UpdateResourcesRequest)(nil), "hashicorp.nomad.plugins.executor.proto.UpdateResourcesRequest")
proto.RegisterType((*UpdateResourcesResponse)(nil), "hashicorp.nomad.plugins.executor.proto.UpdateResourcesResponse")
proto.RegisterType((*VersionRequest)(nil), "hashicorp.nomad.plugins.executor.proto.VersionRequest")
proto.RegisterType((*VersionResponse)(nil), "hashicorp.nomad.plugins.executor.proto.VersionResponse")
proto.RegisterType((*StatsRequest)(nil), "hashicorp.nomad.plugins.executor.proto.StatsRequest")
proto.RegisterType((*StatsResponse)(nil), "hashicorp.nomad.plugins.executor.proto.StatsResponse")
proto.RegisterType((*SignalRequest)(nil), "hashicorp.nomad.plugins.executor.proto.SignalRequest")
proto.RegisterType((*SignalResponse)(nil), "hashicorp.nomad.plugins.executor.proto.SignalResponse")
proto.RegisterType((*ExecRequest)(nil), "hashicorp.nomad.plugins.executor.proto.ExecRequest")
proto.RegisterType((*ExecResponse)(nil), "hashicorp.nomad.plugins.executor.proto.ExecResponse")
proto.RegisterType((*ProcessState)(nil), "hashicorp.nomad.plugins.executor.proto.ProcessState")
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4
// ExecutorClient is the client API for Executor service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ExecutorClient interface {
Launch(ctx context.Context, in *LaunchRequest, opts ...grpc.CallOption) (*LaunchResponse, error)
Wait(ctx context.Context, in *WaitRequest, opts ...grpc.CallOption) (*WaitResponse, error)
Shutdown(ctx context.Context, in *ShutdownRequest, opts ...grpc.CallOption) (*ShutdownResponse, error)
UpdateResources(ctx context.Context, in *UpdateResourcesRequest, opts ...grpc.CallOption) (*UpdateResourcesResponse, error)
Version(ctx context.Context, in *VersionRequest, opts ...grpc.CallOption) (*VersionResponse, error)
Stats(ctx context.Context, in *StatsRequest, opts ...grpc.CallOption) (Executor_StatsClient, error)
Signal(ctx context.Context, in *SignalRequest, opts ...grpc.CallOption) (*SignalResponse, error)
Exec(ctx context.Context, in *ExecRequest, opts ...grpc.CallOption) (*ExecResponse, error)
ExecStreaming(ctx context.Context, opts ...grpc.CallOption) (Executor_ExecStreamingClient, error)
}
type executorClient struct {
cc *grpc.ClientConn
}
func NewExecutorClient(cc *grpc.ClientConn) ExecutorClient {
return &executorClient{cc}
}
func (c *executorClient) Launch(ctx context.Context, in *LaunchRequest, opts ...grpc.CallOption) (*LaunchResponse, error) {
out := new(LaunchResponse)
err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.executor.proto.Executor/Launch", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *executorClient) Wait(ctx context.Context, in *WaitRequest, opts ...grpc.CallOption) (*WaitResponse, error) {
out := new(WaitResponse)
err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.executor.proto.Executor/Wait", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *executorClient) Shutdown(ctx context.Context, in *ShutdownRequest, opts ...grpc.CallOption) (*ShutdownResponse, error) {
out := new(ShutdownResponse)
err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.executor.proto.Executor/Shutdown", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *executorClient) UpdateResources(ctx context.Context, in *UpdateResourcesRequest, opts ...grpc.CallOption) (*UpdateResourcesResponse, error) {
out := new(UpdateResourcesResponse)
err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.executor.proto.Executor/UpdateResources", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *executorClient) Version(ctx context.Context, in *VersionRequest, opts ...grpc.CallOption) (*VersionResponse, error) {
out := new(VersionResponse)
err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.executor.proto.Executor/Version", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *executorClient) Stats(ctx context.Context, in *StatsRequest, opts ...grpc.CallOption) (Executor_StatsClient, error) {
stream, err := c.cc.NewStream(ctx, &_Executor_serviceDesc.Streams[0], "/hashicorp.nomad.plugins.executor.proto.Executor/Stats", opts...)
if err != nil {
return nil, err
}
x := &executorStatsClient{stream}
if err := x.ClientStream.SendMsg(in); err != nil {
return nil, err
}
if err := x.ClientStream.CloseSend(); err != nil {
return nil, err
}
return x, nil
}
type Executor_StatsClient interface {
Recv() (*StatsResponse, error)
grpc.ClientStream
}
type executorStatsClient struct {
grpc.ClientStream
}
func (x *executorStatsClient) Recv() (*StatsResponse, error) {
m := new(StatsResponse)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
func (c *executorClient) Signal(ctx context.Context, in *SignalRequest, opts ...grpc.CallOption) (*SignalResponse, error) {
out := new(SignalResponse)
err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.executor.proto.Executor/Signal", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *executorClient) Exec(ctx context.Context, in *ExecRequest, opts ...grpc.CallOption) (*ExecResponse, error) {
out := new(ExecResponse)
err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.executor.proto.Executor/Exec", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *executorClient) ExecStreaming(ctx context.Context, opts ...grpc.CallOption) (Executor_ExecStreamingClient, error) {
stream, err := c.cc.NewStream(ctx, &_Executor_serviceDesc.Streams[1], "/hashicorp.nomad.plugins.executor.proto.Executor/ExecStreaming", opts...)
if err != nil {
return nil, err
}
x := &executorExecStreamingClient{stream}
return x, nil
}
type Executor_ExecStreamingClient interface {
Send(*proto1.ExecTaskStreamingRequest) error
Recv() (*proto1.ExecTaskStreamingResponse, error)
grpc.ClientStream
}
type executorExecStreamingClient struct {
grpc.ClientStream
}
func (x *executorExecStreamingClient) Send(m *proto1.ExecTaskStreamingRequest) error {
return x.ClientStream.SendMsg(m)
}
func (x *executorExecStreamingClient) Recv() (*proto1.ExecTaskStreamingResponse, error) {
m := new(proto1.ExecTaskStreamingResponse)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
// ExecutorServer is the server API for Executor service.
type ExecutorServer interface {
Launch(context.Context, *LaunchRequest) (*LaunchResponse, error)
Wait(context.Context, *WaitRequest) (*WaitResponse, error)
Shutdown(context.Context, *ShutdownRequest) (*ShutdownResponse, error)
UpdateResources(context.Context, *UpdateResourcesRequest) (*UpdateResourcesResponse, error)
Version(context.Context, *VersionRequest) (*VersionResponse, error)
Stats(*StatsRequest, Executor_StatsServer) error
Signal(context.Context, *SignalRequest) (*SignalResponse, error)
Exec(context.Context, *ExecRequest) (*ExecResponse, error)
ExecStreaming(Executor_ExecStreamingServer) error
}
func RegisterExecutorServer(s *grpc.Server, srv ExecutorServer) {
s.RegisterService(&_Executor_serviceDesc, srv)
}
func _Executor_Launch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(LaunchRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ExecutorServer).Launch(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/hashicorp.nomad.plugins.executor.proto.Executor/Launch",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ExecutorServer).Launch(ctx, req.(*LaunchRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Executor_Wait_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(WaitRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ExecutorServer).Wait(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/hashicorp.nomad.plugins.executor.proto.Executor/Wait",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ExecutorServer).Wait(ctx, req.(*WaitRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Executor_Shutdown_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ShutdownRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ExecutorServer).Shutdown(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/hashicorp.nomad.plugins.executor.proto.Executor/Shutdown",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ExecutorServer).Shutdown(ctx, req.(*ShutdownRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Executor_UpdateResources_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateResourcesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ExecutorServer).UpdateResources(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/hashicorp.nomad.plugins.executor.proto.Executor/UpdateResources",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ExecutorServer).UpdateResources(ctx, req.(*UpdateResourcesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Executor_Version_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(VersionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ExecutorServer).Version(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/hashicorp.nomad.plugins.executor.proto.Executor/Version",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ExecutorServer).Version(ctx, req.(*VersionRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Executor_Stats_Handler(srv interface{}, stream grpc.ServerStream) error {
m := new(StatsRequest)
if err := stream.RecvMsg(m); err != nil {
return err
}
return srv.(ExecutorServer).Stats(m, &executorStatsServer{stream})
}
type Executor_StatsServer interface {
Send(*StatsResponse) error
grpc.ServerStream
}
type executorStatsServer struct {
grpc.ServerStream
}
func (x *executorStatsServer) Send(m *StatsResponse) error {
return x.ServerStream.SendMsg(m)
}
func _Executor_Signal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SignalRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ExecutorServer).Signal(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/hashicorp.nomad.plugins.executor.proto.Executor/Signal",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ExecutorServer).Signal(ctx, req.(*SignalRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Executor_Exec_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ExecRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ExecutorServer).Exec(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/hashicorp.nomad.plugins.executor.proto.Executor/Exec",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ExecutorServer).Exec(ctx, req.(*ExecRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Executor_ExecStreaming_Handler(srv interface{}, stream grpc.ServerStream) error {
return srv.(ExecutorServer).ExecStreaming(&executorExecStreamingServer{stream})
}
type Executor_ExecStreamingServer interface {
Send(*proto1.ExecTaskStreamingResponse) error
Recv() (*proto1.ExecTaskStreamingRequest, error)
grpc.ServerStream
}
type executorExecStreamingServer struct {
grpc.ServerStream
}
func (x *executorExecStreamingServer) Send(m *proto1.ExecTaskStreamingResponse) error {
return x.ServerStream.SendMsg(m)
}
func (x *executorExecStreamingServer) Recv() (*proto1.ExecTaskStreamingRequest, error) {
m := new(proto1.ExecTaskStreamingRequest)
if err := x.ServerStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
var _Executor_serviceDesc = grpc.ServiceDesc{
ServiceName: "hashicorp.nomad.plugins.executor.proto.Executor",
HandlerType: (*ExecutorServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Launch",
Handler: _Executor_Launch_Handler,
},
{
MethodName: "Wait",
Handler: _Executor_Wait_Handler,
},
{
MethodName: "Shutdown",
Handler: _Executor_Shutdown_Handler,
},
{
MethodName: "UpdateResources",
Handler: _Executor_UpdateResources_Handler,
},
{
MethodName: "Version",
Handler: _Executor_Version_Handler,
},
{
MethodName: "Signal",
Handler: _Executor_Signal_Handler,
},
{
MethodName: "Exec",
Handler: _Executor_Exec_Handler,
},
},
Streams: []grpc.StreamDesc{
{
StreamName: "Stats",
Handler: _Executor_Stats_Handler,
ServerStreams: true,
},
{
StreamName: "ExecStreaming",
Handler: _Executor_ExecStreaming_Handler,
ServerStreams: true,
ClientStreams: true,
},
},
Metadata: "drivers/shared/executor/proto/executor.proto",
}
func init() {
proto.RegisterFile("drivers/shared/executor/proto/executor.proto", fileDescriptor_executor_43dc81e71868eb7b)
}
var fileDescriptor_executor_43dc81e71868eb7b = []byte{
// 955 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0x5b, 0x6f, 0x1b, 0x45,
0x14, 0xee, 0xc6, 0xf1, 0xed, 0xd8, 0x4e, 0xcc, 0x08, 0x85, 0xad, 0x79, 0xa8, 0xd9, 0x07, 0x6a,
0x41, 0x59, 0x47, 0xe9, 0x0d, 0x09, 0x41, 0x11, 0x49, 0x41, 0x48, 0x21, 0x8a, 0xd6, 0x85, 0x4a,
0x3c, 0x60, 0x26, 0xbb, 0xc3, 0xee, 0x28, 0xf6, 0xce, 0x32, 0x33, 0xeb, 0x06, 0x09, 0x89, 0x27,
0xfe, 0x01, 0x48, 0xfc, 0x38, 0x7e, 0x0c, 0x9a, 0xdb, 0xc6, 0x4e, 0x4b, 0xb5, 0x2e, 0xe2, 0xc9,
0x33, 0x67, 0xcf, 0xf7, 0x9d, 0xcb, 0x9c, 0xf3, 0x19, 0xee, 0x25, 0x9c, 0xae, 0x08, 0x17, 0x53,
0x91, 0x61, 0x4e, 0x92, 0x29, 0xb9, 0x22, 0x71, 0x29, 0x19, 0x9f, 0x16, 0x9c, 0x49, 0x56, 0x5d,
0x43, 0x7d, 0x45, 0xef, 0x67, 0x58, 0x64, 0x34, 0x66, 0xbc, 0x08, 0x73, 0xb6, 0xc4, 0x49, 0x58,
0x2c, 0xca, 0x94, 0xe6, 0x22, 0xdc, 0xf4, 0x1b, 0xdd, 0x49, 0x19, 0x4b, 0x17, 0xc4, 0x90, 0x5c,
0x94, 0x3f, 0x4d, 0x25, 0x5d, 0x12, 0x21, 0xf1, 0xb2, 0xb0, 0x0e, 0x9f, 0xa6, 0x54, 0x66, 0xe5,
0x45, 0x18, 0xb3, 0xe5, 0xb4, 0xe2, 0x9c, 0x6a, 0xce, 0xa9, 0xe5, 0x9c, 0xba, 0xcc, 0x4c, 0x26,
0xe6, 0x66, 0xe0, 0xc1, 0xdf, 0xbb, 0x30, 0x38, 0xc5, 0x65, 0x1e, 0x67, 0x11, 0xf9, 0xb9, 0x24,
0x42, 0xa2, 0x21, 0x34, 0xe2, 0x65, 0xe2, 0x7b, 0x63, 0x6f, 0xd2, 0x8d, 0xd4, 0x11, 0x21, 0xd8,
0xc5, 0x3c, 0x15, 0xfe, 0xce, 0xb8, 0x31, 0xe9, 0x46, 0xfa, 0x8c, 0xce, 0xa0, 0xcb, 0x89, 0x60,
0x25, 0x8f, 0x89, 0xf0, 0x1b, 0x63, 0x6f, 0xd2, 0x3b, 0x3a, 0x0c, 0xff, 0xad, 0x26, 0x1b, 0xdf,
0x84, 0x0c, 0x23, 0x87, 0x8b, 0xae, 0x29, 0xd0, 0x1d, 0xe8, 0x09, 0x99, 0xb0, 0x52, 0xce, 0x0b,
0x2c, 0x33, 0x7f, 0x57, 0x47, 0x07, 0x63, 0x3a, 0xc7, 0x32, 0xb3, 0x0e, 0x84, 0x73, 0xe3, 0xd0,
0xac, 0x1c, 0x08, 0xe7, 0xda, 0x61, 0x08, 0x0d, 0x92, 0xaf, 0xfc, 0x96, 0x4e, 0x52, 0x1d, 0x55,
0xde, 0xa5, 0x20, 0xdc, 0x6f, 0x6b, 0x5f, 0x7d, 0x46, 0xb7, 0xa1, 0x23, 0xb1, 0xb8, 0x9c, 0x27,
0x94, 0xfb, 0x1d, 0x6d, 0x6f, 0xab, 0xfb, 0x09, 0xe5, 0xe8, 0x2e, 0xec, 0xbb, 0x7c, 0xe6, 0x0b,
0xba, 0xa4, 0x52, 0xf8, 0xdd, 0xb1, 0x37, 0xe9, 0x44, 0x7b, 0xce, 0x7c, 0xaa, 0xad, 0xe8, 0x10,
0xde, 0xbe, 0xc0, 0x82, 0xc6, 0xf3, 0x82, 0xb3, 0x98, 0x08, 0x31, 0x8f, 0x53, 0xce, 0xca, 0xc2,
0x07, 0xed, 0x8d, 0xf4, 0xb7, 0x73, 0xf3, 0xe9, 0x58, 0x7f, 0x41, 0x27, 0xd0, 0x5a, 0xb2, 0x32,
0x97, 0xc2, 0xef, 0x8d, 0x1b, 0x93, 0xde, 0xd1, 0xbd, 0x9a, 0xad, 0xfa, 0x46, 0x81, 0x22, 0x8b,
0x45, 0x5f, 0x41, 0x3b, 0x21, 0x2b, 0xaa, 0x3a, 0xde, 0xd7, 0x34, 0x1f, 0xd5, 0xa4, 0x39, 0xd1,
0xa8, 0xc8, 0xa1, 0x51, 0x06, 0x6f, 0xe5, 0x44, 0xbe, 0x60, 0xfc, 0x72, 0x4e, 0x05, 0x5b, 0x60,
0x49, 0x59, 0xee, 0x0f, 0xf4, 0x23, 0x7e, 0x52, 0x93, 0xf2, 0xcc, 0xe0, 0xbf, 0x76, 0xf0, 0x59,
0x41, 0xe2, 0x68, 0x98, 0xdf, 0xb0, 0x06, 0x3f, 0xc2, 0x9e, 0x9b, 0x2e, 0x51, 0xb0, 0x5c, 0x10,
0x74, 0x06, 0x6d, 0xdb, 0x36, 0x3d, 0x62, 0xbd, 0xa3, 0x07, 0x61, 0xbd, 0x55, 0x08, 0x6d, 0x4b,
0x67, 0x12, 0x4b, 0x12, 0x39, 0x92, 0x60, 0x00, 0xbd, 0xe7, 0x98, 0x4a, 0x3b, 0xbd, 0xc1, 0x0f,
0xd0, 0x37, 0xd7, 0xff, 0x29, 0xdc, 0x29, 0xec, 0xcf, 0xb2, 0x52, 0x26, 0xec, 0x45, 0xee, 0x16,
0xe6, 0x00, 0x5a, 0x82, 0xa6, 0x39, 0x5e, 0xd8, 0x9d, 0xb1, 0x37, 0xf4, 0x1e, 0xf4, 0x53, 0x8e,
0x63, 0x32, 0x2f, 0x08, 0xa7, 0x2c, 0xf1, 0x77, 0xc6, 0xde, 0xa4, 0x11, 0xf5, 0xb4, 0xed, 0x5c,
0x9b, 0x02, 0x04, 0xc3, 0x6b, 0x36, 0x93, 0x71, 0x90, 0xc1, 0xc1, 0xb7, 0x45, 0xa2, 0x82, 0x56,
0x7b, 0x62, 0x03, 0x6d, 0xec, 0x9c, 0xf7, 0x9f, 0x77, 0x2e, 0xb8, 0x0d, 0xef, 0xbc, 0x14, 0xc9,
0x26, 0x31, 0x84, 0xbd, 0xef, 0x08, 0x17, 0x94, 0xb9, 0x2a, 0x83, 0x0f, 0x61, 0xbf, 0xb2, 0xd8,
0xde, 0xfa, 0xd0, 0x5e, 0x19, 0x93, 0xad, 0xdc, 0x5d, 0x83, 0x0f, 0xa0, 0xaf, 0xfa, 0x56, 0x65,
0x3e, 0x82, 0x0e, 0xcd, 0x25, 0xe1, 0x2b, 0xdb, 0xa4, 0x46, 0x54, 0xdd, 0x83, 0xe7, 0x30, 0xb0,
0xbe, 0x96, 0xf6, 0x4b, 0x68, 0x0a, 0x65, 0xd8, 0xb2, 0xc4, 0x67, 0x58, 0x5c, 0x1a, 0x22, 0x03,
0x0f, 0xee, 0xc2, 0x60, 0xa6, 0x5f, 0xe2, 0xd5, 0x0f, 0xd5, 0x74, 0x0f, 0xa5, 0x8a, 0x75, 0x8e,
0xb6, 0xfc, 0x4b, 0xe8, 0x3d, 0xbd, 0x22, 0xb1, 0x03, 0x3e, 0x82, 0x4e, 0x42, 0x70, 0xb2, 0xa0,
0x39, 0xb1, 0x49, 0x8d, 0x42, 0xa3, 0xcb, 0xa1, 0xd3, 0xe5, 0xf0, 0x99, 0xd3, 0xe5, 0xa8, 0xf2,
0x75, 0x52, 0xba, 0xf3, 0xb2, 0x94, 0x36, 0xae, 0xa5, 0x34, 0x38, 0x86, 0xbe, 0x09, 0x66, 0xeb,
0x3f, 0x80, 0x16, 0x2b, 0x65, 0x51, 0x4a, 0x1d, 0xab, 0x1f, 0xd9, 0x1b, 0x7a, 0x17, 0xba, 0xe4,
0x8a, 0xca, 0x79, 0xcc, 0x12, 0xa2, 0x39, 0x9b, 0x51, 0x47, 0x19, 0x8e, 0x59, 0x42, 0x82, 0xdf,
0x3d, 0xe8, 0xaf, 0x4f, 0xac, 0x8a, 0x5d, 0xd0, 0xc4, 0x56, 0xaa, 0x8e, 0xaf, 0xc5, 0xaf, 0xf5,
0xa6, 0xb1, 0xde, 0x1b, 0x14, 0xc2, 0xae, 0xfa, 0xc7, 0xd1, 0x82, 0xfc, 0xfa, 0xb2, 0xb5, 0xdf,
0xd1, 0x9f, 0x5d, 0xe8, 0x3c, 0xb5, 0x8b, 0x84, 0x7e, 0x81, 0x96, 0xd9, 0x7e, 0xf4, 0xb0, 0xee,
0xd6, 0x6d, 0xfc, 0x17, 0x8d, 0x1e, 0x6d, 0x0b, 0xb3, 0xef, 0x77, 0x0b, 0x09, 0xd8, 0x55, 0x3a,
0x80, 0xee, 0xd7, 0x65, 0x58, 0x13, 0x91, 0xd1, 0x83, 0xed, 0x40, 0x55, 0xd0, 0xdf, 0xa0, 0xe3,
0xd6, 0x19, 0x3d, 0xae, 0xcb, 0x71, 0x43, 0x4e, 0x46, 0x1f, 0x6f, 0x0f, 0xac, 0x12, 0xf8, 0xc3,
0x83, 0xfd, 0x1b, 0x2b, 0x8d, 0x3e, 0xab, 0xcb, 0xf7, 0x6a, 0xd5, 0x19, 0x3d, 0x79, 0x63, 0x7c,
0x95, 0xd6, 0xaf, 0xd0, 0xb6, 0xda, 0x81, 0x6a, 0xbf, 0xe8, 0xa6, 0xfc, 0x8c, 0x1e, 0x6f, 0x8d,
0xab, 0xa2, 0x5f, 0x41, 0x53, 0xeb, 0x02, 0xaa, 0xfd, 0xac, 0xeb, 0xda, 0x35, 0x7a, 0xb8, 0x25,
0xca, 0xc5, 0x3d, 0xf4, 0xd4, 0xfc, 0x1b, 0x61, 0xa9, 0x3f, 0xff, 0x1b, 0x8a, 0x55, 0x7f, 0xfe,
0x6f, 0xe8, 0x97, 0x9e, 0x7f, 0xb5, 0x86, 0xf5, 0xe7, 0x7f, 0x4d, 0xef, 0xea, 0xcf, 0xff, 0xba,
0x6e, 0x05, 0xb7, 0xd0, 0x5f, 0x1e, 0x0c, 0x94, 0x69, 0x26, 0x39, 0xc1, 0x4b, 0x9a, 0xa7, 0xe8,
0x49, 0x4d, 0xf1, 0x56, 0x28, 0x23, 0xe0, 0x16, 0xe9, 0x52, 0xf9, 0xfc, 0xcd, 0x09, 0x5c, 0x5a,
0x13, 0xef, 0xd0, 0xfb, 0xa2, 0xfd, 0x7d, 0xd3, 0x68, 0x56, 0x4b, 0xff, 0xdc, 0xff, 0x27, 0x00,
0x00, 0xff, 0xff, 0xad, 0xfe, 0x69, 0xb2, 0xaf, 0x0b, 0x00, 0x00,
}