| // 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, |
| } |