//go:build !ignore_autogenerated
// +build !ignore_autogenerated

/*
Copyright AppsCode Inc. and Contributors

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 deepcopy-gen. DO NOT EDIT.

package v1alpha1

import (
	v1 "kmodules.xyz/client-go/api/v1"
	shared "kmodules.xyz/resource-metadata/apis/shared"
	api "kmodules.xyz/resource-metrics/api"

	corev1 "k8s.io/api/core/v1"
	apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
	resource "k8s.io/apimachinery/pkg/api/resource"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	unstructured "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
	runtime "k8s.io/apimachinery/pkg/runtime"
	chartsv1alpha1 "x-helm.dev/apimachinery/apis/charts/v1alpha1"
	apisshared "x-helm.dev/apimachinery/apis/shared"
)

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AttributeDefinition) DeepCopyInto(out *AttributeDefinition) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttributeDefinition.
func (in *AttributeDefinition) DeepCopy() *AttributeDefinition {
	if in == nil {
		return nil
	}
	out := new(AttributeDefinition)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ChartPresetQuery) DeepCopyInto(out *ChartPresetQuery) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	if in.Request != nil {
		in, out := &in.Request, &out.Request
		*out = new(chartsv1alpha1.ChartPresetFlatRef)
		**out = **in
	}
	if in.Response != nil {
		in, out := &in.Response, &out.Response
		*out = new(ChartPresetQueryResponse)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartPresetQuery.
func (in *ChartPresetQuery) DeepCopy() *ChartPresetQuery {
	if in == nil {
		return nil
	}
	out := new(ChartPresetQuery)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ChartPresetQuery) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ChartPresetQueryResponse) DeepCopyInto(out *ChartPresetQueryResponse) {
	*out = *in
	if in.Presets != nil {
		in, out := &in.Presets, &out.Presets
		*out = make([]chartsv1alpha1.ChartPresetValues, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartPresetQueryResponse.
func (in *ChartPresetQueryResponse) DeepCopy() *ChartPresetQueryResponse {
	if in == nil {
		return nil
	}
	out := new(ChartPresetQueryResponse)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterProfile) DeepCopyInto(out *ClusterProfile) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProfile.
func (in *ClusterProfile) DeepCopy() *ClusterProfile {
	if in == nil {
		return nil
	}
	out := new(ClusterProfile)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterProfile) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterProfileList) DeepCopyInto(out *ClusterProfileList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClusterProfile, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProfileList.
func (in *ClusterProfileList) DeepCopy() *ClusterProfileList {
	if in == nil {
		return nil
	}
	out := new(ClusterProfileList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterProfileList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	if in.Response != nil {
		in, out := &in.Response, &out.Response
		*out = new(ClusterStatusResponse)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.
func (in *ClusterStatus) DeepCopy() *ClusterStatus {
	if in == nil {
		return nil
	}
	out := new(ClusterStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterStatus) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterStatusResponse) DeepCopyInto(out *ClusterStatusResponse) {
	*out = *in
	if in.ClusterManagers != nil {
		in, out := &in.ClusterManagers, &out.ClusterManagers
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ClusterAPI != nil {
		in, out := &in.ClusterAPI, &out.ClusterAPI
		*out = new(v1.CAPIClusterInfo)
		**out = **in
	}
	if in.ClusterMetadata != nil {
		in, out := &in.ClusterMetadata, &out.ClusterMetadata
		*out = new(v1.ClusterMetadata)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatusResponse.
func (in *ClusterStatusResponse) DeepCopy() *ClusterStatusResponse {
	if in == nil {
		return nil
	}
	out := new(ClusterStatusResponse)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ColorDefinition) DeepCopyInto(out *ColorDefinition) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ColorDefinition.
func (in *ColorDefinition) DeepCopy() *ColorDefinition {
	if in == nil {
		return nil
	}
	out := new(ColorDefinition)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ContactData) DeepCopyInto(out *ContactData) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContactData.
func (in *ContactData) DeepCopy() *ContactData {
	if in == nil {
		return nil
	}
	out := new(ContactData)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DashboardDefinition) DeepCopyInto(out *DashboardDefinition) {
	*out = *in
	if in.Dashboard != nil {
		in, out := &in.Dashboard, &out.Dashboard
		*out = new(shared.Dashboard)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DashboardDefinition.
func (in *DashboardDefinition) DeepCopy() *DashboardDefinition {
	if in == nil {
		return nil
	}
	out := new(DashboardDefinition)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DashboardResponse) DeepCopyInto(out *DashboardResponse) {
	*out = *in
	if in.Panels != nil {
		in, out := &in.Panels, &out.Panels
		*out = make([]PanelLinkResponse, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DashboardResponse.
func (in *DashboardResponse) DeepCopy() *DashboardResponse {
	if in == nil {
		return nil
	}
	out := new(DashboardResponse)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DashboardResult) DeepCopyInto(out *DashboardResult) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DashboardResult.
func (in *DashboardResult) DeepCopy() *DashboardResult {
	if in == nil {
		return nil
	}
	out := new(DashboardResult)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ExecDefinition) DeepCopyInto(out *ExecDefinition) {
	*out = *in
	if in.Command != nil {
		in, out := &in.Command, &out.Command
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecDefinition.
func (in *ExecDefinition) DeepCopy() *ExecDefinition {
	if in == nil {
		return nil
	}
	out := new(ExecDefinition)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ExecResult) DeepCopyInto(out *ExecResult) {
	*out = *in
	if in.Command != nil {
		in, out := &in.Command, &out.Command
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecResult.
func (in *ExecResult) DeepCopy() *ExecResult {
	if in == nil {
		return nil
	}
	out := new(ExecResult)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in FeatureList) DeepCopyInto(out *FeatureList) {
	{
		in := &in
		*out = make(FeatureList, len(*in))
		copy(*out, *in)
		return
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureList.
func (in FeatureList) DeepCopy() FeatureList {
	if in == nil {
		return nil
	}
	out := new(FeatureList)
	in.DeepCopyInto(out)
	return *out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GatewayInfo) DeepCopyInto(out *GatewayInfo) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	out.Spec = in.Spec
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayInfo.
func (in *GatewayInfo) DeepCopy() *GatewayInfo {
	if in == nil {
		return nil
	}
	out := new(GatewayInfo)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *GatewayInfo) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GatewayInfoSpec) DeepCopyInto(out *GatewayInfoSpec) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayInfoSpec.
func (in *GatewayInfoSpec) DeepCopy() *GatewayInfoSpec {
	if in == nil {
		return nil
	}
	out := new(GatewayInfoSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Link) DeepCopyInto(out *Link) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Link.
func (in *Link) DeepCopy() *Link {
	if in == nil {
		return nil
	}
	out := new(Link)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Menu) DeepCopyInto(out *Menu) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Menu.
func (in *Menu) DeepCopy() *Menu {
	if in == nil {
		return nil
	}
	out := new(Menu)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Menu) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MenuEntry) DeepCopyInto(out *MenuEntry) {
	*out = *in
	if in.Type != nil {
		in, out := &in.Type, &out.Type
		*out = new(metav1.GroupKind)
		**out = **in
	}
	if in.Icons != nil {
		in, out := &in.Icons, &out.Icons
		*out = make([]apisshared.ImageSpec, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MenuEntry.
func (in *MenuEntry) DeepCopy() *MenuEntry {
	if in == nil {
		return nil
	}
	out := new(MenuEntry)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MenuItem) DeepCopyInto(out *MenuItem) {
	*out = *in
	if in.Resource != nil {
		in, out := &in.Resource, &out.Resource
		*out = new(v1.ResourceID)
		**out = **in
	}
	if in.Icons != nil {
		in, out := &in.Icons, &out.Icons
		*out = make([]apisshared.ImageSpec, len(*in))
		copy(*out, *in)
	}
	if in.Installer != nil {
		in, out := &in.Installer, &out.Installer
		*out = new(shared.DeploymentParameters)
		(*in).DeepCopyInto(*out)
	}
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]MenuItem, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MenuItem.
func (in *MenuItem) DeepCopy() *MenuItem {
	if in == nil {
		return nil
	}
	out := new(MenuItem)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MenuList) DeepCopyInto(out *MenuList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Menu, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MenuList.
func (in *MenuList) DeepCopy() *MenuList {
	if in == nil {
		return nil
	}
	out := new(MenuList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MenuList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MenuOutline) DeepCopyInto(out *MenuOutline) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MenuOutline.
func (in *MenuOutline) DeepCopy() *MenuOutline {
	if in == nil {
		return nil
	}
	out := new(MenuOutline)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MenuOutline) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MenuOutlineList) DeepCopyInto(out *MenuOutlineList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]MenuOutline, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MenuOutlineList.
func (in *MenuOutlineList) DeepCopy() *MenuOutlineList {
	if in == nil {
		return nil
	}
	out := new(MenuOutlineList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MenuOutlineList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MenuOutlineSpec) DeepCopyInto(out *MenuOutlineSpec) {
	*out = *in
	if in.Home != nil {
		in, out := &in.Home, &out.Home
		*out = new(MenuSectionOutlineInfo)
		(*in).DeepCopyInto(*out)
	}
	if in.Sections != nil {
		in, out := &in.Sections, &out.Sections
		*out = make([]MenuSectionOutline, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MenuOutlineSpec.
func (in *MenuOutlineSpec) DeepCopy() *MenuOutlineSpec {
	if in == nil {
		return nil
	}
	out := new(MenuOutlineSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MenuSection) DeepCopyInto(out *MenuSection) {
	*out = *in
	in.MenuSectionInfo.DeepCopyInto(&out.MenuSectionInfo)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]MenuItem, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MenuSection.
func (in *MenuSection) DeepCopy() *MenuSection {
	if in == nil {
		return nil
	}
	out := new(MenuSection)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MenuSectionInfo) DeepCopyInto(out *MenuSectionInfo) {
	*out = *in
	if in.Icons != nil {
		in, out := &in.Icons, &out.Icons
		*out = make([]apisshared.ImageSpec, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MenuSectionInfo.
func (in *MenuSectionInfo) DeepCopy() *MenuSectionInfo {
	if in == nil {
		return nil
	}
	out := new(MenuSectionInfo)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MenuSectionOutline) DeepCopyInto(out *MenuSectionOutline) {
	*out = *in
	in.MenuSectionOutlineInfo.DeepCopyInto(&out.MenuSectionOutlineInfo)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]MenuEntry, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MenuSectionOutline.
func (in *MenuSectionOutline) DeepCopy() *MenuSectionOutline {
	if in == nil {
		return nil
	}
	out := new(MenuSectionOutline)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MenuSectionOutlineInfo) DeepCopyInto(out *MenuSectionOutlineInfo) {
	*out = *in
	if in.Icons != nil {
		in, out := &in.Icons, &out.Icons
		*out = make([]apisshared.ImageSpec, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MenuSectionOutlineInfo.
func (in *MenuSectionOutlineInfo) DeepCopy() *MenuSectionOutlineInfo {
	if in == nil {
		return nil
	}
	out := new(MenuSectionOutlineInfo)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MenuSpec) DeepCopyInto(out *MenuSpec) {
	*out = *in
	if in.Home != nil {
		in, out := &in.Home, &out.Home
		*out = new(MenuSectionInfo)
		(*in).DeepCopyInto(*out)
	}
	if in.Sections != nil {
		in, out := &in.Sections, &out.Sections
		*out = make([]*MenuSection, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(MenuSection)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MenuSpec.
func (in *MenuSpec) DeepCopy() *MenuSpec {
	if in == nil {
		return nil
	}
	out := new(MenuSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NamedEdge) DeepCopyInto(out *NamedEdge) {
	*out = *in
	out.Src = in.Src
	out.Dst = in.Dst
	in.Connection.DeepCopyInto(&out.Connection)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedEdge.
func (in *NamedEdge) DeepCopy() *NamedEdge {
	if in == nil {
		return nil
	}
	out := new(NamedEdge)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NamespaceRef) DeepCopyInto(out *NamespaceRef) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespaceRef.
func (in *NamespaceRef) DeepCopy() *NamespaceRef {
	if in == nil {
		return nil
	}
	out := new(NamespaceRef)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ObjectConnection) DeepCopyInto(out *ObjectConnection) {
	*out = *in
	out.Source = in.Source
	out.Target = in.Target
	if in.Labels != nil {
		in, out := &in.Labels, &out.Labels
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectConnection.
func (in *ObjectConnection) DeepCopy() *ObjectConnection {
	if in == nil {
		return nil
	}
	out := new(ObjectConnection)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ObjectLocator) DeepCopyInto(out *ObjectLocator) {
	*out = *in
	in.Src.DeepCopyInto(&out.Src)
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectLocator.
func (in *ObjectLocator) DeepCopy() *ObjectLocator {
	if in == nil {
		return nil
	}
	out := new(ObjectLocator)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ObjectPointer) DeepCopyInto(out *ObjectPointer) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectPointer.
func (in *ObjectPointer) DeepCopy() *ObjectPointer {
	if in == nil {
		return nil
	}
	out := new(ObjectPointer)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ObjectRef) DeepCopyInto(out *ObjectRef) {
	*out = *in
	out.Target = in.Target
	if in.Selector != nil {
		in, out := &in.Selector, &out.Selector
		*out = new(metav1.LabelSelector)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectRef.
func (in *ObjectRef) DeepCopy() *ObjectRef {
	if in == nil {
		return nil
	}
	out := new(ObjectRef)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PageBlockLayout) DeepCopyInto(out *PageBlockLayout) {
	*out = *in
	if in.Icons != nil {
		in, out := &in.Icons, &out.Icons
		*out = make([]apisshared.ImageSpec, len(*in))
		copy(*out, *in)
	}
	if in.ResourceLocator != nil {
		in, out := &in.ResourceLocator, &out.ResourceLocator
		*out = new(shared.ResourceLocator)
		**out = **in
	}
	if in.Actions != nil {
		in, out := &in.Actions, &out.Actions
		*out = new(ResourceActions)
		**out = **in
	}
	if in.View != nil {
		in, out := &in.View, &out.View
		*out = new(PageBlockTableDefinition)
		(*in).DeepCopyInto(*out)
	}
	if in.RequiredFeatureSets != nil {
		in, out := &in.RequiredFeatureSets, &out.RequiredFeatureSets
		*out = make(map[string]FeatureList, len(*in))
		for key, val := range *in {
			var outVal []string
			if val == nil {
				(*out)[key] = nil
			} else {
				in, out := &val, &outVal
				*out = make(FeatureList, len(*in))
				copy(*out, *in)
			}
			(*out)[key] = outVal
		}
	}
	if in.Filters != nil {
		in, out := &in.Filters, &out.Filters
		*out = make(map[string]bool, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PageBlockLayout.
func (in *PageBlockLayout) DeepCopy() *PageBlockLayout {
	if in == nil {
		return nil
	}
	out := new(PageBlockLayout)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PageBlockOutline) DeepCopyInto(out *PageBlockOutline) {
	*out = *in
	if in.Icons != nil {
		in, out := &in.Icons, &out.Icons
		*out = make([]apisshared.ImageSpec, len(*in))
		copy(*out, *in)
	}
	if in.ResourceLocator != nil {
		in, out := &in.ResourceLocator, &out.ResourceLocator
		*out = new(shared.ResourceLocator)
		**out = **in
	}
	if in.Actions != nil {
		in, out := &in.Actions, &out.Actions
		*out = new(ResourceActions)
		**out = **in
	}
	if in.View != nil {
		in, out := &in.View, &out.View
		*out = new(ResourceTableDefinitionRef)
		(*in).DeepCopyInto(*out)
	}
	if in.RequiredFeatureSets != nil {
		in, out := &in.RequiredFeatureSets, &out.RequiredFeatureSets
		*out = make(map[string]FeatureList, len(*in))
		for key, val := range *in {
			var outVal []string
			if val == nil {
				(*out)[key] = nil
			} else {
				in, out := &val, &outVal
				*out = make(FeatureList, len(*in))
				copy(*out, *in)
			}
			(*out)[key] = outVal
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PageBlockOutline.
func (in *PageBlockOutline) DeepCopy() *PageBlockOutline {
	if in == nil {
		return nil
	}
	out := new(PageBlockOutline)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PageBlockTableDefinition) DeepCopyInto(out *PageBlockTableDefinition) {
	*out = *in
	if in.Columns != nil {
		in, out := &in.Columns, &out.Columns
		*out = make([]ResourceColumnDefinition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Sort != nil {
		in, out := &in.Sort, &out.Sort
		*out = new(TableSortOption)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PageBlockTableDefinition.
func (in *PageBlockTableDefinition) DeepCopy() *PageBlockTableDefinition {
	if in == nil {
		return nil
	}
	out := new(PageBlockTableDefinition)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PageBlockView) DeepCopyInto(out *PageBlockView) {
	*out = *in
	if in.Actions != nil {
		in, out := &in.Actions, &out.Actions
		*out = new(ResourceActions)
		**out = **in
	}
	if in.Resource != nil {
		in, out := &in.Resource, &out.Resource
		*out = new(v1.ResourceID)
		**out = **in
	}
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]unstructured.Unstructured, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Table != nil {
		in, out := &in.Table, &out.Table
		*out = new(Table)
		(*in).DeepCopyInto(*out)
	}
	out.Result = in.Result
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PageBlockView.
func (in *PageBlockView) DeepCopy() *PageBlockView {
	if in == nil {
		return nil
	}
	out := new(PageBlockView)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PanelLinkResponse) DeepCopyInto(out *PanelLinkResponse) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PanelLinkResponse.
func (in *PanelLinkResponse) DeepCopy() *PanelLinkResponse {
	if in == nil {
		return nil
	}
	out := new(PanelLinkResponse)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *QuotaDecision) DeepCopyInto(out *QuotaDecision) {
	*out = *in
	if in.Violations != nil {
		in, out := &in.Violations, &out.Violations
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QuotaDecision.
func (in *QuotaDecision) DeepCopy() *QuotaDecision {
	if in == nil {
		return nil
	}
	out := new(QuotaDecision)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Render) DeepCopyInto(out *Render) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	if in.Request != nil {
		in, out := &in.Request, &out.Request
		*out = new(RenderRequest)
		(*in).DeepCopyInto(*out)
	}
	if in.Response != nil {
		in, out := &in.Response, &out.Response
		*out = new(RenderResponse)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Render.
func (in *Render) DeepCopy() *Render {
	if in == nil {
		return nil
	}
	out := new(Render)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Render) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RenderDashboard) DeepCopyInto(out *RenderDashboard) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	if in.Request != nil {
		in, out := &in.Request, &out.Request
		*out = new(RenderDashboardRequest)
		(*in).DeepCopyInto(*out)
	}
	if in.Response != nil {
		in, out := &in.Response, &out.Response
		*out = new(RenderDashboardResponse)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RenderDashboard.
func (in *RenderDashboard) DeepCopy() *RenderDashboard {
	if in == nil {
		return nil
	}
	out := new(RenderDashboard)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *RenderDashboard) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RenderDashboardRequest) DeepCopyInto(out *RenderDashboardRequest) {
	*out = *in
	if in.Source != nil {
		in, out := &in.Source, &out.Source
		*out = new(runtime.RawExtension)
		(*in).DeepCopyInto(*out)
	}
	if in.SourceLocator != nil {
		in, out := &in.SourceLocator, &out.SourceLocator
		*out = new(shared.SourceLocator)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RenderDashboardRequest.
func (in *RenderDashboardRequest) DeepCopy() *RenderDashboardRequest {
	if in == nil {
		return nil
	}
	out := new(RenderDashboardRequest)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RenderDashboardResponse) DeepCopyInto(out *RenderDashboardResponse) {
	*out = *in
	if in.Dashboards != nil {
		in, out := &in.Dashboards, &out.Dashboards
		*out = make([]DashboardResponse, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RenderDashboardResponse.
func (in *RenderDashboardResponse) DeepCopy() *RenderDashboardResponse {
	if in == nil {
		return nil
	}
	out := new(RenderDashboardResponse)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RenderMenu) DeepCopyInto(out *RenderMenu) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	if in.Request != nil {
		in, out := &in.Request, &out.Request
		*out = new(RenderMenuRequest)
		(*in).DeepCopyInto(*out)
	}
	if in.Response != nil {
		in, out := &in.Response, &out.Response
		*out = new(Menu)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RenderMenu.
func (in *RenderMenu) DeepCopy() *RenderMenu {
	if in == nil {
		return nil
	}
	out := new(RenderMenu)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *RenderMenu) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RenderMenuRequest) DeepCopyInto(out *RenderMenuRequest) {
	*out = *in
	if in.Section != nil {
		in, out := &in.Section, &out.Section
		*out = new(string)
		**out = **in
	}
	if in.Type != nil {
		in, out := &in.Type, &out.Type
		*out = new(metav1.GroupKind)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RenderMenuRequest.
func (in *RenderMenuRequest) DeepCopy() *RenderMenuRequest {
	if in == nil {
		return nil
	}
	out := new(RenderMenuRequest)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RenderRawGraph) DeepCopyInto(out *RenderRawGraph) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	if in.Request != nil {
		in, out := &in.Request, &out.Request
		*out = new(RenderRawGraphRequest)
		(*in).DeepCopyInto(*out)
	}
	if in.Response != nil {
		in, out := &in.Response, &out.Response
		*out = new(runtime.RawExtension)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RenderRawGraph.
func (in *RenderRawGraph) DeepCopy() *RenderRawGraph {
	if in == nil {
		return nil
	}
	out := new(RenderRawGraph)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *RenderRawGraph) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RenderRawGraphRequest) DeepCopyInto(out *RenderRawGraphRequest) {
	*out = *in
	if in.Source != nil {
		in, out := &in.Source, &out.Source
		*out = new(v1.ObjectInfo)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RenderRawGraphRequest.
func (in *RenderRawGraphRequest) DeepCopy() *RenderRawGraphRequest {
	if in == nil {
		return nil
	}
	out := new(RenderRawGraphRequest)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RenderRequest) DeepCopyInto(out *RenderRequest) {
	*out = *in
	out.Source = in.Source
	if in.Block != nil {
		in, out := &in.Block, &out.Block
		*out = new(PageBlockLayout)
		(*in).DeepCopyInto(*out)
	}
	if in.RenderBlocks != nil {
		in, out := &in.RenderBlocks, &out.RenderBlocks
		*out = make([]TableKind, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RenderRequest.
func (in *RenderRequest) DeepCopy() *RenderRequest {
	if in == nil {
		return nil
	}
	out := new(RenderRequest)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RenderResponse) DeepCopyInto(out *RenderResponse) {
	*out = *in
	if in.View != nil {
		in, out := &in.View, &out.View
		*out = new(ResourceView)
		(*in).DeepCopyInto(*out)
	}
	if in.Block != nil {
		in, out := &in.Block, &out.Block
		*out = new(PageBlockView)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RenderResponse.
func (in *RenderResponse) DeepCopy() *RenderResponse {
	if in == nil {
		return nil
	}
	out := new(RenderResponse)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RenderResult) DeepCopyInto(out *RenderResult) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RenderResult.
func (in *RenderResult) DeepCopy() *RenderResult {
	if in == nil {
		return nil
	}
	out := new(RenderResult)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceActions) DeepCopyInto(out *ResourceActions) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceActions.
func (in *ResourceActions) DeepCopy() *ResourceActions {
	if in == nil {
		return nil
	}
	out := new(ResourceActions)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceBlockDefinition) DeepCopyInto(out *ResourceBlockDefinition) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceBlockDefinition.
func (in *ResourceBlockDefinition) DeepCopy() *ResourceBlockDefinition {
	if in == nil {
		return nil
	}
	out := new(ResourceBlockDefinition)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ResourceBlockDefinition) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceBlockDefinitionList) DeepCopyInto(out *ResourceBlockDefinitionList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ResourceBlockDefinition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceBlockDefinitionList.
func (in *ResourceBlockDefinitionList) DeepCopy() *ResourceBlockDefinitionList {
	if in == nil {
		return nil
	}
	out := new(ResourceBlockDefinitionList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ResourceBlockDefinitionList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceBlockDefinitionSpec) DeepCopyInto(out *ResourceBlockDefinitionSpec) {
	*out = *in
	if in.Resource != nil {
		in, out := &in.Resource, &out.Resource
		*out = new(v1.ResourceID)
		**out = **in
	}
	if in.Blocks != nil {
		in, out := &in.Blocks, &out.Blocks
		*out = make([]PageBlockOutline, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceBlockDefinitionSpec.
func (in *ResourceBlockDefinitionSpec) DeepCopy() *ResourceBlockDefinitionSpec {
	if in == nil {
		return nil
	}
	out := new(ResourceBlockDefinitionSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceCalculator) DeepCopyInto(out *ResourceCalculator) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	if in.Request != nil {
		in, out := &in.Request, &out.Request
		*out = new(ResourceCalculatorRequest)
		(*in).DeepCopyInto(*out)
	}
	if in.Response != nil {
		in, out := &in.Response, &out.Response
		*out = new(ResourceCalculatorResponse)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceCalculator.
func (in *ResourceCalculator) DeepCopy() *ResourceCalculator {
	if in == nil {
		return nil
	}
	out := new(ResourceCalculator)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ResourceCalculator) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceCalculatorRequest) DeepCopyInto(out *ResourceCalculatorRequest) {
	*out = *in
	if in.Resource != nil {
		in, out := &in.Resource, &out.Resource
		*out = new(runtime.RawExtension)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceCalculatorRequest.
func (in *ResourceCalculatorRequest) DeepCopy() *ResourceCalculatorRequest {
	if in == nil {
		return nil
	}
	out := new(ResourceCalculatorRequest)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceCalculatorResponse) DeepCopyInto(out *ResourceCalculatorResponse) {
	*out = *in
	out.APIType = in.APIType
	if in.RoleReplicas != nil {
		in, out := &in.RoleReplicas, &out.RoleReplicas
		*out = make(api.ReplicaList, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	in.TotalResource.DeepCopyInto(&out.TotalResource)
	in.AppResource.DeepCopyInto(&out.AppResource)
	if in.RoleResourceLimits != nil {
		in, out := &in.RoleResourceLimits, &out.RoleResourceLimits
		*out = make(map[api.PodRole]corev1.ResourceList, len(*in))
		for key, val := range *in {
			var outVal map[corev1.ResourceName]resource.Quantity
			if val == nil {
				(*out)[key] = nil
			} else {
				in, out := &val, &outVal
				*out = make(corev1.ResourceList, len(*in))
				for key, val := range *in {
					(*out)[key] = val.DeepCopy()
				}
			}
			(*out)[key] = outVal
		}
	}
	if in.RoleResourceRequests != nil {
		in, out := &in.RoleResourceRequests, &out.RoleResourceRequests
		*out = make(map[api.PodRole]corev1.ResourceList, len(*in))
		for key, val := range *in {
			var outVal map[corev1.ResourceName]resource.Quantity
			if val == nil {
				(*out)[key] = nil
			} else {
				in, out := &val, &outVal
				*out = make(corev1.ResourceList, len(*in))
				for key, val := range *in {
					(*out)[key] = val.DeepCopy()
				}
			}
			(*out)[key] = outVal
		}
	}
	in.Quota.DeepCopyInto(&out.Quota)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceCalculatorResponse.
func (in *ResourceCalculatorResponse) DeepCopy() *ResourceCalculatorResponse {
	if in == nil {
		return nil
	}
	out := new(ResourceCalculatorResponse)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceColumn) DeepCopyInto(out *ResourceColumn) {
	*out = *in
	if in.Sort != nil {
		in, out := &in.Sort, &out.Sort
		*out = new(SortHeader)
		**out = **in
	}
	if in.Dashboard != nil {
		in, out := &in.Dashboard, &out.Dashboard
		*out = new(DashboardResult)
		**out = **in
	}
	if in.Exec != nil {
		in, out := &in.Exec, &out.Exec
		*out = new(ExecResult)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceColumn.
func (in *ResourceColumn) DeepCopy() *ResourceColumn {
	if in == nil {
		return nil
	}
	out := new(ResourceColumn)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceColumnDefinition) DeepCopyInto(out *ResourceColumnDefinition) {
	*out = *in
	if in.Sort != nil {
		in, out := &in.Sort, &out.Sort
		*out = new(SortDefinition)
		**out = **in
	}
	if in.Link != nil {
		in, out := &in.Link, &out.Link
		*out = new(AttributeDefinition)
		**out = **in
	}
	if in.Tooltip != nil {
		in, out := &in.Tooltip, &out.Tooltip
		*out = new(AttributeDefinition)
		**out = **in
	}
	if in.Icon != nil {
		in, out := &in.Icon, &out.Icon
		*out = new(AttributeDefinition)
		**out = **in
	}
	if in.Color != nil {
		in, out := &in.Color, &out.Color
		*out = new(ColorDefinition)
		**out = **in
	}
	if in.Dashboard != nil {
		in, out := &in.Dashboard, &out.Dashboard
		*out = new(DashboardDefinition)
		(*in).DeepCopyInto(*out)
	}
	if in.Exec != nil {
		in, out := &in.Exec, &out.Exec
		*out = new(ExecDefinition)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceColumnDefinition.
func (in *ResourceColumnDefinition) DeepCopy() *ResourceColumnDefinition {
	if in == nil {
		return nil
	}
	out := new(ResourceColumnDefinition)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceConnection) DeepCopyInto(out *ResourceConnection) {
	*out = *in
	out.Target = in.Target
	if in.Labels != nil {
		in, out := &in.Labels, &out.Labels
		*out = make([]v1.EdgeLabel, len(*in))
		copy(*out, *in)
	}
	in.ResourceConnectionSpec.DeepCopyInto(&out.ResourceConnectionSpec)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceConnection.
func (in *ResourceConnection) DeepCopy() *ResourceConnection {
	if in == nil {
		return nil
	}
	out := new(ResourceConnection)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceConnectionSpec) DeepCopyInto(out *ResourceConnectionSpec) {
	*out = *in
	if in.Namespace != nil {
		in, out := &in.Namespace, &out.Namespace
		*out = new(NamespaceRef)
		**out = **in
	}
	if in.Selector != nil {
		in, out := &in.Selector, &out.Selector
		*out = new(metav1.LabelSelector)
		(*in).DeepCopyInto(*out)
	}
	if in.References != nil {
		in, out := &in.References, &out.References
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceConnectionSpec.
func (in *ResourceConnectionSpec) DeepCopy() *ResourceConnectionSpec {
	if in == nil {
		return nil
	}
	out := new(ResourceConnectionSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceDescriptor) DeepCopyInto(out *ResourceDescriptor) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceDescriptor.
func (in *ResourceDescriptor) DeepCopy() *ResourceDescriptor {
	if in == nil {
		return nil
	}
	out := new(ResourceDescriptor)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ResourceDescriptor) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceDescriptorList) DeepCopyInto(out *ResourceDescriptorList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ResourceDescriptor, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceDescriptorList.
func (in *ResourceDescriptorList) DeepCopy() *ResourceDescriptorList {
	if in == nil {
		return nil
	}
	out := new(ResourceDescriptorList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ResourceDescriptorList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceDescriptorSpec) DeepCopyInto(out *ResourceDescriptorSpec) {
	*out = *in
	out.Resource = in.Resource
	if in.Connections != nil {
		in, out := &in.Connections, &out.Connections
		*out = make([]ResourceConnection, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Validation != nil {
		in, out := &in.Validation, &out.Validation
		*out = new(apiextensionsv1.CustomResourceValidation)
		(*in).DeepCopyInto(*out)
	}
	if in.Maintainers != nil {
		in, out := &in.Maintainers, &out.Maintainers
		*out = make([]ContactData, len(*in))
		copy(*out, *in)
	}
	if in.Links != nil {
		in, out := &in.Links, &out.Links
		*out = make([]Link, len(*in))
		copy(*out, *in)
	}
	if in.Exec != nil {
		in, out := &in.Exec, &out.Exec
		*out = make([]ResourceExec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceDescriptorSpec.
func (in *ResourceDescriptorSpec) DeepCopy() *ResourceDescriptorSpec {
	if in == nil {
		return nil
	}
	out := new(ResourceDescriptorSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceEditor) DeepCopyInto(out *ResourceEditor) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceEditor.
func (in *ResourceEditor) DeepCopy() *ResourceEditor {
	if in == nil {
		return nil
	}
	out := new(ResourceEditor)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ResourceEditor) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceEditorList) DeepCopyInto(out *ResourceEditorList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ResourceEditor, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceEditorList.
func (in *ResourceEditorList) DeepCopy() *ResourceEditorList {
	if in == nil {
		return nil
	}
	out := new(ResourceEditorList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ResourceEditorList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceExec) DeepCopyInto(out *ResourceExec) {
	*out = *in
	if in.If != nil {
		in, out := &in.If, &out.If
		*out = new(shared.If)
		(*in).DeepCopyInto(*out)
	}
	if in.Command != nil {
		in, out := &in.Command, &out.Command
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceExec.
func (in *ResourceExec) DeepCopy() *ResourceExec {
	if in == nil {
		return nil
	}
	out := new(ResourceExec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceGraph) DeepCopyInto(out *ResourceGraph) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	if in.Request != nil {
		in, out := &in.Request, &out.Request
		*out = new(ResourceGraphRequest)
		**out = **in
	}
	if in.Response != nil {
		in, out := &in.Response, &out.Response
		*out = new(ResourceGraphResponse)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceGraph.
func (in *ResourceGraph) DeepCopy() *ResourceGraph {
	if in == nil {
		return nil
	}
	out := new(ResourceGraph)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ResourceGraph) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceGraphRequest) DeepCopyInto(out *ResourceGraphRequest) {
	*out = *in
	out.Source = in.Source
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceGraphRequest.
func (in *ResourceGraphRequest) DeepCopy() *ResourceGraphRequest {
	if in == nil {
		return nil
	}
	out := new(ResourceGraphRequest)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceGraphResponse) DeepCopyInto(out *ResourceGraphResponse) {
	*out = *in
	if in.Resources != nil {
		in, out := &in.Resources, &out.Resources
		*out = make([]v1.ResourceID, len(*in))
		copy(*out, *in)
	}
	if in.Connections != nil {
		in, out := &in.Connections, &out.Connections
		*out = make([]ObjectConnection, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceGraphResponse.
func (in *ResourceGraphResponse) DeepCopy() *ResourceGraphResponse {
	if in == nil {
		return nil
	}
	out := new(ResourceGraphResponse)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceLayout) DeepCopyInto(out *ResourceLayout) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceLayout.
func (in *ResourceLayout) DeepCopy() *ResourceLayout {
	if in == nil {
		return nil
	}
	out := new(ResourceLayout)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ResourceLayout) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceLayoutList) DeepCopyInto(out *ResourceLayoutList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ResourceLayout, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceLayoutList.
func (in *ResourceLayoutList) DeepCopy() *ResourceLayoutList {
	if in == nil {
		return nil
	}
	out := new(ResourceLayoutList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ResourceLayoutList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceLayoutSpec) DeepCopyInto(out *ResourceLayoutSpec) {
	*out = *in
	out.Resource = in.Resource
	if in.Header != nil {
		in, out := &in.Header, &out.Header
		*out = new(PageBlockLayout)
		(*in).DeepCopyInto(*out)
	}
	if in.TabBar != nil {
		in, out := &in.TabBar, &out.TabBar
		*out = new(PageBlockLayout)
		(*in).DeepCopyInto(*out)
	}
	if in.Pages != nil {
		in, out := &in.Pages, &out.Pages
		*out = make([]ResourcePageLayout, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.UI != nil {
		in, out := &in.UI, &out.UI
		*out = new(shared.UIParameterTemplate)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceLayoutSpec.
func (in *ResourceLayoutSpec) DeepCopy() *ResourceLayoutSpec {
	if in == nil {
		return nil
	}
	out := new(ResourceLayoutSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceManifests) DeepCopyInto(out *ResourceManifests) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	if in.Request != nil {
		in, out := &in.Request, &out.Request
		*out = new(ResourceManifestsRequest)
		**out = **in
	}
	in.Response.DeepCopyInto(&out.Response)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceManifests.
func (in *ResourceManifests) DeepCopy() *ResourceManifests {
	if in == nil {
		return nil
	}
	out := new(ResourceManifests)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ResourceManifests) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceManifestsRequest) DeepCopyInto(out *ResourceManifestsRequest) {
	*out = *in
	out.GroupVersionKind = in.GroupVersionKind
	out.ObjectReference = in.ObjectReference
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceManifestsRequest.
func (in *ResourceManifestsRequest) DeepCopy() *ResourceManifestsRequest {
	if in == nil {
		return nil
	}
	out := new(ResourceManifestsRequest)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceManifestsResponse) DeepCopyInto(out *ResourceManifestsResponse) {
	*out = *in
	if in.Objects != nil {
		in, out := &in.Objects, &out.Objects
		*out = make(map[string]runtime.RawExtension, len(*in))
		for key, val := range *in {
			(*out)[key] = *val.DeepCopy()
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceManifestsResponse.
func (in *ResourceManifestsResponse) DeepCopy() *ResourceManifestsResponse {
	if in == nil {
		return nil
	}
	out := new(ResourceManifestsResponse)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceOutline) DeepCopyInto(out *ResourceOutline) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceOutline.
func (in *ResourceOutline) DeepCopy() *ResourceOutline {
	if in == nil {
		return nil
	}
	out := new(ResourceOutline)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ResourceOutline) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceOutlineFilter) DeepCopyInto(out *ResourceOutlineFilter) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceOutlineFilter.
func (in *ResourceOutlineFilter) DeepCopy() *ResourceOutlineFilter {
	if in == nil {
		return nil
	}
	out := new(ResourceOutlineFilter)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ResourceOutlineFilter) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceOutlineFilterList) DeepCopyInto(out *ResourceOutlineFilterList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ResourceOutlineFilter, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceOutlineFilterList.
func (in *ResourceOutlineFilterList) DeepCopy() *ResourceOutlineFilterList {
	if in == nil {
		return nil
	}
	out := new(ResourceOutlineFilterList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ResourceOutlineFilterList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceOutlineList) DeepCopyInto(out *ResourceOutlineList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ResourceOutline, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceOutlineList.
func (in *ResourceOutlineList) DeepCopy() *ResourceOutlineList {
	if in == nil {
		return nil
	}
	out := new(ResourceOutlineList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ResourceOutlineList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceOutlineSpec) DeepCopyInto(out *ResourceOutlineSpec) {
	*out = *in
	out.Resource = in.Resource
	if in.Header != nil {
		in, out := &in.Header, &out.Header
		*out = new(PageBlockOutline)
		(*in).DeepCopyInto(*out)
	}
	if in.TabBar != nil {
		in, out := &in.TabBar, &out.TabBar
		*out = new(PageBlockOutline)
		(*in).DeepCopyInto(*out)
	}
	if in.Pages != nil {
		in, out := &in.Pages, &out.Pages
		*out = make([]ResourcePageOutline, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Actions != nil {
		in, out := &in.Actions, &out.Actions
		*out = make([]*shared.ActionTemplateGroup, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(shared.ActionTemplateGroup)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceOutlineSpec.
func (in *ResourceOutlineSpec) DeepCopy() *ResourceOutlineSpec {
	if in == nil {
		return nil
	}
	out := new(ResourceOutlineSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourcePageLayout) DeepCopyInto(out *ResourcePageLayout) {
	*out = *in
	if in.RequiredFeatureSets != nil {
		in, out := &in.RequiredFeatureSets, &out.RequiredFeatureSets
		*out = make(map[string]FeatureList, len(*in))
		for key, val := range *in {
			var outVal []string
			if val == nil {
				(*out)[key] = nil
			} else {
				in, out := &val, &outVal
				*out = make(FeatureList, len(*in))
				copy(*out, *in)
			}
			(*out)[key] = outVal
		}
	}
	if in.Sections != nil {
		in, out := &in.Sections, &out.Sections
		*out = make([]SectionLayout, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePageLayout.
func (in *ResourcePageLayout) DeepCopy() *ResourcePageLayout {
	if in == nil {
		return nil
	}
	out := new(ResourcePageLayout)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourcePageOutline) DeepCopyInto(out *ResourcePageOutline) {
	*out = *in
	if in.RequiredFeatureSets != nil {
		in, out := &in.RequiredFeatureSets, &out.RequiredFeatureSets
		*out = make(map[string]FeatureList, len(*in))
		for key, val := range *in {
			var outVal []string
			if val == nil {
				(*out)[key] = nil
			} else {
				in, out := &val, &outVal
				*out = make(FeatureList, len(*in))
				copy(*out, *in)
			}
			(*out)[key] = outVal
		}
	}
	if in.Sections != nil {
		in, out := &in.Sections, &out.Sections
		*out = make([]SectionOutline, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePageOutline.
func (in *ResourcePageOutline) DeepCopy() *ResourcePageOutline {
	if in == nil {
		return nil
	}
	out := new(ResourcePageOutline)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourcePageView) DeepCopyInto(out *ResourcePageView) {
	*out = *in
	if in.Sections != nil {
		in, out := &in.Sections, &out.Sections
		*out = make([]ResourceSectionView, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePageView.
func (in *ResourcePageView) DeepCopy() *ResourcePageView {
	if in == nil {
		return nil
	}
	out := new(ResourcePageView)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceQuery) DeepCopyInto(out *ResourceQuery) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	if in.Request != nil {
		in, out := &in.Request, &out.Request
		*out = new(ResourceQueryRequest)
		(*in).DeepCopyInto(*out)
	}
	if in.Response != nil {
		in, out := &in.Response, &out.Response
		*out = new(runtime.RawExtension)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceQuery.
func (in *ResourceQuery) DeepCopy() *ResourceQuery {
	if in == nil {
		return nil
	}
	out := new(ResourceQuery)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ResourceQuery) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceQueryRequest) DeepCopyInto(out *ResourceQueryRequest) {
	*out = *in
	in.Source.DeepCopyInto(&out.Source)
	if in.Target != nil {
		in, out := &in.Target, &out.Target
		*out = new(shared.ResourceLocator)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceQueryRequest.
func (in *ResourceQueryRequest) DeepCopy() *ResourceQueryRequest {
	if in == nil {
		return nil
	}
	out := new(ResourceQueryRequest)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceSectionView) DeepCopyInto(out *ResourceSectionView) {
	*out = *in
	if in.Info != nil {
		in, out := &in.Info, &out.Info
		*out = new(PageBlockView)
		(*in).DeepCopyInto(*out)
	}
	if in.Insight != nil {
		in, out := &in.Insight, &out.Insight
		*out = new(PageBlockView)
		(*in).DeepCopyInto(*out)
	}
	if in.Blocks != nil {
		in, out := &in.Blocks, &out.Blocks
		*out = make([]PageBlockView, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSectionView.
func (in *ResourceSectionView) DeepCopy() *ResourceSectionView {
	if in == nil {
		return nil
	}
	out := new(ResourceSectionView)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceTableDefinition) DeepCopyInto(out *ResourceTableDefinition) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceTableDefinition.
func (in *ResourceTableDefinition) DeepCopy() *ResourceTableDefinition {
	if in == nil {
		return nil
	}
	out := new(ResourceTableDefinition)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ResourceTableDefinition) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceTableDefinitionList) DeepCopyInto(out *ResourceTableDefinitionList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ResourceTableDefinition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceTableDefinitionList.
func (in *ResourceTableDefinitionList) DeepCopy() *ResourceTableDefinitionList {
	if in == nil {
		return nil
	}
	out := new(ResourceTableDefinitionList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ResourceTableDefinitionList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceTableDefinitionRef) DeepCopyInto(out *ResourceTableDefinitionRef) {
	*out = *in
	if in.Columns != nil {
		in, out := &in.Columns, &out.Columns
		*out = make([]ResourceColumnDefinition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Sort != nil {
		in, out := &in.Sort, &out.Sort
		*out = new(TableSortOption)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceTableDefinitionRef.
func (in *ResourceTableDefinitionRef) DeepCopy() *ResourceTableDefinitionRef {
	if in == nil {
		return nil
	}
	out := new(ResourceTableDefinitionRef)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceTableDefinitionSpec) DeepCopyInto(out *ResourceTableDefinitionSpec) {
	*out = *in
	if in.Resource != nil {
		in, out := &in.Resource, &out.Resource
		*out = new(v1.ResourceID)
		**out = **in
	}
	if in.Columns != nil {
		in, out := &in.Columns, &out.Columns
		*out = make([]ResourceColumnDefinition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceTableDefinitionSpec.
func (in *ResourceTableDefinitionSpec) DeepCopy() *ResourceTableDefinitionSpec {
	if in == nil {
		return nil
	}
	out := new(ResourceTableDefinitionSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceView) DeepCopyInto(out *ResourceView) {
	*out = *in
	out.Resource = in.Resource
	if in.Header != nil {
		in, out := &in.Header, &out.Header
		*out = new(PageBlockView)
		(*in).DeepCopyInto(*out)
	}
	if in.TabBar != nil {
		in, out := &in.TabBar, &out.TabBar
		*out = new(PageBlockView)
		(*in).DeepCopyInto(*out)
	}
	if in.Pages != nil {
		in, out := &in.Pages, &out.Pages
		*out = make([]ResourcePageView, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.UI != nil {
		in, out := &in.UI, &out.UI
		*out = new(shared.UIParameters)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceView.
func (in *ResourceView) DeepCopy() *ResourceView {
	if in == nil {
		return nil
	}
	out := new(ResourceView)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SectionLayout) DeepCopyInto(out *SectionLayout) {
	*out = *in
	if in.Icons != nil {
		in, out := &in.Icons, &out.Icons
		*out = make([]apisshared.ImageSpec, len(*in))
		copy(*out, *in)
	}
	if in.Info != nil {
		in, out := &in.Info, &out.Info
		*out = new(PageBlockLayout)
		(*in).DeepCopyInto(*out)
	}
	if in.Insight != nil {
		in, out := &in.Insight, &out.Insight
		*out = new(PageBlockLayout)
		(*in).DeepCopyInto(*out)
	}
	if in.Blocks != nil {
		in, out := &in.Blocks, &out.Blocks
		*out = make([]PageBlockLayout, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.RequiredFeatureSets != nil {
		in, out := &in.RequiredFeatureSets, &out.RequiredFeatureSets
		*out = make(map[string]FeatureList, len(*in))
		for key, val := range *in {
			var outVal []string
			if val == nil {
				(*out)[key] = nil
			} else {
				in, out := &val, &outVal
				*out = make(FeatureList, len(*in))
				copy(*out, *in)
			}
			(*out)[key] = outVal
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SectionLayout.
func (in *SectionLayout) DeepCopy() *SectionLayout {
	if in == nil {
		return nil
	}
	out := new(SectionLayout)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SectionOutline) DeepCopyInto(out *SectionOutline) {
	*out = *in
	if in.Icons != nil {
		in, out := &in.Icons, &out.Icons
		*out = make([]apisshared.ImageSpec, len(*in))
		copy(*out, *in)
	}
	if in.Info != nil {
		in, out := &in.Info, &out.Info
		*out = new(PageBlockOutline)
		(*in).DeepCopyInto(*out)
	}
	if in.Insight != nil {
		in, out := &in.Insight, &out.Insight
		*out = new(PageBlockOutline)
		(*in).DeepCopyInto(*out)
	}
	if in.Blocks != nil {
		in, out := &in.Blocks, &out.Blocks
		*out = make([]PageBlockOutline, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.RequiredFeatureSets != nil {
		in, out := &in.RequiredFeatureSets, &out.RequiredFeatureSets
		*out = make(map[string]FeatureList, len(*in))
		for key, val := range *in {
			var outVal []string
			if val == nil {
				(*out)[key] = nil
			} else {
				in, out := &val, &outVal
				*out = make(FeatureList, len(*in))
				copy(*out, *in)
			}
			(*out)[key] = outVal
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SectionOutline.
func (in *SectionOutline) DeepCopy() *SectionOutline {
	if in == nil {
		return nil
	}
	out := new(SectionOutline)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SortDefinition) DeepCopyInto(out *SortDefinition) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SortDefinition.
func (in *SortDefinition) DeepCopy() *SortDefinition {
	if in == nil {
		return nil
	}
	out := new(SortDefinition)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SortHeader) DeepCopyInto(out *SortHeader) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SortHeader.
func (in *SortHeader) DeepCopy() *SortHeader {
	if in == nil {
		return nil
	}
	out := new(SortHeader)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SourceInfo) DeepCopyInto(out *SourceInfo) {
	*out = *in
	out.Resource = in.Resource
	if in.Selector != nil {
		in, out := &in.Selector, &out.Selector
		*out = new(metav1.LabelSelector)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceInfo.
func (in *SourceInfo) DeepCopy() *SourceInfo {
	if in == nil {
		return nil
	}
	out := new(SourceInfo)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Table) DeepCopyInto(out *Table) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Columns != nil {
		in, out := &in.Columns, &out.Columns
		*out = make([]ResourceColumn, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Rows != nil {
		in, out := &in.Rows, &out.Rows
		*out = make([]TableRow, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Table.
func (in *Table) DeepCopy() *Table {
	if in == nil {
		return nil
	}
	out := new(Table)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Table) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TableCell) DeepCopyInto(out *TableCell) {
	clone := in.DeepCopy()
	*out = *clone
	return
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TableOptions) DeepCopyInto(out *TableOptions) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableOptions.
func (in *TableOptions) DeepCopy() *TableOptions {
	if in == nil {
		return nil
	}
	out := new(TableOptions)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *TableOptions) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TableRow) DeepCopyInto(out *TableRow) {
	*out = *in
	if in.Cells != nil {
		in, out := &in.Cells, &out.Cells
		*out = make([]TableCell, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableRow.
func (in *TableRow) DeepCopy() *TableRow {
	if in == nil {
		return nil
	}
	out := new(TableRow)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TableSortOption) DeepCopyInto(out *TableSortOption) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableSortOption.
func (in *TableSortOption) DeepCopy() *TableSortOption {
	if in == nil {
		return nil
	}
	out := new(TableSortOption)
	in.DeepCopyInto(out)
	return out
}
