Files
yatm/entity/settings.pb.go
T
Samuel CuiandClaude Opus 5.5 5c0002af3a Define tar Tape, Device settings and prepared-read contracts
Add the tar Media profile, member locators, Tape read parameters, Device settings with learned read parameters, device reports and prepared-read messages, with generated Go and TypeScript code. Register the Tape vocabulary in CONTEXT and document the API and option contracts. Existing read dialogs request no position-map refresh. Encryption stays with the configured script; write options carry no native encryption switch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 00:01:31 +08:00

2672 lines
102 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.33.0
// protoc v5.26.0
// source: settings.proto
package entity
import (
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)
)
type SettingsGroup int32
const (
SettingsGroup_SETTINGS_GROUP_UNSPECIFIED SettingsGroup = 0
SettingsGroup_SETTINGS_GROUP_LIBRARY SettingsGroup = 1
SettingsGroup_SETTINGS_GROUP_PREVIEW SettingsGroup = 2
SettingsGroup_SETTINGS_GROUP_JOB SettingsGroup = 3
SettingsGroup_SETTINGS_GROUP_DEVICE SettingsGroup = 4
)
// Enum value maps for SettingsGroup.
var (
SettingsGroup_name = map[int32]string{
0: "SETTINGS_GROUP_UNSPECIFIED",
1: "SETTINGS_GROUP_LIBRARY",
2: "SETTINGS_GROUP_PREVIEW",
3: "SETTINGS_GROUP_JOB",
4: "SETTINGS_GROUP_DEVICE",
}
SettingsGroup_value = map[string]int32{
"SETTINGS_GROUP_UNSPECIFIED": 0,
"SETTINGS_GROUP_LIBRARY": 1,
"SETTINGS_GROUP_PREVIEW": 2,
"SETTINGS_GROUP_JOB": 3,
"SETTINGS_GROUP_DEVICE": 4,
}
)
func (x SettingsGroup) Enum() *SettingsGroup {
p := new(SettingsGroup)
*p = x
return p
}
func (x SettingsGroup) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (SettingsGroup) Descriptor() protoreflect.EnumDescriptor {
return file_settings_proto_enumTypes[0].Descriptor()
}
func (SettingsGroup) Type() protoreflect.EnumType {
return &file_settings_proto_enumTypes[0]
}
func (x SettingsGroup) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use SettingsGroup.Descriptor instead.
func (SettingsGroup) EnumDescriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{0}
}
// Device setting; an unspecified value resolves to LOGICAL for each read attempt.
type TapeReadOrder int32
const (
TapeReadOrder_TAPE_READ_ORDER_UNSPECIFIED TapeReadOrder = 0
TapeReadOrder_TAPE_READ_ORDER_LOGICAL TapeReadOrder = 1
TapeReadOrder_TAPE_READ_ORDER_AUTO TapeReadOrder = 2
)
// Enum value maps for TapeReadOrder.
var (
TapeReadOrder_name = map[int32]string{
0: "TAPE_READ_ORDER_UNSPECIFIED",
1: "TAPE_READ_ORDER_LOGICAL",
2: "TAPE_READ_ORDER_AUTO",
}
TapeReadOrder_value = map[string]int32{
"TAPE_READ_ORDER_UNSPECIFIED": 0,
"TAPE_READ_ORDER_LOGICAL": 1,
"TAPE_READ_ORDER_AUTO": 2,
}
)
func (x TapeReadOrder) Enum() *TapeReadOrder {
p := new(TapeReadOrder)
*p = x
return p
}
func (x TapeReadOrder) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (TapeReadOrder) Descriptor() protoreflect.EnumDescriptor {
return file_settings_proto_enumTypes[1].Descriptor()
}
func (TapeReadOrder) Type() protoreflect.EnumType {
return &file_settings_proto_enumTypes[1]
}
func (x TapeReadOrder) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use TapeReadOrder.Descriptor instead.
func (TapeReadOrder) EnumDescriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{1}
}
// Device settings attach to deployment-configured names and do not authorize device access.
type DeviceSettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Devices []*DeviceConfig `protobuf:"bytes,1,rep,name=devices,proto3" json:"devices,omitempty"`
// Read-only results of passive read learning. Update ignores client-supplied values.
LearnedReadParameters []*TapeLearnedReadParameters `protobuf:"bytes,2,rep,name=learned_read_parameters,json=learnedReadParameters,proto3" json:"learned_read_parameters,omitempty"`
}
func (x *DeviceSettings) Reset() {
*x = DeviceSettings{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeviceSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeviceSettings) ProtoMessage() {}
func (x *DeviceSettings) ProtoReflect() protoreflect.Message {
mi := &file_settings_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 DeviceSettings.ProtoReflect.Descriptor instead.
func (*DeviceSettings) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{0}
}
func (x *DeviceSettings) GetDevices() []*DeviceConfig {
if x != nil {
return x.Devices
}
return nil
}
func (x *DeviceSettings) GetLearnedReadParameters() []*TapeLearnedReadParameters {
if x != nil {
return x.LearnedReadParameters
}
return nil
}
type DeviceConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Device string `protobuf:"bytes,1,opt,name=device,proto3" json:"device,omitempty"`
// Types that are assignable to Options:
//
// *DeviceConfig_Tape
Options isDeviceConfig_Options `protobuf_oneof:"options"`
}
func (x *DeviceConfig) Reset() {
*x = DeviceConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeviceConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeviceConfig) ProtoMessage() {}
func (x *DeviceConfig) ProtoReflect() protoreflect.Message {
mi := &file_settings_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 DeviceConfig.ProtoReflect.Descriptor instead.
func (*DeviceConfig) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{1}
}
func (x *DeviceConfig) GetDevice() string {
if x != nil {
return x.Device
}
return ""
}
func (m *DeviceConfig) GetOptions() isDeviceConfig_Options {
if m != nil {
return m.Options
}
return nil
}
func (x *DeviceConfig) GetTape() *TapeDeviceSettings {
if x, ok := x.GetOptions().(*DeviceConfig_Tape); ok {
return x.Tape
}
return nil
}
type isDeviceConfig_Options interface {
isDeviceConfig_Options()
}
type DeviceConfig_Tape struct {
Tape *TapeDeviceSettings `protobuf:"bytes,2,opt,name=tape,proto3,oneof"`
}
func (*DeviceConfig_Tape) isDeviceConfig_Options() {}
type TapeDeviceSettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DefaultFormat *string `protobuf:"bytes,1,opt,name=default_format,json=defaultFormat,proto3,oneof" json:"default_format,omitempty"`
TarWriteOptions *TarWriteOptions `protobuf:"bytes,2,opt,name=tar_write_options,json=tarWriteOptions,proto3,oneof" json:"tar_write_options,omitempty"`
ReadOrder TapeReadOrder `protobuf:"varint,3,opt,name=read_order,json=readOrder,proto3,enum=yatm.v1.TapeReadOrder" json:"read_order,omitempty"`
// Absent uses five seconds; explicit zero disables capacity polling; enabled intervals are at least five seconds.
CapacityPollIntervalSeconds *uint32 `protobuf:"varint,4,opt,name=capacity_poll_interval_seconds,json=capacityPollIntervalSeconds,proto3,oneof" json:"capacity_poll_interval_seconds,omitempty"`
// Optional manual read parameters. Missing fields stay unknown; saving does not establish their applicability.
ReadParameters *TapeReadParameters `protobuf:"bytes,5,opt,name=read_parameters,json=readParameters,proto3,oneof" json:"read_parameters,omitempty"`
// Absent enables observation of ordinary completed I/O; never issues additional measurement commands.
PassiveReadLearning *bool `protobuf:"varint,6,opt,name=passive_read_learning,json=passiveReadLearning,proto3,oneof" json:"passive_read_learning,omitempty"`
// Absent allows 300 seconds. Explicit values must be positive; no 600-second upper limit.
ReadPlanningSeconds *uint32 `protobuf:"varint,7,opt,name=read_planning_seconds,json=readPlanningSeconds,proto3,oneof" json:"read_planning_seconds,omitempty"`
}
func (x *TapeDeviceSettings) Reset() {
*x = TapeDeviceSettings{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TapeDeviceSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TapeDeviceSettings) ProtoMessage() {}
func (x *TapeDeviceSettings) ProtoReflect() protoreflect.Message {
mi := &file_settings_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 TapeDeviceSettings.ProtoReflect.Descriptor instead.
func (*TapeDeviceSettings) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{2}
}
func (x *TapeDeviceSettings) GetDefaultFormat() string {
if x != nil && x.DefaultFormat != nil {
return *x.DefaultFormat
}
return ""
}
func (x *TapeDeviceSettings) GetTarWriteOptions() *TarWriteOptions {
if x != nil {
return x.TarWriteOptions
}
return nil
}
func (x *TapeDeviceSettings) GetReadOrder() TapeReadOrder {
if x != nil {
return x.ReadOrder
}
return TapeReadOrder_TAPE_READ_ORDER_UNSPECIFIED
}
func (x *TapeDeviceSettings) GetCapacityPollIntervalSeconds() uint32 {
if x != nil && x.CapacityPollIntervalSeconds != nil {
return *x.CapacityPollIntervalSeconds
}
return 0
}
func (x *TapeDeviceSettings) GetReadParameters() *TapeReadParameters {
if x != nil {
return x.ReadParameters
}
return nil
}
func (x *TapeDeviceSettings) GetPassiveReadLearning() bool {
if x != nil && x.PassiveReadLearning != nil {
return *x.PassiveReadLearning
}
return false
}
func (x *TapeDeviceSettings) GetReadPlanningSeconds() uint32 {
if x != nil && x.ReadPlanningSeconds != nil {
return *x.ReadPlanningSeconds
}
return 0
}
// The latest refit for an exact observed device/configuration. Its raw observations live in each
// Job bundle as read-observations.jsonl and are not part of this message.
type TapeLearnedReadParameters struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Device string `protobuf:"bytes,1,opt,name=device,proto3" json:"device,omitempty"`
Parameters *TapeReadParameters `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty"`
FitVersion string `protobuf:"bytes,3,opt,name=fit_version,json=fitVersion,proto3" json:"fit_version,omitempty"`
// Retained observations for this device/configuration when the parameters were fitted.
TrainingObservations uint32 `protobuf:"varint,4,opt,name=training_observations,json=trainingObservations,proto3" json:"training_observations,omitempty"`
// Unweighted residuals of the fitted parameters over those observations.
MaeSeconds float64 `protobuf:"fixed64,6,opt,name=mae_seconds,json=maeSeconds,proto3" json:"mae_seconds,omitempty"`
MaxErrorSeconds float64 `protobuf:"fixed64,7,opt,name=max_error_seconds,json=maxErrorSeconds,proto3" json:"max_error_seconds,omitempty"`
UpdatedAtNs int64 `protobuf:"varint,8,opt,name=updated_at_ns,json=updatedAtNs,proto3" json:"updated_at_ns,omitempty"`
}
func (x *TapeLearnedReadParameters) Reset() {
*x = TapeLearnedReadParameters{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TapeLearnedReadParameters) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TapeLearnedReadParameters) ProtoMessage() {}
func (x *TapeLearnedReadParameters) ProtoReflect() protoreflect.Message {
mi := &file_settings_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 TapeLearnedReadParameters.ProtoReflect.Descriptor instead.
func (*TapeLearnedReadParameters) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{3}
}
func (x *TapeLearnedReadParameters) GetDevice() string {
if x != nil {
return x.Device
}
return ""
}
func (x *TapeLearnedReadParameters) GetParameters() *TapeReadParameters {
if x != nil {
return x.Parameters
}
return nil
}
func (x *TapeLearnedReadParameters) GetFitVersion() string {
if x != nil {
return x.FitVersion
}
return ""
}
func (x *TapeLearnedReadParameters) GetTrainingObservations() uint32 {
if x != nil {
return x.TrainingObservations
}
return 0
}
func (x *TapeLearnedReadParameters) GetMaeSeconds() float64 {
if x != nil {
return x.MaeSeconds
}
return 0
}
func (x *TapeLearnedReadParameters) GetMaxErrorSeconds() float64 {
if x != nil {
return x.MaxErrorSeconds
}
return 0
}
func (x *TapeLearnedReadParameters) GetUpdatedAtNs() int64 {
if x != nil {
return x.UpdatedAtNs
}
return 0
}
type TapeReadParameters struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AppliesTo *TapeReadApplicability `protobuf:"bytes,1,opt,name=applies_to,json=appliesTo,proto3" json:"applies_to,omitempty"`
Geometry *TapeReadGeometry `protobuf:"bytes,2,opt,name=geometry,proto3" json:"geometry,omitempty"`
Positioning *TapeReadPositioning `protobuf:"bytes,3,opt,name=positioning,proto3" json:"positioning,omitempty"`
Reading *TapeReadTiming `protobuf:"bytes,4,opt,name=reading,proto3" json:"reading,omitempty"`
// Descriptive provenance and measurement conditions, not a qualification switch.
SourceReference string `protobuf:"bytes,5,opt,name=source_reference,json=sourceReference,proto3" json:"source_reference,omitempty"`
Completion *TapeReadCompletion `protobuf:"bytes,6,opt,name=completion,proto3" json:"completion,omitempty"`
}
func (x *TapeReadParameters) Reset() {
*x = TapeReadParameters{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TapeReadParameters) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TapeReadParameters) ProtoMessage() {}
func (x *TapeReadParameters) ProtoReflect() protoreflect.Message {
mi := &file_settings_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 TapeReadParameters.ProtoReflect.Descriptor instead.
func (*TapeReadParameters) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{4}
}
func (x *TapeReadParameters) GetAppliesTo() *TapeReadApplicability {
if x != nil {
return x.AppliesTo
}
return nil
}
func (x *TapeReadParameters) GetGeometry() *TapeReadGeometry {
if x != nil {
return x.Geometry
}
return nil
}
func (x *TapeReadParameters) GetPositioning() *TapeReadPositioning {
if x != nil {
return x.Positioning
}
return nil
}
func (x *TapeReadParameters) GetReading() *TapeReadTiming {
if x != nil {
return x.Reading
}
return nil
}
func (x *TapeReadParameters) GetSourceReference() string {
if x != nil {
return x.SourceReference
}
return ""
}
func (x *TapeReadParameters) GetCompletion() *TapeReadCompletion {
if x != nil {
return x.Completion
}
return nil
}
// Native synchronous unload timing is independent of the LOCATE regression. Full span means
// one physical longitudinal tape length, not the complete serpentine logical address space.
type TapeReadCompletion struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FullSpanSeconds *float64 `protobuf:"fixed64,1,opt,name=full_span_seconds,json=fullSpanSeconds,proto3,oneof" json:"full_span_seconds,omitempty"`
FixedSeconds *float64 `protobuf:"fixed64,2,opt,name=fixed_seconds,json=fixedSeconds,proto3,oneof" json:"fixed_seconds,omitempty"`
}
func (x *TapeReadCompletion) Reset() {
*x = TapeReadCompletion{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TapeReadCompletion) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TapeReadCompletion) ProtoMessage() {}
func (x *TapeReadCompletion) ProtoReflect() protoreflect.Message {
mi := &file_settings_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 TapeReadCompletion.ProtoReflect.Descriptor instead.
func (*TapeReadCompletion) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{5}
}
func (x *TapeReadCompletion) GetFullSpanSeconds() float64 {
if x != nil && x.FullSpanSeconds != nil {
return *x.FullSpanSeconds
}
return 0
}
func (x *TapeReadCompletion) GetFixedSeconds() float64 {
if x != nil && x.FixedSeconds != nil {
return *x.FixedSeconds
}
return 0
}
type TapeReadApplicability struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DriveSerial *string `protobuf:"bytes,1,opt,name=drive_serial,json=driveSerial,proto3,oneof" json:"drive_serial,omitempty"`
Firmware *string `protobuf:"bytes,2,opt,name=firmware,proto3,oneof" json:"firmware,omitempty"`
DensityCode *uint32 `protobuf:"varint,3,opt,name=density_code,json=densityCode,proto3,oneof" json:"density_code,omitempty"`
RecordMode *TapeRecordMode `protobuf:"varint,4,opt,name=record_mode,json=recordMode,proto3,enum=yatm.v1.TapeRecordMode,oneof" json:"record_mode,omitempty"`
RecordBytes *uint32 `protobuf:"varint,5,opt,name=record_bytes,json=recordBytes,proto3,oneof" json:"record_bytes,omitempty"`
HardwareCompression *bool `protobuf:"varint,6,opt,name=hardware_compression,json=hardwareCompression,proto3,oneof" json:"hardware_compression,omitempty"`
// Explicit empty means plaintext; absent means unknown. Never contains a key.
EncryptionAlgorithm *string `protobuf:"bytes,7,opt,name=encryption_algorithm,json=encryptionAlgorithm,proto3,oneof" json:"encryption_algorithm,omitempty"`
}
func (x *TapeReadApplicability) Reset() {
*x = TapeReadApplicability{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TapeReadApplicability) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TapeReadApplicability) ProtoMessage() {}
func (x *TapeReadApplicability) ProtoReflect() protoreflect.Message {
mi := &file_settings_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 TapeReadApplicability.ProtoReflect.Descriptor instead.
func (*TapeReadApplicability) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{6}
}
func (x *TapeReadApplicability) GetDriveSerial() string {
if x != nil && x.DriveSerial != nil {
return *x.DriveSerial
}
return ""
}
func (x *TapeReadApplicability) GetFirmware() string {
if x != nil && x.Firmware != nil {
return *x.Firmware
}
return ""
}
func (x *TapeReadApplicability) GetDensityCode() uint32 {
if x != nil && x.DensityCode != nil {
return *x.DensityCode
}
return 0
}
func (x *TapeReadApplicability) GetRecordMode() TapeRecordMode {
if x != nil && x.RecordMode != nil {
return *x.RecordMode
}
return TapeRecordMode_TAPE_RECORD_MODE_UNSPECIFIED
}
func (x *TapeReadApplicability) GetRecordBytes() uint32 {
if x != nil && x.RecordBytes != nil {
return *x.RecordBytes
}
return 0
}
func (x *TapeReadApplicability) GetHardwareCompression() bool {
if x != nil && x.HardwareCompression != nil {
return *x.HardwareCompression
}
return false
}
func (x *TapeReadApplicability) GetEncryptionAlgorithm() string {
if x != nil && x.EncryptionAlgorithm != nil {
return *x.EncryptionAlgorithm
}
return ""
}
type TapeReadGeometry struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
NominalWraps *uint32 `protobuf:"varint,1,opt,name=nominal_wraps,json=nominalWraps,proto3,oneof" json:"nominal_wraps,omitempty"`
MinLpos *uint64 `protobuf:"varint,2,opt,name=min_lpos,json=minLpos,proto3,oneof" json:"min_lpos,omitempty"`
MaxLpos *uint64 `protobuf:"varint,3,opt,name=max_lpos,json=maxLpos,proto3,oneof" json:"max_lpos,omitempty"`
}
func (x *TapeReadGeometry) Reset() {
*x = TapeReadGeometry{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TapeReadGeometry) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TapeReadGeometry) ProtoMessage() {}
func (x *TapeReadGeometry) ProtoReflect() protoreflect.Message {
mi := &file_settings_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 TapeReadGeometry.ProtoReflect.Descriptor instead.
func (*TapeReadGeometry) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{7}
}
func (x *TapeReadGeometry) GetNominalWraps() uint32 {
if x != nil && x.NominalWraps != nil {
return *x.NominalWraps
}
return 0
}
func (x *TapeReadGeometry) GetMinLpos() uint64 {
if x != nil && x.MinLpos != nil {
return *x.MinLpos
}
return 0
}
func (x *TapeReadGeometry) GetMaxLpos() uint64 {
if x != nil && x.MaxLpos != nil {
return *x.MaxLpos
}
return 0
}
// The seven CERN positioning terms use seconds and seconds per LPOS, including signed terms.
type TapeReadPositioning struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BaseSeconds *float64 `protobuf:"fixed64,1,opt,name=base_seconds,json=baseSeconds,proto3,oneof" json:"base_seconds,omitempty"`
WrapChangeSeconds *float64 `protobuf:"fixed64,2,opt,name=wrap_change_seconds,json=wrapChangeSeconds,proto3,oneof" json:"wrap_change_seconds,omitempty"`
BandChangeSeconds *float64 `protobuf:"fixed64,3,opt,name=band_change_seconds,json=bandChangeSeconds,proto3,oneof" json:"band_change_seconds,omitempty"`
LandingZoneChangeSeconds *float64 `protobuf:"fixed64,4,opt,name=landing_zone_change_seconds,json=landingZoneChangeSeconds,proto3,oneof" json:"landing_zone_change_seconds,omitempty"`
DirectionChangeSeconds *float64 `protobuf:"fixed64,5,opt,name=direction_change_seconds,json=directionChangeSeconds,proto3,oneof" json:"direction_change_seconds,omitempty"`
StepBackSeconds *float64 `protobuf:"fixed64,6,opt,name=step_back_seconds,json=stepBackSeconds,proto3,oneof" json:"step_back_seconds,omitempty"`
LongitudinalSecondsPerLpos *float64 `protobuf:"fixed64,7,opt,name=longitudinal_seconds_per_lpos,json=longitudinalSecondsPerLpos,proto3,oneof" json:"longitudinal_seconds_per_lpos,omitempty"`
// Seconds for one complete longitudinal span, not transfer time. Exclusive with seconds per LPOS.
LongitudinalSecondsPerWrap *float64 `protobuf:"fixed64,9,opt,name=longitudinal_seconds_per_wrap,json=longitudinalSecondsPerWrap,proto3,oneof" json:"longitudinal_seconds_per_wrap,omitempty"`
}
func (x *TapeReadPositioning) Reset() {
*x = TapeReadPositioning{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TapeReadPositioning) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TapeReadPositioning) ProtoMessage() {}
func (x *TapeReadPositioning) ProtoReflect() protoreflect.Message {
mi := &file_settings_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 TapeReadPositioning.ProtoReflect.Descriptor instead.
func (*TapeReadPositioning) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{8}
}
func (x *TapeReadPositioning) GetBaseSeconds() float64 {
if x != nil && x.BaseSeconds != nil {
return *x.BaseSeconds
}
return 0
}
func (x *TapeReadPositioning) GetWrapChangeSeconds() float64 {
if x != nil && x.WrapChangeSeconds != nil {
return *x.WrapChangeSeconds
}
return 0
}
func (x *TapeReadPositioning) GetBandChangeSeconds() float64 {
if x != nil && x.BandChangeSeconds != nil {
return *x.BandChangeSeconds
}
return 0
}
func (x *TapeReadPositioning) GetLandingZoneChangeSeconds() float64 {
if x != nil && x.LandingZoneChangeSeconds != nil {
return *x.LandingZoneChangeSeconds
}
return 0
}
func (x *TapeReadPositioning) GetDirectionChangeSeconds() float64 {
if x != nil && x.DirectionChangeSeconds != nil {
return *x.DirectionChangeSeconds
}
return 0
}
func (x *TapeReadPositioning) GetStepBackSeconds() float64 {
if x != nil && x.StepBackSeconds != nil {
return *x.StepBackSeconds
}
return 0
}
func (x *TapeReadPositioning) GetLongitudinalSecondsPerLpos() float64 {
if x != nil && x.LongitudinalSecondsPerLpos != nil {
return *x.LongitudinalSecondsPerLpos
}
return 0
}
func (x *TapeReadPositioning) GetLongitudinalSecondsPerWrap() float64 {
if x != nil && x.LongitudinalSecondsPerWrap != nil {
return *x.LongitudinalSecondsPerWrap
}
return 0
}
type TapeReadTiming struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BytesPerSecond *float64 `protobuf:"fixed64,1,opt,name=bytes_per_second,json=bytesPerSecond,proto3,oneof" json:"bytes_per_second,omitempty"`
// Additional first nonempty READ latency after settled LOCATE, excluding transferred bytes/rate.
PostLocateReadOverheadSeconds *float64 `protobuf:"fixed64,2,opt,name=post_locate_read_overhead_seconds,json=postLocateReadOverheadSeconds,proto3,oneof" json:"post_locate_read_overhead_seconds,omitempty"`
// Additional latency per crossed filemark and following READ; absent leaves that action unpriced.
FilemarkOverheadSeconds *float64 `protobuf:"fixed64,3,opt,name=filemark_overhead_seconds,json=filemarkOverheadSeconds,proto3,oneof" json:"filemark_overhead_seconds,omitempty"`
}
func (x *TapeReadTiming) Reset() {
*x = TapeReadTiming{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TapeReadTiming) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TapeReadTiming) ProtoMessage() {}
func (x *TapeReadTiming) ProtoReflect() protoreflect.Message {
mi := &file_settings_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TapeReadTiming.ProtoReflect.Descriptor instead.
func (*TapeReadTiming) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{9}
}
func (x *TapeReadTiming) GetBytesPerSecond() float64 {
if x != nil && x.BytesPerSecond != nil {
return *x.BytesPerSecond
}
return 0
}
func (x *TapeReadTiming) GetPostLocateReadOverheadSeconds() float64 {
if x != nil && x.PostLocateReadOverheadSeconds != nil {
return *x.PostLocateReadOverheadSeconds
}
return 0
}
func (x *TapeReadTiming) GetFilemarkOverheadSeconds() float64 {
if x != nil && x.FilemarkOverheadSeconds != nil {
return *x.FilemarkOverheadSeconds
}
return 0
}
// Library preferences: what the Library shows and how it confirms removal.
type LibrarySettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
IncludeUnbackedFiles bool `protobuf:"varint,1,opt,name=include_unbacked_files,json=includeUnbackedFiles,proto3" json:"include_unbacked_files,omitempty"`
ConfirmRemove bool `protobuf:"varint,2,opt,name=confirm_remove,json=confirmRemove,proto3" json:"confirm_remove,omitempty"`
}
func (x *LibrarySettings) Reset() {
*x = LibrarySettings{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LibrarySettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LibrarySettings) ProtoMessage() {}
func (x *LibrarySettings) ProtoReflect() protoreflect.Message {
mi := &file_settings_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LibrarySettings.ProtoReflect.Descriptor instead.
func (*LibrarySettings) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{10}
}
func (x *LibrarySettings) GetIncludeUnbackedFiles() bool {
if x != nil {
return x.IncludeUnbackedFiles
}
return false
}
func (x *LibrarySettings) GetConfirmRemove() bool {
if x != nil {
return x.ConfirmRemove
}
return false
}
// Executor preferences: how an attempt drives the pipeline its runner owns.
type JobSettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Execution *JobExecutionSettings `protobuf:"bytes,1,opt,name=execution,proto3" json:"execution,omitempty"`
}
func (x *JobSettings) Reset() {
*x = JobSettings{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *JobSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*JobSettings) ProtoMessage() {}
func (x *JobSettings) ProtoReflect() protoreflect.Message {
mi := &file_settings_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use JobSettings.ProtoReflect.Descriptor instead.
func (*JobSettings) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{11}
}
func (x *JobSettings) GetExecution() *JobExecutionSettings {
if x != nil {
return x.Execution
}
return nil
}
// Job pipeline batching, buffering and delivery cadence. Every limit is an ACP option: the read
// batch is the manifest page, and the read buffer, the result queue, the result batch and the
// flush interval are the engine's, so the result writer of an attempt only persists the batches
// ACP hands over.
type JobExecutionSettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ReadBatch int32 `protobuf:"varint,1,opt,name=read_batch,json=readBatch,proto3" json:"read_batch,omitempty"`
ReadBufferMax int32 `protobuf:"varint,2,opt,name=read_buffer_max,json=readBufferMax,proto3" json:"read_buffer_max,omitempty"`
WriteBufferMax int32 `protobuf:"varint,3,opt,name=write_buffer_max,json=writeBufferMax,proto3" json:"write_buffer_max,omitempty"`
WriteBatchSize int32 `protobuf:"varint,4,opt,name=write_batch_size,json=writeBatchSize,proto3" json:"write_batch_size,omitempty"`
FlushIntervalMs int32 `protobuf:"varint,5,opt,name=flush_interval_ms,json=flushIntervalMs,proto3" json:"flush_interval_ms,omitempty"`
}
func (x *JobExecutionSettings) Reset() {
*x = JobExecutionSettings{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *JobExecutionSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*JobExecutionSettings) ProtoMessage() {}
func (x *JobExecutionSettings) ProtoReflect() protoreflect.Message {
mi := &file_settings_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use JobExecutionSettings.ProtoReflect.Descriptor instead.
func (*JobExecutionSettings) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{12}
}
func (x *JobExecutionSettings) GetReadBatch() int32 {
if x != nil {
return x.ReadBatch
}
return 0
}
func (x *JobExecutionSettings) GetReadBufferMax() int32 {
if x != nil {
return x.ReadBufferMax
}
return 0
}
func (x *JobExecutionSettings) GetWriteBufferMax() int32 {
if x != nil {
return x.WriteBufferMax
}
return 0
}
func (x *JobExecutionSettings) GetWriteBatchSize() int32 {
if x != nil {
return x.WriteBatchSize
}
return 0
}
func (x *JobExecutionSettings) GetFlushIntervalMs() int32 {
if x != nil {
return x.FlushIntervalMs
}
return 0
}
// Generation preferences; storage paths remain deployment resources.
type PreviewSettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Generators []*PreviewGeneratorSettings `protobuf:"bytes,1,rep,name=generators,proto3" json:"generators,omitempty"`
Enabled bool `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled,omitempty"`
Command string `protobuf:"bytes,3,opt,name=command,proto3" json:"command,omitempty"`
Concurrency int32 `protobuf:"varint,4,opt,name=concurrency,proto3" json:"concurrency,omitempty"`
TimeoutSeconds int32 `protobuf:"varint,5,opt,name=timeout_seconds,json=timeoutSeconds,proto3" json:"timeout_seconds,omitempty"`
MaxInputPixels int64 `protobuf:"varint,6,opt,name=max_input_pixels,json=maxInputPixels,proto3" json:"max_input_pixels,omitempty"`
}
func (x *PreviewSettings) Reset() {
*x = PreviewSettings{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PreviewSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PreviewSettings) ProtoMessage() {}
func (x *PreviewSettings) ProtoReflect() protoreflect.Message {
mi := &file_settings_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PreviewSettings.ProtoReflect.Descriptor instead.
func (*PreviewSettings) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{13}
}
func (x *PreviewSettings) GetGenerators() []*PreviewGeneratorSettings {
if x != nil {
return x.Generators
}
return nil
}
func (x *PreviewSettings) GetEnabled() bool {
if x != nil {
return x.Enabled
}
return false
}
func (x *PreviewSettings) GetCommand() string {
if x != nil {
return x.Command
}
return ""
}
func (x *PreviewSettings) GetConcurrency() int32 {
if x != nil {
return x.Concurrency
}
return 0
}
func (x *PreviewSettings) GetTimeoutSeconds() int32 {
if x != nil {
return x.TimeoutSeconds
}
return 0
}
func (x *PreviewSettings) GetMaxInputPixels() int64 {
if x != nil {
return x.MaxInputPixels
}
return 0
}
// The generator routes and output choices frozen when a Job is created. Runtime limits and
// enablement remain live Settings and are intentionally absent.
type PreviewJobSettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Generators []*PreviewGeneratorSettings `protobuf:"bytes,1,rep,name=generators,proto3" json:"generators,omitempty"`
}
func (x *PreviewJobSettings) Reset() {
*x = PreviewJobSettings{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PreviewJobSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PreviewJobSettings) ProtoMessage() {}
func (x *PreviewJobSettings) ProtoReflect() protoreflect.Message {
mi := &file_settings_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PreviewJobSettings.ProtoReflect.Descriptor instead.
func (*PreviewJobSettings) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{14}
}
func (x *PreviewJobSettings) GetGenerators() []*PreviewGeneratorSettings {
if x != nil {
return x.Generators
}
return nil
}
type PreviewExtension struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Enabled bool `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled,omitempty"`
}
func (x *PreviewExtension) Reset() {
*x = PreviewExtension{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PreviewExtension) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PreviewExtension) ProtoMessage() {}
func (x *PreviewExtension) ProtoReflect() protoreflect.Message {
mi := &file_settings_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PreviewExtension.ProtoReflect.Descriptor instead.
func (*PreviewExtension) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{15}
}
func (x *PreviewExtension) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *PreviewExtension) GetEnabled() bool {
if x != nil {
return x.Enabled
}
return false
}
type PreviewGeneratorSettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
Extensions []*PreviewExtension `protobuf:"bytes,2,rep,name=extensions,proto3" json:"extensions,omitempty"`
// Types that are assignable to Options:
//
// *PreviewGeneratorSettings_Image
// *PreviewGeneratorSettings_Video
Options isPreviewGeneratorSettings_Options `protobuf_oneof:"options"`
}
func (x *PreviewGeneratorSettings) Reset() {
*x = PreviewGeneratorSettings{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PreviewGeneratorSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PreviewGeneratorSettings) ProtoMessage() {}
func (x *PreviewGeneratorSettings) ProtoReflect() protoreflect.Message {
mi := &file_settings_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PreviewGeneratorSettings.ProtoReflect.Descriptor instead.
func (*PreviewGeneratorSettings) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{16}
}
func (x *PreviewGeneratorSettings) GetEnabled() bool {
if x != nil {
return x.Enabled
}
return false
}
func (x *PreviewGeneratorSettings) GetExtensions() []*PreviewExtension {
if x != nil {
return x.Extensions
}
return nil
}
func (m *PreviewGeneratorSettings) GetOptions() isPreviewGeneratorSettings_Options {
if m != nil {
return m.Options
}
return nil
}
func (x *PreviewGeneratorSettings) GetImage() *ImagePreviewSettings {
if x, ok := x.GetOptions().(*PreviewGeneratorSettings_Image); ok {
return x.Image
}
return nil
}
func (x *PreviewGeneratorSettings) GetVideo() *VideoPreviewSettings {
if x, ok := x.GetOptions().(*PreviewGeneratorSettings_Video); ok {
return x.Video
}
return nil
}
type isPreviewGeneratorSettings_Options interface {
isPreviewGeneratorSettings_Options()
}
type PreviewGeneratorSettings_Image struct {
Image *ImagePreviewSettings `protobuf:"bytes,3,opt,name=image,proto3,oneof"`
}
type PreviewGeneratorSettings_Video struct {
Video *VideoPreviewSettings `protobuf:"bytes,4,opt,name=video,proto3,oneof"`
}
func (*PreviewGeneratorSettings_Image) isPreviewGeneratorSettings_Options() {}
func (*PreviewGeneratorSettings_Video) isPreviewGeneratorSettings_Options() {}
type ImagePreviewSettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MaxWidth int32 `protobuf:"varint,1,opt,name=max_width,json=maxWidth,proto3" json:"max_width,omitempty"`
MaxHeight int32 `protobuf:"varint,2,opt,name=max_height,json=maxHeight,proto3" json:"max_height,omitempty"`
Format string `protobuf:"bytes,3,opt,name=format,proto3" json:"format,omitempty"`
Quality int32 `protobuf:"varint,4,opt,name=quality,proto3" json:"quality,omitempty"`
}
func (x *ImagePreviewSettings) Reset() {
*x = ImagePreviewSettings{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ImagePreviewSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ImagePreviewSettings) ProtoMessage() {}
func (x *ImagePreviewSettings) ProtoReflect() protoreflect.Message {
mi := &file_settings_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ImagePreviewSettings.ProtoReflect.Descriptor instead.
func (*ImagePreviewSettings) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{17}
}
func (x *ImagePreviewSettings) GetMaxWidth() int32 {
if x != nil {
return x.MaxWidth
}
return 0
}
func (x *ImagePreviewSettings) GetMaxHeight() int32 {
if x != nil {
return x.MaxHeight
}
return 0
}
func (x *ImagePreviewSettings) GetFormat() string {
if x != nil {
return x.Format
}
return ""
}
func (x *ImagePreviewSettings) GetQuality() int32 {
if x != nil {
return x.Quality
}
return 0
}
type VideoPreviewSettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PosterWidth int32 `protobuf:"varint,1,opt,name=poster_width,json=posterWidth,proto3" json:"poster_width,omitempty"`
PosterHeight int32 `protobuf:"varint,2,opt,name=poster_height,json=posterHeight,proto3" json:"poster_height,omitempty"`
TimelineWidth int32 `protobuf:"varint,3,opt,name=timeline_width,json=timelineWidth,proto3" json:"timeline_width,omitempty"`
TimelineHeight int32 `protobuf:"varint,4,opt,name=timeline_height,json=timelineHeight,proto3" json:"timeline_height,omitempty"`
TimelineIntervalSeconds int32 `protobuf:"varint,5,opt,name=timeline_interval_seconds,json=timelineIntervalSeconds,proto3" json:"timeline_interval_seconds,omitempty"`
TimelineMaxFrames int32 `protobuf:"varint,6,opt,name=timeline_max_frames,json=timelineMaxFrames,proto3" json:"timeline_max_frames,omitempty"`
Format string `protobuf:"bytes,7,opt,name=format,proto3" json:"format,omitempty"`
Quality int32 `protobuf:"varint,8,opt,name=quality,proto3" json:"quality,omitempty"`
}
func (x *VideoPreviewSettings) Reset() {
*x = VideoPreviewSettings{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VideoPreviewSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VideoPreviewSettings) ProtoMessage() {}
func (x *VideoPreviewSettings) ProtoReflect() protoreflect.Message {
mi := &file_settings_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use VideoPreviewSettings.ProtoReflect.Descriptor instead.
func (*VideoPreviewSettings) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{18}
}
func (x *VideoPreviewSettings) GetPosterWidth() int32 {
if x != nil {
return x.PosterWidth
}
return 0
}
func (x *VideoPreviewSettings) GetPosterHeight() int32 {
if x != nil {
return x.PosterHeight
}
return 0
}
func (x *VideoPreviewSettings) GetTimelineWidth() int32 {
if x != nil {
return x.TimelineWidth
}
return 0
}
func (x *VideoPreviewSettings) GetTimelineHeight() int32 {
if x != nil {
return x.TimelineHeight
}
return 0
}
func (x *VideoPreviewSettings) GetTimelineIntervalSeconds() int32 {
if x != nil {
return x.TimelineIntervalSeconds
}
return 0
}
func (x *VideoPreviewSettings) GetTimelineMaxFrames() int32 {
if x != nil {
return x.TimelineMaxFrames
}
return 0
}
func (x *VideoPreviewSettings) GetFormat() string {
if x != nil {
return x.Format
}
return ""
}
func (x *VideoPreviewSettings) GetQuality() int32 {
if x != nil {
return x.Quality
}
return 0
}
type SettingsValue struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Value:
//
// *SettingsValue_Library
// *SettingsValue_Preview
// *SettingsValue_Job
// *SettingsValue_Device
Value isSettingsValue_Value `protobuf_oneof:"value"`
}
func (x *SettingsValue) Reset() {
*x = SettingsValue{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SettingsValue) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SettingsValue) ProtoMessage() {}
func (x *SettingsValue) ProtoReflect() protoreflect.Message {
mi := &file_settings_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SettingsValue.ProtoReflect.Descriptor instead.
func (*SettingsValue) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{19}
}
func (m *SettingsValue) GetValue() isSettingsValue_Value {
if m != nil {
return m.Value
}
return nil
}
func (x *SettingsValue) GetLibrary() *LibrarySettings {
if x, ok := x.GetValue().(*SettingsValue_Library); ok {
return x.Library
}
return nil
}
func (x *SettingsValue) GetPreview() *PreviewSettings {
if x, ok := x.GetValue().(*SettingsValue_Preview); ok {
return x.Preview
}
return nil
}
func (x *SettingsValue) GetJob() *JobSettings {
if x, ok := x.GetValue().(*SettingsValue_Job); ok {
return x.Job
}
return nil
}
func (x *SettingsValue) GetDevice() *DeviceSettings {
if x, ok := x.GetValue().(*SettingsValue_Device); ok {
return x.Device
}
return nil
}
type isSettingsValue_Value interface {
isSettingsValue_Value()
}
type SettingsValue_Library struct {
Library *LibrarySettings `protobuf:"bytes,1,opt,name=library,proto3,oneof"`
}
type SettingsValue_Preview struct {
Preview *PreviewSettings `protobuf:"bytes,2,opt,name=preview,proto3,oneof"`
}
type SettingsValue_Job struct {
Job *JobSettings `protobuf:"bytes,3,opt,name=job,proto3,oneof"`
}
type SettingsValue_Device struct {
Device *DeviceSettings `protobuf:"bytes,4,opt,name=device,proto3,oneof"`
}
func (*SettingsValue_Library) isSettingsValue_Value() {}
func (*SettingsValue_Preview) isSettingsValue_Value() {}
func (*SettingsValue_Job) isSettingsValue_Value() {}
func (*SettingsValue_Device) isSettingsValue_Value() {}
type GetSettingsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group SettingsGroup `protobuf:"varint,1,opt,name=group,proto3,enum=yatm.v1.SettingsGroup" json:"group,omitempty"`
}
func (x *GetSettingsRequest) Reset() {
*x = GetSettingsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSettingsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSettingsRequest) ProtoMessage() {}
func (x *GetSettingsRequest) ProtoReflect() protoreflect.Message {
mi := &file_settings_proto_msgTypes[20]
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 GetSettingsRequest.ProtoReflect.Descriptor instead.
func (*GetSettingsRequest) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{20}
}
func (x *GetSettingsRequest) GetGroup() SettingsGroup {
if x != nil {
return x.Group
}
return SettingsGroup_SETTINGS_GROUP_UNSPECIFIED
}
type GetSettingsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Value *SettingsValue `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
}
func (x *GetSettingsResponse) Reset() {
*x = GetSettingsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSettingsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSettingsResponse) ProtoMessage() {}
func (x *GetSettingsResponse) ProtoReflect() protoreflect.Message {
mi := &file_settings_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetSettingsResponse.ProtoReflect.Descriptor instead.
func (*GetSettingsResponse) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{21}
}
func (x *GetSettingsResponse) GetValue() *SettingsValue {
if x != nil {
return x.Value
}
return nil
}
type UpdateSettingsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Value *SettingsValue `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
}
func (x *UpdateSettingsRequest) Reset() {
*x = UpdateSettingsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateSettingsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateSettingsRequest) ProtoMessage() {}
func (x *UpdateSettingsRequest) ProtoReflect() protoreflect.Message {
mi := &file_settings_proto_msgTypes[22]
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 UpdateSettingsRequest.ProtoReflect.Descriptor instead.
func (*UpdateSettingsRequest) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{22}
}
func (x *UpdateSettingsRequest) GetValue() *SettingsValue {
if x != nil {
return x.Value
}
return nil
}
type UpdateSettingsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Value *SettingsValue `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
}
func (x *UpdateSettingsResponse) Reset() {
*x = UpdateSettingsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_settings_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateSettingsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateSettingsResponse) ProtoMessage() {}
func (x *UpdateSettingsResponse) ProtoReflect() protoreflect.Message {
mi := &file_settings_proto_msgTypes[23]
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 UpdateSettingsResponse.ProtoReflect.Descriptor instead.
func (*UpdateSettingsResponse) Descriptor() ([]byte, []int) {
return file_settings_proto_rawDescGZIP(), []int{23}
}
func (x *UpdateSettingsResponse) GetValue() *SettingsValue {
if x != nil {
return x.Value
}
return nil
}
var File_settings_proto protoreflect.FileDescriptor
var file_settings_proto_rawDesc = []byte{
0x0a, 0x0e, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x12, 0x07, 0x79, 0x61, 0x74, 0x6d, 0x2e, 0x76, 0x31, 0x1a, 0x0b, 0x6d, 0x65, 0x64, 0x69, 0x61,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x76, 0x69, 0x63,
0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2f, 0x0a, 0x07, 0x64, 0x65, 0x76,
0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x79, 0x61, 0x74,
0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x52, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x5a, 0x0a, 0x17, 0x6c, 0x65,
0x61, 0x72, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d,
0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x79, 0x61,
0x74, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x70, 0x65, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x65,
0x64, 0x52, 0x65, 0x61, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52,
0x15, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x61, 0x64, 0x50, 0x61, 0x72, 0x61,
0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0x64, 0x0a, 0x0c, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x31,
0x0a, 0x04, 0x74, 0x61, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x79,
0x61, 0x74, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x70, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63,
0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x00, 0x52, 0x04, 0x74, 0x61, 0x70,
0x65, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xdd, 0x04, 0x0a,
0x12, 0x54, 0x61, 0x70, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69,
0x6e, 0x67, 0x73, 0x12, 0x2a, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x64,
0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12,
0x49, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x79, 0x61, 0x74,
0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x57, 0x72, 0x69, 0x74, 0x65,
0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x0a, 0x72, 0x65,
0x61, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16,
0x2e, 0x79, 0x61, 0x74, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x70, 0x65, 0x52, 0x65, 0x61,
0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x09, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x64, 0x65,
0x72, 0x12, 0x48, 0x0a, 0x1e, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f,
0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x6f,
0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x1b, 0x63, 0x61, 0x70,
0x61, 0x63, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61,
0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x0f, 0x72,
0x65, 0x61, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x79, 0x61, 0x74, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54,
0x61, 0x70, 0x65, 0x52, 0x65, 0x61, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
0x73, 0x48, 0x03, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
0x65, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x15, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76,
0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18,
0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x13, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65,
0x52, 0x65, 0x61, 0x64, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12,
0x37, 0x0a, 0x15, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x6e, 0x69, 0x6e, 0x67,
0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x05,
0x52, 0x13, 0x72, 0x65, 0x61, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x65,
0x63, 0x6f, 0x6e, 0x64, 0x73, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x64, 0x65, 0x66,
0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f,
0x74, 0x61, 0x72, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x70,
0x6f, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63,
0x6f, 0x6e, 0x64, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x61,
0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x70, 0x61, 0x73,
0x73, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x69,
0x6e, 0x67, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x6e,
0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0xb7, 0x02, 0x0a,
0x19, 0x54, 0x61, 0x70, 0x65, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x61, 0x64,
0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65,
0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69,
0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x79, 0x61, 0x74, 0x6d, 0x2e, 0x76, 0x31,
0x2e, 0x54, 0x61, 0x70, 0x65, 0x52, 0x65, 0x61, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
0x65, 0x72, 0x73, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12,
0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x69, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x12, 0x33, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x62, 0x73,
0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x14, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x65, 0x5f, 0x73, 0x65, 0x63,
0x6f, 0x6e, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x65, 0x53,
0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x72,
0x72, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28,
0x01, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e,
0x64, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74,
0x5f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x64, 0x41, 0x74, 0x4e, 0x73, 0x22, 0xe5, 0x02, 0x0a, 0x12, 0x54, 0x61, 0x70, 0x65, 0x52,
0x65, 0x61, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a,
0x0a, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1e, 0x2e, 0x79, 0x61, 0x74, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x70, 0x65,
0x52, 0x65, 0x61, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
0x79, 0x52, 0x09, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x54, 0x6f, 0x12, 0x35, 0x0a, 0x08,
0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
0x2e, 0x79, 0x61, 0x74, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x70, 0x65, 0x52, 0x65, 0x61,
0x64, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x52, 0x08, 0x67, 0x65, 0x6f, 0x6d, 0x65,
0x74, 0x72, 0x79, 0x12, 0x3e, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69,
0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x79, 0x61, 0x74, 0x6d, 0x2e,
0x76, 0x31, 0x2e, 0x54, 0x61, 0x70, 0x65, 0x52, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74,
0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
0x69, 0x6e, 0x67, 0x12, 0x31, 0x0a, 0x07, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x79, 0x61, 0x74, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54,
0x61, 0x70, 0x65, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x72,
0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x79, 0x61, 0x74, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
0x54, 0x61, 0x70, 0x65, 0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69,
0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x97,
0x01, 0x0a, 0x12, 0x54, 0x61, 0x70, 0x65, 0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c,
0x65, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x11, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x73, 0x70,
0x61, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01,
0x48, 0x00, 0x52, 0x0f, 0x66, 0x75, 0x6c, 0x6c, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x65, 0x63, 0x6f,
0x6e, 0x64, 0x73, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f,
0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52,
0x0c, 0x66, 0x69, 0x78, 0x65, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x88, 0x01, 0x01,
0x42, 0x14, 0x0a, 0x12, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x73,
0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64,
0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0xe1, 0x03, 0x0a, 0x15, 0x54, 0x61, 0x70,
0x65, 0x52, 0x65, 0x61, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x69, 0x6c, 0x69,
0x74, 0x79, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x72, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69,
0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x72, 0x69, 0x76,
0x65, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x66, 0x69,
0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08,
0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x64,
0x65, 0x6e, 0x73, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0d, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65,
0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6d, 0x6f,
0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x79, 0x61, 0x74, 0x6d, 0x2e,
0x76, 0x31, 0x2e, 0x54, 0x61, 0x70, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4d, 0x6f, 0x64,
0x65, 0x48, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x88,
0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x62, 0x79, 0x74,
0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x04, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x6f,
0x72, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x14, 0x68, 0x61,
0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x13, 0x68, 0x61, 0x72, 0x64,
0x77, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x88,
0x01, 0x01, 0x12, 0x36, 0x0a, 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
0x48, 0x06, 0x52, 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c,
0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64,
0x72, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x42, 0x0b, 0x0a, 0x09, 0x5f,
0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x65, 0x6e,
0x73, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x65,
0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x65,
0x63, 0x6f, 0x72, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x68,
0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x22, 0xa8, 0x01, 0x0a,
0x10, 0x54, 0x61, 0x70, 0x65, 0x52, 0x65, 0x61, 0x64, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72,
0x79, 0x12, 0x28, 0x0a, 0x0d, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x77, 0x72, 0x61,
0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0c, 0x6e, 0x6f, 0x6d, 0x69,
0x6e, 0x61, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6d,
0x69, 0x6e, 0x5f, 0x6c, 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52,
0x07, 0x6d, 0x69, 0x6e, 0x4c, 0x70, 0x6f, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6d,
0x61, 0x78, 0x5f, 0x6c, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52,
0x07, 0x6d, 0x61, 0x78, 0x4c, 0x70, 0x6f, 0x73, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f,
0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x73, 0x42, 0x0b, 0x0a,
0x09, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x70, 0x6f, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d,
0x61, 0x78, 0x5f, 0x6c, 0x70, 0x6f, 0x73, 0x22, 0xc3, 0x05, 0x0a, 0x13, 0x54, 0x61, 0x70, 0x65,
0x52, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12,
0x26, 0x0a, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18,
0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x61, 0x73, 0x65, 0x53, 0x65, 0x63,
0x6f, 0x6e, 0x64, 0x73, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x13, 0x77, 0x72, 0x61, 0x70, 0x5f,
0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02,
0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x11, 0x77, 0x72, 0x61, 0x70, 0x43, 0x68, 0x61, 0x6e,
0x67, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x13,
0x62, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f,
0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, 0x52, 0x11, 0x62, 0x61, 0x6e,
0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x88, 0x01,
0x01, 0x12, 0x42, 0x0a, 0x1b, 0x6c, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x7a, 0x6f, 0x6e,
0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73,
0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x03, 0x52, 0x18, 0x6c, 0x61, 0x6e, 0x64, 0x69, 0x6e,
0x67, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e,
0x64, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x18, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64,
0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x48, 0x04, 0x52, 0x16, 0x64, 0x69, 0x72, 0x65, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64,
0x73, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x62, 0x61, 0x63,
0x6b, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x48,
0x05, 0x52, 0x0f, 0x73, 0x74, 0x65, 0x70, 0x42, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x63, 0x6f, 0x6e,
0x64, 0x73, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x1d, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75,
0x64, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x70, 0x65,
0x72, 0x5f, 0x6c, 0x70, 0x6f, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x48, 0x06, 0x52, 0x1a,
0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x6f,
0x6e, 0x64, 0x73, 0x50, 0x65, 0x72, 0x4c, 0x70, 0x6f, 0x73, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a,
0x1d, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x65,
0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x18, 0x09,
0x20, 0x01, 0x28, 0x01, 0x48, 0x07, 0x52, 0x1a, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64,
0x69, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x50, 0x65, 0x72, 0x57, 0x72,
0x61, 0x70, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x73,
0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x5f,
0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x42, 0x16,
0x0a, 0x14, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73,
0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x6c, 0x61, 0x6e, 0x64, 0x69,
0x6e, 0x67, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73,
0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f,
0x6e, 0x64, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x62, 0x61, 0x63,
0x6b, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x6c, 0x6f,
0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e,
0x64, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6c, 0x70, 0x6f, 0x73, 0x42, 0x20, 0x0a, 0x1e, 0x5f,
0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63,
0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x22, 0xa8, 0x02,
0x0a, 0x0e, 0x54, 0x61, 0x70, 0x65, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67,
0x12, 0x2d, 0x0a, 0x10, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65,
0x63, 0x6f, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x79,
0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12,
0x4d, 0x0a, 0x21, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x72,
0x65, 0x61, 0x64, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x65, 0x63,
0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x1d, 0x70, 0x6f,
0x73, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x76, 0x65, 0x72,
0x68, 0x65, 0x61, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3f,
0x0a, 0x19, 0x66, 0x69, 0x6c, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x68,
0x65, 0x61, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
0x01, 0x48, 0x02, 0x52, 0x17, 0x66, 0x69, 0x6c, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x4f, 0x76, 0x65,
0x72, 0x68, 0x65, 0x61, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x88, 0x01, 0x01, 0x42,
0x13, 0x0a, 0x11, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65,
0x63, 0x6f, 0x6e, 0x64, 0x42, 0x24, 0x0a, 0x22, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f,
0x63, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x65,
0x61, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x66,
0x69, 0x6c, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64,
0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x6e, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72,
0x61, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x69,
0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x75, 0x6e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f,
0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x6e, 0x63,
0x6c, 0x75, 0x64, 0x65, 0x55, 0x6e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65,
0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x5f, 0x72, 0x65, 0x6d,
0x6f, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x72, 0x6d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0x4a, 0x0a, 0x0b, 0x4a, 0x6f, 0x62, 0x53,
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3b, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x79, 0x61, 0x74,
0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f,
0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75,
0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdd, 0x01, 0x0a, 0x14, 0x4a, 0x6f, 0x62, 0x45, 0x78, 0x65, 0x63,
0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1d, 0x0a,
0x0a, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x09, 0x72, 0x65, 0x61, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x0a, 0x0f,
0x72, 0x65, 0x61, 0x64, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x61, 0x64, 0x42, 0x75, 0x66, 0x66, 0x65,
0x72, 0x4d, 0x61, 0x78, 0x12, 0x28, 0x0a, 0x10, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x62, 0x75,
0x66, 0x66, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e,
0x77, 0x72, 0x69, 0x74, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x12, 0x28,
0x0a, 0x10, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69,
0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42,
0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x6c, 0x75, 0x73,
0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x18, 0x05, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76,
0x61, 0x6c, 0x4d, 0x73, 0x22, 0xfd, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77,
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x41, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65,
0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x79,
0x61, 0x74, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x47, 0x65,
0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52,
0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12,
0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x04,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63,
0x79, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63,
0x6f, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65,
0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61,
0x78, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x73, 0x18, 0x06,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x50, 0x69,
0x78, 0x65, 0x6c, 0x73, 0x22, 0x57, 0x0a, 0x12, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x4a,
0x6f, 0x62, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x41, 0x0a, 0x0a, 0x67, 0x65,
0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21,
0x2e, 0x79, 0x61, 0x74, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77,
0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x73, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x22, 0x40, 0x0a,
0x10, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22,
0xe8, 0x01, 0x0a, 0x18, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x47, 0x65, 0x6e, 0x65, 0x72,
0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07,
0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73,
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x79, 0x61, 0x74,
0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x45, 0x78, 0x74, 0x65,
0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
0x73, 0x12, 0x35, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1d, 0x2e, 0x79, 0x61, 0x74, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65,
0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48,
0x00, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65,
0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x79, 0x61, 0x74, 0x6d, 0x2e, 0x76,
0x31, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x53, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x00, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x42,
0x09, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x14, 0x49,
0x6d, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x53, 0x65, 0x74, 0x74, 0x69,
0x6e, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x57, 0x69, 0x64, 0x74, 0x68,
0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12,
0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69,
0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74,
0x79, 0x22, 0xcc, 0x02, 0x0a, 0x14, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x50, 0x72, 0x65, 0x76, 0x69,
0x65, 0x77, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6f,
0x73, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x23, 0x0a,
0x0d, 0x70, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x69, 0x67,
0x68, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x77,
0x69, 0x64, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65,
0x6c, 0x69, 0x6e, 0x65, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x69, 0x6d,
0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x48, 0x65, 0x69, 0x67,
0x68, 0x74, 0x12, 0x3a, 0x0a, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69,
0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18,
0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x74, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x49,
0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x2e,
0x0a, 0x13, 0x74, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x66,
0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x74, 0x69, 0x6d,
0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4d, 0x61, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x16,
0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74,
0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79,
0x22, 0xe1, 0x01, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x79, 0x61, 0x74, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69,
0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x00, 0x52,
0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x76,
0x69, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x79, 0x61, 0x74, 0x6d,
0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x53, 0x65, 0x74, 0x74, 0x69,
0x6e, 0x67, 0x73, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x28,
0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x79, 0x61,
0x74, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x73, 0x48, 0x00, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x31, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69,
0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x79, 0x61, 0x74, 0x6d, 0x2e,
0x76, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x73, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x22, 0x42, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69,
0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x05, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x79, 0x61, 0x74, 0x6d,
0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x43, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53,
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
0x2e, 0x79, 0x61, 0x74, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x45, 0x0a,
0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x79, 0x61, 0x74, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x22, 0x46, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e,
0x79, 0x61, 0x74, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2a, 0x9a, 0x01, 0x0a,
0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1e,
0x0a, 0x1a, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x53, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50,
0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a,
0x0a, 0x16, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x53, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50,
0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x45,
0x54, 0x54, 0x49, 0x4e, 0x47, 0x53, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x52, 0x45,
0x56, 0x49, 0x45, 0x57, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e,
0x47, 0x53, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4a, 0x4f, 0x42, 0x10, 0x03, 0x12, 0x19,
0x0a, 0x15, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x53, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50,
0x5f, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x10, 0x04, 0x2a, 0x67, 0x0a, 0x0d, 0x54, 0x61, 0x70,
0x65, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x41,
0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x55, 0x4e,
0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x54,
0x41, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x4c,
0x4f, 0x47, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x41, 0x50, 0x45,
0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x41, 0x55, 0x54, 0x4f,
0x10, 0x02, 0x32, 0xa2, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53,
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x1b, 0x2e,
0x79, 0x61, 0x74, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69,
0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x79, 0x61, 0x74,
0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x06, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x2e, 0x79, 0x61, 0x74, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x79, 0x61, 0x74, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x2a, 0x5a, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75,
0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x61, 0x6d, 0x75, 0x65, 0x6c, 0x6e, 0x63, 0x75, 0x69,
0x2f, 0x79, 0x61, 0x74, 0x6d, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3b, 0x65, 0x6e, 0x74,
0x69, 0x74, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_settings_proto_rawDescOnce sync.Once
file_settings_proto_rawDescData = file_settings_proto_rawDesc
)
func file_settings_proto_rawDescGZIP() []byte {
file_settings_proto_rawDescOnce.Do(func() {
file_settings_proto_rawDescData = protoimpl.X.CompressGZIP(file_settings_proto_rawDescData)
})
return file_settings_proto_rawDescData
}
var file_settings_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_settings_proto_msgTypes = make([]protoimpl.MessageInfo, 24)
var file_settings_proto_goTypes = []interface{}{
(SettingsGroup)(0), // 0: yatm.v1.SettingsGroup
(TapeReadOrder)(0), // 1: yatm.v1.TapeReadOrder
(*DeviceSettings)(nil), // 2: yatm.v1.DeviceSettings
(*DeviceConfig)(nil), // 3: yatm.v1.DeviceConfig
(*TapeDeviceSettings)(nil), // 4: yatm.v1.TapeDeviceSettings
(*TapeLearnedReadParameters)(nil), // 5: yatm.v1.TapeLearnedReadParameters
(*TapeReadParameters)(nil), // 6: yatm.v1.TapeReadParameters
(*TapeReadCompletion)(nil), // 7: yatm.v1.TapeReadCompletion
(*TapeReadApplicability)(nil), // 8: yatm.v1.TapeReadApplicability
(*TapeReadGeometry)(nil), // 9: yatm.v1.TapeReadGeometry
(*TapeReadPositioning)(nil), // 10: yatm.v1.TapeReadPositioning
(*TapeReadTiming)(nil), // 11: yatm.v1.TapeReadTiming
(*LibrarySettings)(nil), // 12: yatm.v1.LibrarySettings
(*JobSettings)(nil), // 13: yatm.v1.JobSettings
(*JobExecutionSettings)(nil), // 14: yatm.v1.JobExecutionSettings
(*PreviewSettings)(nil), // 15: yatm.v1.PreviewSettings
(*PreviewJobSettings)(nil), // 16: yatm.v1.PreviewJobSettings
(*PreviewExtension)(nil), // 17: yatm.v1.PreviewExtension
(*PreviewGeneratorSettings)(nil), // 18: yatm.v1.PreviewGeneratorSettings
(*ImagePreviewSettings)(nil), // 19: yatm.v1.ImagePreviewSettings
(*VideoPreviewSettings)(nil), // 20: yatm.v1.VideoPreviewSettings
(*SettingsValue)(nil), // 21: yatm.v1.SettingsValue
(*GetSettingsRequest)(nil), // 22: yatm.v1.GetSettingsRequest
(*GetSettingsResponse)(nil), // 23: yatm.v1.GetSettingsResponse
(*UpdateSettingsRequest)(nil), // 24: yatm.v1.UpdateSettingsRequest
(*UpdateSettingsResponse)(nil), // 25: yatm.v1.UpdateSettingsResponse
(*TarWriteOptions)(nil), // 26: yatm.v1.TarWriteOptions
(TapeRecordMode)(0), // 27: yatm.v1.TapeRecordMode
}
var file_settings_proto_depIdxs = []int32{
3, // 0: yatm.v1.DeviceSettings.devices:type_name -> yatm.v1.DeviceConfig
5, // 1: yatm.v1.DeviceSettings.learned_read_parameters:type_name -> yatm.v1.TapeLearnedReadParameters
4, // 2: yatm.v1.DeviceConfig.tape:type_name -> yatm.v1.TapeDeviceSettings
26, // 3: yatm.v1.TapeDeviceSettings.tar_write_options:type_name -> yatm.v1.TarWriteOptions
1, // 4: yatm.v1.TapeDeviceSettings.read_order:type_name -> yatm.v1.TapeReadOrder
6, // 5: yatm.v1.TapeDeviceSettings.read_parameters:type_name -> yatm.v1.TapeReadParameters
6, // 6: yatm.v1.TapeLearnedReadParameters.parameters:type_name -> yatm.v1.TapeReadParameters
8, // 7: yatm.v1.TapeReadParameters.applies_to:type_name -> yatm.v1.TapeReadApplicability
9, // 8: yatm.v1.TapeReadParameters.geometry:type_name -> yatm.v1.TapeReadGeometry
10, // 9: yatm.v1.TapeReadParameters.positioning:type_name -> yatm.v1.TapeReadPositioning
11, // 10: yatm.v1.TapeReadParameters.reading:type_name -> yatm.v1.TapeReadTiming
7, // 11: yatm.v1.TapeReadParameters.completion:type_name -> yatm.v1.TapeReadCompletion
27, // 12: yatm.v1.TapeReadApplicability.record_mode:type_name -> yatm.v1.TapeRecordMode
14, // 13: yatm.v1.JobSettings.execution:type_name -> yatm.v1.JobExecutionSettings
18, // 14: yatm.v1.PreviewSettings.generators:type_name -> yatm.v1.PreviewGeneratorSettings
18, // 15: yatm.v1.PreviewJobSettings.generators:type_name -> yatm.v1.PreviewGeneratorSettings
17, // 16: yatm.v1.PreviewGeneratorSettings.extensions:type_name -> yatm.v1.PreviewExtension
19, // 17: yatm.v1.PreviewGeneratorSettings.image:type_name -> yatm.v1.ImagePreviewSettings
20, // 18: yatm.v1.PreviewGeneratorSettings.video:type_name -> yatm.v1.VideoPreviewSettings
12, // 19: yatm.v1.SettingsValue.library:type_name -> yatm.v1.LibrarySettings
15, // 20: yatm.v1.SettingsValue.preview:type_name -> yatm.v1.PreviewSettings
13, // 21: yatm.v1.SettingsValue.job:type_name -> yatm.v1.JobSettings
2, // 22: yatm.v1.SettingsValue.device:type_name -> yatm.v1.DeviceSettings
0, // 23: yatm.v1.GetSettingsRequest.group:type_name -> yatm.v1.SettingsGroup
21, // 24: yatm.v1.GetSettingsResponse.value:type_name -> yatm.v1.SettingsValue
21, // 25: yatm.v1.UpdateSettingsRequest.value:type_name -> yatm.v1.SettingsValue
21, // 26: yatm.v1.UpdateSettingsResponse.value:type_name -> yatm.v1.SettingsValue
22, // 27: yatm.v1.SettingsService.Get:input_type -> yatm.v1.GetSettingsRequest
24, // 28: yatm.v1.SettingsService.Update:input_type -> yatm.v1.UpdateSettingsRequest
23, // 29: yatm.v1.SettingsService.Get:output_type -> yatm.v1.GetSettingsResponse
25, // 30: yatm.v1.SettingsService.Update:output_type -> yatm.v1.UpdateSettingsResponse
29, // [29:31] is the sub-list for method output_type
27, // [27:29] is the sub-list for method input_type
27, // [27:27] is the sub-list for extension type_name
27, // [27:27] is the sub-list for extension extendee
0, // [0:27] is the sub-list for field type_name
}
func init() { file_settings_proto_init() }
func file_settings_proto_init() {
if File_settings_proto != nil {
return
}
file_media_proto_init()
if !protoimpl.UnsafeEnabled {
file_settings_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeviceSettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeviceConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TapeDeviceSettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TapeLearnedReadParameters); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TapeReadParameters); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TapeReadCompletion); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TapeReadApplicability); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TapeReadGeometry); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TapeReadPositioning); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TapeReadTiming); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LibrarySettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*JobSettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*JobExecutionSettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PreviewSettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PreviewJobSettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PreviewExtension); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PreviewGeneratorSettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ImagePreviewSettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*VideoPreviewSettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SettingsValue); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSettingsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSettingsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateSettingsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_settings_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateSettingsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_settings_proto_msgTypes[1].OneofWrappers = []interface{}{
(*DeviceConfig_Tape)(nil),
}
file_settings_proto_msgTypes[2].OneofWrappers = []interface{}{}
file_settings_proto_msgTypes[5].OneofWrappers = []interface{}{}
file_settings_proto_msgTypes[6].OneofWrappers = []interface{}{}
file_settings_proto_msgTypes[7].OneofWrappers = []interface{}{}
file_settings_proto_msgTypes[8].OneofWrappers = []interface{}{}
file_settings_proto_msgTypes[9].OneofWrappers = []interface{}{}
file_settings_proto_msgTypes[16].OneofWrappers = []interface{}{
(*PreviewGeneratorSettings_Image)(nil),
(*PreviewGeneratorSettings_Video)(nil),
}
file_settings_proto_msgTypes[19].OneofWrappers = []interface{}{
(*SettingsValue_Library)(nil),
(*SettingsValue_Preview)(nil),
(*SettingsValue_Job)(nil),
(*SettingsValue_Device)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_settings_proto_rawDesc,
NumEnums: 2,
NumMessages: 24,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_settings_proto_goTypes,
DependencyIndexes: file_settings_proto_depIdxs,
EnumInfos: file_settings_proto_enumTypes,
MessageInfos: file_settings_proto_msgTypes,
}.Build()
File_settings_proto = out.File
file_settings_proto_rawDesc = nil
file_settings_proto_goTypes = nil
file_settings_proto_depIdxs = nil
}