blob: 8073e7959fafb57f8d7ecc40a1ae431a18e98fc6 [file] [log] [blame]
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: api/goma_data.proto
package devtools_goma
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
)
// 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.ProtoPackageIsVersion3 // please upgrade the proto package
type FileBlob_BlobType int32
const (
FileBlob_FILE_UNSPECIFIED FileBlob_BlobType = 0
FileBlob_FILE FileBlob_BlobType = 1
FileBlob_FILE_META FileBlob_BlobType = 2
FileBlob_FILE_CHUNK FileBlob_BlobType = 3
)
var FileBlob_BlobType_name = map[int32]string{
0: "FILE_UNSPECIFIED",
1: "FILE",
2: "FILE_META",
3: "FILE_CHUNK",
}
var FileBlob_BlobType_value = map[string]int32{
"FILE_UNSPECIFIED": 0,
"FILE": 1,
"FILE_META": 2,
"FILE_CHUNK": 3,
}
func (x FileBlob_BlobType) Enum() *FileBlob_BlobType {
p := new(FileBlob_BlobType)
*p = x
return p
}
func (x FileBlob_BlobType) String() string {
return proto.EnumName(FileBlob_BlobType_name, int32(x))
}
func (x *FileBlob_BlobType) UnmarshalJSON(data []byte) error {
value, err := proto.UnmarshalJSONEnum(FileBlob_BlobType_value, data, "FileBlob_BlobType")
if err != nil {
return err
}
*x = FileBlob_BlobType(value)
return nil
}
func (FileBlob_BlobType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{0, 0}
}
// The version of goma protocol. This is intended to be used for two purpose:
//
// - When we changes the meanings of compiler_proxy's request, we may
// want to support the previous type of requests in our backend for a while.
// Backend can change its behavior by checking the value of this field.
// - Once a server stops supporting the old behavior, the backend can
// send an error messages to the client. Also, we can track the clients'
// versions with this field so we can easily decide if it's safe to
// stop supporting the old behavior.
//
// 0 => 1: Changed the meaning of command_spec.system_include_path.
// Now -isysroot in a command line is considered to obtain this field.
// 1 => 2: command_spec.version contains vendor versions.
// E.g., 4.4.3[Ubuntu 4.4.3-4ubuntu5]
type RequesterInfo_GomaApiVersion int32
const (
RequesterInfo_CURRENT_VERSION RequesterInfo_GomaApiVersion = 2
)
var RequesterInfo_GomaApiVersion_name = map[int32]string{
2: "CURRENT_VERSION",
}
var RequesterInfo_GomaApiVersion_value = map[string]int32{
"CURRENT_VERSION": 2,
}
func (x RequesterInfo_GomaApiVersion) Enum() *RequesterInfo_GomaApiVersion {
p := new(RequesterInfo_GomaApiVersion)
*p = x
return p
}
func (x RequesterInfo_GomaApiVersion) String() string {
return proto.EnumName(RequesterInfo_GomaApiVersion_name, int32(x))
}
func (x *RequesterInfo_GomaApiVersion) UnmarshalJSON(data []byte) error {
value, err := proto.UnmarshalJSONEnum(RequesterInfo_GomaApiVersion_value, data, "RequesterInfo_GomaApiVersion")
if err != nil {
return err
}
*x = RequesterInfo_GomaApiVersion(value)
return nil
}
func (RequesterInfo_GomaApiVersion) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{5, 0}
}
// Implementation Note: `WINDOWS` is defined on Win, so we have to add
// prefix or suffix.
type RequesterInfo_PathStyle int32
const (
RequesterInfo_UNKNOWN_STYLE RequesterInfo_PathStyle = 0
RequesterInfo_POSIX_STYLE RequesterInfo_PathStyle = 1
RequesterInfo_WINDOWS_STYLE RequesterInfo_PathStyle = 2
)
var RequesterInfo_PathStyle_name = map[int32]string{
0: "UNKNOWN_STYLE",
1: "POSIX_STYLE",
2: "WINDOWS_STYLE",
}
var RequesterInfo_PathStyle_value = map[string]int32{
"UNKNOWN_STYLE": 0,
"POSIX_STYLE": 1,
"WINDOWS_STYLE": 2,
}
func (x RequesterInfo_PathStyle) Enum() *RequesterInfo_PathStyle {
p := new(RequesterInfo_PathStyle)
*p = x
return p
}
func (x RequesterInfo_PathStyle) String() string {
return proto.EnumName(RequesterInfo_PathStyle_name, int32(x))
}
func (x *RequesterInfo_PathStyle) UnmarshalJSON(data []byte) error {
value, err := proto.UnmarshalJSONEnum(RequesterInfo_PathStyle_value, data, "RequesterInfo_PathStyle")
if err != nil {
return err
}
*x = RequesterInfo_PathStyle(value)
return nil
}
func (RequesterInfo_PathStyle) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{5, 1}
}
type ExecReq_CachePolicy int32
const (
// IGNORE = 0;
ExecReq_LOOKUP_AND_STORE ExecReq_CachePolicy = 1
ExecReq_LOOKUP_ONLY ExecReq_CachePolicy = 2
ExecReq_STORE_ONLY ExecReq_CachePolicy = 3
ExecReq_LOOKUP_AND_STORE_SUCCESS ExecReq_CachePolicy = 4
)
var ExecReq_CachePolicy_name = map[int32]string{
1: "LOOKUP_AND_STORE",
2: "LOOKUP_ONLY",
3: "STORE_ONLY",
4: "LOOKUP_AND_STORE_SUCCESS",
}
var ExecReq_CachePolicy_value = map[string]int32{
"LOOKUP_AND_STORE": 1,
"LOOKUP_ONLY": 2,
"STORE_ONLY": 3,
"LOOKUP_AND_STORE_SUCCESS": 4,
}
func (x ExecReq_CachePolicy) Enum() *ExecReq_CachePolicy {
p := new(ExecReq_CachePolicy)
*p = x
return p
}
func (x ExecReq_CachePolicy) String() string {
return proto.EnumName(ExecReq_CachePolicy_name, int32(x))
}
func (x *ExecReq_CachePolicy) UnmarshalJSON(data []byte) error {
value, err := proto.UnmarshalJSONEnum(ExecReq_CachePolicy_value, data, "ExecReq_CachePolicy")
if err != nil {
return err
}
*x = ExecReq_CachePolicy(value)
return nil
}
func (ExecReq_CachePolicy) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{7, 0}
}
type ExecResp_ExecError int32
const (
ExecResp_OK ExecResp_ExecError = 0
ExecResp_BAD_REQUEST ExecResp_ExecError = -1
)
var ExecResp_ExecError_name = map[int32]string{
0: "OK",
-1: "BAD_REQUEST",
}
var ExecResp_ExecError_value = map[string]int32{
"OK": 0,
"BAD_REQUEST": -1,
}
func (x ExecResp_ExecError) Enum() *ExecResp_ExecError {
p := new(ExecResp_ExecError)
*p = x
return p
}
func (x ExecResp_ExecError) String() string {
return proto.EnumName(ExecResp_ExecError_name, int32(x))
}
func (x *ExecResp_ExecError) UnmarshalJSON(data []byte) error {
value, err := proto.UnmarshalJSONEnum(ExecResp_ExecError_value, data, "ExecResp_ExecError")
if err != nil {
return err
}
*x = ExecResp_ExecError(value)
return nil
}
func (ExecResp_ExecError) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{9, 0}
}
// Specifies the reason of ExecError::BAD_REQUEST.
type ExecResp_BadRequestReasonCode int32
const (
// The reason is unknown (or not BAD_REQUEST)
ExecResp_UNKNOWN ExecResp_BadRequestReasonCode = 0
// The request contains unsupported (e.g. blacklisted) compiler flags.
ExecResp_UNSUPPORTED_COMPILER_FLAGS ExecResp_BadRequestReasonCode = 1
)
var ExecResp_BadRequestReasonCode_name = map[int32]string{
0: "UNKNOWN",
1: "UNSUPPORTED_COMPILER_FLAGS",
}
var ExecResp_BadRequestReasonCode_value = map[string]int32{
"UNKNOWN": 0,
"UNSUPPORTED_COMPILER_FLAGS": 1,
}
func (x ExecResp_BadRequestReasonCode) Enum() *ExecResp_BadRequestReasonCode {
p := new(ExecResp_BadRequestReasonCode)
*p = x
return p
}
func (x ExecResp_BadRequestReasonCode) String() string {
return proto.EnumName(ExecResp_BadRequestReasonCode_name, int32(x))
}
func (x *ExecResp_BadRequestReasonCode) UnmarshalJSON(data []byte) error {
value, err := proto.UnmarshalJSONEnum(ExecResp_BadRequestReasonCode_value, data, "ExecResp_BadRequestReasonCode")
if err != nil {
return err
}
*x = ExecResp_BadRequestReasonCode(value)
return nil
}
func (ExecResp_BadRequestReasonCode) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{9, 1}
}
type ExecResp_CacheSource int32
const (
ExecResp_NO_CACHE ExecResp_CacheSource = 0
ExecResp_MEM_CACHE ExecResp_CacheSource = 1
ExecResp_STORAGE_CACHE ExecResp_CacheSource = 2
ExecResp_LOCAL_OUTPUT_CACHE ExecResp_CacheSource = 3
)
var ExecResp_CacheSource_name = map[int32]string{
0: "NO_CACHE",
1: "MEM_CACHE",
2: "STORAGE_CACHE",
3: "LOCAL_OUTPUT_CACHE",
}
var ExecResp_CacheSource_value = map[string]int32{
"NO_CACHE": 0,
"MEM_CACHE": 1,
"STORAGE_CACHE": 2,
"LOCAL_OUTPUT_CACHE": 3,
}
func (x ExecResp_CacheSource) Enum() *ExecResp_CacheSource {
p := new(ExecResp_CacheSource)
*p = x
return p
}
func (x ExecResp_CacheSource) String() string {
return proto.EnumName(ExecResp_CacheSource_name, int32(x))
}
func (x *ExecResp_CacheSource) UnmarshalJSON(data []byte) error {
value, err := proto.UnmarshalJSONEnum(ExecResp_CacheSource_value, data, "ExecResp_CacheSource")
if err != nil {
return err
}
*x = ExecResp_CacheSource(value)
return nil
}
func (ExecResp_CacheSource) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{9, 2}
}
// hash_key = sha256(serialized FileBlob)
//
// for small file (< 2MB)
// blob_type=FILE, !has_offset(), has_content()
// has_file_size(), hash_key_size() == 0
// for large file
// blob_type=FILE_META, !has_offset(), !has_content()
// has_file_size(), hash_key_size() > 0
// for each hash_key(i)
// blob_type=FILE_CHUNK, has_offset(), has_content(),
// has_file_size(), hash_key_size() == 0
type FileBlob struct {
BlobType *FileBlob_BlobType `protobuf:"varint,1,req,name=blob_type,json=blobType,enum=devtools_goma.FileBlob_BlobType" json:"blob_type,omitempty"`
// for blob_type=FILE_CHUNK
Offset *int64 `protobuf:"varint,10,opt,name=offset" json:"offset,omitempty"`
// for blob_type=FILE or FILE_CHUNK
Content []byte `protobuf:"bytes,11,opt,name=content" json:"content,omitempty"`
// for all blob_types
FileSize *int64 `protobuf:"varint,20,opt,name=file_size,json=fileSize" json:"file_size,omitempty"`
// for blob_type=FILE_META. hash_key is FileBlob hash of FILE_CHUNK.
HashKey []string `protobuf:"bytes,21,rep,name=hash_key,json=hashKey" json:"hash_key,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *FileBlob) Reset() { *m = FileBlob{} }
func (m *FileBlob) String() string { return proto.CompactTextString(m) }
func (*FileBlob) ProtoMessage() {}
func (*FileBlob) Descriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{0}
}
func (m *FileBlob) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FileBlob.Unmarshal(m, b)
}
func (m *FileBlob) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_FileBlob.Marshal(b, m, deterministic)
}
func (m *FileBlob) XXX_Merge(src proto.Message) {
xxx_messageInfo_FileBlob.Merge(m, src)
}
func (m *FileBlob) XXX_Size() int {
return xxx_messageInfo_FileBlob.Size(m)
}
func (m *FileBlob) XXX_DiscardUnknown() {
xxx_messageInfo_FileBlob.DiscardUnknown(m)
}
var xxx_messageInfo_FileBlob proto.InternalMessageInfo
func (m *FileBlob) GetBlobType() FileBlob_BlobType {
if m != nil && m.BlobType != nil {
return *m.BlobType
}
return FileBlob_FILE_UNSPECIFIED
}
func (m *FileBlob) GetOffset() int64 {
if m != nil && m.Offset != nil {
return *m.Offset
}
return 0
}
func (m *FileBlob) GetContent() []byte {
if m != nil {
return m.Content
}
return nil
}
func (m *FileBlob) GetFileSize() int64 {
if m != nil && m.FileSize != nil {
return *m.FileSize
}
return 0
}
func (m *FileBlob) GetHashKey() []string {
if m != nil {
return m.HashKey
}
return nil
}
// Goma backend selects compiler with CommandSpec.
// NEXT ID TO USE: 14
type CommandSpec struct {
Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
// path, version number and architecture.
Version *string `protobuf:"bytes,2,opt,name=version" json:"version,omitempty"`
Target *string `protobuf:"bytes,3,opt,name=target" json:"target,omitempty"`
// Binary size of the command.
// Necessary if toolchain is sent to the server.
// TODO: Now that we have ToolchainSpec, this is not necessary.
Size *int64 `protobuf:"varint,13,opt,name=size" json:"size,omitempty"`
// The followings will be used to request more specific version of
// command, populated by compiler_proxy.
BinaryHash []byte `protobuf:"bytes,4,opt,name=binary_hash,json=binaryHash" json:"binary_hash,omitempty"`
// A list of alternative hashes. This field will be used when
// multiple binaries can be considered the same. For example, linux
// android gcc will be used even if a user is using goma from
// mac. For such cases, we should fill this field with binary hash
// of mac gcc.
EquivalentHash [][]byte `protobuf:"bytes,11,rep,name=equivalent_hash,json=equivalentHash" json:"equivalent_hash,omitempty"`
DetailedInfo *string `protobuf:"bytes,5,opt,name=detailed_info,json=detailedInfo" json:"detailed_info,omitempty"`
// Tell compiler_proxy what the path to local 'gcc' (not goma gcc)
// is, populated by gomacc.cc and consumed by compiler_proxy
LocalCompilerPath *string `protobuf:"bytes,6,opt,name=local_compiler_path,json=localCompilerPath" json:"local_compiler_path,omitempty"`
// Compiler system include paths (sent from compiler_proxy).
// Note that system include paths can be a relative path from cwd.
// For Windows NaCl, it could also be a relative path from toolchain root.
SystemIncludePath []string `protobuf:"bytes,7,rep,name=system_include_path,json=systemIncludePath" json:"system_include_path,omitempty"`
CxxSystemIncludePath []string `protobuf:"bytes,8,rep,name=cxx_system_include_path,json=cxxSystemIncludePath" json:"cxx_system_include_path,omitempty"`
SystemFrameworkPath []string `protobuf:"bytes,9,rep,name=system_framework_path,json=systemFrameworkPath" json:"system_framework_path,omitempty"`
// Compiler system library paths
SystemLibraryPath []string `protobuf:"bytes,12,rep,name=system_library_path,json=systemLibraryPath" json:"system_library_path,omitempty"`
// An optional label of this command for logging/monitoring purpose.
Comment *string `protobuf:"bytes,10,opt,name=comment" json:"comment,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CommandSpec) Reset() { *m = CommandSpec{} }
func (m *CommandSpec) String() string { return proto.CompactTextString(m) }
func (*CommandSpec) ProtoMessage() {}
func (*CommandSpec) Descriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{1}
}
func (m *CommandSpec) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CommandSpec.Unmarshal(m, b)
}
func (m *CommandSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CommandSpec.Marshal(b, m, deterministic)
}
func (m *CommandSpec) XXX_Merge(src proto.Message) {
xxx_messageInfo_CommandSpec.Merge(m, src)
}
func (m *CommandSpec) XXX_Size() int {
return xxx_messageInfo_CommandSpec.Size(m)
}
func (m *CommandSpec) XXX_DiscardUnknown() {
xxx_messageInfo_CommandSpec.DiscardUnknown(m)
}
var xxx_messageInfo_CommandSpec proto.InternalMessageInfo
func (m *CommandSpec) GetName() string {
if m != nil && m.Name != nil {
return *m.Name
}
return ""
}
func (m *CommandSpec) GetVersion() string {
if m != nil && m.Version != nil {
return *m.Version
}
return ""
}
func (m *CommandSpec) GetTarget() string {
if m != nil && m.Target != nil {
return *m.Target
}
return ""
}
func (m *CommandSpec) GetSize() int64 {
if m != nil && m.Size != nil {
return *m.Size
}
return 0
}
func (m *CommandSpec) GetBinaryHash() []byte {
if m != nil {
return m.BinaryHash
}
return nil
}
func (m *CommandSpec) GetEquivalentHash() [][]byte {
if m != nil {
return m.EquivalentHash
}
return nil
}
func (m *CommandSpec) GetDetailedInfo() string {
if m != nil && m.DetailedInfo != nil {
return *m.DetailedInfo
}
return ""
}
func (m *CommandSpec) GetLocalCompilerPath() string {
if m != nil && m.LocalCompilerPath != nil {
return *m.LocalCompilerPath
}
return ""
}
func (m *CommandSpec) GetSystemIncludePath() []string {
if m != nil {
return m.SystemIncludePath
}
return nil
}
func (m *CommandSpec) GetCxxSystemIncludePath() []string {
if m != nil {
return m.CxxSystemIncludePath
}
return nil
}
func (m *CommandSpec) GetSystemFrameworkPath() []string {
if m != nil {
return m.SystemFrameworkPath
}
return nil
}
func (m *CommandSpec) GetSystemLibraryPath() []string {
if m != nil {
return m.SystemLibraryPath
}
return nil
}
func (m *CommandSpec) GetComment() string {
if m != nil && m.Comment != nil {
return *m.Comment
}
return ""
}
type SubprogramSpec struct {
// full path (in client filesystem)
// or basename (in result when default subprogram is used).
Path *string `protobuf:"bytes,1,opt,name=path" json:"path,omitempty"`
BinaryHash *string `protobuf:"bytes,2,opt,name=binary_hash,json=binaryHash" json:"binary_hash,omitempty"`
// Binary size of the subprogram.
Size *int64 `protobuf:"varint,3,opt,name=size" json:"size,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SubprogramSpec) Reset() { *m = SubprogramSpec{} }
func (m *SubprogramSpec) String() string { return proto.CompactTextString(m) }
func (*SubprogramSpec) ProtoMessage() {}
func (*SubprogramSpec) Descriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{2}
}
func (m *SubprogramSpec) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SubprogramSpec.Unmarshal(m, b)
}
func (m *SubprogramSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SubprogramSpec.Marshal(b, m, deterministic)
}
func (m *SubprogramSpec) XXX_Merge(src proto.Message) {
xxx_messageInfo_SubprogramSpec.Merge(m, src)
}
func (m *SubprogramSpec) XXX_Size() int {
return xxx_messageInfo_SubprogramSpec.Size(m)
}
func (m *SubprogramSpec) XXX_DiscardUnknown() {
xxx_messageInfo_SubprogramSpec.DiscardUnknown(m)
}
var xxx_messageInfo_SubprogramSpec proto.InternalMessageInfo
func (m *SubprogramSpec) GetPath() string {
if m != nil && m.Path != nil {
return *m.Path
}
return ""
}
func (m *SubprogramSpec) GetBinaryHash() string {
if m != nil && m.BinaryHash != nil {
return *m.BinaryHash
}
return ""
}
func (m *SubprogramSpec) GetSize() int64 {
if m != nil && m.Size != nil {
return *m.Size
}
return 0
}
// Experimental.
// Specifies toolchain specification.
// This spec is necessary only if toolchain is also uploaded.
type ToolchainSpec struct {
// path to toolchain. Relative path from ExecReq::cwd or Absolute path.
Path *string `protobuf:"bytes,1,opt,name=path" json:"path,omitempty"`
// SHA256 hash of the toolchain.
Hash *string `protobuf:"bytes,2,opt,name=hash" json:"hash,omitempty"`
// file size of toolchain (in bytes).
Size *int64 `protobuf:"varint,3,opt,name=size" json:"size,omitempty"`
// true if the toolchain has 'x' bit.
IsExecutable *bool `protobuf:"varint,4,opt,name=is_executable,json=isExecutable" json:"is_executable,omitempty"`
// If this spec is a symlink, set this path.
// hash, size, and is_executable should be empty in this case.
// If this spec is not a symlink, this should be empty.
SymlinkPath *string `protobuf:"bytes,5,opt,name=symlink_path,json=symlinkPath" json:"symlink_path,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ToolchainSpec) Reset() { *m = ToolchainSpec{} }
func (m *ToolchainSpec) String() string { return proto.CompactTextString(m) }
func (*ToolchainSpec) ProtoMessage() {}
func (*ToolchainSpec) Descriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{3}
}
func (m *ToolchainSpec) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ToolchainSpec.Unmarshal(m, b)
}
func (m *ToolchainSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ToolchainSpec.Marshal(b, m, deterministic)
}
func (m *ToolchainSpec) XXX_Merge(src proto.Message) {
xxx_messageInfo_ToolchainSpec.Merge(m, src)
}
func (m *ToolchainSpec) XXX_Size() int {
return xxx_messageInfo_ToolchainSpec.Size(m)
}
func (m *ToolchainSpec) XXX_DiscardUnknown() {
xxx_messageInfo_ToolchainSpec.DiscardUnknown(m)
}
var xxx_messageInfo_ToolchainSpec proto.InternalMessageInfo
func (m *ToolchainSpec) GetPath() string {
if m != nil && m.Path != nil {
return *m.Path
}
return ""
}
func (m *ToolchainSpec) GetHash() string {
if m != nil && m.Hash != nil {
return *m.Hash
}
return ""
}
func (m *ToolchainSpec) GetSize() int64 {
if m != nil && m.Size != nil {
return *m.Size
}
return 0
}
func (m *ToolchainSpec) GetIsExecutable() bool {
if m != nil && m.IsExecutable != nil {
return *m.IsExecutable
}
return false
}
func (m *ToolchainSpec) GetSymlinkPath() string {
if m != nil && m.SymlinkPath != nil {
return *m.SymlinkPath
}
return ""
}
type ExecResult struct {
ExitStatus *int32 `protobuf:"varint,1,req,name=exit_status,json=exitStatus,def=-1" json:"exit_status,omitempty"`
StdoutBuffer []byte `protobuf:"bytes,2,opt,name=stdout_buffer,json=stdoutBuffer" json:"stdout_buffer,omitempty"`
StderrBuffer []byte `protobuf:"bytes,3,opt,name=stderr_buffer,json=stderrBuffer" json:"stderr_buffer,omitempty"`
CommandSpec *CommandSpec `protobuf:"bytes,4,opt,name=command_spec,json=commandSpec" json:"command_spec,omitempty"`
// subprograms that were used in compilation.
Subprogram []*SubprogramSpec `protobuf:"bytes,5,rep,name=subprogram" json:"subprogram,omitempty"`
Output []*ExecResult_Output `protobuf:"group,10,rep,name=Output,json=output" json:"output,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ExecResult) Reset() { *m = ExecResult{} }
func (m *ExecResult) String() string { return proto.CompactTextString(m) }
func (*ExecResult) ProtoMessage() {}
func (*ExecResult) Descriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{4}
}
func (m *ExecResult) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ExecResult.Unmarshal(m, b)
}
func (m *ExecResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ExecResult.Marshal(b, m, deterministic)
}
func (m *ExecResult) XXX_Merge(src proto.Message) {
xxx_messageInfo_ExecResult.Merge(m, src)
}
func (m *ExecResult) XXX_Size() int {
return xxx_messageInfo_ExecResult.Size(m)
}
func (m *ExecResult) XXX_DiscardUnknown() {
xxx_messageInfo_ExecResult.DiscardUnknown(m)
}
var xxx_messageInfo_ExecResult proto.InternalMessageInfo
const Default_ExecResult_ExitStatus int32 = -1
func (m *ExecResult) GetExitStatus() int32 {
if m != nil && m.ExitStatus != nil {
return *m.ExitStatus
}
return Default_ExecResult_ExitStatus
}
func (m *ExecResult) GetStdoutBuffer() []byte {
if m != nil {
return m.StdoutBuffer
}
return nil
}
func (m *ExecResult) GetStderrBuffer() []byte {
if m != nil {
return m.StderrBuffer
}
return nil
}
func (m *ExecResult) GetCommandSpec() *CommandSpec {
if m != nil {
return m.CommandSpec
}
return nil
}
func (m *ExecResult) GetSubprogram() []*SubprogramSpec {
if m != nil {
return m.Subprogram
}
return nil
}
func (m *ExecResult) GetOutput() []*ExecResult_Output {
if m != nil {
return m.Output
}
return nil
}
type ExecResult_Output struct {
// TODO: We might want to normalize this path to relative path?
Filename *string `protobuf:"bytes,11,opt,name=filename" json:"filename,omitempty"`
// if blob.blob_type=FILE_META, client need to request blob.hash_key() later
Blob *FileBlob `protobuf:"bytes,12,opt,name=blob" json:"blob,omitempty"`
IsExecutable *bool `protobuf:"varint,13,opt,name=is_executable,json=isExecutable,def=0" json:"is_executable,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ExecResult_Output) Reset() { *m = ExecResult_Output{} }
func (m *ExecResult_Output) String() string { return proto.CompactTextString(m) }
func (*ExecResult_Output) ProtoMessage() {}
func (*ExecResult_Output) Descriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{4, 0}
}
func (m *ExecResult_Output) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ExecResult_Output.Unmarshal(m, b)
}
func (m *ExecResult_Output) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ExecResult_Output.Marshal(b, m, deterministic)
}
func (m *ExecResult_Output) XXX_Merge(src proto.Message) {
xxx_messageInfo_ExecResult_Output.Merge(m, src)
}
func (m *ExecResult_Output) XXX_Size() int {
return xxx_messageInfo_ExecResult_Output.Size(m)
}
func (m *ExecResult_Output) XXX_DiscardUnknown() {
xxx_messageInfo_ExecResult_Output.DiscardUnknown(m)
}
var xxx_messageInfo_ExecResult_Output proto.InternalMessageInfo
const Default_ExecResult_Output_IsExecutable bool = false
func (m *ExecResult_Output) GetFilename() string {
if m != nil && m.Filename != nil {
return *m.Filename
}
return ""
}
func (m *ExecResult_Output) GetBlob() *FileBlob {
if m != nil {
return m.Blob
}
return nil
}
func (m *ExecResult_Output) GetIsExecutable() bool {
if m != nil && m.IsExecutable != nil {
return *m.IsExecutable
}
return Default_ExecResult_Output_IsExecutable
}
// NEXT ID TO USE: 12
type RequesterInfo struct {
Addr *string `protobuf:"bytes,1,opt,name=addr" json:"addr,omitempty"`
Username *string `protobuf:"bytes,2,opt,name=username" json:"username,omitempty"`
// Identifier for each compiler_proxy request.
CompilerProxyId *string `protobuf:"bytes,3,opt,name=compiler_proxy_id,json=compilerProxyId" json:"compiler_proxy_id,omitempty"`
// Can't use [default=CURRENT_VERSION] since GomaApiVersion is not int32.
ApiVersion *int32 `protobuf:"varint,4,opt,name=api_version,json=apiVersion,def=2" json:"api_version,omitempty"`
Pid *int32 `protobuf:"varint,5,opt,name=pid" json:"pid,omitempty"`
// # of retry. 0 is first call.
Retry *int32 `protobuf:"varint,7,opt,name=retry" json:"retry,omitempty"`
GomaRevision *string `protobuf:"bytes,8,opt,name=goma_revision,json=gomaRevision" json:"goma_revision,omitempty"`
// Unique ID per build.
// Client should set unique identifier of the build in this field.
//
// Note to LUCI users: since there could be multiple compile steps for
// recipes, you cannot use buildbucket build_id here.
BuildId *string `protobuf:"bytes,9,opt,name=build_id,json=buildId" json:"build_id,omitempty"`
// Requester's dimensions. Each dimension is a "<key>:<value>" pair.
//
// `dimensions` can define the constraint of the remote machine.
// e.g. "os":"linux".
//
// Inspired from swarming bot dimensions.
// https://cs.chromium.org/chromium/infra/luci/appengine/swarming/proto/bots.proto
Dimensions []string `protobuf:"bytes,10,rep,name=dimensions" json:"dimensions,omitempty"`
// Requester's path style.
PathStyle *RequesterInfo_PathStyle `protobuf:"varint,11,opt,name=path_style,json=pathStyle,enum=devtools_goma.RequesterInfo_PathStyle" json:"path_style,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RequesterInfo) Reset() { *m = RequesterInfo{} }
func (m *RequesterInfo) String() string { return proto.CompactTextString(m) }
func (*RequesterInfo) ProtoMessage() {}
func (*RequesterInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{5}
}
func (m *RequesterInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RequesterInfo.Unmarshal(m, b)
}
func (m *RequesterInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RequesterInfo.Marshal(b, m, deterministic)
}
func (m *RequesterInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_RequesterInfo.Merge(m, src)
}
func (m *RequesterInfo) XXX_Size() int {
return xxx_messageInfo_RequesterInfo.Size(m)
}
func (m *RequesterInfo) XXX_DiscardUnknown() {
xxx_messageInfo_RequesterInfo.DiscardUnknown(m)
}
var xxx_messageInfo_RequesterInfo proto.InternalMessageInfo
const Default_RequesterInfo_ApiVersion int32 = 2
func (m *RequesterInfo) GetAddr() string {
if m != nil && m.Addr != nil {
return *m.Addr
}
return ""
}
func (m *RequesterInfo) GetUsername() string {
if m != nil && m.Username != nil {
return *m.Username
}
return ""
}
func (m *RequesterInfo) GetCompilerProxyId() string {
if m != nil && m.CompilerProxyId != nil {
return *m.CompilerProxyId
}
return ""
}
func (m *RequesterInfo) GetApiVersion() int32 {
if m != nil && m.ApiVersion != nil {
return *m.ApiVersion
}
return Default_RequesterInfo_ApiVersion
}
func (m *RequesterInfo) GetPid() int32 {
if m != nil && m.Pid != nil {
return *m.Pid
}
return 0
}
func (m *RequesterInfo) GetRetry() int32 {
if m != nil && m.Retry != nil {
return *m.Retry
}
return 0
}
func (m *RequesterInfo) GetGomaRevision() string {
if m != nil && m.GomaRevision != nil {
return *m.GomaRevision
}
return ""
}
func (m *RequesterInfo) GetBuildId() string {
if m != nil && m.BuildId != nil {
return *m.BuildId
}
return ""
}
func (m *RequesterInfo) GetDimensions() []string {
if m != nil {
return m.Dimensions
}
return nil
}
func (m *RequesterInfo) GetPathStyle() RequesterInfo_PathStyle {
if m != nil && m.PathStyle != nil {
return *m.PathStyle
}
return RequesterInfo_UNKNOWN_STYLE
}
type RequesterEnv struct {
GomaccPath *string `protobuf:"bytes,41,opt,name=gomacc_path,json=gomaccPath" json:"gomacc_path,omitempty"`
LocalPath *string `protobuf:"bytes,42,opt,name=local_path,json=localPath" json:"local_path,omitempty"`
Umask *int32 `protobuf:"varint,43,opt,name=umask" json:"umask,omitempty"`
VerifyOutput *bool `protobuf:"varint,50,opt,name=verify_output,json=verifyOutput" json:"verify_output,omitempty"`
UseLocal *bool `protobuf:"varint,51,opt,name=use_local,json=useLocal" json:"use_local,omitempty"`
Fallback *bool `protobuf:"varint,52,opt,name=fallback" json:"fallback,omitempty"`
VerifyCommand *string `protobuf:"bytes,53,opt,name=verify_command,json=verifyCommand" json:"verify_command,omitempty"`
FallbackInputFile []string `protobuf:"bytes,60,rep,name=fallback_input_file,json=fallbackInputFile" json:"fallback_input_file,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RequesterEnv) Reset() { *m = RequesterEnv{} }
func (m *RequesterEnv) String() string { return proto.CompactTextString(m) }
func (*RequesterEnv) ProtoMessage() {}
func (*RequesterEnv) Descriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{6}
}
func (m *RequesterEnv) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RequesterEnv.Unmarshal(m, b)
}
func (m *RequesterEnv) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RequesterEnv.Marshal(b, m, deterministic)
}
func (m *RequesterEnv) XXX_Merge(src proto.Message) {
xxx_messageInfo_RequesterEnv.Merge(m, src)
}
func (m *RequesterEnv) XXX_Size() int {
return xxx_messageInfo_RequesterEnv.Size(m)
}
func (m *RequesterEnv) XXX_DiscardUnknown() {
xxx_messageInfo_RequesterEnv.DiscardUnknown(m)
}
var xxx_messageInfo_RequesterEnv proto.InternalMessageInfo
func (m *RequesterEnv) GetGomaccPath() string {
if m != nil && m.GomaccPath != nil {
return *m.GomaccPath
}
return ""
}
func (m *RequesterEnv) GetLocalPath() string {
if m != nil && m.LocalPath != nil {
return *m.LocalPath
}
return ""
}
func (m *RequesterEnv) GetUmask() int32 {
if m != nil && m.Umask != nil {
return *m.Umask
}
return 0
}
func (m *RequesterEnv) GetVerifyOutput() bool {
if m != nil && m.VerifyOutput != nil {
return *m.VerifyOutput
}
return false
}
func (m *RequesterEnv) GetUseLocal() bool {
if m != nil && m.UseLocal != nil {
return *m.UseLocal
}
return false
}
func (m *RequesterEnv) GetFallback() bool {
if m != nil && m.Fallback != nil {
return *m.Fallback
}
return false
}
func (m *RequesterEnv) GetVerifyCommand() string {
if m != nil && m.VerifyCommand != nil {
return *m.VerifyCommand
}
return ""
}
func (m *RequesterEnv) GetFallbackInputFile() []string {
if m != nil {
return m.FallbackInputFile
}
return nil
}
type ExecReq struct {
CommandSpec *CommandSpec `protobuf:"bytes,1,req,name=command_spec,json=commandSpec" json:"command_spec,omitempty"`
Arg []string `protobuf:"bytes,2,rep,name=arg" json:"arg,omitempty"`
Env []string `protobuf:"bytes,3,rep,name=env" json:"env,omitempty"`
Cwd *string `protobuf:"bytes,4,opt,name=cwd" json:"cwd,omitempty"`
Input []*ExecReq_Input `protobuf:"group,10,rep,name=Input,json=input" json:"input,omitempty"`
// The @ notations in arg should be expanded and the result should
// be stored in this field for javac and VC++.
ExpandedArg []string `protobuf:"bytes,14,rep,name=expanded_arg,json=expandedArg" json:"expanded_arg,omitempty"`
// Subprograms that would be used in client. By setting this,
// client could request backend to use the same subprograms.
//
Subprogram []*SubprogramSpec `protobuf:"bytes,15,rep,name=subprogram" json:"subprogram,omitempty"`
RequesterInfo *RequesterInfo `protobuf:"bytes,30,opt,name=requester_info,json=requesterInfo" json:"requester_info,omitempty"`
CachePolicy *ExecReq_CachePolicy `protobuf:"varint,31,opt,name=cache_policy,json=cachePolicy,enum=devtools_goma.ExecReq_CachePolicy,def=1" json:"cache_policy,omitempty"`
// This is passed from gomacc to compiler proxy, and compiler proxy
// clears it before sending ExecReq to goma service.
RequesterEnv *RequesterEnv `protobuf:"bytes,32,opt,name=requester_env,json=requesterEnv" json:"requester_env,omitempty"`
// When hermetic_mode is true, restrict backend use the same compiler
// as local version. Backend should use a compiler package
// that has the same version string and the same binary_hash only.
// If there is no such compilers in backend, it should not run any other
// compiler but returns error: ExecResp contains error messages,
// no command spec and empty missing_input. It isn't rpc error.
HermeticMode *bool `protobuf:"varint,33,opt,name=hermetic_mode,json=hermeticMode" json:"hermetic_mode,omitempty"`
// Requests that the call is traced.
Trace *bool `protobuf:"varint,34,opt,name=trace" json:"trace,omitempty"`
// Expected output files and dirs, which are calculated in CompilerFlags.
// Goma server will return these files and dirs as output.
//
// If files which are not specified here are generated in the server,
// those files will be ignored (so, we can ignore temporary cache file or
// telemetry information).
//
// If files which are specified here are not generated in the server,
// the server just ignores such files. If the specified files do not look
// generated by a compiler, Goma server can return BAD_REQUEST.
//
// If output files and dirs are not specified, the server can calculate
// expected output files and dirs by itself (if possible).
//
// These path must be in client-format.
// Use '/' on Linux and Mac, and use '\\' for Windows.
ExpectedOutputFiles []string `protobuf:"bytes,35,rep,name=expected_output_files,json=expectedOutputFiles" json:"expected_output_files,omitempty"`
ExpectedOutputDirs []string `protobuf:"bytes,36,rep,name=expected_output_dirs,json=expectedOutputDirs" json:"expected_output_dirs,omitempty"`
// EXPERIMENTAL.
// True if ExecReq contains toolchains as input.
ToolchainIncluded *bool `protobuf:"varint,37,opt,name=toolchain_included,json=toolchainIncluded" json:"toolchain_included,omitempty"`
// If ExecReq contains toolchains as input, set toolchain spec.
// toolchain spec should contain all compiler related files except system
// shared objects which are expected to exist in the server side. For
// example, in `clang` case, recent `clang` binary usually contains
// everything, so it is OK to have just `clang`. In `pnacl-clang` case, it
// needs libLLVM.so, and since it is a compiler wrapper, it needs related
// python scripts etc.
// Currently, if `dimensions` is set correctly, we don't need to add
// shared objects in /lib or /usr/lib.
//
// toolchain_specs should contain compiler-driver (which is set in
// command_spec) and subprograms, too.
ToolchainSpecs []*ToolchainSpec `protobuf:"bytes,38,rep,name=toolchain_specs,json=toolchainSpecs" json:"toolchain_specs,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ExecReq) Reset() { *m = ExecReq{} }
func (m *ExecReq) String() string { return proto.CompactTextString(m) }
func (*ExecReq) ProtoMessage() {}
func (*ExecReq) Descriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{7}
}
func (m *ExecReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ExecReq.Unmarshal(m, b)
}
func (m *ExecReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ExecReq.Marshal(b, m, deterministic)
}
func (m *ExecReq) XXX_Merge(src proto.Message) {
xxx_messageInfo_ExecReq.Merge(m, src)
}
func (m *ExecReq) XXX_Size() int {
return xxx_messageInfo_ExecReq.Size(m)
}
func (m *ExecReq) XXX_DiscardUnknown() {
xxx_messageInfo_ExecReq.DiscardUnknown(m)
}
var xxx_messageInfo_ExecReq proto.InternalMessageInfo
const Default_ExecReq_CachePolicy ExecReq_CachePolicy = ExecReq_LOOKUP_AND_STORE
func (m *ExecReq) GetCommandSpec() *CommandSpec {
if m != nil {
return m.CommandSpec
}
return nil
}
func (m *ExecReq) GetArg() []string {
if m != nil {
return m.Arg
}
return nil
}
func (m *ExecReq) GetEnv() []string {
if m != nil {
return m.Env
}
return nil
}
func (m *ExecReq) GetCwd() string {
if m != nil && m.Cwd != nil {
return *m.Cwd
}
return ""
}
func (m *ExecReq) GetInput() []*ExecReq_Input {
if m != nil {
return m.Input
}
return nil
}
func (m *ExecReq) GetExpandedArg() []string {
if m != nil {
return m.ExpandedArg
}
return nil
}
func (m *ExecReq) GetSubprogram() []*SubprogramSpec {
if m != nil {
return m.Subprogram
}
return nil
}
func (m *ExecReq) GetRequesterInfo() *RequesterInfo {
if m != nil {
return m.RequesterInfo
}
return nil
}
func (m *ExecReq) GetCachePolicy() ExecReq_CachePolicy {
if m != nil && m.CachePolicy != nil {
return *m.CachePolicy
}
return Default_ExecReq_CachePolicy
}
func (m *ExecReq) GetRequesterEnv() *RequesterEnv {
if m != nil {
return m.RequesterEnv
}
return nil
}
func (m *ExecReq) GetHermeticMode() bool {
if m != nil && m.HermeticMode != nil {
return *m.HermeticMode
}
return false
}
func (m *ExecReq) GetTrace() bool {
if m != nil && m.Trace != nil {
return *m.Trace
}
return false
}
func (m *ExecReq) GetExpectedOutputFiles() []string {
if m != nil {
return m.ExpectedOutputFiles
}
return nil
}
func (m *ExecReq) GetExpectedOutputDirs() []string {
if m != nil {
return m.ExpectedOutputDirs
}
return nil
}
func (m *ExecReq) GetToolchainIncluded() bool {
if m != nil && m.ToolchainIncluded != nil {
return *m.ToolchainIncluded
}
return false
}
func (m *ExecReq) GetToolchainSpecs() []*ToolchainSpec {
if m != nil {
return m.ToolchainSpecs
}
return nil
}
type ExecReq_Input struct {
Filename *string `protobuf:"bytes,11,opt,name=filename" json:"filename,omitempty"`
HashKey *string `protobuf:"bytes,12,req,name=hash_key,json=hashKey" json:"hash_key,omitempty"`
Content *FileBlob `protobuf:"bytes,13,opt,name=content" json:"content,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ExecReq_Input) Reset() { *m = ExecReq_Input{} }
func (m *ExecReq_Input) String() string { return proto.CompactTextString(m) }
func (*ExecReq_Input) ProtoMessage() {}
func (*ExecReq_Input) Descriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{7, 0}
}
func (m *ExecReq_Input) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ExecReq_Input.Unmarshal(m, b)
}
func (m *ExecReq_Input) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ExecReq_Input.Marshal(b, m, deterministic)
}
func (m *ExecReq_Input) XXX_Merge(src proto.Message) {
xxx_messageInfo_ExecReq_Input.Merge(m, src)
}
func (m *ExecReq_Input) XXX_Size() int {
return xxx_messageInfo_ExecReq_Input.Size(m)
}
func (m *ExecReq_Input) XXX_DiscardUnknown() {
xxx_messageInfo_ExecReq_Input.DiscardUnknown(m)
}
var xxx_messageInfo_ExecReq_Input proto.InternalMessageInfo
func (m *ExecReq_Input) GetFilename() string {
if m != nil && m.Filename != nil {
return *m.Filename
}
return ""
}
func (m *ExecReq_Input) GetHashKey() string {
if m != nil && m.HashKey != nil {
return *m.HashKey
}
return ""
}
func (m *ExecReq_Input) GetContent() *FileBlob {
if m != nil {
return m.Content
}
return nil
}
type MultiExecReq struct {
Req []*ExecReq `protobuf:"bytes,1,rep,name=req" json:"req,omitempty"`
RequesterInfo *RequesterInfo `protobuf:"bytes,10,opt,name=requester_info,json=requesterInfo" json:"requester_info,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *MultiExecReq) Reset() { *m = MultiExecReq{} }
func (m *MultiExecReq) String() string { return proto.CompactTextString(m) }
func (*MultiExecReq) ProtoMessage() {}
func (*MultiExecReq) Descriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{8}
}
func (m *MultiExecReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MultiExecReq.Unmarshal(m, b)
}
func (m *MultiExecReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_MultiExecReq.Marshal(b, m, deterministic)
}
func (m *MultiExecReq) XXX_Merge(src proto.Message) {
xxx_messageInfo_MultiExecReq.Merge(m, src)
}
func (m *MultiExecReq) XXX_Size() int {
return xxx_messageInfo_MultiExecReq.Size(m)
}
func (m *MultiExecReq) XXX_DiscardUnknown() {
xxx_messageInfo_MultiExecReq.DiscardUnknown(m)
}
var xxx_messageInfo_MultiExecReq proto.InternalMessageInfo
func (m *MultiExecReq) GetReq() []*ExecReq {
if m != nil {
return m.Req
}
return nil
}
func (m *MultiExecReq) GetRequesterInfo() *RequesterInfo {
if m != nil {
return m.RequesterInfo
}
return nil
}
type ExecResp struct {
Result *ExecResult `protobuf:"bytes,1,opt,name=result" json:"result,omitempty"`
Error *ExecResp_ExecError `protobuf:"varint,2,opt,name=error,enum=devtools_goma.ExecResp_ExecError,def=0" json:"error,omitempty"`
BadRequestReasonCode *ExecResp_BadRequestReasonCode `protobuf:"varint,3,opt,name=bad_request_reason_code,json=badRequestReasonCode,enum=devtools_goma.ExecResp_BadRequestReasonCode,def=0" json:"bad_request_reason_code,omitempty"`
MissingInput []string `protobuf:"bytes,11,rep,name=missing_input,json=missingInput" json:"missing_input,omitempty"`
MissingReason []string `protobuf:"bytes,15,rep,name=missing_reason,json=missingReason" json:"missing_reason,omitempty"`
ErrorMessage []string `protobuf:"bytes,12,rep,name=error_message,json=errorMessage" json:"error_message,omitempty"`
ForceStoreOutputFileForUnmatchedHash *bool `protobuf:"varint,13,opt,name=force_store_output_file_for_unmatched_hash,json=forceStoreOutputFileForUnmatchedHash,def=0" json:"force_store_output_file_for_unmatched_hash,omitempty"`
ForceStoreOutputFileForUnmatchedVersion *bool `protobuf:"varint,14,opt,name=force_store_output_file_for_unmatched_version,json=forceStoreOutputFileForUnmatchedVersion,def=0" json:"force_store_output_file_for_unmatched_version,omitempty"`
ForceStoreOutputFileForUnmatchedSubprograms *bool `protobuf:"varint,16,opt,name=force_store_output_file_for_unmatched_subprograms,json=forceStoreOutputFileForUnmatchedSubprograms,def=0" json:"force_store_output_file_for_unmatched_subprograms,omitempty"`
// for trace
CacheKey *string `protobuf:"bytes,21,opt,name=cache_key,json=cacheKey" json:"cache_key,omitempty"`
CacheHit *ExecResp_CacheSource `protobuf:"varint,27,opt,name=cache_hit,json=cacheHit,enum=devtools_goma.ExecResp_CacheSource" json:"cache_hit,omitempty"`
// requester's compiler_proxy_id.
// for cached resp, it is the original requester, not current requester.
RequesterCompilerProxyId *string `protobuf:"bytes,26,opt,name=requester_compiler_proxy_id,json=requesterCompilerProxyId" json:"requester_compiler_proxy_id,omitempty"`
// Time at compiler_proxy
CompilerProxyTime *float64 `protobuf:"fixed64,50,opt,name=compiler_proxy_time,json=compilerProxyTime" json:"compiler_proxy_time,omitempty"`
CompilerProxyIncludePreprocTime *float64 `protobuf:"fixed64,51,opt,name=compiler_proxy_include_preproc_time,json=compilerProxyIncludePreprocTime" json:"compiler_proxy_include_preproc_time,omitempty"`
CompilerProxyIncludeFileloadTime *float64 `protobuf:"fixed64,52,opt,name=compiler_proxy_include_fileload_time,json=compilerProxyIncludeFileloadTime" json:"compiler_proxy_include_fileload_time,omitempty"`
CompilerProxyRpcCallTime *float64 `protobuf:"fixed64,53,opt,name=compiler_proxy_rpc_call_time,json=compilerProxyRpcCallTime" json:"compiler_proxy_rpc_call_time,omitempty"`
CompilerProxyFileResponseTime *float64 `protobuf:"fixed64,54,opt,name=compiler_proxy_file_response_time,json=compilerProxyFileResponseTime" json:"compiler_proxy_file_response_time,omitempty"`
CompilerProxyRpcBuildTime *float64 `protobuf:"fixed64,55,opt,name=compiler_proxy_rpc_build_time,json=compilerProxyRpcBuildTime" json:"compiler_proxy_rpc_build_time,omitempty"`
CompilerProxyRpcSendTime *float64 `protobuf:"fixed64,56,opt,name=compiler_proxy_rpc_send_time,json=compilerProxyRpcSendTime" json:"compiler_proxy_rpc_send_time,omitempty"`
CompilerProxyRpcWaitTime *float64 `protobuf:"fixed64,57,opt,name=compiler_proxy_rpc_wait_time,json=compilerProxyRpcWaitTime" json:"compiler_proxy_rpc_wait_time,omitempty"`
CompilerProxyRpcRecvTime *float64 `protobuf:"fixed64,58,opt,name=compiler_proxy_rpc_recv_time,json=compilerProxyRpcRecvTime" json:"compiler_proxy_rpc_recv_time,omitempty"`
CompilerProxyRpcParseTime *float64 `protobuf:"fixed64,59,opt,name=compiler_proxy_rpc_parse_time,json=compilerProxyRpcParseTime" json:"compiler_proxy_rpc_parse_time,omitempty"`
CompilerProxyLocalPendingTime *float64 `protobuf:"fixed64,60,opt,name=compiler_proxy_local_pending_time,json=compilerProxyLocalPendingTime" json:"compiler_proxy_local_pending_time,omitempty"`
CompilerProxyLocalRunTime *float64 `protobuf:"fixed64,61,opt,name=compiler_proxy_local_run_time,json=compilerProxyLocalRunTime" json:"compiler_proxy_local_run_time,omitempty"`
CompilerProxyGomaFinished *bool `protobuf:"varint,70,opt,name=compiler_proxy_goma_finished,json=compilerProxyGomaFinished" json:"compiler_proxy_goma_finished,omitempty"`
CompilerProxyGomaCacheHit *bool `protobuf:"varint,71,opt,name=compiler_proxy_goma_cache_hit,json=compilerProxyGomaCacheHit" json:"compiler_proxy_goma_cache_hit,omitempty"`
CompilerProxyGomaAborted *bool `protobuf:"varint,72,opt,name=compiler_proxy_goma_aborted,json=compilerProxyGomaAborted" json:"compiler_proxy_goma_aborted,omitempty"`
CompilerProxyGomaError *bool `protobuf:"varint,73,opt,name=compiler_proxy_goma_error,json=compilerProxyGomaError" json:"compiler_proxy_goma_error,omitempty"`
CompilerProxyLocalFinished *bool `protobuf:"varint,74,opt,name=compiler_proxy_local_finished,json=compilerProxyLocalFinished" json:"compiler_proxy_local_finished,omitempty"`
CompilerProxyLocalRun *bool `protobuf:"varint,75,opt,name=compiler_proxy_local_run,json=compilerProxyLocalRun" json:"compiler_proxy_local_run,omitempty"`
CompilerProxyLocalKilled *bool `protobuf:"varint,76,opt,name=compiler_proxy_local_killed,json=compilerProxyLocalKilled" json:"compiler_proxy_local_killed,omitempty"`
CompilerProxyExecRequestRetry *int32 `protobuf:"varint,80,opt,name=compiler_proxy_exec_request_retry,json=compilerProxyExecRequestRetry" json:"compiler_proxy_exec_request_retry,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ExecResp) Reset() { *m = ExecResp{} }
func (m *ExecResp) String() string { return proto.CompactTextString(m) }
func (*ExecResp) ProtoMessage() {}
func (*ExecResp) Descriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{9}
}
func (m *ExecResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ExecResp.Unmarshal(m, b)
}
func (m *ExecResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ExecResp.Marshal(b, m, deterministic)
}
func (m *ExecResp) XXX_Merge(src proto.Message) {
xxx_messageInfo_ExecResp.Merge(m, src)
}
func (m *ExecResp) XXX_Size() int {
return xxx_messageInfo_ExecResp.Size(m)
}
func (m *ExecResp) XXX_DiscardUnknown() {
xxx_messageInfo_ExecResp.DiscardUnknown(m)
}
var xxx_messageInfo_ExecResp proto.InternalMessageInfo
const Default_ExecResp_Error ExecResp_ExecError = ExecResp_OK
const Default_ExecResp_BadRequestReasonCode ExecResp_BadRequestReasonCode = ExecResp_UNKNOWN
const Default_ExecResp_ForceStoreOutputFileForUnmatchedHash bool = false
const Default_ExecResp_ForceStoreOutputFileForUnmatchedVersion bool = false
const Default_ExecResp_ForceStoreOutputFileForUnmatchedSubprograms bool = false
func (m *ExecResp) GetResult() *ExecResult {
if m != nil {
return m.Result
}
return nil
}
func (m *ExecResp) GetError() ExecResp_ExecError {
if m != nil && m.Error != nil {
return *m.Error
}
return Default_ExecResp_Error
}
func (m *ExecResp) GetBadRequestReasonCode() ExecResp_BadRequestReasonCode {
if m != nil && m.BadRequestReasonCode != nil {
return *m.BadRequestReasonCode
}
return Default_ExecResp_BadRequestReasonCode
}
func (m *ExecResp) GetMissingInput() []string {
if m != nil {
return m.MissingInput
}
return nil
}
func (m *ExecResp) GetMissingReason() []string {
if m != nil {
return m.MissingReason
}
return nil
}
func (m *ExecResp) GetErrorMessage() []string {
if m != nil {
return m.ErrorMessage
}
return nil
}
func (m *ExecResp) GetForceStoreOutputFileForUnmatchedHash() bool {
if m != nil && m.ForceStoreOutputFileForUnmatchedHash != nil {
return *m.ForceStoreOutputFileForUnmatchedHash
}
return Default_ExecResp_ForceStoreOutputFileForUnmatchedHash
}
func (m *ExecResp) GetForceStoreOutputFileForUnmatchedVersion() bool {
if m != nil && m.ForceStoreOutputFileForUnmatchedVersion != nil {
return *m.ForceStoreOutputFileForUnmatchedVersion
}
return Default_ExecResp_ForceStoreOutputFileForUnmatchedVersion
}
func (m *ExecResp) GetForceStoreOutputFileForUnmatchedSubprograms() bool {
if m != nil && m.ForceStoreOutputFileForUnmatchedSubprograms != nil {
return *m.ForceStoreOutputFileForUnmatchedSubprograms
}
return Default_ExecResp_ForceStoreOutputFileForUnmatchedSubprograms
}
func (m *ExecResp) GetCacheKey() string {
if m != nil && m.CacheKey != nil {
return *m.CacheKey
}
return ""
}
func (m *ExecResp) GetCacheHit() ExecResp_CacheSource {
if m != nil && m.CacheHit != nil {
return *m.CacheHit
}
return ExecResp_NO_CACHE
}
func (m *ExecResp) GetRequesterCompilerProxyId() string {
if m != nil && m.RequesterCompilerProxyId != nil {
return *m.RequesterCompilerProxyId
}
return ""
}
func (m *ExecResp) GetCompilerProxyTime() float64 {
if m != nil && m.CompilerProxyTime != nil {
return *m.CompilerProxyTime
}
return 0
}
func (m *ExecResp) GetCompilerProxyIncludePreprocTime() float64 {
if m != nil && m.CompilerProxyIncludePreprocTime != nil {
return *m.CompilerProxyIncludePreprocTime
}
return 0
}
func (m *ExecResp) GetCompilerProxyIncludeFileloadTime() float64 {
if m != nil && m.CompilerProxyIncludeFileloadTime != nil {
return *m.CompilerProxyIncludeFileloadTime
}
return 0
}
func (m *ExecResp) GetCompilerProxyRpcCallTime() float64 {
if m != nil && m.CompilerProxyRpcCallTime != nil {
return *m.CompilerProxyRpcCallTime
}
return 0
}
func (m *ExecResp) GetCompilerProxyFileResponseTime() float64 {
if m != nil && m.CompilerProxyFileResponseTime != nil {
return *m.CompilerProxyFileResponseTime
}
return 0
}
func (m *ExecResp) GetCompilerProxyRpcBuildTime() float64 {
if m != nil && m.CompilerProxyRpcBuildTime != nil {
return *m.CompilerProxyRpcBuildTime
}
return 0
}
func (m *ExecResp) GetCompilerProxyRpcSendTime() float64 {
if m != nil && m.CompilerProxyRpcSendTime != nil {
return *m.CompilerProxyRpcSendTime
}
return 0
}
func (m *ExecResp) GetCompilerProxyRpcWaitTime() float64 {
if m != nil && m.CompilerProxyRpcWaitTime != nil {
return *m.CompilerProxyRpcWaitTime
}
return 0
}
func (m *ExecResp) GetCompilerProxyRpcRecvTime() float64 {
if m != nil && m.CompilerProxyRpcRecvTime != nil {
return *m.CompilerProxyRpcRecvTime
}
return 0
}
func (m *ExecResp) GetCompilerProxyRpcParseTime() float64 {
if m != nil && m.CompilerProxyRpcParseTime != nil {
return *m.CompilerProxyRpcParseTime
}
return 0
}
func (m *ExecResp) GetCompilerProxyLocalPendingTime() float64 {
if m != nil && m.CompilerProxyLocalPendingTime != nil {
return *m.CompilerProxyLocalPendingTime
}
return 0
}
func (m *ExecResp) GetCompilerProxyLocalRunTime() float64 {
if m != nil && m.CompilerProxyLocalRunTime != nil {
return *m.CompilerProxyLocalRunTime
}
return 0
}
func (m *ExecResp) GetCompilerProxyGomaFinished() bool {
if m != nil && m.CompilerProxyGomaFinished != nil {
return *m.CompilerProxyGomaFinished
}
return false
}
func (m *ExecResp) GetCompilerProxyGomaCacheHit() bool {
if m != nil && m.CompilerProxyGomaCacheHit != nil {
return *m.CompilerProxyGomaCacheHit
}
return false
}
func (m *ExecResp) GetCompilerProxyGomaAborted() bool {
if m != nil && m.CompilerProxyGomaAborted != nil {
return *m.CompilerProxyGomaAborted
}
return false
}
func (m *ExecResp) GetCompilerProxyGomaError() bool {
if m != nil && m.CompilerProxyGomaError != nil {
return *m.CompilerProxyGomaError
}
return false
}
func (m *ExecResp) GetCompilerProxyLocalFinished() bool {
if m != nil && m.CompilerProxyLocalFinished != nil {
return *m.CompilerProxyLocalFinished
}
return false
}
func (m *ExecResp) GetCompilerProxyLocalRun() bool {
if m != nil && m.CompilerProxyLocalRun != nil {
return *m.CompilerProxyLocalRun
}
return false
}
func (m *ExecResp) GetCompilerProxyLocalKilled() bool {
if m != nil && m.CompilerProxyLocalKilled != nil {
return *m.CompilerProxyLocalKilled
}
return false
}
func (m *ExecResp) GetCompilerProxyExecRequestRetry() int32 {
if m != nil && m.CompilerProxyExecRequestRetry != nil {
return *m.CompilerProxyExecRequestRetry
}
return 0
}
type MultiExecResp struct {
Response []*MultiExecResp_Response `protobuf:"group,1,rep,name=Response,json=response" json:"response,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *MultiExecResp) Reset() { *m = MultiExecResp{} }
func (m *MultiExecResp) String() string { return proto.CompactTextString(m) }
func (*MultiExecResp) ProtoMessage() {}
func (*MultiExecResp) Descriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{10}
}
func (m *MultiExecResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MultiExecResp.Unmarshal(m, b)
}
func (m *MultiExecResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_MultiExecResp.Marshal(b, m, deterministic)
}
func (m *MultiExecResp) XXX_Merge(src proto.Message) {
xxx_messageInfo_MultiExecResp.Merge(m, src)
}
func (m *MultiExecResp) XXX_Size() int {
return xxx_messageInfo_MultiExecResp.Size(m)
}
func (m *MultiExecResp) XXX_DiscardUnknown() {
xxx_messageInfo_MultiExecResp.DiscardUnknown(m)
}
var xxx_messageInfo_MultiExecResp proto.InternalMessageInfo
func (m *MultiExecResp) GetResponse() []*MultiExecResp_Response {
if m != nil {
return m.Response
}
return nil
}
type MultiExecResp_Response struct {
ResponseCode *int32 `protobuf:"varint,2,opt,name=response_code,json=responseCode" json:"response_code,omitempty"`
Resp *ExecResp `protobuf:"bytes,3,opt,name=resp" json:"resp,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *MultiExecResp_Response) Reset() { *m = MultiExecResp_Response{} }
func (m *MultiExecResp_Response) String() string { return proto.CompactTextString(m) }
func (*MultiExecResp_Response) ProtoMessage() {}
func (*MultiExecResp_Response) Descriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{10, 0}
}
func (m *MultiExecResp_Response) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MultiExecResp_Response.Unmarshal(m, b)
}
func (m *MultiExecResp_Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_MultiExecResp_Response.Marshal(b, m, deterministic)
}
func (m *MultiExecResp_Response) XXX_Merge(src proto.Message) {
xxx_messageInfo_MultiExecResp_Response.Merge(m, src)
}
func (m *MultiExecResp_Response) XXX_Size() int {
return xxx_messageInfo_MultiExecResp_Response.Size(m)
}
func (m *MultiExecResp_Response) XXX_DiscardUnknown() {
xxx_messageInfo_MultiExecResp_Response.DiscardUnknown(m)
}
var xxx_messageInfo_MultiExecResp_Response proto.InternalMessageInfo
func (m *MultiExecResp_Response) GetResponseCode() int32 {
if m != nil && m.ResponseCode != nil {
return *m.ResponseCode
}
return 0
}
func (m *MultiExecResp_Response) GetResp() *ExecResp {
if m != nil {
return m.Resp
}
return nil
}
type StoreFileReq struct {
Blob []*FileBlob `protobuf:"bytes,1,rep,name=blob" json:"blob,omitempty"`
RequesterInfo *RequesterInfo `protobuf:"bytes,10,opt,name=requester_info,json=requesterInfo" json:"requester_info,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *StoreFileReq) Reset() { *m = StoreFileReq{} }
func (m *StoreFileReq) String() string { return proto.CompactTextString(m) }
func (*StoreFileReq) ProtoMessage() {}
func (*StoreFileReq) Descriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{11}
}
func (m *StoreFileReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StoreFileReq.Unmarshal(m, b)
}
func (m *StoreFileReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_StoreFileReq.Marshal(b, m, deterministic)
}
func (m *StoreFileReq) XXX_Merge(src proto.Message) {
xxx_messageInfo_StoreFileReq.Merge(m, src)
}
func (m *StoreFileReq) XXX_Size() int {
return xxx_messageInfo_StoreFileReq.Size(m)
}
func (m *StoreFileReq) XXX_DiscardUnknown() {
xxx_messageInfo_StoreFileReq.DiscardUnknown(m)
}
var xxx_messageInfo_StoreFileReq proto.InternalMessageInfo
func (m *StoreFileReq) GetBlob() []*FileBlob {
if m != nil {
return m.Blob
}
return nil
}
func (m *StoreFileReq) GetRequesterInfo() *RequesterInfo {
if m != nil {
return m.RequesterInfo
}
return nil
}
type StoreFileResp struct {
HashKey []string `protobuf:"bytes,1,rep,name=hash_key,json=hashKey" json:"hash_key,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *StoreFileResp) Reset() { *m = StoreFileResp{} }
func (m *StoreFileResp) String() string { return proto.CompactTextString(m) }
func (*StoreFileResp) ProtoMessage() {}
func (*StoreFileResp) Descriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{12}
}
func (m *StoreFileResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StoreFileResp.Unmarshal(m, b)
}
func (m *StoreFileResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_StoreFileResp.Marshal(b, m, deterministic)
}
func (m *StoreFileResp) XXX_Merge(src proto.Message) {
xxx_messageInfo_StoreFileResp.Merge(m, src)
}
func (m *StoreFileResp) XXX_Size() int {
return xxx_messageInfo_StoreFileResp.Size(m)
}
func (m *StoreFileResp) XXX_DiscardUnknown() {
xxx_messageInfo_StoreFileResp.DiscardUnknown(m)
}
var xxx_messageInfo_StoreFileResp proto.InternalMessageInfo
func (m *StoreFileResp) GetHashKey() []string {
if m != nil {
return m.HashKey
}
return nil
}
type LookupFileReq struct {
HashKey []string `protobuf:"bytes,1,rep,name=hash_key,json=hashKey" json:"hash_key,omitempty"`
RequesterInfo *RequesterInfo `protobuf:"bytes,10,opt,name=requester_info,json=requesterInfo" json:"requester_info,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LookupFileReq) Reset() { *m = LookupFileReq{} }
func (m *LookupFileReq) String() string { return proto.CompactTextString(m) }
func (*LookupFileReq) ProtoMessage() {}
func (*LookupFileReq) Descriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{13}
}
func (m *LookupFileReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LookupFileReq.Unmarshal(m, b)
}
func (m *LookupFileReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LookupFileReq.Marshal(b, m, deterministic)
}
func (m *LookupFileReq) XXX_Merge(src proto.Message) {
xxx_messageInfo_LookupFileReq.Merge(m, src)
}
func (m *LookupFileReq) XXX_Size() int {
return xxx_messageInfo_LookupFileReq.Size(m)
}
func (m *LookupFileReq) XXX_DiscardUnknown() {
xxx_messageInfo_LookupFileReq.DiscardUnknown(m)
}
var xxx_messageInfo_LookupFileReq proto.InternalMessageInfo
func (m *LookupFileReq) GetHashKey() []string {
if m != nil {
return m.HashKey
}
return nil
}
func (m *LookupFileReq) GetRequesterInfo() *RequesterInfo {
if m != nil {
return m.RequesterInfo
}
return nil
}
type LookupFileResp struct {
Blob []*FileBlob `protobuf:"bytes,2,rep,name=blob" json:"blob,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LookupFileResp) Reset() { *m = LookupFileResp{} }
func (m *LookupFileResp) String() string { return proto.CompactTextString(m) }
func (*LookupFileResp) ProtoMessage() {}
func (*LookupFileResp) Descriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{14}
}
func (m *LookupFileResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LookupFileResp.Unmarshal(m, b)
}
func (m *LookupFileResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LookupFileResp.Marshal(b, m, deterministic)
}
func (m *LookupFileResp) XXX_Merge(src proto.Message) {
xxx_messageInfo_LookupFileResp.Merge(m, src)
}
func (m *LookupFileResp) XXX_Size() int {
return xxx_messageInfo_LookupFileResp.Size(m)
}
func (m *LookupFileResp) XXX_DiscardUnknown() {
xxx_messageInfo_LookupFileResp.DiscardUnknown(m)
}
var xxx_messageInfo_LookupFileResp proto.InternalMessageInfo
func (m *LookupFileResp) GetBlob() []*FileBlob {
if m != nil {
return m.Blob
}
return nil
}
type EmptyMessage struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *EmptyMessage) Reset() { *m = EmptyMessage{} }
func (m *EmptyMessage) String() string { return proto.CompactTextString(m) }
func (*EmptyMessage) ProtoMessage() {}
func (*EmptyMessage) Descriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{15}
}
func (m *EmptyMessage) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_EmptyMessage.Unmarshal(m, b)
}
func (m *EmptyMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_EmptyMessage.Marshal(b, m, deterministic)
}
func (m *EmptyMessage) XXX_Merge(src proto.Message) {
xxx_messageInfo_EmptyMessage.Merge(m, src)
}
func (m *EmptyMessage) XXX_Size() int {
return xxx_messageInfo_EmptyMessage.Size(m)
}
func (m *EmptyMessage) XXX_DiscardUnknown() {
xxx_messageInfo_EmptyMessage.DiscardUnknown(m)
}
var xxx_messageInfo_EmptyMessage proto.InternalMessageInfo
type HttpPortResponse struct {
Port *int32 `protobuf:"varint,1,req,name=port" json:"port,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *HttpPortResponse) Reset() { *m = HttpPortResponse{} }
func (m *HttpPortResponse) String() string { return proto.CompactTextString(m) }
func (*HttpPortResponse) ProtoMessage() {}
func (*HttpPortResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_8016d97e57513e7e, []int{16}
}
func (m *HttpPortResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_HttpPortResponse.Unmarshal(m, b)
}
func (m *HttpPortResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_HttpPortResponse.Marshal(b, m, deterministic)
}
func (m *HttpPortResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_HttpPortResponse.Merge(m, src)
}
func (m *HttpPortResponse) XXX_Size() int {
return xxx_messageInfo_HttpPortResponse.Size(m)
}
func (m *HttpPortResponse) XXX_DiscardUnknown() {
xxx_messageInfo_HttpPortResponse.DiscardUnknown(m)
}
var xxx_messageInfo_HttpPortResponse proto.InternalMessageInfo
func (m *HttpPortResponse) GetPort() int32 {
if m != nil && m.Port != nil {
return *m.Port
}
return 0
}
func init() {
proto.RegisterEnum("devtools_goma.FileBlob_BlobType", FileBlob_BlobType_name, FileBlob_BlobType_value)
proto.RegisterEnum("devtools_goma.RequesterInfo_GomaApiVersion", RequesterInfo_GomaApiVersion_name, RequesterInfo_GomaApiVersion_value)
proto.RegisterEnum("devtools_goma.RequesterInfo_PathStyle", RequesterInfo_PathStyle_name, RequesterInfo_PathStyle_value)
proto.RegisterEnum("devtools_goma.ExecReq_CachePolicy", ExecReq_CachePolicy_name, ExecReq_CachePolicy_value)
proto.RegisterEnum("devtools_goma.ExecResp_ExecError", ExecResp_ExecError_name, ExecResp_ExecError_value)
proto.RegisterEnum("devtools_goma.ExecResp_BadRequestReasonCode", ExecResp_BadRequestReasonCode_name, ExecResp_BadRequestReasonCode_value)
proto.RegisterEnum("devtools_goma.ExecResp_CacheSource", ExecResp_CacheSource_name, ExecResp_CacheSource_value)
proto.RegisterType((*FileBlob)(nil), "devtools_goma.FileBlob")
proto.RegisterType((*CommandSpec)(nil), "devtools_goma.CommandSpec")
proto.RegisterType((*SubprogramSpec)(nil), "devtools_goma.SubprogramSpec")
proto.RegisterType((*ToolchainSpec)(nil), "devtools_goma.ToolchainSpec")
proto.RegisterType((*ExecResult)(nil), "devtools_goma.ExecResult")
proto.RegisterType((*ExecResult_Output)(nil), "devtools_goma.ExecResult.Output")
proto.RegisterType((*RequesterInfo)(nil), "devtools_goma.RequesterInfo")
proto.RegisterType((*RequesterEnv)(nil), "devtools_goma.RequesterEnv")
proto.RegisterType((*ExecReq)(nil), "devtools_goma.ExecReq")
proto.RegisterType((*ExecReq_Input)(nil), "devtools_goma.ExecReq.Input")
proto.RegisterType((*MultiExecReq)(nil), "devtools_goma.MultiExecReq")
proto.RegisterType((*ExecResp)(nil), "devtools_goma.ExecResp")
proto.RegisterType((*MultiExecResp)(nil), "devtools_goma.MultiExecResp")
proto.RegisterType((*MultiExecResp_Response)(nil), "devtools_goma.MultiExecResp.Response")
proto.RegisterType((*StoreFileReq)(nil), "devtools_goma.StoreFileReq")
proto.RegisterType((*StoreFileResp)(nil), "devtools_goma.StoreFileResp")
proto.RegisterType((*LookupFileReq)(nil), "devtools_goma.LookupFileReq")
proto.RegisterType((*LookupFileResp)(nil), "devtools_goma.LookupFileResp")
proto.RegisterType((*EmptyMessage)(nil), "devtools_goma.EmptyMessage")
proto.RegisterType((*HttpPortResponse)(nil), "devtools_goma.HttpPortResponse")
}
func init() { proto.RegisterFile("api/goma_data.proto", fileDescriptor_8016d97e57513e7e) }
var fileDescriptor_8016d97e57513e7e = []byte{
// 2482 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xfd, 0x6e, 0x1b, 0xc7,
0x11, 0x37, 0xbf, 0x24, 0x72, 0xf8, 0x21, 0x6a, 0xad, 0xd8, 0x67, 0xd9, 0x4e, 0x64, 0x2a, 0x4e,
0x54, 0xbb, 0x56, 0x6b, 0x25, 0x69, 0x12, 0x25, 0x6a, 0x43, 0x51, 0x94, 0x45, 0x8b, 0x22, 0xd9,
0xa5, 0x18, 0x37, 0x40, 0x81, 0xc3, 0xf1, 0x6e, 0x29, 0x1d, 0x74, 0xbc, 0x3b, 0xed, 0x1d, 0x15,
0x31, 0x40, 0x80, 0xbe, 0x43, 0xff, 0xea, 0x5b, 0x14, 0x05, 0xfa, 0x1c, 0x7d, 0x8d, 0x02, 0x7d,
0x87, 0xb6, 0xd8, 0xd9, 0x3d, 0x7e, 0x89, 0x94, 0x6d, 0x20, 0xfa, 0x43, 0xd8, 0x9d, 0x99, 0xdf,
0xec, 0xec, 0x7c, 0xed, 0x1c, 0xe1, 0xae, 0xe1, 0xdb, 0xbf, 0x39, 0xf3, 0xfa, 0x86, 0x6e, 0x19,
0xa1, 0xb1, 0xed, 0x73, 0x2f, 0xf4, 0x48, 0xde, 0x62, 0x57, 0xa1, 0xe7, 0x39, 0x81, 0x2e, 0x38,
0xa5, 0xff, 0xc6, 0x20, 0x7d, 0x68, 0x3b, 0x6c, 0xdf, 0xf1, 0xba, 0x64, 0x0f, 0x32, 0x5d, 0xc7,
0xeb, 0xea, 0xe1, 0xd0, 0x67, 0x5a, 0x6c, 0x23, 0xbe, 0x55, 0xd8, 0xd9, 0xd8, 0x9e, 0x92, 0xdf,
0x8e, 0x64, 0xb7, 0xc5, 0xbf, 0xd3, 0xa1, 0xcf, 0x68, 0xba, 0xab, 0x56, 0xe4, 0x1e, 0x2c, 0x79,
0xbd, 0x5e, 0xc0, 0x42, 0x0d, 0x36, 0x62, 0x5b, 0x09, 0xaa, 0x76, 0x44, 0x83, 0x65, 0xd3, 0x73,
0x43, 0xe6, 0x86, 0x5a, 0x76, 0x23, 0xb6, 0x95, 0xa3, 0xd1, 0x96, 0x3c, 0x84, 0x4c, 0xcf, 0x76,
0x98, 0x1e, 0xd8, 0x3f, 0x31, 0x6d, 0x0d, 0x41, 0x69, 0x41, 0x68, 0xdb, 0x3f, 0x31, 0xf2, 0x00,
0xd2, 0xe7, 0x46, 0x70, 0xae, 0x5f, 0xb0, 0xa1, 0xf6, 0xc1, 0x46, 0x62, 0x2b, 0x43, 0x97, 0xc5,
0xfe, 0x98, 0x0d, 0x4b, 0x35, 0x48, 0x47, 0xe7, 0x93, 0x35, 0x28, 0x1e, 0xd6, 0xea, 0x55, 0xbd,
0xd3, 0x68, 0xb7, 0xaa, 0x95, 0xda, 0x61, 0xad, 0x7a, 0x50, 0xbc, 0x43, 0xd2, 0x90, 0x14, 0xd4,
0x62, 0x8c, 0xe4, 0x21, 0x83, 0xfc, 0x93, 0xea, 0x69, 0xb9, 0x18, 0x27, 0x05, 0x00, 0xdc, 0x56,
0x8e, 0x3a, 0x8d, 0xe3, 0x62, 0xa2, 0xf4, 0x9f, 0x04, 0x64, 0x2b, 0x5e, 0xbf, 0x6f, 0xb8, 0x56,
0xdb, 0x67, 0x26, 0x21, 0x90, 0x74, 0x8d, 0xbe, 0xb8, 0x7e, 0x6c, 0x2b, 0x43, 0x71, 0x2d, 0x2e,
0x70, 0xc5, 0x78, 0x60, 0x7b, 0xae, 0x16, 0x47, 0x72, 0xb4, 0x15, 0x57, 0x0e, 0x0d, 0x7e, 0xc6,
0x42, 0x2d, 0x81, 0x0c, 0xb5, 0x13, 0x5a, 0xf0, 0x4e, 0x79, 0xbc, 0x13, 0xae, 0xc9, 0x47, 0x90,
0xed, 0xda, 0xae, 0xc1, 0x87, 0xba, 0xb8, 0x86, 0x96, 0x44, 0x57, 0x80, 0x24, 0x1d, 0x19, 0xc1,
0x39, 0xf9, 0x14, 0x56, 0xd8, 0xe5, 0xc0, 0xbe, 0x32, 0x1c, 0xe6, 0x86, 0x52, 0x28, 0xbb, 0x91,
0xd8, 0xca, 0xd1, 0xc2, 0x98, 0x8c, 0x82, 0x9b, 0x90, 0xb7, 0x58, 0x68, 0xd8, 0x0e, 0xb3, 0x74,
0xdb, 0xed, 0x79, 0x5a, 0x0a, 0x0f, 0xcf, 0x45, 0xc4, 0x9a, 0xdb, 0xf3, 0xc8, 0x36, 0xdc, 0x75,
0x3c, 0xd3, 0x70, 0x74, 0xd3, 0xeb, 0xfb, 0xb6, 0xc3, 0xb8, 0xee, 0x1b, 0xe1, 0xb9, 0xb6, 0x84,
0xa2, 0xab, 0xc8, 0xaa, 0x28, 0x4e, 0xcb, 0x08, 0xcf, 0x85, 0x7c, 0x30, 0x0c, 0x42, 0xd6, 0xd7,
0x6d, 0xd7, 0x74, 0x06, 0x16, 0x93, 0xf2, 0xcb, 0xe8, 0xf9, 0x55, 0xc9, 0xaa, 0x49, 0x0e, 0xca,
0x7f, 0x01, 0xf7, 0xcd, 0xeb, 0x6b, 0x7d, 0x1e, 0x26, 0x8d, 0x98, 0x35, 0xf3, 0xfa, 0xba, 0x7d,
0x03, 0xb6, 0x03, 0x1f, 0x28, 0x48, 0x8f, 0x1b, 0x7d, 0xf6, 0xa3, 0xc7, 0x2f, 0x24, 0x28, 0x83,
0x20, 0x65, 0xc3, 0x61, 0xc4, 0x9b, 0x31, 0xcd, 0xb1, 0xbb, 0x5c, 0x78, 0x10, 0x11, 0xb9, 0x49,
0xd3, 0xea, 0x92, 0x83, 0xf2, 0x98, 0x70, 0xfd, 0xbe, 0x48, 0x38, 0x90, 0xf1, 0x52, 0xdb, 0xd2,
0x0f, 0x50, 0x68, 0x0f, 0xba, 0x3e, 0xf7, 0xce, 0xb8, 0xd1, 0x8f, 0xe2, 0x8d, 0xca, 0x54, 0xbc,
0xc5, 0x7a, 0x36, 0x52, 0x32, 0xe6, 0x93, 0x91, 0x8a, 0xc2, 0x9b, 0x18, 0x87, 0xb7, 0xf4, 0xd7,
0x18, 0xe4, 0x4f, 0x3d, 0xcf, 0x31, 0xcf, 0x0d, 0xdb, 0x5d, 0xa8, 0x9a, 0x40, 0x72, 0x42, 0x27,
0xae, 0xe7, 0x69, 0x13, 0x21, 0xb6, 0x03, 0x9d, 0x5d, 0x33, 0x73, 0x10, 0x1a, 0x5d, 0x87, 0x61,
0xba, 0xa4, 0x69, 0xce, 0x0e, 0xaa, 0x23, 0x1a, 0x79, 0x02, 0xb9, 0x60, 0xd8, 0x77, 0x6c, 0x57,
0xb9, 0x50, 0xa6, 0x41, 0x56, 0xd1, 0x84, 0x2b, 0x4a, 0xff, 0x48, 0x00, 0x08, 0x04, 0x65, 0xc1,
0xc0, 0x09, 0xc9, 0x26, 0x64, 0xd9, 0xb5, 0x1d, 0xea, 0x41, 0x68, 0x84, 0x83, 0x00, 0x6b, 0x3c,
0xb5, 0x1b, 0x7f, 0xf1, 0x92, 0x82, 0x20, 0xb7, 0x91, 0x2a, 0xce, 0x0e, 0x42, 0xcb, 0x1b, 0x84,
0x7a, 0x77, 0xd0, 0xeb, 0x31, 0x8e, 0xc6, 0xe6, 0x68, 0x4e, 0x12, 0xf7, 0x91, 0xa6, 0x84, 0x18,
0xe7, 0x91, 0x50, 0x62, 0x24, 0xc4, 0x38, 0x57, 0x42, 0x7b, 0x90, 0x33, 0x65, 0x6d, 0xe9, 0x81,
0xcf, 0x4c, 0xbc, 0x44, 0x76, 0x67, 0x7d, 0xa6, 0xa7, 0x4c, 0x94, 0x1f, 0xcd, 0x9a, 0x13, 0xb5,
0xb8, 0x07, 0x10, 0x8c, 0xa2, 0xa5, 0xa5, 0x36, 0x12, 0x5b, 0xd9, 0x9d, 0xc7, 0x33, 0xe0, 0xe9,
0x70, 0xd2, 0x09, 0x00, 0xf9, 0x0a, 0x96, 0xbc, 0x41, 0xe8, 0x0f, 0x44, 0x16, 0x24, 0xb6, 0xe0,
0x46, 0x2f, 0x1b, 0xfb, 0x65, 0xbb, 0x89, 0x72, 0x54, 0xc9, 0xaf, 0xff, 0x0c, 0x4b, 0x92, 0x42,
0xd6, 0x01, 0x1b, 0x12, 0xb6, 0x84, 0x2c, 0xba, 0x77, 0xb4, 0x27, 0xcf, 0x21, 0x29, 0x7a, 0x9f,
0x96, 0xc3, 0x5b, 0xdd, 0x5f, 0xd0, 0x29, 0x29, 0x0a, 0x91, 0x67, 0xb3, 0x01, 0x15, 0xad, 0x21,
0xbd, 0x9b, 0xea, 0x19, 0x4e, 0xc0, 0xa6, 0xe3, 0x5a, 0xfa, 0x57, 0x02, 0xf2, 0x94, 0x5d, 0x0e,
0x58, 0x10, 0x32, 0x8e, 0xc5, 0x4c, 0x20, 0x69, 0x58, 0x16, 0x8f, 0x52, 0x49, 0xac, 0x85, 0x69,
0x83, 0x80, 0x71, 0x34, 0x4d, 0xa6, 0xd3, 0x68, 0x4f, 0x9e, 0xc1, 0xea, 0xb8, 0xec, 0xb9, 0x77,
0x3d, 0xd4, 0x6d, 0x4b, 0xb5, 0xa8, 0x95, 0x88, 0xd1, 0x12, 0xf4, 0x9a, 0x45, 0x4a, 0x90, 0x35,
0x7c, 0x5b, 0x8f, 0x3a, 0x9c, 0x88, 0x51, 0x6a, 0x37, 0xb6, 0x43, 0xc1, 0xf0, 0xed, 0xef, 0x55,
0x9f, 0x2b, 0x42, 0xc2, 0xb7, 0x2d, 0x4c, 0xb0, 0x14, 0x15, 0x4b, 0xb2, 0x06, 0x29, 0xce, 0x42,
0x3e, 0xd4, 0x96, 0x91, 0x26, 0x37, 0x22, 0x2b, 0xf0, 0xc1, 0xe1, 0xec, 0xca, 0x46, 0x6d, 0x69,
0xd9, 0x99, 0x04, 0x91, 0x2a, 0x9a, 0x68, 0xec, 0xdd, 0x81, 0xed, 0x58, 0xc2, 0xa6, 0x8c, 0xac,
0x4f, 0xdc, 0xd7, 0x2c, 0xf2, 0x21, 0x80, 0x65, 0xf7, 0x99, 0x2b, 0xe4, 0x02, 0x0c, 0x5b, 0x86,
0x4e, 0x50, 0x48, 0x15, 0x40, 0x64, 0xba, 0x1e, 0x84, 0x43, 0x47, 0x06, 0xa4, 0xb0, 0xf3, 0xc9,
0x8c, 0xe3, 0xa7, 0x3c, 0xb7, 0x2d, 0xaa, 0xa0, 0x2d, 0xa4, 0x69, 0xc6, 0x8f, 0x96, 0xa5, 0xa7,
0x50, 0x78, 0xe5, 0xf5, 0x8d, 0xf2, 0xf8, 0x82, 0x77, 0x61, 0xa5, 0xd2, 0xa1, 0xb4, 0xda, 0x38,
0xd5, 0xbf, 0xaf, 0xd2, 0x76, 0xad, 0xd9, 0x28, 0xc6, 0x4b, 0xfb, 0x90, 0x19, 0xc1, 0xc9, 0x2a,
0xe4, 0x3b, 0x8d, 0xe3, 0x46, 0xf3, 0x4d, 0x43, 0x6f, 0x9f, 0xfe, 0x50, 0xaf, 0x16, 0xef, 0x90,
0x15, 0xc8, 0xb6, 0x9a, 0xed, 0xda, 0x9f, 0x14, 0x21, 0x26, 0x64, 0xde, 0xd4, 0x1a, 0x07, 0xcd,
0x37, 0x6d, 0x45, 0x8a, 0xbf, 0x4e, 0xa6, 0x97, 0x8a, 0xcb, 0xa5, 0xbf, 0xc5, 0x21, 0x37, 0xb2,
0xab, 0xea, 0x5e, 0x89, 0x16, 0x23, 0x8c, 0x35, 0x4d, 0x59, 0xb9, 0xbf, 0x92, 0x2d, 0x46, 0x92,
0xb0, 0x87, 0x3d, 0x06, 0x90, 0xed, 0x1b, 0xf9, 0xcf, 0x90, 0x9f, 0x41, 0x0a, 0xb2, 0xd7, 0x20,
0x35, 0xe8, 0x1b, 0xc1, 0x85, 0xf6, 0x5c, 0xba, 0x1f, 0x37, 0xc2, 0xfd, 0x57, 0x8c, 0xdb, 0xbd,
0xa1, 0xae, 0x12, 0x7f, 0x47, 0x76, 0x0d, 0x49, 0x54, 0x29, 0xfd, 0x10, 0x32, 0x83, 0x80, 0xe9,
0xa8, 0x4b, 0xfb, 0x0c, 0x05, 0x44, 0xe2, 0xd4, 0xc5, 0x1e, 0xf3, 0xdd, 0x70, 0x9c, 0xae, 0x61,
0x5e, 0x68, 0x9f, 0x4b, 0x5e, 0xb4, 0x27, 0x4f, 0xa1, 0xa0, 0xb4, 0xab, 0x22, 0xd5, 0xbe, 0x40,
0xb3, 0xd4, 0x99, 0xaa, 0x8c, 0x45, 0xb7, 0x8e, 0x20, 0xba, 0xed, 0xfa, 0x83, 0x50, 0x17, 0x15,
0xa3, 0x7d, 0x2b, 0xbb, 0x75, 0xc4, 0xaa, 0x09, 0x8e, 0xa8, 0x91, 0xd2, 0xbf, 0x97, 0x61, 0x59,
0x96, 0xe2, 0xe5, 0x8d, 0x86, 0x21, 0x1a, 0xd4, 0x7b, 0x34, 0x8c, 0x22, 0x24, 0x0c, 0x7e, 0xa6,
0xc5, 0xf1, 0x28, 0xb1, 0x14, 0x14, 0xe6, 0x5e, 0x69, 0x09, 0x49, 0x61, 0xee, 0x95, 0xa0, 0x98,
0x3f, 0x5a, 0x98, 0xe6, 0x19, 0x2a, 0x96, 0x64, 0x07, 0x52, 0x68, 0xa7, 0x6a, 0x13, 0x8f, 0xe6,
0xb6, 0x89, 0xcb, 0x6d, 0xb4, 0x98, 0x4a, 0x51, 0xd1, 0x7a, 0xd9, 0xb5, 0x6f, 0xb8, 0x16, 0xb3,
0x74, 0x71, 0x64, 0x01, 0x0f, 0xc8, 0x46, 0xb4, 0x32, 0x3f, 0x9b, 0xe9, 0x5e, 0x2b, 0xef, 0xdb,
0xbd, 0x2a, 0x50, 0xe0, 0x51, 0xc6, 0xc8, 0x57, 0xfe, 0x43, 0xec, 0x33, 0x8f, 0x6e, 0x4b, 0x77,
0x9a, 0xe7, 0x53, 0x7d, 0xe3, 0x0d, 0xe4, 0x4c, 0xc3, 0x3c, 0x67, 0xba, 0xef, 0x39, 0xb6, 0x39,
0xd4, 0x3e, 0xc2, 0x8a, 0x29, 0x2d, 0xb8, 0x61, 0x45, 0x88, 0xb6, 0x50, 0x72, 0xb7, 0x58, 0x6f,
0x36, 0x8f, 0x3b, 0x2d, 0xbd, 0xdc, 0x38, 0xd0, 0xdb, 0xa7, 0x4d, 0x5a, 0xa5, 0x59, 0x73, 0xcc,
0x26, 0xdf, 0xc1, 0xf8, 0x24, 0x5d, 0x78, 0x78, 0x03, 0x8d, 0x7b, 0xb8, 0xc8, 0xb8, 0xaa, 0x7b,
0x45, 0x73, 0x7c, 0xb2, 0x02, 0x36, 0x21, 0x7f, 0xce, 0x78, 0x9f, 0x85, 0xb6, 0xa9, 0xf7, 0x3d,
0x8b, 0x69, 0x4f, 0x64, 0xae, 0x46, 0xc4, 0x13, 0xcf, 0x12, 0xc3, 0x5d, 0x2a, 0xe4, 0x86, 0xc9,
0xb4, 0x12, 0x32, 0xe5, 0x46, 0xcc, 0x10, 0xec, 0xda, 0x67, 0x66, 0xc8, 0x2c, 0x95, 0xe8, 0x98,
0x62, 0x81, 0xb6, 0x29, 0x67, 0x88, 0x88, 0x29, 0x13, 0x5e, 0x24, 0x59, 0x40, 0x7e, 0x0b, 0x6b,
0xb3, 0x18, 0xcb, 0xe6, 0x81, 0xf6, 0x31, 0x42, 0xc8, 0x34, 0xe4, 0xc0, 0xe6, 0x01, 0x79, 0x01,
0x24, 0x8c, 0xde, 0xf3, 0x68, 0xbe, 0xb1, 0xb4, 0xa7, 0x68, 0xc8, 0xea, 0x88, 0xa3, 0x66, 0x1b,
0x8b, 0x54, 0x61, 0x65, 0x2c, 0x2e, 0x92, 0x37, 0xd0, 0x3e, 0xc1, 0x98, 0xcf, 0x06, 0x6c, 0x6a,
0x48, 0xa0, 0x85, 0x70, 0x72, 0x1b, 0xac, 0x5f, 0x42, 0x0a, 0x13, 0xed, 0xd6, 0x97, 0x67, 0x72,
0x34, 0xce, 0x6d, 0xc4, 0x27, 0x46, 0x63, 0xf2, 0x72, 0x3c, 0x6c, 0xe7, 0x6f, 0x7f, 0x97, 0x22,
0xb9, 0x52, 0x17, 0xb2, 0x13, 0x91, 0x17, 0x03, 0xf5, 0x6c, 0xec, 0x8b, 0x31, 0xd1, 0xeb, 0x14,
0xb5, 0xd9, 0xa8, 0xff, 0x20, 0x07, 0x69, 0xe4, 0xc9, 0x7d, 0x82, 0x3c, 0x02, 0x6d, 0x16, 0xa6,
0xb7, 0x3b, 0x95, 0x4a, 0xb5, 0xdd, 0x2e, 0x26, 0x5f, 0x27, 0xd3, 0x66, 0xd1, 0x2a, 0xfd, 0x0c,
0xb9, 0x93, 0x81, 0x13, 0xda, 0x51, 0xb9, 0x6f, 0x41, 0x82, 0xb3, 0x4b, 0x2d, 0x86, 0x7e, 0xba,
0x37, 0x3f, 0x2b, 0xa9, 0x10, 0x99, 0x53, 0x0d, 0xf0, 0xde, 0xd5, 0x50, 0xfa, 0x27, 0x81, 0xb4,
0x7a, 0xf4, 0x7d, 0xf2, 0x12, 0x96, 0x38, 0x3e, 0xfe, 0xf8, 0xa8, 0x66, 0x77, 0x1e, 0x2c, 0x9c,
0x0e, 0xa8, 0x12, 0x24, 0xdf, 0x40, 0x8a, 0x71, 0xee, 0xc9, 0x81, 0xa8, 0xb0, 0xf3, 0x64, 0x3e,
0xc2, 0xc7, 0x45, 0x55, 0x08, 0xee, 0xc6, 0x9b, 0xc7, 0x54, 0x62, 0x88, 0x03, 0xf7, 0xbb, 0x86,
0xa5, 0x2b, 0x8b, 0x74, 0xce, 0x8c, 0xc0, 0x73, 0x75, 0x53, 0x64, 0x7e, 0x02, 0xd5, 0xfd, 0x7a,
0x91, 0xba, 0x7d, 0xc3, 0x52, 0xd7, 0xa2, 0x08, 0xaa, 0x78, 0x16, 0xdb, 0x5d, 0x56, 0x8f, 0x11,
0x5d, 0xeb, 0xce, 0x61, 0x8b, 0xea, 0xea, 0xdb, 0x41, 0x60, 0xbb, 0x67, 0xb2, 0x07, 0xe3, 0x97,
0x44, 0x86, 0xe6, 0x14, 0x51, 0xa6, 0xd8, 0x53, 0x28, 0x44, 0x42, 0xd2, 0x1c, 0xec, 0x52, 0x19,
0x1a, 0x41, 0xa5, 0x3e, 0xa1, 0x0b, 0xaf, 0xa0, 0xf7, 0x59, 0x10, 0x18, 0x67, 0x4c, 0x0d, 0xde,
0x39, 0x24, 0x9e, 0x48, 0x1a, 0xd1, 0xe1, 0x59, 0xcf, 0xe3, 0x26, 0xd3, 0x83, 0xd0, 0xe3, 0x6c,
0xb2, 0x2c, 0xf5, 0x9e, 0xc7, 0xf5, 0x81, 0xdb, 0x37, 0x42, 0xf3, 0x9c, 0x59, 0x72, 0xa4, 0x9e,
0x1a, 0x7e, 0x3e, 0x46, 0x60, 0x5b, 0xe0, 0xc6, 0x15, 0x7b, 0xe8, 0xf1, 0x4e, 0x84, 0xc1, 0x99,
0x9b, 0xc1, 0x8b, 0x77, 0x3b, 0x20, 0x1a, 0x64, 0x0a, 0x93, 0x67, 0x7c, 0xfa, 0xb6, 0x33, 0xa2,
0x41, 0xa0, 0x0f, 0x2f, 0xdf, 0xed, 0x98, 0x71, 0xab, 0x0e, 0xb4, 0xe2, 0xe4, 0x51, 0xcf, 0xdf,
0x76, 0xd4, 0xb8, 0xe9, 0x07, 0xe2, 0x31, 0x96, 0x0d, 0x5a, 0x7e, 0xe5, 0x62, 0x99, 0x23, 0x41,
0xd4, 0xf2, 0x77, 0x11, 0xf3, 0xdc, 0x0e, 0xb5, 0x87, 0x98, 0x24, 0x9b, 0x8b, 0x92, 0x04, 0x2b,
0xb8, 0xed, 0x0d, 0xb8, 0xc9, 0x94, 0x86, 0x23, 0x3b, 0x24, 0x7b, 0xf0, 0x70, 0x5c, 0x36, 0x37,
0x27, 0xc2, 0x75, 0x3c, 0x50, 0x1b, 0x89, 0x54, 0x66, 0x46, 0xc3, 0x6d, 0xb8, 0x3b, 0x03, 0x0a,
0xed, 0x3e, 0xc3, 0xa9, 0x22, 0x46, 0x57, 0xa7, 0x06, 0xc9, 0x53, 0xbb, 0xcf, 0x48, 0x1d, 0x36,
0x67, 0x0f, 0x89, 0xbe, 0x0b, 0x39, 0xf3, 0xb9, 0x67, 0x4a, 0xfc, 0x67, 0x88, 0xff, 0x68, 0x7a,
0x10, 0x55, 0xdf, 0x88, 0x52, 0x0e, 0xb5, 0x35, 0xe0, 0xe3, 0x05, 0xda, 0x44, 0x38, 0x1c, 0xcf,
0xb0, 0xa4, 0xba, 0xcf, 0x51, 0xdd, 0xc6, 0x3c, 0x75, 0x87, 0x4a, 0x10, 0xf5, 0xfd, 0x1e, 0x1e,
0xcd, 0xe8, 0xe3, 0xbe, 0xa9, 0x9b, 0x86, 0xe3, 0x48, 0x3d, 0x5f, 0xa0, 0x1e, 0x6d, 0x4a, 0x0f,
0xf5, 0xcd, 0x8a, 0xe1, 0x38, 0x88, 0x3f, 0x82, 0x27, 0x33, 0x78, 0x4c, 0x0b, 0xce, 0x02, 0xdf,
0x73, 0x03, 0x26, 0x95, 0xfc, 0x0e, 0x95, 0x3c, 0x9e, 0x52, 0x22, 0xac, 0xa0, 0x4a, 0x0a, 0x35,
0x7d, 0x07, 0x8f, 0xe7, 0x58, 0x22, 0x87, 0x62, 0xd4, 0xf2, 0x25, 0x6a, 0x79, 0x30, 0x6b, 0xca,
0xbe, 0x90, 0xb8, 0xe5, 0x2e, 0x01, 0x73, 0x95, 0x82, 0xaf, 0xe6, 0xdf, 0xa5, 0xcd, 0xdc, 0xdb,
0xf0, 0x3f, 0x1a, 0x76, 0x28, 0xf1, 0x5f, 0xcf, 0xc7, 0xbf, 0x31, 0xec, 0xf0, 0x16, 0x3c, 0x67,
0xe6, 0x95, 0xc4, 0xef, 0xce, 0xc7, 0x53, 0x66, 0x5e, 0xdd, 0xe2, 0x01, 0xdf, 0xe0, 0x91, 0x1f,
0xbf, 0x99, 0xef, 0x81, 0x96, 0x90, 0x58, 0x10, 0x0d, 0x35, 0x2f, 0x33, 0xd7, 0x12, 0x1d, 0x0d,
0xb5, 0x7c, 0x3b, 0x27, 0x1a, 0x38, 0xe8, 0xb6, 0xa4, 0xd4, 0x02, 0x5b, 0xa4, 0x26, 0x3e, 0x70,
0xa5, 0x96, 0xbd, 0x39, 0xb6, 0xa0, 0x16, 0x3a, 0x70, 0x51, 0xc3, 0x1f, 0x6e, 0x78, 0x03, 0xbf,
0x82, 0x7a, 0xb6, 0x6b, 0x07, 0xe7, 0xcc, 0xd2, 0x0e, 0x71, 0x68, 0x98, 0x56, 0x20, 0x3e, 0x40,
0x0e, 0x95, 0xc0, 0x1c, 0x13, 0x50, 0xc1, 0xb8, 0xfa, 0x5f, 0x2d, 0xd0, 0x50, 0x99, 0xa8, 0xf4,
0x79, 0x1a, 0x8c, 0xae, 0xc7, 0x43, 0x66, 0x69, 0x47, 0x88, 0xd7, 0x6e, 0xe0, 0xcb, 0x92, 0x4f,
0xbe, 0x86, 0x07, 0xf3, 0xe0, 0xf2, 0xb9, 0xab, 0x21, 0xf8, 0xde, 0x0d, 0x30, 0xbe, 0x71, 0xa4,
0xbc, 0xc0, 0x7d, 0xa3, 0xdb, 0xbf, 0x46, 0xf8, 0xfa, 0x4d, 0xf7, 0x8d, 0xae, 0xff, 0x25, 0x68,
0x8b, 0x22, 0xa0, 0x1d, 0x23, 0xfa, 0x83, 0xb9, 0xce, 0x9f, 0x73, 0x6b, 0x09, 0xbc, 0xb0, 0x1d,
0x87, 0x59, 0x5a, 0x7d, 0xce, 0xad, 0x11, 0x7b, 0x8c, 0xfc, 0x39, 0x39, 0x24, 0x3e, 0xd0, 0x27,
0xde, 0x68, 0xf1, 0x81, 0xdb, 0xc2, 0x2f, 0xac, 0xe9, 0x1c, 0x52, 0xb3, 0x89, 0x7c, 0x74, 0x43,
0x3e, 0x2c, 0xbd, 0x80, 0xcc, 0xe8, 0xd5, 0x27, 0x4b, 0x10, 0x6f, 0x1e, 0x17, 0xef, 0x10, 0x0d,
0xb2, 0xfb, 0xe5, 0x03, 0x9d, 0x56, 0xff, 0xd8, 0xa9, 0xb6, 0x4f, 0x8b, 0xff, 0x8b, 0xfe, 0x62,
0xa5, 0x0a, 0xac, 0xcd, 0x7b, 0xd5, 0x49, 0x16, 0xa2, 0x77, 0xbd, 0x78, 0x87, 0x7c, 0x08, 0xeb,
0x9d, 0x46, 0xbb, 0xd3, 0x6a, 0x35, 0xe9, 0x69, 0xf5, 0x40, 0xaf, 0x34, 0x4f, 0x5a, 0xb5, 0x7a,
0x95, 0xea, 0x87, 0xf5, 0xf2, 0xab, 0x76, 0x31, 0x56, 0xea, 0xa8, 0xb9, 0x4d, 0x76, 0x7d, 0x92,
0x83, 0x74, 0xa3, 0xa9, 0x57, 0xca, 0x95, 0x23, 0xf1, 0x6d, 0x9a, 0x87, 0xcc, 0x49, 0xf5, 0x44,
0x6d, 0xf1, 0xcb, 0x54, 0x8c, 0x64, 0xe5, 0x57, 0x55, 0x45, 0x8a, 0x93, 0x7b, 0x40, 0xea, 0xcd,
0x4a, 0xb9, 0xae, 0x37, 0x3b, 0xa7, 0xad, 0xce, 0xa9, 0xa2, 0x27, 0x5e, 0x27, 0xd3, 0xf7, 0x8a,
0xf7, 0x5f, 0x27, 0xd3, 0xf7, 0x8b, 0x9a, 0x1a, 0xdb, 0xfe, 0x1e, 0x83, 0xfc, 0xc4, 0xdc, 0x16,
0xf8, 0xa4, 0x0c, 0xe9, 0xa8, 0xed, 0xe1, 0xf4, 0x06, 0x3b, 0x4f, 0x67, 0x1e, 0xa6, 0x29, 0xf9,
0xed, 0xa8, 0xfb, 0xd1, 0x11, 0x6c, 0xfd, 0xcf, 0x90, 0x8e, 0xa8, 0x62, 0xc2, 0x18, 0x75, 0x51,
0x9c, 0x88, 0xe2, 0xe8, 0xf3, 0x5c, 0x44, 0x44, 0xdf, 0x3c, 0x87, 0xa4, 0xd8, 0xe3, 0xb4, 0x74,
0x73, 0xac, 0x8d, 0x8e, 0xa2, 0x28, 0x54, 0xfa, 0x4b, 0x0c, 0x72, 0xf8, 0x04, 0xcb, 0xde, 0x7b,
0x39, 0xfa, 0xb1, 0x46, 0xce, 0x9a, 0x6f, 0xf9, 0xb1, 0xe6, 0x17, 0x99, 0x36, 0x9f, 0x41, 0x7e,
0xc2, 0x82, 0xc0, 0x9f, 0x9a, 0xda, 0x63, 0xd3, 0x3f, 0x68, 0x7b, 0x90, 0xaf, 0x7b, 0xde, 0xc5,
0xc0, 0x8f, 0xcc, 0x5d, 0x2c, 0xfb, 0xcb, 0x18, 0xb7, 0x07, 0x85, 0xc9, 0x03, 0x03, 0x7f, 0xe4,
0xa0, 0xf8, 0x3b, 0x38, 0xa8, 0x54, 0x80, 0x5c, 0xb5, 0xef, 0x87, 0x43, 0x35, 0xfd, 0x95, 0x3e,
0x81, 0xe2, 0x51, 0x18, 0xfa, 0x2d, 0x8f, 0x87, 0xa3, 0xa0, 0x12, 0x48, 0xfa, 0x1e, 0x0f, 0xe5,
0x8f, 0x8c, 0x14, 0xd7, 0xff, 0x0f, 0x00, 0x00, 0xff, 0xff, 0x2d, 0xeb, 0x43, 0x58, 0x93, 0x18,
0x00, 0x00,
}