func (in *OidcConfig) DeepCopyInto(out *OidcConfig) {
	*out = *in
	if in.SecurePaths != nil {
		in, out := &in.SecurePaths, &out.SecurePaths
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.NonSecurePaths != nil {
		in, out := &in.NonSecurePaths, &out.NonSecurePaths
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
package v1alpha2
import (
	v2beta1 "k8s.io/api/autoscaling/v2beta1"
	v1 "k8s.io/api/core/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
)
func (in *APIDefinition) DeepCopyInto(out *APIDefinition) {
	*out = *in
	return
}
func (in *APIDefinition) DeepCopy() *APIDefinition {
	if in == nil {
		return nil
	}
	out := new(APIDefinition)
	in.DeepCopyInto(out)
	return out
}
func (in *ApiPublisherConfig) DeepCopyInto(out *ApiPublisherConfig) {
	*out = *in
	return
}
func (in *ApiPublisherConfig) DeepCopy() *ApiPublisherConfig {
	if in == nil {
		return nil
	}
	out := new(ApiPublisherConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *Cell) DeepCopyInto(out *Cell) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}
func (in *Cell) DeepCopy() *Cell {
	if in == nil {
		return nil
	}
	out := new(Cell)
	in.DeepCopyInto(out)
	return out
}
func (in *Cell) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *CellCondition) DeepCopyInto(out *CellCondition) {
	*out = *in
	return
}
func (in *CellCondition) DeepCopy() *CellCondition {
	if in == nil {
		return nil
	}
	out := new(CellCondition)
	in.DeepCopyInto(out)
	return out
}
func (in *CellList) DeepCopyInto(out *CellList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Cell, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *CellList) DeepCopy() *CellList {
	if in == nil {
		return nil
	}
	out := new(CellList)
	in.DeepCopyInto(out)
	return out
}
func (in *CellList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *CellSpec) DeepCopyInto(out *CellSpec) {
	*out = *in
	in.Gateway.DeepCopyInto(&out.Gateway)
	if in.Components != nil {
		in, out := &in.Components, &out.Components
		*out = make([]Component, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	in.TokenService.DeepCopyInto(&out.TokenService)
	return
}
func (in *CellSpec) DeepCopy() *CellSpec {
	if in == nil {
		return nil
	}
	out := new(CellSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *CellStatus) DeepCopyInto(out *CellStatus) {
	*out = *in
	if in.ComponentStatuses != nil {
		in, out := &in.ComponentStatuses, &out.ComponentStatuses
		*out = make(map[string]ComponentCurrentStatus, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.ComponentGenerations != nil {
		in, out := &in.ComponentGenerations, &out.ComponentGenerations
		*out = make(map[string]int64, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]CellCondition, len(*in))
		copy(*out, *in)
	}
	return
}
func (in *CellStatus) DeepCopy() *CellStatus {
	if in == nil {
		return nil
	}
	out := new(CellStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterIngressConfig) DeepCopyInto(out *ClusterIngressConfig) {
	*out = *in
	out.Tls = in.Tls
	return
}
func (in *ClusterIngressConfig) DeepCopy() *ClusterIngressConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterIngressConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *Component) DeepCopyInto(out *Component) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}
func (in *Component) DeepCopy() *Component {
	if in == nil {
		return nil
	}
	out := new(Component)
	in.DeepCopyInto(out)
	return out
}
func (in *Component) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ComponentList) DeepCopyInto(out *ComponentList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Component, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *ComponentList) DeepCopy() *ComponentList {
	if in == nil {
		return nil
	}
	out := new(ComponentList)
	in.DeepCopyInto(out)
	return out
}
func (in *ComponentList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ComponentScalingPolicy) DeepCopyInto(out *ComponentScalingPolicy) {
	*out = *in
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int32)
		**out = **in
	}
	if in.Hpa != nil {
		in, out := &in.Hpa, &out.Hpa
		*out = new(HorizontalPodAutoscaler)
		(*in).DeepCopyInto(*out)
	}
	if in.Kpa != nil {
		in, out := &in.Kpa, &out.Kpa
		*out = new(KnativePodAutoscaler)
		(*in).DeepCopyInto(*out)
	}
	return
}
func (in *ComponentScalingPolicy) DeepCopy() *ComponentScalingPolicy {
	if in == nil {
		return nil
	}
	out := new(ComponentScalingPolicy)
	in.DeepCopyInto(out)
	return out
}
func (in *ComponentSpec) DeepCopyInto(out *ComponentSpec) {
	*out = *in
	in.ScalingPolicy.DeepCopyInto(&out.ScalingPolicy)
	in.Template.DeepCopyInto(&out.Template)
	if in.Ports != nil {
		in, out := &in.Ports, &out.Ports
		*out = make([]PortMapping, len(*in))
		copy(*out, *in)
	}
	if in.VolumeClaims != nil {
		in, out := &in.VolumeClaims, &out.VolumeClaims
		*out = make([]VolumeClaim, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Configurations != nil {
		in, out := &in.Configurations, &out.Configurations
		*out = make([]v1.ConfigMap, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Secrets != nil {
		in, out := &in.Secrets, &out.Secrets
		*out = make([]v1.Secret, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *ComponentSpec) DeepCopy() *ComponentSpec {
	if in == nil {
		return nil
	}
	out := new(ComponentSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *ComponentStatus) DeepCopyInto(out *ComponentStatus) {
	*out = *in
	if in.PersistantVolumeClaimGenerations != nil {
		in, out := &in.PersistantVolumeClaimGenerations, &out.PersistantVolumeClaimGenerations
		*out = make(map[string]int64, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.ConfigMapGenerations != nil {
		in, out := &in.ConfigMapGenerations, &out.ConfigMapGenerations
		*out = make(map[string]int64, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.SecretGenerations != nil {
		in, out := &in.SecretGenerations, &out.SecretGenerations
		*out = make(map[string]int64, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	return
}
func (in *ComponentStatus) DeepCopy() *ComponentStatus {
	if in == nil {
		return nil
	}
	out := new(ComponentStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *Composite) DeepCopyInto(out *Composite) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}
func (in *Composite) DeepCopy() *Composite {
	if in == nil {
		return nil
	}
	out := new(Composite)
	in.DeepCopyInto(out)
	return out
}
func (in *Composite) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *CompositeCondition) DeepCopyInto(out *CompositeCondition) {
	*out = *in
	return
}
func (in *CompositeCondition) DeepCopy() *CompositeCondition {
	if in == nil {
		return nil
	}
	out := new(CompositeCondition)
	in.DeepCopyInto(out)
	return out
}
func (in *CompositeList) DeepCopyInto(out *CompositeList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Composite, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *CompositeList) DeepCopy() *CompositeList {
	if in == nil {
		return nil
	}
	out := new(CompositeList)
	in.DeepCopyInto(out)
	return out
}
func (in *CompositeList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *CompositeSpec) DeepCopyInto(out *CompositeSpec) {
	*out = *in
	if in.Components != nil {
		in, out := &in.Components, &out.Components
		*out = make([]Component, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *CompositeSpec) DeepCopy() *CompositeSpec {
	if in == nil {
		return nil
	}
	out := new(CompositeSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *CompositeStatus) DeepCopyInto(out *CompositeStatus) {
	*out = *in
	if in.ComponentStatuses != nil {
		in, out := &in.ComponentStatuses, &out.ComponentStatuses
		*out = make(map[string]ComponentCurrentStatus, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.ComponentGenerations != nil {
		in, out := &in.ComponentGenerations, &out.ComponentGenerations
		*out = make(map[string]int64, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]CompositeCondition, len(*in))
		copy(*out, *in)
	}
	return
}
func (in *CompositeStatus) DeepCopy() *CompositeStatus {
	if in == nil {
		return nil
	}
	out := new(CompositeStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *Destination) DeepCopyInto(out *Destination) {
	*out = *in
	return
}
func (in *Destination) DeepCopy() *Destination {
	if in == nil {
		return nil
	}
	out := new(Destination)
	in.DeepCopyInto(out)
	return out
}
func (in *GRPCRoute) DeepCopyInto(out *GRPCRoute) {
	*out = *in
	out.Destination = in.Destination
	return
}
func (in *GRPCRoute) DeepCopy() *GRPCRoute {
	if in == nil {
		return nil
	}
	out := new(GRPCRoute)
	in.DeepCopyInto(out)
	return out
}
func (in *Gateway) DeepCopyInto(out *Gateway) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	out.Status = in.Status
	return
}
func (in *Gateway) DeepCopy() *Gateway {
	if in == nil {
		return nil
	}
	out := new(Gateway)
	in.DeepCopyInto(out)
	return out
}
func (in *Gateway) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *GatewayList) DeepCopyInto(out *GatewayList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Gateway, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *GatewayList) DeepCopy() *GatewayList {
	if in == nil {
		return nil
	}
	out := new(GatewayList)
	in.DeepCopyInto(out)
	return out
}
func (in *GatewayList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *GatewaySpec) DeepCopyInto(out *GatewaySpec) {
	*out = *in
	in.Ingress.DeepCopyInto(&out.Ingress)
	in.ScalingPolicy.DeepCopyInto(&out.ScalingPolicy)
	return
}
func (in *GatewaySpec) DeepCopy() *GatewaySpec {
	if in == nil {
		return nil
	}
	out := new(GatewaySpec)
	in.DeepCopyInto(out)
	return out
}
func (in *GatewayStatus) DeepCopyInto(out *GatewayStatus) {
	*out = *in
	return
}
func (in *GatewayStatus) DeepCopy() *GatewayStatus {
	if in == nil {
		return nil
	}
	out := new(GatewayStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *GwScalingPolicy) DeepCopyInto(out *GwScalingPolicy) {
	*out = *in
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int32)
		**out = **in
	}
	if in.Hpa != nil {
		in, out := &in.Hpa, &out.Hpa
		*out = new(HorizontalPodAutoscaler)
		(*in).DeepCopyInto(*out)
	}
	return
}
func (in *GwScalingPolicy) DeepCopy() *GwScalingPolicy {
	if in == nil {
		return nil
	}
	out := new(GwScalingPolicy)
	in.DeepCopyInto(out)
	return out
}
func (in *HTTPRoute) DeepCopyInto(out *HTTPRoute) {
	*out = *in
	if in.Definitions != nil {
		in, out := &in.Definitions, &out.Definitions
		*out = make([]APIDefinition, len(*in))
		copy(*out, *in)
	}
	out.Destination = in.Destination
	return
}
func (in *HTTPRoute) DeepCopy() *HTTPRoute {
	if in == nil {
		return nil
	}
	out := new(HTTPRoute)
	in.DeepCopyInto(out)
	return out
}
func (in *HorizontalPodAutoscaler) DeepCopyInto(out *HorizontalPodAutoscaler) {
	*out = *in
	if in.Overridable != nil {
		in, out := &in.Overridable, &out.Overridable
		*out = new(bool)
		**out = **in
	}
	in.ReplicaRange.DeepCopyInto(&out.ReplicaRange)
	if in.Metrics != nil {
		in, out := &in.Metrics, &out.Metrics
		*out = make([]v2beta1.MetricSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *HorizontalPodAutoscaler) DeepCopy() *HorizontalPodAutoscaler {
	if in == nil {
		return nil
	}
	out := new(HorizontalPodAutoscaler)
	in.DeepCopyInto(out)
	return out
}
func (in *Ingress) DeepCopyInto(out *Ingress) {
	*out = *in
	in.IngressExtensions.DeepCopyInto(&out.IngressExtensions)
	if in.HTTPRoutes != nil {
		in, out := &in.HTTPRoutes, &out.HTTPRoutes
		*out = make([]HTTPRoute, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.GRPCRoutes != nil {
		in, out := &in.GRPCRoutes, &out.GRPCRoutes
		*out = make([]GRPCRoute, len(*in))
		copy(*out, *in)
	}
	if in.TCPRoutes != nil {
		in, out := &in.TCPRoutes, &out.TCPRoutes
		*out = make([]TCPRoute, len(*in))
		copy(*out, *in)
	}
	return
}
func (in *Ingress) DeepCopy() *Ingress {
	if in == nil {
		return nil
	}
	out := new(Ingress)
	in.DeepCopyInto(out)
	return out
}
func (in *IngressExtensions) DeepCopyInto(out *IngressExtensions) {
	*out = *in
	if in.ApiPublisher != nil {
		in, out := &in.ApiPublisher, &out.ApiPublisher
		*out = new(ApiPublisherConfig)
		**out = **in
	}
	if in.ClusterIngress != nil {
		in, out := &in.ClusterIngress, &out.ClusterIngress
		*out = new(ClusterIngressConfig)
		**out = **in
	}
	if in.OidcConfig != nil {
		in, out := &in.OidcConfig, &out.OidcConfig
		*out = new(OidcConfig)
		(*in).DeepCopyInto(*out)
	}
	return
}
func (in *IngressExtensions) DeepCopy() *IngressExtensions {
	if in == nil {
		return nil
	}
	out := new(IngressExtensions)
	in.DeepCopyInto(out)
	return out
}
func (in *KnativePodAutoscaler) DeepCopyInto(out *KnativePodAutoscaler) {
	*out = *in
	in.ReplicaRange.DeepCopyInto(&out.ReplicaRange)
	if in.Selector != nil {
		in, out := &in.Selector, &out.Selector
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	return
}
func (in *KnativePodAutoscaler) DeepCopy() *KnativePodAutoscaler {
	if in == nil {
		return nil
	}
	out := new(KnativePodAutoscaler)
	in.DeepCopyInto(out)
	return out
}