// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.26.0
// 	protoc        v3.20.3
// source: attestation.proto

package attestation

import (
	state "github.com/google/go-eventlog/proto/state"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// Enumerates the supported GPU architecture types.
type GpuArchitectureType int32

const (
	// Unspecified GPU architecture type.
	GpuArchitectureType_GPU_ARCHITECTURE_TYPE_UNSPECIFIED GpuArchitectureType = 0
	// Hopper GPU architecture type.
	GpuArchitectureType_GPU_ARCHITECTURE_TYPE_HOPPER GpuArchitectureType = 8
	// Blackwell GPU architecture type.
	GpuArchitectureType_GPU_ARCHITECTURE_TYPE_BLACKWELL GpuArchitectureType = 10
)

// Enum value maps for GpuArchitectureType.
var (
	GpuArchitectureType_name = map[int32]string{
		0:  "GPU_ARCHITECTURE_TYPE_UNSPECIFIED",
		8:  "GPU_ARCHITECTURE_TYPE_HOPPER",
		10: "GPU_ARCHITECTURE_TYPE_BLACKWELL",
	}
	GpuArchitectureType_value = map[string]int32{
		"GPU_ARCHITECTURE_TYPE_UNSPECIFIED": 0,
		"GPU_ARCHITECTURE_TYPE_HOPPER":      8,
		"GPU_ARCHITECTURE_TYPE_BLACKWELL":   10,
	}
)

func (x GpuArchitectureType) Enum() *GpuArchitectureType {
	p := new(GpuArchitectureType)
	*p = x
	return p
}

func (x GpuArchitectureType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (GpuArchitectureType) Descriptor() protoreflect.EnumDescriptor {
	return file_attestation_proto_enumTypes[0].Descriptor()
}

func (GpuArchitectureType) Type() protoreflect.EnumType {
	return &file_attestation_proto_enumTypes[0]
}

func (x GpuArchitectureType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use GpuArchitectureType.Descriptor instead.
func (GpuArchitectureType) EnumDescriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{0}
}

type GpuInfo struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The unique identifier of the GPU.
	Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
	// Driver version obtained from the GPU's attestation report.
	DriverVersion string `protobuf:"bytes,2,opt,name=driver_version,json=driverVersion,proto3" json:"driver_version,omitempty"`
	// VBIOS version obtained from the GPU's attestation report.
	VbiosVersion string `protobuf:"bytes,3,opt,name=vbios_version,json=vbiosVersion,proto3" json:"vbios_version,omitempty"`
	// The architecture type of the GPU.
	GpuArchitectureType GpuArchitectureType `protobuf:"varint,4,opt,name=gpu_architecture_type,json=gpuArchitectureType,proto3,enum=confidential_space.GpuArchitectureType" json:"gpu_architecture_type,omitempty"`
	// The verified attestation certificate chain for the GPU device.
	AttestationCertificateChain []byte `protobuf:"bytes,5,opt,name=attestation_certificate_chain,json=attestationCertificateChain,proto3" json:"attestation_certificate_chain,omitempty"`
	// This field contains SPDM request/response defined in
	// https://www.dmtf.org/sites/default/files/standards/documents/DSP0274_1.1.0.pdf
	AttestationReport []byte `protobuf:"bytes,6,opt,name=attestation_report,json=attestationReport,proto3" json:"attestation_report,omitempty"`
}

func (x *GpuInfo) Reset() {
	*x = GpuInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_attestation_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GpuInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GpuInfo) ProtoMessage() {}

func (x *GpuInfo) ProtoReflect() protoreflect.Message {
	mi := &file_attestation_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GpuInfo.ProtoReflect.Descriptor instead.
func (*GpuInfo) Descriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{0}
}

func (x *GpuInfo) GetUuid() string {
	if x != nil {
		return x.Uuid
	}
	return ""
}

func (x *GpuInfo) GetDriverVersion() string {
	if x != nil {
		return x.DriverVersion
	}
	return ""
}

func (x *GpuInfo) GetVbiosVersion() string {
	if x != nil {
		return x.VbiosVersion
	}
	return ""
}

func (x *GpuInfo) GetGpuArchitectureType() GpuArchitectureType {
	if x != nil {
		return x.GpuArchitectureType
	}
	return GpuArchitectureType_GPU_ARCHITECTURE_TYPE_UNSPECIFIED
}

func (x *GpuInfo) GetAttestationCertificateChain() []byte {
	if x != nil {
		return x.AttestationCertificateChain
	}
	return nil
}

func (x *GpuInfo) GetAttestationReport() []byte {
	if x != nil {
		return x.AttestationReport
	}
	return nil
}

// An Nvidia attestation report for GPU and NVSwitch devices.
// Contains necessary attestation evidence that the client collects for
// verification.
type NvidiaAttestationReport struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The Confidential Computing feature that the attestation is for.
	//
	// Types that are assignable to CcFeature:
	//
	//	*NvidiaAttestationReport_Spt
	//	*NvidiaAttestationReport_Mpt
	CcFeature isNvidiaAttestationReport_CcFeature `protobuf_oneof:"cc_feature"`
	// The nonce used for GPU attestation.
	Nonce []byte `protobuf:"bytes,4,opt,name=nonce,proto3" json:"nonce,omitempty"`
}

func (x *NvidiaAttestationReport) Reset() {
	*x = NvidiaAttestationReport{}
	if protoimpl.UnsafeEnabled {
		mi := &file_attestation_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NvidiaAttestationReport) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NvidiaAttestationReport) ProtoMessage() {}

func (x *NvidiaAttestationReport) ProtoReflect() protoreflect.Message {
	mi := &file_attestation_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NvidiaAttestationReport.ProtoReflect.Descriptor instead.
func (*NvidiaAttestationReport) Descriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{1}
}

func (m *NvidiaAttestationReport) GetCcFeature() isNvidiaAttestationReport_CcFeature {
	if m != nil {
		return m.CcFeature
	}
	return nil
}

func (x *NvidiaAttestationReport) GetSpt() *NvidiaAttestationReport_SinglePassthroughAttestation {
	if x, ok := x.GetCcFeature().(*NvidiaAttestationReport_Spt); ok {
		return x.Spt
	}
	return nil
}

func (x *NvidiaAttestationReport) GetMpt() *NvidiaAttestationReport_MultiGpuSecurePassthroughAttestation {
	if x, ok := x.GetCcFeature().(*NvidiaAttestationReport_Mpt); ok {
		return x.Mpt
	}
	return nil
}

func (x *NvidiaAttestationReport) GetNonce() []byte {
	if x != nil {
		return x.Nonce
	}
	return nil
}

type isNvidiaAttestationReport_CcFeature interface {
	isNvidiaAttestationReport_CcFeature()
}

type NvidiaAttestationReport_Spt struct {
	// Single GPU Passthrough (SPT) attestation.
	Spt *NvidiaAttestationReport_SinglePassthroughAttestation `protobuf:"bytes,1,opt,name=spt,proto3,oneof"`
}

type NvidiaAttestationReport_Mpt struct {
	// Multi-GPU Secure Passthrough (MPT) attestation.
	Mpt *NvidiaAttestationReport_MultiGpuSecurePassthroughAttestation `protobuf:"bytes,3,opt,name=mpt,proto3,oneof"` // MPT attestation.
}

func (*NvidiaAttestationReport_Spt) isNvidiaAttestationReport_CcFeature() {}

func (*NvidiaAttestationReport_Mpt) isNvidiaAttestationReport_CcFeature() {}

type DeviceAttestationReport struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Report:
	//
	//	*DeviceAttestationReport_NvidiaReport
	Report isDeviceAttestationReport_Report `protobuf_oneof:"report"`
}

func (x *DeviceAttestationReport) Reset() {
	*x = DeviceAttestationReport{}
	if protoimpl.UnsafeEnabled {
		mi := &file_attestation_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeviceAttestationReport) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeviceAttestationReport) ProtoMessage() {}

func (x *DeviceAttestationReport) ProtoReflect() protoreflect.Message {
	mi := &file_attestation_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeviceAttestationReport.ProtoReflect.Descriptor instead.
func (*DeviceAttestationReport) Descriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{2}
}

func (m *DeviceAttestationReport) GetReport() isDeviceAttestationReport_Report {
	if m != nil {
		return m.Report
	}
	return nil
}

func (x *DeviceAttestationReport) GetNvidiaReport() *NvidiaAttestationReport {
	if x, ok := x.GetReport().(*DeviceAttestationReport_NvidiaReport); ok {
		return x.NvidiaReport
	}
	return nil
}

type isDeviceAttestationReport_Report interface {
	isDeviceAttestationReport_Report()
}

type DeviceAttestationReport_NvidiaReport struct {
	// An Nvidia attestation report for GPU and NVSwitch devices.
	NvidiaReport *NvidiaAttestationReport `protobuf:"bytes,1,opt,name=nvidia_report,json=nvidiaReport,proto3,oneof"`
}

func (*DeviceAttestationReport_NvidiaReport) isDeviceAttestationReport_Report() {}

type TdxCcelQuote struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The CCEL event log. Formatted as described in the UEFI 2.10.
	// Contains events for guest OS boot.
	CcelBootEventLog []byte `protobuf:"bytes,1,opt,name=ccel_boot_event_log,json=ccelBootEventLog,proto3" json:"ccel_boot_event_log,omitempty"`
	// Formatted as a Canonical Event Log.
	// The event log containing Attested COS launcher events.
	CelLaunchEventLog []byte `protobuf:"bytes,2,opt,name=cel_launch_event_log,json=celLaunchEventLog,proto3" json:"cel_launch_event_log,omitempty"`
	// The TDX attestation quote from the guest. A serialized Quote
	// from https://github.com/google/go-tdx-guest/blob/main/proto/tdx.proto
	TdQuote []byte `protobuf:"bytes,3,opt,name=td_quote,json=tdQuote,proto3" json:"td_quote,omitempty"`
}

func (x *TdxCcelQuote) Reset() {
	*x = TdxCcelQuote{}
	if protoimpl.UnsafeEnabled {
		mi := &file_attestation_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TdxCcelQuote) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TdxCcelQuote) ProtoMessage() {}

func (x *TdxCcelQuote) ProtoReflect() protoreflect.Message {
	mi := &file_attestation_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TdxCcelQuote.ProtoReflect.Descriptor instead.
func (*TdxCcelQuote) Descriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{3}
}

func (x *TdxCcelQuote) GetCcelBootEventLog() []byte {
	if x != nil {
		return x.CcelBootEventLog
	}
	return nil
}

func (x *TdxCcelQuote) GetCelLaunchEventLog() []byte {
	if x != nil {
		return x.CelLaunchEventLog
	}
	return nil
}

func (x *TdxCcelQuote) GetTdQuote() []byte {
	if x != nil {
		return x.TdQuote
	}
	return nil
}

type VmAttestationQuote struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Quote:
	//
	//	*VmAttestationQuote_TdxCcelQuote
	//	*VmAttestationQuote_TpmQuote
	Quote isVmAttestationQuote_Quote `protobuf_oneof:"quote"`
}

func (x *VmAttestationQuote) Reset() {
	*x = VmAttestationQuote{}
	if protoimpl.UnsafeEnabled {
		mi := &file_attestation_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *VmAttestationQuote) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VmAttestationQuote) ProtoMessage() {}

func (x *VmAttestationQuote) ProtoReflect() protoreflect.Message {
	mi := &file_attestation_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VmAttestationQuote.ProtoReflect.Descriptor instead.
func (*VmAttestationQuote) Descriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{4}
}

func (m *VmAttestationQuote) GetQuote() isVmAttestationQuote_Quote {
	if m != nil {
		return m.Quote
	}
	return nil
}

func (x *VmAttestationQuote) GetTdxCcelQuote() *TdxCcelQuote {
	if x, ok := x.GetQuote().(*VmAttestationQuote_TdxCcelQuote); ok {
		return x.TdxCcelQuote
	}
	return nil
}

func (x *VmAttestationQuote) GetTpmQuote() *TpmQuote {
	if x, ok := x.GetQuote().(*VmAttestationQuote_TpmQuote); ok {
		return x.TpmQuote
	}
	return nil
}

type isVmAttestationQuote_Quote interface {
	isVmAttestationQuote_Quote()
}

type VmAttestationQuote_TdxCcelQuote struct {
	// A TDX with CCEL and RTMR Attestation Quote.
	TdxCcelQuote *TdxCcelQuote `protobuf:"bytes,1,opt,name=tdx_ccel_quote,json=tdxCcelQuote,proto3,oneof"`
}

type VmAttestationQuote_TpmQuote struct {
	// A standalone vTPM Attestation Quote.
	TpmQuote *TpmQuote `protobuf:"bytes,2,opt,name=tpm_quote,json=tpmQuote,proto3,oneof"`
}

func (*VmAttestationQuote_TdxCcelQuote) isVmAttestationQuote_Quote() {}

func (*VmAttestationQuote_TpmQuote) isVmAttestationQuote_Quote() {}

type AcpiData struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The ACPI RSDP table from /etc/acpi/rsdp.
	Rsdp []byte `protobuf:"bytes,1,opt,name=rsdp,proto3" json:"rsdp,omitempty"`
	// Dump of ACPI tables from /etc/acpi/tables.
	Tables []byte `protobuf:"bytes,2,opt,name=tables,proto3" json:"tables,omitempty"`
	// Dump of /etc/table-loader.
	TableLoader []byte `protobuf:"bytes,3,opt,name=table_loader,json=tableLoader,proto3" json:"table_loader,omitempty"`
}

func (x *AcpiData) Reset() {
	*x = AcpiData{}
	if protoimpl.UnsafeEnabled {
		mi := &file_attestation_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *AcpiData) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AcpiData) ProtoMessage() {}

func (x *AcpiData) ProtoReflect() protoreflect.Message {
	mi := &file_attestation_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AcpiData.ProtoReflect.Descriptor instead.
func (*AcpiData) Descriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{5}
}

func (x *AcpiData) GetRsdp() []byte {
	if x != nil {
		return x.Rsdp
	}
	return nil
}

func (x *AcpiData) GetTables() []byte {
	if x != nil {
		return x.Tables
	}
	return nil
}

func (x *AcpiData) GetTableLoader() []byte {
	if x != nil {
		return x.TableLoader
	}
	return nil
}

// Represents an attestation over a challenge provided by the workload.
type VmAttestation struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Chosen by WSD.
	Label []byte `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"`
	// Provided by the workload.
	Challenge []byte `protobuf:"bytes,2,opt,name=challenge,proto3" json:"challenge,omitempty"`
	// Optional, provided by WSD.
	ExtraData []byte `protobuf:"bytes,3,opt,name=extra_data,json=extraData,proto3" json:"extra_data,omitempty"`
	// report_data is `SHA512(label || SHA512(challenge || SHA512(extra_data)))`
	Quote *VmAttestationQuote `protobuf:"bytes,4,opt,name=quote,proto3" json:"quote,omitempty"`
	// Runtime attestations for attached devices.
	DeviceReports []*DeviceAttestationReport `protobuf:"bytes,5,rep,name=device_reports,json=deviceReports,proto3" json:"device_reports,omitempty"`
	// ACPI data provided by the platform.
	AcpiData *AcpiData `protobuf:"bytes,6,opt,name=acpi_data,json=acpiData,proto3,oneof" json:"acpi_data,omitempty"`
}

func (x *VmAttestation) Reset() {
	*x = VmAttestation{}
	if protoimpl.UnsafeEnabled {
		mi := &file_attestation_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *VmAttestation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VmAttestation) ProtoMessage() {}

func (x *VmAttestation) ProtoReflect() protoreflect.Message {
	mi := &file_attestation_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VmAttestation.ProtoReflect.Descriptor instead.
func (*VmAttestation) Descriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{6}
}

func (x *VmAttestation) GetLabel() []byte {
	if x != nil {
		return x.Label
	}
	return nil
}

func (x *VmAttestation) GetChallenge() []byte {
	if x != nil {
		return x.Challenge
	}
	return nil
}

func (x *VmAttestation) GetExtraData() []byte {
	if x != nil {
		return x.ExtraData
	}
	return nil
}

func (x *VmAttestation) GetQuote() *VmAttestationQuote {
	if x != nil {
		return x.Quote
	}
	return nil
}

func (x *VmAttestation) GetDeviceReports() []*DeviceAttestationReport {
	if x != nil {
		return x.DeviceReports
	}
	return nil
}

func (x *VmAttestation) GetAcpiData() *AcpiData {
	if x != nil {
		return x.AcpiData
	}
	return nil
}

type KeyAttestation struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// label is "KEY_ATTESTATION" (defined as KeyAttestationLabel constant).
	// extra_data is a binary-serialized instance of KeyClaims.
	Attestation *VmAttestation `protobuf:"bytes,1,opt,name=attestation,proto3" json:"attestation,omitempty"`
}

func (x *KeyAttestation) Reset() {
	*x = KeyAttestation{}
	if protoimpl.UnsafeEnabled {
		mi := &file_attestation_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *KeyAttestation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*KeyAttestation) ProtoMessage() {}

func (x *KeyAttestation) ProtoReflect() protoreflect.Message {
	mi := &file_attestation_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use KeyAttestation.ProtoReflect.Descriptor instead.
func (*KeyAttestation) Descriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{7}
}

func (x *KeyAttestation) GetAttestation() *VmAttestation {
	if x != nil {
		return x.Attestation
	}
	return nil
}

// Container for keys whose protection mechanism is KEY_PROTECTION_VM.
type VmProtectedKeyEndorsement struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Contains a VmProtectionBindingClaims.
	BindingKeyAttestation *KeyAttestation `protobuf:"bytes,1,opt,name=binding_key_attestation,json=bindingKeyAttestation,proto3" json:"binding_key_attestation,omitempty"`
	// Contains a VmProtectionKeyClaims.
	ProtectedKeyAttestation *KeyAttestation `protobuf:"bytes,2,opt,name=protected_key_attestation,json=protectedKeyAttestation,proto3" json:"protected_key_attestation,omitempty"`
}

func (x *VmProtectedKeyEndorsement) Reset() {
	*x = VmProtectedKeyEndorsement{}
	if protoimpl.UnsafeEnabled {
		mi := &file_attestation_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *VmProtectedKeyEndorsement) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VmProtectedKeyEndorsement) ProtoMessage() {}

func (x *VmProtectedKeyEndorsement) ProtoReflect() protoreflect.Message {
	mi := &file_attestation_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VmProtectedKeyEndorsement.ProtoReflect.Descriptor instead.
func (*VmProtectedKeyEndorsement) Descriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{8}
}

func (x *VmProtectedKeyEndorsement) GetBindingKeyAttestation() *KeyAttestation {
	if x != nil {
		return x.BindingKeyAttestation
	}
	return nil
}

func (x *VmProtectedKeyEndorsement) GetProtectedKeyAttestation() *KeyAttestation {
	if x != nil {
		return x.ProtectedKeyAttestation
	}
	return nil
}

// Container message for endorsing keys with various levels of protection.
type KeyEndorsement struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Endorsement:
	//
	//	*KeyEndorsement_VmProtectedKeyEndorsement
	Endorsement isKeyEndorsement_Endorsement `protobuf_oneof:"endorsement"`
}

func (x *KeyEndorsement) Reset() {
	*x = KeyEndorsement{}
	if protoimpl.UnsafeEnabled {
		mi := &file_attestation_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *KeyEndorsement) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*KeyEndorsement) ProtoMessage() {}

func (x *KeyEndorsement) ProtoReflect() protoreflect.Message {
	mi := &file_attestation_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use KeyEndorsement.ProtoReflect.Descriptor instead.
func (*KeyEndorsement) Descriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{9}
}

func (m *KeyEndorsement) GetEndorsement() isKeyEndorsement_Endorsement {
	if m != nil {
		return m.Endorsement
	}
	return nil
}

func (x *KeyEndorsement) GetVmProtectedKeyEndorsement() *VmProtectedKeyEndorsement {
	if x, ok := x.GetEndorsement().(*KeyEndorsement_VmProtectedKeyEndorsement); ok {
		return x.VmProtectedKeyEndorsement
	}
	return nil
}

type isKeyEndorsement_Endorsement interface {
	isKeyEndorsement_Endorsement()
}

type KeyEndorsement_VmProtectedKeyEndorsement struct {
	VmProtectedKeyEndorsement *VmProtectedKeyEndorsement `protobuf:"bytes,1,opt,name=vm_protected_key_endorsement,json=vmProtectedKeyEndorsement,proto3,oneof"`
}

func (*KeyEndorsement_VmProtectedKeyEndorsement) isKeyEndorsement_Endorsement() {}

// Host and vTPM attestation evidence
type TpmAttestationEndorsement struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Endorsement:
	//
	//	*TpmAttestationEndorsement_AkCertEndorsement_
	//	*TpmAttestationEndorsement_TitanEndorsement_
	Endorsement isTpmAttestationEndorsement_Endorsement `protobuf_oneof:"endorsement"`
}

func (x *TpmAttestationEndorsement) Reset() {
	*x = TpmAttestationEndorsement{}
	if protoimpl.UnsafeEnabled {
		mi := &file_attestation_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TpmAttestationEndorsement) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TpmAttestationEndorsement) ProtoMessage() {}

func (x *TpmAttestationEndorsement) ProtoReflect() protoreflect.Message {
	mi := &file_attestation_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TpmAttestationEndorsement.ProtoReflect.Descriptor instead.
func (*TpmAttestationEndorsement) Descriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{10}
}

func (m *TpmAttestationEndorsement) GetEndorsement() isTpmAttestationEndorsement_Endorsement {
	if m != nil {
		return m.Endorsement
	}
	return nil
}

func (x *TpmAttestationEndorsement) GetAkCertEndorsement() *TpmAttestationEndorsement_AkCertEndorsement {
	if x, ok := x.GetEndorsement().(*TpmAttestationEndorsement_AkCertEndorsement_); ok {
		return x.AkCertEndorsement
	}
	return nil
}

func (x *TpmAttestationEndorsement) GetTitanEndorsement() *TpmAttestationEndorsement_TitanEndorsement {
	if x, ok := x.GetEndorsement().(*TpmAttestationEndorsement_TitanEndorsement_); ok {
		return x.TitanEndorsement
	}
	return nil
}

type isTpmAttestationEndorsement_Endorsement interface {
	isTpmAttestationEndorsement_Endorsement()
}

type TpmAttestationEndorsement_AkCertEndorsement_ struct {
	// An attestation key (AK) certificate and cert chain.
	AkCertEndorsement *TpmAttestationEndorsement_AkCertEndorsement `protobuf:"bytes,1,opt,name=ak_cert_endorsement,json=akCertEndorsement,proto3,oneof"`
}

type TpmAttestationEndorsement_TitanEndorsement_ struct {
	// Endorsement certificate chain for the Titan chip.
	TitanEndorsement *TpmAttestationEndorsement_TitanEndorsement `protobuf:"bytes,2,opt,name=titan_endorsement,json=titanEndorsement,proto3,oneof"`
}

func (*TpmAttestationEndorsement_AkCertEndorsement_) isTpmAttestationEndorsement_Endorsement() {}

func (*TpmAttestationEndorsement_TitanEndorsement_) isTpmAttestationEndorsement_Endorsement() {}

type TpmQuote struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Generated by calling TPM2_Quote on each PCR bank.
	Quotes []*TpmQuote_SignedQuote `protobuf:"bytes,1,rep,name=quotes,proto3" json:"quotes,omitempty"`
	// The binary TCG Event Log containing events measured into the TPM by the
	// platform firmware and operating system. Formatted as described in the
	// "TCG PC Client Platform Firmware Profile Specification" as a series of
	// TCG_PCR_EVENT2 entries.
	PcclientBootEventLog []byte `protobuf:"bytes,2,opt,name=pcclient_boot_event_log,json=pcclientBootEventLog,proto3" json:"pcclient_boot_event_log,omitempty"`
	// Formatted as a Canonical Event Log.
	// The event log containing Attested COS launcher events.
	CelLaunchEventLog []byte `protobuf:"bytes,3,opt,name=cel_launch_event_log,json=celLaunchEventLog,proto3" json:"cel_launch_event_log,omitempty"`
	// Endorsement for the TPM attestation.
	Endorsement *TpmAttestationEndorsement `protobuf:"bytes,4,opt,name=endorsement,proto3" json:"endorsement,omitempty"`
}

func (x *TpmQuote) Reset() {
	*x = TpmQuote{}
	if protoimpl.UnsafeEnabled {
		mi := &file_attestation_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TpmQuote) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TpmQuote) ProtoMessage() {}

func (x *TpmQuote) ProtoReflect() protoreflect.Message {
	mi := &file_attestation_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TpmQuote.ProtoReflect.Descriptor instead.
func (*TpmQuote) Descriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{11}
}

func (x *TpmQuote) GetQuotes() []*TpmQuote_SignedQuote {
	if x != nil {
		return x.Quotes
	}
	return nil
}

func (x *TpmQuote) GetPcclientBootEventLog() []byte {
	if x != nil {
		return x.PcclientBootEventLog
	}
	return nil
}

func (x *TpmQuote) GetCelLaunchEventLog() []byte {
	if x != nil {
		return x.CelLaunchEventLog
	}
	return nil
}

func (x *TpmQuote) GetEndorsement() *TpmAttestationEndorsement {
	if x != nil {
		return x.Endorsement
	}
	return nil
}

// Provides attestations for values not present in PCRs. For example, the Titan
// TPM on certain platforms is electrically integrated such that it can report,
// via reserved NV index, the number of warm resets the CPU has undergone since
// the last power cycle.
//
// Each signature within this message can be verified using the TpmQuote's
// `endorsement` field.
type TpmAuxiliaryAttestation struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The signed attestations over the NV indices.
	SignedNvs []*TpmAuxiliaryAttestation_SignedNvCertify `protobuf:"bytes,1,rep,name=signed_nvs,json=signedNvs,proto3" json:"signed_nvs,omitempty"`
}

func (x *TpmAuxiliaryAttestation) Reset() {
	*x = TpmAuxiliaryAttestation{}
	if protoimpl.UnsafeEnabled {
		mi := &file_attestation_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TpmAuxiliaryAttestation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TpmAuxiliaryAttestation) ProtoMessage() {}

func (x *TpmAuxiliaryAttestation) ProtoReflect() protoreflect.Message {
	mi := &file_attestation_proto_msgTypes[12]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TpmAuxiliaryAttestation.ProtoReflect.Descriptor instead.
func (*TpmAuxiliaryAttestation) Descriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{12}
}

func (x *TpmAuxiliaryAttestation) GetSignedNvs() []*TpmAuxiliaryAttestation_SignedNvCertify {
	if x != nil {
		return x.SignedNvs
	}
	return nil
}

type HostAttestation struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Shall be "HOST_ATTESTATION" (defined as HostAttestationLabel constant).
	Label []byte `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"`
	// Provided by the workload.
	Challenge []byte `protobuf:"bytes,2,opt,name=challenge,proto3" json:"challenge,omitempty"`
	// Shall be empty (set by WSD, present for future expansion).
	ExtraData []byte `protobuf:"bytes,3,opt,name=extra_data,json=extraData,proto3" json:"extra_data,omitempty"`
	// Within each of the below fields, the TPMS_ATTEST's extraData contains
	// `SHA256(label || SHA256(challenge || SHA256(extra_data)))`
	TpmQuote *TpmQuote `protobuf:"bytes,4,opt,name=tpm_quote,json=tpmQuote,proto3" json:"tpm_quote,omitempty"`
	// Auxiliary information not stored in PCRs, such as warm reset data.
	AuxAttestation *TpmAuxiliaryAttestation `protobuf:"bytes,5,opt,name=aux_attestation,json=auxAttestation,proto3" json:"aux_attestation,omitempty"`
}

func (x *HostAttestation) Reset() {
	*x = HostAttestation{}
	if protoimpl.UnsafeEnabled {
		mi := &file_attestation_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *HostAttestation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*HostAttestation) ProtoMessage() {}

func (x *HostAttestation) ProtoReflect() protoreflect.Message {
	mi := &file_attestation_proto_msgTypes[13]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use HostAttestation.ProtoReflect.Descriptor instead.
func (*HostAttestation) Descriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{13}
}

func (x *HostAttestation) GetLabel() []byte {
	if x != nil {
		return x.Label
	}
	return nil
}

func (x *HostAttestation) GetChallenge() []byte {
	if x != nil {
		return x.Challenge
	}
	return nil
}

func (x *HostAttestation) GetExtraData() []byte {
	if x != nil {
		return x.ExtraData
	}
	return nil
}

func (x *HostAttestation) GetTpmQuote() *TpmQuote {
	if x != nil {
		return x.TpmQuote
	}
	return nil
}

func (x *HostAttestation) GetAuxAttestation() *TpmAuxiliaryAttestation {
	if x != nil {
		return x.AuxAttestation
	}
	return nil
}

type HostACOSState struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The Google Measurement State of the host machine.
	Gmes *state.GMESState `protobuf:"bytes,1,opt,name=gmes,proto3" json:"gmes,omitempty"`
	// The TDX CPU PIID.
	CpuPiid []byte `protobuf:"bytes,2,opt,name=cpu_piid,json=cpuPiid,proto3" json:"cpu_piid,omitempty"`
	// Number of warm resets since the last power cycle.
	WarmResetCount int64 `protobuf:"varint,3,opt,name=warm_reset_count,json=warmResetCount,proto3" json:"warm_reset_count,omitempty"`
}

func (x *HostACOSState) Reset() {
	*x = HostACOSState{}
	if protoimpl.UnsafeEnabled {
		mi := &file_attestation_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *HostACOSState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*HostACOSState) ProtoMessage() {}

func (x *HostACOSState) ProtoReflect() protoreflect.Message {
	mi := &file_attestation_proto_msgTypes[14]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use HostACOSState.ProtoReflect.Descriptor instead.
func (*HostACOSState) Descriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{14}
}

func (x *HostACOSState) GetGmes() *state.GMESState {
	if x != nil {
		return x.Gmes
	}
	return nil
}

func (x *HostACOSState) GetCpuPiid() []byte {
	if x != nil {
		return x.CpuPiid
	}
	return nil
}

func (x *HostACOSState) GetWarmResetCount() int64 {
	if x != nil {
		return x.WarmResetCount
	}
	return 0
}

// Single GPU Passthrough (SPT) attestation.
type NvidiaAttestationReport_SinglePassthroughAttestation struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Single GPU quote.
	GpuQuote *GpuInfo `protobuf:"bytes,1,opt,name=gpu_quote,json=gpuQuote,proto3" json:"gpu_quote,omitempty"`
}

func (x *NvidiaAttestationReport_SinglePassthroughAttestation) Reset() {
	*x = NvidiaAttestationReport_SinglePassthroughAttestation{}
	if protoimpl.UnsafeEnabled {
		mi := &file_attestation_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NvidiaAttestationReport_SinglePassthroughAttestation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NvidiaAttestationReport_SinglePassthroughAttestation) ProtoMessage() {}

func (x *NvidiaAttestationReport_SinglePassthroughAttestation) ProtoReflect() protoreflect.Message {
	mi := &file_attestation_proto_msgTypes[15]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NvidiaAttestationReport_SinglePassthroughAttestation.ProtoReflect.Descriptor instead.
func (*NvidiaAttestationReport_SinglePassthroughAttestation) Descriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{1, 0}
}

func (x *NvidiaAttestationReport_SinglePassthroughAttestation) GetGpuQuote() *GpuInfo {
	if x != nil {
		return x.GpuQuote
	}
	return nil
}

// MultiGpuSecurePassthroughAttestation contains the attestation evidence
// for a Multi-GPU Secure Passthrough (MPT) attestation.
type NvidiaAttestationReport_MultiGpuSecurePassthroughAttestation struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// A list of GPU quotes.
	GpuQuotes []*GpuInfo `protobuf:"bytes,1,rep,name=gpu_quotes,json=gpuQuotes,proto3" json:"gpu_quotes,omitempty"`
}

func (x *NvidiaAttestationReport_MultiGpuSecurePassthroughAttestation) Reset() {
	*x = NvidiaAttestationReport_MultiGpuSecurePassthroughAttestation{}
	if protoimpl.UnsafeEnabled {
		mi := &file_attestation_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NvidiaAttestationReport_MultiGpuSecurePassthroughAttestation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NvidiaAttestationReport_MultiGpuSecurePassthroughAttestation) ProtoMessage() {}

func (x *NvidiaAttestationReport_MultiGpuSecurePassthroughAttestation) ProtoReflect() protoreflect.Message {
	mi := &file_attestation_proto_msgTypes[16]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NvidiaAttestationReport_MultiGpuSecurePassthroughAttestation.ProtoReflect.Descriptor instead.
func (*NvidiaAttestationReport_MultiGpuSecurePassthroughAttestation) Descriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{1, 1}
}

func (x *NvidiaAttestationReport_MultiGpuSecurePassthroughAttestation) GetGpuQuotes() []*GpuInfo {
	if x != nil {
		return x.GpuQuotes
	}
	return nil
}

// An attestation key (AK) certificate and cert chain.
type TpmAttestationEndorsement_AkCertEndorsement struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// An attestation key (AK) certificate.
	AkCert []byte `protobuf:"bytes,1,opt,name=ak_cert,json=akCert,proto3" json:"ak_cert,omitempty"`
	// List of DER-encoded X.509 certificates which, together with the ak_cert,
	// chain back to a trusted Root Certificate.
	AkCertChain [][]byte `protobuf:"bytes,2,rep,name=ak_cert_chain,json=akCertChain,proto3" json:"ak_cert_chain,omitempty"`
}

func (x *TpmAttestationEndorsement_AkCertEndorsement) Reset() {
	*x = TpmAttestationEndorsement_AkCertEndorsement{}
	if protoimpl.UnsafeEnabled {
		mi := &file_attestation_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TpmAttestationEndorsement_AkCertEndorsement) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TpmAttestationEndorsement_AkCertEndorsement) ProtoMessage() {}

func (x *TpmAttestationEndorsement_AkCertEndorsement) ProtoReflect() protoreflect.Message {
	mi := &file_attestation_proto_msgTypes[17]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TpmAttestationEndorsement_AkCertEndorsement.ProtoReflect.Descriptor instead.
func (*TpmAttestationEndorsement_AkCertEndorsement) Descriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{10, 0}
}

func (x *TpmAttestationEndorsement_AkCertEndorsement) GetAkCert() []byte {
	if x != nil {
		return x.AkCert
	}
	return nil
}

func (x *TpmAttestationEndorsement_AkCertEndorsement) GetAkCertChain() [][]byte {
	if x != nil {
		return x.AkCertChain
	}
	return nil
}

type TpmAttestationEndorsement_TitanEndorsement struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Certificate signed by Titan's DICE alias key over the EK used to generate
	// the quotes. On Titan, the EK is a signing key that can be used directly.
	EkCert []byte `protobuf:"bytes,1,opt,name=ek_cert,json=ekCert,proto3" json:"ek_cert,omitempty"`
	// Certificate chain rooted by Titan's DeviceID public key.
	DiceCertChain []byte `protobuf:"bytes,2,opt,name=dice_cert_chain,json=diceCertChain,proto3" json:"dice_cert_chain,omitempty"`
}

func (x *TpmAttestationEndorsement_TitanEndorsement) Reset() {
	*x = TpmAttestationEndorsement_TitanEndorsement{}
	if protoimpl.UnsafeEnabled {
		mi := &file_attestation_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TpmAttestationEndorsement_TitanEndorsement) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TpmAttestationEndorsement_TitanEndorsement) ProtoMessage() {}

func (x *TpmAttestationEndorsement_TitanEndorsement) ProtoReflect() protoreflect.Message {
	mi := &file_attestation_proto_msgTypes[18]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TpmAttestationEndorsement_TitanEndorsement.ProtoReflect.Descriptor instead.
func (*TpmAttestationEndorsement_TitanEndorsement) Descriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{10, 1}
}

func (x *TpmAttestationEndorsement_TitanEndorsement) GetEkCert() []byte {
	if x != nil {
		return x.EkCert
	}
	return nil
}

func (x *TpmAttestationEndorsement_TitanEndorsement) GetDiceCertChain() []byte {
	if x != nil {
		return x.DiceCertChain
	}
	return nil
}

type TpmQuote_SignedQuote struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	HashAlgorithm uint32            `protobuf:"varint,1,opt,name=hash_algorithm,json=hashAlgorithm,proto3" json:"hash_algorithm,omitempty"`                                                                             // Encoded as a TPM_ALG_ID.
	PcrValues     map[uint32][]byte `protobuf:"bytes,2,rep,name=pcr_values,json=pcrValues,proto3" json:"pcr_values,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Raw binary values of each PCR being quoted.
	TpmsAttest    []byte            `protobuf:"bytes,3,opt,name=tpms_attest,json=tpmsAttest,proto3" json:"tpms_attest,omitempty"`                                                                                       // Contains a TPMS_QUOTE_INFO.
	TpmtSignature []byte            `protobuf:"bytes,4,opt,name=tpmt_signature,json=tpmtSignature,proto3" json:"tpmt_signature,omitempty"`                                                                              // Contains the signature.
}

func (x *TpmQuote_SignedQuote) Reset() {
	*x = TpmQuote_SignedQuote{}
	if protoimpl.UnsafeEnabled {
		mi := &file_attestation_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TpmQuote_SignedQuote) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TpmQuote_SignedQuote) ProtoMessage() {}

func (x *TpmQuote_SignedQuote) ProtoReflect() protoreflect.Message {
	mi := &file_attestation_proto_msgTypes[19]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TpmQuote_SignedQuote.ProtoReflect.Descriptor instead.
func (*TpmQuote_SignedQuote) Descriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{11, 0}
}

func (x *TpmQuote_SignedQuote) GetHashAlgorithm() uint32 {
	if x != nil {
		return x.HashAlgorithm
	}
	return 0
}

func (x *TpmQuote_SignedQuote) GetPcrValues() map[uint32][]byte {
	if x != nil {
		return x.PcrValues
	}
	return nil
}

func (x *TpmQuote_SignedQuote) GetTpmsAttest() []byte {
	if x != nil {
		return x.TpmsAttest
	}
	return nil
}

func (x *TpmQuote_SignedQuote) GetTpmtSignature() []byte {
	if x != nil {
		return x.TpmtSignature
	}
	return nil
}

type TpmAuxiliaryAttestation_SignedNvCertify struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	TpmsNvPublic  []byte `protobuf:"bytes,3,opt,name=tpms_nv_public,json=tpmsNvPublic,proto3" json:"tpms_nv_public,omitempty"`  // Used to compute the Name of the NV index.
	TpmsAttest    []byte `protobuf:"bytes,4,opt,name=tpms_attest,json=tpmsAttest,proto3" json:"tpms_attest,omitempty"`          // Contains a TPMS_NV_CERTIFY_INFO.
	TpmtSignature []byte `protobuf:"bytes,5,opt,name=tpmt_signature,json=tpmtSignature,proto3" json:"tpmt_signature,omitempty"` // Contains the signature.
}

func (x *TpmAuxiliaryAttestation_SignedNvCertify) Reset() {
	*x = TpmAuxiliaryAttestation_SignedNvCertify{}
	if protoimpl.UnsafeEnabled {
		mi := &file_attestation_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TpmAuxiliaryAttestation_SignedNvCertify) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TpmAuxiliaryAttestation_SignedNvCertify) ProtoMessage() {}

func (x *TpmAuxiliaryAttestation_SignedNvCertify) ProtoReflect() protoreflect.Message {
	mi := &file_attestation_proto_msgTypes[21]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TpmAuxiliaryAttestation_SignedNvCertify.ProtoReflect.Descriptor instead.
func (*TpmAuxiliaryAttestation_SignedNvCertify) Descriptor() ([]byte, []int) {
	return file_attestation_proto_rawDescGZIP(), []int{12, 0}
}

func (x *TpmAuxiliaryAttestation_SignedNvCertify) GetTpmsNvPublic() []byte {
	if x != nil {
		return x.TpmsNvPublic
	}
	return nil
}

func (x *TpmAuxiliaryAttestation_SignedNvCertify) GetTpmsAttest() []byte {
	if x != nil {
		return x.TpmsAttest
	}
	return nil
}

func (x *TpmAuxiliaryAttestation_SignedNvCertify) GetTpmtSignature() []byte {
	if x != nil {
		return x.TpmtSignature
	}
	return nil
}

var File_attestation_proto protoreflect.FileDescriptor

var file_attestation_proto_rawDesc = []byte{
	0x0a, 0x11, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x12, 0x12, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
	0x6c, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x11, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73,
	0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb9, 0x02, 0x0a, 0x07, 0x47,
	0x70, 0x75, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x72,
	0x69, 0x76, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0d, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x62, 0x69, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
	0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x62, 0x69, 0x6f, 0x73, 0x56,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x15, 0x67, 0x70, 0x75, 0x5f, 0x61, 0x72,
	0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e,
	0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x47, 0x70, 0x75, 0x41, 0x72,
	0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x13,
	0x67, 0x70, 0x75, 0x41, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x54,
	0x79, 0x70, 0x65, 0x12, 0x42, 0x0a, 0x1d, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63,
	0x68, 0x61, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1b, 0x61, 0x74, 0x74, 0x65,
	0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
	0x74, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73,
	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x0c, 0x52, 0x11, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xc5, 0x03, 0x0a, 0x17, 0x4e, 0x76, 0x69, 0x64, 0x69,
	0x61, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6f,
	0x72, 0x74, 0x12, 0x5c, 0x0a, 0x03, 0x73, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x48, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73,
	0x70, 0x61, 0x63, 0x65, 0x2e, 0x4e, 0x76, 0x69, 0x64, 0x69, 0x61, 0x41, 0x74, 0x74, 0x65, 0x73,
	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x53, 0x69, 0x6e,
	0x67, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x41, 0x74,
	0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x03, 0x73, 0x70, 0x74,
	0x12, 0x64, 0x0a, 0x03, 0x6d, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e,
	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x61,
	0x63, 0x65, 0x2e, 0x4e, 0x76, 0x69, 0x64, 0x69, 0x61, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69,
	0x47, 0x70, 0x75, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x50, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72,
	0x6f, 0x75, 0x67, 0x68, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48,
	0x00, 0x52, 0x03, 0x6d, 0x70, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x1a, 0x58, 0x0a, 0x1c,
	0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67,
	0x68, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x09,
	0x67, 0x70, 0x75, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73,
	0x70, 0x61, 0x63, 0x65, 0x2e, 0x47, 0x70, 0x75, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x67, 0x70,
	0x75, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x1a, 0x62, 0x0a, 0x24, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x47,
	0x70, 0x75, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x50, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f,
	0x75, 0x67, 0x68, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a,
	0x0a, 0x0a, 0x67, 0x70, 0x75, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
	0x6c, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x47, 0x70, 0x75, 0x49, 0x6e, 0x66, 0x6f, 0x52,
	0x09, 0x67, 0x70, 0x75, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x63,
	0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x77,
	0x0a, 0x17, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x52, 0x0a, 0x0d, 0x6e, 0x76, 0x69,
	0x64, 0x69, 0x61, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f,
	0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x4e, 0x76, 0x69, 0x64, 0x69, 0x61, 0x41, 0x74, 0x74, 0x65,
	0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x00, 0x52,
	0x0c, 0x6e, 0x76, 0x69, 0x64, 0x69, 0x61, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x08, 0x0a,
	0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x89, 0x01, 0x0a, 0x0c, 0x54, 0x64, 0x78, 0x43,
	0x63, 0x65, 0x6c, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x63, 0x63, 0x65, 0x6c,
	0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x63, 0x63, 0x65, 0x6c, 0x42, 0x6f, 0x6f, 0x74, 0x45,
	0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x65, 0x6c, 0x5f, 0x6c,
	0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x63, 0x65, 0x6c, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68,
	0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x64, 0x5f, 0x71,
	0x75, 0x6f, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x74, 0x64, 0x51, 0x75,
	0x6f, 0x74, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x12, 0x56, 0x6d, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x0e, 0x74, 0x64,
	0x78, 0x5f, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
	0x6c, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x54, 0x64, 0x78, 0x43, 0x63, 0x65, 0x6c, 0x51,
	0x75, 0x6f, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x64, 0x78, 0x43, 0x63, 0x65, 0x6c, 0x51,
	0x75, 0x6f, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x74, 0x70, 0x6d, 0x5f, 0x71, 0x75, 0x6f, 0x74,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64,
	0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x54, 0x70, 0x6d,
	0x51, 0x75, 0x6f, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x74, 0x70, 0x6d, 0x51, 0x75, 0x6f, 0x74,
	0x65, 0x42, 0x07, 0x0a, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x22, 0x59, 0x0a, 0x08, 0x41, 0x63,
	0x70, 0x69, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x73, 0x64, 0x70, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x72, 0x73, 0x64, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61,
	0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c,
	0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x61, 0x64,
	0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4c,
	0x6f, 0x61, 0x64, 0x65, 0x72, 0x22, 0xc2, 0x02, 0x0a, 0x0d, 0x56, 0x6d, 0x41, 0x74, 0x74, 0x65,
	0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1c, 0x0a,
	0x09, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x09, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65,
	0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52,
	0x09, 0x65, 0x78, 0x74, 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x05, 0x71, 0x75,
	0x6f, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
	0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x56,
	0x6d, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x6f, 0x74,
	0x65, 0x52, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x12, 0x52, 0x0a, 0x0e, 0x64, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f,
	0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x65,
	0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0d, 0x64,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x09,
	0x61, 0x63, 0x70, 0x69, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73,
	0x70, 0x61, 0x63, 0x65, 0x2e, 0x41, 0x63, 0x70, 0x69, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52,
	0x08, 0x61, 0x63, 0x70, 0x69, 0x44, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a,
	0x5f, 0x61, 0x63, 0x70, 0x69, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x22, 0x55, 0x0a, 0x0e, 0x4b, 0x65,
	0x79, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0b,
	0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
	0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x56, 0x6d, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x22, 0xd7, 0x01, 0x0a, 0x19, 0x56, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65,
	0x64, 0x4b, 0x65, 0x79, 0x45, 0x6e, 0x64, 0x6f, 0x72, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12,
	0x5a, 0x0a, 0x17, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x61,
	0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f,
	0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79,
	0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x19, 0x70,
	0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x61, 0x74, 0x74,
	0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
	0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70,
	0x61, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x52, 0x17, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79,
	0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x91, 0x01, 0x0a, 0x0e,
	0x4b, 0x65, 0x79, 0x45, 0x6e, 0x64, 0x6f, 0x72, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x70,
	0x0a, 0x1c, 0x76, 0x6d, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6b,
	0x65, 0x79, 0x5f, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x56, 0x6d, 0x50, 0x72, 0x6f, 0x74,
	0x65, 0x63, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x45, 0x6e, 0x64, 0x6f, 0x72, 0x73, 0x65, 0x6d,
	0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x19, 0x76, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74,
	0x65, 0x64, 0x4b, 0x65, 0x79, 0x45, 0x6e, 0x64, 0x6f, 0x72, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74,
	0x42, 0x0d, 0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22,
	0xc5, 0x03, 0x0a, 0x19, 0x54, 0x70, 0x6d, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x6f, 0x72, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x71, 0x0a,
	0x13, 0x61, 0x6b, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x73, 0x65,
	0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x63, 0x6f, 0x6e,
	0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e,
	0x54, 0x70, 0x6d, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e,
	0x64, 0x6f, 0x72, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6b, 0x43, 0x65, 0x72, 0x74,
	0x45, 0x6e, 0x64, 0x6f, 0x72, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x11, 0x61,
	0x6b, 0x43, 0x65, 0x72, 0x74, 0x45, 0x6e, 0x64, 0x6f, 0x72, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74,
	0x12, 0x6d, 0x0a, 0x11, 0x74, 0x69, 0x74, 0x61, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x73,
	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x6f,
	0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65,
	0x2e, 0x54, 0x70, 0x6d, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45,
	0x6e, 0x64, 0x6f, 0x72, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x69, 0x74, 0x61, 0x6e,
	0x45, 0x6e, 0x64, 0x6f, 0x72, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x10, 0x74,
	0x69, 0x74, 0x61, 0x6e, 0x45, 0x6e, 0x64, 0x6f, 0x72, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x1a,
	0x50, 0x0a, 0x11, 0x41, 0x6b, 0x43, 0x65, 0x72, 0x74, 0x45, 0x6e, 0x64, 0x6f, 0x72, 0x73, 0x65,
	0x6d, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x6b, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x61, 0x6b, 0x43, 0x65, 0x72, 0x74, 0x12, 0x22, 0x0a,
	0x0d, 0x61, 0x6b, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x02,
	0x20, 0x03, 0x28, 0x0c, 0x52, 0x0b, 0x61, 0x6b, 0x43, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x69,
	0x6e, 0x1a, 0x65, 0x0a, 0x10, 0x54, 0x69, 0x74, 0x61, 0x6e, 0x45, 0x6e, 0x64, 0x6f, 0x72, 0x73,
	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x6b, 0x5f, 0x63, 0x65, 0x72, 0x74,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x65, 0x6b, 0x43, 0x65, 0x72, 0x74, 0x12, 0x26,
	0x0a, 0x0f, 0x64, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69,
	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x64, 0x69, 0x63, 0x65, 0x43, 0x65, 0x72,
	0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05,
	0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x42, 0x0d, 0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x6f,
	0x72, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x9a, 0x04, 0x0a, 0x08, 0x54, 0x70, 0x6d, 0x51,
	0x75, 0x6f, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x54, 0x70, 0x6d, 0x51, 0x75, 0x6f,
	0x74, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x52, 0x06,
	0x71, 0x75, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x17, 0x70, 0x63, 0x63, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f,
	0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x14, 0x70, 0x63, 0x63, 0x6c, 0x69, 0x65, 0x6e,
	0x74, 0x42, 0x6f, 0x6f, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x2f, 0x0a,
	0x14, 0x63, 0x65, 0x6c, 0x5f, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x65, 0x76, 0x65, 0x6e,
	0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x63, 0x65, 0x6c,
	0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x4f,
	0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
	0x61, 0x6c, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x54, 0x70, 0x6d, 0x41, 0x74, 0x74, 0x65,
	0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x6f, 0x72, 0x73, 0x65, 0x6d, 0x65,
	0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x1a,
	0x92, 0x02, 0x0a, 0x0b, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x12,
	0x25, 0x0a, 0x0e, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68,
	0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x68, 0x61, 0x73, 0x68, 0x41, 0x6c, 0x67,
	0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x56, 0x0a, 0x0a, 0x70, 0x63, 0x72, 0x5f, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x6f, 0x6e,
	0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e,
	0x54, 0x70, 0x6d, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x51,
	0x75, 0x6f, 0x74, 0x65, 0x2e, 0x50, 0x63, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e,
	0x74, 0x72, 0x79, 0x52, 0x09, 0x70, 0x63, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1f,
	0x0a, 0x0b, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0c, 0x52, 0x0a, 0x74, 0x70, 0x6d, 0x73, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x12,
	0x25, 0x0a, 0x0e, 0x74, 0x70, 0x6d, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72,
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x74, 0x70, 0x6d, 0x74, 0x53, 0x69, 0x67,
	0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x1a, 0x3c, 0x0a, 0x0e, 0x50, 0x63, 0x72, 0x56, 0x61, 0x6c,
	0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x3a, 0x02, 0x38, 0x01, 0x22, 0x89, 0x02, 0x0a, 0x17, 0x54, 0x70, 0x6d, 0x41, 0x75, 0x78, 0x69,
	0x6c, 0x69, 0x61, 0x72, 0x79, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x5a, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x6e, 0x76, 0x73, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x54, 0x70, 0x6d, 0x41, 0x75, 0x78,
	0x69, 0x6c, 0x69, 0x61, 0x72, 0x79, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4e, 0x76, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66,
	0x79, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4e, 0x76, 0x73, 0x1a, 0x8b, 0x01, 0x0a,
	0x0f, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4e, 0x76, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x79,
	0x12, 0x24, 0x0a, 0x0e, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x6e, 0x76, 0x5f, 0x70, 0x75, 0x62, 0x6c,
	0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x74, 0x70, 0x6d, 0x73, 0x4e, 0x76,
	0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x61,
	0x74, 0x74, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x74, 0x70, 0x6d,
	0x73, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x70, 0x6d, 0x74, 0x5f,
	0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52,
	0x0d, 0x74, 0x70, 0x6d, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4a, 0x04,
	0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03,
	0x22, 0xf5, 0x01, 0x0a, 0x0f, 0x48, 0x6f, 0x73, 0x74, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0c, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68,
	0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63,
	0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72,
	0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x65, 0x78,
	0x74, 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x39, 0x0a, 0x09, 0x74, 0x70, 0x6d, 0x5f, 0x71,
	0x75, 0x6f, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6e,
	0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e,
	0x54, 0x70, 0x6d, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x52, 0x08, 0x74, 0x70, 0x6d, 0x51, 0x75, 0x6f,
	0x74, 0x65, 0x12, 0x54, 0x0a, 0x0f, 0x61, 0x75, 0x78, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6f,
	0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65,
	0x2e, 0x54, 0x70, 0x6d, 0x41, 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79, 0x41, 0x74, 0x74,
	0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x61, 0x75, 0x78, 0x41, 0x74, 0x74,
	0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7a, 0x0a, 0x0d, 0x48, 0x6f, 0x73, 0x74,
	0x41, 0x43, 0x4f, 0x53, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x04, 0x67, 0x6d, 0x65,
	0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e,
	0x47, 0x4d, 0x45, 0x53, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x04, 0x67, 0x6d, 0x65, 0x73, 0x12,
	0x19, 0x0a, 0x08, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x69, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0c, 0x52, 0x07, 0x63, 0x70, 0x75, 0x50, 0x69, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x77, 0x61,
	0x72, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x77, 0x61, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x65, 0x74, 0x43,
	0x6f, 0x75, 0x6e, 0x74, 0x2a, 0xad, 0x01, 0x0a, 0x13, 0x47, 0x70, 0x75, 0x41, 0x72, 0x63, 0x68,
	0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21,
	0x47, 0x50, 0x55, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45,
	0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
	0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x50, 0x55, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49,
	0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x48, 0x4f, 0x50,
	0x50, 0x45, 0x52, 0x10, 0x08, 0x12, 0x23, 0x0a, 0x1f, 0x47, 0x50, 0x55, 0x5f, 0x41, 0x52, 0x43,
	0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42,
	0x4c, 0x41, 0x43, 0x4b, 0x57, 0x45, 0x4c, 0x4c, 0x10, 0x0a, 0x22, 0x04, 0x08, 0x01, 0x10, 0x01,
	0x22, 0x04, 0x08, 0x02, 0x10, 0x02, 0x22, 0x04, 0x08, 0x03, 0x10, 0x03, 0x22, 0x04, 0x08, 0x04,
	0x10, 0x04, 0x22, 0x04, 0x08, 0x05, 0x10, 0x05, 0x22, 0x04, 0x08, 0x06, 0x10, 0x06, 0x22, 0x04,
	0x08, 0x07, 0x10, 0x07, 0x42, 0x5f, 0x42, 0x0b, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x50, 0x01, 0x5a, 0x4e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
	0x6d, 0x2f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x6c, 0x61,
	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
	0x61, 0x6c, 0x2d, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_attestation_proto_rawDescOnce sync.Once
	file_attestation_proto_rawDescData = file_attestation_proto_rawDesc
)

func file_attestation_proto_rawDescGZIP() []byte {
	file_attestation_proto_rawDescOnce.Do(func() {
		file_attestation_proto_rawDescData = protoimpl.X.CompressGZIP(file_attestation_proto_rawDescData)
	})
	return file_attestation_proto_rawDescData
}

var file_attestation_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_attestation_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
var file_attestation_proto_goTypes = []interface{}{
	(GpuArchitectureType)(0),          // 0: confidential_space.GpuArchitectureType
	(*GpuInfo)(nil),                   // 1: confidential_space.GpuInfo
	(*NvidiaAttestationReport)(nil),   // 2: confidential_space.NvidiaAttestationReport
	(*DeviceAttestationReport)(nil),   // 3: confidential_space.DeviceAttestationReport
	(*TdxCcelQuote)(nil),              // 4: confidential_space.TdxCcelQuote
	(*VmAttestationQuote)(nil),        // 5: confidential_space.VmAttestationQuote
	(*AcpiData)(nil),                  // 6: confidential_space.AcpiData
	(*VmAttestation)(nil),             // 7: confidential_space.VmAttestation
	(*KeyAttestation)(nil),            // 8: confidential_space.KeyAttestation
	(*VmProtectedKeyEndorsement)(nil), // 9: confidential_space.VmProtectedKeyEndorsement
	(*KeyEndorsement)(nil),            // 10: confidential_space.KeyEndorsement
	(*TpmAttestationEndorsement)(nil), // 11: confidential_space.TpmAttestationEndorsement
	(*TpmQuote)(nil),                  // 12: confidential_space.TpmQuote
	(*TpmAuxiliaryAttestation)(nil),   // 13: confidential_space.TpmAuxiliaryAttestation
	(*HostAttestation)(nil),           // 14: confidential_space.HostAttestation
	(*HostACOSState)(nil),             // 15: confidential_space.HostACOSState
	(*NvidiaAttestationReport_SinglePassthroughAttestation)(nil),         // 16: confidential_space.NvidiaAttestationReport.SinglePassthroughAttestation
	(*NvidiaAttestationReport_MultiGpuSecurePassthroughAttestation)(nil), // 17: confidential_space.NvidiaAttestationReport.MultiGpuSecurePassthroughAttestation
	(*TpmAttestationEndorsement_AkCertEndorsement)(nil),                  // 18: confidential_space.TpmAttestationEndorsement.AkCertEndorsement
	(*TpmAttestationEndorsement_TitanEndorsement)(nil),                   // 19: confidential_space.TpmAttestationEndorsement.TitanEndorsement
	(*TpmQuote_SignedQuote)(nil),                                         // 20: confidential_space.TpmQuote.SignedQuote
	nil,                                                                  // 21: confidential_space.TpmQuote.SignedQuote.PcrValuesEntry
	(*TpmAuxiliaryAttestation_SignedNvCertify)(nil),                      // 22: confidential_space.TpmAuxiliaryAttestation.SignedNvCertify
	(*state.GMESState)(nil),                                              // 23: state.GMESState
}
var file_attestation_proto_depIdxs = []int32{
	0,  // 0: confidential_space.GpuInfo.gpu_architecture_type:type_name -> confidential_space.GpuArchitectureType
	16, // 1: confidential_space.NvidiaAttestationReport.spt:type_name -> confidential_space.NvidiaAttestationReport.SinglePassthroughAttestation
	17, // 2: confidential_space.NvidiaAttestationReport.mpt:type_name -> confidential_space.NvidiaAttestationReport.MultiGpuSecurePassthroughAttestation
	2,  // 3: confidential_space.DeviceAttestationReport.nvidia_report:type_name -> confidential_space.NvidiaAttestationReport
	4,  // 4: confidential_space.VmAttestationQuote.tdx_ccel_quote:type_name -> confidential_space.TdxCcelQuote
	12, // 5: confidential_space.VmAttestationQuote.tpm_quote:type_name -> confidential_space.TpmQuote
	5,  // 6: confidential_space.VmAttestation.quote:type_name -> confidential_space.VmAttestationQuote
	3,  // 7: confidential_space.VmAttestation.device_reports:type_name -> confidential_space.DeviceAttestationReport
	6,  // 8: confidential_space.VmAttestation.acpi_data:type_name -> confidential_space.AcpiData
	7,  // 9: confidential_space.KeyAttestation.attestation:type_name -> confidential_space.VmAttestation
	8,  // 10: confidential_space.VmProtectedKeyEndorsement.binding_key_attestation:type_name -> confidential_space.KeyAttestation
	8,  // 11: confidential_space.VmProtectedKeyEndorsement.protected_key_attestation:type_name -> confidential_space.KeyAttestation
	9,  // 12: confidential_space.KeyEndorsement.vm_protected_key_endorsement:type_name -> confidential_space.VmProtectedKeyEndorsement
	18, // 13: confidential_space.TpmAttestationEndorsement.ak_cert_endorsement:type_name -> confidential_space.TpmAttestationEndorsement.AkCertEndorsement
	19, // 14: confidential_space.TpmAttestationEndorsement.titan_endorsement:type_name -> confidential_space.TpmAttestationEndorsement.TitanEndorsement
	20, // 15: confidential_space.TpmQuote.quotes:type_name -> confidential_space.TpmQuote.SignedQuote
	11, // 16: confidential_space.TpmQuote.endorsement:type_name -> confidential_space.TpmAttestationEndorsement
	22, // 17: confidential_space.TpmAuxiliaryAttestation.signed_nvs:type_name -> confidential_space.TpmAuxiliaryAttestation.SignedNvCertify
	12, // 18: confidential_space.HostAttestation.tpm_quote:type_name -> confidential_space.TpmQuote
	13, // 19: confidential_space.HostAttestation.aux_attestation:type_name -> confidential_space.TpmAuxiliaryAttestation
	23, // 20: confidential_space.HostACOSState.gmes:type_name -> state.GMESState
	1,  // 21: confidential_space.NvidiaAttestationReport.SinglePassthroughAttestation.gpu_quote:type_name -> confidential_space.GpuInfo
	1,  // 22: confidential_space.NvidiaAttestationReport.MultiGpuSecurePassthroughAttestation.gpu_quotes:type_name -> confidential_space.GpuInfo
	21, // 23: confidential_space.TpmQuote.SignedQuote.pcr_values:type_name -> confidential_space.TpmQuote.SignedQuote.PcrValuesEntry
	24, // [24:24] is the sub-list for method output_type
	24, // [24:24] is the sub-list for method input_type
	24, // [24:24] is the sub-list for extension type_name
	24, // [24:24] is the sub-list for extension extendee
	0,  // [0:24] is the sub-list for field type_name
}

func init() { file_attestation_proto_init() }
func file_attestation_proto_init() {
	if File_attestation_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_attestation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GpuInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_attestation_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NvidiaAttestationReport); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_attestation_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeviceAttestationReport); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_attestation_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TdxCcelQuote); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_attestation_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*VmAttestationQuote); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_attestation_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AcpiData); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_attestation_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*VmAttestation); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_attestation_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*KeyAttestation); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_attestation_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*VmProtectedKeyEndorsement); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_attestation_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*KeyEndorsement); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_attestation_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TpmAttestationEndorsement); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_attestation_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TpmQuote); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_attestation_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TpmAuxiliaryAttestation); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_attestation_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HostAttestation); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_attestation_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HostACOSState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_attestation_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NvidiaAttestationReport_SinglePassthroughAttestation); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_attestation_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NvidiaAttestationReport_MultiGpuSecurePassthroughAttestation); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_attestation_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TpmAttestationEndorsement_AkCertEndorsement); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_attestation_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TpmAttestationEndorsement_TitanEndorsement); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_attestation_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TpmQuote_SignedQuote); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_attestation_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TpmAuxiliaryAttestation_SignedNvCertify); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_attestation_proto_msgTypes[1].OneofWrappers = []interface{}{
		(*NvidiaAttestationReport_Spt)(nil),
		(*NvidiaAttestationReport_Mpt)(nil),
	}
	file_attestation_proto_msgTypes[2].OneofWrappers = []interface{}{
		(*DeviceAttestationReport_NvidiaReport)(nil),
	}
	file_attestation_proto_msgTypes[4].OneofWrappers = []interface{}{
		(*VmAttestationQuote_TdxCcelQuote)(nil),
		(*VmAttestationQuote_TpmQuote)(nil),
	}
	file_attestation_proto_msgTypes[6].OneofWrappers = []interface{}{}
	file_attestation_proto_msgTypes[9].OneofWrappers = []interface{}{
		(*KeyEndorsement_VmProtectedKeyEndorsement)(nil),
	}
	file_attestation_proto_msgTypes[10].OneofWrappers = []interface{}{
		(*TpmAttestationEndorsement_AkCertEndorsement_)(nil),
		(*TpmAttestationEndorsement_TitanEndorsement_)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_attestation_proto_rawDesc,
			NumEnums:      1,
			NumMessages:   22,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_attestation_proto_goTypes,
		DependencyIndexes: file_attestation_proto_depIdxs,
		EnumInfos:         file_attestation_proto_enumTypes,
		MessageInfos:      file_attestation_proto_msgTypes,
	}.Build()
	File_attestation_proto = out.File
	file_attestation_proto_rawDesc = nil
	file_attestation_proto_goTypes = nil
	file_attestation_proto_depIdxs = nil
}
