package immunization_go_proto

import (
	any "github.com/golang/protobuf/ptypes/any"
	_ "github.com/google/fhir/go/proto/google/fhir/proto/annotations_go_proto"
	datatypes_go_proto "github.com/google/fhir/go/proto/google/fhir/proto/r4/core/datatypes_go_proto"
	valuesets_go_proto "github.com/google/fhir/go/proto/google/fhir/proto/r4/core/valuesets_go_proto"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (

	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)

	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

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

	Id *datatypes_go_proto.Id `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`

	Meta *datatypes_go_proto.Meta `protobuf:"bytes,2,opt,name=meta,proto3" json:"meta,omitempty"`

	ImplicitRules *datatypes_go_proto.Uri `protobuf:"bytes,3,opt,name=implicit_rules,json=implicitRules,proto3" json:"implicit_rules,omitempty"`

	Language *datatypes_go_proto.Code `protobuf:"bytes,4,opt,name=language,proto3" json:"language,omitempty"`

	Text *datatypes_go_proto.Narrative `protobuf:"bytes,5,opt,name=text,proto3" json:"text,omitempty"`

	Contained []*any.Any `protobuf:"bytes,6,rep,name=contained,proto3" json:"contained,omitempty"`

	Extension []*datatypes_go_proto.Extension `protobuf:"bytes,8,rep,name=extension,proto3" json:"extension,omitempty"`

	ModifierExtension []*datatypes_go_proto.Extension `protobuf:"bytes,9,rep,name=modifier_extension,json=modifierExtension,proto3" json:"modifier_extension,omitempty"`

	Identifier []*datatypes_go_proto.Identifier `protobuf:"bytes,10,rep,name=identifier,proto3" json:"identifier,omitempty"`
	Status     *Immunization_StatusCode         `protobuf:"bytes,11,opt,name=status,proto3" json:"status,omitempty"`

	StatusReason *datatypes_go_proto.CodeableConcept `protobuf:"bytes,12,opt,name=status_reason,json=statusReason,proto3" json:"status_reason,omitempty"`

	VaccineCode *datatypes_go_proto.CodeableConcept `protobuf:"bytes,13,opt,name=vaccine_code,json=vaccineCode,proto3" json:"vaccine_code,omitempty"`

	Patient *datatypes_go_proto.Reference `protobuf:"bytes,14,opt,name=patient,proto3" json:"patient,omitempty"`

	Encounter  *datatypes_go_proto.Reference `protobuf:"bytes,15,opt,name=encounter,proto3" json:"encounter,omitempty"`
	Occurrence *Immunization_OccurrenceX     `protobuf:"bytes,16,opt,name=occurrence,proto3" json:"occurrence,omitempty"`

	Recorded *datatypes_go_proto.DateTime `protobuf:"bytes,17,opt,name=recorded,proto3" json:"recorded,omitempty"`

	PrimarySource *datatypes_go_proto.Boolean `protobuf:"bytes,18,opt,name=primary_source,json=primarySource,proto3" json:"primary_source,omitempty"`

	ReportOrigin *datatypes_go_proto.CodeableConcept `protobuf:"bytes,19,opt,name=report_origin,json=reportOrigin,proto3" json:"report_origin,omitempty"`

	Location *datatypes_go_proto.Reference `protobuf:"bytes,20,opt,name=location,proto3" json:"location,omitempty"`

	Manufacturer *datatypes_go_proto.Reference `protobuf:"bytes,21,opt,name=manufacturer,proto3" json:"manufacturer,omitempty"`

	LotNumber *datatypes_go_proto.String `protobuf:"bytes,22,opt,name=lot_number,json=lotNumber,proto3" json:"lot_number,omitempty"`

	ExpirationDate *datatypes_go_proto.Date `protobuf:"bytes,23,opt,name=expiration_date,json=expirationDate,proto3" json:"expiration_date,omitempty"`

	Site *datatypes_go_proto.CodeableConcept `protobuf:"bytes,24,opt,name=site,proto3" json:"site,omitempty"`

	Route *datatypes_go_proto.CodeableConcept `protobuf:"bytes,25,opt,name=route,proto3" json:"route,omitempty"`

	DoseQuantity *datatypes_go_proto.SimpleQuantity `protobuf:"bytes,26,opt,name=dose_quantity,json=doseQuantity,proto3" json:"dose_quantity,omitempty"`
	Performer    []*Immunization_Performer          `protobuf:"bytes,27,rep,name=performer,proto3" json:"performer,omitempty"`

	Note []*datatypes_go_proto.Annotation `protobuf:"bytes,28,rep,name=note,proto3" json:"note,omitempty"`

	ReasonCode []*datatypes_go_proto.CodeableConcept `protobuf:"bytes,29,rep,name=reason_code,json=reasonCode,proto3" json:"reason_code,omitempty"`

	ReasonReference []*datatypes_go_proto.Reference `protobuf:"bytes,30,rep,name=reason_reference,json=reasonReference,proto3" json:"reason_reference,omitempty"`

	IsSubpotent *datatypes_go_proto.Boolean `protobuf:"bytes,31,opt,name=is_subpotent,json=isSubpotent,proto3" json:"is_subpotent,omitempty"`

	SubpotentReason []*datatypes_go_proto.CodeableConcept `protobuf:"bytes,32,rep,name=subpotent_reason,json=subpotentReason,proto3" json:"subpotent_reason,omitempty"`
	Education       []*Immunization_Education             `protobuf:"bytes,33,rep,name=education,proto3" json:"education,omitempty"`

	ProgramEligibility []*datatypes_go_proto.CodeableConcept `protobuf:"bytes,34,rep,name=program_eligibility,json=programEligibility,proto3" json:"program_eligibility,omitempty"`

	FundingSource   *datatypes_go_proto.CodeableConcept `protobuf:"bytes,35,opt,name=funding_source,json=fundingSource,proto3" json:"funding_source,omitempty"`
	Reaction        []*Immunization_Reaction            `protobuf:"bytes,36,rep,name=reaction,proto3" json:"reaction,omitempty"`
	ProtocolApplied []*Immunization_ProtocolApplied     `protobuf:"bytes,37,rep,name=protocol_applied,json=protocolApplied,proto3" json:"protocol_applied,omitempty"`
}

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

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

func (*Immunization) ProtoMessage() {}

func (x *Immunization) ProtoReflect() protoreflect.Message {
	mi := &file_proto_google_fhir_proto_r4_core_resources_immunization_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)
}

func (*Immunization) Descriptor() ([]byte, []int) {
	return file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescGZIP(), []int{0}
}

func (x *Immunization) GetId() *datatypes_go_proto.Id {
	if x != nil {
		return x.Id
	}
	return nil
}

func (x *Immunization) GetMeta() *datatypes_go_proto.Meta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *Immunization) GetImplicitRules() *datatypes_go_proto.Uri {
	if x != nil {
		return x.ImplicitRules
	}
	return nil
}

func (x *Immunization) GetLanguage() *datatypes_go_proto.Code {
	if x != nil {
		return x.Language
	}
	return nil
}

func (x *Immunization) GetText() *datatypes_go_proto.Narrative {
	if x != nil {
		return x.Text
	}
	return nil
}

func (x *Immunization) GetContained() []*any.Any {
	if x != nil {
		return x.Contained
	}
	return nil
}

func (x *Immunization) GetExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.Extension
	}
	return nil
}

func (x *Immunization) GetModifierExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.ModifierExtension
	}
	return nil
}

func (x *Immunization) GetIdentifier() []*datatypes_go_proto.Identifier {
	if x != nil {
		return x.Identifier
	}
	return nil
}

func (x *Immunization) GetStatus() *Immunization_StatusCode {
	if x != nil {
		return x.Status
	}
	return nil
}

func (x *Immunization) GetStatusReason() *datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.StatusReason
	}
	return nil
}

func (x *Immunization) GetVaccineCode() *datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.VaccineCode
	}
	return nil
}

func (x *Immunization) GetPatient() *datatypes_go_proto.Reference {
	if x != nil {
		return x.Patient
	}
	return nil
}

func (x *Immunization) GetEncounter() *datatypes_go_proto.Reference {
	if x != nil {
		return x.Encounter
	}
	return nil
}

func (x *Immunization) GetOccurrence() *Immunization_OccurrenceX {
	if x != nil {
		return x.Occurrence
	}
	return nil
}

func (x *Immunization) GetRecorded() *datatypes_go_proto.DateTime {
	if x != nil {
		return x.Recorded
	}
	return nil
}

func (x *Immunization) GetPrimarySource() *datatypes_go_proto.Boolean {
	if x != nil {
		return x.PrimarySource
	}
	return nil
}

func (x *Immunization) GetReportOrigin() *datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.ReportOrigin
	}
	return nil
}

func (x *Immunization) GetLocation() *datatypes_go_proto.Reference {
	if x != nil {
		return x.Location
	}
	return nil
}

func (x *Immunization) GetManufacturer() *datatypes_go_proto.Reference {
	if x != nil {
		return x.Manufacturer
	}
	return nil
}

func (x *Immunization) GetLotNumber() *datatypes_go_proto.String {
	if x != nil {
		return x.LotNumber
	}
	return nil
}

func (x *Immunization) GetExpirationDate() *datatypes_go_proto.Date {
	if x != nil {
		return x.ExpirationDate
	}
	return nil
}

func (x *Immunization) GetSite() *datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.Site
	}
	return nil
}

func (x *Immunization) GetRoute() *datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.Route
	}
	return nil
}

func (x *Immunization) GetDoseQuantity() *datatypes_go_proto.SimpleQuantity {
	if x != nil {
		return x.DoseQuantity
	}
	return nil
}

func (x *Immunization) GetPerformer() []*Immunization_Performer {
	if x != nil {
		return x.Performer
	}
	return nil
}

func (x *Immunization) GetNote() []*datatypes_go_proto.Annotation {
	if x != nil {
		return x.Note
	}
	return nil
}

func (x *Immunization) GetReasonCode() []*datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.ReasonCode
	}
	return nil
}

func (x *Immunization) GetReasonReference() []*datatypes_go_proto.Reference {
	if x != nil {
		return x.ReasonReference
	}
	return nil
}

func (x *Immunization) GetIsSubpotent() *datatypes_go_proto.Boolean {
	if x != nil {
		return x.IsSubpotent
	}
	return nil
}

func (x *Immunization) GetSubpotentReason() []*datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.SubpotentReason
	}
	return nil
}

func (x *Immunization) GetEducation() []*Immunization_Education {
	if x != nil {
		return x.Education
	}
	return nil
}

func (x *Immunization) GetProgramEligibility() []*datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.ProgramEligibility
	}
	return nil
}

func (x *Immunization) GetFundingSource() *datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.FundingSource
	}
	return nil
}

func (x *Immunization) GetReaction() []*Immunization_Reaction {
	if x != nil {
		return x.Reaction
	}
	return nil
}

func (x *Immunization) GetProtocolApplied() []*Immunization_ProtocolApplied {
	if x != nil {
		return x.ProtocolApplied
	}
	return nil
}

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

	Value     valuesets_go_proto.ImmunizationStatusCodesValueSet_Value `protobuf:"varint,1,opt,name=value,proto3,enum=google.fhir.r4.core.ImmunizationStatusCodesValueSet_Value" json:"value,omitempty"`
	Id        *datatypes_go_proto.String                               `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	Extension []*datatypes_go_proto.Extension                          `protobuf:"bytes,3,rep,name=extension,proto3" json:"extension,omitempty"`
}

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

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

func (*Immunization_StatusCode) ProtoMessage() {}

func (x *Immunization_StatusCode) ProtoReflect() protoreflect.Message {
	mi := &file_proto_google_fhir_proto_r4_core_resources_immunization_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)
}

func (*Immunization_StatusCode) Descriptor() ([]byte, []int) {
	return file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescGZIP(), []int{0, 0}
}

func (x *Immunization_StatusCode) GetValue() valuesets_go_proto.ImmunizationStatusCodesValueSet_Value {
	if x != nil {
		return x.Value
	}
	return valuesets_go_proto.ImmunizationStatusCodesValueSet_INVALID_UNINITIALIZED
}

func (x *Immunization_StatusCode) GetId() *datatypes_go_proto.String {
	if x != nil {
		return x.Id
	}
	return nil
}

func (x *Immunization_StatusCode) GetExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.Extension
	}
	return nil
}

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

	Choice isImmunization_OccurrenceX_Choice `protobuf_oneof:"choice"`
}

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

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

func (*Immunization_OccurrenceX) ProtoMessage() {}

func (x *Immunization_OccurrenceX) ProtoReflect() protoreflect.Message {
	mi := &file_proto_google_fhir_proto_r4_core_resources_immunization_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)
}

func (*Immunization_OccurrenceX) Descriptor() ([]byte, []int) {
	return file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescGZIP(), []int{0, 1}
}

func (m *Immunization_OccurrenceX) GetChoice() isImmunization_OccurrenceX_Choice {
	if m != nil {
		return m.Choice
	}
	return nil
}

func (x *Immunization_OccurrenceX) GetDateTime() *datatypes_go_proto.DateTime {
	if x, ok := x.GetChoice().(*Immunization_OccurrenceX_DateTime); ok {
		return x.DateTime
	}
	return nil
}

func (x *Immunization_OccurrenceX) GetStringValue() *datatypes_go_proto.String {
	if x, ok := x.GetChoice().(*Immunization_OccurrenceX_StringValue); ok {
		return x.StringValue
	}
	return nil
}

type isImmunization_OccurrenceX_Choice interface {
	isImmunization_OccurrenceX_Choice()
}

type Immunization_OccurrenceX_DateTime struct {
	DateTime *datatypes_go_proto.DateTime `protobuf:"bytes,1,opt,name=date_time,json=dateTime,proto3,oneof"`
}

type Immunization_OccurrenceX_StringValue struct {
	StringValue *datatypes_go_proto.String `protobuf:"bytes,2,opt,name=string_value,json=string,proto3,oneof"`
}

func (*Immunization_OccurrenceX_DateTime) isImmunization_OccurrenceX_Choice() {}

func (*Immunization_OccurrenceX_StringValue) isImmunization_OccurrenceX_Choice() {}

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

	Id *datatypes_go_proto.String `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`

	Extension []*datatypes_go_proto.Extension `protobuf:"bytes,2,rep,name=extension,proto3" json:"extension,omitempty"`

	ModifierExtension []*datatypes_go_proto.Extension `protobuf:"bytes,3,rep,name=modifier_extension,json=modifierExtension,proto3" json:"modifier_extension,omitempty"`

	Function *datatypes_go_proto.CodeableConcept `protobuf:"bytes,4,opt,name=function,proto3" json:"function,omitempty"`

	Actor *datatypes_go_proto.Reference `protobuf:"bytes,5,opt,name=actor,proto3" json:"actor,omitempty"`
}

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

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

func (*Immunization_Performer) ProtoMessage() {}

func (x *Immunization_Performer) ProtoReflect() protoreflect.Message {
	mi := &file_proto_google_fhir_proto_r4_core_resources_immunization_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)
}

func (*Immunization_Performer) Descriptor() ([]byte, []int) {
	return file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescGZIP(), []int{0, 2}
}

func (x *Immunization_Performer) GetId() *datatypes_go_proto.String {
	if x != nil {
		return x.Id
	}
	return nil
}

func (x *Immunization_Performer) GetExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.Extension
	}
	return nil
}

func (x *Immunization_Performer) GetModifierExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.ModifierExtension
	}
	return nil
}

func (x *Immunization_Performer) GetFunction() *datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.Function
	}
	return nil
}

func (x *Immunization_Performer) GetActor() *datatypes_go_proto.Reference {
	if x != nil {
		return x.Actor
	}
	return nil
}

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

	Id *datatypes_go_proto.String `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`

	Extension []*datatypes_go_proto.Extension `protobuf:"bytes,2,rep,name=extension,proto3" json:"extension,omitempty"`

	ModifierExtension []*datatypes_go_proto.Extension `protobuf:"bytes,3,rep,name=modifier_extension,json=modifierExtension,proto3" json:"modifier_extension,omitempty"`

	DocumentType *datatypes_go_proto.String `protobuf:"bytes,4,opt,name=document_type,json=documentType,proto3" json:"document_type,omitempty"`

	Reference *datatypes_go_proto.Uri `protobuf:"bytes,5,opt,name=reference,proto3" json:"reference,omitempty"`

	PublicationDate *datatypes_go_proto.DateTime `protobuf:"bytes,6,opt,name=publication_date,json=publicationDate,proto3" json:"publication_date,omitempty"`

	PresentationDate *datatypes_go_proto.DateTime `protobuf:"bytes,7,opt,name=presentation_date,json=presentationDate,proto3" json:"presentation_date,omitempty"`
}

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

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

func (*Immunization_Education) ProtoMessage() {}

func (x *Immunization_Education) ProtoReflect() protoreflect.Message {
	mi := &file_proto_google_fhir_proto_r4_core_resources_immunization_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)
}

func (*Immunization_Education) Descriptor() ([]byte, []int) {
	return file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescGZIP(), []int{0, 3}
}

func (x *Immunization_Education) GetId() *datatypes_go_proto.String {
	if x != nil {
		return x.Id
	}
	return nil
}

func (x *Immunization_Education) GetExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.Extension
	}
	return nil
}

func (x *Immunization_Education) GetModifierExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.ModifierExtension
	}
	return nil
}

func (x *Immunization_Education) GetDocumentType() *datatypes_go_proto.String {
	if x != nil {
		return x.DocumentType
	}
	return nil
}

func (x *Immunization_Education) GetReference() *datatypes_go_proto.Uri {
	if x != nil {
		return x.Reference
	}
	return nil
}

func (x *Immunization_Education) GetPublicationDate() *datatypes_go_proto.DateTime {
	if x != nil {
		return x.PublicationDate
	}
	return nil
}

func (x *Immunization_Education) GetPresentationDate() *datatypes_go_proto.DateTime {
	if x != nil {
		return x.PresentationDate
	}
	return nil
}

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

	Id *datatypes_go_proto.String `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`

	Extension []*datatypes_go_proto.Extension `protobuf:"bytes,2,rep,name=extension,proto3" json:"extension,omitempty"`

	ModifierExtension []*datatypes_go_proto.Extension `protobuf:"bytes,3,rep,name=modifier_extension,json=modifierExtension,proto3" json:"modifier_extension,omitempty"`

	Date *datatypes_go_proto.DateTime `protobuf:"bytes,4,opt,name=date,proto3" json:"date,omitempty"`

	Detail *datatypes_go_proto.Reference `protobuf:"bytes,5,opt,name=detail,proto3" json:"detail,omitempty"`

	Reported *datatypes_go_proto.Boolean `protobuf:"bytes,6,opt,name=reported,proto3" json:"reported,omitempty"`
}

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

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

func (*Immunization_Reaction) ProtoMessage() {}

func (x *Immunization_Reaction) ProtoReflect() protoreflect.Message {
	mi := &file_proto_google_fhir_proto_r4_core_resources_immunization_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)
}

func (*Immunization_Reaction) Descriptor() ([]byte, []int) {
	return file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescGZIP(), []int{0, 4}
}

func (x *Immunization_Reaction) GetId() *datatypes_go_proto.String {
	if x != nil {
		return x.Id
	}
	return nil
}

func (x *Immunization_Reaction) GetExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.Extension
	}
	return nil
}

func (x *Immunization_Reaction) GetModifierExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.ModifierExtension
	}
	return nil
}

func (x *Immunization_Reaction) GetDate() *datatypes_go_proto.DateTime {
	if x != nil {
		return x.Date
	}
	return nil
}

func (x *Immunization_Reaction) GetDetail() *datatypes_go_proto.Reference {
	if x != nil {
		return x.Detail
	}
	return nil
}

func (x *Immunization_Reaction) GetReported() *datatypes_go_proto.Boolean {
	if x != nil {
		return x.Reported
	}
	return nil
}

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

	Id *datatypes_go_proto.String `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`

	Extension []*datatypes_go_proto.Extension `protobuf:"bytes,2,rep,name=extension,proto3" json:"extension,omitempty"`

	ModifierExtension []*datatypes_go_proto.Extension `protobuf:"bytes,3,rep,name=modifier_extension,json=modifierExtension,proto3" json:"modifier_extension,omitempty"`

	Series *datatypes_go_proto.String `protobuf:"bytes,4,opt,name=series,proto3" json:"series,omitempty"`

	Authority *datatypes_go_proto.Reference `protobuf:"bytes,5,opt,name=authority,proto3" json:"authority,omitempty"`

	TargetDisease []*datatypes_go_proto.CodeableConcept      `protobuf:"bytes,6,rep,name=target_disease,json=targetDisease,proto3" json:"target_disease,omitempty"`
	DoseNumber    *Immunization_ProtocolApplied_DoseNumberX  `protobuf:"bytes,7,opt,name=dose_number,json=doseNumber,proto3" json:"dose_number,omitempty"`
	SeriesDoses   *Immunization_ProtocolApplied_SeriesDosesX `protobuf:"bytes,8,opt,name=series_doses,json=seriesDoses,proto3" json:"series_doses,omitempty"`
}

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

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

func (*Immunization_ProtocolApplied) ProtoMessage() {}

func (x *Immunization_ProtocolApplied) ProtoReflect() protoreflect.Message {
	mi := &file_proto_google_fhir_proto_r4_core_resources_immunization_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)
}

func (*Immunization_ProtocolApplied) Descriptor() ([]byte, []int) {
	return file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescGZIP(), []int{0, 5}
}

func (x *Immunization_ProtocolApplied) GetId() *datatypes_go_proto.String {
	if x != nil {
		return x.Id
	}
	return nil
}

func (x *Immunization_ProtocolApplied) GetExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.Extension
	}
	return nil
}

func (x *Immunization_ProtocolApplied) GetModifierExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.ModifierExtension
	}
	return nil
}

func (x *Immunization_ProtocolApplied) GetSeries() *datatypes_go_proto.String {
	if x != nil {
		return x.Series
	}
	return nil
}

func (x *Immunization_ProtocolApplied) GetAuthority() *datatypes_go_proto.Reference {
	if x != nil {
		return x.Authority
	}
	return nil
}

func (x *Immunization_ProtocolApplied) GetTargetDisease() []*datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.TargetDisease
	}
	return nil
}

func (x *Immunization_ProtocolApplied) GetDoseNumber() *Immunization_ProtocolApplied_DoseNumberX {
	if x != nil {
		return x.DoseNumber
	}
	return nil
}

func (x *Immunization_ProtocolApplied) GetSeriesDoses() *Immunization_ProtocolApplied_SeriesDosesX {
	if x != nil {
		return x.SeriesDoses
	}
	return nil
}

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

	Choice isImmunization_ProtocolApplied_DoseNumberX_Choice `protobuf_oneof:"choice"`
}

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

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

func (*Immunization_ProtocolApplied_DoseNumberX) ProtoMessage() {}

func (x *Immunization_ProtocolApplied_DoseNumberX) ProtoReflect() protoreflect.Message {
	mi := &file_proto_google_fhir_proto_r4_core_resources_immunization_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)
}

func (*Immunization_ProtocolApplied_DoseNumberX) Descriptor() ([]byte, []int) {
	return file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescGZIP(), []int{0, 5, 0}
}

func (m *Immunization_ProtocolApplied_DoseNumberX) GetChoice() isImmunization_ProtocolApplied_DoseNumberX_Choice {
	if m != nil {
		return m.Choice
	}
	return nil
}

func (x *Immunization_ProtocolApplied_DoseNumberX) GetPositiveInt() *datatypes_go_proto.PositiveInt {
	if x, ok := x.GetChoice().(*Immunization_ProtocolApplied_DoseNumberX_PositiveInt); ok {
		return x.PositiveInt
	}
	return nil
}

func (x *Immunization_ProtocolApplied_DoseNumberX) GetStringValue() *datatypes_go_proto.String {
	if x, ok := x.GetChoice().(*Immunization_ProtocolApplied_DoseNumberX_StringValue); ok {
		return x.StringValue
	}
	return nil
}

type isImmunization_ProtocolApplied_DoseNumberX_Choice interface {
	isImmunization_ProtocolApplied_DoseNumberX_Choice()
}

type Immunization_ProtocolApplied_DoseNumberX_PositiveInt struct {
	PositiveInt *datatypes_go_proto.PositiveInt `protobuf:"bytes,1,opt,name=positive_int,json=positiveInt,proto3,oneof"`
}

type Immunization_ProtocolApplied_DoseNumberX_StringValue struct {
	StringValue *datatypes_go_proto.String `protobuf:"bytes,2,opt,name=string_value,json=string,proto3,oneof"`
}

func (*Immunization_ProtocolApplied_DoseNumberX_PositiveInt) isImmunization_ProtocolApplied_DoseNumberX_Choice() {
}

func (*Immunization_ProtocolApplied_DoseNumberX_StringValue) isImmunization_ProtocolApplied_DoseNumberX_Choice() {
}

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

	Choice isImmunization_ProtocolApplied_SeriesDosesX_Choice `protobuf_oneof:"choice"`
}

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

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

func (*Immunization_ProtocolApplied_SeriesDosesX) ProtoMessage() {}

func (x *Immunization_ProtocolApplied_SeriesDosesX) ProtoReflect() protoreflect.Message {
	mi := &file_proto_google_fhir_proto_r4_core_resources_immunization_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)
}

func (*Immunization_ProtocolApplied_SeriesDosesX) Descriptor() ([]byte, []int) {
	return file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescGZIP(), []int{0, 5, 1}
}

func (m *Immunization_ProtocolApplied_SeriesDosesX) GetChoice() isImmunization_ProtocolApplied_SeriesDosesX_Choice {
	if m != nil {
		return m.Choice
	}
	return nil
}

func (x *Immunization_ProtocolApplied_SeriesDosesX) GetPositiveInt() *datatypes_go_proto.PositiveInt {
	if x, ok := x.GetChoice().(*Immunization_ProtocolApplied_SeriesDosesX_PositiveInt); ok {
		return x.PositiveInt
	}
	return nil
}

func (x *Immunization_ProtocolApplied_SeriesDosesX) GetStringValue() *datatypes_go_proto.String {
	if x, ok := x.GetChoice().(*Immunization_ProtocolApplied_SeriesDosesX_StringValue); ok {
		return x.StringValue
	}
	return nil
}

type isImmunization_ProtocolApplied_SeriesDosesX_Choice interface {
	isImmunization_ProtocolApplied_SeriesDosesX_Choice()
}

type Immunization_ProtocolApplied_SeriesDosesX_PositiveInt struct {
	PositiveInt *datatypes_go_proto.PositiveInt `protobuf:"bytes,1,opt,name=positive_int,json=positiveInt,proto3,oneof"`
}

type Immunization_ProtocolApplied_SeriesDosesX_StringValue struct {
	StringValue *datatypes_go_proto.String `protobuf:"bytes,2,opt,name=string_value,json=string,proto3,oneof"`
}

func (*Immunization_ProtocolApplied_SeriesDosesX_PositiveInt) isImmunization_ProtocolApplied_SeriesDosesX_Choice() {
}

func (*Immunization_ProtocolApplied_SeriesDosesX_StringValue) isImmunization_ProtocolApplied_SeriesDosesX_Choice() {
}

var File_proto_google_fhir_proto_r4_core_resources_immunization_proto protoreflect.FileDescriptor

var file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDesc = []byte{
	0x0a, 0x3c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66,
	0x68, 0x69, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x34, 0x2f, 0x63, 0x6f, 0x72,
	0x65, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x69, 0x6d, 0x6d, 0x75,
	0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63,
	0x6f, 0x72, 0x65, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x68, 0x69,
	0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x68, 0x69, 0x72, 0x2f, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2f, 0x72, 0x34, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x74,
	0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x68, 0x69, 0x72, 0x2f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x34, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x73, 0x65, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfb, 0x29, 0x0a, 0x0c,
	0x49, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x02,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49,
	0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69,
	0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04,
	0x6d, 0x65, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x0e, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74,
	0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f,
	0x72, 0x65, 0x2e, 0x55, 0x72, 0x69, 0x52, 0x0d, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74,
	0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f,
	0x64, 0x65, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x32, 0x0a, 0x04,
	0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65,
	0x2e, 0x4e, 0x61, 0x72, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74,
	0x12, 0x32, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x18, 0x06, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61,
	0x69, 0x6e, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
	0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78,
	0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
	0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x65,
	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11,
	0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
	0x6e, 0x12, 0x3f, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18,
	0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66,
	0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e,
	0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69,
	0x65, 0x72, 0x12, 0x4c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72,
	0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x7a,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65,
	0x42, 0x06, 0xf0, 0xd0, 0x87, 0xeb, 0x04, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x12, 0x49, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f,
	0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f,
	0x64, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x52, 0x0c, 0x73,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x0c, 0x76,
	0x61, 0x63, 0x63, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e,
	0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x61, 0x62, 0x6c, 0x65,
	0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x42, 0x06, 0xf0, 0xd0, 0x87, 0xeb, 0x04, 0x01, 0x52,
	0x0b, 0x76, 0x61, 0x63, 0x63, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x4d, 0x0a, 0x07,
	0x70, 0x61, 0x74, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63,
	0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x13, 0xf0,
	0xd0, 0x87, 0xeb, 0x04, 0x01, 0xf2, 0xff, 0xfc, 0xc2, 0x06, 0x07, 0x50, 0x61, 0x74, 0x69, 0x65,
	0x6e, 0x74, 0x52, 0x07, 0x70, 0x61, 0x74, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x4d, 0x0a, 0x09, 0x65,
	0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0f,
	0xf2, 0xff, 0xfc, 0xc2, 0x06, 0x09, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52,
	0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0a, 0x6f, 0x63,
	0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x58, 0x42, 0x06, 0xf0,
	0xd0, 0x87, 0xeb, 0x04, 0x01, 0x52, 0x0a, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63,
	0x65, 0x12, 0x39, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x64, 0x18, 0x11, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69,
	0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69,
	0x6d, 0x65, 0x52, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x64, 0x12, 0x43, 0x0a, 0x0e,
	0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x12,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68,
	0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65,
	0x61, 0x6e, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x12, 0x49, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x72, 0x69, 0x67,
	0x69, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43,
	0x6f, 0x64, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x52, 0x0c,
	0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x4a, 0x0a, 0x08,
	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0e,
	0xf2, 0xff, 0xfc, 0xc2, 0x06, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08,
	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x0c, 0x6d, 0x61, 0x6e, 0x75,
	0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x12,
	0xf2, 0xff, 0xfc, 0xc2, 0x06, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x52, 0x0c, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, 0x72,
	0x12, 0x3a, 0x0a, 0x0a, 0x6c, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x16,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68,
	0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
	0x67, 0x52, 0x09, 0x6c, 0x6f, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0f,
	0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18,
	0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66,
	0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65,
	0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65,
	0x12, 0x38, 0x0a, 0x04, 0x73, 0x69, 0x74, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e,
	0x63, 0x65, 0x70, 0x74, 0x52, 0x04, 0x73, 0x69, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x72, 0x6f,
	0x75, 0x74, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
	0x43, 0x6f, 0x64, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x52,
	0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x64, 0x6f, 0x73, 0x65, 0x5f, 0x71,
	0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63,
	0x6f, 0x72, 0x65, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69,
	0x74, 0x79, 0x52, 0x0c, 0x64, 0x6f, 0x73, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79,
	0x12, 0x49, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x18, 0x1b, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69,
	0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6d, 0x6d, 0x75, 0x6e, 0x69,
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72,
	0x52, 0x09, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x04, 0x6e,
	0x6f, 0x74, 0x65, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x6f, 0x74, 0x65,
	0x12, 0x45, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18,
	0x1d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66,
	0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65,
	0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x52, 0x0a, 0x72, 0x65, 0x61,
	0x73, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x10, 0x72, 0x65, 0x61, 0x73,
	0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x1e, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72,
	0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
	0x63, 0x65, 0x42, 0x36, 0xf2, 0xff, 0xfc, 0xc2, 0x06, 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0xf2, 0xff, 0xfc, 0xc2, 0x06, 0x0b, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0xf2, 0xff, 0xfc, 0xc2, 0x06, 0x10, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f,
	0x73, 0x74, 0x69, 0x63, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0f, 0x72, 0x65, 0x61, 0x73,
	0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x69,
	0x73, 0x5f, 0x73, 0x75, 0x62, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e,
	0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x52,
	0x0b, 0x69, 0x73, 0x53, 0x75, 0x62, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x10,
	0x73, 0x75, 0x62, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
	0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x64,
	0x65, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x52, 0x0f, 0x73, 0x75,
	0x62, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x49, 0x0a,
	0x09, 0x65, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72,
	0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x7a, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65,
	0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x67,
	0x72, 0x61, 0x6d, 0x5f, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18,
	0x22, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66,
	0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65,
	0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x52, 0x12, 0x70, 0x72, 0x6f,
	0x67, 0x72, 0x61, 0x6d, 0x45, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12,
	0x4b, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f,
	0x64, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x52, 0x0d, 0x66,
	0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x46, 0x0a, 0x08,
	0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x24, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x2e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x72, 0x65, 0x61, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5c, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
	0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x18, 0x25, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65,
	0x64, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x41, 0x70, 0x70, 0x6c, 0x69,
	0x65, 0x64, 0x1a, 0xb9, 0x02, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64,
	0x65, 0x12, 0x50, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72,
	0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x7a, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x53, 0x65, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x12, 0x2b, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34,
	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x02, 0x69, 0x64,
	0x12, 0x3c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69,
	0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
	0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x6e,
	0xc0, 0x9f, 0xe3, 0xb6, 0x05, 0x01, 0x8a, 0xf9, 0x83, 0xb2, 0x05, 0x30, 0x68, 0x74, 0x74, 0x70,
	0x3a, 0x2f, 0x2f, 0x68, 0x6c, 0x37, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x68, 0x69, 0x72, 0x2f,
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x65, 0x74, 0x2f, 0x69, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x7a,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x9a, 0xb5, 0x8e, 0x93,
	0x06, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x68, 0x6c, 0x37, 0x2e, 0x6f, 0x72, 0x67,
	0x2f, 0x66, 0x68, 0x69, 0x72, 0x2f, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x44,
	0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x1a, 0x9a,
	0x01, 0x0a, 0x0b, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x58, 0x12, 0x3c,
	0x0a, 0x09, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e,
	0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
	0x48, 0x00, 0x52, 0x08, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0c,
	0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72,
	0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48,
	0x00, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x06, 0xa0, 0x83, 0x83, 0xe8, 0x06,
	0x01, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x1a, 0xff, 0x02, 0x0a, 0x09,
	0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x02, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66,
	0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69,
	0x6e, 0x67, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73,
	0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
	0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e,
	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72,
	0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72,
	0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
	0x52, 0x11, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
	0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66,
	0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65,
	0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x52, 0x08, 0x66, 0x75, 0x6e,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x76, 0x0a, 0x05, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68,
	0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72,
	0x65, 0x6e, 0x63, 0x65, 0x42, 0x40, 0xf0, 0xd0, 0x87, 0xeb, 0x04, 0x01, 0xf2, 0xff, 0xfc, 0xc2,
	0x06, 0x0c, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0xf2, 0xff,
	0xfc, 0xc2, 0x06, 0x10, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x72,
	0x52, 0x6f, 0x6c, 0x65, 0xf2, 0xff, 0xfc, 0xc2, 0x06, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69,
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x1a, 0x88, 0x04,
	0x0a, 0x09, 0x45, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x02, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74,
	0x72, 0x69, 0x6e, 0x67, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65,
	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72,
	0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x74,
	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69,
	0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72,
	0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
	0x6f, 0x6e, 0x52, 0x11, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65,
	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0d, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
	0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f,
	0x72, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d,
	0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72,
	0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65,
	0x2e, 0x55, 0x72, 0x69, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12,
	0x48, 0x0a, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64,
	0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
	0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x4a, 0x0a, 0x11, 0x70, 0x72, 0x65,
	0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68,
	0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54,
	0x69, 0x6d, 0x65, 0x52, 0x10, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x44, 0x61, 0x74, 0x65, 0x3a, 0x31, 0x9a, 0x86, 0x93, 0xa0, 0x08, 0x2b, 0x64, 0x6f, 0x63,
	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73,
	0x28, 0x29, 0x20, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e,
	0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x28, 0x29, 0x1a, 0xfc, 0x02, 0x0a, 0x08, 0x52, 0x65, 0x61,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e,
	0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x02,
	0x69, 0x64, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66,
	0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65,
	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
	0x12, 0x4d, 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x74,
	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f,
	0x72, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x6d, 0x6f,
	0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12,
	0x31, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63,
	0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x04, 0x64, 0x61,
	0x74, 0x65, 0x12, 0x49, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72,
	0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
	0x63, 0x65, 0x42, 0x11, 0xf2, 0xff, 0xfc, 0xc2, 0x06, 0x0b, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x38, 0x0a,
	0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34,
	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x52, 0x08, 0x72,
	0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x1a, 0xb7, 0x07, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x74,
	0x6f, 0x63, 0x6f, 0x6c, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x02, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74,
	0x72, 0x69, 0x6e, 0x67, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65,
	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72,
	0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x74,
	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69,
	0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72,
	0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
	0x6f, 0x6e, 0x52, 0x11, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65,
	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66,
	0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69,
	0x6e, 0x67, 0x52, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x09, 0x61, 0x75,
	0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63,
	0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x12, 0xf2,
	0xff, 0xfc, 0xc2, 0x06, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x4b, 0x0a, 0x0e,
	0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x65, 0x61, 0x73, 0x65, 0x18, 0x06,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68,
	0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x61,
	0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67,
	0x65, 0x74, 0x44, 0x69, 0x73, 0x65, 0x61, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x64, 0x6f, 0x73,
	0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65,
	0x64, 0x2e, 0x44, 0x6f, 0x73, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x58, 0x42, 0x06, 0xf0,
	0xd0, 0x87, 0xeb, 0x04, 0x01, 0x52, 0x0a, 0x64, 0x6f, 0x73, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65,
	0x72, 0x12, 0x61, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x64, 0x6f, 0x73, 0x65,
	0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6d,
	0x6d, 0x75, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f,
	0x63, 0x6f, 0x6c, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x2e, 0x53, 0x65, 0x72, 0x69, 0x65,
	0x73, 0x44, 0x6f, 0x73, 0x65, 0x73, 0x58, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44,
	0x6f, 0x73, 0x65, 0x73, 0x1a, 0xa3, 0x01, 0x0a, 0x0b, 0x44, 0x6f, 0x73, 0x65, 0x4e, 0x75, 0x6d,
	0x62, 0x65, 0x72, 0x58, 0x12, 0x45, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65,
	0x5f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65,
	0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0b,
	0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x73,
	0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e,
	0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00,
	0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x06, 0xa0, 0x83, 0x83, 0xe8, 0x06, 0x01,
	0x42, 0x08, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x1a, 0xa4, 0x01, 0x0a, 0x0c, 0x53,
	0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x6f, 0x73, 0x65, 0x73, 0x58, 0x12, 0x45, 0x0a, 0x0c, 0x70,
	0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e,
	0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65,
	0x49, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x49,
	0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c,
	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53,
	0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a,
	0x06, 0xa0, 0x83, 0x83, 0xe8, 0x06, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63,
	0x65, 0x3a, 0x40, 0xc0, 0x9f, 0xe3, 0xb6, 0x05, 0x03, 0xb2, 0xfe, 0xe4, 0x97, 0x06, 0x34, 0x68,
	0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x68, 0x6c, 0x37, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x68,
	0x69, 0x72, 0x2f, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x66, 0x69,
	0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x49, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x7a, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x42, 0x7c, 0x0a, 0x17, 0x63, 0x6f, 0x6d,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x50, 0x01, 0x5a, 0x59, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
	0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x68, 0x69, 0x72, 0x2f, 0x67,
	0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66,
	0x68, 0x69, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x34, 0x2f, 0x63, 0x6f, 0x72,
	0x65, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x69, 0x6d, 0x6d, 0x75,
	0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x98, 0xc6, 0xb0, 0xb5, 0x07, 0x04, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescOnce sync.Once
	file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescData = file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDesc
)

func file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescGZIP() []byte {
	file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescOnce.Do(func() {
		file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescData)
	})
	return file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescData
}

var file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_proto_google_fhir_proto_r4_core_resources_immunization_proto_goTypes = []interface{}{
	(*Immunization)(nil),                                          
	(*Immunization_StatusCode)(nil),                               
	(*Immunization_OccurrenceX)(nil),                              
	(*Immunization_Performer)(nil),                                
	(*Immunization_Education)(nil),                                
	(*Immunization_Reaction)(nil),                                 
	(*Immunization_ProtocolApplied)(nil),                          
	(*Immunization_ProtocolApplied_DoseNumberX)(nil),              
	(*Immunization_ProtocolApplied_SeriesDosesX)(nil),             
	(*datatypes_go_proto.Id)(nil),                                 
	(*datatypes_go_proto.Meta)(nil),                               
	(*datatypes_go_proto.Uri)(nil),                                
	(*datatypes_go_proto.Code)(nil),                               
	(*datatypes_go_proto.Narrative)(nil),                          
	(*any.Any)(nil),                                               
	(*datatypes_go_proto.Extension)(nil),                          
	(*datatypes_go_proto.Identifier)(nil),                         
	(*datatypes_go_proto.CodeableConcept)(nil),                    
	(*datatypes_go_proto.Reference)(nil),                          
	(*datatypes_go_proto.DateTime)(nil),                           
	(*datatypes_go_proto.Boolean)(nil),                            
	(*datatypes_go_proto.String)(nil),                             
	(*datatypes_go_proto.Date)(nil),                               
	(*datatypes_go_proto.SimpleQuantity)(nil),                     
	(*datatypes_go_proto.Annotation)(nil),                         
	(valuesets_go_proto.ImmunizationStatusCodesValueSet_Value)(0), 
	(*datatypes_go_proto.PositiveInt)(nil),                        
}
var file_proto_google_fhir_proto_r4_core_resources_immunization_proto_depIdxs = []int32{
	9,  
	10, 
	11, 
	12, 
	13, 
	14, 
	15, 
	15, 
	16, 
	1,  
	17, 
	17, 
	18, 
	18, 
	2,  
	19, 
	20, 
	17, 
	18, 
	18, 
	21, 
	22, 
	17, 
	17, 
	23, 
	3,  
	24, 
	17, 
	18, 
	20, 
	17, 
	4,  
	17, 
	17, 
	5,  
	6,  
	25, 
	21, 
	15, 
	19, 
	21, 
	21, 
	15, 
	15, 
	17, 
	18, 
	21, 
	15, 
	15, 
	21, 
	11, 
	19, 
	19, 
	21, 
	15, 
	15, 
	19, 
	18, 
	20, 
	21, 
	15, 
	15, 
	21, 
	18, 
	17, 
	7,  
	8,  
	26, 
	21, 
	26, 
	21, 
	71, 
	71, 
	71, 
	71, 
	0,  
}

func init() { file_proto_google_fhir_proto_r4_core_resources_immunization_proto_init() }
func file_proto_google_fhir_proto_r4_core_resources_immunization_proto_init() {
	if File_proto_google_fhir_proto_r4_core_resources_immunization_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Immunization); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Immunization_StatusCode); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Immunization_OccurrenceX); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Immunization_Performer); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Immunization_Education); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Immunization_Reaction); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Immunization_ProtocolApplied); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Immunization_ProtocolApplied_DoseNumberX); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Immunization_ProtocolApplied_SeriesDosesX); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[2].OneofWrappers = []interface{}{
		(*Immunization_OccurrenceX_DateTime)(nil),
		(*Immunization_OccurrenceX_StringValue)(nil),
	}
	file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[7].OneofWrappers = []interface{}{
		(*Immunization_ProtocolApplied_DoseNumberX_PositiveInt)(nil),
		(*Immunization_ProtocolApplied_DoseNumberX_StringValue)(nil),
	}
	file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[8].OneofWrappers = []interface{}{
		(*Immunization_ProtocolApplied_SeriesDosesX_PositiveInt)(nil),
		(*Immunization_ProtocolApplied_SeriesDosesX_StringValue)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   9,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_proto_google_fhir_proto_r4_core_resources_immunization_proto_goTypes,
		DependencyIndexes: file_proto_google_fhir_proto_r4_core_resources_immunization_proto_depIdxs,
		MessageInfos:      file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes,
	}.Build()
	File_proto_google_fhir_proto_r4_core_resources_immunization_proto = out.File
	file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDesc = nil
	file_proto_google_fhir_proto_r4_core_resources_immunization_proto_goTypes = nil
	file_proto_google_fhir_proto_r4_core_resources_immunization_proto_depIdxs = nil
}
//    Copyright 2019 Google Inc.
//
//    Licensed under the Apache License, Version 2.0 (the "License");
//    you may not use this file except in compliance with the License.
//    You may obtain a copy of the License at
//
//        https://www.apache.org/licenses/LICENSE-2.0
//
//    Unless required by applicable law or agreed to in writing, software
//    distributed under the License is distributed on an "AS IS" BASIS,
//    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//    See the License for the specific language governing permissions and
//    limitations under the License.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.25.0-devel
// 	protoc        v3.12.3
// source: proto/google/fhir/proto/r4/core/resources/immunization.proto

package immunization_go_proto

import (
	any "github.com/golang/protobuf/ptypes/any"
	_ "github.com/google/fhir/go/proto/google/fhir/proto/annotations_go_proto"
	datatypes_go_proto "github.com/google/fhir/go/proto/google/fhir/proto/r4/core/datatypes_go_proto"
	valuesets_go_proto "github.com/google/fhir/go/proto/google/fhir/proto/r4/core/valuesets_go_proto"
	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)
)

// Auto-generated from StructureDefinition for Immunization, last updated
// 2019-11-01T09:29:23.356+11:00. Immunization event information. See
// http://hl7.org/fhir/StructureDefinition/Immunization
type Immunization struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Logical id of this artifact
	Id *datatypes_go_proto.Id `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Metadata about the resource
	Meta *datatypes_go_proto.Meta `protobuf:"bytes,2,opt,name=meta,proto3" json:"meta,omitempty"`
	// A set of rules under which this content was created
	ImplicitRules *datatypes_go_proto.Uri `protobuf:"bytes,3,opt,name=implicit_rules,json=implicitRules,proto3" json:"implicit_rules,omitempty"`
	// Language of the resource content
	Language *datatypes_go_proto.Code `protobuf:"bytes,4,opt,name=language,proto3" json:"language,omitempty"`
	// Text summary of the resource, for human interpretation
	Text *datatypes_go_proto.Narrative `protobuf:"bytes,5,opt,name=text,proto3" json:"text,omitempty"`
	// Contained, inline Resources
	Contained []*any.Any `protobuf:"bytes,6,rep,name=contained,proto3" json:"contained,omitempty"`
	// Additional content defined by implementations
	Extension []*datatypes_go_proto.Extension `protobuf:"bytes,8,rep,name=extension,proto3" json:"extension,omitempty"`
	// Extensions that cannot be ignored
	ModifierExtension []*datatypes_go_proto.Extension `protobuf:"bytes,9,rep,name=modifier_extension,json=modifierExtension,proto3" json:"modifier_extension,omitempty"`
	// Business identifier
	Identifier []*datatypes_go_proto.Identifier `protobuf:"bytes,10,rep,name=identifier,proto3" json:"identifier,omitempty"`
	Status     *Immunization_StatusCode         `protobuf:"bytes,11,opt,name=status,proto3" json:"status,omitempty"`
	// Reason not done
	StatusReason *datatypes_go_proto.CodeableConcept `protobuf:"bytes,12,opt,name=status_reason,json=statusReason,proto3" json:"status_reason,omitempty"`
	// Vaccine product administered
	VaccineCode *datatypes_go_proto.CodeableConcept `protobuf:"bytes,13,opt,name=vaccine_code,json=vaccineCode,proto3" json:"vaccine_code,omitempty"`
	// Who was immunized
	Patient *datatypes_go_proto.Reference `protobuf:"bytes,14,opt,name=patient,proto3" json:"patient,omitempty"`
	// Encounter immunization was part of
	Encounter  *datatypes_go_proto.Reference `protobuf:"bytes,15,opt,name=encounter,proto3" json:"encounter,omitempty"`
	Occurrence *Immunization_OccurrenceX     `protobuf:"bytes,16,opt,name=occurrence,proto3" json:"occurrence,omitempty"`
	// When the immunization was first captured in the subject's record
	Recorded *datatypes_go_proto.DateTime `protobuf:"bytes,17,opt,name=recorded,proto3" json:"recorded,omitempty"`
	// Indicates context the data was recorded in
	PrimarySource *datatypes_go_proto.Boolean `protobuf:"bytes,18,opt,name=primary_source,json=primarySource,proto3" json:"primary_source,omitempty"`
	// Indicates the source of a secondarily reported record
	ReportOrigin *datatypes_go_proto.CodeableConcept `protobuf:"bytes,19,opt,name=report_origin,json=reportOrigin,proto3" json:"report_origin,omitempty"`
	// Where immunization occurred
	Location *datatypes_go_proto.Reference `protobuf:"bytes,20,opt,name=location,proto3" json:"location,omitempty"`
	// Vaccine manufacturer
	Manufacturer *datatypes_go_proto.Reference `protobuf:"bytes,21,opt,name=manufacturer,proto3" json:"manufacturer,omitempty"`
	// Vaccine lot number
	LotNumber *datatypes_go_proto.String `protobuf:"bytes,22,opt,name=lot_number,json=lotNumber,proto3" json:"lot_number,omitempty"`
	// Vaccine expiration date
	ExpirationDate *datatypes_go_proto.Date `protobuf:"bytes,23,opt,name=expiration_date,json=expirationDate,proto3" json:"expiration_date,omitempty"`
	// Body site vaccine  was administered
	Site *datatypes_go_proto.CodeableConcept `protobuf:"bytes,24,opt,name=site,proto3" json:"site,omitempty"`
	// How vaccine entered body
	Route *datatypes_go_proto.CodeableConcept `protobuf:"bytes,25,opt,name=route,proto3" json:"route,omitempty"`
	// Amount of vaccine administered
	DoseQuantity *datatypes_go_proto.SimpleQuantity `protobuf:"bytes,26,opt,name=dose_quantity,json=doseQuantity,proto3" json:"dose_quantity,omitempty"`
	Performer    []*Immunization_Performer          `protobuf:"bytes,27,rep,name=performer,proto3" json:"performer,omitempty"`
	// Additional immunization notes
	Note []*datatypes_go_proto.Annotation `protobuf:"bytes,28,rep,name=note,proto3" json:"note,omitempty"`
	// Why immunization occurred
	ReasonCode []*datatypes_go_proto.CodeableConcept `protobuf:"bytes,29,rep,name=reason_code,json=reasonCode,proto3" json:"reason_code,omitempty"`
	// Why immunization occurred
	ReasonReference []*datatypes_go_proto.Reference `protobuf:"bytes,30,rep,name=reason_reference,json=reasonReference,proto3" json:"reason_reference,omitempty"`
	// Dose potency
	IsSubpotent *datatypes_go_proto.Boolean `protobuf:"bytes,31,opt,name=is_subpotent,json=isSubpotent,proto3" json:"is_subpotent,omitempty"`
	// Reason for being subpotent
	SubpotentReason []*datatypes_go_proto.CodeableConcept `protobuf:"bytes,32,rep,name=subpotent_reason,json=subpotentReason,proto3" json:"subpotent_reason,omitempty"`
	Education       []*Immunization_Education             `protobuf:"bytes,33,rep,name=education,proto3" json:"education,omitempty"`
	// Patient eligibility for a vaccination program
	ProgramEligibility []*datatypes_go_proto.CodeableConcept `protobuf:"bytes,34,rep,name=program_eligibility,json=programEligibility,proto3" json:"program_eligibility,omitempty"`
	// Funding source for the vaccine
	FundingSource   *datatypes_go_proto.CodeableConcept `protobuf:"bytes,35,opt,name=funding_source,json=fundingSource,proto3" json:"funding_source,omitempty"`
	Reaction        []*Immunization_Reaction            `protobuf:"bytes,36,rep,name=reaction,proto3" json:"reaction,omitempty"`
	ProtocolApplied []*Immunization_ProtocolApplied     `protobuf:"bytes,37,rep,name=protocol_applied,json=protocolApplied,proto3" json:"protocol_applied,omitempty"`
}

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

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

func (*Immunization) ProtoMessage() {}

func (x *Immunization) ProtoReflect() protoreflect.Message {
	mi := &file_proto_google_fhir_proto_r4_core_resources_immunization_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 Immunization.ProtoReflect.Descriptor instead.
func (*Immunization) Descriptor() ([]byte, []int) {
	return file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescGZIP(), []int{0}
}

func (x *Immunization) GetId() *datatypes_go_proto.Id {
	if x != nil {
		return x.Id
	}
	return nil
}

func (x *Immunization) GetMeta() *datatypes_go_proto.Meta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *Immunization) GetImplicitRules() *datatypes_go_proto.Uri {
	if x != nil {
		return x.ImplicitRules
	}
	return nil
}

func (x *Immunization) GetLanguage() *datatypes_go_proto.Code {
	if x != nil {
		return x.Language
	}
	return nil
}

func (x *Immunization) GetText() *datatypes_go_proto.Narrative {
	if x != nil {
		return x.Text
	}
	return nil
}

func (x *Immunization) GetContained() []*any.Any {
	if x != nil {
		return x.Contained
	}
	return nil
}

func (x *Immunization) GetExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.Extension
	}
	return nil
}

func (x *Immunization) GetModifierExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.ModifierExtension
	}
	return nil
}

func (x *Immunization) GetIdentifier() []*datatypes_go_proto.Identifier {
	if x != nil {
		return x.Identifier
	}
	return nil
}

func (x *Immunization) GetStatus() *Immunization_StatusCode {
	if x != nil {
		return x.Status
	}
	return nil
}

func (x *Immunization) GetStatusReason() *datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.StatusReason
	}
	return nil
}

func (x *Immunization) GetVaccineCode() *datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.VaccineCode
	}
	return nil
}

func (x *Immunization) GetPatient() *datatypes_go_proto.Reference {
	if x != nil {
		return x.Patient
	}
	return nil
}

func (x *Immunization) GetEncounter() *datatypes_go_proto.Reference {
	if x != nil {
		return x.Encounter
	}
	return nil
}

func (x *Immunization) GetOccurrence() *Immunization_OccurrenceX {
	if x != nil {
		return x.Occurrence
	}
	return nil
}

func (x *Immunization) GetRecorded() *datatypes_go_proto.DateTime {
	if x != nil {
		return x.Recorded
	}
	return nil
}

func (x *Immunization) GetPrimarySource() *datatypes_go_proto.Boolean {
	if x != nil {
		return x.PrimarySource
	}
	return nil
}

func (x *Immunization) GetReportOrigin() *datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.ReportOrigin
	}
	return nil
}

func (x *Immunization) GetLocation() *datatypes_go_proto.Reference {
	if x != nil {
		return x.Location
	}
	return nil
}

func (x *Immunization) GetManufacturer() *datatypes_go_proto.Reference {
	if x != nil {
		return x.Manufacturer
	}
	return nil
}

func (x *Immunization) GetLotNumber() *datatypes_go_proto.String {
	if x != nil {
		return x.LotNumber
	}
	return nil
}

func (x *Immunization) GetExpirationDate() *datatypes_go_proto.Date {
	if x != nil {
		return x.ExpirationDate
	}
	return nil
}

func (x *Immunization) GetSite() *datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.Site
	}
	return nil
}

func (x *Immunization) GetRoute() *datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.Route
	}
	return nil
}

func (x *Immunization) GetDoseQuantity() *datatypes_go_proto.SimpleQuantity {
	if x != nil {
		return x.DoseQuantity
	}
	return nil
}

func (x *Immunization) GetPerformer() []*Immunization_Performer {
	if x != nil {
		return x.Performer
	}
	return nil
}

func (x *Immunization) GetNote() []*datatypes_go_proto.Annotation {
	if x != nil {
		return x.Note
	}
	return nil
}

func (x *Immunization) GetReasonCode() []*datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.ReasonCode
	}
	return nil
}

func (x *Immunization) GetReasonReference() []*datatypes_go_proto.Reference {
	if x != nil {
		return x.ReasonReference
	}
	return nil
}

func (x *Immunization) GetIsSubpotent() *datatypes_go_proto.Boolean {
	if x != nil {
		return x.IsSubpotent
	}
	return nil
}

func (x *Immunization) GetSubpotentReason() []*datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.SubpotentReason
	}
	return nil
}

func (x *Immunization) GetEducation() []*Immunization_Education {
	if x != nil {
		return x.Education
	}
	return nil
}

func (x *Immunization) GetProgramEligibility() []*datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.ProgramEligibility
	}
	return nil
}

func (x *Immunization) GetFundingSource() *datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.FundingSource
	}
	return nil
}

func (x *Immunization) GetReaction() []*Immunization_Reaction {
	if x != nil {
		return x.Reaction
	}
	return nil
}

func (x *Immunization) GetProtocolApplied() []*Immunization_ProtocolApplied {
	if x != nil {
		return x.ProtocolApplied
	}
	return nil
}

// completed | entered-in-error | not-done
type Immunization_StatusCode struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Value     valuesets_go_proto.ImmunizationStatusCodesValueSet_Value `protobuf:"varint,1,opt,name=value,proto3,enum=google.fhir.r4.core.ImmunizationStatusCodesValueSet_Value" json:"value,omitempty"`
	Id        *datatypes_go_proto.String                               `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	Extension []*datatypes_go_proto.Extension                          `protobuf:"bytes,3,rep,name=extension,proto3" json:"extension,omitempty"`
}

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

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

func (*Immunization_StatusCode) ProtoMessage() {}

func (x *Immunization_StatusCode) ProtoReflect() protoreflect.Message {
	mi := &file_proto_google_fhir_proto_r4_core_resources_immunization_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 Immunization_StatusCode.ProtoReflect.Descriptor instead.
func (*Immunization_StatusCode) Descriptor() ([]byte, []int) {
	return file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescGZIP(), []int{0, 0}
}

func (x *Immunization_StatusCode) GetValue() valuesets_go_proto.ImmunizationStatusCodesValueSet_Value {
	if x != nil {
		return x.Value
	}
	return valuesets_go_proto.ImmunizationStatusCodesValueSet_INVALID_UNINITIALIZED
}

func (x *Immunization_StatusCode) GetId() *datatypes_go_proto.String {
	if x != nil {
		return x.Id
	}
	return nil
}

func (x *Immunization_StatusCode) GetExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.Extension
	}
	return nil
}

// Vaccine administration date
type Immunization_OccurrenceX struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Choice:
	//	*Immunization_OccurrenceX_DateTime
	//	*Immunization_OccurrenceX_StringValue
	Choice isImmunization_OccurrenceX_Choice `protobuf_oneof:"choice"`
}

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

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

func (*Immunization_OccurrenceX) ProtoMessage() {}

func (x *Immunization_OccurrenceX) ProtoReflect() protoreflect.Message {
	mi := &file_proto_google_fhir_proto_r4_core_resources_immunization_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 Immunization_OccurrenceX.ProtoReflect.Descriptor instead.
func (*Immunization_OccurrenceX) Descriptor() ([]byte, []int) {
	return file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescGZIP(), []int{0, 1}
}

func (m *Immunization_OccurrenceX) GetChoice() isImmunization_OccurrenceX_Choice {
	if m != nil {
		return m.Choice
	}
	return nil
}

func (x *Immunization_OccurrenceX) GetDateTime() *datatypes_go_proto.DateTime {
	if x, ok := x.GetChoice().(*Immunization_OccurrenceX_DateTime); ok {
		return x.DateTime
	}
	return nil
}

func (x *Immunization_OccurrenceX) GetStringValue() *datatypes_go_proto.String {
	if x, ok := x.GetChoice().(*Immunization_OccurrenceX_StringValue); ok {
		return x.StringValue
	}
	return nil
}

type isImmunization_OccurrenceX_Choice interface {
	isImmunization_OccurrenceX_Choice()
}

type Immunization_OccurrenceX_DateTime struct {
	DateTime *datatypes_go_proto.DateTime `protobuf:"bytes,1,opt,name=date_time,json=dateTime,proto3,oneof"`
}

type Immunization_OccurrenceX_StringValue struct {
	StringValue *datatypes_go_proto.String `protobuf:"bytes,2,opt,name=string_value,json=string,proto3,oneof"`
}

func (*Immunization_OccurrenceX_DateTime) isImmunization_OccurrenceX_Choice() {}

func (*Immunization_OccurrenceX_StringValue) isImmunization_OccurrenceX_Choice() {}

// Who performed event
type Immunization_Performer struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Unique id for inter-element referencing
	Id *datatypes_go_proto.String `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Additional content defined by implementations
	Extension []*datatypes_go_proto.Extension `protobuf:"bytes,2,rep,name=extension,proto3" json:"extension,omitempty"`
	// Extensions that cannot be ignored even if unrecognized
	ModifierExtension []*datatypes_go_proto.Extension `protobuf:"bytes,3,rep,name=modifier_extension,json=modifierExtension,proto3" json:"modifier_extension,omitempty"`
	// What type of performance was done
	Function *datatypes_go_proto.CodeableConcept `protobuf:"bytes,4,opt,name=function,proto3" json:"function,omitempty"`
	// Individual or organization who was performing
	Actor *datatypes_go_proto.Reference `protobuf:"bytes,5,opt,name=actor,proto3" json:"actor,omitempty"`
}

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

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

func (*Immunization_Performer) ProtoMessage() {}

func (x *Immunization_Performer) ProtoReflect() protoreflect.Message {
	mi := &file_proto_google_fhir_proto_r4_core_resources_immunization_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 Immunization_Performer.ProtoReflect.Descriptor instead.
func (*Immunization_Performer) Descriptor() ([]byte, []int) {
	return file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescGZIP(), []int{0, 2}
}

func (x *Immunization_Performer) GetId() *datatypes_go_proto.String {
	if x != nil {
		return x.Id
	}
	return nil
}

func (x *Immunization_Performer) GetExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.Extension
	}
	return nil
}

func (x *Immunization_Performer) GetModifierExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.ModifierExtension
	}
	return nil
}

func (x *Immunization_Performer) GetFunction() *datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.Function
	}
	return nil
}

func (x *Immunization_Performer) GetActor() *datatypes_go_proto.Reference {
	if x != nil {
		return x.Actor
	}
	return nil
}

// Educational material presented to patient
type Immunization_Education struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Unique id for inter-element referencing
	Id *datatypes_go_proto.String `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Additional content defined by implementations
	Extension []*datatypes_go_proto.Extension `protobuf:"bytes,2,rep,name=extension,proto3" json:"extension,omitempty"`
	// Extensions that cannot be ignored even if unrecognized
	ModifierExtension []*datatypes_go_proto.Extension `protobuf:"bytes,3,rep,name=modifier_extension,json=modifierExtension,proto3" json:"modifier_extension,omitempty"`
	// Educational material document identifier
	DocumentType *datatypes_go_proto.String `protobuf:"bytes,4,opt,name=document_type,json=documentType,proto3" json:"document_type,omitempty"`
	// Educational material reference pointer
	Reference *datatypes_go_proto.Uri `protobuf:"bytes,5,opt,name=reference,proto3" json:"reference,omitempty"`
	// Educational material publication date
	PublicationDate *datatypes_go_proto.DateTime `protobuf:"bytes,6,opt,name=publication_date,json=publicationDate,proto3" json:"publication_date,omitempty"`
	// Educational material presentation date
	PresentationDate *datatypes_go_proto.DateTime `protobuf:"bytes,7,opt,name=presentation_date,json=presentationDate,proto3" json:"presentation_date,omitempty"`
}

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

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

func (*Immunization_Education) ProtoMessage() {}

func (x *Immunization_Education) ProtoReflect() protoreflect.Message {
	mi := &file_proto_google_fhir_proto_r4_core_resources_immunization_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 Immunization_Education.ProtoReflect.Descriptor instead.
func (*Immunization_Education) Descriptor() ([]byte, []int) {
	return file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescGZIP(), []int{0, 3}
}

func (x *Immunization_Education) GetId() *datatypes_go_proto.String {
	if x != nil {
		return x.Id
	}
	return nil
}

func (x *Immunization_Education) GetExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.Extension
	}
	return nil
}

func (x *Immunization_Education) GetModifierExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.ModifierExtension
	}
	return nil
}

func (x *Immunization_Education) GetDocumentType() *datatypes_go_proto.String {
	if x != nil {
		return x.DocumentType
	}
	return nil
}

func (x *Immunization_Education) GetReference() *datatypes_go_proto.Uri {
	if x != nil {
		return x.Reference
	}
	return nil
}

func (x *Immunization_Education) GetPublicationDate() *datatypes_go_proto.DateTime {
	if x != nil {
		return x.PublicationDate
	}
	return nil
}

func (x *Immunization_Education) GetPresentationDate() *datatypes_go_proto.DateTime {
	if x != nil {
		return x.PresentationDate
	}
	return nil
}

// Details of a reaction that follows immunization
type Immunization_Reaction struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Unique id for inter-element referencing
	Id *datatypes_go_proto.String `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Additional content defined by implementations
	Extension []*datatypes_go_proto.Extension `protobuf:"bytes,2,rep,name=extension,proto3" json:"extension,omitempty"`
	// Extensions that cannot be ignored even if unrecognized
	ModifierExtension []*datatypes_go_proto.Extension `protobuf:"bytes,3,rep,name=modifier_extension,json=modifierExtension,proto3" json:"modifier_extension,omitempty"`
	// When reaction started
	Date *datatypes_go_proto.DateTime `protobuf:"bytes,4,opt,name=date,proto3" json:"date,omitempty"`
	// Additional information on reaction
	Detail *datatypes_go_proto.Reference `protobuf:"bytes,5,opt,name=detail,proto3" json:"detail,omitempty"`
	// Indicates self-reported reaction
	Reported *datatypes_go_proto.Boolean `protobuf:"bytes,6,opt,name=reported,proto3" json:"reported,omitempty"`
}

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

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

func (*Immunization_Reaction) ProtoMessage() {}

func (x *Immunization_Reaction) ProtoReflect() protoreflect.Message {
	mi := &file_proto_google_fhir_proto_r4_core_resources_immunization_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 Immunization_Reaction.ProtoReflect.Descriptor instead.
func (*Immunization_Reaction) Descriptor() ([]byte, []int) {
	return file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescGZIP(), []int{0, 4}
}

func (x *Immunization_Reaction) GetId() *datatypes_go_proto.String {
	if x != nil {
		return x.Id
	}
	return nil
}

func (x *Immunization_Reaction) GetExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.Extension
	}
	return nil
}

func (x *Immunization_Reaction) GetModifierExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.ModifierExtension
	}
	return nil
}

func (x *Immunization_Reaction) GetDate() *datatypes_go_proto.DateTime {
	if x != nil {
		return x.Date
	}
	return nil
}

func (x *Immunization_Reaction) GetDetail() *datatypes_go_proto.Reference {
	if x != nil {
		return x.Detail
	}
	return nil
}

func (x *Immunization_Reaction) GetReported() *datatypes_go_proto.Boolean {
	if x != nil {
		return x.Reported
	}
	return nil
}

// Protocol followed by the provider
type Immunization_ProtocolApplied struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Unique id for inter-element referencing
	Id *datatypes_go_proto.String `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Additional content defined by implementations
	Extension []*datatypes_go_proto.Extension `protobuf:"bytes,2,rep,name=extension,proto3" json:"extension,omitempty"`
	// Extensions that cannot be ignored even if unrecognized
	ModifierExtension []*datatypes_go_proto.Extension `protobuf:"bytes,3,rep,name=modifier_extension,json=modifierExtension,proto3" json:"modifier_extension,omitempty"`
	// Name of vaccine series
	Series *datatypes_go_proto.String `protobuf:"bytes,4,opt,name=series,proto3" json:"series,omitempty"`
	// Who is responsible for publishing the recommendations
	Authority *datatypes_go_proto.Reference `protobuf:"bytes,5,opt,name=authority,proto3" json:"authority,omitempty"`
	// Vaccine preventatable disease being targetted
	TargetDisease []*datatypes_go_proto.CodeableConcept      `protobuf:"bytes,6,rep,name=target_disease,json=targetDisease,proto3" json:"target_disease,omitempty"`
	DoseNumber    *Immunization_ProtocolApplied_DoseNumberX  `protobuf:"bytes,7,opt,name=dose_number,json=doseNumber,proto3" json:"dose_number,omitempty"`
	SeriesDoses   *Immunization_ProtocolApplied_SeriesDosesX `protobuf:"bytes,8,opt,name=series_doses,json=seriesDoses,proto3" json:"series_doses,omitempty"`
}

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

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

func (*Immunization_ProtocolApplied) ProtoMessage() {}

func (x *Immunization_ProtocolApplied) ProtoReflect() protoreflect.Message {
	mi := &file_proto_google_fhir_proto_r4_core_resources_immunization_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 Immunization_ProtocolApplied.ProtoReflect.Descriptor instead.
func (*Immunization_ProtocolApplied) Descriptor() ([]byte, []int) {
	return file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescGZIP(), []int{0, 5}
}

func (x *Immunization_ProtocolApplied) GetId() *datatypes_go_proto.String {
	if x != nil {
		return x.Id
	}
	return nil
}

func (x *Immunization_ProtocolApplied) GetExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.Extension
	}
	return nil
}

func (x *Immunization_ProtocolApplied) GetModifierExtension() []*datatypes_go_proto.Extension {
	if x != nil {
		return x.ModifierExtension
	}
	return nil
}

func (x *Immunization_ProtocolApplied) GetSeries() *datatypes_go_proto.String {
	if x != nil {
		return x.Series
	}
	return nil
}

func (x *Immunization_ProtocolApplied) GetAuthority() *datatypes_go_proto.Reference {
	if x != nil {
		return x.Authority
	}
	return nil
}

func (x *Immunization_ProtocolApplied) GetTargetDisease() []*datatypes_go_proto.CodeableConcept {
	if x != nil {
		return x.TargetDisease
	}
	return nil
}

func (x *Immunization_ProtocolApplied) GetDoseNumber() *Immunization_ProtocolApplied_DoseNumberX {
	if x != nil {
		return x.DoseNumber
	}
	return nil
}

func (x *Immunization_ProtocolApplied) GetSeriesDoses() *Immunization_ProtocolApplied_SeriesDosesX {
	if x != nil {
		return x.SeriesDoses
	}
	return nil
}

// Dose number within series
type Immunization_ProtocolApplied_DoseNumberX struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Choice:
	//	*Immunization_ProtocolApplied_DoseNumberX_PositiveInt
	//	*Immunization_ProtocolApplied_DoseNumberX_StringValue
	Choice isImmunization_ProtocolApplied_DoseNumberX_Choice `protobuf_oneof:"choice"`
}

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

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

func (*Immunization_ProtocolApplied_DoseNumberX) ProtoMessage() {}

func (x *Immunization_ProtocolApplied_DoseNumberX) ProtoReflect() protoreflect.Message {
	mi := &file_proto_google_fhir_proto_r4_core_resources_immunization_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 Immunization_ProtocolApplied_DoseNumberX.ProtoReflect.Descriptor instead.
func (*Immunization_ProtocolApplied_DoseNumberX) Descriptor() ([]byte, []int) {
	return file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescGZIP(), []int{0, 5, 0}
}

func (m *Immunization_ProtocolApplied_DoseNumberX) GetChoice() isImmunization_ProtocolApplied_DoseNumberX_Choice {
	if m != nil {
		return m.Choice
	}
	return nil
}

func (x *Immunization_ProtocolApplied_DoseNumberX) GetPositiveInt() *datatypes_go_proto.PositiveInt {
	if x, ok := x.GetChoice().(*Immunization_ProtocolApplied_DoseNumberX_PositiveInt); ok {
		return x.PositiveInt
	}
	return nil
}

func (x *Immunization_ProtocolApplied_DoseNumberX) GetStringValue() *datatypes_go_proto.String {
	if x, ok := x.GetChoice().(*Immunization_ProtocolApplied_DoseNumberX_StringValue); ok {
		return x.StringValue
	}
	return nil
}

type isImmunization_ProtocolApplied_DoseNumberX_Choice interface {
	isImmunization_ProtocolApplied_DoseNumberX_Choice()
}

type Immunization_ProtocolApplied_DoseNumberX_PositiveInt struct {
	PositiveInt *datatypes_go_proto.PositiveInt `protobuf:"bytes,1,opt,name=positive_int,json=positiveInt,proto3,oneof"`
}

type Immunization_ProtocolApplied_DoseNumberX_StringValue struct {
	StringValue *datatypes_go_proto.String `protobuf:"bytes,2,opt,name=string_value,json=string,proto3,oneof"`
}

func (*Immunization_ProtocolApplied_DoseNumberX_PositiveInt) isImmunization_ProtocolApplied_DoseNumberX_Choice() {
}

func (*Immunization_ProtocolApplied_DoseNumberX_StringValue) isImmunization_ProtocolApplied_DoseNumberX_Choice() {
}

// Recommended number of doses for immunity
type Immunization_ProtocolApplied_SeriesDosesX struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Choice:
	//	*Immunization_ProtocolApplied_SeriesDosesX_PositiveInt
	//	*Immunization_ProtocolApplied_SeriesDosesX_StringValue
	Choice isImmunization_ProtocolApplied_SeriesDosesX_Choice `protobuf_oneof:"choice"`
}

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

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

func (*Immunization_ProtocolApplied_SeriesDosesX) ProtoMessage() {}

func (x *Immunization_ProtocolApplied_SeriesDosesX) ProtoReflect() protoreflect.Message {
	mi := &file_proto_google_fhir_proto_r4_core_resources_immunization_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 Immunization_ProtocolApplied_SeriesDosesX.ProtoReflect.Descriptor instead.
func (*Immunization_ProtocolApplied_SeriesDosesX) Descriptor() ([]byte, []int) {
	return file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescGZIP(), []int{0, 5, 1}
}

func (m *Immunization_ProtocolApplied_SeriesDosesX) GetChoice() isImmunization_ProtocolApplied_SeriesDosesX_Choice {
	if m != nil {
		return m.Choice
	}
	return nil
}

func (x *Immunization_ProtocolApplied_SeriesDosesX) GetPositiveInt() *datatypes_go_proto.PositiveInt {
	if x, ok := x.GetChoice().(*Immunization_ProtocolApplied_SeriesDosesX_PositiveInt); ok {
		return x.PositiveInt
	}
	return nil
}

func (x *Immunization_ProtocolApplied_SeriesDosesX) GetStringValue() *datatypes_go_proto.String {
	if x, ok := x.GetChoice().(*Immunization_ProtocolApplied_SeriesDosesX_StringValue); ok {
		return x.StringValue
	}
	return nil
}

type isImmunization_ProtocolApplied_SeriesDosesX_Choice interface {
	isImmunization_ProtocolApplied_SeriesDosesX_Choice()
}

type Immunization_ProtocolApplied_SeriesDosesX_PositiveInt struct {
	PositiveInt *datatypes_go_proto.PositiveInt `protobuf:"bytes,1,opt,name=positive_int,json=positiveInt,proto3,oneof"`
}

type Immunization_ProtocolApplied_SeriesDosesX_StringValue struct {
	StringValue *datatypes_go_proto.String `protobuf:"bytes,2,opt,name=string_value,json=string,proto3,oneof"`
}

func (*Immunization_ProtocolApplied_SeriesDosesX_PositiveInt) isImmunization_ProtocolApplied_SeriesDosesX_Choice() {
}

func (*Immunization_ProtocolApplied_SeriesDosesX_StringValue) isImmunization_ProtocolApplied_SeriesDosesX_Choice() {
}

var File_proto_google_fhir_proto_r4_core_resources_immunization_proto protoreflect.FileDescriptor

var file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDesc = []byte{
	0x0a, 0x3c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66,
	0x68, 0x69, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x34, 0x2f, 0x63, 0x6f, 0x72,
	0x65, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x69, 0x6d, 0x6d, 0x75,
	0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63,
	0x6f, 0x72, 0x65, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x68, 0x69,
	0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x68, 0x69, 0x72, 0x2f, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2f, 0x72, 0x34, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x74,
	0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x68, 0x69, 0x72, 0x2f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x34, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x73, 0x65, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfb, 0x29, 0x0a, 0x0c,
	0x49, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x02,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49,
	0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69,
	0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04,
	0x6d, 0x65, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x0e, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74,
	0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f,
	0x72, 0x65, 0x2e, 0x55, 0x72, 0x69, 0x52, 0x0d, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74,
	0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f,
	0x64, 0x65, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x32, 0x0a, 0x04,
	0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65,
	0x2e, 0x4e, 0x61, 0x72, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74,
	0x12, 0x32, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x18, 0x06, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61,
	0x69, 0x6e, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
	0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78,
	0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
	0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x65,
	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11,
	0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
	0x6e, 0x12, 0x3f, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18,
	0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66,
	0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e,
	0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69,
	0x65, 0x72, 0x12, 0x4c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72,
	0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x7a,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65,
	0x42, 0x06, 0xf0, 0xd0, 0x87, 0xeb, 0x04, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x12, 0x49, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f,
	0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f,
	0x64, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x52, 0x0c, 0x73,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x0c, 0x76,
	0x61, 0x63, 0x63, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e,
	0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x61, 0x62, 0x6c, 0x65,
	0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x42, 0x06, 0xf0, 0xd0, 0x87, 0xeb, 0x04, 0x01, 0x52,
	0x0b, 0x76, 0x61, 0x63, 0x63, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x4d, 0x0a, 0x07,
	0x70, 0x61, 0x74, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63,
	0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x13, 0xf0,
	0xd0, 0x87, 0xeb, 0x04, 0x01, 0xf2, 0xff, 0xfc, 0xc2, 0x06, 0x07, 0x50, 0x61, 0x74, 0x69, 0x65,
	0x6e, 0x74, 0x52, 0x07, 0x70, 0x61, 0x74, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x4d, 0x0a, 0x09, 0x65,
	0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0f,
	0xf2, 0xff, 0xfc, 0xc2, 0x06, 0x09, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52,
	0x09, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0a, 0x6f, 0x63,
	0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x58, 0x42, 0x06, 0xf0,
	0xd0, 0x87, 0xeb, 0x04, 0x01, 0x52, 0x0a, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63,
	0x65, 0x12, 0x39, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x64, 0x18, 0x11, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69,
	0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69,
	0x6d, 0x65, 0x52, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x64, 0x12, 0x43, 0x0a, 0x0e,
	0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x12,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68,
	0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65,
	0x61, 0x6e, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x12, 0x49, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x72, 0x69, 0x67,
	0x69, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43,
	0x6f, 0x64, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x52, 0x0c,
	0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x4a, 0x0a, 0x08,
	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0e,
	0xf2, 0xff, 0xfc, 0xc2, 0x06, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08,
	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x0c, 0x6d, 0x61, 0x6e, 0x75,
	0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x12,
	0xf2, 0xff, 0xfc, 0xc2, 0x06, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x52, 0x0c, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, 0x72,
	0x12, 0x3a, 0x0a, 0x0a, 0x6c, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x16,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68,
	0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
	0x67, 0x52, 0x09, 0x6c, 0x6f, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0f,
	0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18,
	0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66,
	0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65,
	0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65,
	0x12, 0x38, 0x0a, 0x04, 0x73, 0x69, 0x74, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e,
	0x63, 0x65, 0x70, 0x74, 0x52, 0x04, 0x73, 0x69, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x72, 0x6f,
	0x75, 0x74, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
	0x43, 0x6f, 0x64, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x52,
	0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x64, 0x6f, 0x73, 0x65, 0x5f, 0x71,
	0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63,
	0x6f, 0x72, 0x65, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69,
	0x74, 0x79, 0x52, 0x0c, 0x64, 0x6f, 0x73, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79,
	0x12, 0x49, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x18, 0x1b, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69,
	0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6d, 0x6d, 0x75, 0x6e, 0x69,
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72,
	0x52, 0x09, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x04, 0x6e,
	0x6f, 0x74, 0x65, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x6f, 0x74, 0x65,
	0x12, 0x45, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18,
	0x1d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66,
	0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65,
	0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x52, 0x0a, 0x72, 0x65, 0x61,
	0x73, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x10, 0x72, 0x65, 0x61, 0x73,
	0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x1e, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72,
	0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
	0x63, 0x65, 0x42, 0x36, 0xf2, 0xff, 0xfc, 0xc2, 0x06, 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0xf2, 0xff, 0xfc, 0xc2, 0x06, 0x0b, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0xf2, 0xff, 0xfc, 0xc2, 0x06, 0x10, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f,
	0x73, 0x74, 0x69, 0x63, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0f, 0x72, 0x65, 0x61, 0x73,
	0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x69,
	0x73, 0x5f, 0x73, 0x75, 0x62, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e,
	0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x52,
	0x0b, 0x69, 0x73, 0x53, 0x75, 0x62, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x10,
	0x73, 0x75, 0x62, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
	0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x64,
	0x65, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x52, 0x0f, 0x73, 0x75,
	0x62, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x49, 0x0a,
	0x09, 0x65, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72,
	0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x7a, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65,
	0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x67,
	0x72, 0x61, 0x6d, 0x5f, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18,
	0x22, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66,
	0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65,
	0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x52, 0x12, 0x70, 0x72, 0x6f,
	0x67, 0x72, 0x61, 0x6d, 0x45, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12,
	0x4b, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f,
	0x64, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x52, 0x0d, 0x66,
	0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x46, 0x0a, 0x08,
	0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x24, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x2e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x72, 0x65, 0x61, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5c, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
	0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x18, 0x25, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65,
	0x64, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x41, 0x70, 0x70, 0x6c, 0x69,
	0x65, 0x64, 0x1a, 0xb9, 0x02, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64,
	0x65, 0x12, 0x50, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72,
	0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x7a, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x53, 0x65, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x12, 0x2b, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34,
	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x02, 0x69, 0x64,
	0x12, 0x3c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69,
	0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
	0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x6e,
	0xc0, 0x9f, 0xe3, 0xb6, 0x05, 0x01, 0x8a, 0xf9, 0x83, 0xb2, 0x05, 0x30, 0x68, 0x74, 0x74, 0x70,
	0x3a, 0x2f, 0x2f, 0x68, 0x6c, 0x37, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x68, 0x69, 0x72, 0x2f,
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x65, 0x74, 0x2f, 0x69, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x7a,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x9a, 0xb5, 0x8e, 0x93,
	0x06, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x68, 0x6c, 0x37, 0x2e, 0x6f, 0x72, 0x67,
	0x2f, 0x66, 0x68, 0x69, 0x72, 0x2f, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x44,
	0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x1a, 0x9a,
	0x01, 0x0a, 0x0b, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x58, 0x12, 0x3c,
	0x0a, 0x09, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e,
	0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
	0x48, 0x00, 0x52, 0x08, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0c,
	0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72,
	0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48,
	0x00, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x06, 0xa0, 0x83, 0x83, 0xe8, 0x06,
	0x01, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x1a, 0xff, 0x02, 0x0a, 0x09,
	0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x02, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66,
	0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69,
	0x6e, 0x67, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73,
	0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
	0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e,
	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72,
	0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72,
	0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
	0x52, 0x11, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
	0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66,
	0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65,
	0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x52, 0x08, 0x66, 0x75, 0x6e,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x76, 0x0a, 0x05, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68,
	0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72,
	0x65, 0x6e, 0x63, 0x65, 0x42, 0x40, 0xf0, 0xd0, 0x87, 0xeb, 0x04, 0x01, 0xf2, 0xff, 0xfc, 0xc2,
	0x06, 0x0c, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0xf2, 0xff,
	0xfc, 0xc2, 0x06, 0x10, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x72,
	0x52, 0x6f, 0x6c, 0x65, 0xf2, 0xff, 0xfc, 0xc2, 0x06, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69,
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x1a, 0x88, 0x04,
	0x0a, 0x09, 0x45, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x02, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74,
	0x72, 0x69, 0x6e, 0x67, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65,
	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72,
	0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x74,
	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69,
	0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72,
	0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
	0x6f, 0x6e, 0x52, 0x11, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65,
	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0d, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
	0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f,
	0x72, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d,
	0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72,
	0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65,
	0x2e, 0x55, 0x72, 0x69, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12,
	0x48, 0x0a, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64,
	0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
	0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x4a, 0x0a, 0x11, 0x70, 0x72, 0x65,
	0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68,
	0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54,
	0x69, 0x6d, 0x65, 0x52, 0x10, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x44, 0x61, 0x74, 0x65, 0x3a, 0x31, 0x9a, 0x86, 0x93, 0xa0, 0x08, 0x2b, 0x64, 0x6f, 0x63,
	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73,
	0x28, 0x29, 0x20, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e,
	0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x28, 0x29, 0x1a, 0xfc, 0x02, 0x0a, 0x08, 0x52, 0x65, 0x61,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e,
	0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x02,
	0x69, 0x64, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66,
	0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65,
	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
	0x12, 0x4d, 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x74,
	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f,
	0x72, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x6d, 0x6f,
	0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12,
	0x31, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63,
	0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x04, 0x64, 0x61,
	0x74, 0x65, 0x12, 0x49, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72,
	0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
	0x63, 0x65, 0x42, 0x11, 0xf2, 0xff, 0xfc, 0xc2, 0x06, 0x0b, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x38, 0x0a,
	0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34,
	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x52, 0x08, 0x72,
	0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x1a, 0xb7, 0x07, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x74,
	0x6f, 0x63, 0x6f, 0x6c, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x02, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74,
	0x72, 0x69, 0x6e, 0x67, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65,
	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72,
	0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x74,
	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69,
	0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72,
	0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
	0x6f, 0x6e, 0x52, 0x11, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65,
	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66,
	0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69,
	0x6e, 0x67, 0x52, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x09, 0x61, 0x75,
	0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63,
	0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x12, 0xf2,
	0xff, 0xfc, 0xc2, 0x06, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x4b, 0x0a, 0x0e,
	0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x65, 0x61, 0x73, 0x65, 0x18, 0x06,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68,
	0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x61,
	0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67,
	0x65, 0x74, 0x44, 0x69, 0x73, 0x65, 0x61, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x64, 0x6f, 0x73,
	0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65,
	0x64, 0x2e, 0x44, 0x6f, 0x73, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x58, 0x42, 0x06, 0xf0,
	0xd0, 0x87, 0xeb, 0x04, 0x01, 0x52, 0x0a, 0x64, 0x6f, 0x73, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65,
	0x72, 0x12, 0x61, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x64, 0x6f, 0x73, 0x65,
	0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6d,
	0x6d, 0x75, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f,
	0x63, 0x6f, 0x6c, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x2e, 0x53, 0x65, 0x72, 0x69, 0x65,
	0x73, 0x44, 0x6f, 0x73, 0x65, 0x73, 0x58, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44,
	0x6f, 0x73, 0x65, 0x73, 0x1a, 0xa3, 0x01, 0x0a, 0x0b, 0x44, 0x6f, 0x73, 0x65, 0x4e, 0x75, 0x6d,
	0x62, 0x65, 0x72, 0x58, 0x12, 0x45, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65,
	0x5f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65,
	0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0b,
	0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x73,
	0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e,
	0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00,
	0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x06, 0xa0, 0x83, 0x83, 0xe8, 0x06, 0x01,
	0x42, 0x08, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x1a, 0xa4, 0x01, 0x0a, 0x0c, 0x53,
	0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x6f, 0x73, 0x65, 0x73, 0x58, 0x12, 0x45, 0x0a, 0x0c, 0x70,
	0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e,
	0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65,
	0x49, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x49,
	0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c,
	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53,
	0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a,
	0x06, 0xa0, 0x83, 0x83, 0xe8, 0x06, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63,
	0x65, 0x3a, 0x40, 0xc0, 0x9f, 0xe3, 0xb6, 0x05, 0x03, 0xb2, 0xfe, 0xe4, 0x97, 0x06, 0x34, 0x68,
	0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x68, 0x6c, 0x37, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x68,
	0x69, 0x72, 0x2f, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x66, 0x69,
	0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x49, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x7a, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x42, 0x7c, 0x0a, 0x17, 0x63, 0x6f, 0x6d,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x68, 0x69, 0x72, 0x2e, 0x72, 0x34, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x50, 0x01, 0x5a, 0x59, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
	0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x68, 0x69, 0x72, 0x2f, 0x67,
	0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66,
	0x68, 0x69, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x34, 0x2f, 0x63, 0x6f, 0x72,
	0x65, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x69, 0x6d, 0x6d, 0x75,
	0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x98, 0xc6, 0xb0, 0xb5, 0x07, 0x04, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescOnce sync.Once
	file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescData = file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDesc
)

func file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescGZIP() []byte {
	file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescOnce.Do(func() {
		file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescData)
	})
	return file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDescData
}

var file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_proto_google_fhir_proto_r4_core_resources_immunization_proto_goTypes = []interface{}{
	(*Immunization)(nil),                                          // 0: google.fhir.r4.core.Immunization
	(*Immunization_StatusCode)(nil),                               // 1: google.fhir.r4.core.Immunization.StatusCode
	(*Immunization_OccurrenceX)(nil),                              // 2: google.fhir.r4.core.Immunization.OccurrenceX
	(*Immunization_Performer)(nil),                                // 3: google.fhir.r4.core.Immunization.Performer
	(*Immunization_Education)(nil),                                // 4: google.fhir.r4.core.Immunization.Education
	(*Immunization_Reaction)(nil),                                 // 5: google.fhir.r4.core.Immunization.Reaction
	(*Immunization_ProtocolApplied)(nil),                          // 6: google.fhir.r4.core.Immunization.ProtocolApplied
	(*Immunization_ProtocolApplied_DoseNumberX)(nil),              // 7: google.fhir.r4.core.Immunization.ProtocolApplied.DoseNumberX
	(*Immunization_ProtocolApplied_SeriesDosesX)(nil),             // 8: google.fhir.r4.core.Immunization.ProtocolApplied.SeriesDosesX
	(*datatypes_go_proto.Id)(nil),                                 // 9: google.fhir.r4.core.Id
	(*datatypes_go_proto.Meta)(nil),                               // 10: google.fhir.r4.core.Meta
	(*datatypes_go_proto.Uri)(nil),                                // 11: google.fhir.r4.core.Uri
	(*datatypes_go_proto.Code)(nil),                               // 12: google.fhir.r4.core.Code
	(*datatypes_go_proto.Narrative)(nil),                          // 13: google.fhir.r4.core.Narrative
	(*any.Any)(nil),                                               // 14: google.protobuf.Any
	(*datatypes_go_proto.Extension)(nil),                          // 15: google.fhir.r4.core.Extension
	(*datatypes_go_proto.Identifier)(nil),                         // 16: google.fhir.r4.core.Identifier
	(*datatypes_go_proto.CodeableConcept)(nil),                    // 17: google.fhir.r4.core.CodeableConcept
	(*datatypes_go_proto.Reference)(nil),                          // 18: google.fhir.r4.core.Reference
	(*datatypes_go_proto.DateTime)(nil),                           // 19: google.fhir.r4.core.DateTime
	(*datatypes_go_proto.Boolean)(nil),                            // 20: google.fhir.r4.core.Boolean
	(*datatypes_go_proto.String)(nil),                             // 21: google.fhir.r4.core.String
	(*datatypes_go_proto.Date)(nil),                               // 22: google.fhir.r4.core.Date
	(*datatypes_go_proto.SimpleQuantity)(nil),                     // 23: google.fhir.r4.core.SimpleQuantity
	(*datatypes_go_proto.Annotation)(nil),                         // 24: google.fhir.r4.core.Annotation
	(valuesets_go_proto.ImmunizationStatusCodesValueSet_Value)(0), // 25: google.fhir.r4.core.ImmunizationStatusCodesValueSet.Value
	(*datatypes_go_proto.PositiveInt)(nil),                        // 26: google.fhir.r4.core.PositiveInt
}
var file_proto_google_fhir_proto_r4_core_resources_immunization_proto_depIdxs = []int32{
	9,  // 0: google.fhir.r4.core.Immunization.id:type_name -> google.fhir.r4.core.Id
	10, // 1: google.fhir.r4.core.Immunization.meta:type_name -> google.fhir.r4.core.Meta
	11, // 2: google.fhir.r4.core.Immunization.implicit_rules:type_name -> google.fhir.r4.core.Uri
	12, // 3: google.fhir.r4.core.Immunization.language:type_name -> google.fhir.r4.core.Code
	13, // 4: google.fhir.r4.core.Immunization.text:type_name -> google.fhir.r4.core.Narrative
	14, // 5: google.fhir.r4.core.Immunization.contained:type_name -> google.protobuf.Any
	15, // 6: google.fhir.r4.core.Immunization.extension:type_name -> google.fhir.r4.core.Extension
	15, // 7: google.fhir.r4.core.Immunization.modifier_extension:type_name -> google.fhir.r4.core.Extension
	16, // 8: google.fhir.r4.core.Immunization.identifier:type_name -> google.fhir.r4.core.Identifier
	1,  // 9: google.fhir.r4.core.Immunization.status:type_name -> google.fhir.r4.core.Immunization.StatusCode
	17, // 10: google.fhir.r4.core.Immunization.status_reason:type_name -> google.fhir.r4.core.CodeableConcept
	17, // 11: google.fhir.r4.core.Immunization.vaccine_code:type_name -> google.fhir.r4.core.CodeableConcept
	18, // 12: google.fhir.r4.core.Immunization.patient:type_name -> google.fhir.r4.core.Reference
	18, // 13: google.fhir.r4.core.Immunization.encounter:type_name -> google.fhir.r4.core.Reference
	2,  // 14: google.fhir.r4.core.Immunization.occurrence:type_name -> google.fhir.r4.core.Immunization.OccurrenceX
	19, // 15: google.fhir.r4.core.Immunization.recorded:type_name -> google.fhir.r4.core.DateTime
	20, // 16: google.fhir.r4.core.Immunization.primary_source:type_name -> google.fhir.r4.core.Boolean
	17, // 17: google.fhir.r4.core.Immunization.report_origin:type_name -> google.fhir.r4.core.CodeableConcept
	18, // 18: google.fhir.r4.core.Immunization.location:type_name -> google.fhir.r4.core.Reference
	18, // 19: google.fhir.r4.core.Immunization.manufacturer:type_name -> google.fhir.r4.core.Reference
	21, // 20: google.fhir.r4.core.Immunization.lot_number:type_name -> google.fhir.r4.core.String
	22, // 21: google.fhir.r4.core.Immunization.expiration_date:type_name -> google.fhir.r4.core.Date
	17, // 22: google.fhir.r4.core.Immunization.site:type_name -> google.fhir.r4.core.CodeableConcept
	17, // 23: google.fhir.r4.core.Immunization.route:type_name -> google.fhir.r4.core.CodeableConcept
	23, // 24: google.fhir.r4.core.Immunization.dose_quantity:type_name -> google.fhir.r4.core.SimpleQuantity
	3,  // 25: google.fhir.r4.core.Immunization.performer:type_name -> google.fhir.r4.core.Immunization.Performer
	24, // 26: google.fhir.r4.core.Immunization.note:type_name -> google.fhir.r4.core.Annotation
	17, // 27: google.fhir.r4.core.Immunization.reason_code:type_name -> google.fhir.r4.core.CodeableConcept
	18, // 28: google.fhir.r4.core.Immunization.reason_reference:type_name -> google.fhir.r4.core.Reference
	20, // 29: google.fhir.r4.core.Immunization.is_subpotent:type_name -> google.fhir.r4.core.Boolean
	17, // 30: google.fhir.r4.core.Immunization.subpotent_reason:type_name -> google.fhir.r4.core.CodeableConcept
	4,  // 31: google.fhir.r4.core.Immunization.education:type_name -> google.fhir.r4.core.Immunization.Education
	17, // 32: google.fhir.r4.core.Immunization.program_eligibility:type_name -> google.fhir.r4.core.CodeableConcept
	17, // 33: google.fhir.r4.core.Immunization.funding_source:type_name -> google.fhir.r4.core.CodeableConcept
	5,  // 34: google.fhir.r4.core.Immunization.reaction:type_name -> google.fhir.r4.core.Immunization.Reaction
	6,  // 35: google.fhir.r4.core.Immunization.protocol_applied:type_name -> google.fhir.r4.core.Immunization.ProtocolApplied
	25, // 36: google.fhir.r4.core.Immunization.StatusCode.value:type_name -> google.fhir.r4.core.ImmunizationStatusCodesValueSet.Value
	21, // 37: google.fhir.r4.core.Immunization.StatusCode.id:type_name -> google.fhir.r4.core.String
	15, // 38: google.fhir.r4.core.Immunization.StatusCode.extension:type_name -> google.fhir.r4.core.Extension
	19, // 39: google.fhir.r4.core.Immunization.OccurrenceX.date_time:type_name -> google.fhir.r4.core.DateTime
	21, // 40: google.fhir.r4.core.Immunization.OccurrenceX.string_value:type_name -> google.fhir.r4.core.String
	21, // 41: google.fhir.r4.core.Immunization.Performer.id:type_name -> google.fhir.r4.core.String
	15, // 42: google.fhir.r4.core.Immunization.Performer.extension:type_name -> google.fhir.r4.core.Extension
	15, // 43: google.fhir.r4.core.Immunization.Performer.modifier_extension:type_name -> google.fhir.r4.core.Extension
	17, // 44: google.fhir.r4.core.Immunization.Performer.function:type_name -> google.fhir.r4.core.CodeableConcept
	18, // 45: google.fhir.r4.core.Immunization.Performer.actor:type_name -> google.fhir.r4.core.Reference
	21, // 46: google.fhir.r4.core.Immunization.Education.id:type_name -> google.fhir.r4.core.String
	15, // 47: google.fhir.r4.core.Immunization.Education.extension:type_name -> google.fhir.r4.core.Extension
	15, // 48: google.fhir.r4.core.Immunization.Education.modifier_extension:type_name -> google.fhir.r4.core.Extension
	21, // 49: google.fhir.r4.core.Immunization.Education.document_type:type_name -> google.fhir.r4.core.String
	11, // 50: google.fhir.r4.core.Immunization.Education.reference:type_name -> google.fhir.r4.core.Uri
	19, // 51: google.fhir.r4.core.Immunization.Education.publication_date:type_name -> google.fhir.r4.core.DateTime
	19, // 52: google.fhir.r4.core.Immunization.Education.presentation_date:type_name -> google.fhir.r4.core.DateTime
	21, // 53: google.fhir.r4.core.Immunization.Reaction.id:type_name -> google.fhir.r4.core.String
	15, // 54: google.fhir.r4.core.Immunization.Reaction.extension:type_name -> google.fhir.r4.core.Extension
	15, // 55: google.fhir.r4.core.Immunization.Reaction.modifier_extension:type_name -> google.fhir.r4.core.Extension
	19, // 56: google.fhir.r4.core.Immunization.Reaction.date:type_name -> google.fhir.r4.core.DateTime
	18, // 57: google.fhir.r4.core.Immunization.Reaction.detail:type_name -> google.fhir.r4.core.Reference
	20, // 58: google.fhir.r4.core.Immunization.Reaction.reported:type_name -> google.fhir.r4.core.Boolean
	21, // 59: google.fhir.r4.core.Immunization.ProtocolApplied.id:type_name -> google.fhir.r4.core.String
	15, // 60: google.fhir.r4.core.Immunization.ProtocolApplied.extension:type_name -> google.fhir.r4.core.Extension
	15, // 61: google.fhir.r4.core.Immunization.ProtocolApplied.modifier_extension:type_name -> google.fhir.r4.core.Extension
	21, // 62: google.fhir.r4.core.Immunization.ProtocolApplied.series:type_name -> google.fhir.r4.core.String
	18, // 63: google.fhir.r4.core.Immunization.ProtocolApplied.authority:type_name -> google.fhir.r4.core.Reference
	17, // 64: google.fhir.r4.core.Immunization.ProtocolApplied.target_disease:type_name -> google.fhir.r4.core.CodeableConcept
	7,  // 65: google.fhir.r4.core.Immunization.ProtocolApplied.dose_number:type_name -> google.fhir.r4.core.Immunization.ProtocolApplied.DoseNumberX
	8,  // 66: google.fhir.r4.core.Immunization.ProtocolApplied.series_doses:type_name -> google.fhir.r4.core.Immunization.ProtocolApplied.SeriesDosesX
	26, // 67: google.fhir.r4.core.Immunization.ProtocolApplied.DoseNumberX.positive_int:type_name -> google.fhir.r4.core.PositiveInt
	21, // 68: google.fhir.r4.core.Immunization.ProtocolApplied.DoseNumberX.string_value:type_name -> google.fhir.r4.core.String
	26, // 69: google.fhir.r4.core.Immunization.ProtocolApplied.SeriesDosesX.positive_int:type_name -> google.fhir.r4.core.PositiveInt
	21, // 70: google.fhir.r4.core.Immunization.ProtocolApplied.SeriesDosesX.string_value:type_name -> google.fhir.r4.core.String
	71, // [71:71] is the sub-list for method output_type
	71, // [71:71] is the sub-list for method input_type
	71, // [71:71] is the sub-list for extension type_name
	71, // [71:71] is the sub-list for extension extendee
	0,  // [0:71] is the sub-list for field type_name
}

func init() { file_proto_google_fhir_proto_r4_core_resources_immunization_proto_init() }
func file_proto_google_fhir_proto_r4_core_resources_immunization_proto_init() {
	if File_proto_google_fhir_proto_r4_core_resources_immunization_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Immunization); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Immunization_StatusCode); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Immunization_OccurrenceX); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Immunization_Performer); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Immunization_Education); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Immunization_Reaction); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Immunization_ProtocolApplied); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Immunization_ProtocolApplied_DoseNumberX); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Immunization_ProtocolApplied_SeriesDosesX); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[2].OneofWrappers = []interface{}{
		(*Immunization_OccurrenceX_DateTime)(nil),
		(*Immunization_OccurrenceX_StringValue)(nil),
	}
	file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[7].OneofWrappers = []interface{}{
		(*Immunization_ProtocolApplied_DoseNumberX_PositiveInt)(nil),
		(*Immunization_ProtocolApplied_DoseNumberX_StringValue)(nil),
	}
	file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes[8].OneofWrappers = []interface{}{
		(*Immunization_ProtocolApplied_SeriesDosesX_PositiveInt)(nil),
		(*Immunization_ProtocolApplied_SeriesDosesX_StringValue)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   9,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_proto_google_fhir_proto_r4_core_resources_immunization_proto_goTypes,
		DependencyIndexes: file_proto_google_fhir_proto_r4_core_resources_immunization_proto_depIdxs,
		MessageInfos:      file_proto_google_fhir_proto_r4_core_resources_immunization_proto_msgTypes,
	}.Build()
	File_proto_google_fhir_proto_r4_core_resources_immunization_proto = out.File
	file_proto_google_fhir_proto_r4_core_resources_immunization_proto_rawDesc = nil
	file_proto_google_fhir_proto_r4_core_resources_immunization_proto_goTypes = nil
	file_proto_google_fhir_proto_r4_core_resources_immunization_proto_depIdxs = nil
}
