text: /*
  Copyright 2018 The Kubernetes Authors.
  
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at
  
      http://www.apache.org/licenses/LICENSE-2.0
  
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
  */
  
  // Code generated by protoc-gen-gogo.
  // source: k8s.io/kubernetes/vendor/k8s.io/api/autoscaling/v2beta1/generated.proto
  // DO NOT EDIT!
  
  /*
  	Package v2beta1 is a generated protocol buffer package.
  
  	It is generated from these files:
  		k8s.io/kubernetes/vendor/k8s.io/api/autoscaling/v2beta1/generated.proto
  
  	It has these top-level messages:
  		CrossVersionObjectReference
  		HorizontalPodAutoscaler
  		HorizontalPodAutoscalerCondition
  		HorizontalPodAutoscalerList
  		HorizontalPodAutoscalerSpec
  		HorizontalPodAutoscalerStatus
  		MetricSpec
  		MetricStatus
  		ObjectMetricSource
  		ObjectMetricStatus
  		PodsMetricSource
  		PodsMetricStatus
  		ResourceMetricSource
  		ResourceMetricStatus
  */
  package v2beta1
  
  import proto "github.com/gogo/protobuf/proto"
  import fmt "fmt"
  import math "math"
  
  import k8s_io_apimachinery_pkg_api_resource "k8s.io/apimachinery/pkg/api/resource"
  import k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
  
  import k8s_io_api_core_v1 "k8s.io/api/core/v1"
  
  import strings "strings"
  import reflect "reflect"
  
  import io "io"
  
  // Reference imports to suppress errors if they are not otherwise used.
  var _ = proto.Marshal
  var _ = fmt.Errorf
  var _ = math.Inf
  
  // This is a compile-time assertion to ensure that this generated file
  // is compatible with the proto package it is being compiled against.
  // A compilation error at this line likely means your copy of the
  // proto package needs to be updated.
  const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
  
  func (m *CrossVersionObjectReference) Reset()      { *m = CrossVersionObjectReference{} }
  func (*CrossVersionObjectReference) ProtoMessage() {}
  func (*CrossVersionObjectReference) Descriptor() ([]byte, []int) {
  	return fileDescriptorGenerated, []int{0}
  }
  
  func (m *HorizontalPodAutoscaler) Reset()                    { *m = HorizontalPodAutoscaler{} }
  func (*HorizontalPodAutoscaler) ProtoMessage()               {}
  func (*HorizontalPodAutoscaler) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} }
  
  func (m *HorizontalPodAutoscalerCondition) Reset()      { *m = HorizontalPodAutoscalerCondition{} }
  func (*HorizontalPodAutoscalerCondition) ProtoMessage() {}
  func (*HorizontalPodAutoscalerCondition) Descriptor() ([]byte, []int) {
  	return fileDescriptorGenerated, []int{2}
  }
  
  func (m *HorizontalPodAutoscalerList) Reset()      { *m = HorizontalPodAutoscalerList{} }
  func (*HorizontalPodAutoscalerList) ProtoMessage() {}
  func (*HorizontalPodAutoscalerList) Descriptor() ([]byte, []int) {
  	return fileDescriptorGenerated, []int{3}
  }
  
  func (m *HorizontalPodAutoscalerSpec) Reset()      { *m = HorizontalPodAutoscalerSpec{} }
  func (*HorizontalPodAutoscalerSpec) ProtoMessage() {}
  func (*HorizontalPodAutoscalerSpec) Descriptor() ([]byte, []int) {
  	return fileDescriptorGenerated, []int{4}
  }
  
  func (m *HorizontalPodAutoscalerStatus) Reset()      { *m = HorizontalPodAutoscalerStatus{} }
  func (*HorizontalPodAutoscalerStatus) ProtoMessage() {}
  func (*HorizontalPodAutoscalerStatus) Descriptor() ([]byte, []int) {
  	return fileDescriptorGenerated, []int{5}
  }
  
  func (m *MetricSpec) Reset()                    { *m = MetricSpec{} }
  func (*MetricSpec) ProtoMessage()               {}
  func (*MetricSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} }
  
  func (m *MetricStatus) Reset()                    { *m = MetricStatus{} }
  func (*MetricStatus) ProtoMessage()               {}
  func (*MetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} }
  
  func (m *ObjectMetricSource) Reset()                    { *m = ObjectMetricSource{} }
  func (*ObjectMetricSource) ProtoMessage()               {}
  func (*ObjectMetricSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} }
  
  func (m *ObjectMetricStatus) Reset()                    { *m = ObjectMetricStatus{} }
  func (*ObjectMetricStatus) ProtoMessage()               {}
  func (*ObjectMetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} }
  
  func (m *PodsMetricSource) Reset()                    { *m = PodsMetricSource{} }
  func (*PodsMetricSource) ProtoMessage()               {}
  func (*PodsMetricSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} }
  
  func (m *PodsMetricStatus) Reset()                    { *m = PodsMetricStatus{} }
  func (*PodsMetricStatus) ProtoMessage()               {}
  func (*PodsMetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} }
  
  func (m *ResourceMetricSource) Reset()                    { *m = ResourceMetricSource{} }
  func (*ResourceMetricSource) ProtoMessage()               {}
  func (*ResourceMetricSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} }
  
  func (m *ResourceMetricStatus) Reset()                    { *m = ResourceMetricStatus{} }
  func (*ResourceMetricStatus) ProtoMessage()               {}
  func (*ResourceMetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} }
  
  func init() {
  	proto.RegisterType((*CrossVersionObjectReference)(nil), "k8s.io.api.autoscaling.v2beta1.CrossVersionObjectReference")
  	proto.RegisterType((*HorizontalPodAutoscaler)(nil), "k8s.io.api.autoscaling.v2beta1.HorizontalPodAutoscaler")
  	proto.RegisterType((*HorizontalPodAutoscalerCondition)(nil), "k8s.io.api.autoscaling.v2beta1.HorizontalPodAutoscalerCondition")
  	proto.RegisterType((*HorizontalPodAutoscalerList)(nil), "k8s.io.api.autoscaling.v2beta1.HorizontalPodAutoscalerList")
  	proto.RegisterType((*HorizontalPodAutoscalerSpec)(nil), "k8s.io.api.autoscaling.v2beta1.HorizontalPodAutoscalerSpec")
  	proto.RegisterType((*HorizontalPodAutoscalerStatus)(nil), "k8s.io.api.autoscaling.v2beta1.HorizontalPodAutoscalerStatus")
  	proto.RegisterType((*MetricSpec)(nil), "k8s.io.api.autoscaling.v2beta1.MetricSpec")
  	proto.RegisterType((*MetricStatus)(nil), "k8s.io.api.autoscaling.v2beta1.MetricStatus")
  	proto.RegisterType((*ObjectMetricSource)(nil), "k8s.io.api.autoscaling.v2beta1.ObjectMetricSource")
  	proto.RegisterType((*ObjectMetricStatus)(nil), "k8s.io.api.autoscaling.v2beta1.ObjectMetricStatus")
  	proto.RegisterType((*PodsMetricSource)(nil), "k8s.io.api.autoscaling.v2beta1.PodsMetricSource")
  	proto.RegisterType((*PodsMetricStatus)(nil), "k8s.io.api.autoscaling.v2beta1.PodsMetricStatus")
  	proto.RegisterType((*ResourceMetricSource)(nil), "k8s.io.api.autoscaling.v2beta1.ResourceMetricSource")
  	proto.RegisterType((*ResourceMetricStatus)(nil), "k8s.io.api.autoscaling.v2beta1.ResourceMetricStatus")
  }
  func (m *CrossVersionObjectReference) Marshal() (dAtA []byte, err error) {
  	size := m.Size()
  	dAtA = make([]byte, size)
  	n, err := m.MarshalTo(dAtA)
  	if err != nil {
  		return nil, err
  	}
  	return dAtA[:n], nil
  }
  
  func (m *CrossVersionObjectReference) MarshalTo(dAtA []byte) (int, error) {
  	var i int
  	_ = i
  	var l int
  	_ = l
  	dAtA[i] = 0xa
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(len(m.Kind)))
  	i += copy(dAtA[i:], m.Kind)
  	dAtA[i] = 0x12
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
  	i += copy(dAtA[i:], m.Name)
  	dAtA[i] = 0x1a
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(len(m.APIVersion)))
  	i += copy(dAtA[i:], m.APIVersion)
  	return i, nil
  }
  
  func (m *HorizontalPodAutoscaler) Marshal() (dAtA []byte, err error) {
  	size := m.Size()
  	dAtA = make([]byte, size)
  	n, err := m.MarshalTo(dAtA)
  	if err != nil {
  		return nil, err
  	}
  	return dAtA[:n], nil
  }
  
  func (m *HorizontalPodAutoscaler) MarshalTo(dAtA []byte) (int, error) {
  	var i int
  	_ = i
  	var l int
  	_ = l
  	dAtA[i] = 0xa
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size()))
  	n1, err := m.ObjectMeta.MarshalTo(dAtA[i:])
  	if err != nil {
  		return 0, err
  	}
  	i += n1
  	dAtA[i] = 0x12
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size()))
  	n2, err := m.Spec.MarshalTo(dAtA[i:])
  	if err != nil {
  		return 0, err
  	}
  	i += n2
  	dAtA[i] = 0x1a
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size()))
  	n3, err := m.Status.MarshalTo(dAtA[i:])
  	if err != nil {
  		return 0, err
  	}
  	i += n3
  	return i, nil
  }
  
  func (m *HorizontalPodAutoscalerCondition) Marshal() (dAtA []byte, err error) {
  	size := m.Size()
  	dAtA = make([]byte, size)
  	n, err := m.MarshalTo(dAtA)
  	if err != nil {
  		return nil, err
  	}
  	return dAtA[:n], nil
  }
  
  func (m *HorizontalPodAutoscalerCondition) MarshalTo(dAtA []byte) (int, error) {
  	var i int
  	_ = i
  	var l int
  	_ = l
  	dAtA[i] = 0xa
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type)))
  	i += copy(dAtA[i:], m.Type)
  	dAtA[i] = 0x12
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(len(m.Status)))
  	i += copy(dAtA[i:], m.Status)
  	dAtA[i] = 0x1a
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size()))
  	n4, err := m.LastTransitionTime.MarshalTo(dAtA[i:])
  	if err != nil {
  		return 0, err
  	}
  	i += n4
  	dAtA[i] = 0x22
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason)))
  	i += copy(dAtA[i:], m.Reason)
  	dAtA[i] = 0x2a
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message)))
  	i += copy(dAtA[i:], m.Message)
  	return i, nil
  }
  
  func (m *HorizontalPodAutoscalerList) Marshal() (dAtA []byte, err error) {
  	size := m.Size()
  	dAtA = make([]byte, size)
  	n, err := m.MarshalTo(dAtA)
  	if err != nil {
  		return nil, err
  	}
  	return dAtA[:n], nil
  }
  
  func (m *HorizontalPodAutoscalerList) MarshalTo(dAtA []byte) (int, error) {
  	var i int
  	_ = i
  	var l int
  	_ = l
  	dAtA[i] = 0xa
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size()))
  	n5, err := m.ListMeta.MarshalTo(dAtA[i:])
  	if err != nil {
  		return 0, err
  	}
  	i += n5
  	if len(m.Items) > 0 {
  		for _, msg := range m.Items {
  			dAtA[i] = 0x12
  			i++
  			i = encodeVarintGenerated(dAtA, i, uint64(msg.Size()))
  			n, err := msg.MarshalTo(dAtA[i:])
  			if err != nil {
  				return 0, err
  			}
  			i += n
  		}
  	}
  	return i, nil
  }
  
  func (m *HorizontalPodAutoscalerSpec) Marshal() (dAtA []byte, err error) {
  	size := m.Size()
  	dAtA = make([]byte, size)
  	n, err := m.MarshalTo(dAtA)
  	if err != nil {
  		return nil, err
  	}
  	return dAtA[:n], nil
  }
  
  func (m *HorizontalPodAutoscalerSpec) MarshalTo(dAtA []byte) (int, error) {
  	var i int
  	_ = i
  	var l int
  	_ = l
  	dAtA[i] = 0xa
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(m.ScaleTargetRef.Size()))
  	n6, err := m.ScaleTargetRef.MarshalTo(dAtA[i:])
  	if err != nil {
  		return 0, err
  	}
  	i += n6
  	if m.MinReplicas != nil {
  		dAtA[i] = 0x10
  		i++
  		i = encodeVarintGenerated(dAtA, i, uint64(*m.MinReplicas))
  	}
  	dAtA[i] = 0x18
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(m.MaxReplicas))
  	if len(m.Metrics) > 0 {
  		for _, msg := range m.Metrics {
  			dAtA[i] = 0x22
  			i++
  			i = encodeVarintGenerated(dAtA, i, uint64(msg.Size()))
  			n, err := msg.MarshalTo(dAtA[i:])
  			if err != nil {
  				return 0, err
  			}
  			i += n
  		}
  	}
  	return i, nil
  }
  
  func (m *HorizontalPodAutoscalerStatus) Marshal() (dAtA []byte, err error) {
  	size := m.Size()
  	dAtA = make([]byte, size)
  	n, err := m.MarshalTo(dAtA)
  	if err != nil {
  		return nil, err
  	}
  	return dAtA[:n], nil
  }
  
  func (m *HorizontalPodAutoscalerStatus) MarshalTo(dAtA []byte) (int, error) {
  	var i int
  	_ = i
  	var l int
  	_ = l
  	if m.ObservedGeneration != nil {
  		dAtA[i] = 0x8
  		i++
  		i = encodeVarintGenerated(dAtA, i, uint64(*m.ObservedGeneration))
  	}
  	if m.LastScaleTime != nil {
  		dAtA[i] = 0x12
  		i++
  		i = encodeVarintGenerated(dAtA, i, uint64(m.LastScaleTime.Size()))
  		n7, err := m.LastScaleTime.MarshalTo(dAtA[i:])
  		if err != nil {
  			return 0, err
  		}
  		i += n7
  	}
  	dAtA[i] = 0x18
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentReplicas))
  	dAtA[i] = 0x20
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(m.DesiredReplicas))
  	if len(m.CurrentMetrics) > 0 {
  		for _, msg := range m.CurrentMetrics {
  			dAtA[i] = 0x2a
  			i++
  			i = encodeVarintGenerated(dAtA, i, uint64(msg.Size()))
  			n, err := msg.MarshalTo(dAtA[i:])
  			if err != nil {
  				return 0, err
  			}
  			i += n
  		}
  	}
  	if len(m.Conditions) > 0 {
  		for _, msg := range m.Conditions {
  			dAtA[i] = 0x32
  			i++
  			i = encodeVarintGenerated(dAtA, i, uint64(msg.Size()))
  			n, err := msg.MarshalTo(dAtA[i:])
  			if err != nil {
  				return 0, err
  			}
  			i += n
  		}
  	}
  	return i, nil
  }
  
  func (m *MetricSpec) Marshal() (dAtA []byte, err error) {
  	size := m.Size()
  	dAtA = make([]byte, size)
  	n, err := m.MarshalTo(dAtA)
  	if err != nil {
  		return nil, err
  	}
  	return dAtA[:n], nil
  }
  
  func (m *MetricSpec) MarshalTo(dAtA []byte) (int, error) {
  	var i int
  	_ = i
  	var l int
  	_ = l
  	dAtA[i] = 0xa
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type)))
  	i += copy(dAtA[i:], m.Type)
  	if m.Object != nil {
  		dAtA[i] = 0x12
  		i++
  		i = encodeVarintGenerated(dAtA, i, uint64(m.Object.Size()))
  		n8, err := m.Object.MarshalTo(dAtA[i:])
  		if err != nil {
  			return 0, err
  		}
  		i += n8
  	}
  	if m.Pods != nil {
  		dAtA[i] = 0x1a
  		i++
  		i = encodeVarintGenerated(dAtA, i, uint64(m.Pods.Size()))
  		n9, err := m.Pods.MarshalTo(dAtA[i:])
  		if err != nil {
  			return 0, err
  		}
  		i += n9
  	}
  	if m.Resource != nil {
  		dAtA[i] = 0x22
  		i++
  		i = encodeVarintGenerated(dAtA, i, uint64(m.Resource.Size()))
  		n10, err := m.Resource.MarshalTo(dAtA[i:])
  		if err != nil {
  			return 0, err
  		}
  		i += n10
  	}
  	return i, nil
  }
  
  func (m *MetricStatus) Marshal() (dAtA []byte, err error) {
  	size := m.Size()
  	dAtA = make([]byte, size)
  	n, err := m.MarshalTo(dAtA)
  	if err != nil {
  		return nil, err
  	}
  	return dAtA[:n], nil
  }
  
  func (m *MetricStatus) MarshalTo(dAtA []byte) (int, error) {
  	var i int
  	_ = i
  	var l int
  	_ = l
  	dAtA[i] = 0xa
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type)))
  	i += copy(dAtA[i:], m.Type)
  	if m.Object != nil {
  		dAtA[i] = 0x12
  		i++
  		i = encodeVarintGenerated(dAtA, i, uint64(m.Object.Size()))
  		n11, err := m.Object.MarshalTo(dAtA[i:])
  		if err != nil {
  			return 0, err
  		}
  		i += n11
  	}
  	if m.Pods != nil {
  		dAtA[i] = 0x1a
  		i++
  		i = encodeVarintGenerated(dAtA, i, uint64(m.Pods.Size()))
  		n12, err := m.Pods.MarshalTo(dAtA[i:])
  		if err != nil {
  			return 0, err
  		}
  		i += n12
  	}
  	if m.Resource != nil {
  		dAtA[i] = 0x22
  		i++
  		i = encodeVarintGenerated(dAtA, i, uint64(m.Resource.Size()))
  		n13, err := m.Resource.MarshalTo(dAtA[i:])
  		if err != nil {
  			return 0, err
  		}
  		i += n13
  	}
  	return i, nil
  }
  
  func (m *ObjectMetricSource) Marshal() (dAtA []byte, err error) {
  	size := m.Size()
  	dAtA = make([]byte, size)
  	n, err := m.MarshalTo(dAtA)
  	if err != nil {
  		return nil, err
  	}
  	return dAtA[:n], nil
  }
  
  func (m *ObjectMetricSource) MarshalTo(dAtA []byte) (int, error) {
  	var i int
  	_ = i
  	var l int
  	_ = l
  	dAtA[i] = 0xa
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(m.Target.Size()))
  	n14, err := m.Target.MarshalTo(dAtA[i:])
  	if err != nil {
  		return 0, err
  	}
  	i += n14
  	dAtA[i] = 0x12
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName)))
  	i += copy(dAtA[i:], m.MetricName)
  	dAtA[i] = 0x1a
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(m.TargetValue.Size()))
  	n15, err := m.TargetValue.MarshalTo(dAtA[i:])
  	if err != nil {
  		return 0, err
  	}
  	i += n15
  	return i, nil
  }
  
  func (m *ObjectMetricStatus) Marshal() (dAtA []byte, err error) {
  	size := m.Size()
  	dAtA = make([]byte, size)
  	n, err := m.MarshalTo(dAtA)
  	if err != nil {
  		return nil, err
  	}
  	return dAtA[:n], nil
  }
  
  func (m *ObjectMetricStatus) MarshalTo(dAtA []byte) (int, error) {
  	var i int
  	_ = i
  	var l int
  	_ = l
  	dAtA[i] = 0xa
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(m.Target.Size()))
  	n16, err := m.Target.MarshalTo(dAtA[i:])
  	if err != nil {
  		return 0, err
  	}
  	i += n16
  	dAtA[i] = 0x12
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName)))
  	i += copy(dAtA[i:], m.MetricName)
  	dAtA[i] = 0x1a
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentValue.Size()))
  	n17, err := m.CurrentValue.MarshalTo(dAtA[i:])
  	if err != nil {
  		return 0, err
  	}
  	i += n17
  	return i, nil
  }
  
  func (m *PodsMetricSource) Marshal() (dAtA []byte, err error) {
  	size := m.Size()
  	dAtA = make([]byte, size)
  	n, err := m.MarshalTo(dAtA)
  	if err != nil {
  		return nil, err
  	}
  	return dAtA[:n], nil
  }
  
  func (m *PodsMetricSource) MarshalTo(dAtA []byte) (int, error) {
  	var i int
  	_ = i
  	var l int
  	_ = l
  	dAtA[i] = 0xa
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName)))
  	i += copy(dAtA[i:], m.MetricName)
  	dAtA[i] = 0x12
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(m.TargetAverageValue.Size()))
  	n18, err := m.TargetAverageValue.MarshalTo(dAtA[i:])
  	if err != nil {
  		return 0, err
  	}
  	i += n18
  	return i, nil
  }
  
  func (m *PodsMetricStatus) Marshal() (dAtA []byte, err error) {
  	size := m.Size()
  	dAtA = make([]byte, size)
  	n, err := m.MarshalTo(dAtA)
  	if err != nil {
  		return nil, err
  	}
  	return dAtA[:n], nil
  }
  
  func (m *PodsMetricStatus) MarshalTo(dAtA []byte) (int, error) {
  	var i int
  	_ = i
  	var l int
  	_ = l
  	dAtA[i] = 0xa
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName)))
  	i += copy(dAtA[i:], m.MetricName)
  	dAtA[i] = 0x12
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentAverageValue.Size()))
  	n19, err := m.CurrentAverageValue.MarshalTo(dAtA[i:])
  	if err != nil {
  		return 0, err
  	}
  	i += n19
  	return i, nil
  }
  
  func (m *ResourceMetricSource) Marshal() (dAtA []byte, err error) {
  	size := m.Size()
  	dAtA = make([]byte, size)
  	n, err := m.MarshalTo(dAtA)
  	if err != nil {
  		return nil, err
  	}
  	return dAtA[:n], nil
  }
  
  func (m *ResourceMetricSource) MarshalTo(dAtA []byte) (int, error) {
  	var i int
  	_ = i
  	var l int
  	_ = l
  	dAtA[i] = 0xa
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
  	i += copy(dAtA[i:], m.Name)
  	if m.TargetAverageUtilization != nil {
  		dAtA[i] = 0x10
  		i++
  		i = encodeVarintGenerated(dAtA, i, uint64(*m.TargetAverageUtilization))
  	}
  	if m.TargetAverageValue != nil {
  		dAtA[i] = 0x1a
  		i++
  		i = encodeVarintGenerated(dAtA, i, uint64(m.TargetAverageValue.Size()))
  		n20, err := m.TargetAverageValue.MarshalTo(dAtA[i:])
  		if err != nil {
  			return 0, err
  		}
  		i += n20
  	}
  	return i, nil
  }
  
  func (m *ResourceMetricStatus) Marshal() (dAtA []byte, err error) {
  	size := m.Size()
  	dAtA = make([]byte, size)
  	n, err := m.MarshalTo(dAtA)
  	if err != nil {
  		return nil, err
  	}
  	return dAtA[:n], nil
  }
  
  func (m *ResourceMetricStatus) MarshalTo(dAtA []byte) (int, error) {
  	var i int
  	_ = i
  	var l int
  	_ = l
  	dAtA[i] = 0xa
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
  	i += copy(dAtA[i:], m.Name)
  	if m.CurrentAverageUtilization != nil {
  		dAtA[i] = 0x10
  		i++
  		i = encodeVarintGenerated(dAtA, i, uint64(*m.CurrentAverageUtilization))
  	}
  	dAtA[i] = 0x1a
  	i++
  	i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentAverageValue.Size()))
  	n21, err := m.CurrentAverageValue.MarshalTo(dAtA[i:])
  	if err != nil {
  		return 0, err
  	}
  	i += n21
  	return i, nil
  }
  
  func encodeFixed64Generated(dAtA []byte, offset int, v uint64) int {
  	dAtA[offset] = uint8(v)
  	dAtA[offset+1] = uint8(v >> 8)
  	dAtA[offset+2] = uint8(v >> 16)
  	dAtA[offset+3] = uint8(v >> 24)
  	dAtA[offset+4] = uint8(v >> 32)
  	dAtA[offset+5] = uint8(v >> 40)
  	dAtA[offset+6] = uint8(v >> 48)
  	dAtA[offset+7] = uint8(v >> 56)
  	return offset + 8
  }
  func encodeFixed32Generated(dAtA []byte, offset int, v uint32) int {
  	dAtA[offset] = uint8(v)
  	dAtA[offset+1] = uint8(v >> 8)
  	dAtA[offset+2] = uint8(v >> 16)
  	dAtA[offset+3] = uint8(v >> 24)
  	return offset + 4
  }
  func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
  	for v >= 1<<7 {
  		dAtA[offset] = uint8(v&0x7f | 0x80)
  		v >>= 7
  		offset++
  	}
  	dAtA[offset] = uint8(v)
  	return offset + 1
  }
  func (m *CrossVersionObjectReference) Size() (n int) {
  	var l int
  	_ = l
  	l = len(m.Kind)
  	n += 1 + l + sovGenerated(uint64(l))
  	l = len(m.Name)
  	n += 1 + l + sovGenerated(uint64(l))
  	l = len(m.APIVersion)
  	n += 1 + l + sovGenerated(uint64(l))
  	return n
  }
  
  func (m *HorizontalPodAutoscaler) Size() (n int) {
  	var l int
  	_ = l
  	l = m.ObjectMeta.Size()
  	n += 1 + l + sovGenerated(uint64(l))
  	l = m.Spec.Size()
  	n += 1 + l + sovGenerated(uint64(l))
  	l = m.Status.Size()
  	n += 1 + l + sovGenerated(uint64(l))
  	return n
  }
  
  func (m *HorizontalPodAutoscalerCondition) Size() (n int) {
  	var l int
  	_ = l
  	l = len(m.Type)
  	n += 1 + l + sovGenerated(uint64(l))
  	l = len(m.Status)
  	n += 1 + l + sovGenerated(uint64(l))
  	l = m.LastTransitionTime.Size()
  	n += 1 + l + sovGenerated(uint64(l))
  	l = len(m.Reason)
  	n += 1 + l + sovGenerated(uint64(l))
  	l = len(m.Message)
  	n += 1 + l + sovGenerated(uint64(l))
  	return n
  }
  
  func (m *HorizontalPodAutoscalerList) Size() (n int) {
  	var l int
  	_ = l
  	l = m.ListMeta.Size()
  	n += 1 + l + sovGenerated(uint64(l))
  	if len(m.Items) > 0 {
  		for _, e := range m.Items {
  			l = e.Size()
  			n += 1 + l + sovGenerated(uint64(l))
  		}
  	}
  	return n
  }
  
  func (m *HorizontalPodAutoscalerSpec) Size() (n int) {
  	var l int
  	_ = l
  	l = m.ScaleTargetRef.Size()
  	n += 1 + l + sovGenerated(uint64(l))
  	if m.MinReplicas != nil {
  		n += 1 + sovGenerated(uint64(*m.MinReplicas))
  	}
  	n += 1 + sovGenerated(uint64(m.MaxReplicas))
  	if len(m.Metrics) > 0 {
  		for _, e := range m.Metrics {
  			l = e.Size()
  			n += 1 + l + sovGenerated(uint64(l))
  		}
  	}
  	return n
  }
  
  func (m *HorizontalPodAutoscalerStatus) Size() (n int) {
  	var l int
  	_ = l
  	if m.ObservedGeneration != nil {
  		n += 1 + sovGenerated(uint64(*m.ObservedGeneration))
  	}
  	if m.LastScaleTime != nil {
  		l = m.LastScaleTime.Size()
  		n += 1 + l + sovGenerated(uint64(l))
  	}
  	n += 1 + sovGenerated(uint64(m.CurrentReplicas))
  	n += 1 + sovGenerated(uint64(m.DesiredReplicas))
  	if len(m.CurrentMetrics) > 0 {
  		for _, e := range m.CurrentMetrics {
  			l = e.Size()
  			n += 1 + l + sovGenerated(uint64(l))
  		}
  	}
  	if len(m.Conditions) > 0 {
  		for _, e := range m.Conditions {
  			l = e.Size()
  			n += 1 + l + sovGenerated(uint64(l))
  		}
  	}
  	return n
  }
  
  func (m *MetricSpec) Size() (n int) {
  	var l int
  	_ = l
  	l = len(m.Type)
  	n += 1 + l + sovGenerated(uint64(l))
  	if m.Object != nil {
  		l = m.Object.Size()
  		n += 1 + l + sovGenerated(uint64(l))
  	}
  	if m.Pods != nil {
  		l = m.Pods.Size()
  		n += 1 + l + sovGenerated(uint64(l))
  	}
  	if m.Resource != nil {
  		l = m.Resource.Size()
  		n += 1 + l + sovGenerated(uint64(l))
  	}
  	return n
  }
  
  func (m *MetricStatus) Size() (n int) {
  	var l int
  	_ = l
  	l = len(m.Type)
  	n += 1 + l + sovGenerated(uint64(l))
  	if m.Object != nil {
  		l = m.Object.Size()
  		n += 1 + l + sovGenerated(uint64(l))
  	}
  	if m.Pods != nil {
  		l = m.Pods.Size()
  		n += 1 + l + sovGenerated(uint64(l))
  	}
  	if m.Resource != nil {
  		l = m.Resource.Size()
  		n += 1 + l + sovGenerated(uint64(l))
  	}
  	return n
  }
  
  func (m *ObjectMetricSource) Size() (n int) {
  	var l int
  	_ = l
  	l = m.Target.Size()
  	n += 1 + l + sovGenerated(uint64(l))
  	l = len(m.MetricName)
  	n += 1 + l + sovGenerated(uint64(l))
  	l = m.TargetValue.Size()
  	n += 1 + l + sovGenerated(uint64(l))
  	return n
  }
  
  func (m *ObjectMetricStatus) Size() (n int) {
  	var l int
  	_ = l
  	l = m.Target.Size()
  	n += 1 + l + sovGenerated(uint64(l))
  	l = len(m.MetricName)
  	n += 1 + l + sovGenerated(uint64(l))
  	l = m.CurrentValue.Size()
  	n += 1 + l + sovGenerated(uint64(l))
  	return n
  }
  
  func (m *PodsMetricSource) Size() (n int) {
  	var l int
  	_ = l
  	l = len(m.MetricName)
  	n += 1 + l + sovGenerated(uint64(l))
  	l = m.TargetAverageValue.Size()
  	n += 1 + l + sovGenerated(uint64(l))
  	return n
  }
  
  func (m *PodsMetricStatus) Size() (n int) {
  	var l int
  	_ = l
  	l = len(m.MetricName)
  	n += 1 + l + sovGenerated(uint64(l))
  	l = m.CurrentAverageValue.Size()
  	n += 1 + l + sovGenerated(uint64(l))
  	return n
  }
  
  func (m *ResourceMetricSource) Size() (n int) {
  	var l int
  	_ = l
  	l = len(m.Name)
  	n += 1 + l + sovGenerated(uint64(l))
  	if m.TargetAverageUtilization != nil {
  		n += 1 + sovGenerated(uint64(*m.TargetAverageUtilization))
  	}
  	if m.TargetAverageValue != nil {
  		l = m.TargetAverageValue.Size()
  		n += 1 + l + sovGenerated(uint64(l))
  	}
  	return n
  }
  
  func (m *ResourceMetricStatus) Size() (n int) {
  	var l int
  	_ = l
  	l = len(m.Name)
  	n += 1 + l + sovGenerated(uint64(l))
  	if m.CurrentAverageUtilization != nil {
  		n += 1 + sovGenerated(uint64(*m.CurrentAverageUtilization))
  	}
  	l = m.CurrentAverageValue.Size()
  	n += 1 + l + sovGenerated(uint64(l))
  	return n
  }
  
  func sovGenerated(x uint64) (n int) {
  	for {
  		n++
  		x >>= 7
  		if x == 0 {
  			break
  		}
  	}
  	return n
  }
  func sozGenerated(x uint64) (n int) {
  	return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  }
  func (this *CrossVersionObjectReference) String() string {
  	if this == nil {
  		return "nil"
  	}
  	s := strings.Join([]string{`&CrossVersionObjectReference{`,
  		`Kind:` + fmt.Sprintf("%v", this.Kind) + `,`,
  		`Name:` + fmt.Sprintf("%v", this.Name) + `,`,
  		`APIVersion:` + fmt.Sprintf("%v", this.APIVersion) + `,`,
  		`}`,
  	}, "")
  	return s
  }
  func (this *HorizontalPodAutoscaler) String() string {
  	if this == nil {
  		return "nil"
  	}
  	s := strings.Join([]string{`&HorizontalPodAutoscaler{`,
  		`ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
  		`Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "HorizontalPodAutoscalerSpec", "HorizontalPodAutoscalerSpec", 1), `&`, ``, 1) + `,`,
  		`Status:` + strings.Replace(strings.Replace(this.Status.String(), "HorizontalPodAutoscalerStatus", "HorizontalPodAutoscalerStatus", 1), `&`, ``, 1) + `,`,
  		`}`,
  	}, "")
  	return s
  }
  func (this *HorizontalPodAutoscalerCondition) String() string {
  	if this == nil {
  		return "nil"
  	}
  	s := strings.Join([]string{`&HorizontalPodAutoscalerCondition{`,
  		`Type:` + fmt.Sprintf("%v", this.Type) + `,`,
  		`Status:` + fmt.Sprintf("%v", this.Status) + `,`,
  		`LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`,
  		`Reason:` + fmt.Sprintf("%v", this.Reason) + `,`,
  		`Message:` + fmt.Sprintf("%v", this.Message) + `,`,
  		`}`,
  	}, "")
  	return s
  }
  func (this *HorizontalPodAutoscalerList) String() string {
  	if this == nil {
  		return "nil"
  	}
  	s := strings.Join([]string{`&HorizontalPodAutoscalerList{`,
  		`ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`,
  		`Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "HorizontalPodAutoscaler", "HorizontalPodAutoscaler", 1), `&`, ``, 1) + `,`,
  		`}`,
  	}, "")
  	return s
  }
  func (this *HorizontalPodAutoscalerSpec) String() string {
  	if this == nil {
  		return "nil"
  	}
  	s := strings.Join([]string{`&HorizontalPodAutoscalerSpec{`,
  		`ScaleTargetRef:` + strings.Replace(strings.Replace(this.ScaleTargetRef.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`,
  		`MinReplicas:` + valueToStringGenerated(this.MinReplicas) + `,`,
  		`MaxReplicas:` + fmt.Sprintf("%v", this.MaxReplicas) + `,`,
  		`Metrics:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Metrics), "MetricSpec", "MetricSpec", 1), `&`, ``, 1) + `,`,
  		`}`,
  	}, "")
  	return s
  }
  func (this *HorizontalPodAutoscalerStatus) String() string {
  	if this == nil {
  		return "nil"
  	}
  	s := strings.Join([]string{`&HorizontalPodAutoscalerStatus{`,
  		`ObservedGeneration:` + valueToStringGenerated(this.ObservedGeneration) + `,`,
  		`LastScaleTime:` + strings.Replace(fmt.Sprintf("%v", this.LastScaleTime), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1) + `,`,
  		`CurrentReplicas:` + fmt.Sprintf("%v", this.CurrentReplicas) + `,`,
  		`DesiredReplicas:` + fmt.Sprintf("%v", this.DesiredReplicas) + `,`,
  		`CurrentMetrics:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.CurrentMetrics), "MetricStatus", "MetricStatus", 1), `&`, ``, 1) + `,`,
  		`Conditions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Conditions), "HorizontalPodAutoscalerCondition", "HorizontalPodAutoscalerCondition", 1), `&`, ``, 1) + `,`,
  		`}`,
  	}, "")
  	return s
  }
  func (this *MetricSpec) String() string {
  	if this == nil {
  		return "nil"
  	}
  	s := strings.Join([]string{`&MetricSpec{`,
  		`Type:` + fmt.Sprintf("%v", this.Type) + `,`,
  		`Object:` + strings.Replace(fmt.Sprintf("%v", this.Object), "ObjectMetricSource", "ObjectMetricSource", 1) + `,`,
  		`Pods:` + strings.Replace(fmt.Sprintf("%v", this.Pods), "PodsMetricSource", "PodsMetricSource", 1) + `,`,
  		`Resource:` + strings.Replace(fmt.Sprintf("%v", this.Resource), "ResourceMetricSource", "ResourceMetricSource", 1) + `,`,
  		`}`,
  	}, "")
  	return s
  }
  func (this *MetricStatus) String() string {
  	if this == nil {
  		return "nil"
  	}
  	s := strings.Join([]string{`&MetricStatus{`,
  		`Type:` + fmt.Sprintf("%v", this.Type) + `,`,
  		`Object:` + strings.Replace(fmt.Sprintf("%v", this.Object), "ObjectMetricStatus", "ObjectMetricStatus", 1) + `,`,
  		`Pods:` + strings.Replace(fmt.Sprintf("%v", this.Pods), "PodsMetricStatus", "PodsMetricStatus", 1) + `,`,
  		`Resource:` + strings.Replace(fmt.Sprintf("%v", this.Resource), "ResourceMetricStatus", "ResourceMetricStatus", 1) + `,`,
  		`}`,
  	}, "")
  	return s
  }
  func (this *ObjectMetricSource) String() string {
  	if this == nil {
  		return "nil"
  	}
  	s := strings.Join([]string{`&ObjectMetricSource{`,
  		`Target:` + strings.Replace(strings.Replace(this.Target.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`,
  		`MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`,
  		`TargetValue:` + strings.Replace(strings.Replace(this.TargetValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`,
  		`}`,
  	}, "")
  	return s
  }
  func (this *ObjectMetricStatus) String() string {
  	if this == nil {
  		return "nil"
  	}
  	s := strings.Join([]string{`&ObjectMetricStatus{`,
  		`Target:` + strings.Replace(strings.Replace(this.Target.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`,
  		`MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`,
  		`CurrentValue:` + strings.Replace(strings.Replace(this.CurrentValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`,
  		`}`,
  	}, "")
  	return s
  }
  func (this *PodsMetricSource) String() string {
  	if this == nil {
  		return "nil"
  	}
  	s := strings.Join([]string{`&PodsMetricSource{`,
  		`MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`,
  		`TargetAverageValue:` + strings.Replace(strings.Replace(this.TargetAverageValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`,
  		`}`,
  	}, "")
  	return s
  }
  func (this *PodsMetricStatus) String() string {
  	if this == nil {
  		return "nil"
  	}
  	s := strings.Join([]string{`&PodsMetricStatus{`,
  		`MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`,
  		`CurrentAverageValue:` + strings.Replace(strings.Replace(this.CurrentAverageValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`,
  		`}`,
  	}, "")
  	return s
  }
  func (this *ResourceMetricSource) String() string {
  	if this == nil {
  		return "nil"
  	}
  	s := strings.Join([]string{`&ResourceMetricSource{`,
  		`Name:` + fmt.Sprintf("%v", this.Name) + `,`,
  		`TargetAverageUtilization:` + valueToStringGenerated(this.TargetAverageUtilization) + `,`,
  		`TargetAverageValue:` + strings.Replace(fmt.Sprintf("%v", this.TargetAverageValue), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1) + `,`,
  		`}`,
  	}, "")
  	return s
  }
  func (this *ResourceMetricStatus) String() string {
  	if this == nil {
  		return "nil"
  	}
  	s := strings.Join([]string{`&ResourceMetricStatus{`,
  		`Name:` + fmt.Sprintf("%v", this.Name) + `,`,
  		`CurrentAverageUtilization:` + valueToStringGenerated(this.CurrentAverageUtilization) + `,`,
  		`CurrentAverageValue:` + strings.Replace(strings.Replace(this.CurrentAverageValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`,
  		`}`,
  	}, "")
  	return s
  }
  func valueToStringGenerated(v interface{}) string {
  	rv := reflect.ValueOf(v)
  	if rv.IsNil() {
  		return "nil"
  	}
  	pv := reflect.Indirect(rv).Interface()
  	return fmt.Sprintf("*%v", pv)
  }
  func (m *CrossVersionObjectReference) Unmarshal(dAtA []byte) error {
  	l := len(dAtA)
  	iNdEx := 0
  	for iNdEx < l {
  		preIndex := iNdEx
  		var wire uint64
  		for shift := uint(0); ; shift += 7 {
  			if shift >= 64 {
  				return ErrIntOverflowGenerated
  			}
  			if iNdEx >= l {
  				return io.ErrUnexpectedEOF
  			}
  			b := dAtA[iNdEx]
  			iNdEx++
  			wire |= (uint64(b) & 0x7F) << shift
  			if b < 0x80 {
  				break
  			}
  		}
  		fieldNum := int32(wire >> 3)
  		wireType := int(wire & 0x7)
  		if wireType == 4 {
  			return fmt.Errorf("proto: CrossVersionObjectReference: wiretype end group for non-group")
  		}
  		if fieldNum <= 0 {
  			return fmt.Errorf("proto: CrossVersionObjectReference: illegal tag %d (wire type %d)", fieldNum, wire)
  		}
  		switch fieldNum {
  		case 1:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType)
  			}
  			var stringLen uint64
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				stringLen |= (uint64(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			intStringLen := int(stringLen)
  			if intStringLen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + intStringLen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			m.Kind = string(dAtA[iNdEx:postIndex])
  			iNdEx = postIndex
  		case 2:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  			}
  			var stringLen uint64
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				stringLen |= (uint64(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			intStringLen := int(stringLen)
  			if intStringLen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + intStringLen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			m.Name = string(dAtA[iNdEx:postIndex])
  			iNdEx = postIndex
  		case 3:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field APIVersion", wireType)
  			}
  			var stringLen uint64
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				stringLen |= (uint64(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			intStringLen := int(stringLen)
  			if intStringLen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + intStringLen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			m.APIVersion = string(dAtA[iNdEx:postIndex])
  			iNdEx = postIndex
  		default:
  			iNdEx = preIndex
  			skippy, err := skipGenerated(dAtA[iNdEx:])
  			if err != nil {
  				return err
  			}
  			if skippy < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			if (iNdEx + skippy) > l {
  				return io.ErrUnexpectedEOF
  			}
  			iNdEx += skippy
  		}
  	}
  
  	if iNdEx > l {
  		return io.ErrUnexpectedEOF
  	}
  	return nil
  }
  func (m *HorizontalPodAutoscaler) Unmarshal(dAtA []byte) error {
  	l := len(dAtA)
  	iNdEx := 0
  	for iNdEx < l {
  		preIndex := iNdEx
  		var wire uint64
  		for shift := uint(0); ; shift += 7 {
  			if shift >= 64 {
  				return ErrIntOverflowGenerated
  			}
  			if iNdEx >= l {
  				return io.ErrUnexpectedEOF
  			}
  			b := dAtA[iNdEx]
  			iNdEx++
  			wire |= (uint64(b) & 0x7F) << shift
  			if b < 0x80 {
  				break
  			}
  		}
  		fieldNum := int32(wire >> 3)
  		wireType := int(wire & 0x7)
  		if wireType == 4 {
  			return fmt.Errorf("proto: HorizontalPodAutoscaler: wiretype end group for non-group")
  		}
  		if fieldNum <= 0 {
  			return fmt.Errorf("proto: HorizontalPodAutoscaler: illegal tag %d (wire type %d)", fieldNum, wire)
  		}
  		switch fieldNum {
  		case 1:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		case 2:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		case 3:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		default:
  			iNdEx = preIndex
  			skippy, err := skipGenerated(dAtA[iNdEx:])
  			if err != nil {
  				return err
  			}
  			if skippy < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			if (iNdEx + skippy) > l {
  				return io.ErrUnexpectedEOF
  			}
  			iNdEx += skippy
  		}
  	}
  
  	if iNdEx > l {
  		return io.ErrUnexpectedEOF
  	}
  	return nil
  }
  func (m *HorizontalPodAutoscalerCondition) Unmarshal(dAtA []byte) error {
  	l := len(dAtA)
  	iNdEx := 0
  	for iNdEx < l {
  		preIndex := iNdEx
  		var wire uint64
  		for shift := uint(0); ; shift += 7 {
  			if shift >= 64 {
  				return ErrIntOverflowGenerated
  			}
  			if iNdEx >= l {
  				return io.ErrUnexpectedEOF
  			}
  			b := dAtA[iNdEx]
  			iNdEx++
  			wire |= (uint64(b) & 0x7F) << shift
  			if b < 0x80 {
  				break
  			}
  		}
  		fieldNum := int32(wire >> 3)
  		wireType := int(wire & 0x7)
  		if wireType == 4 {
  			return fmt.Errorf("proto: HorizontalPodAutoscalerCondition: wiretype end group for non-group")
  		}
  		if fieldNum <= 0 {
  			return fmt.Errorf("proto: HorizontalPodAutoscalerCondition: illegal tag %d (wire type %d)", fieldNum, wire)
  		}
  		switch fieldNum {
  		case 1:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
  			}
  			var stringLen uint64
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				stringLen |= (uint64(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			intStringLen := int(stringLen)
  			if intStringLen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + intStringLen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			m.Type = HorizontalPodAutoscalerConditionType(dAtA[iNdEx:postIndex])
  			iNdEx = postIndex
  		case 2:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
  			}
  			var stringLen uint64
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				stringLen |= (uint64(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			intStringLen := int(stringLen)
  			if intStringLen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + intStringLen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			m.Status = k8s_io_api_core_v1.ConditionStatus(dAtA[iNdEx:postIndex])
  			iNdEx = postIndex
  		case 3:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field LastTransitionTime", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			if err := m.LastTransitionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		case 4:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType)
  			}
  			var stringLen uint64
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				stringLen |= (uint64(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			intStringLen := int(stringLen)
  			if intStringLen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + intStringLen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			m.Reason = string(dAtA[iNdEx:postIndex])
  			iNdEx = postIndex
  		case 5:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType)
  			}
  			var stringLen uint64
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				stringLen |= (uint64(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			intStringLen := int(stringLen)
  			if intStringLen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + intStringLen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			m.Message = string(dAtA[iNdEx:postIndex])
  			iNdEx = postIndex
  		default:
  			iNdEx = preIndex
  			skippy, err := skipGenerated(dAtA[iNdEx:])
  			if err != nil {
  				return err
  			}
  			if skippy < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			if (iNdEx + skippy) > l {
  				return io.ErrUnexpectedEOF
  			}
  			iNdEx += skippy
  		}
  	}
  
  	if iNdEx > l {
  		return io.ErrUnexpectedEOF
  	}
  	return nil
  }
  func (m *HorizontalPodAutoscalerList) Unmarshal(dAtA []byte) error {
  	l := len(dAtA)
  	iNdEx := 0
  	for iNdEx < l {
  		preIndex := iNdEx
  		var wire uint64
  		for shift := uint(0); ; shift += 7 {
  			if shift >= 64 {
  				return ErrIntOverflowGenerated
  			}
  			if iNdEx >= l {
  				return io.ErrUnexpectedEOF
  			}
  			b := dAtA[iNdEx]
  			iNdEx++
  			wire |= (uint64(b) & 0x7F) << shift
  			if b < 0x80 {
  				break
  			}
  		}
  		fieldNum := int32(wire >> 3)
  		wireType := int(wire & 0x7)
  		if wireType == 4 {
  			return fmt.Errorf("proto: HorizontalPodAutoscalerList: wiretype end group for non-group")
  		}
  		if fieldNum <= 0 {
  			return fmt.Errorf("proto: HorizontalPodAutoscalerList: illegal tag %d (wire type %d)", fieldNum, wire)
  		}
  		switch fieldNum {
  		case 1:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		case 2:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			m.Items = append(m.Items, HorizontalPodAutoscaler{})
  			if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		default:
  			iNdEx = preIndex
  			skippy, err := skipGenerated(dAtA[iNdEx:])
  			if err != nil {
  				return err
  			}
  			if skippy < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			if (iNdEx + skippy) > l {
  				return io.ErrUnexpectedEOF
  			}
  			iNdEx += skippy
  		}
  	}
  
  	if iNdEx > l {
  		return io.ErrUnexpectedEOF
  	}
  	return nil
  }
  func (m *HorizontalPodAutoscalerSpec) Unmarshal(dAtA []byte) error {
  	l := len(dAtA)
  	iNdEx := 0
  	for iNdEx < l {
  		preIndex := iNdEx
  		var wire uint64
  		for shift := uint(0); ; shift += 7 {
  			if shift >= 64 {
  				return ErrIntOverflowGenerated
  			}
  			if iNdEx >= l {
  				return io.ErrUnexpectedEOF
  			}
  			b := dAtA[iNdEx]
  			iNdEx++
  			wire |= (uint64(b) & 0x7F) << shift
  			if b < 0x80 {
  				break
  			}
  		}
  		fieldNum := int32(wire >> 3)
  		wireType := int(wire & 0x7)
  		if wireType == 4 {
  			return fmt.Errorf("proto: HorizontalPodAutoscalerSpec: wiretype end group for non-group")
  		}
  		if fieldNum <= 0 {
  			return fmt.Errorf("proto: HorizontalPodAutoscalerSpec: illegal tag %d (wire type %d)", fieldNum, wire)
  		}
  		switch fieldNum {
  		case 1:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field ScaleTargetRef", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			if err := m.ScaleTargetRef.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		case 2:
  			if wireType != 0 {
  				return fmt.Errorf("proto: wrong wireType = %d for field MinReplicas", wireType)
  			}
  			var v int32
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				v |= (int32(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			m.MinReplicas = &v
  		case 3:
  			if wireType != 0 {
  				return fmt.Errorf("proto: wrong wireType = %d for field MaxReplicas", wireType)
  			}
  			m.MaxReplicas = 0
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				m.MaxReplicas |= (int32(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  		case 4:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Metrics", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			m.Metrics = append(m.Metrics, MetricSpec{})
  			if err := m.Metrics[len(m.Metrics)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		default:
  			iNdEx = preIndex
  			skippy, err := skipGenerated(dAtA[iNdEx:])
  			if err != nil {
  				return err
  			}
  			if skippy < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			if (iNdEx + skippy) > l {
  				return io.ErrUnexpectedEOF
  			}
  			iNdEx += skippy
  		}
  	}
  
  	if iNdEx > l {
  		return io.ErrUnexpectedEOF
  	}
  	return nil
  }
  func (m *HorizontalPodAutoscalerStatus) Unmarshal(dAtA []byte) error {
  	l := len(dAtA)
  	iNdEx := 0
  	for iNdEx < l {
  		preIndex := iNdEx
  		var wire uint64
  		for shift := uint(0); ; shift += 7 {
  			if shift >= 64 {
  				return ErrIntOverflowGenerated
  			}
  			if iNdEx >= l {
  				return io.ErrUnexpectedEOF
  			}
  			b := dAtA[iNdEx]
  			iNdEx++
  			wire |= (uint64(b) & 0x7F) << shift
  			if b < 0x80 {
  				break
  			}
  		}
  		fieldNum := int32(wire >> 3)
  		wireType := int(wire & 0x7)
  		if wireType == 4 {
  			return fmt.Errorf("proto: HorizontalPodAutoscalerStatus: wiretype end group for non-group")
  		}
  		if fieldNum <= 0 {
  			return fmt.Errorf("proto: HorizontalPodAutoscalerStatus: illegal tag %d (wire type %d)", fieldNum, wire)
  		}
  		switch fieldNum {
  		case 1:
  			if wireType != 0 {
  				return fmt.Errorf("proto: wrong wireType = %d for field ObservedGeneration", wireType)
  			}
  			var v int64
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				v |= (int64(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			m.ObservedGeneration = &v
  		case 2:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field LastScaleTime", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			if m.LastScaleTime == nil {
  				m.LastScaleTime = &k8s_io_apimachinery_pkg_apis_meta_v1.Time{}
  			}
  			if err := m.LastScaleTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		case 3:
  			if wireType != 0 {
  				return fmt.Errorf("proto: wrong wireType = %d for field CurrentReplicas", wireType)
  			}
  			m.CurrentReplicas = 0
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				m.CurrentReplicas |= (int32(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  		case 4:
  			if wireType != 0 {
  				return fmt.Errorf("proto: wrong wireType = %d for field DesiredReplicas", wireType)
  			}
  			m.DesiredReplicas = 0
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				m.DesiredReplicas |= (int32(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  		case 5:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field CurrentMetrics", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			m.CurrentMetrics = append(m.CurrentMetrics, MetricStatus{})
  			if err := m.CurrentMetrics[len(m.CurrentMetrics)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		case 6:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Conditions", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			m.Conditions = append(m.Conditions, HorizontalPodAutoscalerCondition{})
  			if err := m.Conditions[len(m.Conditions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		default:
  			iNdEx = preIndex
  			skippy, err := skipGenerated(dAtA[iNdEx:])
  			if err != nil {
  				return err
  			}
  			if skippy < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			if (iNdEx + skippy) > l {
  				return io.ErrUnexpectedEOF
  			}
  			iNdEx += skippy
  		}
  	}
  
  	if iNdEx > l {
  		return io.ErrUnexpectedEOF
  	}
  	return nil
  }
  func (m *MetricSpec) Unmarshal(dAtA []byte) error {
  	l := len(dAtA)
  	iNdEx := 0
  	for iNdEx < l {
  		preIndex := iNdEx
  		var wire uint64
  		for shift := uint(0); ; shift += 7 {
  			if shift >= 64 {
  				return ErrIntOverflowGenerated
  			}
  			if iNdEx >= l {
  				return io.ErrUnexpectedEOF
  			}
  			b := dAtA[iNdEx]
  			iNdEx++
  			wire |= (uint64(b) & 0x7F) << shift
  			if b < 0x80 {
  				break
  			}
  		}
  		fieldNum := int32(wire >> 3)
  		wireType := int(wire & 0x7)
  		if wireType == 4 {
  			return fmt.Errorf("proto: MetricSpec: wiretype end group for non-group")
  		}
  		if fieldNum <= 0 {
  			return fmt.Errorf("proto: MetricSpec: illegal tag %d (wire type %d)", fieldNum, wire)
  		}
  		switch fieldNum {
  		case 1:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
  			}
  			var stringLen uint64
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				stringLen |= (uint64(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			intStringLen := int(stringLen)
  			if intStringLen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + intStringLen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			m.Type = MetricSourceType(dAtA[iNdEx:postIndex])
  			iNdEx = postIndex
  		case 2:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Object", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			if m.Object == nil {
  				m.Object = &ObjectMetricSource{}
  			}
  			if err := m.Object.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		case 3:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Pods", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			if m.Pods == nil {
  				m.Pods = &PodsMetricSource{}
  			}
  			if err := m.Pods.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		case 4:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Resource", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			if m.Resource == nil {
  				m.Resource = &ResourceMetricSource{}
  			}
  			if err := m.Resource.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		default:
  			iNdEx = preIndex
  			skippy, err := skipGenerated(dAtA[iNdEx:])
  			if err != nil {
  				return err
  			}
  			if skippy < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			if (iNdEx + skippy) > l {
  				return io.ErrUnexpectedEOF
  			}
  			iNdEx += skippy
  		}
  	}
  
  	if iNdEx > l {
  		return io.ErrUnexpectedEOF
  	}
  	return nil
  }
  func (m *MetricStatus) Unmarshal(dAtA []byte) error {
  	l := len(dAtA)
  	iNdEx := 0
  	for iNdEx < l {
  		preIndex := iNdEx
  		var wire uint64
  		for shift := uint(0); ; shift += 7 {
  			if shift >= 64 {
  				return ErrIntOverflowGenerated
  			}
  			if iNdEx >= l {
  				return io.ErrUnexpectedEOF
  			}
  			b := dAtA[iNdEx]
  			iNdEx++
  			wire |= (uint64(b) & 0x7F) << shift
  			if b < 0x80 {
  				break
  			}
  		}
  		fieldNum := int32(wire >> 3)
  		wireType := int(wire & 0x7)
  		if wireType == 4 {
  			return fmt.Errorf("proto: MetricStatus: wiretype end group for non-group")
  		}
  		if fieldNum <= 0 {
  			return fmt.Errorf("proto: MetricStatus: illegal tag %d (wire type %d)", fieldNum, wire)
  		}
  		switch fieldNum {
  		case 1:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
  			}
  			var stringLen uint64
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				stringLen |= (uint64(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			intStringLen := int(stringLen)
  			if intStringLen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + intStringLen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			m.Type = MetricSourceType(dAtA[iNdEx:postIndex])
  			iNdEx = postIndex
  		case 2:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Object", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			if m.Object == nil {
  				m.Object = &ObjectMetricStatus{}
  			}
  			if err := m.Object.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		case 3:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Pods", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			if m.Pods == nil {
  				m.Pods = &PodsMetricStatus{}
  			}
  			if err := m.Pods.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		case 4:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Resource", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			if m.Resource == nil {
  				m.Resource = &ResourceMetricStatus{}
  			}
  			if err := m.Resource.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		default:
  			iNdEx = preIndex
  			skippy, err := skipGenerated(dAtA[iNdEx:])
  			if err != nil {
  				return err
  			}
  			if skippy < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			if (iNdEx + skippy) > l {
  				return io.ErrUnexpectedEOF
  			}
  			iNdEx += skippy
  		}
  	}
  
  	if iNdEx > l {
  		return io.ErrUnexpectedEOF
  	}
  	return nil
  }
  func (m *ObjectMetricSource) Unmarshal(dAtA []byte) error {
  	l := len(dAtA)
  	iNdEx := 0
  	for iNdEx < l {
  		preIndex := iNdEx
  		var wire uint64
  		for shift := uint(0); ; shift += 7 {
  			if shift >= 64 {
  				return ErrIntOverflowGenerated
  			}
  			if iNdEx >= l {
  				return io.ErrUnexpectedEOF
  			}
  			b := dAtA[iNdEx]
  			iNdEx++
  			wire |= (uint64(b) & 0x7F) << shift
  			if b < 0x80 {
  				break
  			}
  		}
  		fieldNum := int32(wire >> 3)
  		wireType := int(wire & 0x7)
  		if wireType == 4 {
  			return fmt.Errorf("proto: ObjectMetricSource: wiretype end group for non-group")
  		}
  		if fieldNum <= 0 {
  			return fmt.Errorf("proto: ObjectMetricSource: illegal tag %d (wire type %d)", fieldNum, wire)
  		}
  		switch fieldNum {
  		case 1:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			if err := m.Target.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		case 2:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field MetricName", wireType)
  			}
  			var stringLen uint64
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				stringLen |= (uint64(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			intStringLen := int(stringLen)
  			if intStringLen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + intStringLen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			m.MetricName = string(dAtA[iNdEx:postIndex])
  			iNdEx = postIndex
  		case 3:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field TargetValue", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			if err := m.TargetValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		default:
  			iNdEx = preIndex
  			skippy, err := skipGenerated(dAtA[iNdEx:])
  			if err != nil {
  				return err
  			}
  			if skippy < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			if (iNdEx + skippy) > l {
  				return io.ErrUnexpectedEOF
  			}
  			iNdEx += skippy
  		}
  	}
  
  	if iNdEx > l {
  		return io.ErrUnexpectedEOF
  	}
  	return nil
  }
  func (m *ObjectMetricStatus) Unmarshal(dAtA []byte) error {
  	l := len(dAtA)
  	iNdEx := 0
  	for iNdEx < l {
  		preIndex := iNdEx
  		var wire uint64
  		for shift := uint(0); ; shift += 7 {
  			if shift >= 64 {
  				return ErrIntOverflowGenerated
  			}
  			if iNdEx >= l {
  				return io.ErrUnexpectedEOF
  			}
  			b := dAtA[iNdEx]
  			iNdEx++
  			wire |= (uint64(b) & 0x7F) << shift
  			if b < 0x80 {
  				break
  			}
  		}
  		fieldNum := int32(wire >> 3)
  		wireType := int(wire & 0x7)
  		if wireType == 4 {
  			return fmt.Errorf("proto: ObjectMetricStatus: wiretype end group for non-group")
  		}
  		if fieldNum <= 0 {
  			return fmt.Errorf("proto: ObjectMetricStatus: illegal tag %d (wire type %d)", fieldNum, wire)
  		}
  		switch fieldNum {
  		case 1:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			if err := m.Target.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		case 2:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field MetricName", wireType)
  			}
  			var stringLen uint64
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				stringLen |= (uint64(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			intStringLen := int(stringLen)
  			if intStringLen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + intStringLen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			m.MetricName = string(dAtA[iNdEx:postIndex])
  			iNdEx = postIndex
  		case 3:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field CurrentValue", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			if err := m.CurrentValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		default:
  			iNdEx = preIndex
  			skippy, err := skipGenerated(dAtA[iNdEx:])
  			if err != nil {
  				return err
  			}
  			if skippy < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			if (iNdEx + skippy) > l {
  				return io.ErrUnexpectedEOF
  			}
  			iNdEx += skippy
  		}
  	}
  
  	if iNdEx > l {
  		return io.ErrUnexpectedEOF
  	}
  	return nil
  }
  func (m *PodsMetricSource) Unmarshal(dAtA []byte) error {
  	l := len(dAtA)
  	iNdEx := 0
  	for iNdEx < l {
  		preIndex := iNdEx
  		var wire uint64
  		for shift := uint(0); ; shift += 7 {
  			if shift >= 64 {
  				return ErrIntOverflowGenerated
  			}
  			if iNdEx >= l {
  				return io.ErrUnexpectedEOF
  			}
  			b := dAtA[iNdEx]
  			iNdEx++
  			wire |= (uint64(b) & 0x7F) << shift
  			if b < 0x80 {
  				break
  			}
  		}
  		fieldNum := int32(wire >> 3)
  		wireType := int(wire & 0x7)
  		if wireType == 4 {
  			return fmt.Errorf("proto: PodsMetricSource: wiretype end group for non-group")
  		}
  		if fieldNum <= 0 {
  			return fmt.Errorf("proto: PodsMetricSource: illegal tag %d (wire type %d)", fieldNum, wire)
  		}
  		switch fieldNum {
  		case 1:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field MetricName", wireType)
  			}
  			var stringLen uint64
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				stringLen |= (uint64(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			intStringLen := int(stringLen)
  			if intStringLen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + intStringLen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			m.MetricName = string(dAtA[iNdEx:postIndex])
  			iNdEx = postIndex
  		case 2:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field TargetAverageValue", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			if err := m.TargetAverageValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		default:
  			iNdEx = preIndex
  			skippy, err := skipGenerated(dAtA[iNdEx:])
  			if err != nil {
  				return err
  			}
  			if skippy < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			if (iNdEx + skippy) > l {
  				return io.ErrUnexpectedEOF
  			}
  			iNdEx += skippy
  		}
  	}
  
  	if iNdEx > l {
  		return io.ErrUnexpectedEOF
  	}
  	return nil
  }
  func (m *PodsMetricStatus) Unmarshal(dAtA []byte) error {
  	l := len(dAtA)
  	iNdEx := 0
  	for iNdEx < l {
  		preIndex := iNdEx
  		var wire uint64
  		for shift := uint(0); ; shift += 7 {
  			if shift >= 64 {
  				return ErrIntOverflowGenerated
  			}
  			if iNdEx >= l {
  				return io.ErrUnexpectedEOF
  			}
  			b := dAtA[iNdEx]
  			iNdEx++
  			wire |= (uint64(b) & 0x7F) << shift
  			if b < 0x80 {
  				break
  			}
  		}
  		fieldNum := int32(wire >> 3)
  		wireType := int(wire & 0x7)
  		if wireType == 4 {
  			return fmt.Errorf("proto: PodsMetricStatus: wiretype end group for non-group")
  		}
  		if fieldNum <= 0 {
  			return fmt.Errorf("proto: PodsMetricStatus: illegal tag %d (wire type %d)", fieldNum, wire)
  		}
  		switch fieldNum {
  		case 1:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field MetricName", wireType)
  			}
  			var stringLen uint64
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				stringLen |= (uint64(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			intStringLen := int(stringLen)
  			if intStringLen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + intStringLen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			m.MetricName = string(dAtA[iNdEx:postIndex])
  			iNdEx = postIndex
  		case 2:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field CurrentAverageValue", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			if err := m.CurrentAverageValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		default:
  			iNdEx = preIndex
  			skippy, err := skipGenerated(dAtA[iNdEx:])
  			if err != nil {
  				return err
  			}
  			if skippy < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			if (iNdEx + skippy) > l {
  				return io.ErrUnexpectedEOF
  			}
  			iNdEx += skippy
  		}
  	}
  
  	if iNdEx > l {
  		return io.ErrUnexpectedEOF
  	}
  	return nil
  }
  func (m *ResourceMetricSource) Unmarshal(dAtA []byte) error {
  	l := len(dAtA)
  	iNdEx := 0
  	for iNdEx < l {
  		preIndex := iNdEx
  		var wire uint64
  		for shift := uint(0); ; shift += 7 {
  			if shift >= 64 {
  				return ErrIntOverflowGenerated
  			}
  			if iNdEx >= l {
  				return io.ErrUnexpectedEOF
  			}
  			b := dAtA[iNdEx]
  			iNdEx++
  			wire |= (uint64(b) & 0x7F) << shift
  			if b < 0x80 {
  				break
  			}
  		}
  		fieldNum := int32(wire >> 3)
  		wireType := int(wire & 0x7)
  		if wireType == 4 {
  			return fmt.Errorf("proto: ResourceMetricSource: wiretype end group for non-group")
  		}
  		if fieldNum <= 0 {
  			return fmt.Errorf("proto: ResourceMetricSource: illegal tag %d (wire type %d)", fieldNum, wire)
  		}
  		switch fieldNum {
  		case 1:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  			}
  			var stringLen uint64
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				stringLen |= (uint64(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			intStringLen := int(stringLen)
  			if intStringLen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + intStringLen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			m.Name = k8s_io_api_core_v1.ResourceName(dAtA[iNdEx:postIndex])
  			iNdEx = postIndex
  		case 2:
  			if wireType != 0 {
  				return fmt.Errorf("proto: wrong wireType = %d for field TargetAverageUtilization", wireType)
  			}
  			var v int32
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				v |= (int32(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			m.TargetAverageUtilization = &v
  		case 3:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field TargetAverageValue", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			if m.TargetAverageValue == nil {
  				m.TargetAverageValue = &k8s_io_apimachinery_pkg_api_resource.Quantity{}
  			}
  			if err := m.TargetAverageValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		default:
  			iNdEx = preIndex
  			skippy, err := skipGenerated(dAtA[iNdEx:])
  			if err != nil {
  				return err
  			}
  			if skippy < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			if (iNdEx + skippy) > l {
  				return io.ErrUnexpectedEOF
  			}
  			iNdEx += skippy
  		}
  	}
  
  	if iNdEx > l {
  		return io.ErrUnexpectedEOF
  	}
  	return nil
  }
  func (m *ResourceMetricStatus) Unmarshal(dAtA []byte) error {
  	l := len(dAtA)
  	iNdEx := 0
  	for iNdEx < l {
  		preIndex := iNdEx
  		var wire uint64
  		for shift := uint(0); ; shift += 7 {
  			if shift >= 64 {
  				return ErrIntOverflowGenerated
  			}
  			if iNdEx >= l {
  				return io.ErrUnexpectedEOF
  			}
  			b := dAtA[iNdEx]
  			iNdEx++
  			wire |= (uint64(b) & 0x7F) << shift
  			if b < 0x80 {
  				break
  			}
  		}
  		fieldNum := int32(wire >> 3)
  		wireType := int(wire & 0x7)
  		if wireType == 4 {
  			return fmt.Errorf("proto: ResourceMetricStatus: wiretype end group for non-group")
  		}
  		if fieldNum <= 0 {
  			return fmt.Errorf("proto: ResourceMetricStatus: illegal tag %d (wire type %d)", fieldNum, wire)
  		}
  		switch fieldNum {
  		case 1:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  			}
  			var stringLen uint64
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				stringLen |= (uint64(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			intStringLen := int(stringLen)
  			if intStringLen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + intStringLen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			m.Name = k8s_io_api_core_v1.ResourceName(dAtA[iNdEx:postIndex])
  			iNdEx = postIndex
  		case 2:
  			if wireType != 0 {
  				return fmt.Errorf("proto: wrong wireType = %d for field CurrentAverageUtilization", wireType)
  			}
  			var v int32
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				v |= (int32(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			m.CurrentAverageUtilization = &v
  		case 3:
  			if wireType != 2 {
  				return fmt.Errorf("proto: wrong wireType = %d for field CurrentAverageValue", wireType)
  			}
  			var msglen int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				msglen |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			if msglen < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			postIndex := iNdEx + msglen
  			if postIndex > l {
  				return io.ErrUnexpectedEOF
  			}
  			if err := m.CurrentAverageValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  				return err
  			}
  			iNdEx = postIndex
  		default:
  			iNdEx = preIndex
  			skippy, err := skipGenerated(dAtA[iNdEx:])
  			if err != nil {
  				return err
  			}
  			if skippy < 0 {
  				return ErrInvalidLengthGenerated
  			}
  			if (iNdEx + skippy) > l {
  				return io.ErrUnexpectedEOF
  			}
  			iNdEx += skippy
  		}
  	}
  
  	if iNdEx > l {
  		return io.ErrUnexpectedEOF
  	}
  	return nil
  }
  func skipGenerated(dAtA []byte) (n int, err error) {
  	l := len(dAtA)
  	iNdEx := 0
  	for iNdEx < l {
  		var wire uint64
  		for shift := uint(0); ; shift += 7 {
  			if shift >= 64 {
  				return 0, ErrIntOverflowGenerated
  			}
  			if iNdEx >= l {
  				return 0, io.ErrUnexpectedEOF
  			}
  			b := dAtA[iNdEx]
  			iNdEx++
  			wire |= (uint64(b) & 0x7F) << shift
  			if b < 0x80 {
  				break
  			}
  		}
  		wireType := int(wire & 0x7)
  		switch wireType {
  		case 0:
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return 0, ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return 0, io.ErrUnexpectedEOF
  				}
  				iNdEx++
  				if dAtA[iNdEx-1] < 0x80 {
  					break
  				}
  			}
  			return iNdEx, nil
  		case 1:
  			iNdEx += 8
  			return iNdEx, nil
  		case 2:
  			var length int
  			for shift := uint(0); ; shift += 7 {
  				if shift >= 64 {
  					return 0, ErrIntOverflowGenerated
  				}
  				if iNdEx >= l {
  					return 0, io.ErrUnexpectedEOF
  				}
  				b := dAtA[iNdEx]
  				iNdEx++
  				length |= (int(b) & 0x7F) << shift
  				if b < 0x80 {
  					break
  				}
  			}
  			iNdEx += length
  			if length < 0 {
  				return 0, ErrInvalidLengthGenerated
  			}
  			return iNdEx, nil
  		case 3:
  			for {
  				var innerWire uint64
  				var start int = iNdEx
  				for shift := uint(0); ; shift += 7 {
  					if shift >= 64 {
  						return 0, ErrIntOverflowGenerated
  					}
  					if iNdEx >= l {
  						return 0, io.ErrUnexpectedEOF
  					}
  					b := dAtA[iNdEx]
  					iNdEx++
  					innerWire |= (uint64(b) & 0x7F) << shift
  					if b < 0x80 {
  						break
  					}
  				}
  				innerWireType := int(innerWire & 0x7)
  				if innerWireType == 4 {
  					break
  				}
  				next, err := skipGenerated(dAtA[start:])
  				if err != nil {
  					return 0, err
  				}
  				iNdEx = start + next
  			}
  			return iNdEx, nil
  		case 4:
  			return iNdEx, nil
  		case 5:
  			iNdEx += 4
  			return iNdEx, nil
  		default:
  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  		}
  	}
  	panic("unreachable")
  }
  
  var (
  	ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling")
  	ErrIntOverflowGenerated   = fmt.Errorf("proto: integer overflow")
  )
  
  func init() {
  	proto.RegisterFile("k8s.io/kubernetes/vendor/k8s.io/api/autoscaling/v2beta1/generated.proto", fileDescriptorGenerated)
  }
  
  var fileDescriptorGenerated = []byte{
  	// 1316 bytes of a gzipped FileDescriptorProto
  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0xcd, 0x6f, 0x1b, 0x45,
  	0x14, 0x8f, 0x1d, 0x27, 0x0d, 0xe3, 0x34, 0x29, 0xd3, 0xaa, 0x75, 0x53, 0x6a, 0x47, 0x2b, 0x84,
  	0x4a, 0x45, 0x77, 0x5b, 0x13, 0x3e, 0x24, 0x84, 0x44, 0x6c, 0x44, 0x5b, 0x91, 0xb4, 0x65, 0x9a,
  	0x56, 0x08, 0x0a, 0x62, 0xb2, 0x3b, 0x75, 0x86, 0x78, 0x3f, 0x34, 0x33, 0xb6, 0x48, 0x11, 0x12,
  	0x17, 0xee, 0x1c, 0x40, 0xfc, 0x15, 0x5c, 0xe1, 0x0c, 0x12, 0x52, 0x85, 0x38, 0xf4, 0x58, 0x84,
  	0x64, 0x51, 0xf3, 0x5f, 0xf4, 0x84, 0xe6, 0xc3, 0xfb, 0x61, 0x7b, 0xe3, 0xc4, 0x44, 0xc0, 0xcd,
  	0x3b, 0xef, 0xf7, 0x7e, 0xef, 0xbd, 0xdf, 0xbc, 0x79, 0x33, 0x06, 0x57, 0x77, 0x5f, 0xe7, 0x36,
  	0x0d, 0x9d, 0xdd, 0xce, 0x36, 0x61, 0x01, 0x11, 0x84, 0x3b, 0x5d, 0x12, 0x78, 0x21, 0x73, 0x8c,
  	0x01, 0x47, 0xd4, 0xc1, 0x1d, 0x11, 0x72, 0x17, 0xb7, 0x69, 0xd0, 0x72, 0xba, 0xf5, 0x6d, 0x22,
  	0xf0, 0x15, 0xa7, 0x45, 0x02, 0xc2, 0xb0, 0x20, 0x9e, 0x1d, 0xb1, 0x50, 0x84, 0xb0, 0xaa, 0xf1,
  	0x36, 0x8e, 0xa8, 0x9d, 0xc2, 0xdb, 0x06, 0xbf, 0x72, 0xa9, 0x45, 0xc5, 0x4e, 0x67, 0xdb, 0x76,
  	0x43, 0xdf, 0x69, 0x85, 0xad, 0xd0, 0x51, 0x6e, 0xdb, 0x9d, 0xfb, 0xea, 0x4b, 0x7d, 0xa8, 0x5f,
  	0x9a, 0x6e, 0xc5, 0x4a, 0x85, 0x77, 0x43, 0x46, 0x9c, 0xee, 0x48, 0xc8, 0x95, 0xb5, 0x04, 0xe3,
  	0x63, 0x77, 0x87, 0x06, 0x84, 0xed, 0x39, 0xd1, 0x6e, 0x4b, 0x39, 0x31, 0xc2, 0xc3, 0x0e, 0x73,
  	0xc9, 0xa1, 0xbc, 0xb8, 0xe3, 0x13, 0x81, 0xc7, 0xc5, 0x72, 0xf2, 0xbc, 0x58, 0x27, 0x10, 0xd4,
  	0x1f, 0x0d, 0xf3, 0xea, 0x24, 0x07, 0xee, 0xee, 0x10, 0x1f, 0x8f, 0xf8, 0xbd, 0x9c, 0xe7, 0xd7,
  	0x11, 0xb4, 0xed, 0xd0, 0x40, 0x70, 0xc1, 0x86, 0x9d, 0xac, 0x6f, 0x0b, 0xe0, 0x5c, 0x93, 0x85,
  	0x9c, 0xdf, 0x25, 0x8c, 0xd3, 0x30, 0xb8, 0xb9, 0xfd, 0x29, 0x71, 0x05, 0x22, 0xf7, 0x09, 0x23,
  	0x81, 0x4b, 0xe0, 0x2a, 0x28, 0xed, 0xd2, 0xc0, 0xab, 0x14, 0x56, 0x0b, 0x17, 0x9e, 0x69, 0x2c,
  	0x3e, 0xec, 0xd5, 0x66, 0xfa, 0xbd, 0x5a, 0xe9, 0x5d, 0x1a, 0x78, 0x48, 0x59, 0x24, 0x22, 0xc0,
  	0x3e, 0xa9, 0x14, 0xb3, 0x88, 0x1b, 0xd8, 0x27, 0x48, 0x59, 0x60, 0x1d, 0x00, 0x1c, 0x51, 0x13,
  	0xa0, 0x32, 0xab, 0x70, 0xd0, 0xe0, 0xc0, 0xfa, 0xad, 0xeb, 0xc6, 0x82, 0x52, 0x28, 0xeb, 0xa7,
  	0x22, 0x38, 0x73, 0x2d, 0x64, 0xf4, 0x41, 0x18, 0x08, 0xdc, 0xbe, 0x15, 0x7a, 0xeb, 0xa6, 0x33,
  	0x08, 0x83, 0x9f, 0x80, 0x05, 0x29, 0xb6, 0x87, 0x05, 0x56, 0x79, 0x95, 0xeb, 0x97, 0xed, 0xa4,
  	0x87, 0xe2, 0xda, 0xed, 0x68, 0xb7, 0x25, 0x17, 0xb8, 0x2d, 0xd1, 0x76, 0xf7, 0x8a, 0xad, 0x8b,
  	0xdb, 0x24, 0x02, 0x27, 0xf1, 0x93, 0x35, 0x14, 0xb3, 0xc2, 0x8f, 0x40, 0x89, 0x47, 0xc4, 0x55,
  	0x35, 0x95, 0xeb, 0x6f, 0xd8, 0xfb, 0x77, 0xa8, 0x9d, 0x93, 0xe8, 0xed, 0x88, 0xb8, 0x89, 0x20,
  	0xf2, 0x0b, 0x29, 0x5a, 0x48, 0xc0, 0x3c, 0x17, 0x58, 0x74, 0xb8, 0x12, 0xa3, 0x5c, 0x7f, 0x73,
  	0xda, 0x00, 0x8a, 0xa4, 0xb1, 0x64, 0x42, 0xcc, 0xeb, 0x6f, 0x64, 0xc8, 0xad, 0xaf, 0x66, 0xc1,
  	0x6a, 0x8e, 0x67, 0x33, 0x0c, 0x3c, 0x2a, 0x68, 0x18, 0xc0, 0x6b, 0xa0, 0x24, 0xf6, 0x22, 0x62,
  	0x36, 0x78, 0x6d, 0x90, 0xed, 0xd6, 0x5e, 0x44, 0x9e, 0xf6, 0x6a, 0xcf, 0x4f, 0xf2, 0x97, 0x38,
  	0xa4, 0x18, 0xe0, 0x46, 0x5c, 0x55, 0x31, 0xc3, 0x65, 0xd2, 0x7a, 0xda, 0xab, 0x8d, 0x39, 0x9a,
  	0x76, 0xcc, 0x94, 0x4d, 0x1e, 0x76, 0x01, 0x6c, 0x63, 0x2e, 0xb6, 0x18, 0x0e, 0xb8, 0x8e, 0x44,
  	0x7d, 0x62, 0xf4, 0xba, 0x78, 0xb0, 0xed, 0x96, 0x1e, 0x8d, 0x15, 0x93, 0x05, 0xdc, 0x18, 0x61,
  	0x43, 0x63, 0x22, 0xc0, 0x17, 0xc0, 0x3c, 0x23, 0x98, 0x87, 0x41, 0xa5, 0xa4, 0xaa, 0x88, 0xc5,
  	0x45, 0x6a, 0x15, 0x19, 0x2b, 0x7c, 0x11, 0x1c, 0xf3, 0x09, 0xe7, 0xb8, 0x45, 0x2a, 0x73, 0x0a,
  	0xb8, 0x6c, 0x80, 0xc7, 0x36, 0xf5, 0x32, 0x1a, 0xd8, 0xad, 0xdf, 0x0b, 0xe0, 0x5c, 0x8e, 0x8e,
  	0x1b, 0x94, 0x0b, 0x78, 0x6f, 0xa4, 0x9f, 0xed, 0x83, 0x15, 0x28, 0xbd, 0x55, 0x37, 0x9f, 0x30,
  	0xb1, 0x17, 0x06, 0x2b, 0xa9, 0x5e, 0xbe, 0x07, 0xe6, 0xa8, 0x20, 0xbe, 0xdc, 0x95, 0xd9, 0x0b,
  	0xe5, 0xfa, 0x6b, 0x53, 0xf6, 0x5a, 0xe3, 0xb8, 0x89, 0x31, 0x77, 0x5d, 0xb2, 0x21, 0x4d, 0x6a,
  	0xfd, 0x51, 0xcc, 0xad, 0x4d, 0x36, 0x3c, 0xfc, 0x1c, 0x2c, 0xa9, 0xaf, 0x2d, 0xcc, 0x5a, 0x44,
  	0xce, 0x15, 0x53, 0xe1, 0xc4, 0x33, 0xb5, 0xcf, 0x50, 0x6a, 0x9c, 0x36, 0xa9, 0x2c, 0xdd, 0xce,
  	0x50, 0xa3, 0xa1, 0x50, 0xf0, 0x0a, 0x28, 0xfb, 0x34, 0x40, 0x24, 0x6a, 0x53, 0x17, 0xeb, 0xb6,
  	0x9c, 0x6b, 0x2c, 0xf7, 0x7b, 0xb5, 0xf2, 0x66, 0xb2, 0x8c, 0xd2, 0x18, 0xf8, 0x0a, 0x28, 0xfb,
  	0xf8, 0xb3, 0xd8, 0x65, 0x56, 0xb9, 0x9c, 0x34, 0xf1, 0xca, 0x9b, 0x89, 0x09, 0xa5, 0x71, 0xf0,
  	0x8e, 0xec, 0x06, 0xc1, 0xa8, 0xcb, 0x2b, 0x25, 0x25, 0xf3, 0xc5, 0x49, 0xf5, 0x6d, 0x2a, 0xb8,
  	0x1a, 0x11, 0xa9, 0xce, 0x51, 0x14, 0x68, 0xc0, 0x65, 0xfd, 0x50, 0x02, 0xe7, 0xf7, 0x3d, 0xfb,
  	0xf0, 0x1d, 0x00, 0xc3, 0x6d, 0x4e, 0x58, 0x97, 0x78, 0x57, 0xf5, 0x68, 0x97, 0x33, 0x56, 0x6a,
  	0x3c, 0xdb, 0x38, 0x2d, 0xdb, 0xfe, 0xe6, 0x88, 0x15, 0x8d, 0xf1, 0x80, 0x2e, 0x38, 0x2e, 0x0f,
  	0x83, 0x16, 0x94, 0x9a, 0x71, 0x7e, 0xb8, 0x93, 0xf6, 0x6c, 0xbf, 0x57, 0x3b, 0xbe, 0x91, 0x26,
  	0x41, 0x59, 0x4e, 0xb8, 0x0e, 0x96, 0xdd, 0x0e, 0x63, 0x24, 0x10, 0x43, 0x02, 0x9f, 0x31, 0x0a,
  	0x2c, 0x37, 0xb3, 0x66, 0x34, 0x8c, 0x97, 0x14, 0x1e, 0xe1, 0x94, 0x11, 0x2f, 0xa6, 0x28, 0x65,
  	0x29, 0xde, 0xce, 0x9a, 0xd1, 0x30, 0x1e, 0xb6, 0xc1, 0x92, 0x61, 0x35, 0x7a, 0x57, 0xe6, 0xd4,
  	0x96, 0xbd, 0x74, 0xc0, 0x2d, 0xd3, 0x43, 0x37, 0xee, 0xc1, 0x66, 0x86, 0x0b, 0x0d, 0x71, 0x43,
  	0x01, 0x80, 0x3b, 0x18, 0x71, 0xbc, 0x32, 0xaf, 0x22, 0xbd, 0x35, 0xe5, 0x19, 0x8c, 0x67, 0x65,
  	0x72, 0x7d, 0xc5, 0x4b, 0x1c, 0xa5, 0xe2, 0x58, 0xbf, 0x16, 0x01, 0x48, 0x3a, 0x0c, 0xae, 0x65,
  	0x86, 0xfc, 0xea, 0xd0, 0x90, 0x3f, 0x61, 0x90, 0xea, 0xd5, 0x93, 0x1a, 0xe8, 0x77, 0xc1, 0x7c,
  	0xa8, 0x4e, 0x9e, 0x69, 0x86, 0xfa, 0xa4, 0xb4, 0xe3, 0xbb, 0x34, 0x66, 0x6b, 0x00, 0x39, 0x3a,
  	0xcd, 0xf9, 0x35, 0x6c, 0xf0, 0x06, 0x28, 0x45, 0xa1, 0x37, 0xb8, 0xfc, 0x2e, 0x4f, 0x62, 0xbd,
  	0x15, 0x7a, 0x3c, 0xc3, 0xb9, 0x20, 0x73, 0x97, 0xab, 0x48, 0xf1, 0xc0, 0x8f, 0xc1, 0xc2, 0xe0,
  	0xcd, 0xa6, 0x9a, 0xa1, 0x5c, 0x5f, 0x9b, 0xc4, 0x89, 0x0c, 0x3e, 0xc3, 0xbb, 0x28, 0x27, 0xe8,
  	0xc0, 0x82, 0x62, 0x4e, 0xeb, 0xb7, 0x22, 0x58, 0x4c, 0xef, 0xfd, 0x7f, 0x22, 0xa7, 0xee, 0xba,
  	0xa3, 0x95, 0x53, 0x73, 0x1e, 0xbd, 0x9c, 0x9a, 0x37, 0x4f, 0xce, 0x6f, 0x8a, 0x00, 0x8e, 0x76,
  	0x0a, 0x74, 0xc1, 0xbc, 0x50, 0x93, 0xfb, 0x28, 0x6e, 0x88, 0xf8, 0xd6, 0x36, 0x97, 0x81, 0xa1,
  	0x96, 0x4f, 0x51, 0x3d, 0x5b, 0x6f, 0x24, 0x4f, 0xd6, 0xf8, 0x2c, 0x6d, 0xc6, 0x16, 0x94, 0x42,
  	0x41, 0x02, 0xca, 0xda, 0xfb, 0x2e, 0x6e, 0x77, 0x06, 0x4f, 0x90, 0x7d, 0x6f, 0x68, 0x7b, 0x50,
  	0xab, 0xfd, 0x5e, 0x07, 0x07, 0x82, 0x8a, 0xbd, 0xe4, 0x0a, 0xd9, 0x4a, 0xa8, 0x50, 0x9a, 0xd7,
  	0xfa, 0x6e, 0x58, 0x16, 0xdd, 0x6b, 0xff, 0x5b, 0x59, 0x76, 0xc0, 0xa2, 0x19, 0x75, 0xff, 0x44,
  	0x97, 0x53, 0x26, 0xca, 0x62, 0x33, 0xc5, 0x85, 0x32, 0xcc, 0xd6, 0xcf, 0x05, 0x70, 0x62, 0x78,
  	0x08, 0x0c, 0xa5, 0x5c, 0x38, 0x50, 0xca, 0x0f, 0x00, 0xd4, 0x05, 0xaf, 0x77, 0x09, 0xc3, 0x2d,
  	0xa2, 0x13, 0x2f, 0x4e, 0x95, 0x78, 0xfc, 0xae, 0xdc, 0x1a, 0x61, 0x44, 0x63, 0xa2, 0x58, 0xbf,
  	0x64, 0x8b, 0xd0, 0x9b, 0x3b, 0x4d, 0x11, 0x5f, 0x80, 0x93, 0x46, 0x9d, 0x23, 0xa8, 0xe2, 0x9c,
  	0x09, 0x76, 0xb2, 0x39, 0x4a, 0x89, 0xc6, 0xc5, 0xb1, 0xbe, 0x2f, 0x82, 0x53, 0xe3, 0xa6, 0x27,
  	0x6c, 0x9a, 0xff, 0x81, 0xba, 0x0a, 0x27, 0xfd, 0x3f, 0xf0, 0x69, 0xaf, 0x56, 0x1b, 0xf3, 0xf4,
  	0x1f, 0xd0, 0xa4, 0xfe, 0x2a, 0xbe, 0x0f, 0x2a, 0x19, 0xed, 0xee, 0x08, 0xda, 0xa6, 0x0f, 0xf4,
  	0xa3, 0x46, 0x3f, 0xdf, 0x9e, 0xeb, 0xf7, 0x6a, 0x95, 0xad, 0x1c, 0x0c, 0xca, 0xf5, 0x96, 0xff,
  	0x27, 0xc6, 0xec, 0xfd, 0x74, 0x4d, 0x7b, 0xfa, 0x10, 0xfb, 0xfe, 0xe3, 0xa8, 0x5e, 0x7a, 0xef,
  	0x8f, 0x44, 0xaf, 0x0f, 0xc1, 0xd9, 0xec, 0x26, 0x8d, 0x0a, 0x76, 0xbe, 0xdf, 0xab, 0x9d, 0x6d,
  	0xe6, 0x81, 0x50, 0xbe, 0x7f, 0x5e, 0xa7, 0xcd, 0xfe, 0x3b, 0x9d, 0xd6, 0xb8, 0xf4, 0xf0, 0x49,
  	0x75, 0xe6, 0xd1, 0x93, 0xea, 0xcc, 0xe3, 0x27, 0xd5, 0x99, 0x2f, 0xfb, 0xd5, 0xc2, 0xc3, 0x7e,
  	0xb5, 0xf0, 0xa8, 0x5f, 0x2d, 0x3c, 0xee, 0x57, 0x0b, 0x7f, 0xf6, 0xab, 0x85, 0xaf, 0xff, 0xaa,
  	0xce, 0x7c, 0x70, 0xcc, 0xcc, 0xbd, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0xac, 0xf1, 0x6a, 0x4f,
  	0x90, 0x12, 0x00, 0x00,
  }
  