/*
Copyright 2016 The Kubernetes Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

// ************************************************************
// DO NOT EDIT.
// THIS FILE IS AUTO-GENERATED BY codecgen.
// ************************************************************

package api

import (
	"errors"
	"fmt"
	codec1978 "github.com/ugorji/go/codec"
	pkg3_resource "k8s.io/client-go/pkg/api/resource"
	pkg2_v1 "k8s.io/client-go/pkg/apis/meta/v1"
	pkg6_fields "k8s.io/client-go/pkg/fields"
	pkg5_labels "k8s.io/client-go/pkg/labels"
	pkg7_runtime "k8s.io/client-go/pkg/runtime"
	pkg1_types "k8s.io/client-go/pkg/types"
	pkg4_intstr "k8s.io/client-go/pkg/util/intstr"
	"reflect"
	"runtime"
	time "time"
)

const (
	// ----- content types ----
	codecSelferC_UTF81234 = 1
	codecSelferC_RAW1234  = 0
	// ----- value types used ----
	codecSelferValueTypeArray1234 = 10
	codecSelferValueTypeMap1234   = 9
	// ----- containerStateValues ----
	codecSelfer_containerMapKey1234    = 2
	codecSelfer_containerMapValue1234  = 3
	codecSelfer_containerMapEnd1234    = 4
	codecSelfer_containerArrayElem1234 = 6
	codecSelfer_containerArrayEnd1234  = 7
)

var (
	codecSelferBitsize1234                         = uint8(reflect.TypeOf(uint(0)).Bits())
	codecSelferOnlyMapOrArrayEncodeToStructErr1234 = errors.New(`only encoded map or array can be decoded into a struct`)
)

type codecSelfer1234 struct{}

func init() {
	if codec1978.GenVersion != 5 {
		_, file, _, _ := runtime.Caller(0)
		err := fmt.Errorf("codecgen version mismatch: current: %v, need %v. Re-generate file: %v",
			5, codec1978.GenVersion, file)
		panic(err)
	}
	if false { // reference the types, but skip this branch at build/run time
		var v0 pkg3_resource.Quantity
		var v1 pkg2_v1.Time
		var v2 pkg6_fields.Selector
		var v3 pkg5_labels.Selector
		var v4 pkg7_runtime.Object
		var v5 pkg1_types.UID
		var v6 pkg4_intstr.IntOrString
		var v7 time.Time
		_, _, _, _, _, _, _, _ = v0, v1, v2, v3, v4, v5, v6, v7
	}
}

func (x *ObjectMeta) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1 := z.EncBinary()
		_ = yym1
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2 := !z.EncBinary()
			yy2arr2 := z.EncBasicHandle().StructToArray
			var yyq2 [15]bool
			_, _, _ = yysep2, yyq2, yy2arr2
			const yyr2 bool = false
			yyq2[0] = x.Name != ""
			yyq2[1] = x.GenerateName != ""
			yyq2[2] = x.Namespace != ""
			yyq2[3] = x.SelfLink != ""
			yyq2[4] = x.UID != ""
			yyq2[5] = x.ResourceVersion != ""
			yyq2[6] = x.Generation != 0
			yyq2[7] = true
			yyq2[8] = x.DeletionTimestamp != nil
			yyq2[9] = x.DeletionGracePeriodSeconds != nil
			yyq2[10] = len(x.Labels) != 0
			yyq2[11] = len(x.Annotations) != 0
			yyq2[12] = len(x.OwnerReferences) != 0
			yyq2[13] = len(x.Finalizers) != 0
			yyq2[14] = x.ClusterName != ""
			var yynn2 int
			if yyr2 || yy2arr2 {
				r.EncodeArrayStart(15)
			} else {
				yynn2 = 0
				for _, b := range yyq2 {
					if b {
						yynn2++
					}
				}
				r.EncodeMapStart(yynn2)
				yynn2 = 0
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[0] {
					yym4 := z.EncBinary()
					_ = yym4
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym5 := z.EncBinary()
					_ = yym5
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[1] {
					yym7 := z.EncBinary()
					_ = yym7
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.GenerateName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("generateName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym8 := z.EncBinary()
					_ = yym8
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.GenerateName))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[2] {
					yym10 := z.EncBinary()
					_ = yym10
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("namespace"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym11 := z.EncBinary()
					_ = yym11
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[3] {
					yym13 := z.EncBinary()
					_ = yym13
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SelfLink))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("selfLink"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym14 := z.EncBinary()
					_ = yym14
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SelfLink))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[4] {
					yym16 := z.EncBinary()
					_ = yym16
					if false {
					} else if z.HasExtensions() && z.EncExt(x.UID) {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.UID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("uid"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym17 := z.EncBinary()
					_ = yym17
					if false {
					} else if z.HasExtensions() && z.EncExt(x.UID) {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.UID))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[5] {
					yym19 := z.EncBinary()
					_ = yym19
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resourceVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym20 := z.EncBinary()
					_ = yym20
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[6] {
					yym22 := z.EncBinary()
					_ = yym22
					if false {
					} else {
						r.EncodeInt(int64(x.Generation))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("generation"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym23 := z.EncBinary()
					_ = yym23
					if false {
					} else {
						r.EncodeInt(int64(x.Generation))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[7] {
					yy25 := &x.CreationTimestamp
					yym26 := z.EncBinary()
					_ = yym26
					if false {
					} else if z.HasExtensions() && z.EncExt(yy25) {
					} else if yym26 {
						z.EncBinaryMarshal(yy25)
					} else if !yym26 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy25)
					} else {
						z.EncFallback(yy25)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("creationTimestamp"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy27 := &x.CreationTimestamp
					yym28 := z.EncBinary()
					_ = yym28
					if false {
					} else if z.HasExtensions() && z.EncExt(yy27) {
					} else if yym28 {
						z.EncBinaryMarshal(yy27)
					} else if !yym28 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy27)
					} else {
						z.EncFallback(yy27)
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[8] {
					if x.DeletionTimestamp == nil {
						r.EncodeNil()
					} else {
						yym30 := z.EncBinary()
						_ = yym30
						if false {
						} else if z.HasExtensions() && z.EncExt(x.DeletionTimestamp) {
						} else if yym30 {
							z.EncBinaryMarshal(x.DeletionTimestamp)
						} else if !yym30 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.DeletionTimestamp)
						} else {
							z.EncFallback(x.DeletionTimestamp)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("deletionTimestamp"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DeletionTimestamp == nil {
						r.EncodeNil()
					} else {
						yym31 := z.EncBinary()
						_ = yym31
						if false {
						} else if z.HasExtensions() && z.EncExt(x.DeletionTimestamp) {
						} else if yym31 {
							z.EncBinaryMarshal(x.DeletionTimestamp)
						} else if !yym31 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.DeletionTimestamp)
						} else {
							z.EncFallback(x.DeletionTimestamp)
						}
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[9] {
					if x.DeletionGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy33 := *x.DeletionGracePeriodSeconds
						yym34 := z.EncBinary()
						_ = yym34
						if false {
						} else {
							r.EncodeInt(int64(yy33))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("deletionGracePeriodSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DeletionGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy35 := *x.DeletionGracePeriodSeconds
						yym36 := z.EncBinary()
						_ = yym36
						if false {
						} else {
							r.EncodeInt(int64(yy35))
						}
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[10] {
					if x.Labels == nil {
						r.EncodeNil()
					} else {
						yym38 := z.EncBinary()
						_ = yym38
						if false {
						} else {
							z.F.EncMapStringStringV(x.Labels, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("labels"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Labels == nil {
						r.EncodeNil()
					} else {
						yym39 := z.EncBinary()
						_ = yym39
						if false {
						} else {
							z.F.EncMapStringStringV(x.Labels, false, e)
						}
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[11] {
					if x.Annotations == nil {
						r.EncodeNil()
					} else {
						yym41 := z.EncBinary()
						_ = yym41
						if false {
						} else {
							z.F.EncMapStringStringV(x.Annotations, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("annotations"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Annotations == nil {
						r.EncodeNil()
					} else {
						yym42 := z.EncBinary()
						_ = yym42
						if false {
						} else {
							z.F.EncMapStringStringV(x.Annotations, false, e)
						}
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[12] {
					if x.OwnerReferences == nil {
						r.EncodeNil()
					} else {
						yym44 := z.EncBinary()
						_ = yym44
						if false {
						} else {
							h.encSlicev1_OwnerReference(([]pkg2_v1.OwnerReference)(x.OwnerReferences), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("ownerReferences"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.OwnerReferences == nil {
						r.EncodeNil()
					} else {
						yym45 := z.EncBinary()
						_ = yym45
						if false {
						} else {
							h.encSlicev1_OwnerReference(([]pkg2_v1.OwnerReference)(x.OwnerReferences), e)
						}
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[13] {
					if x.Finalizers == nil {
						r.EncodeNil()
					} else {
						yym47 := z.EncBinary()
						_ = yym47
						if false {
						} else {
							z.F.EncSliceStringV(x.Finalizers, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[13] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("finalizers"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Finalizers == nil {
						r.EncodeNil()
					} else {
						yym48 := z.EncBinary()
						_ = yym48
						if false {
						} else {
							z.F.EncSliceStringV(x.Finalizers, false, e)
						}
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[14] {
					yym50 := z.EncBinary()
					_ = yym50
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ClusterName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[14] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("clusterName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym51 := z.EncBinary()
					_ = yym51
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ClusterName))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ObjectMeta) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym52 := z.DecBinary()
	_ = yym52
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct53 := r.ContainerType()
		if yyct53 == codecSelferValueTypeMap1234 {
			yyl53 := r.ReadMapStart()
			if yyl53 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl53, d)
			}
		} else if yyct53 == codecSelferValueTypeArray1234 {
			yyl53 := r.ReadArrayStart()
			if yyl53 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl53, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ObjectMeta) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys54Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys54Slc
	var yyhl54 bool = l >= 0
	for yyj54 := 0; ; yyj54++ {
		if yyhl54 {
			if yyj54 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys54Slc = r.DecodeBytes(yys54Slc, true, true)
		yys54 := string(yys54Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys54 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "generateName":
			if r.TryDecodeAsNil() {
				x.GenerateName = ""
			} else {
				x.GenerateName = string(r.DecodeString())
			}
		case "namespace":
			if r.TryDecodeAsNil() {
				x.Namespace = ""
			} else {
				x.Namespace = string(r.DecodeString())
			}
		case "selfLink":
			if r.TryDecodeAsNil() {
				x.SelfLink = ""
			} else {
				x.SelfLink = string(r.DecodeString())
			}
		case "uid":
			if r.TryDecodeAsNil() {
				x.UID = ""
			} else {
				x.UID = pkg1_types.UID(r.DecodeString())
			}
		case "resourceVersion":
			if r.TryDecodeAsNil() {
				x.ResourceVersion = ""
			} else {
				x.ResourceVersion = string(r.DecodeString())
			}
		case "generation":
			if r.TryDecodeAsNil() {
				x.Generation = 0
			} else {
				x.Generation = int64(r.DecodeInt(64))
			}
		case "creationTimestamp":
			if r.TryDecodeAsNil() {
				x.CreationTimestamp = pkg2_v1.Time{}
			} else {
				yyv62 := &x.CreationTimestamp
				yym63 := z.DecBinary()
				_ = yym63
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv62) {
				} else if yym63 {
					z.DecBinaryUnmarshal(yyv62)
				} else if !yym63 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv62)
				} else {
					z.DecFallback(yyv62, false)
				}
			}
		case "deletionTimestamp":
			if r.TryDecodeAsNil() {
				if x.DeletionTimestamp != nil {
					x.DeletionTimestamp = nil
				}
			} else {
				if x.DeletionTimestamp == nil {
					x.DeletionTimestamp = new(pkg2_v1.Time)
				}
				yym65 := z.DecBinary()
				_ = yym65
				if false {
				} else if z.HasExtensions() && z.DecExt(x.DeletionTimestamp) {
				} else if yym65 {
					z.DecBinaryUnmarshal(x.DeletionTimestamp)
				} else if !yym65 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(x.DeletionTimestamp)
				} else {
					z.DecFallback(x.DeletionTimestamp, false)
				}
			}
		case "deletionGracePeriodSeconds":
			if r.TryDecodeAsNil() {
				if x.DeletionGracePeriodSeconds != nil {
					x.DeletionGracePeriodSeconds = nil
				}
			} else {
				if x.DeletionGracePeriodSeconds == nil {
					x.DeletionGracePeriodSeconds = new(int64)
				}
				yym67 := z.DecBinary()
				_ = yym67
				if false {
				} else {
					*((*int64)(x.DeletionGracePeriodSeconds)) = int64(r.DecodeInt(64))
				}
			}
		case "labels":
			if r.TryDecodeAsNil() {
				x.Labels = nil
			} else {
				yyv68 := &x.Labels
				yym69 := z.DecBinary()
				_ = yym69
				if false {
				} else {
					z.F.DecMapStringStringX(yyv68, false, d)
				}
			}
		case "annotations":
			if r.TryDecodeAsNil() {
				x.Annotations = nil
			} else {
				yyv70 := &x.Annotations
				yym71 := z.DecBinary()
				_ = yym71
				if false {
				} else {
					z.F.DecMapStringStringX(yyv70, false, d)
				}
			}
		case "ownerReferences":
			if r.TryDecodeAsNil() {
				x.OwnerReferences = nil
			} else {
				yyv72 := &x.OwnerReferences
				yym73 := z.DecBinary()
				_ = yym73
				if false {
				} else {
					h.decSlicev1_OwnerReference((*[]pkg2_v1.OwnerReference)(yyv72), d)
				}
			}
		case "finalizers":
			if r.TryDecodeAsNil() {
				x.Finalizers = nil
			} else {
				yyv74 := &x.Finalizers
				yym75 := z.DecBinary()
				_ = yym75
				if false {
				} else {
					z.F.DecSliceStringX(yyv74, false, d)
				}
			}
		case "clusterName":
			if r.TryDecodeAsNil() {
				x.ClusterName = ""
			} else {
				x.ClusterName = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys54)
		} // end switch yys54
	} // end for yyj54
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ObjectMeta) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj77 int
	var yyb77 bool
	var yyhl77 bool = l >= 0
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.GenerateName = ""
	} else {
		x.GenerateName = string(r.DecodeString())
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Namespace = ""
	} else {
		x.Namespace = string(r.DecodeString())
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SelfLink = ""
	} else {
		x.SelfLink = string(r.DecodeString())
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.UID = ""
	} else {
		x.UID = pkg1_types.UID(r.DecodeString())
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ResourceVersion = ""
	} else {
		x.ResourceVersion = string(r.DecodeString())
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Generation = 0
	} else {
		x.Generation = int64(r.DecodeInt(64))
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.CreationTimestamp = pkg2_v1.Time{}
	} else {
		yyv85 := &x.CreationTimestamp
		yym86 := z.DecBinary()
		_ = yym86
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv85) {
		} else if yym86 {
			z.DecBinaryUnmarshal(yyv85)
		} else if !yym86 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv85)
		} else {
			z.DecFallback(yyv85, false)
		}
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.DeletionTimestamp != nil {
			x.DeletionTimestamp = nil
		}
	} else {
		if x.DeletionTimestamp == nil {
			x.DeletionTimestamp = new(pkg2_v1.Time)
		}
		yym88 := z.DecBinary()
		_ = yym88
		if false {
		} else if z.HasExtensions() && z.DecExt(x.DeletionTimestamp) {
		} else if yym88 {
			z.DecBinaryUnmarshal(x.DeletionTimestamp)
		} else if !yym88 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(x.DeletionTimestamp)
		} else {
			z.DecFallback(x.DeletionTimestamp, false)
		}
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.DeletionGracePeriodSeconds != nil {
			x.DeletionGracePeriodSeconds = nil
		}
	} else {
		if x.DeletionGracePeriodSeconds == nil {
			x.DeletionGracePeriodSeconds = new(int64)
		}
		yym90 := z.DecBinary()
		_ = yym90
		if false {
		} else {
			*((*int64)(x.DeletionGracePeriodSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Labels = nil
	} else {
		yyv91 := &x.Labels
		yym92 := z.DecBinary()
		_ = yym92
		if false {
		} else {
			z.F.DecMapStringStringX(yyv91, false, d)
		}
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Annotations = nil
	} else {
		yyv93 := &x.Annotations
		yym94 := z.DecBinary()
		_ = yym94
		if false {
		} else {
			z.F.DecMapStringStringX(yyv93, false, d)
		}
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.OwnerReferences = nil
	} else {
		yyv95 := &x.OwnerReferences
		yym96 := z.DecBinary()
		_ = yym96
		if false {
		} else {
			h.decSlicev1_OwnerReference((*[]pkg2_v1.OwnerReference)(yyv95), d)
		}
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Finalizers = nil
	} else {
		yyv97 := &x.Finalizers
		yym98 := z.DecBinary()
		_ = yym98
		if false {
		} else {
			z.F.DecSliceStringX(yyv97, false, d)
		}
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ClusterName = ""
	} else {
		x.ClusterName = string(r.DecodeString())
	}
	for {
		yyj77++
		if yyhl77 {
			yyb77 = yyj77 > l
		} else {
			yyb77 = r.CheckBreak()
		}
		if yyb77 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj77-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Volume) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym100 := z.EncBinary()
		_ = yym100
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep101 := !z.EncBinary()
			yy2arr101 := z.EncBasicHandle().StructToArray
			var yyq101 [24]bool
			_, _, _ = yysep101, yyq101, yy2arr101
			const yyr101 bool = false
			yyq101[1] = x.VolumeSource.HostPath != nil && x.HostPath != nil
			yyq101[2] = x.VolumeSource.EmptyDir != nil && x.EmptyDir != nil
			yyq101[3] = x.VolumeSource.GCEPersistentDisk != nil && x.GCEPersistentDisk != nil
			yyq101[4] = x.VolumeSource.AWSElasticBlockStore != nil && x.AWSElasticBlockStore != nil
			yyq101[5] = x.VolumeSource.GitRepo != nil && x.GitRepo != nil
			yyq101[6] = x.VolumeSource.Secret != nil && x.Secret != nil
			yyq101[7] = x.VolumeSource.NFS != nil && x.NFS != nil
			yyq101[8] = x.VolumeSource.ISCSI != nil && x.ISCSI != nil
			yyq101[9] = x.VolumeSource.Glusterfs != nil && x.Glusterfs != nil
			yyq101[10] = x.VolumeSource.PersistentVolumeClaim != nil && x.PersistentVolumeClaim != nil
			yyq101[11] = x.VolumeSource.RBD != nil && x.RBD != nil
			yyq101[12] = x.VolumeSource.Quobyte != nil && x.Quobyte != nil
			yyq101[13] = x.VolumeSource.FlexVolume != nil && x.FlexVolume != nil
			yyq101[14] = x.VolumeSource.Cinder != nil && x.Cinder != nil
			yyq101[15] = x.VolumeSource.CephFS != nil && x.CephFS != nil
			yyq101[16] = x.VolumeSource.Flocker != nil && x.Flocker != nil
			yyq101[17] = x.VolumeSource.DownwardAPI != nil && x.DownwardAPI != nil
			yyq101[18] = x.VolumeSource.FC != nil && x.FC != nil
			yyq101[19] = x.VolumeSource.AzureFile != nil && x.AzureFile != nil
			yyq101[20] = x.VolumeSource.ConfigMap != nil && x.ConfigMap != nil
			yyq101[21] = x.VolumeSource.VsphereVolume != nil && x.VsphereVolume != nil
			yyq101[22] = x.VolumeSource.AzureDisk != nil && x.AzureDisk != nil
			yyq101[23] = x.VolumeSource.PhotonPersistentDisk != nil && x.PhotonPersistentDisk != nil
			var yynn101 int
			if yyr101 || yy2arr101 {
				r.EncodeArrayStart(24)
			} else {
				yynn101 = 1
				for _, b := range yyq101 {
					if b {
						yynn101++
					}
				}
				r.EncodeMapStart(yynn101)
				yynn101 = 0
			}
			if yyr101 || yy2arr101 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym103 := z.EncBinary()
				_ = yym103
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym104 := z.EncBinary()
				_ = yym104
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			var yyn105 bool
			if x.VolumeSource.HostPath == nil {
				yyn105 = true
				goto LABEL105
			}
		LABEL105:
			if yyr101 || yy2arr101 {
				if yyn105 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[1] {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn105 {
						r.EncodeNil()
					} else {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn106 bool
			if x.VolumeSource.EmptyDir == nil {
				yyn106 = true
				goto LABEL106
			}
		LABEL106:
			if yyr101 || yy2arr101 {
				if yyn106 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[2] {
						if x.EmptyDir == nil {
							r.EncodeNil()
						} else {
							x.EmptyDir.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("emptyDir"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn106 {
						r.EncodeNil()
					} else {
						if x.EmptyDir == nil {
							r.EncodeNil()
						} else {
							x.EmptyDir.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn107 bool
			if x.VolumeSource.GCEPersistentDisk == nil {
				yyn107 = true
				goto LABEL107
			}
		LABEL107:
			if yyr101 || yy2arr101 {
				if yyn107 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[3] {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn107 {
						r.EncodeNil()
					} else {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn108 bool
			if x.VolumeSource.AWSElasticBlockStore == nil {
				yyn108 = true
				goto LABEL108
			}
		LABEL108:
			if yyr101 || yy2arr101 {
				if yyn108 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[4] {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn108 {
						r.EncodeNil()
					} else {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn109 bool
			if x.VolumeSource.GitRepo == nil {
				yyn109 = true
				goto LABEL109
			}
		LABEL109:
			if yyr101 || yy2arr101 {
				if yyn109 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[5] {
						if x.GitRepo == nil {
							r.EncodeNil()
						} else {
							x.GitRepo.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gitRepo"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn109 {
						r.EncodeNil()
					} else {
						if x.GitRepo == nil {
							r.EncodeNil()
						} else {
							x.GitRepo.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn110 bool
			if x.VolumeSource.Secret == nil {
				yyn110 = true
				goto LABEL110
			}
		LABEL110:
			if yyr101 || yy2arr101 {
				if yyn110 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[6] {
						if x.Secret == nil {
							r.EncodeNil()
						} else {
							x.Secret.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secret"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn110 {
						r.EncodeNil()
					} else {
						if x.Secret == nil {
							r.EncodeNil()
						} else {
							x.Secret.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn111 bool
			if x.VolumeSource.NFS == nil {
				yyn111 = true
				goto LABEL111
			}
		LABEL111:
			if yyr101 || yy2arr101 {
				if yyn111 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[7] {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn111 {
						r.EncodeNil()
					} else {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn112 bool
			if x.VolumeSource.ISCSI == nil {
				yyn112 = true
				goto LABEL112
			}
		LABEL112:
			if yyr101 || yy2arr101 {
				if yyn112 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[8] {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn112 {
						r.EncodeNil()
					} else {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn113 bool
			if x.VolumeSource.Glusterfs == nil {
				yyn113 = true
				goto LABEL113
			}
		LABEL113:
			if yyr101 || yy2arr101 {
				if yyn113 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[9] {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn113 {
						r.EncodeNil()
					} else {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn114 bool
			if x.VolumeSource.PersistentVolumeClaim == nil {
				yyn114 = true
				goto LABEL114
			}
		LABEL114:
			if yyr101 || yy2arr101 {
				if yyn114 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[10] {
						if x.PersistentVolumeClaim == nil {
							r.EncodeNil()
						} else {
							x.PersistentVolumeClaim.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("persistentVolumeClaim"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn114 {
						r.EncodeNil()
					} else {
						if x.PersistentVolumeClaim == nil {
							r.EncodeNil()
						} else {
							x.PersistentVolumeClaim.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn115 bool
			if x.VolumeSource.RBD == nil {
				yyn115 = true
				goto LABEL115
			}
		LABEL115:
			if yyr101 || yy2arr101 {
				if yyn115 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[11] {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn115 {
						r.EncodeNil()
					} else {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn116 bool
			if x.VolumeSource.Quobyte == nil {
				yyn116 = true
				goto LABEL116
			}
		LABEL116:
			if yyr101 || yy2arr101 {
				if yyn116 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[12] {
						if x.Quobyte == nil {
							r.EncodeNil()
						} else {
							x.Quobyte.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("quobyte"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn116 {
						r.EncodeNil()
					} else {
						if x.Quobyte == nil {
							r.EncodeNil()
						} else {
							x.Quobyte.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn117 bool
			if x.VolumeSource.FlexVolume == nil {
				yyn117 = true
				goto LABEL117
			}
		LABEL117:
			if yyr101 || yy2arr101 {
				if yyn117 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[13] {
						if x.FlexVolume == nil {
							r.EncodeNil()
						} else {
							x.FlexVolume.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[13] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flexVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn117 {
						r.EncodeNil()
					} else {
						if x.FlexVolume == nil {
							r.EncodeNil()
						} else {
							x.FlexVolume.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn118 bool
			if x.VolumeSource.Cinder == nil {
				yyn118 = true
				goto LABEL118
			}
		LABEL118:
			if yyr101 || yy2arr101 {
				if yyn118 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[14] {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[14] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn118 {
						r.EncodeNil()
					} else {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn119 bool
			if x.VolumeSource.CephFS == nil {
				yyn119 = true
				goto LABEL119
			}
		LABEL119:
			if yyr101 || yy2arr101 {
				if yyn119 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[15] {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[15] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn119 {
						r.EncodeNil()
					} else {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn120 bool
			if x.VolumeSource.Flocker == nil {
				yyn120 = true
				goto LABEL120
			}
		LABEL120:
			if yyr101 || yy2arr101 {
				if yyn120 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[16] {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[16] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn120 {
						r.EncodeNil()
					} else {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn121 bool
			if x.VolumeSource.DownwardAPI == nil {
				yyn121 = true
				goto LABEL121
			}
		LABEL121:
			if yyr101 || yy2arr101 {
				if yyn121 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[17] {
						if x.DownwardAPI == nil {
							r.EncodeNil()
						} else {
							x.DownwardAPI.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[17] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("downwardAPI"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn121 {
						r.EncodeNil()
					} else {
						if x.DownwardAPI == nil {
							r.EncodeNil()
						} else {
							x.DownwardAPI.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn122 bool
			if x.VolumeSource.FC == nil {
				yyn122 = true
				goto LABEL122
			}
		LABEL122:
			if yyr101 || yy2arr101 {
				if yyn122 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[18] {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[18] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn122 {
						r.EncodeNil()
					} else {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn123 bool
			if x.VolumeSource.AzureFile == nil {
				yyn123 = true
				goto LABEL123
			}
		LABEL123:
			if yyr101 || yy2arr101 {
				if yyn123 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[19] {
						if x.AzureFile == nil {
							r.EncodeNil()
						} else {
							x.AzureFile.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[19] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("azureFile"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn123 {
						r.EncodeNil()
					} else {
						if x.AzureFile == nil {
							r.EncodeNil()
						} else {
							x.AzureFile.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn124 bool
			if x.VolumeSource.ConfigMap == nil {
				yyn124 = true
				goto LABEL124
			}
		LABEL124:
			if yyr101 || yy2arr101 {
				if yyn124 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[20] {
						if x.ConfigMap == nil {
							r.EncodeNil()
						} else {
							x.ConfigMap.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[20] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("configMap"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn124 {
						r.EncodeNil()
					} else {
						if x.ConfigMap == nil {
							r.EncodeNil()
						} else {
							x.ConfigMap.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn125 bool
			if x.VolumeSource.VsphereVolume == nil {
				yyn125 = true
				goto LABEL125
			}
		LABEL125:
			if yyr101 || yy2arr101 {
				if yyn125 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[21] {
						if x.VsphereVolume == nil {
							r.EncodeNil()
						} else {
							x.VsphereVolume.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[21] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("vsphereVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn125 {
						r.EncodeNil()
					} else {
						if x.VsphereVolume == nil {
							r.EncodeNil()
						} else {
							x.VsphereVolume.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn126 bool
			if x.VolumeSource.AzureDisk == nil {
				yyn126 = true
				goto LABEL126
			}
		LABEL126:
			if yyr101 || yy2arr101 {
				if yyn126 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[22] {
						if x.AzureDisk == nil {
							r.EncodeNil()
						} else {
							x.AzureDisk.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[22] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("azureDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn126 {
						r.EncodeNil()
					} else {
						if x.AzureDisk == nil {
							r.EncodeNil()
						} else {
							x.AzureDisk.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn127 bool
			if x.VolumeSource.PhotonPersistentDisk == nil {
				yyn127 = true
				goto LABEL127
			}
		LABEL127:
			if yyr101 || yy2arr101 {
				if yyn127 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[23] {
						if x.PhotonPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.PhotonPersistentDisk.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[23] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("photonPersistentDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn127 {
						r.EncodeNil()
					} else {
						if x.PhotonPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.PhotonPersistentDisk.CodecEncodeSelf(e)
						}
					}
				}
			}
			if yyr101 || yy2arr101 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Volume) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym128 := z.DecBinary()
	_ = yym128
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct129 := r.ContainerType()
		if yyct129 == codecSelferValueTypeMap1234 {
			yyl129 := r.ReadMapStart()
			if yyl129 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl129, d)
			}
		} else if yyct129 == codecSelferValueTypeArray1234 {
			yyl129 := r.ReadArrayStart()
			if yyl129 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl129, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Volume) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys130Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys130Slc
	var yyhl130 bool = l >= 0
	for yyj130 := 0; ; yyj130++ {
		if yyhl130 {
			if yyj130 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys130Slc = r.DecodeBytes(yys130Slc, true, true)
		yys130 := string(yys130Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys130 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "hostPath":
			if x.VolumeSource.HostPath == nil {
				x.VolumeSource.HostPath = new(HostPathVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.HostPath != nil {
					x.HostPath = nil
				}
			} else {
				if x.HostPath == nil {
					x.HostPath = new(HostPathVolumeSource)
				}
				x.HostPath.CodecDecodeSelf(d)
			}
		case "emptyDir":
			if x.VolumeSource.EmptyDir == nil {
				x.VolumeSource.EmptyDir = new(EmptyDirVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.EmptyDir != nil {
					x.EmptyDir = nil
				}
			} else {
				if x.EmptyDir == nil {
					x.EmptyDir = new(EmptyDirVolumeSource)
				}
				x.EmptyDir.CodecDecodeSelf(d)
			}
		case "gcePersistentDisk":
			if x.VolumeSource.GCEPersistentDisk == nil {
				x.VolumeSource.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.GCEPersistentDisk != nil {
					x.GCEPersistentDisk = nil
				}
			} else {
				if x.GCEPersistentDisk == nil {
					x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
				}
				x.GCEPersistentDisk.CodecDecodeSelf(d)
			}
		case "awsElasticBlockStore":
			if x.VolumeSource.AWSElasticBlockStore == nil {
				x.VolumeSource.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.AWSElasticBlockStore != nil {
					x.AWSElasticBlockStore = nil
				}
			} else {
				if x.AWSElasticBlockStore == nil {
					x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
				}
				x.AWSElasticBlockStore.CodecDecodeSelf(d)
			}
		case "gitRepo":
			if x.VolumeSource.GitRepo == nil {
				x.VolumeSource.GitRepo = new(GitRepoVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.GitRepo != nil {
					x.GitRepo = nil
				}
			} else {
				if x.GitRepo == nil {
					x.GitRepo = new(GitRepoVolumeSource)
				}
				x.GitRepo.CodecDecodeSelf(d)
			}
		case "secret":
			if x.VolumeSource.Secret == nil {
				x.VolumeSource.Secret = new(SecretVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Secret != nil {
					x.Secret = nil
				}
			} else {
				if x.Secret == nil {
					x.Secret = new(SecretVolumeSource)
				}
				x.Secret.CodecDecodeSelf(d)
			}
		case "nfs":
			if x.VolumeSource.NFS == nil {
				x.VolumeSource.NFS = new(NFSVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.NFS != nil {
					x.NFS = nil
				}
			} else {
				if x.NFS == nil {
					x.NFS = new(NFSVolumeSource)
				}
				x.NFS.CodecDecodeSelf(d)
			}
		case "iscsi":
			if x.VolumeSource.ISCSI == nil {
				x.VolumeSource.ISCSI = new(ISCSIVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.ISCSI != nil {
					x.ISCSI = nil
				}
			} else {
				if x.ISCSI == nil {
					x.ISCSI = new(ISCSIVolumeSource)
				}
				x.ISCSI.CodecDecodeSelf(d)
			}
		case "glusterfs":
			if x.VolumeSource.Glusterfs == nil {
				x.VolumeSource.Glusterfs = new(GlusterfsVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Glusterfs != nil {
					x.Glusterfs = nil
				}
			} else {
				if x.Glusterfs == nil {
					x.Glusterfs = new(GlusterfsVolumeSource)
				}
				x.Glusterfs.CodecDecodeSelf(d)
			}
		case "persistentVolumeClaim":
			if x.VolumeSource.PersistentVolumeClaim == nil {
				x.VolumeSource.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.PersistentVolumeClaim != nil {
					x.PersistentVolumeClaim = nil
				}
			} else {
				if x.PersistentVolumeClaim == nil {
					x.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
				}
				x.PersistentVolumeClaim.CodecDecodeSelf(d)
			}
		case "rbd":
			if x.VolumeSource.RBD == nil {
				x.VolumeSource.RBD = new(RBDVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.RBD != nil {
					x.RBD = nil
				}
			} else {
				if x.RBD == nil {
					x.RBD = new(RBDVolumeSource)
				}
				x.RBD.CodecDecodeSelf(d)
			}
		case "quobyte":
			if x.VolumeSource.Quobyte == nil {
				x.VolumeSource.Quobyte = new(QuobyteVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Quobyte != nil {
					x.Quobyte = nil
				}
			} else {
				if x.Quobyte == nil {
					x.Quobyte = new(QuobyteVolumeSource)
				}
				x.Quobyte.CodecDecodeSelf(d)
			}
		case "flexVolume":
			if x.VolumeSource.FlexVolume == nil {
				x.VolumeSource.FlexVolume = new(FlexVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.FlexVolume != nil {
					x.FlexVolume = nil
				}
			} else {
				if x.FlexVolume == nil {
					x.FlexVolume = new(FlexVolumeSource)
				}
				x.FlexVolume.CodecDecodeSelf(d)
			}
		case "cinder":
			if x.VolumeSource.Cinder == nil {
				x.VolumeSource.Cinder = new(CinderVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Cinder != nil {
					x.Cinder = nil
				}
			} else {
				if x.Cinder == nil {
					x.Cinder = new(CinderVolumeSource)
				}
				x.Cinder.CodecDecodeSelf(d)
			}
		case "cephfs":
			if x.VolumeSource.CephFS == nil {
				x.VolumeSource.CephFS = new(CephFSVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.CephFS != nil {
					x.CephFS = nil
				}
			} else {
				if x.CephFS == nil {
					x.CephFS = new(CephFSVolumeSource)
				}
				x.CephFS.CodecDecodeSelf(d)
			}
		case "flocker":
			if x.VolumeSource.Flocker == nil {
				x.VolumeSource.Flocker = new(FlockerVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Flocker != nil {
					x.Flocker = nil
				}
			} else {
				if x.Flocker == nil {
					x.Flocker = new(FlockerVolumeSource)
				}
				x.Flocker.CodecDecodeSelf(d)
			}
		case "downwardAPI":
			if x.VolumeSource.DownwardAPI == nil {
				x.VolumeSource.DownwardAPI = new(DownwardAPIVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.DownwardAPI != nil {
					x.DownwardAPI = nil
				}
			} else {
				if x.DownwardAPI == nil {
					x.DownwardAPI = new(DownwardAPIVolumeSource)
				}
				x.DownwardAPI.CodecDecodeSelf(d)
			}
		case "fc":
			if x.VolumeSource.FC == nil {
				x.VolumeSource.FC = new(FCVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.FC != nil {
					x.FC = nil
				}
			} else {
				if x.FC == nil {
					x.FC = new(FCVolumeSource)
				}
				x.FC.CodecDecodeSelf(d)
			}
		case "azureFile":
			if x.VolumeSource.AzureFile == nil {
				x.VolumeSource.AzureFile = new(AzureFileVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.AzureFile != nil {
					x.AzureFile = nil
				}
			} else {
				if x.AzureFile == nil {
					x.AzureFile = new(AzureFileVolumeSource)
				}
				x.AzureFile.CodecDecodeSelf(d)
			}
		case "configMap":
			if x.VolumeSource.ConfigMap == nil {
				x.VolumeSource.ConfigMap = new(ConfigMapVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.ConfigMap != nil {
					x.ConfigMap = nil
				}
			} else {
				if x.ConfigMap == nil {
					x.ConfigMap = new(ConfigMapVolumeSource)
				}
				x.ConfigMap.CodecDecodeSelf(d)
			}
		case "vsphereVolume":
			if x.VolumeSource.VsphereVolume == nil {
				x.VolumeSource.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.VsphereVolume != nil {
					x.VsphereVolume = nil
				}
			} else {
				if x.VsphereVolume == nil {
					x.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
				}
				x.VsphereVolume.CodecDecodeSelf(d)
			}
		case "azureDisk":
			if x.VolumeSource.AzureDisk == nil {
				x.VolumeSource.AzureDisk = new(AzureDiskVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.AzureDisk != nil {
					x.AzureDisk = nil
				}
			} else {
				if x.AzureDisk == nil {
					x.AzureDisk = new(AzureDiskVolumeSource)
				}
				x.AzureDisk.CodecDecodeSelf(d)
			}
		case "photonPersistentDisk":
			if x.VolumeSource.PhotonPersistentDisk == nil {
				x.VolumeSource.PhotonPersistentDisk = new(PhotonPersistentDiskVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.PhotonPersistentDisk != nil {
					x.PhotonPersistentDisk = nil
				}
			} else {
				if x.PhotonPersistentDisk == nil {
					x.PhotonPersistentDisk = new(PhotonPersistentDiskVolumeSource)
				}
				x.PhotonPersistentDisk.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys130)
		} // end switch yys130
	} // end for yyj130
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj155 int
	var yyb155 bool
	var yyhl155 bool = l >= 0
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	if x.VolumeSource.HostPath == nil {
		x.VolumeSource.HostPath = new(HostPathVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.HostPath != nil {
			x.HostPath = nil
		}
	} else {
		if x.HostPath == nil {
			x.HostPath = new(HostPathVolumeSource)
		}
		x.HostPath.CodecDecodeSelf(d)
	}
	if x.VolumeSource.EmptyDir == nil {
		x.VolumeSource.EmptyDir = new(EmptyDirVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.EmptyDir != nil {
			x.EmptyDir = nil
		}
	} else {
		if x.EmptyDir == nil {
			x.EmptyDir = new(EmptyDirVolumeSource)
		}
		x.EmptyDir.CodecDecodeSelf(d)
	}
	if x.VolumeSource.GCEPersistentDisk == nil {
		x.VolumeSource.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.GCEPersistentDisk != nil {
			x.GCEPersistentDisk = nil
		}
	} else {
		if x.GCEPersistentDisk == nil {
			x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
		}
		x.GCEPersistentDisk.CodecDecodeSelf(d)
	}
	if x.VolumeSource.AWSElasticBlockStore == nil {
		x.VolumeSource.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AWSElasticBlockStore != nil {
			x.AWSElasticBlockStore = nil
		}
	} else {
		if x.AWSElasticBlockStore == nil {
			x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
		}
		x.AWSElasticBlockStore.CodecDecodeSelf(d)
	}
	if x.VolumeSource.GitRepo == nil {
		x.VolumeSource.GitRepo = new(GitRepoVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.GitRepo != nil {
			x.GitRepo = nil
		}
	} else {
		if x.GitRepo == nil {
			x.GitRepo = new(GitRepoVolumeSource)
		}
		x.GitRepo.CodecDecodeSelf(d)
	}
	if x.VolumeSource.Secret == nil {
		x.VolumeSource.Secret = new(SecretVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Secret != nil {
			x.Secret = nil
		}
	} else {
		if x.Secret == nil {
			x.Secret = new(SecretVolumeSource)
		}
		x.Secret.CodecDecodeSelf(d)
	}
	if x.VolumeSource.NFS == nil {
		x.VolumeSource.NFS = new(NFSVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.NFS != nil {
			x.NFS = nil
		}
	} else {
		if x.NFS == nil {
			x.NFS = new(NFSVolumeSource)
		}
		x.NFS.CodecDecodeSelf(d)
	}
	if x.VolumeSource.ISCSI == nil {
		x.VolumeSource.ISCSI = new(ISCSIVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ISCSI != nil {
			x.ISCSI = nil
		}
	} else {
		if x.ISCSI == nil {
			x.ISCSI = new(ISCSIVolumeSource)
		}
		x.ISCSI.CodecDecodeSelf(d)
	}
	if x.VolumeSource.Glusterfs == nil {
		x.VolumeSource.Glusterfs = new(GlusterfsVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Glusterfs != nil {
			x.Glusterfs = nil
		}
	} else {
		if x.Glusterfs == nil {
			x.Glusterfs = new(GlusterfsVolumeSource)
		}
		x.Glusterfs.CodecDecodeSelf(d)
	}
	if x.VolumeSource.PersistentVolumeClaim == nil {
		x.VolumeSource.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PersistentVolumeClaim != nil {
			x.PersistentVolumeClaim = nil
		}
	} else {
		if x.PersistentVolumeClaim == nil {
			x.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
		}
		x.PersistentVolumeClaim.CodecDecodeSelf(d)
	}
	if x.VolumeSource.RBD == nil {
		x.VolumeSource.RBD = new(RBDVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RBD != nil {
			x.RBD = nil
		}
	} else {
		if x.RBD == nil {
			x.RBD = new(RBDVolumeSource)
		}
		x.RBD.CodecDecodeSelf(d)
	}
	if x.VolumeSource.Quobyte == nil {
		x.VolumeSource.Quobyte = new(QuobyteVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Quobyte != nil {
			x.Quobyte = nil
		}
	} else {
		if x.Quobyte == nil {
			x.Quobyte = new(QuobyteVolumeSource)
		}
		x.Quobyte.CodecDecodeSelf(d)
	}
	if x.VolumeSource.FlexVolume == nil {
		x.VolumeSource.FlexVolume = new(FlexVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FlexVolume != nil {
			x.FlexVolume = nil
		}
	} else {
		if x.FlexVolume == nil {
			x.FlexVolume = new(FlexVolumeSource)
		}
		x.FlexVolume.CodecDecodeSelf(d)
	}
	if x.VolumeSource.Cinder == nil {
		x.VolumeSource.Cinder = new(CinderVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Cinder != nil {
			x.Cinder = nil
		}
	} else {
		if x.Cinder == nil {
			x.Cinder = new(CinderVolumeSource)
		}
		x.Cinder.CodecDecodeSelf(d)
	}
	if x.VolumeSource.CephFS == nil {
		x.VolumeSource.CephFS = new(CephFSVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.CephFS != nil {
			x.CephFS = nil
		}
	} else {
		if x.CephFS == nil {
			x.CephFS = new(CephFSVolumeSource)
		}
		x.CephFS.CodecDecodeSelf(d)
	}
	if x.VolumeSource.Flocker == nil {
		x.VolumeSource.Flocker = new(FlockerVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Flocker != nil {
			x.Flocker = nil
		}
	} else {
		if x.Flocker == nil {
			x.Flocker = new(FlockerVolumeSource)
		}
		x.Flocker.CodecDecodeSelf(d)
	}
	if x.VolumeSource.DownwardAPI == nil {
		x.VolumeSource.DownwardAPI = new(DownwardAPIVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.DownwardAPI != nil {
			x.DownwardAPI = nil
		}
	} else {
		if x.DownwardAPI == nil {
			x.DownwardAPI = new(DownwardAPIVolumeSource)
		}
		x.DownwardAPI.CodecDecodeSelf(d)
	}
	if x.VolumeSource.FC == nil {
		x.VolumeSource.FC = new(FCVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FC != nil {
			x.FC = nil
		}
	} else {
		if x.FC == nil {
			x.FC = new(FCVolumeSource)
		}
		x.FC.CodecDecodeSelf(d)
	}
	if x.VolumeSource.AzureFile == nil {
		x.VolumeSource.AzureFile = new(AzureFileVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AzureFile != nil {
			x.AzureFile = nil
		}
	} else {
		if x.AzureFile == nil {
			x.AzureFile = new(AzureFileVolumeSource)
		}
		x.AzureFile.CodecDecodeSelf(d)
	}
	if x.VolumeSource.ConfigMap == nil {
		x.VolumeSource.ConfigMap = new(ConfigMapVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ConfigMap != nil {
			x.ConfigMap = nil
		}
	} else {
		if x.ConfigMap == nil {
			x.ConfigMap = new(ConfigMapVolumeSource)
		}
		x.ConfigMap.CodecDecodeSelf(d)
	}
	if x.VolumeSource.VsphereVolume == nil {
		x.VolumeSource.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.VsphereVolume != nil {
			x.VsphereVolume = nil
		}
	} else {
		if x.VsphereVolume == nil {
			x.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
		}
		x.VsphereVolume.CodecDecodeSelf(d)
	}
	if x.VolumeSource.AzureDisk == nil {
		x.VolumeSource.AzureDisk = new(AzureDiskVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AzureDisk != nil {
			x.AzureDisk = nil
		}
	} else {
		if x.AzureDisk == nil {
			x.AzureDisk = new(AzureDiskVolumeSource)
		}
		x.AzureDisk.CodecDecodeSelf(d)
	}
	if x.VolumeSource.PhotonPersistentDisk == nil {
		x.VolumeSource.PhotonPersistentDisk = new(PhotonPersistentDiskVolumeSource)
	}
	yyj155++
	if yyhl155 {
		yyb155 = yyj155 > l
	} else {
		yyb155 = r.CheckBreak()
	}
	if yyb155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PhotonPersistentDisk != nil {
			x.PhotonPersistentDisk = nil
		}
	} else {
		if x.PhotonPersistentDisk == nil {
			x.PhotonPersistentDisk = new(PhotonPersistentDiskVolumeSource)
		}
		x.PhotonPersistentDisk.CodecDecodeSelf(d)
	}
	for {
		yyj155++
		if yyhl155 {
			yyb155 = yyj155 > l
		} else {
			yyb155 = r.CheckBreak()
		}
		if yyb155 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj155-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *VolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym180 := z.EncBinary()
		_ = yym180
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep181 := !z.EncBinary()
			yy2arr181 := z.EncBasicHandle().StructToArray
			var yyq181 [23]bool
			_, _, _ = yysep181, yyq181, yy2arr181
			const yyr181 bool = false
			yyq181[0] = x.HostPath != nil
			yyq181[1] = x.EmptyDir != nil
			yyq181[2] = x.GCEPersistentDisk != nil
			yyq181[3] = x.AWSElasticBlockStore != nil
			yyq181[4] = x.GitRepo != nil
			yyq181[5] = x.Secret != nil
			yyq181[6] = x.NFS != nil
			yyq181[7] = x.ISCSI != nil
			yyq181[8] = x.Glusterfs != nil
			yyq181[9] = x.PersistentVolumeClaim != nil
			yyq181[10] = x.RBD != nil
			yyq181[11] = x.Quobyte != nil
			yyq181[12] = x.FlexVolume != nil
			yyq181[13] = x.Cinder != nil
			yyq181[14] = x.CephFS != nil
			yyq181[15] = x.Flocker != nil
			yyq181[16] = x.DownwardAPI != nil
			yyq181[17] = x.FC != nil
			yyq181[18] = x.AzureFile != nil
			yyq181[19] = x.ConfigMap != nil
			yyq181[20] = x.VsphereVolume != nil
			yyq181[21] = x.AzureDisk != nil
			yyq181[22] = x.PhotonPersistentDisk != nil
			var yynn181 int
			if yyr181 || yy2arr181 {
				r.EncodeArrayStart(23)
			} else {
				yynn181 = 0
				for _, b := range yyq181 {
					if b {
						yynn181++
					}
				}
				r.EncodeMapStart(yynn181)
				yynn181 = 0
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[0] {
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[1] {
					if x.EmptyDir == nil {
						r.EncodeNil()
					} else {
						x.EmptyDir.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("emptyDir"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.EmptyDir == nil {
						r.EncodeNil()
					} else {
						x.EmptyDir.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[2] {
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[3] {
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[4] {
					if x.GitRepo == nil {
						r.EncodeNil()
					} else {
						x.GitRepo.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gitRepo"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.GitRepo == nil {
						r.EncodeNil()
					} else {
						x.GitRepo.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[5] {
					if x.Secret == nil {
						r.EncodeNil()
					} else {
						x.Secret.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secret"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Secret == nil {
						r.EncodeNil()
					} else {
						x.Secret.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[6] {
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[7] {
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[8] {
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[9] {
					if x.PersistentVolumeClaim == nil {
						r.EncodeNil()
					} else {
						x.PersistentVolumeClaim.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("persistentVolumeClaim"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PersistentVolumeClaim == nil {
						r.EncodeNil()
					} else {
						x.PersistentVolumeClaim.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[10] {
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[11] {
					if x.Quobyte == nil {
						r.EncodeNil()
					} else {
						x.Quobyte.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("quobyte"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Quobyte == nil {
						r.EncodeNil()
					} else {
						x.Quobyte.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[12] {
					if x.FlexVolume == nil {
						r.EncodeNil()
					} else {
						x.FlexVolume.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flexVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FlexVolume == nil {
						r.EncodeNil()
					} else {
						x.FlexVolume.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[13] {
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[13] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[14] {
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[14] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[15] {
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[15] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[16] {
					if x.DownwardAPI == nil {
						r.EncodeNil()
					} else {
						x.DownwardAPI.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[16] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("downwardAPI"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DownwardAPI == nil {
						r.EncodeNil()
					} else {
						x.DownwardAPI.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[17] {
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[17] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[18] {
					if x.AzureFile == nil {
						r.EncodeNil()
					} else {
						x.AzureFile.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[18] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("azureFile"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AzureFile == nil {
						r.EncodeNil()
					} else {
						x.AzureFile.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[19] {
					if x.ConfigMap == nil {
						r.EncodeNil()
					} else {
						x.ConfigMap.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[19] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("configMap"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ConfigMap == nil {
						r.EncodeNil()
					} else {
						x.ConfigMap.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[20] {
					if x.VsphereVolume == nil {
						r.EncodeNil()
					} else {
						x.VsphereVolume.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[20] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("vsphereVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.VsphereVolume == nil {
						r.EncodeNil()
					} else {
						x.VsphereVolume.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[21] {
					if x.AzureDisk == nil {
						r.EncodeNil()
					} else {
						x.AzureDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[21] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("azureDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AzureDisk == nil {
						r.EncodeNil()
					} else {
						x.AzureDisk.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq181[22] {
					if x.PhotonPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.PhotonPersistentDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq181[22] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("photonPersistentDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PhotonPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.PhotonPersistentDisk.CodecEncodeSelf(e)
					}
				}
			}
			if yyr181 || yy2arr181 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *VolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym205 := z.DecBinary()
	_ = yym205
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct206 := r.ContainerType()
		if yyct206 == codecSelferValueTypeMap1234 {
			yyl206 := r.ReadMapStart()
			if yyl206 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl206, d)
			}
		} else if yyct206 == codecSelferValueTypeArray1234 {
			yyl206 := r.ReadArrayStart()
			if yyl206 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl206, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *VolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys207Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys207Slc
	var yyhl207 bool = l >= 0
	for yyj207 := 0; ; yyj207++ {
		if yyhl207 {
			if yyj207 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys207Slc = r.DecodeBytes(yys207Slc, true, true)
		yys207 := string(yys207Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys207 {
		case "hostPath":
			if r.TryDecodeAsNil() {
				if x.HostPath != nil {
					x.HostPath = nil
				}
			} else {
				if x.HostPath == nil {
					x.HostPath = new(HostPathVolumeSource)
				}
				x.HostPath.CodecDecodeSelf(d)
			}
		case "emptyDir":
			if r.TryDecodeAsNil() {
				if x.EmptyDir != nil {
					x.EmptyDir = nil
				}
			} else {
				if x.EmptyDir == nil {
					x.EmptyDir = new(EmptyDirVolumeSource)
				}
				x.EmptyDir.CodecDecodeSelf(d)
			}
		case "gcePersistentDisk":
			if r.TryDecodeAsNil() {
				if x.GCEPersistentDisk != nil {
					x.GCEPersistentDisk = nil
				}
			} else {
				if x.GCEPersistentDisk == nil {
					x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
				}
				x.GCEPersistentDisk.CodecDecodeSelf(d)
			}
		case "awsElasticBlockStore":
			if r.TryDecodeAsNil() {
				if x.AWSElasticBlockStore != nil {
					x.AWSElasticBlockStore = nil
				}
			} else {
				if x.AWSElasticBlockStore == nil {
					x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
				}
				x.AWSElasticBlockStore.CodecDecodeSelf(d)
			}
		case "gitRepo":
			if r.TryDecodeAsNil() {
				if x.GitRepo != nil {
					x.GitRepo = nil
				}
			} else {
				if x.GitRepo == nil {
					x.GitRepo = new(GitRepoVolumeSource)
				}
				x.GitRepo.CodecDecodeSelf(d)
			}
		case "secret":
			if r.TryDecodeAsNil() {
				if x.Secret != nil {
					x.Secret = nil
				}
			} else {
				if x.Secret == nil {
					x.Secret = new(SecretVolumeSource)
				}
				x.Secret.CodecDecodeSelf(d)
			}
		case "nfs":
			if r.TryDecodeAsNil() {
				if x.NFS != nil {
					x.NFS = nil
				}
			} else {
				if x.NFS == nil {
					x.NFS = new(NFSVolumeSource)
				}
				x.NFS.CodecDecodeSelf(d)
			}
		case "iscsi":
			if r.TryDecodeAsNil() {
				if x.ISCSI != nil {
					x.ISCSI = nil
				}
			} else {
				if x.ISCSI == nil {
					x.ISCSI = new(ISCSIVolumeSource)
				}
				x.ISCSI.CodecDecodeSelf(d)
			}
		case "glusterfs":
			if r.TryDecodeAsNil() {
				if x.Glusterfs != nil {
					x.Glusterfs = nil
				}
			} else {
				if x.Glusterfs == nil {
					x.Glusterfs = new(GlusterfsVolumeSource)
				}
				x.Glusterfs.CodecDecodeSelf(d)
			}
		case "persistentVolumeClaim":
			if r.TryDecodeAsNil() {
				if x.PersistentVolumeClaim != nil {
					x.PersistentVolumeClaim = nil
				}
			} else {
				if x.PersistentVolumeClaim == nil {
					x.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
				}
				x.PersistentVolumeClaim.CodecDecodeSelf(d)
			}
		case "rbd":
			if r.TryDecodeAsNil() {
				if x.RBD != nil {
					x.RBD = nil
				}
			} else {
				if x.RBD == nil {
					x.RBD = new(RBDVolumeSource)
				}
				x.RBD.CodecDecodeSelf(d)
			}
		case "quobyte":
			if r.TryDecodeAsNil() {
				if x.Quobyte != nil {
					x.Quobyte = nil
				}
			} else {
				if x.Quobyte == nil {
					x.Quobyte = new(QuobyteVolumeSource)
				}
				x.Quobyte.CodecDecodeSelf(d)
			}
		case "flexVolume":
			if r.TryDecodeAsNil() {
				if x.FlexVolume != nil {
					x.FlexVolume = nil
				}
			} else {
				if x.FlexVolume == nil {
					x.FlexVolume = new(FlexVolumeSource)
				}
				x.FlexVolume.CodecDecodeSelf(d)
			}
		case "cinder":
			if r.TryDecodeAsNil() {
				if x.Cinder != nil {
					x.Cinder = nil
				}
			} else {
				if x.Cinder == nil {
					x.Cinder = new(CinderVolumeSource)
				}
				x.Cinder.CodecDecodeSelf(d)
			}
		case "cephfs":
			if r.TryDecodeAsNil() {
				if x.CephFS != nil {
					x.CephFS = nil
				}
			} else {
				if x.CephFS == nil {
					x.CephFS = new(CephFSVolumeSource)
				}
				x.CephFS.CodecDecodeSelf(d)
			}
		case "flocker":
			if r.TryDecodeAsNil() {
				if x.Flocker != nil {
					x.Flocker = nil
				}
			} else {
				if x.Flocker == nil {
					x.Flocker = new(FlockerVolumeSource)
				}
				x.Flocker.CodecDecodeSelf(d)
			}
		case "downwardAPI":
			if r.TryDecodeAsNil() {
				if x.DownwardAPI != nil {
					x.DownwardAPI = nil
				}
			} else {
				if x.DownwardAPI == nil {
					x.DownwardAPI = new(DownwardAPIVolumeSource)
				}
				x.DownwardAPI.CodecDecodeSelf(d)
			}
		case "fc":
			if r.TryDecodeAsNil() {
				if x.FC != nil {
					x.FC = nil
				}
			} else {
				if x.FC == nil {
					x.FC = new(FCVolumeSource)
				}
				x.FC.CodecDecodeSelf(d)
			}
		case "azureFile":
			if r.TryDecodeAsNil() {
				if x.AzureFile != nil {
					x.AzureFile = nil
				}
			} else {
				if x.AzureFile == nil {
					x.AzureFile = new(AzureFileVolumeSource)
				}
				x.AzureFile.CodecDecodeSelf(d)
			}
		case "configMap":
			if r.TryDecodeAsNil() {
				if x.ConfigMap != nil {
					x.ConfigMap = nil
				}
			} else {
				if x.ConfigMap == nil {
					x.ConfigMap = new(ConfigMapVolumeSource)
				}
				x.ConfigMap.CodecDecodeSelf(d)
			}
		case "vsphereVolume":
			if r.TryDecodeAsNil() {
				if x.VsphereVolume != nil {
					x.VsphereVolume = nil
				}
			} else {
				if x.VsphereVolume == nil {
					x.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
				}
				x.VsphereVolume.CodecDecodeSelf(d)
			}
		case "azureDisk":
			if r.TryDecodeAsNil() {
				if x.AzureDisk != nil {
					x.AzureDisk = nil
				}
			} else {
				if x.AzureDisk == nil {
					x.AzureDisk = new(AzureDiskVolumeSource)
				}
				x.AzureDisk.CodecDecodeSelf(d)
			}
		case "photonPersistentDisk":
			if r.TryDecodeAsNil() {
				if x.PhotonPersistentDisk != nil {
					x.PhotonPersistentDisk = nil
				}
			} else {
				if x.PhotonPersistentDisk == nil {
					x.PhotonPersistentDisk = new(PhotonPersistentDiskVolumeSource)
				}
				x.PhotonPersistentDisk.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys207)
		} // end switch yys207
	} // end for yyj207
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj231 int
	var yyb231 bool
	var yyhl231 bool = l >= 0
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.HostPath != nil {
			x.HostPath = nil
		}
	} else {
		if x.HostPath == nil {
			x.HostPath = new(HostPathVolumeSource)
		}
		x.HostPath.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.EmptyDir != nil {
			x.EmptyDir = nil
		}
	} else {
		if x.EmptyDir == nil {
			x.EmptyDir = new(EmptyDirVolumeSource)
		}
		x.EmptyDir.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.GCEPersistentDisk != nil {
			x.GCEPersistentDisk = nil
		}
	} else {
		if x.GCEPersistentDisk == nil {
			x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
		}
		x.GCEPersistentDisk.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AWSElasticBlockStore != nil {
			x.AWSElasticBlockStore = nil
		}
	} else {
		if x.AWSElasticBlockStore == nil {
			x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
		}
		x.AWSElasticBlockStore.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.GitRepo != nil {
			x.GitRepo = nil
		}
	} else {
		if x.GitRepo == nil {
			x.GitRepo = new(GitRepoVolumeSource)
		}
		x.GitRepo.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Secret != nil {
			x.Secret = nil
		}
	} else {
		if x.Secret == nil {
			x.Secret = new(SecretVolumeSource)
		}
		x.Secret.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.NFS != nil {
			x.NFS = nil
		}
	} else {
		if x.NFS == nil {
			x.NFS = new(NFSVolumeSource)
		}
		x.NFS.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ISCSI != nil {
			x.ISCSI = nil
		}
	} else {
		if x.ISCSI == nil {
			x.ISCSI = new(ISCSIVolumeSource)
		}
		x.ISCSI.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Glusterfs != nil {
			x.Glusterfs = nil
		}
	} else {
		if x.Glusterfs == nil {
			x.Glusterfs = new(GlusterfsVolumeSource)
		}
		x.Glusterfs.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PersistentVolumeClaim != nil {
			x.PersistentVolumeClaim = nil
		}
	} else {
		if x.PersistentVolumeClaim == nil {
			x.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
		}
		x.PersistentVolumeClaim.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RBD != nil {
			x.RBD = nil
		}
	} else {
		if x.RBD == nil {
			x.RBD = new(RBDVolumeSource)
		}
		x.RBD.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Quobyte != nil {
			x.Quobyte = nil
		}
	} else {
		if x.Quobyte == nil {
			x.Quobyte = new(QuobyteVolumeSource)
		}
		x.Quobyte.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FlexVolume != nil {
			x.FlexVolume = nil
		}
	} else {
		if x.FlexVolume == nil {
			x.FlexVolume = new(FlexVolumeSource)
		}
		x.FlexVolume.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Cinder != nil {
			x.Cinder = nil
		}
	} else {
		if x.Cinder == nil {
			x.Cinder = new(CinderVolumeSource)
		}
		x.Cinder.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.CephFS != nil {
			x.CephFS = nil
		}
	} else {
		if x.CephFS == nil {
			x.CephFS = new(CephFSVolumeSource)
		}
		x.CephFS.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Flocker != nil {
			x.Flocker = nil
		}
	} else {
		if x.Flocker == nil {
			x.Flocker = new(FlockerVolumeSource)
		}
		x.Flocker.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.DownwardAPI != nil {
			x.DownwardAPI = nil
		}
	} else {
		if x.DownwardAPI == nil {
			x.DownwardAPI = new(DownwardAPIVolumeSource)
		}
		x.DownwardAPI.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FC != nil {
			x.FC = nil
		}
	} else {
		if x.FC == nil {
			x.FC = new(FCVolumeSource)
		}
		x.FC.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AzureFile != nil {
			x.AzureFile = nil
		}
	} else {
		if x.AzureFile == nil {
			x.AzureFile = new(AzureFileVolumeSource)
		}
		x.AzureFile.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ConfigMap != nil {
			x.ConfigMap = nil
		}
	} else {
		if x.ConfigMap == nil {
			x.ConfigMap = new(ConfigMapVolumeSource)
		}
		x.ConfigMap.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.VsphereVolume != nil {
			x.VsphereVolume = nil
		}
	} else {
		if x.VsphereVolume == nil {
			x.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
		}
		x.VsphereVolume.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AzureDisk != nil {
			x.AzureDisk = nil
		}
	} else {
		if x.AzureDisk == nil {
			x.AzureDisk = new(AzureDiskVolumeSource)
		}
		x.AzureDisk.CodecDecodeSelf(d)
	}
	yyj231++
	if yyhl231 {
		yyb231 = yyj231 > l
	} else {
		yyb231 = r.CheckBreak()
	}
	if yyb231 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PhotonPersistentDisk != nil {
			x.PhotonPersistentDisk = nil
		}
	} else {
		if x.PhotonPersistentDisk == nil {
			x.PhotonPersistentDisk = new(PhotonPersistentDiskVolumeSource)
		}
		x.PhotonPersistentDisk.CodecDecodeSelf(d)
	}
	for {
		yyj231++
		if yyhl231 {
			yyb231 = yyj231 > l
		} else {
			yyb231 = r.CheckBreak()
		}
		if yyb231 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj231-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym255 := z.EncBinary()
		_ = yym255
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep256 := !z.EncBinary()
			yy2arr256 := z.EncBasicHandle().StructToArray
			var yyq256 [17]bool
			_, _, _ = yysep256, yyq256, yy2arr256
			const yyr256 bool = false
			yyq256[0] = x.GCEPersistentDisk != nil
			yyq256[1] = x.AWSElasticBlockStore != nil
			yyq256[2] = x.HostPath != nil
			yyq256[3] = x.Glusterfs != nil
			yyq256[4] = x.NFS != nil
			yyq256[5] = x.RBD != nil
			yyq256[6] = x.Quobyte != nil
			yyq256[7] = x.ISCSI != nil
			yyq256[8] = x.FlexVolume != nil
			yyq256[9] = x.Cinder != nil
			yyq256[10] = x.CephFS != nil
			yyq256[11] = x.FC != nil
			yyq256[12] = x.Flocker != nil
			yyq256[13] = x.AzureFile != nil
			yyq256[14] = x.VsphereVolume != nil
			yyq256[15] = x.AzureDisk != nil
			yyq256[16] = x.PhotonPersistentDisk != nil
			var yynn256 int
			if yyr256 || yy2arr256 {
				r.EncodeArrayStart(17)
			} else {
				yynn256 = 0
				for _, b := range yyq256 {
					if b {
						yynn256++
					}
				}
				r.EncodeMapStart(yynn256)
				yynn256 = 0
			}
			if yyr256 || yy2arr256 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq256[0] {
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq256[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				}
			}
			if yyr256 || yy2arr256 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq256[1] {
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq256[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				}
			}
			if yyr256 || yy2arr256 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq256[2] {
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq256[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				}
			}
			if yyr256 || yy2arr256 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq256[3] {
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq256[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				}
			}
			if yyr256 || yy2arr256 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq256[4] {
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq256[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				}
			}
			if yyr256 || yy2arr256 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq256[5] {
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq256[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				}
			}
			if yyr256 || yy2arr256 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq256[6] {
					if x.Quobyte == nil {
						r.EncodeNil()
					} else {
						x.Quobyte.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq256[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("quobyte"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Quobyte == nil {
						r.EncodeNil()
					} else {
						x.Quobyte.CodecEncodeSelf(e)
					}
				}
			}
			if yyr256 || yy2arr256 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq256[7] {
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq256[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				}
			}
			if yyr256 || yy2arr256 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq256[8] {
					if x.FlexVolume == nil {
						r.EncodeNil()
					} else {
						x.FlexVolume.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq256[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flexVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FlexVolume == nil {
						r.EncodeNil()
					} else {
						x.FlexVolume.CodecEncodeSelf(e)
					}
				}
			}
			if yyr256 || yy2arr256 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq256[9] {
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq256[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				}
			}
			if yyr256 || yy2arr256 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq256[10] {
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq256[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				}
			}
			if yyr256 || yy2arr256 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq256[11] {
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq256[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				}
			}
			if yyr256 || yy2arr256 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq256[12] {
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq256[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				}
			}
			if yyr256 || yy2arr256 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq256[13] {
					if x.AzureFile == nil {
						r.EncodeNil()
					} else {
						x.AzureFile.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq256[13] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("azureFile"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AzureFile == nil {
						r.EncodeNil()
					} else {
						x.AzureFile.CodecEncodeSelf(e)
					}
				}
			}
			if yyr256 || yy2arr256 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq256[14] {
					if x.VsphereVolume == nil {
						r.EncodeNil()
					} else {
						x.VsphereVolume.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq256[14] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("vsphereVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.VsphereVolume == nil {
						r.EncodeNil()
					} else {
						x.VsphereVolume.CodecEncodeSelf(e)
					}
				}
			}
			if yyr256 || yy2arr256 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq256[15] {
					if x.AzureDisk == nil {
						r.EncodeNil()
					} else {
						x.AzureDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq256[15] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("azureDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AzureDisk == nil {
						r.EncodeNil()
					} else {
						x.AzureDisk.CodecEncodeSelf(e)
					}
				}
			}
			if yyr256 || yy2arr256 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq256[16] {
					if x.PhotonPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.PhotonPersistentDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq256[16] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("photonPersistentDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PhotonPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.PhotonPersistentDisk.CodecEncodeSelf(e)
					}
				}
			}
			if yyr256 || yy2arr256 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym274 := z.DecBinary()
	_ = yym274
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct275 := r.ContainerType()
		if yyct275 == codecSelferValueTypeMap1234 {
			yyl275 := r.ReadMapStart()
			if yyl275 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl275, d)
			}
		} else if yyct275 == codecSelferValueTypeArray1234 {
			yyl275 := r.ReadArrayStart()
			if yyl275 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl275, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys276Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys276Slc
	var yyhl276 bool = l >= 0
	for yyj276 := 0; ; yyj276++ {
		if yyhl276 {
			if yyj276 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys276Slc = r.DecodeBytes(yys276Slc, true, true)
		yys276 := string(yys276Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys276 {
		case "gcePersistentDisk":
			if r.TryDecodeAsNil() {
				if x.GCEPersistentDisk != nil {
					x.GCEPersistentDisk = nil
				}
			} else {
				if x.GCEPersistentDisk == nil {
					x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
				}
				x.GCEPersistentDisk.CodecDecodeSelf(d)
			}
		case "awsElasticBlockStore":
			if r.TryDecodeAsNil() {
				if x.AWSElasticBlockStore != nil {
					x.AWSElasticBlockStore = nil
				}
			} else {
				if x.AWSElasticBlockStore == nil {
					x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
				}
				x.AWSElasticBlockStore.CodecDecodeSelf(d)
			}
		case "hostPath":
			if r.TryDecodeAsNil() {
				if x.HostPath != nil {
					x.HostPath = nil
				}
			} else {
				if x.HostPath == nil {
					x.HostPath = new(HostPathVolumeSource)
				}
				x.HostPath.CodecDecodeSelf(d)
			}
		case "glusterfs":
			if r.TryDecodeAsNil() {
				if x.Glusterfs != nil {
					x.Glusterfs = nil
				}
			} else {
				if x.Glusterfs == nil {
					x.Glusterfs = new(GlusterfsVolumeSource)
				}
				x.Glusterfs.CodecDecodeSelf(d)
			}
		case "nfs":
			if r.TryDecodeAsNil() {
				if x.NFS != nil {
					x.NFS = nil
				}
			} else {
				if x.NFS == nil {
					x.NFS = new(NFSVolumeSource)
				}
				x.NFS.CodecDecodeSelf(d)
			}
		case "rbd":
			if r.TryDecodeAsNil() {
				if x.RBD != nil {
					x.RBD = nil
				}
			} else {
				if x.RBD == nil {
					x.RBD = new(RBDVolumeSource)
				}
				x.RBD.CodecDecodeSelf(d)
			}
		case "quobyte":
			if r.TryDecodeAsNil() {
				if x.Quobyte != nil {
					x.Quobyte = nil
				}
			} else {
				if x.Quobyte == nil {
					x.Quobyte = new(QuobyteVolumeSource)
				}
				x.Quobyte.CodecDecodeSelf(d)
			}
		case "iscsi":
			if r.TryDecodeAsNil() {
				if x.ISCSI != nil {
					x.ISCSI = nil
				}
			} else {
				if x.ISCSI == nil {
					x.ISCSI = new(ISCSIVolumeSource)
				}
				x.ISCSI.CodecDecodeSelf(d)
			}
		case "flexVolume":
			if r.TryDecodeAsNil() {
				if x.FlexVolume != nil {
					x.FlexVolume = nil
				}
			} else {
				if x.FlexVolume == nil {
					x.FlexVolume = new(FlexVolumeSource)
				}
				x.FlexVolume.CodecDecodeSelf(d)
			}
		case "cinder":
			if r.TryDecodeAsNil() {
				if x.Cinder != nil {
					x.Cinder = nil
				}
			} else {
				if x.Cinder == nil {
					x.Cinder = new(CinderVolumeSource)
				}
				x.Cinder.CodecDecodeSelf(d)
			}
		case "cephfs":
			if r.TryDecodeAsNil() {
				if x.CephFS != nil {
					x.CephFS = nil
				}
			} else {
				if x.CephFS == nil {
					x.CephFS = new(CephFSVolumeSource)
				}
				x.CephFS.CodecDecodeSelf(d)
			}
		case "fc":
			if r.TryDecodeAsNil() {
				if x.FC != nil {
					x.FC = nil
				}
			} else {
				if x.FC == nil {
					x.FC = new(FCVolumeSource)
				}
				x.FC.CodecDecodeSelf(d)
			}
		case "flocker":
			if r.TryDecodeAsNil() {
				if x.Flocker != nil {
					x.Flocker = nil
				}
			} else {
				if x.Flocker == nil {
					x.Flocker = new(FlockerVolumeSource)
				}
				x.Flocker.CodecDecodeSelf(d)
			}
		case "azureFile":
			if r.TryDecodeAsNil() {
				if x.AzureFile != nil {
					x.AzureFile = nil
				}
			} else {
				if x.AzureFile == nil {
					x.AzureFile = new(AzureFileVolumeSource)
				}
				x.AzureFile.CodecDecodeSelf(d)
			}
		case "vsphereVolume":
			if r.TryDecodeAsNil() {
				if x.VsphereVolume != nil {
					x.VsphereVolume = nil
				}
			} else {
				if x.VsphereVolume == nil {
					x.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
				}
				x.VsphereVolume.CodecDecodeSelf(d)
			}
		case "azureDisk":
			if r.TryDecodeAsNil() {
				if x.AzureDisk != nil {
					x.AzureDisk = nil
				}
			} else {
				if x.AzureDisk == nil {
					x.AzureDisk = new(AzureDiskVolumeSource)
				}
				x.AzureDisk.CodecDecodeSelf(d)
			}
		case "photonPersistentDisk":
			if r.TryDecodeAsNil() {
				if x.PhotonPersistentDisk != nil {
					x.PhotonPersistentDisk = nil
				}
			} else {
				if x.PhotonPersistentDisk == nil {
					x.PhotonPersistentDisk = new(PhotonPersistentDiskVolumeSource)
				}
				x.PhotonPersistentDisk.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys276)
		} // end switch yys276
	} // end for yyj276
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj294 int
	var yyb294 bool
	var yyhl294 bool = l >= 0
	yyj294++
	if yyhl294 {
		yyb294 = yyj294 > l
	} else {
		yyb294 = r.CheckBreak()
	}
	if yyb294 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.GCEPersistentDisk != nil {
			x.GCEPersistentDisk = nil
		}
	} else {
		if x.GCEPersistentDisk == nil {
			x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
		}
		x.GCEPersistentDisk.CodecDecodeSelf(d)
	}
	yyj294++
	if yyhl294 {
		yyb294 = yyj294 > l
	} else {
		yyb294 = r.CheckBreak()
	}
	if yyb294 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AWSElasticBlockStore != nil {
			x.AWSElasticBlockStore = nil
		}
	} else {
		if x.AWSElasticBlockStore == nil {
			x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
		}
		x.AWSElasticBlockStore.CodecDecodeSelf(d)
	}
	yyj294++
	if yyhl294 {
		yyb294 = yyj294 > l
	} else {
		yyb294 = r.CheckBreak()
	}
	if yyb294 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.HostPath != nil {
			x.HostPath = nil
		}
	} else {
		if x.HostPath == nil {
			x.HostPath = new(HostPathVolumeSource)
		}
		x.HostPath.CodecDecodeSelf(d)
	}
	yyj294++
	if yyhl294 {
		yyb294 = yyj294 > l
	} else {
		yyb294 = r.CheckBreak()
	}
	if yyb294 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Glusterfs != nil {
			x.Glusterfs = nil
		}
	} else {
		if x.Glusterfs == nil {
			x.Glusterfs = new(GlusterfsVolumeSource)
		}
		x.Glusterfs.CodecDecodeSelf(d)
	}
	yyj294++
	if yyhl294 {
		yyb294 = yyj294 > l
	} else {
		yyb294 = r.CheckBreak()
	}
	if yyb294 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.NFS != nil {
			x.NFS = nil
		}
	} else {
		if x.NFS == nil {
			x.NFS = new(NFSVolumeSource)
		}
		x.NFS.CodecDecodeSelf(d)
	}
	yyj294++
	if yyhl294 {
		yyb294 = yyj294 > l
	} else {
		yyb294 = r.CheckBreak()
	}
	if yyb294 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RBD != nil {
			x.RBD = nil
		}
	} else {
		if x.RBD == nil {
			x.RBD = new(RBDVolumeSource)
		}
		x.RBD.CodecDecodeSelf(d)
	}
	yyj294++
	if yyhl294 {
		yyb294 = yyj294 > l
	} else {
		yyb294 = r.CheckBreak()
	}
	if yyb294 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Quobyte != nil {
			x.Quobyte = nil
		}
	} else {
		if x.Quobyte == nil {
			x.Quobyte = new(QuobyteVolumeSource)
		}
		x.Quobyte.CodecDecodeSelf(d)
	}
	yyj294++
	if yyhl294 {
		yyb294 = yyj294 > l
	} else {
		yyb294 = r.CheckBreak()
	}
	if yyb294 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ISCSI != nil {
			x.ISCSI = nil
		}
	} else {
		if x.ISCSI == nil {
			x.ISCSI = new(ISCSIVolumeSource)
		}
		x.ISCSI.CodecDecodeSelf(d)
	}
	yyj294++
	if yyhl294 {
		yyb294 = yyj294 > l
	} else {
		yyb294 = r.CheckBreak()
	}
	if yyb294 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FlexVolume != nil {
			x.FlexVolume = nil
		}
	} else {
		if x.FlexVolume == nil {
			x.FlexVolume = new(FlexVolumeSource)
		}
		x.FlexVolume.CodecDecodeSelf(d)
	}
	yyj294++
	if yyhl294 {
		yyb294 = yyj294 > l
	} else {
		yyb294 = r.CheckBreak()
	}
	if yyb294 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Cinder != nil {
			x.Cinder = nil
		}
	} else {
		if x.Cinder == nil {
			x.Cinder = new(CinderVolumeSource)
		}
		x.Cinder.CodecDecodeSelf(d)
	}
	yyj294++
	if yyhl294 {
		yyb294 = yyj294 > l
	} else {
		yyb294 = r.CheckBreak()
	}
	if yyb294 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.CephFS != nil {
			x.CephFS = nil
		}
	} else {
		if x.CephFS == nil {
			x.CephFS = new(CephFSVolumeSource)
		}
		x.CephFS.CodecDecodeSelf(d)
	}
	yyj294++
	if yyhl294 {
		yyb294 = yyj294 > l
	} else {
		yyb294 = r.CheckBreak()
	}
	if yyb294 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FC != nil {
			x.FC = nil
		}
	} else {
		if x.FC == nil {
			x.FC = new(FCVolumeSource)
		}
		x.FC.CodecDecodeSelf(d)
	}
	yyj294++
	if yyhl294 {
		yyb294 = yyj294 > l
	} else {
		yyb294 = r.CheckBreak()
	}
	if yyb294 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Flocker != nil {
			x.Flocker = nil
		}
	} else {
		if x.Flocker == nil {
			x.Flocker = new(FlockerVolumeSource)
		}
		x.Flocker.CodecDecodeSelf(d)
	}
	yyj294++
	if yyhl294 {
		yyb294 = yyj294 > l
	} else {
		yyb294 = r.CheckBreak()
	}
	if yyb294 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AzureFile != nil {
			x.AzureFile = nil
		}
	} else {
		if x.AzureFile == nil {
			x.AzureFile = new(AzureFileVolumeSource)
		}
		x.AzureFile.CodecDecodeSelf(d)
	}
	yyj294++
	if yyhl294 {
		yyb294 = yyj294 > l
	} else {
		yyb294 = r.CheckBreak()
	}
	if yyb294 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.VsphereVolume != nil {
			x.VsphereVolume = nil
		}
	} else {
		if x.VsphereVolume == nil {
			x.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
		}
		x.VsphereVolume.CodecDecodeSelf(d)
	}
	yyj294++
	if yyhl294 {
		yyb294 = yyj294 > l
	} else {
		yyb294 = r.CheckBreak()
	}
	if yyb294 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AzureDisk != nil {
			x.AzureDisk = nil
		}
	} else {
		if x.AzureDisk == nil {
			x.AzureDisk = new(AzureDiskVolumeSource)
		}
		x.AzureDisk.CodecDecodeSelf(d)
	}
	yyj294++
	if yyhl294 {
		yyb294 = yyj294 > l
	} else {
		yyb294 = r.CheckBreak()
	}
	if yyb294 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PhotonPersistentDisk != nil {
			x.PhotonPersistentDisk = nil
		}
	} else {
		if x.PhotonPersistentDisk == nil {
			x.PhotonPersistentDisk = new(PhotonPersistentDiskVolumeSource)
		}
		x.PhotonPersistentDisk.CodecDecodeSelf(d)
	}
	for {
		yyj294++
		if yyhl294 {
			yyb294 = yyj294 > l
		} else {
			yyb294 = r.CheckBreak()
		}
		if yyb294 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj294-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeClaimVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym312 := z.EncBinary()
		_ = yym312
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep313 := !z.EncBinary()
			yy2arr313 := z.EncBasicHandle().StructToArray
			var yyq313 [2]bool
			_, _, _ = yysep313, yyq313, yy2arr313
			const yyr313 bool = false
			yyq313[1] = x.ReadOnly != false
			var yynn313 int
			if yyr313 || yy2arr313 {
				r.EncodeArrayStart(2)
			} else {
				yynn313 = 1
				for _, b := range yyq313 {
					if b {
						yynn313++
					}
				}
				r.EncodeMapStart(yynn313)
				yynn313 = 0
			}
			if yyr313 || yy2arr313 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym315 := z.EncBinary()
				_ = yym315
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ClaimName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("claimName"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym316 := z.EncBinary()
				_ = yym316
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ClaimName))
				}
			}
			if yyr313 || yy2arr313 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq313[1] {
					yym318 := z.EncBinary()
					_ = yym318
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq313[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym319 := z.EncBinary()
					_ = yym319
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr313 || yy2arr313 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeClaimVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym320 := z.DecBinary()
	_ = yym320
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct321 := r.ContainerType()
		if yyct321 == codecSelferValueTypeMap1234 {
			yyl321 := r.ReadMapStart()
			if yyl321 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl321, d)
			}
		} else if yyct321 == codecSelferValueTypeArray1234 {
			yyl321 := r.ReadArrayStart()
			if yyl321 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl321, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeClaimVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys322Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys322Slc
	var yyhl322 bool = l >= 0
	for yyj322 := 0; ; yyj322++ {
		if yyhl322 {
			if yyj322 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys322Slc = r.DecodeBytes(yys322Slc, true, true)
		yys322 := string(yys322Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys322 {
		case "claimName":
			if r.TryDecodeAsNil() {
				x.ClaimName = ""
			} else {
				x.ClaimName = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys322)
		} // end switch yys322
	} // end for yyj322
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeClaimVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj325 int
	var yyb325 bool
	var yyhl325 bool = l >= 0
	yyj325++
	if yyhl325 {
		yyb325 = yyj325 > l
	} else {
		yyb325 = r.CheckBreak()
	}
	if yyb325 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ClaimName = ""
	} else {
		x.ClaimName = string(r.DecodeString())
	}
	yyj325++
	if yyhl325 {
		yyb325 = yyj325 > l
	} else {
		yyb325 = r.CheckBreak()
	}
	if yyb325 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj325++
		if yyhl325 {
			yyb325 = yyj325 > l
		} else {
			yyb325 = r.CheckBreak()
		}
		if yyb325 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj325-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolume) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym328 := z.EncBinary()
		_ = yym328
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep329 := !z.EncBinary()
			yy2arr329 := z.EncBasicHandle().StructToArray
			var yyq329 [5]bool
			_, _, _ = yysep329, yyq329, yy2arr329
			const yyr329 bool = false
			yyq329[0] = x.Kind != ""
			yyq329[1] = x.APIVersion != ""
			yyq329[2] = true
			yyq329[3] = true
			yyq329[4] = true
			var yynn329 int
			if yyr329 || yy2arr329 {
				r.EncodeArrayStart(5)
			} else {
				yynn329 = 0
				for _, b := range yyq329 {
					if b {
						yynn329++
					}
				}
				r.EncodeMapStart(yynn329)
				yynn329 = 0
			}
			if yyr329 || yy2arr329 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq329[0] {
					yym331 := z.EncBinary()
					_ = yym331
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq329[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym332 := z.EncBinary()
					_ = yym332
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr329 || yy2arr329 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq329[1] {
					yym334 := z.EncBinary()
					_ = yym334
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq329[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym335 := z.EncBinary()
					_ = yym335
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr329 || yy2arr329 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq329[2] {
					yy337 := &x.ObjectMeta
					yy337.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq329[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy338 := &x.ObjectMeta
					yy338.CodecEncodeSelf(e)
				}
			}
			if yyr329 || yy2arr329 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq329[3] {
					yy340 := &x.Spec
					yy340.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq329[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy341 := &x.Spec
					yy341.CodecEncodeSelf(e)
				}
			}
			if yyr329 || yy2arr329 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq329[4] {
					yy343 := &x.Status
					yy343.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq329[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy344 := &x.Status
					yy344.CodecEncodeSelf(e)
				}
			}
			if yyr329 || yy2arr329 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolume) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym345 := z.DecBinary()
	_ = yym345
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct346 := r.ContainerType()
		if yyct346 == codecSelferValueTypeMap1234 {
			yyl346 := r.ReadMapStart()
			if yyl346 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl346, d)
			}
		} else if yyct346 == codecSelferValueTypeArray1234 {
			yyl346 := r.ReadArrayStart()
			if yyl346 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl346, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolume) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys347Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys347Slc
	var yyhl347 bool = l >= 0
	for yyj347 := 0; ; yyj347++ {
		if yyhl347 {
			if yyj347 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys347Slc = r.DecodeBytes(yys347Slc, true, true)
		yys347 := string(yys347Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys347 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv350 := &x.ObjectMeta
				yyv350.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PersistentVolumeSpec{}
			} else {
				yyv351 := &x.Spec
				yyv351.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PersistentVolumeStatus{}
			} else {
				yyv352 := &x.Status
				yyv352.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys347)
		} // end switch yys347
	} // end for yyj347
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj353 int
	var yyb353 bool
	var yyhl353 bool = l >= 0
	yyj353++
	if yyhl353 {
		yyb353 = yyj353 > l
	} else {
		yyb353 = r.CheckBreak()
	}
	if yyb353 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj353++
	if yyhl353 {
		yyb353 = yyj353 > l
	} else {
		yyb353 = r.CheckBreak()
	}
	if yyb353 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj353++
	if yyhl353 {
		yyb353 = yyj353 > l
	} else {
		yyb353 = r.CheckBreak()
	}
	if yyb353 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv356 := &x.ObjectMeta
		yyv356.CodecDecodeSelf(d)
	}
	yyj353++
	if yyhl353 {
		yyb353 = yyj353 > l
	} else {
		yyb353 = r.CheckBreak()
	}
	if yyb353 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = PersistentVolumeSpec{}
	} else {
		yyv357 := &x.Spec
		yyv357.CodecDecodeSelf(d)
	}
	yyj353++
	if yyhl353 {
		yyb353 = yyj353 > l
	} else {
		yyb353 = r.CheckBreak()
	}
	if yyb353 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = PersistentVolumeStatus{}
	} else {
		yyv358 := &x.Status
		yyv358.CodecDecodeSelf(d)
	}
	for {
		yyj353++
		if yyhl353 {
			yyb353 = yyj353 > l
		} else {
			yyb353 = r.CheckBreak()
		}
		if yyb353 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj353-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym359 := z.EncBinary()
		_ = yym359
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep360 := !z.EncBinary()
			yy2arr360 := z.EncBasicHandle().StructToArray
			var yyq360 [21]bool
			_, _, _ = yysep360, yyq360, yy2arr360
			const yyr360 bool = false
			yyq360[1] = x.PersistentVolumeSource.GCEPersistentDisk != nil && x.GCEPersistentDisk != nil
			yyq360[2] = x.PersistentVolumeSource.AWSElasticBlockStore != nil && x.AWSElasticBlockStore != nil
			yyq360[3] = x.PersistentVolumeSource.HostPath != nil && x.HostPath != nil
			yyq360[4] = x.PersistentVolumeSource.Glusterfs != nil && x.Glusterfs != nil
			yyq360[5] = x.PersistentVolumeSource.NFS != nil && x.NFS != nil
			yyq360[6] = x.PersistentVolumeSource.RBD != nil && x.RBD != nil
			yyq360[7] = x.PersistentVolumeSource.Quobyte != nil && x.Quobyte != nil
			yyq360[8] = x.PersistentVolumeSource.ISCSI != nil && x.ISCSI != nil
			yyq360[9] = x.PersistentVolumeSource.FlexVolume != nil && x.FlexVolume != nil
			yyq360[10] = x.PersistentVolumeSource.Cinder != nil && x.Cinder != nil
			yyq360[11] = x.PersistentVolumeSource.CephFS != nil && x.CephFS != nil
			yyq360[12] = x.PersistentVolumeSource.FC != nil && x.FC != nil
			yyq360[13] = x.PersistentVolumeSource.Flocker != nil && x.Flocker != nil
			yyq360[14] = x.PersistentVolumeSource.AzureFile != nil && x.AzureFile != nil
			yyq360[15] = x.PersistentVolumeSource.VsphereVolume != nil && x.VsphereVolume != nil
			yyq360[16] = x.PersistentVolumeSource.AzureDisk != nil && x.AzureDisk != nil
			yyq360[17] = x.PersistentVolumeSource.PhotonPersistentDisk != nil && x.PhotonPersistentDisk != nil
			yyq360[18] = len(x.AccessModes) != 0
			yyq360[19] = x.ClaimRef != nil
			yyq360[20] = x.PersistentVolumeReclaimPolicy != ""
			var yynn360 int
			if yyr360 || yy2arr360 {
				r.EncodeArrayStart(21)
			} else {
				yynn360 = 1
				for _, b := range yyq360 {
					if b {
						yynn360++
					}
				}
				r.EncodeMapStart(yynn360)
				yynn360 = 0
			}
			if yyr360 || yy2arr360 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Capacity == nil {
					r.EncodeNil()
				} else {
					x.Capacity.CodecEncodeSelf(e)
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("capacity"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Capacity == nil {
					r.EncodeNil()
				} else {
					x.Capacity.CodecEncodeSelf(e)
				}
			}
			var yyn362 bool
			if x.PersistentVolumeSource.GCEPersistentDisk == nil {
				yyn362 = true
				goto LABEL362
			}
		LABEL362:
			if yyr360 || yy2arr360 {
				if yyn362 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq360[1] {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq360[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn362 {
						r.EncodeNil()
					} else {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn363 bool
			if x.PersistentVolumeSource.AWSElasticBlockStore == nil {
				yyn363 = true
				goto LABEL363
			}
		LABEL363:
			if yyr360 || yy2arr360 {
				if yyn363 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq360[2] {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq360[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn363 {
						r.EncodeNil()
					} else {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn364 bool
			if x.PersistentVolumeSource.HostPath == nil {
				yyn364 = true
				goto LABEL364
			}
		LABEL364:
			if yyr360 || yy2arr360 {
				if yyn364 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq360[3] {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq360[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn364 {
						r.EncodeNil()
					} else {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn365 bool
			if x.PersistentVolumeSource.Glusterfs == nil {
				yyn365 = true
				goto LABEL365
			}
		LABEL365:
			if yyr360 || yy2arr360 {
				if yyn365 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq360[4] {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq360[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn365 {
						r.EncodeNil()
					} else {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn366 bool
			if x.PersistentVolumeSource.NFS == nil {
				yyn366 = true
				goto LABEL366
			}
		LABEL366:
			if yyr360 || yy2arr360 {
				if yyn366 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq360[5] {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq360[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn366 {
						r.EncodeNil()
					} else {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn367 bool
			if x.PersistentVolumeSource.RBD == nil {
				yyn367 = true
				goto LABEL367
			}
		LABEL367:
			if yyr360 || yy2arr360 {
				if yyn367 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq360[6] {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq360[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn367 {
						r.EncodeNil()
					} else {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn368 bool
			if x.PersistentVolumeSource.Quobyte == nil {
				yyn368 = true
				goto LABEL368
			}
		LABEL368:
			if yyr360 || yy2arr360 {
				if yyn368 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq360[7] {
						if x.Quobyte == nil {
							r.EncodeNil()
						} else {
							x.Quobyte.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq360[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("quobyte"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn368 {
						r.EncodeNil()
					} else {
						if x.Quobyte == nil {
							r.EncodeNil()
						} else {
							x.Quobyte.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn369 bool
			if x.PersistentVolumeSource.ISCSI == nil {
				yyn369 = true
				goto LABEL369
			}
		LABEL369:
			if yyr360 || yy2arr360 {
				if yyn369 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq360[8] {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq360[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn369 {
						r.EncodeNil()
					} else {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn370 bool
			if x.PersistentVolumeSource.FlexVolume == nil {
				yyn370 = true
				goto LABEL370
			}
		LABEL370:
			if yyr360 || yy2arr360 {
				if yyn370 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq360[9] {
						if x.FlexVolume == nil {
							r.EncodeNil()
						} else {
							x.FlexVolume.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq360[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flexVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn370 {
						r.EncodeNil()
					} else {
						if x.FlexVolume == nil {
							r.EncodeNil()
						} else {
							x.FlexVolume.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn371 bool
			if x.PersistentVolumeSource.Cinder == nil {
				yyn371 = true
				goto LABEL371
			}
		LABEL371:
			if yyr360 || yy2arr360 {
				if yyn371 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq360[10] {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq360[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn371 {
						r.EncodeNil()
					} else {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn372 bool
			if x.PersistentVolumeSource.CephFS == nil {
				yyn372 = true
				goto LABEL372
			}
		LABEL372:
			if yyr360 || yy2arr360 {
				if yyn372 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq360[11] {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq360[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn372 {
						r.EncodeNil()
					} else {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn373 bool
			if x.PersistentVolumeSource.FC == nil {
				yyn373 = true
				goto LABEL373
			}
		LABEL373:
			if yyr360 || yy2arr360 {
				if yyn373 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq360[12] {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq360[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn373 {
						r.EncodeNil()
					} else {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn374 bool
			if x.PersistentVolumeSource.Flocker == nil {
				yyn374 = true
				goto LABEL374
			}
		LABEL374:
			if yyr360 || yy2arr360 {
				if yyn374 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq360[13] {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq360[13] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn374 {
						r.EncodeNil()
					} else {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn375 bool
			if x.PersistentVolumeSource.AzureFile == nil {
				yyn375 = true
				goto LABEL375
			}
		LABEL375:
			if yyr360 || yy2arr360 {
				if yyn375 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq360[14] {
						if x.AzureFile == nil {
							r.EncodeNil()
						} else {
							x.AzureFile.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq360[14] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("azureFile"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn375 {
						r.EncodeNil()
					} else {
						if x.AzureFile == nil {
							r.EncodeNil()
						} else {
							x.AzureFile.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn376 bool
			if x.PersistentVolumeSource.VsphereVolume == nil {
				yyn376 = true
				goto LABEL376
			}
		LABEL376:
			if yyr360 || yy2arr360 {
				if yyn376 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq360[15] {
						if x.VsphereVolume == nil {
							r.EncodeNil()
						} else {
							x.VsphereVolume.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq360[15] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("vsphereVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn376 {
						r.EncodeNil()
					} else {
						if x.VsphereVolume == nil {
							r.EncodeNil()
						} else {
							x.VsphereVolume.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn377 bool
			if x.PersistentVolumeSource.AzureDisk == nil {
				yyn377 = true
				goto LABEL377
			}
		LABEL377:
			if yyr360 || yy2arr360 {
				if yyn377 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq360[16] {
						if x.AzureDisk == nil {
							r.EncodeNil()
						} else {
							x.AzureDisk.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq360[16] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("azureDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn377 {
						r.EncodeNil()
					} else {
						if x.AzureDisk == nil {
							r.EncodeNil()
						} else {
							x.AzureDisk.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn378 bool
			if x.PersistentVolumeSource.PhotonPersistentDisk == nil {
				yyn378 = true
				goto LABEL378
			}
		LABEL378:
			if yyr360 || yy2arr360 {
				if yyn378 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq360[17] {
						if x.PhotonPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.PhotonPersistentDisk.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq360[17] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("photonPersistentDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn378 {
						r.EncodeNil()
					} else {
						if x.PhotonPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.PhotonPersistentDisk.CodecEncodeSelf(e)
						}
					}
				}
			}
			if yyr360 || yy2arr360 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq360[18] {
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym380 := z.EncBinary()
						_ = yym380
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq360[18] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("accessModes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym381 := z.EncBinary()
						_ = yym381
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				}
			}
			if yyr360 || yy2arr360 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq360[19] {
					if x.ClaimRef == nil {
						r.EncodeNil()
					} else {
						x.ClaimRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq360[19] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("claimRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ClaimRef == nil {
						r.EncodeNil()
					} else {
						x.ClaimRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr360 || yy2arr360 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq360[20] {
					x.PersistentVolumeReclaimPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq360[20] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("persistentVolumeReclaimPolicy"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.PersistentVolumeReclaimPolicy.CodecEncodeSelf(e)
				}
			}
			if yyr360 || yy2arr360 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym384 := z.DecBinary()
	_ = yym384
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct385 := r.ContainerType()
		if yyct385 == codecSelferValueTypeMap1234 {
			yyl385 := r.ReadMapStart()
			if yyl385 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl385, d)
			}
		} else if yyct385 == codecSelferValueTypeArray1234 {
			yyl385 := r.ReadArrayStart()
			if yyl385 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl385, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys386Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys386Slc
	var yyhl386 bool = l >= 0
	for yyj386 := 0; ; yyj386++ {
		if yyhl386 {
			if yyj386 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys386Slc = r.DecodeBytes(yys386Slc, true, true)
		yys386 := string(yys386Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys386 {
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv387 := &x.Capacity
				yyv387.CodecDecodeSelf(d)
			}
		case "gcePersistentDisk":
			if x.PersistentVolumeSource.GCEPersistentDisk == nil {
				x.PersistentVolumeSource.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.GCEPersistentDisk != nil {
					x.GCEPersistentDisk = nil
				}
			} else {
				if x.GCEPersistentDisk == nil {
					x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
				}
				x.GCEPersistentDisk.CodecDecodeSelf(d)
			}
		case "awsElasticBlockStore":
			if x.PersistentVolumeSource.AWSElasticBlockStore == nil {
				x.PersistentVolumeSource.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.AWSElasticBlockStore != nil {
					x.AWSElasticBlockStore = nil
				}
			} else {
				if x.AWSElasticBlockStore == nil {
					x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
				}
				x.AWSElasticBlockStore.CodecDecodeSelf(d)
			}
		case "hostPath":
			if x.PersistentVolumeSource.HostPath == nil {
				x.PersistentVolumeSource.HostPath = new(HostPathVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.HostPath != nil {
					x.HostPath = nil
				}
			} else {
				if x.HostPath == nil {
					x.HostPath = new(HostPathVolumeSource)
				}
				x.HostPath.CodecDecodeSelf(d)
			}
		case "glusterfs":
			if x.PersistentVolumeSource.Glusterfs == nil {
				x.PersistentVolumeSource.Glusterfs = new(GlusterfsVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Glusterfs != nil {
					x.Glusterfs = nil
				}
			} else {
				if x.Glusterfs == nil {
					x.Glusterfs = new(GlusterfsVolumeSource)
				}
				x.Glusterfs.CodecDecodeSelf(d)
			}
		case "nfs":
			if x.PersistentVolumeSource.NFS == nil {
				x.PersistentVolumeSource.NFS = new(NFSVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.NFS != nil {
					x.NFS = nil
				}
			} else {
				if x.NFS == nil {
					x.NFS = new(NFSVolumeSource)
				}
				x.NFS.CodecDecodeSelf(d)
			}
		case "rbd":
			if x.PersistentVolumeSource.RBD == nil {
				x.PersistentVolumeSource.RBD = new(RBDVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.RBD != nil {
					x.RBD = nil
				}
			} else {
				if x.RBD == nil {
					x.RBD = new(RBDVolumeSource)
				}
				x.RBD.CodecDecodeSelf(d)
			}
		case "quobyte":
			if x.PersistentVolumeSource.Quobyte == nil {
				x.PersistentVolumeSource.Quobyte = new(QuobyteVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Quobyte != nil {
					x.Quobyte = nil
				}
			} else {
				if x.Quobyte == nil {
					x.Quobyte = new(QuobyteVolumeSource)
				}
				x.Quobyte.CodecDecodeSelf(d)
			}
		case "iscsi":
			if x.PersistentVolumeSource.ISCSI == nil {
				x.PersistentVolumeSource.ISCSI = new(ISCSIVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.ISCSI != nil {
					x.ISCSI = nil
				}
			} else {
				if x.ISCSI == nil {
					x.ISCSI = new(ISCSIVolumeSource)
				}
				x.ISCSI.CodecDecodeSelf(d)
			}
		case "flexVolume":
			if x.PersistentVolumeSource.FlexVolume == nil {
				x.PersistentVolumeSource.FlexVolume = new(FlexVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.FlexVolume != nil {
					x.FlexVolume = nil
				}
			} else {
				if x.FlexVolume == nil {
					x.FlexVolume = new(FlexVolumeSource)
				}
				x.FlexVolume.CodecDecodeSelf(d)
			}
		case "cinder":
			if x.PersistentVolumeSource.Cinder == nil {
				x.PersistentVolumeSource.Cinder = new(CinderVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Cinder != nil {
					x.Cinder = nil
				}
			} else {
				if x.Cinder == nil {
					x.Cinder = new(CinderVolumeSource)
				}
				x.Cinder.CodecDecodeSelf(d)
			}
		case "cephfs":
			if x.PersistentVolumeSource.CephFS == nil {
				x.PersistentVolumeSource.CephFS = new(CephFSVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.CephFS != nil {
					x.CephFS = nil
				}
			} else {
				if x.CephFS == nil {
					x.CephFS = new(CephFSVolumeSource)
				}
				x.CephFS.CodecDecodeSelf(d)
			}
		case "fc":
			if x.PersistentVolumeSource.FC == nil {
				x.PersistentVolumeSource.FC = new(FCVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.FC != nil {
					x.FC = nil
				}
			} else {
				if x.FC == nil {
					x.FC = new(FCVolumeSource)
				}
				x.FC.CodecDecodeSelf(d)
			}
		case "flocker":
			if x.PersistentVolumeSource.Flocker == nil {
				x.PersistentVolumeSource.Flocker = new(FlockerVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Flocker != nil {
					x.Flocker = nil
				}
			} else {
				if x.Flocker == nil {
					x.Flocker = new(FlockerVolumeSource)
				}
				x.Flocker.CodecDecodeSelf(d)
			}
		case "azureFile":
			if x.PersistentVolumeSource.AzureFile == nil {
				x.PersistentVolumeSource.AzureFile = new(AzureFileVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.AzureFile != nil {
					x.AzureFile = nil
				}
			} else {
				if x.AzureFile == nil {
					x.AzureFile = new(AzureFileVolumeSource)
				}
				x.AzureFile.CodecDecodeSelf(d)
			}
		case "vsphereVolume":
			if x.PersistentVolumeSource.VsphereVolume == nil {
				x.PersistentVolumeSource.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.VsphereVolume != nil {
					x.VsphereVolume = nil
				}
			} else {
				if x.VsphereVolume == nil {
					x.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
				}
				x.VsphereVolume.CodecDecodeSelf(d)
			}
		case "azureDisk":
			if x.PersistentVolumeSource.AzureDisk == nil {
				x.PersistentVolumeSource.AzureDisk = new(AzureDiskVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.AzureDisk != nil {
					x.AzureDisk = nil
				}
			} else {
				if x.AzureDisk == nil {
					x.AzureDisk = new(AzureDiskVolumeSource)
				}
				x.AzureDisk.CodecDecodeSelf(d)
			}
		case "photonPersistentDisk":
			if x.PersistentVolumeSource.PhotonPersistentDisk == nil {
				x.PersistentVolumeSource.PhotonPersistentDisk = new(PhotonPersistentDiskVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.PhotonPersistentDisk != nil {
					x.PhotonPersistentDisk = nil
				}
			} else {
				if x.PhotonPersistentDisk == nil {
					x.PhotonPersistentDisk = new(PhotonPersistentDiskVolumeSource)
				}
				x.PhotonPersistentDisk.CodecDecodeSelf(d)
			}
		case "accessModes":
			if r.TryDecodeAsNil() {
				x.AccessModes = nil
			} else {
				yyv405 := &x.AccessModes
				yym406 := z.DecBinary()
				_ = yym406
				if false {
				} else {
					h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv405), d)
				}
			}
		case "claimRef":
			if r.TryDecodeAsNil() {
				if x.ClaimRef != nil {
					x.ClaimRef = nil
				}
			} else {
				if x.ClaimRef == nil {
					x.ClaimRef = new(ObjectReference)
				}
				x.ClaimRef.CodecDecodeSelf(d)
			}
		case "persistentVolumeReclaimPolicy":
			if r.TryDecodeAsNil() {
				x.PersistentVolumeReclaimPolicy = ""
			} else {
				x.PersistentVolumeReclaimPolicy = PersistentVolumeReclaimPolicy(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys386)
		} // end switch yys386
	} // end for yyj386
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj409 int
	var yyb409 bool
	var yyhl409 bool = l >= 0
	yyj409++
	if yyhl409 {
		yyb409 = yyj409 > l
	} else {
		yyb409 = r.CheckBreak()
	}
	if yyb409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv410 := &x.Capacity
		yyv410.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.GCEPersistentDisk == nil {
		x.PersistentVolumeSource.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
	}
	yyj409++
	if yyhl409 {
		yyb409 = yyj409 > l
	} else {
		yyb409 = r.CheckBreak()
	}
	if yyb409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.GCEPersistentDisk != nil {
			x.GCEPersistentDisk = nil
		}
	} else {
		if x.GCEPersistentDisk == nil {
			x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
		}
		x.GCEPersistentDisk.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.AWSElasticBlockStore == nil {
		x.PersistentVolumeSource.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
	}
	yyj409++
	if yyhl409 {
		yyb409 = yyj409 > l
	} else {
		yyb409 = r.CheckBreak()
	}
	if yyb409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AWSElasticBlockStore != nil {
			x.AWSElasticBlockStore = nil
		}
	} else {
		if x.AWSElasticBlockStore == nil {
			x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
		}
		x.AWSElasticBlockStore.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.HostPath == nil {
		x.PersistentVolumeSource.HostPath = new(HostPathVolumeSource)
	}
	yyj409++
	if yyhl409 {
		yyb409 = yyj409 > l
	} else {
		yyb409 = r.CheckBreak()
	}
	if yyb409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.HostPath != nil {
			x.HostPath = nil
		}
	} else {
		if x.HostPath == nil {
			x.HostPath = new(HostPathVolumeSource)
		}
		x.HostPath.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.Glusterfs == nil {
		x.PersistentVolumeSource.Glusterfs = new(GlusterfsVolumeSource)
	}
	yyj409++
	if yyhl409 {
		yyb409 = yyj409 > l
	} else {
		yyb409 = r.CheckBreak()
	}
	if yyb409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Glusterfs != nil {
			x.Glusterfs = nil
		}
	} else {
		if x.Glusterfs == nil {
			x.Glusterfs = new(GlusterfsVolumeSource)
		}
		x.Glusterfs.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.NFS == nil {
		x.PersistentVolumeSource.NFS = new(NFSVolumeSource)
	}
	yyj409++
	if yyhl409 {
		yyb409 = yyj409 > l
	} else {
		yyb409 = r.CheckBreak()
	}
	if yyb409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.NFS != nil {
			x.NFS = nil
		}
	} else {
		if x.NFS == nil {
			x.NFS = new(NFSVolumeSource)
		}
		x.NFS.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.RBD == nil {
		x.PersistentVolumeSource.RBD = new(RBDVolumeSource)
	}
	yyj409++
	if yyhl409 {
		yyb409 = yyj409 > l
	} else {
		yyb409 = r.CheckBreak()
	}
	if yyb409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RBD != nil {
			x.RBD = nil
		}
	} else {
		if x.RBD == nil {
			x.RBD = new(RBDVolumeSource)
		}
		x.RBD.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.Quobyte == nil {
		x.PersistentVolumeSource.Quobyte = new(QuobyteVolumeSource)
	}
	yyj409++
	if yyhl409 {
		yyb409 = yyj409 > l
	} else {
		yyb409 = r.CheckBreak()
	}
	if yyb409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Quobyte != nil {
			x.Quobyte = nil
		}
	} else {
		if x.Quobyte == nil {
			x.Quobyte = new(QuobyteVolumeSource)
		}
		x.Quobyte.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.ISCSI == nil {
		x.PersistentVolumeSource.ISCSI = new(ISCSIVolumeSource)
	}
	yyj409++
	if yyhl409 {
		yyb409 = yyj409 > l
	} else {
		yyb409 = r.CheckBreak()
	}
	if yyb409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ISCSI != nil {
			x.ISCSI = nil
		}
	} else {
		if x.ISCSI == nil {
			x.ISCSI = new(ISCSIVolumeSource)
		}
		x.ISCSI.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.FlexVolume == nil {
		x.PersistentVolumeSource.FlexVolume = new(FlexVolumeSource)
	}
	yyj409++
	if yyhl409 {
		yyb409 = yyj409 > l
	} else {
		yyb409 = r.CheckBreak()
	}
	if yyb409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FlexVolume != nil {
			x.FlexVolume = nil
		}
	} else {
		if x.FlexVolume == nil {
			x.FlexVolume = new(FlexVolumeSource)
		}
		x.FlexVolume.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.Cinder == nil {
		x.PersistentVolumeSource.Cinder = new(CinderVolumeSource)
	}
	yyj409++
	if yyhl409 {
		yyb409 = yyj409 > l
	} else {
		yyb409 = r.CheckBreak()
	}
	if yyb409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Cinder != nil {
			x.Cinder = nil
		}
	} else {
		if x.Cinder == nil {
			x.Cinder = new(CinderVolumeSource)
		}
		x.Cinder.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.CephFS == nil {
		x.PersistentVolumeSource.CephFS = new(CephFSVolumeSource)
	}
	yyj409++
	if yyhl409 {
		yyb409 = yyj409 > l
	} else {
		yyb409 = r.CheckBreak()
	}
	if yyb409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.CephFS != nil {
			x.CephFS = nil
		}
	} else {
		if x.CephFS == nil {
			x.CephFS = new(CephFSVolumeSource)
		}
		x.CephFS.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.FC == nil {
		x.PersistentVolumeSource.FC = new(FCVolumeSource)
	}
	yyj409++
	if yyhl409 {
		yyb409 = yyj409 > l
	} else {
		yyb409 = r.CheckBreak()
	}
	if yyb409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FC != nil {
			x.FC = nil
		}
	} else {
		if x.FC == nil {
			x.FC = new(FCVolumeSource)
		}
		x.FC.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.Flocker == nil {
		x.PersistentVolumeSource.Flocker = new(FlockerVolumeSource)
	}
	yyj409++
	if yyhl409 {
		yyb409 = yyj409 > l
	} else {
		yyb409 = r.CheckBreak()
	}
	if yyb409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Flocker != nil {
			x.Flocker = nil
		}
	} else {
		if x.Flocker == nil {
			x.Flocker = new(FlockerVolumeSource)
		}
		x.Flocker.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.AzureFile == nil {
		x.PersistentVolumeSource.AzureFile = new(AzureFileVolumeSource)
	}
	yyj409++
	if yyhl409 {
		yyb409 = yyj409 > l
	} else {
		yyb409 = r.CheckBreak()
	}
	if yyb409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AzureFile != nil {
			x.AzureFile = nil
		}
	} else {
		if x.AzureFile == nil {
			x.AzureFile = new(AzureFileVolumeSource)
		}
		x.AzureFile.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.VsphereVolume == nil {
		x.PersistentVolumeSource.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
	}
	yyj409++
	if yyhl409 {
		yyb409 = yyj409 > l
	} else {
		yyb409 = r.CheckBreak()
	}
	if yyb409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.VsphereVolume != nil {
			x.VsphereVolume = nil
		}
	} else {
		if x.VsphereVolume == nil {
			x.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
		}
		x.VsphereVolume.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.AzureDisk == nil {
		x.PersistentVolumeSource.AzureDisk = new(AzureDiskVolumeSource)
	}
	yyj409++
	if yyhl409 {
		yyb409 = yyj409 > l
	} else {
		yyb409 = r.CheckBreak()
	}
	if yyb409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AzureDisk != nil {
			x.AzureDisk = nil
		}
	} else {
		if x.AzureDisk == nil {
			x.AzureDisk = new(AzureDiskVolumeSource)
		}
		x.AzureDisk.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.PhotonPersistentDisk == nil {
		x.PersistentVolumeSource.PhotonPersistentDisk = new(PhotonPersistentDiskVolumeSource)
	}
	yyj409++
	if yyhl409 {
		yyb409 = yyj409 > l
	} else {
		yyb409 = r.CheckBreak()
	}
	if yyb409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PhotonPersistentDisk != nil {
			x.PhotonPersistentDisk = nil
		}
	} else {
		if x.PhotonPersistentDisk == nil {
			x.PhotonPersistentDisk = new(PhotonPersistentDiskVolumeSource)
		}
		x.PhotonPersistentDisk.CodecDecodeSelf(d)
	}
	yyj409++
	if yyhl409 {
		yyb409 = yyj409 > l
	} else {
		yyb409 = r.CheckBreak()
	}
	if yyb409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.AccessModes = nil
	} else {
		yyv428 := &x.AccessModes
		yym429 := z.DecBinary()
		_ = yym429
		if false {
		} else {
			h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv428), d)
		}
	}
	yyj409++
	if yyhl409 {
		yyb409 = yyj409 > l
	} else {
		yyb409 = r.CheckBreak()
	}
	if yyb409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ClaimRef != nil {
			x.ClaimRef = nil
		}
	} else {
		if x.ClaimRef == nil {
			x.ClaimRef = new(ObjectReference)
		}
		x.ClaimRef.CodecDecodeSelf(d)
	}
	yyj409++
	if yyhl409 {
		yyb409 = yyj409 > l
	} else {
		yyb409 = r.CheckBreak()
	}
	if yyb409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PersistentVolumeReclaimPolicy = ""
	} else {
		x.PersistentVolumeReclaimPolicy = PersistentVolumeReclaimPolicy(r.DecodeString())
	}
	for {
		yyj409++
		if yyhl409 {
			yyb409 = yyj409 > l
		} else {
			yyb409 = r.CheckBreak()
		}
		if yyb409 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj409-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PersistentVolumeReclaimPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym432 := z.EncBinary()
	_ = yym432
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PersistentVolumeReclaimPolicy) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym433 := z.DecBinary()
	_ = yym433
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *PersistentVolumeStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym434 := z.EncBinary()
		_ = yym434
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep435 := !z.EncBinary()
			yy2arr435 := z.EncBasicHandle().StructToArray
			var yyq435 [3]bool
			_, _, _ = yysep435, yyq435, yy2arr435
			const yyr435 bool = false
			yyq435[0] = x.Phase != ""
			yyq435[1] = x.Message != ""
			yyq435[2] = x.Reason != ""
			var yynn435 int
			if yyr435 || yy2arr435 {
				r.EncodeArrayStart(3)
			} else {
				yynn435 = 0
				for _, b := range yyq435 {
					if b {
						yynn435++
					}
				}
				r.EncodeMapStart(yynn435)
				yynn435 = 0
			}
			if yyr435 || yy2arr435 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq435[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq435[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr435 || yy2arr435 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq435[1] {
					yym438 := z.EncBinary()
					_ = yym438
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq435[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym439 := z.EncBinary()
					_ = yym439
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr435 || yy2arr435 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq435[2] {
					yym441 := z.EncBinary()
					_ = yym441
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq435[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym442 := z.EncBinary()
					_ = yym442
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr435 || yy2arr435 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym443 := z.DecBinary()
	_ = yym443
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct444 := r.ContainerType()
		if yyct444 == codecSelferValueTypeMap1234 {
			yyl444 := r.ReadMapStart()
			if yyl444 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl444, d)
			}
		} else if yyct444 == codecSelferValueTypeArray1234 {
			yyl444 := r.ReadArrayStart()
			if yyl444 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl444, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys445Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys445Slc
	var yyhl445 bool = l >= 0
	for yyj445 := 0; ; yyj445++ {
		if yyhl445 {
			if yyj445 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys445Slc = r.DecodeBytes(yys445Slc, true, true)
		yys445 := string(yys445Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys445 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = PersistentVolumePhase(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys445)
		} // end switch yys445
	} // end for yyj445
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj449 int
	var yyb449 bool
	var yyhl449 bool = l >= 0
	yyj449++
	if yyhl449 {
		yyb449 = yyj449 > l
	} else {
		yyb449 = r.CheckBreak()
	}
	if yyb449 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = PersistentVolumePhase(r.DecodeString())
	}
	yyj449++
	if yyhl449 {
		yyb449 = yyj449 > l
	} else {
		yyb449 = r.CheckBreak()
	}
	if yyb449 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj449++
	if yyhl449 {
		yyb449 = yyj449 > l
	} else {
		yyb449 = r.CheckBreak()
	}
	if yyb449 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	for {
		yyj449++
		if yyhl449 {
			yyb449 = yyj449 > l
		} else {
			yyb449 = r.CheckBreak()
		}
		if yyb449 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj449-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym453 := z.EncBinary()
		_ = yym453
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep454 := !z.EncBinary()
			yy2arr454 := z.EncBasicHandle().StructToArray
			var yyq454 [4]bool
			_, _, _ = yysep454, yyq454, yy2arr454
			const yyr454 bool = false
			yyq454[0] = x.Kind != ""
			yyq454[1] = x.APIVersion != ""
			yyq454[2] = true
			var yynn454 int
			if yyr454 || yy2arr454 {
				r.EncodeArrayStart(4)
			} else {
				yynn454 = 1
				for _, b := range yyq454 {
					if b {
						yynn454++
					}
				}
				r.EncodeMapStart(yynn454)
				yynn454 = 0
			}
			if yyr454 || yy2arr454 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq454[0] {
					yym456 := z.EncBinary()
					_ = yym456
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq454[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym457 := z.EncBinary()
					_ = yym457
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr454 || yy2arr454 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq454[1] {
					yym459 := z.EncBinary()
					_ = yym459
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq454[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym460 := z.EncBinary()
					_ = yym460
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr454 || yy2arr454 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq454[2] {
					yy462 := &x.ListMeta
					yym463 := z.EncBinary()
					_ = yym463
					if false {
					} else if z.HasExtensions() && z.EncExt(yy462) {
					} else {
						z.EncFallback(yy462)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq454[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy464 := &x.ListMeta
					yym465 := z.EncBinary()
					_ = yym465
					if false {
					} else if z.HasExtensions() && z.EncExt(yy464) {
					} else {
						z.EncFallback(yy464)
					}
				}
			}
			if yyr454 || yy2arr454 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym467 := z.EncBinary()
					_ = yym467
					if false {
					} else {
						h.encSlicePersistentVolume(([]PersistentVolume)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym468 := z.EncBinary()
					_ = yym468
					if false {
					} else {
						h.encSlicePersistentVolume(([]PersistentVolume)(x.Items), e)
					}
				}
			}
			if yyr454 || yy2arr454 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym469 := z.DecBinary()
	_ = yym469
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct470 := r.ContainerType()
		if yyct470 == codecSelferValueTypeMap1234 {
			yyl470 := r.ReadMapStart()
			if yyl470 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl470, d)
			}
		} else if yyct470 == codecSelferValueTypeArray1234 {
			yyl470 := r.ReadArrayStart()
			if yyl470 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl470, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys471Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys471Slc
	var yyhl471 bool = l >= 0
	for yyj471 := 0; ; yyj471++ {
		if yyhl471 {
			if yyj471 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys471Slc = r.DecodeBytes(yys471Slc, true, true)
		yys471 := string(yys471Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys471 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_v1.ListMeta{}
			} else {
				yyv474 := &x.ListMeta
				yym475 := z.DecBinary()
				_ = yym475
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv474) {
				} else {
					z.DecFallback(yyv474, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv476 := &x.Items
				yym477 := z.DecBinary()
				_ = yym477
				if false {
				} else {
					h.decSlicePersistentVolume((*[]PersistentVolume)(yyv476), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys471)
		} // end switch yys471
	} // end for yyj471
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj478 int
	var yyb478 bool
	var yyhl478 bool = l >= 0
	yyj478++
	if yyhl478 {
		yyb478 = yyj478 > l
	} else {
		yyb478 = r.CheckBreak()
	}
	if yyb478 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj478++
	if yyhl478 {
		yyb478 = yyj478 > l
	} else {
		yyb478 = r.CheckBreak()
	}
	if yyb478 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj478++
	if yyhl478 {
		yyb478 = yyj478 > l
	} else {
		yyb478 = r.CheckBreak()
	}
	if yyb478 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_v1.ListMeta{}
	} else {
		yyv481 := &x.ListMeta
		yym482 := z.DecBinary()
		_ = yym482
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv481) {
		} else {
			z.DecFallback(yyv481, false)
		}
	}
	yyj478++
	if yyhl478 {
		yyb478 = yyj478 > l
	} else {
		yyb478 = r.CheckBreak()
	}
	if yyb478 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv483 := &x.Items
		yym484 := z.DecBinary()
		_ = yym484
		if false {
		} else {
			h.decSlicePersistentVolume((*[]PersistentVolume)(yyv483), d)
		}
	}
	for {
		yyj478++
		if yyhl478 {
			yyb478 = yyj478 > l
		} else {
			yyb478 = r.CheckBreak()
		}
		if yyb478 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj478-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeClaim) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym485 := z.EncBinary()
		_ = yym485
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep486 := !z.EncBinary()
			yy2arr486 := z.EncBasicHandle().StructToArray
			var yyq486 [5]bool
			_, _, _ = yysep486, yyq486, yy2arr486
			const yyr486 bool = false
			yyq486[0] = x.Kind != ""
			yyq486[1] = x.APIVersion != ""
			yyq486[2] = true
			yyq486[3] = true
			yyq486[4] = true
			var yynn486 int
			if yyr486 || yy2arr486 {
				r.EncodeArrayStart(5)
			} else {
				yynn486 = 0
				for _, b := range yyq486 {
					if b {
						yynn486++
					}
				}
				r.EncodeMapStart(yynn486)
				yynn486 = 0
			}
			if yyr486 || yy2arr486 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq486[0] {
					yym488 := z.EncBinary()
					_ = yym488
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq486[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym489 := z.EncBinary()
					_ = yym489
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr486 || yy2arr486 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq486[1] {
					yym491 := z.EncBinary()
					_ = yym491
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq486[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym492 := z.EncBinary()
					_ = yym492
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr486 || yy2arr486 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq486[2] {
					yy494 := &x.ObjectMeta
					yy494.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq486[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy495 := &x.ObjectMeta
					yy495.CodecEncodeSelf(e)
				}
			}
			if yyr486 || yy2arr486 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq486[3] {
					yy497 := &x.Spec
					yy497.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq486[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy498 := &x.Spec
					yy498.CodecEncodeSelf(e)
				}
			}
			if yyr486 || yy2arr486 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq486[4] {
					yy500 := &x.Status
					yy500.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq486[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy501 := &x.Status
					yy501.CodecEncodeSelf(e)
				}
			}
			if yyr486 || yy2arr486 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeClaim) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym502 := z.DecBinary()
	_ = yym502
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct503 := r.ContainerType()
		if yyct503 == codecSelferValueTypeMap1234 {
			yyl503 := r.ReadMapStart()
			if yyl503 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl503, d)
			}
		} else if yyct503 == codecSelferValueTypeArray1234 {
			yyl503 := r.ReadArrayStart()
			if yyl503 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl503, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeClaim) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys504Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys504Slc
	var yyhl504 bool = l >= 0
	for yyj504 := 0; ; yyj504++ {
		if yyhl504 {
			if yyj504 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys504Slc = r.DecodeBytes(yys504Slc, true, true)
		yys504 := string(yys504Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys504 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv507 := &x.ObjectMeta
				yyv507.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PersistentVolumeClaimSpec{}
			} else {
				yyv508 := &x.Spec
				yyv508.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PersistentVolumeClaimStatus{}
			} else {
				yyv509 := &x.Status
				yyv509.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys504)
		} // end switch yys504
	} // end for yyj504
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeClaim) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj510 int
	var yyb510 bool
	var yyhl510 bool = l >= 0
	yyj510++
	if yyhl510 {
		yyb510 = yyj510 > l
	} else {
		yyb510 = r.CheckBreak()
	}
	if yyb510 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj510++
	if yyhl510 {
		yyb510 = yyj510 > l
	} else {
		yyb510 = r.CheckBreak()
	}
	if yyb510 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj510++
	if yyhl510 {
		yyb510 = yyj510 > l
	} else {
		yyb510 = r.CheckBreak()
	}
	if yyb510 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv513 := &x.ObjectMeta
		yyv513.CodecDecodeSelf(d)
	}
	yyj510++
	if yyhl510 {
		yyb510 = yyj510 > l
	} else {
		yyb510 = r.CheckBreak()
	}
	if yyb510 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = PersistentVolumeClaimSpec{}
	} else {
		yyv514 := &x.Spec
		yyv514.CodecDecodeSelf(d)
	}
	yyj510++
	if yyhl510 {
		yyb510 = yyj510 > l
	} else {
		yyb510 = r.CheckBreak()
	}
	if yyb510 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = PersistentVolumeClaimStatus{}
	} else {
		yyv515 := &x.Status
		yyv515.CodecDecodeSelf(d)
	}
	for {
		yyj510++
		if yyhl510 {
			yyb510 = yyj510 > l
		} else {
			yyb510 = r.CheckBreak()
		}
		if yyb510 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj510-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeClaimList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym516 := z.EncBinary()
		_ = yym516
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep517 := !z.EncBinary()
			yy2arr517 := z.EncBasicHandle().StructToArray
			var yyq517 [4]bool
			_, _, _ = yysep517, yyq517, yy2arr517
			const yyr517 bool = false
			yyq517[0] = x.Kind != ""
			yyq517[1] = x.APIVersion != ""
			yyq517[2] = true
			var yynn517 int
			if yyr517 || yy2arr517 {
				r.EncodeArrayStart(4)
			} else {
				yynn517 = 1
				for _, b := range yyq517 {
					if b {
						yynn517++
					}
				}
				r.EncodeMapStart(yynn517)
				yynn517 = 0
			}
			if yyr517 || yy2arr517 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq517[0] {
					yym519 := z.EncBinary()
					_ = yym519
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq517[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym520 := z.EncBinary()
					_ = yym520
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr517 || yy2arr517 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq517[1] {
					yym522 := z.EncBinary()
					_ = yym522
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq517[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym523 := z.EncBinary()
					_ = yym523
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr517 || yy2arr517 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq517[2] {
					yy525 := &x.ListMeta
					yym526 := z.EncBinary()
					_ = yym526
					if false {
					} else if z.HasExtensions() && z.EncExt(yy525) {
					} else {
						z.EncFallback(yy525)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq517[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy527 := &x.ListMeta
					yym528 := z.EncBinary()
					_ = yym528
					if false {
					} else if z.HasExtensions() && z.EncExt(yy527) {
					} else {
						z.EncFallback(yy527)
					}
				}
			}
			if yyr517 || yy2arr517 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym530 := z.EncBinary()
					_ = yym530
					if false {
					} else {
						h.encSlicePersistentVolumeClaim(([]PersistentVolumeClaim)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym531 := z.EncBinary()
					_ = yym531
					if false {
					} else {
						h.encSlicePersistentVolumeClaim(([]PersistentVolumeClaim)(x.Items), e)
					}
				}
			}
			if yyr517 || yy2arr517 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeClaimList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym532 := z.DecBinary()
	_ = yym532
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct533 := r.ContainerType()
		if yyct533 == codecSelferValueTypeMap1234 {
			yyl533 := r.ReadMapStart()
			if yyl533 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl533, d)
			}
		} else if yyct533 == codecSelferValueTypeArray1234 {
			yyl533 := r.ReadArrayStart()
			if yyl533 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl533, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeClaimList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys534Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys534Slc
	var yyhl534 bool = l >= 0
	for yyj534 := 0; ; yyj534++ {
		if yyhl534 {
			if yyj534 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys534Slc = r.DecodeBytes(yys534Slc, true, true)
		yys534 := string(yys534Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys534 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_v1.ListMeta{}
			} else {
				yyv537 := &x.ListMeta
				yym538 := z.DecBinary()
				_ = yym538
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv537) {
				} else {
					z.DecFallback(yyv537, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv539 := &x.Items
				yym540 := z.DecBinary()
				_ = yym540
				if false {
				} else {
					h.decSlicePersistentVolumeClaim((*[]PersistentVolumeClaim)(yyv539), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys534)
		} // end switch yys534
	} // end for yyj534
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeClaimList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj541 int
	var yyb541 bool
	var yyhl541 bool = l >= 0
	yyj541++
	if yyhl541 {
		yyb541 = yyj541 > l
	} else {
		yyb541 = r.CheckBreak()
	}
	if yyb541 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj541++
	if yyhl541 {
		yyb541 = yyj541 > l
	} else {
		yyb541 = r.CheckBreak()
	}
	if yyb541 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj541++
	if yyhl541 {
		yyb541 = yyj541 > l
	} else {
		yyb541 = r.CheckBreak()
	}
	if yyb541 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_v1.ListMeta{}
	} else {
		yyv544 := &x.ListMeta
		yym545 := z.DecBinary()
		_ = yym545
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv544) {
		} else {
			z.DecFallback(yyv544, false)
		}
	}
	yyj541++
	if yyhl541 {
		yyb541 = yyj541 > l
	} else {
		yyb541 = r.CheckBreak()
	}
	if yyb541 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv546 := &x.Items
		yym547 := z.DecBinary()
		_ = yym547
		if false {
		} else {
			h.decSlicePersistentVolumeClaim((*[]PersistentVolumeClaim)(yyv546), d)
		}
	}
	for {
		yyj541++
		if yyhl541 {
			yyb541 = yyj541 > l
		} else {
			yyb541 = r.CheckBreak()
		}
		if yyb541 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj541-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeClaimSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym548 := z.EncBinary()
		_ = yym548
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep549 := !z.EncBinary()
			yy2arr549 := z.EncBasicHandle().StructToArray
			var yyq549 [4]bool
			_, _, _ = yysep549, yyq549, yy2arr549
			const yyr549 bool = false
			yyq549[0] = len(x.AccessModes) != 0
			yyq549[1] = x.Selector != nil
			yyq549[2] = true
			yyq549[3] = x.VolumeName != ""
			var yynn549 int
			if yyr549 || yy2arr549 {
				r.EncodeArrayStart(4)
			} else {
				yynn549 = 0
				for _, b := range yyq549 {
					if b {
						yynn549++
					}
				}
				r.EncodeMapStart(yynn549)
				yynn549 = 0
			}
			if yyr549 || yy2arr549 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq549[0] {
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym551 := z.EncBinary()
						_ = yym551
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq549[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("accessModes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym552 := z.EncBinary()
						_ = yym552
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				}
			}
			if yyr549 || yy2arr549 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq549[1] {
					if x.Selector == nil {
						r.EncodeNil()
					} else {
						yym554 := z.EncBinary()
						_ = yym554
						if false {
						} else if z.HasExtensions() && z.EncExt(x.Selector) {
						} else {
							z.EncFallback(x.Selector)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq549[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("selector"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Selector == nil {
						r.EncodeNil()
					} else {
						yym555 := z.EncBinary()
						_ = yym555
						if false {
						} else if z.HasExtensions() && z.EncExt(x.Selector) {
						} else {
							z.EncFallback(x.Selector)
						}
					}
				}
			}
			if yyr549 || yy2arr549 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq549[2] {
					yy557 := &x.Resources
					yy557.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq549[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resources"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy558 := &x.Resources
					yy558.CodecEncodeSelf(e)
				}
			}
			if yyr549 || yy2arr549 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq549[3] {
					yym560 := z.EncBinary()
					_ = yym560
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.VolumeName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq549[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("volumeName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym561 := z.EncBinary()
					_ = yym561
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.VolumeName))
					}
				}
			}
			if yyr549 || yy2arr549 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeClaimSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym562 := z.DecBinary()
	_ = yym562
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct563 := r.ContainerType()
		if yyct563 == codecSelferValueTypeMap1234 {
			yyl563 := r.ReadMapStart()
			if yyl563 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl563, d)
			}
		} else if yyct563 == codecSelferValueTypeArray1234 {
			yyl563 := r.ReadArrayStart()
			if yyl563 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl563, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeClaimSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys564Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys564Slc
	var yyhl564 bool = l >= 0
	for yyj564 := 0; ; yyj564++ {
		if yyhl564 {
			if yyj564 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys564Slc = r.DecodeBytes(yys564Slc, true, true)
		yys564 := string(yys564Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys564 {
		case "accessModes":
			if r.TryDecodeAsNil() {
				x.AccessModes = nil
			} else {
				yyv565 := &x.AccessModes
				yym566 := z.DecBinary()
				_ = yym566
				if false {
				} else {
					h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv565), d)
				}
			}
		case "selector":
			if r.TryDecodeAsNil() {
				if x.Selector != nil {
					x.Selector = nil
				}
			} else {
				if x.Selector == nil {
					x.Selector = new(pkg2_v1.LabelSelector)
				}
				yym568 := z.DecBinary()
				_ = yym568
				if false {
				} else if z.HasExtensions() && z.DecExt(x.Selector) {
				} else {
					z.DecFallback(x.Selector, false)
				}
			}
		case "resources":
			if r.TryDecodeAsNil() {
				x.Resources = ResourceRequirements{}
			} else {
				yyv569 := &x.Resources
				yyv569.CodecDecodeSelf(d)
			}
		case "volumeName":
			if r.TryDecodeAsNil() {
				x.VolumeName = ""
			} else {
				x.VolumeName = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys564)
		} // end switch yys564
	} // end for yyj564
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeClaimSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj571 int
	var yyb571 bool
	var yyhl571 bool = l >= 0
	yyj571++
	if yyhl571 {
		yyb571 = yyj571 > l
	} else {
		yyb571 = r.CheckBreak()
	}
	if yyb571 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.AccessModes = nil
	} else {
		yyv572 := &x.AccessModes
		yym573 := z.DecBinary()
		_ = yym573
		if false {
		} else {
			h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv572), d)
		}
	}
	yyj571++
	if yyhl571 {
		yyb571 = yyj571 > l
	} else {
		yyb571 = r.CheckBreak()
	}
	if yyb571 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Selector != nil {
			x.Selector = nil
		}
	} else {
		if x.Selector == nil {
			x.Selector = new(pkg2_v1.LabelSelector)
		}
		yym575 := z.DecBinary()
		_ = yym575
		if false {
		} else if z.HasExtensions() && z.DecExt(x.Selector) {
		} else {
			z.DecFallback(x.Selector, false)
		}
	}
	yyj571++
	if yyhl571 {
		yyb571 = yyj571 > l
	} else {
		yyb571 = r.CheckBreak()
	}
	if yyb571 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Resources = ResourceRequirements{}
	} else {
		yyv576 := &x.Resources
		yyv576.CodecDecodeSelf(d)
	}
	yyj571++
	if yyhl571 {
		yyb571 = yyj571 > l
	} else {
		yyb571 = r.CheckBreak()
	}
	if yyb571 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumeName = ""
	} else {
		x.VolumeName = string(r.DecodeString())
	}
	for {
		yyj571++
		if yyhl571 {
			yyb571 = yyj571 > l
		} else {
			yyb571 = r.CheckBreak()
		}
		if yyb571 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj571-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeClaimStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym578 := z.EncBinary()
		_ = yym578
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep579 := !z.EncBinary()
			yy2arr579 := z.EncBasicHandle().StructToArray
			var yyq579 [3]bool
			_, _, _ = yysep579, yyq579, yy2arr579
			const yyr579 bool = false
			yyq579[0] = x.Phase != ""
			yyq579[1] = len(x.AccessModes) != 0
			yyq579[2] = len(x.Capacity) != 0
			var yynn579 int
			if yyr579 || yy2arr579 {
				r.EncodeArrayStart(3)
			} else {
				yynn579 = 0
				for _, b := range yyq579 {
					if b {
						yynn579++
					}
				}
				r.EncodeMapStart(yynn579)
				yynn579 = 0
			}
			if yyr579 || yy2arr579 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq579[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq579[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr579 || yy2arr579 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq579[1] {
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym582 := z.EncBinary()
						_ = yym582
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq579[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("accessModes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym583 := z.EncBinary()
						_ = yym583
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				}
			}
			if yyr579 || yy2arr579 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq579[2] {
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq579[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("capacity"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				}
			}
			if yyr579 || yy2arr579 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeClaimStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym585 := z.DecBinary()
	_ = yym585
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct586 := r.ContainerType()
		if yyct586 == codecSelferValueTypeMap1234 {
			yyl586 := r.ReadMapStart()
			if yyl586 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl586, d)
			}
		} else if yyct586 == codecSelferValueTypeArray1234 {
			yyl586 := r.ReadArrayStart()
			if yyl586 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl586, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeClaimStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys587Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys587Slc
	var yyhl587 bool = l >= 0
	for yyj587 := 0; ; yyj587++ {
		if yyhl587 {
			if yyj587 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys587Slc = r.DecodeBytes(yys587Slc, true, true)
		yys587 := string(yys587Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys587 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = PersistentVolumeClaimPhase(r.DecodeString())
			}
		case "accessModes":
			if r.TryDecodeAsNil() {
				x.AccessModes = nil
			} else {
				yyv589 := &x.AccessModes
				yym590 := z.DecBinary()
				_ = yym590
				if false {
				} else {
					h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv589), d)
				}
			}
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv591 := &x.Capacity
				yyv591.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys587)
		} // end switch yys587
	} // end for yyj587
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeClaimStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj592 int
	var yyb592 bool
	var yyhl592 bool = l >= 0
	yyj592++
	if yyhl592 {
		yyb592 = yyj592 > l
	} else {
		yyb592 = r.CheckBreak()
	}
	if yyb592 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = PersistentVolumeClaimPhase(r.DecodeString())
	}
	yyj592++
	if yyhl592 {
		yyb592 = yyj592 > l
	} else {
		yyb592 = r.CheckBreak()
	}
	if yyb592 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.AccessModes = nil
	} else {
		yyv594 := &x.AccessModes
		yym595 := z.DecBinary()
		_ = yym595
		if false {
		} else {
			h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv594), d)
		}
	}
	yyj592++
	if yyhl592 {
		yyb592 = yyj592 > l
	} else {
		yyb592 = r.CheckBreak()
	}
	if yyb592 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv596 := &x.Capacity
		yyv596.CodecDecodeSelf(d)
	}
	for {
		yyj592++
		if yyhl592 {
			yyb592 = yyj592 > l
		} else {
			yyb592 = r.CheckBreak()
		}
		if yyb592 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj592-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PersistentVolumeAccessMode) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym597 := z.EncBinary()
	_ = yym597
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PersistentVolumeAccessMode) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym598 := z.DecBinary()
	_ = yym598
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x PersistentVolumePhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym599 := z.EncBinary()
	_ = yym599
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PersistentVolumePhase) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym600 := z.DecBinary()
	_ = yym600
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x PersistentVolumeClaimPhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym601 := z.EncBinary()
	_ = yym601
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PersistentVolumeClaimPhase) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym602 := z.DecBinary()
	_ = yym602
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *HostPathVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym603 := z.EncBinary()
		_ = yym603
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep604 := !z.EncBinary()
			yy2arr604 := z.EncBasicHandle().StructToArray
			var yyq604 [1]bool
			_, _, _ = yysep604, yyq604, yy2arr604
			const yyr604 bool = false
			var yynn604 int
			if yyr604 || yy2arr604 {
				r.EncodeArrayStart(1)
			} else {
				yynn604 = 1
				for _, b := range yyq604 {
					if b {
						yynn604++
					}
				}
				r.EncodeMapStart(yynn604)
				yynn604 = 0
			}
			if yyr604 || yy2arr604 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym606 := z.EncBinary()
				_ = yym606
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym607 := z.EncBinary()
				_ = yym607
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr604 || yy2arr604 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *HostPathVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym608 := z.DecBinary()
	_ = yym608
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct609 := r.ContainerType()
		if yyct609 == codecSelferValueTypeMap1234 {
			yyl609 := r.ReadMapStart()
			if yyl609 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl609, d)
			}
		} else if yyct609 == codecSelferValueTypeArray1234 {
			yyl609 := r.ReadArrayStart()
			if yyl609 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl609, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *HostPathVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys610Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys610Slc
	var yyhl610 bool = l >= 0
	for yyj610 := 0; ; yyj610++ {
		if yyhl610 {
			if yyj610 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys610Slc = r.DecodeBytes(yys610Slc, true, true)
		yys610 := string(yys610Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys610 {
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys610)
		} // end switch yys610
	} // end for yyj610
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *HostPathVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj612 int
	var yyb612 bool
	var yyhl612 bool = l >= 0
	yyj612++
	if yyhl612 {
		yyb612 = yyj612 > l
	} else {
		yyb612 = r.CheckBreak()
	}
	if yyb612 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	for {
		yyj612++
		if yyhl612 {
			yyb612 = yyj612 > l
		} else {
			yyb612 = r.CheckBreak()
		}
		if yyb612 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj612-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EmptyDirVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym614 := z.EncBinary()
		_ = yym614
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep615 := !z.EncBinary()
			yy2arr615 := z.EncBasicHandle().StructToArray
			var yyq615 [1]bool
			_, _, _ = yysep615, yyq615, yy2arr615
			const yyr615 bool = false
			yyq615[0] = x.Medium != ""
			var yynn615 int
			if yyr615 || yy2arr615 {
				r.EncodeArrayStart(1)
			} else {
				yynn615 = 0
				for _, b := range yyq615 {
					if b {
						yynn615++
					}
				}
				r.EncodeMapStart(yynn615)
				yynn615 = 0
			}
			if yyr615 || yy2arr615 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq615[0] {
					x.Medium.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq615[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("medium"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Medium.CodecEncodeSelf(e)
				}
			}
			if yyr615 || yy2arr615 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EmptyDirVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym617 := z.DecBinary()
	_ = yym617
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct618 := r.ContainerType()
		if yyct618 == codecSelferValueTypeMap1234 {
			yyl618 := r.ReadMapStart()
			if yyl618 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl618, d)
			}
		} else if yyct618 == codecSelferValueTypeArray1234 {
			yyl618 := r.ReadArrayStart()
			if yyl618 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl618, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EmptyDirVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys619Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys619Slc
	var yyhl619 bool = l >= 0
	for yyj619 := 0; ; yyj619++ {
		if yyhl619 {
			if yyj619 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys619Slc = r.DecodeBytes(yys619Slc, true, true)
		yys619 := string(yys619Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys619 {
		case "medium":
			if r.TryDecodeAsNil() {
				x.Medium = ""
			} else {
				x.Medium = StorageMedium(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys619)
		} // end switch yys619
	} // end for yyj619
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EmptyDirVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj621 int
	var yyb621 bool
	var yyhl621 bool = l >= 0
	yyj621++
	if yyhl621 {
		yyb621 = yyj621 > l
	} else {
		yyb621 = r.CheckBreak()
	}
	if yyb621 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Medium = ""
	} else {
		x.Medium = StorageMedium(r.DecodeString())
	}
	for {
		yyj621++
		if yyhl621 {
			yyb621 = yyj621 > l
		} else {
			yyb621 = r.CheckBreak()
		}
		if yyb621 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj621-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x StorageMedium) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym623 := z.EncBinary()
	_ = yym623
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *StorageMedium) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym624 := z.DecBinary()
	_ = yym624
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x Protocol) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym625 := z.EncBinary()
	_ = yym625
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *Protocol) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym626 := z.DecBinary()
	_ = yym626
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *GCEPersistentDiskVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym627 := z.EncBinary()
		_ = yym627
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep628 := !z.EncBinary()
			yy2arr628 := z.EncBasicHandle().StructToArray
			var yyq628 [4]bool
			_, _, _ = yysep628, yyq628, yy2arr628
			const yyr628 bool = false
			yyq628[1] = x.FSType != ""
			yyq628[2] = x.Partition != 0
			yyq628[3] = x.ReadOnly != false
			var yynn628 int
			if yyr628 || yy2arr628 {
				r.EncodeArrayStart(4)
			} else {
				yynn628 = 1
				for _, b := range yyq628 {
					if b {
						yynn628++
					}
				}
				r.EncodeMapStart(yynn628)
				yynn628 = 0
			}
			if yyr628 || yy2arr628 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym630 := z.EncBinary()
				_ = yym630
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.PDName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("pdName"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym631 := z.EncBinary()
				_ = yym631
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.PDName))
				}
			}
			if yyr628 || yy2arr628 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq628[1] {
					yym633 := z.EncBinary()
					_ = yym633
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq628[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym634 := z.EncBinary()
					_ = yym634
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr628 || yy2arr628 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq628[2] {
					yym636 := z.EncBinary()
					_ = yym636
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq628[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("partition"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym637 := z.EncBinary()
					_ = yym637
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				}
			}
			if yyr628 || yy2arr628 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq628[3] {
					yym639 := z.EncBinary()
					_ = yym639
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq628[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym640 := z.EncBinary()
					_ = yym640
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr628 || yy2arr628 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *GCEPersistentDiskVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym641 := z.DecBinary()
	_ = yym641
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct642 := r.ContainerType()
		if yyct642 == codecSelferValueTypeMap1234 {
			yyl642 := r.ReadMapStart()
			if yyl642 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl642, d)
			}
		} else if yyct642 == codecSelferValueTypeArray1234 {
			yyl642 := r.ReadArrayStart()
			if yyl642 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl642, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *GCEPersistentDiskVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys643Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys643Slc
	var yyhl643 bool = l >= 0
	for yyj643 := 0; ; yyj643++ {
		if yyhl643 {
			if yyj643 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys643Slc = r.DecodeBytes(yys643Slc, true, true)
		yys643 := string(yys643Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys643 {
		case "pdName":
			if r.TryDecodeAsNil() {
				x.PDName = ""
			} else {
				x.PDName = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "partition":
			if r.TryDecodeAsNil() {
				x.Partition = 0
			} else {
				x.Partition = int32(r.DecodeInt(32))
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys643)
		} // end switch yys643
	} // end for yyj643
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *GCEPersistentDiskVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj648 int
	var yyb648 bool
	var yyhl648 bool = l >= 0
	yyj648++
	if yyhl648 {
		yyb648 = yyj648 > l
	} else {
		yyb648 = r.CheckBreak()
	}
	if yyb648 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PDName = ""
	} else {
		x.PDName = string(r.DecodeString())
	}
	yyj648++
	if yyhl648 {
		yyb648 = yyj648 > l
	} else {
		yyb648 = r.CheckBreak()
	}
	if yyb648 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj648++
	if yyhl648 {
		yyb648 = yyj648 > l
	} else {
		yyb648 = r.CheckBreak()
	}
	if yyb648 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Partition = 0
	} else {
		x.Partition = int32(r.DecodeInt(32))
	}
	yyj648++
	if yyhl648 {
		yyb648 = yyj648 > l
	} else {
		yyb648 = r.CheckBreak()
	}
	if yyb648 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj648++
		if yyhl648 {
			yyb648 = yyj648 > l
		} else {
			yyb648 = r.CheckBreak()
		}
		if yyb648 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj648-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ISCSIVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym653 := z.EncBinary()
		_ = yym653
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep654 := !z.EncBinary()
			yy2arr654 := z.EncBasicHandle().StructToArray
			var yyq654 [6]bool
			_, _, _ = yysep654, yyq654, yy2arr654
			const yyr654 bool = false
			yyq654[0] = x.TargetPortal != ""
			yyq654[1] = x.IQN != ""
			yyq654[2] = x.Lun != 0
			yyq654[3] = x.ISCSIInterface != ""
			yyq654[4] = x.FSType != ""
			yyq654[5] = x.ReadOnly != false
			var yynn654 int
			if yyr654 || yy2arr654 {
				r.EncodeArrayStart(6)
			} else {
				yynn654 = 0
				for _, b := range yyq654 {
					if b {
						yynn654++
					}
				}
				r.EncodeMapStart(yynn654)
				yynn654 = 0
			}
			if yyr654 || yy2arr654 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq654[0] {
					yym656 := z.EncBinary()
					_ = yym656
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TargetPortal))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq654[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("targetPortal"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym657 := z.EncBinary()
					_ = yym657
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TargetPortal))
					}
				}
			}
			if yyr654 || yy2arr654 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq654[1] {
					yym659 := z.EncBinary()
					_ = yym659
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IQN))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq654[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iqn"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym660 := z.EncBinary()
					_ = yym660
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IQN))
					}
				}
			}
			if yyr654 || yy2arr654 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq654[2] {
					yym662 := z.EncBinary()
					_ = yym662
					if false {
					} else {
						r.EncodeInt(int64(x.Lun))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq654[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lun"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym663 := z.EncBinary()
					_ = yym663
					if false {
					} else {
						r.EncodeInt(int64(x.Lun))
					}
				}
			}
			if yyr654 || yy2arr654 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq654[3] {
					yym665 := z.EncBinary()
					_ = yym665
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ISCSIInterface))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq654[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iscsiInterface"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym666 := z.EncBinary()
					_ = yym666
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ISCSIInterface))
					}
				}
			}
			if yyr654 || yy2arr654 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq654[4] {
					yym668 := z.EncBinary()
					_ = yym668
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq654[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym669 := z.EncBinary()
					_ = yym669
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr654 || yy2arr654 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq654[5] {
					yym671 := z.EncBinary()
					_ = yym671
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq654[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym672 := z.EncBinary()
					_ = yym672
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr654 || yy2arr654 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ISCSIVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym673 := z.DecBinary()
	_ = yym673
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct674 := r.ContainerType()
		if yyct674 == codecSelferValueTypeMap1234 {
			yyl674 := r.ReadMapStart()
			if yyl674 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl674, d)
			}
		} else if yyct674 == codecSelferValueTypeArray1234 {
			yyl674 := r.ReadArrayStart()
			if yyl674 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl674, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ISCSIVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys675Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys675Slc
	var yyhl675 bool = l >= 0
	for yyj675 := 0; ; yyj675++ {
		if yyhl675 {
			if yyj675 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys675Slc = r.DecodeBytes(yys675Slc, true, true)
		yys675 := string(yys675Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys675 {
		case "targetPortal":
			if r.TryDecodeAsNil() {
				x.TargetPortal = ""
			} else {
				x.TargetPortal = string(r.DecodeString())
			}
		case "iqn":
			if r.TryDecodeAsNil() {
				x.IQN = ""
			} else {
				x.IQN = string(r.DecodeString())
			}
		case "lun":
			if r.TryDecodeAsNil() {
				x.Lun = 0
			} else {
				x.Lun = int32(r.DecodeInt(32))
			}
		case "iscsiInterface":
			if r.TryDecodeAsNil() {
				x.ISCSIInterface = ""
			} else {
				x.ISCSIInterface = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys675)
		} // end switch yys675
	} // end for yyj675
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ISCSIVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj682 int
	var yyb682 bool
	var yyhl682 bool = l >= 0
	yyj682++
	if yyhl682 {
		yyb682 = yyj682 > l
	} else {
		yyb682 = r.CheckBreak()
	}
	if yyb682 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TargetPortal = ""
	} else {
		x.TargetPortal = string(r.DecodeString())
	}
	yyj682++
	if yyhl682 {
		yyb682 = yyj682 > l
	} else {
		yyb682 = r.CheckBreak()
	}
	if yyb682 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.IQN = ""
	} else {
		x.IQN = string(r.DecodeString())
	}
	yyj682++
	if yyhl682 {
		yyb682 = yyj682 > l
	} else {
		yyb682 = r.CheckBreak()
	}
	if yyb682 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Lun = 0
	} else {
		x.Lun = int32(r.DecodeInt(32))
	}
	yyj682++
	if yyhl682 {
		yyb682 = yyj682 > l
	} else {
		yyb682 = r.CheckBreak()
	}
	if yyb682 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ISCSIInterface = ""
	} else {
		x.ISCSIInterface = string(r.DecodeString())
	}
	yyj682++
	if yyhl682 {
		yyb682 = yyj682 > l
	} else {
		yyb682 = r.CheckBreak()
	}
	if yyb682 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj682++
	if yyhl682 {
		yyb682 = yyj682 > l
	} else {
		yyb682 = r.CheckBreak()
	}
	if yyb682 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj682++
		if yyhl682 {
			yyb682 = yyj682 > l
		} else {
			yyb682 = r.CheckBreak()
		}
		if yyb682 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj682-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *FCVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym689 := z.EncBinary()
		_ = yym689
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep690 := !z.EncBinary()
			yy2arr690 := z.EncBasicHandle().StructToArray
			var yyq690 [4]bool
			_, _, _ = yysep690, yyq690, yy2arr690
			const yyr690 bool = false
			yyq690[2] = x.FSType != ""
			yyq690[3] = x.ReadOnly != false
			var yynn690 int
			if yyr690 || yy2arr690 {
				r.EncodeArrayStart(4)
			} else {
				yynn690 = 2
				for _, b := range yyq690 {
					if b {
						yynn690++
					}
				}
				r.EncodeMapStart(yynn690)
				yynn690 = 0
			}
			if yyr690 || yy2arr690 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.TargetWWNs == nil {
					r.EncodeNil()
				} else {
					yym692 := z.EncBinary()
					_ = yym692
					if false {
					} else {
						z.F.EncSliceStringV(x.TargetWWNs, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("targetWWNs"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.TargetWWNs == nil {
					r.EncodeNil()
				} else {
					yym693 := z.EncBinary()
					_ = yym693
					if false {
					} else {
						z.F.EncSliceStringV(x.TargetWWNs, false, e)
					}
				}
			}
			if yyr690 || yy2arr690 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Lun == nil {
					r.EncodeNil()
				} else {
					yy695 := *x.Lun
					yym696 := z.EncBinary()
					_ = yym696
					if false {
					} else {
						r.EncodeInt(int64(yy695))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("lun"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Lun == nil {
					r.EncodeNil()
				} else {
					yy697 := *x.Lun
					yym698 := z.EncBinary()
					_ = yym698
					if false {
					} else {
						r.EncodeInt(int64(yy697))
					}
				}
			}
			if yyr690 || yy2arr690 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq690[2] {
					yym700 := z.EncBinary()
					_ = yym700
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq690[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym701 := z.EncBinary()
					_ = yym701
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr690 || yy2arr690 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq690[3] {
					yym703 := z.EncBinary()
					_ = yym703
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq690[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym704 := z.EncBinary()
					_ = yym704
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr690 || yy2arr690 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *FCVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym705 := z.DecBinary()
	_ = yym705
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct706 := r.ContainerType()
		if yyct706 == codecSelferValueTypeMap1234 {
			yyl706 := r.ReadMapStart()
			if yyl706 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl706, d)
			}
		} else if yyct706 == codecSelferValueTypeArray1234 {
			yyl706 := r.ReadArrayStart()
			if yyl706 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl706, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *FCVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys707Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys707Slc
	var yyhl707 bool = l >= 0
	for yyj707 := 0; ; yyj707++ {
		if yyhl707 {
			if yyj707 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys707Slc = r.DecodeBytes(yys707Slc, true, true)
		yys707 := string(yys707Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys707 {
		case "targetWWNs":
			if r.TryDecodeAsNil() {
				x.TargetWWNs = nil
			} else {
				yyv708 := &x.TargetWWNs
				yym709 := z.DecBinary()
				_ = yym709
				if false {
				} else {
					z.F.DecSliceStringX(yyv708, false, d)
				}
			}
		case "lun":
			if r.TryDecodeAsNil() {
				if x.Lun != nil {
					x.Lun = nil
				}
			} else {
				if x.Lun == nil {
					x.Lun = new(int32)
				}
				yym711 := z.DecBinary()
				_ = yym711
				if false {
				} else {
					*((*int32)(x.Lun)) = int32(r.DecodeInt(32))
				}
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys707)
		} // end switch yys707
	} // end for yyj707
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *FCVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj714 int
	var yyb714 bool
	var yyhl714 bool = l >= 0
	yyj714++
	if yyhl714 {
		yyb714 = yyj714 > l
	} else {
		yyb714 = r.CheckBreak()
	}
	if yyb714 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TargetWWNs = nil
	} else {
		yyv715 := &x.TargetWWNs
		yym716 := z.DecBinary()
		_ = yym716
		if false {
		} else {
			z.F.DecSliceStringX(yyv715, false, d)
		}
	}
	yyj714++
	if yyhl714 {
		yyb714 = yyj714 > l
	} else {
		yyb714 = r.CheckBreak()
	}
	if yyb714 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Lun != nil {
			x.Lun = nil
		}
	} else {
		if x.Lun == nil {
			x.Lun = new(int32)
		}
		yym718 := z.DecBinary()
		_ = yym718
		if false {
		} else {
			*((*int32)(x.Lun)) = int32(r.DecodeInt(32))
		}
	}
	yyj714++
	if yyhl714 {
		yyb714 = yyj714 > l
	} else {
		yyb714 = r.CheckBreak()
	}
	if yyb714 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj714++
	if yyhl714 {
		yyb714 = yyj714 > l
	} else {
		yyb714 = r.CheckBreak()
	}
	if yyb714 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj714++
		if yyhl714 {
			yyb714 = yyj714 > l
		} else {
			yyb714 = r.CheckBreak()
		}
		if yyb714 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj714-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *FlexVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym721 := z.EncBinary()
		_ = yym721
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep722 := !z.EncBinary()
			yy2arr722 := z.EncBasicHandle().StructToArray
			var yyq722 [5]bool
			_, _, _ = yysep722, yyq722, yy2arr722
			const yyr722 bool = false
			yyq722[1] = x.FSType != ""
			yyq722[2] = x.SecretRef != nil
			yyq722[3] = x.ReadOnly != false
			yyq722[4] = len(x.Options) != 0
			var yynn722 int
			if yyr722 || yy2arr722 {
				r.EncodeArrayStart(5)
			} else {
				yynn722 = 1
				for _, b := range yyq722 {
					if b {
						yynn722++
					}
				}
				r.EncodeMapStart(yynn722)
				yynn722 = 0
			}
			if yyr722 || yy2arr722 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym724 := z.EncBinary()
				_ = yym724
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Driver))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("driver"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym725 := z.EncBinary()
				_ = yym725
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Driver))
				}
			}
			if yyr722 || yy2arr722 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq722[1] {
					yym727 := z.EncBinary()
					_ = yym727
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq722[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym728 := z.EncBinary()
					_ = yym728
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr722 || yy2arr722 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq722[2] {
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq722[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secretRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr722 || yy2arr722 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq722[3] {
					yym731 := z.EncBinary()
					_ = yym731
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq722[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym732 := z.EncBinary()
					_ = yym732
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr722 || yy2arr722 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq722[4] {
					if x.Options == nil {
						r.EncodeNil()
					} else {
						yym734 := z.EncBinary()
						_ = yym734
						if false {
						} else {
							z.F.EncMapStringStringV(x.Options, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq722[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("options"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Options == nil {
						r.EncodeNil()
					} else {
						yym735 := z.EncBinary()
						_ = yym735
						if false {
						} else {
							z.F.EncMapStringStringV(x.Options, false, e)
						}
					}
				}
			}
			if yyr722 || yy2arr722 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *FlexVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym736 := z.DecBinary()
	_ = yym736
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct737 := r.ContainerType()
		if yyct737 == codecSelferValueTypeMap1234 {
			yyl737 := r.ReadMapStart()
			if yyl737 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl737, d)
			}
		} else if yyct737 == codecSelferValueTypeArray1234 {
			yyl737 := r.ReadArrayStart()
			if yyl737 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl737, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *FlexVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys738Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys738Slc
	var yyhl738 bool = l >= 0
	for yyj738 := 0; ; yyj738++ {
		if yyhl738 {
			if yyj738 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys738Slc = r.DecodeBytes(yys738Slc, true, true)
		yys738 := string(yys738Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys738 {
		case "driver":
			if r.TryDecodeAsNil() {
				x.Driver = ""
			} else {
				x.Driver = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "secretRef":
			if r.TryDecodeAsNil() {
				if x.SecretRef != nil {
					x.SecretRef = nil
				}
			} else {
				if x.SecretRef == nil {
					x.SecretRef = new(LocalObjectReference)
				}
				x.SecretRef.CodecDecodeSelf(d)
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		case "options":
			if r.TryDecodeAsNil() {
				x.Options = nil
			} else {
				yyv743 := &x.Options
				yym744 := z.DecBinary()
				_ = yym744
				if false {
				} else {
					z.F.DecMapStringStringX(yyv743, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys738)
		} // end switch yys738
	} // end for yyj738
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *FlexVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj745 int
	var yyb745 bool
	var yyhl745 bool = l >= 0
	yyj745++
	if yyhl745 {
		yyb745 = yyj745 > l
	} else {
		yyb745 = r.CheckBreak()
	}
	if yyb745 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Driver = ""
	} else {
		x.Driver = string(r.DecodeString())
	}
	yyj745++
	if yyhl745 {
		yyb745 = yyj745 > l
	} else {
		yyb745 = r.CheckBreak()
	}
	if yyb745 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj745++
	if yyhl745 {
		yyb745 = yyj745 > l
	} else {
		yyb745 = r.CheckBreak()
	}
	if yyb745 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SecretRef != nil {
			x.SecretRef = nil
		}
	} else {
		if x.SecretRef == nil {
			x.SecretRef = new(LocalObjectReference)
		}
		x.SecretRef.CodecDecodeSelf(d)
	}
	yyj745++
	if yyhl745 {
		yyb745 = yyj745 > l
	} else {
		yyb745 = r.CheckBreak()
	}
	if yyb745 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	yyj745++
	if yyhl745 {
		yyb745 = yyj745 > l
	} else {
		yyb745 = r.CheckBreak()
	}
	if yyb745 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Options = nil
	} else {
		yyv750 := &x.Options
		yym751 := z.DecBinary()
		_ = yym751
		if false {
		} else {
			z.F.DecMapStringStringX(yyv750, false, d)
		}
	}
	for {
		yyj745++
		if yyhl745 {
			yyb745 = yyj745 > l
		} else {
			yyb745 = r.CheckBreak()
		}
		if yyb745 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj745-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *AWSElasticBlockStoreVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym752 := z.EncBinary()
		_ = yym752
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep753 := !z.EncBinary()
			yy2arr753 := z.EncBasicHandle().StructToArray
			var yyq753 [4]bool
			_, _, _ = yysep753, yyq753, yy2arr753
			const yyr753 bool = false
			yyq753[1] = x.FSType != ""
			yyq753[2] = x.Partition != 0
			yyq753[3] = x.ReadOnly != false
			var yynn753 int
			if yyr753 || yy2arr753 {
				r.EncodeArrayStart(4)
			} else {
				yynn753 = 1
				for _, b := range yyq753 {
					if b {
						yynn753++
					}
				}
				r.EncodeMapStart(yynn753)
				yynn753 = 0
			}
			if yyr753 || yy2arr753 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym755 := z.EncBinary()
				_ = yym755
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("volumeID"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym756 := z.EncBinary()
				_ = yym756
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			}
			if yyr753 || yy2arr753 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq753[1] {
					yym758 := z.EncBinary()
					_ = yym758
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq753[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym759 := z.EncBinary()
					_ = yym759
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr753 || yy2arr753 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq753[2] {
					yym761 := z.EncBinary()
					_ = yym761
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq753[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("partition"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym762 := z.EncBinary()
					_ = yym762
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				}
			}
			if yyr753 || yy2arr753 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq753[3] {
					yym764 := z.EncBinary()
					_ = yym764
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq753[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym765 := z.EncBinary()
					_ = yym765
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr753 || yy2arr753 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *AWSElasticBlockStoreVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym766 := z.DecBinary()
	_ = yym766
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct767 := r.ContainerType()
		if yyct767 == codecSelferValueTypeMap1234 {
			yyl767 := r.ReadMapStart()
			if yyl767 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl767, d)
			}
		} else if yyct767 == codecSelferValueTypeArray1234 {
			yyl767 := r.ReadArrayStart()
			if yyl767 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl767, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *AWSElasticBlockStoreVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys768Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys768Slc
	var yyhl768 bool = l >= 0
	for yyj768 := 0; ; yyj768++ {
		if yyhl768 {
			if yyj768 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys768Slc = r.DecodeBytes(yys768Slc, true, true)
		yys768 := string(yys768Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys768 {
		case "volumeID":
			if r.TryDecodeAsNil() {
				x.VolumeID = ""
			} else {
				x.VolumeID = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "partition":
			if r.TryDecodeAsNil() {
				x.Partition = 0
			} else {
				x.Partition = int32(r.DecodeInt(32))
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys768)
		} // end switch yys768
	} // end for yyj768
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *AWSElasticBlockStoreVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj773 int
	var yyb773 bool
	var yyhl773 bool = l >= 0
	yyj773++
	if yyhl773 {
		yyb773 = yyj773 > l
	} else {
		yyb773 = r.CheckBreak()
	}
	if yyb773 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumeID = ""
	} else {
		x.VolumeID = string(r.DecodeString())
	}
	yyj773++
	if yyhl773 {
		yyb773 = yyj773 > l
	} else {
		yyb773 = r.CheckBreak()
	}
	if yyb773 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj773++
	if yyhl773 {
		yyb773 = yyj773 > l
	} else {
		yyb773 = r.CheckBreak()
	}
	if yyb773 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Partition = 0
	} else {
		x.Partition = int32(r.DecodeInt(32))
	}
	yyj773++
	if yyhl773 {
		yyb773 = yyj773 > l
	} else {
		yyb773 = r.CheckBreak()
	}
	if yyb773 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj773++
		if yyhl773 {
			yyb773 = yyj773 > l
		} else {
			yyb773 = r.CheckBreak()
		}
		if yyb773 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj773-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *GitRepoVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym778 := z.EncBinary()
		_ = yym778
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep779 := !z.EncBinary()
			yy2arr779 := z.EncBasicHandle().StructToArray
			var yyq779 [3]bool
			_, _, _ = yysep779, yyq779, yy2arr779
			const yyr779 bool = false
			yyq779[1] = x.Revision != ""
			yyq779[2] = x.Directory != ""
			var yynn779 int
			if yyr779 || yy2arr779 {
				r.EncodeArrayStart(3)
			} else {
				yynn779 = 1
				for _, b := range yyq779 {
					if b {
						yynn779++
					}
				}
				r.EncodeMapStart(yynn779)
				yynn779 = 0
			}
			if yyr779 || yy2arr779 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym781 := z.EncBinary()
				_ = yym781
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Repository))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("repository"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym782 := z.EncBinary()
				_ = yym782
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Repository))
				}
			}
			if yyr779 || yy2arr779 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq779[1] {
					yym784 := z.EncBinary()
					_ = yym784
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Revision))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq779[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("revision"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym785 := z.EncBinary()
					_ = yym785
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Revision))
					}
				}
			}
			if yyr779 || yy2arr779 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq779[2] {
					yym787 := z.EncBinary()
					_ = yym787
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Directory))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq779[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("directory"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym788 := z.EncBinary()
					_ = yym788
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Directory))
					}
				}
			}
			if yyr779 || yy2arr779 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *GitRepoVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym789 := z.DecBinary()
	_ = yym789
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct790 := r.ContainerType()
		if yyct790 == codecSelferValueTypeMap1234 {
			yyl790 := r.ReadMapStart()
			if yyl790 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl790, d)
			}
		} else if yyct790 == codecSelferValueTypeArray1234 {
			yyl790 := r.ReadArrayStart()
			if yyl790 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl790, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *GitRepoVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys791Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys791Slc
	var yyhl791 bool = l >= 0
	for yyj791 := 0; ; yyj791++ {
		if yyhl791 {
			if yyj791 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys791Slc = r.DecodeBytes(yys791Slc, true, true)
		yys791 := string(yys791Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys791 {
		case "repository":
			if r.TryDecodeAsNil() {
				x.Repository = ""
			} else {
				x.Repository = string(r.DecodeString())
			}
		case "revision":
			if r.TryDecodeAsNil() {
				x.Revision = ""
			} else {
				x.Revision = string(r.DecodeString())
			}
		case "directory":
			if r.TryDecodeAsNil() {
				x.Directory = ""
			} else {
				x.Directory = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys791)
		} // end switch yys791
	} // end for yyj791
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *GitRepoVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj795 int
	var yyb795 bool
	var yyhl795 bool = l >= 0
	yyj795++
	if yyhl795 {
		yyb795 = yyj795 > l
	} else {
		yyb795 = r.CheckBreak()
	}
	if yyb795 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Repository = ""
	} else {
		x.Repository = string(r.DecodeString())
	}
	yyj795++
	if yyhl795 {
		yyb795 = yyj795 > l
	} else {
		yyb795 = r.CheckBreak()
	}
	if yyb795 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Revision = ""
	} else {
		x.Revision = string(r.DecodeString())
	}
	yyj795++
	if yyhl795 {
		yyb795 = yyj795 > l
	} else {
		yyb795 = r.CheckBreak()
	}
	if yyb795 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Directory = ""
	} else {
		x.Directory = string(r.DecodeString())
	}
	for {
		yyj795++
		if yyhl795 {
			yyb795 = yyj795 > l
		} else {
			yyb795 = r.CheckBreak()
		}
		if yyb795 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj795-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *SecretVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym799 := z.EncBinary()
		_ = yym799
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep800 := !z.EncBinary()
			yy2arr800 := z.EncBasicHandle().StructToArray
			var yyq800 [3]bool
			_, _, _ = yysep800, yyq800, yy2arr800
			const yyr800 bool = false
			yyq800[0] = x.SecretName != ""
			yyq800[1] = len(x.Items) != 0
			yyq800[2] = x.DefaultMode != nil
			var yynn800 int
			if yyr800 || yy2arr800 {
				r.EncodeArrayStart(3)
			} else {
				yynn800 = 0
				for _, b := range yyq800 {
					if b {
						yynn800++
					}
				}
				r.EncodeMapStart(yynn800)
				yynn800 = 0
			}
			if yyr800 || yy2arr800 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq800[0] {
					yym802 := z.EncBinary()
					_ = yym802
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq800[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secretName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym803 := z.EncBinary()
					_ = yym803
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretName))
					}
				}
			}
			if yyr800 || yy2arr800 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq800[1] {
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym805 := z.EncBinary()
						_ = yym805
						if false {
						} else {
							h.encSliceKeyToPath(([]KeyToPath)(x.Items), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq800[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("items"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym806 := z.EncBinary()
						_ = yym806
						if false {
						} else {
							h.encSliceKeyToPath(([]KeyToPath)(x.Items), e)
						}
					}
				}
			}
			if yyr800 || yy2arr800 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq800[2] {
					if x.DefaultMode == nil {
						r.EncodeNil()
					} else {
						yy808 := *x.DefaultMode
						yym809 := z.EncBinary()
						_ = yym809
						if false {
						} else {
							r.EncodeInt(int64(yy808))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq800[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("defaultMode"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DefaultMode == nil {
						r.EncodeNil()
					} else {
						yy810 := *x.DefaultMode
						yym811 := z.EncBinary()
						_ = yym811
						if false {
						} else {
							r.EncodeInt(int64(yy810))
						}
					}
				}
			}
			if yyr800 || yy2arr800 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *SecretVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym812 := z.DecBinary()
	_ = yym812
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct813 := r.ContainerType()
		if yyct813 == codecSelferValueTypeMap1234 {
			yyl813 := r.ReadMapStart()
			if yyl813 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl813, d)
			}
		} else if yyct813 == codecSelferValueTypeArray1234 {
			yyl813 := r.ReadArrayStart()
			if yyl813 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl813, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SecretVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys814Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys814Slc
	var yyhl814 bool = l >= 0
	for yyj814 := 0; ; yyj814++ {
		if yyhl814 {
			if yyj814 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys814Slc = r.DecodeBytes(yys814Slc, true, true)
		yys814 := string(yys814Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys814 {
		case "secretName":
			if r.TryDecodeAsNil() {
				x.SecretName = ""
			} else {
				x.SecretName = string(r.DecodeString())
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv816 := &x.Items
				yym817 := z.DecBinary()
				_ = yym817
				if false {
				} else {
					h.decSliceKeyToPath((*[]KeyToPath)(yyv816), d)
				}
			}
		case "defaultMode":
			if r.TryDecodeAsNil() {
				if x.DefaultMode != nil {
					x.DefaultMode = nil
				}
			} else {
				if x.DefaultMode == nil {
					x.DefaultMode = new(int32)
				}
				yym819 := z.DecBinary()
				_ = yym819
				if false {
				} else {
					*((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys814)
		} // end switch yys814
	} // end for yyj814
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *SecretVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj820 int
	var yyb820 bool
	var yyhl820 bool = l >= 0
	yyj820++
	if yyhl820 {
		yyb820 = yyj820 > l
	} else {
		yyb820 = r.CheckBreak()
	}
	if yyb820 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SecretName = ""
	} else {
		x.SecretName = string(r.DecodeString())
	}
	yyj820++
	if yyhl820 {
		yyb820 = yyj820 > l
	} else {
		yyb820 = r.CheckBreak()
	}
	if yyb820 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv822 := &x.Items
		yym823 := z.DecBinary()
		_ = yym823
		if false {
		} else {
			h.decSliceKeyToPath((*[]KeyToPath)(yyv822), d)
		}
	}
	yyj820++
	if yyhl820 {
		yyb820 = yyj820 > l
	} else {
		yyb820 = r.CheckBreak()
	}
	if yyb820 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.DefaultMode != nil {
			x.DefaultMode = nil
		}
	} else {
		if x.DefaultMode == nil {
			x.DefaultMode = new(int32)
		}
		yym825 := z.DecBinary()
		_ = yym825
		if false {
		} else {
			*((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32))
		}
	}
	for {
		yyj820++
		if yyhl820 {
			yyb820 = yyj820 > l
		} else {
			yyb820 = r.CheckBreak()
		}
		if yyb820 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj820-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NFSVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym826 := z.EncBinary()
		_ = yym826
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep827 := !z.EncBinary()
			yy2arr827 := z.EncBasicHandle().StructToArray
			var yyq827 [3]bool
			_, _, _ = yysep827, yyq827, yy2arr827
			const yyr827 bool = false
			yyq827[2] = x.ReadOnly != false
			var yynn827 int
			if yyr827 || yy2arr827 {
				r.EncodeArrayStart(3)
			} else {
				yynn827 = 2
				for _, b := range yyq827 {
					if b {
						yynn827++
					}
				}
				r.EncodeMapStart(yynn827)
				yynn827 = 0
			}
			if yyr827 || yy2arr827 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym829 := z.EncBinary()
				_ = yym829
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Server))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("server"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym830 := z.EncBinary()
				_ = yym830
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Server))
				}
			}
			if yyr827 || yy2arr827 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym832 := z.EncBinary()
				_ = yym832
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym833 := z.EncBinary()
				_ = yym833
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr827 || yy2arr827 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq827[2] {
					yym835 := z.EncBinary()
					_ = yym835
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq827[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym836 := z.EncBinary()
					_ = yym836
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr827 || yy2arr827 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NFSVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym837 := z.DecBinary()
	_ = yym837
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct838 := r.ContainerType()
		if yyct838 == codecSelferValueTypeMap1234 {
			yyl838 := r.ReadMapStart()
			if yyl838 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl838, d)
			}
		} else if yyct838 == codecSelferValueTypeArray1234 {
			yyl838 := r.ReadArrayStart()
			if yyl838 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl838, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NFSVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys839Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys839Slc
	var yyhl839 bool = l >= 0
	for yyj839 := 0; ; yyj839++ {
		if yyhl839 {
			if yyj839 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys839Slc = r.DecodeBytes(yys839Slc, true, true)
		yys839 := string(yys839Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys839 {
		case "server":
			if r.TryDecodeAsNil() {
				x.Server = ""
			} else {
				x.Server = string(r.DecodeString())
			}
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys839)
		} // end switch yys839
	} // end for yyj839
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NFSVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj843 int
	var yyb843 bool
	var yyhl843 bool = l >= 0
	yyj843++
	if yyhl843 {
		yyb843 = yyj843 > l
	} else {
		yyb843 = r.CheckBreak()
	}
	if yyb843 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Server = ""
	} else {
		x.Server = string(r.DecodeString())
	}
	yyj843++
	if yyhl843 {
		yyb843 = yyj843 > l
	} else {
		yyb843 = r.CheckBreak()
	}
	if yyb843 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj843++
	if yyhl843 {
		yyb843 = yyj843 > l
	} else {
		yyb843 = r.CheckBreak()
	}
	if yyb843 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj843++
		if yyhl843 {
			yyb843 = yyj843 > l
		} else {
			yyb843 = r.CheckBreak()
		}
		if yyb843 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj843-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *QuobyteVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym847 := z.EncBinary()
		_ = yym847
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep848 := !z.EncBinary()
			yy2arr848 := z.EncBasicHandle().StructToArray
			var yyq848 [5]bool
			_, _, _ = yysep848, yyq848, yy2arr848
			const yyr848 bool = false
			yyq848[2] = x.ReadOnly != false
			yyq848[3] = x.User != ""
			yyq848[4] = x.Group != ""
			var yynn848 int
			if yyr848 || yy2arr848 {
				r.EncodeArrayStart(5)
			} else {
				yynn848 = 2
				for _, b := range yyq848 {
					if b {
						yynn848++
					}
				}
				r.EncodeMapStart(yynn848)
				yynn848 = 0
			}
			if yyr848 || yy2arr848 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym850 := z.EncBinary()
				_ = yym850
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Registry))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("registry"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym851 := z.EncBinary()
				_ = yym851
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Registry))
				}
			}
			if yyr848 || yy2arr848 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym853 := z.EncBinary()
				_ = yym853
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Volume))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("volume"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym854 := z.EncBinary()
				_ = yym854
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Volume))
				}
			}
			if yyr848 || yy2arr848 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq848[2] {
					yym856 := z.EncBinary()
					_ = yym856
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq848[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym857 := z.EncBinary()
					_ = yym857
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr848 || yy2arr848 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq848[3] {
					yym859 := z.EncBinary()
					_ = yym859
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq848[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("user"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym860 := z.EncBinary()
					_ = yym860
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				}
			}
			if yyr848 || yy2arr848 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq848[4] {
					yym862 := z.EncBinary()
					_ = yym862
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Group))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq848[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("group"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym863 := z.EncBinary()
					_ = yym863
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Group))
					}
				}
			}
			if yyr848 || yy2arr848 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *QuobyteVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym864 := z.DecBinary()
	_ = yym864
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct865 := r.ContainerType()
		if yyct865 == codecSelferValueTypeMap1234 {
			yyl865 := r.ReadMapStart()
			if yyl865 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl865, d)
			}
		} else if yyct865 == codecSelferValueTypeArray1234 {
			yyl865 := r.ReadArrayStart()
			if yyl865 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl865, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *QuobyteVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys866Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys866Slc
	var yyhl866 bool = l >= 0
	for yyj866 := 0; ; yyj866++ {
		if yyhl866 {
			if yyj866 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys866Slc = r.DecodeBytes(yys866Slc, true, true)
		yys866 := string(yys866Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys866 {
		case "registry":
			if r.TryDecodeAsNil() {
				x.Registry = ""
			} else {
				x.Registry = string(r.DecodeString())
			}
		case "volume":
			if r.TryDecodeAsNil() {
				x.Volume = ""
			} else {
				x.Volume = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		case "user":
			if r.TryDecodeAsNil() {
				x.User = ""
			} else {
				x.User = string(r.DecodeString())
			}
		case "group":
			if r.TryDecodeAsNil() {
				x.Group = ""
			} else {
				x.Group = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys866)
		} // end switch yys866
	} // end for yyj866
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *QuobyteVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj872 int
	var yyb872 bool
	var yyhl872 bool = l >= 0
	yyj872++
	if yyhl872 {
		yyb872 = yyj872 > l
	} else {
		yyb872 = r.CheckBreak()
	}
	if yyb872 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Registry = ""
	} else {
		x.Registry = string(r.DecodeString())
	}
	yyj872++
	if yyhl872 {
		yyb872 = yyj872 > l
	} else {
		yyb872 = r.CheckBreak()
	}
	if yyb872 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Volume = ""
	} else {
		x.Volume = string(r.DecodeString())
	}
	yyj872++
	if yyhl872 {
		yyb872 = yyj872 > l
	} else {
		yyb872 = r.CheckBreak()
	}
	if yyb872 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	yyj872++
	if yyhl872 {
		yyb872 = yyj872 > l
	} else {
		yyb872 = r.CheckBreak()
	}
	if yyb872 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.User = ""
	} else {
		x.User = string(r.DecodeString())
	}
	yyj872++
	if yyhl872 {
		yyb872 = yyj872 > l
	} else {
		yyb872 = r.CheckBreak()
	}
	if yyb872 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Group = ""
	} else {
		x.Group = string(r.DecodeString())
	}
	for {
		yyj872++
		if yyhl872 {
			yyb872 = yyj872 > l
		} else {
			yyb872 = r.CheckBreak()
		}
		if yyb872 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj872-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *GlusterfsVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym878 := z.EncBinary()
		_ = yym878
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep879 := !z.EncBinary()
			yy2arr879 := z.EncBasicHandle().StructToArray
			var yyq879 [3]bool
			_, _, _ = yysep879, yyq879, yy2arr879
			const yyr879 bool = false
			yyq879[2] = x.ReadOnly != false
			var yynn879 int
			if yyr879 || yy2arr879 {
				r.EncodeArrayStart(3)
			} else {
				yynn879 = 2
				for _, b := range yyq879 {
					if b {
						yynn879++
					}
				}
				r.EncodeMapStart(yynn879)
				yynn879 = 0
			}
			if yyr879 || yy2arr879 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym881 := z.EncBinary()
				_ = yym881
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.EndpointsName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("endpoints"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym882 := z.EncBinary()
				_ = yym882
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.EndpointsName))
				}
			}
			if yyr879 || yy2arr879 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym884 := z.EncBinary()
				_ = yym884
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym885 := z.EncBinary()
				_ = yym885
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr879 || yy2arr879 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq879[2] {
					yym887 := z.EncBinary()
					_ = yym887
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq879[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym888 := z.EncBinary()
					_ = yym888
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr879 || yy2arr879 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *GlusterfsVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym889 := z.DecBinary()
	_ = yym889
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct890 := r.ContainerType()
		if yyct890 == codecSelferValueTypeMap1234 {
			yyl890 := r.ReadMapStart()
			if yyl890 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl890, d)
			}
		} else if yyct890 == codecSelferValueTypeArray1234 {
			yyl890 := r.ReadArrayStart()
			if yyl890 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl890, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *GlusterfsVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys891Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys891Slc
	var yyhl891 bool = l >= 0
	for yyj891 := 0; ; yyj891++ {
		if yyhl891 {
			if yyj891 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys891Slc = r.DecodeBytes(yys891Slc, true, true)
		yys891 := string(yys891Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys891 {
		case "endpoints":
			if r.TryDecodeAsNil() {
				x.EndpointsName = ""
			} else {
				x.EndpointsName = string(r.DecodeString())
			}
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys891)
		} // end switch yys891
	} // end for yyj891
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *GlusterfsVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj895 int
	var yyb895 bool
	var yyhl895 bool = l >= 0
	yyj895++
	if yyhl895 {
		yyb895 = yyj895 > l
	} else {
		yyb895 = r.CheckBreak()
	}
	if yyb895 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.EndpointsName = ""
	} else {
		x.EndpointsName = string(r.DecodeString())
	}
	yyj895++
	if yyhl895 {
		yyb895 = yyj895 > l
	} else {
		yyb895 = r.CheckBreak()
	}
	if yyb895 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj895++
	if yyhl895 {
		yyb895 = yyj895 > l
	} else {
		yyb895 = r.CheckBreak()
	}
	if yyb895 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj895++
		if yyhl895 {
			yyb895 = yyj895 > l
		} else {
			yyb895 = r.CheckBreak()
		}
		if yyb895 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj895-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *RBDVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym899 := z.EncBinary()
		_ = yym899
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep900 := !z.EncBinary()
			yy2arr900 := z.EncBasicHandle().StructToArray
			var yyq900 [8]bool
			_, _, _ = yysep900, yyq900, yy2arr900
			const yyr900 bool = false
			yyq900[2] = x.FSType != ""
			yyq900[3] = x.RBDPool != ""
			yyq900[4] = x.RadosUser != ""
			yyq900[5] = x.Keyring != ""
			yyq900[6] = x.SecretRef != nil
			yyq900[7] = x.ReadOnly != false
			var yynn900 int
			if yyr900 || yy2arr900 {
				r.EncodeArrayStart(8)
			} else {
				yynn900 = 2
				for _, b := range yyq900 {
					if b {
						yynn900++
					}
				}
				r.EncodeMapStart(yynn900)
				yynn900 = 0
			}
			if yyr900 || yy2arr900 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.CephMonitors == nil {
					r.EncodeNil()
				} else {
					yym902 := z.EncBinary()
					_ = yym902
					if false {
					} else {
						z.F.EncSliceStringV(x.CephMonitors, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("monitors"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.CephMonitors == nil {
					r.EncodeNil()
				} else {
					yym903 := z.EncBinary()
					_ = yym903
					if false {
					} else {
						z.F.EncSliceStringV(x.CephMonitors, false, e)
					}
				}
			}
			if yyr900 || yy2arr900 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym905 := z.EncBinary()
				_ = yym905
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RBDImage))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("image"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym906 := z.EncBinary()
				_ = yym906
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RBDImage))
				}
			}
			if yyr900 || yy2arr900 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq900[2] {
					yym908 := z.EncBinary()
					_ = yym908
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq900[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym909 := z.EncBinary()
					_ = yym909
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr900 || yy2arr900 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq900[3] {
					yym911 := z.EncBinary()
					_ = yym911
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.RBDPool))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq900[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("pool"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym912 := z.EncBinary()
					_ = yym912
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.RBDPool))
					}
				}
			}
			if yyr900 || yy2arr900 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq900[4] {
					yym914 := z.EncBinary()
					_ = yym914
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.RadosUser))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq900[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("user"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym915 := z.EncBinary()
					_ = yym915
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.RadosUser))
					}
				}
			}
			if yyr900 || yy2arr900 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq900[5] {
					yym917 := z.EncBinary()
					_ = yym917
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Keyring))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq900[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("keyring"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym918 := z.EncBinary()
					_ = yym918
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Keyring))
					}
				}
			}
			if yyr900 || yy2arr900 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq900[6] {
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq900[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secretRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr900 || yy2arr900 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq900[7] {
					yym921 := z.EncBinary()
					_ = yym921
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq900[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym922 := z.EncBinary()
					_ = yym922
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr900 || yy2arr900 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *RBDVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym923 := z.DecBinary()
	_ = yym923
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct924 := r.ContainerType()
		if yyct924 == codecSelferValueTypeMap1234 {
			yyl924 := r.ReadMapStart()
			if yyl924 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl924, d)
			}
		} else if yyct924 == codecSelferValueTypeArray1234 {
			yyl924 := r.ReadArrayStart()
			if yyl924 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl924, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *RBDVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys925Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys925Slc
	var yyhl925 bool = l >= 0
	for yyj925 := 0; ; yyj925++ {
		if yyhl925 {
			if yyj925 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys925Slc = r.DecodeBytes(yys925Slc, true, true)
		yys925 := string(yys925Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys925 {
		case "monitors":
			if r.TryDecodeAsNil() {
				x.CephMonitors = nil
			} else {
				yyv926 := &x.CephMonitors
				yym927 := z.DecBinary()
				_ = yym927
				if false {
				} else {
					z.F.DecSliceStringX(yyv926, false, d)
				}
			}
		case "image":
			if r.TryDecodeAsNil() {
				x.RBDImage = ""
			} else {
				x.RBDImage = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "pool":
			if r.TryDecodeAsNil() {
				x.RBDPool = ""
			} else {
				x.RBDPool = string(r.DecodeString())
			}
		case "user":
			if r.TryDecodeAsNil() {
				x.RadosUser = ""
			} else {
				x.RadosUser = string(r.DecodeString())
			}
		case "keyring":
			if r.TryDecodeAsNil() {
				x.Keyring = ""
			} else {
				x.Keyring = string(r.DecodeString())
			}
		case "secretRef":
			if r.TryDecodeAsNil() {
				if x.SecretRef != nil {
					x.SecretRef = nil
				}
			} else {
				if x.SecretRef == nil {
					x.SecretRef = new(LocalObjectReference)
				}
				x.SecretRef.CodecDecodeSelf(d)
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys925)
		} // end switch yys925
	} // end for yyj925
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *RBDVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj935 int
	var yyb935 bool
	var yyhl935 bool = l >= 0
	yyj935++
	if yyhl935 {
		yyb935 = yyj935 > l
	} else {
		yyb935 = r.CheckBreak()
	}
	if yyb935 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.CephMonitors = nil
	} else {
		yyv936 := &x.CephMonitors
		yym937 := z.DecBinary()
		_ = yym937
		if false {
		} else {
			z.F.DecSliceStringX(yyv936, false, d)
		}
	}
	yyj935++
	if yyhl935 {
		yyb935 = yyj935 > l
	} else {
		yyb935 = r.CheckBreak()
	}
	if yyb935 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RBDImage = ""
	} else {
		x.RBDImage = string(r.DecodeString())
	}
	yyj935++
	if yyhl935 {
		yyb935 = yyj935 > l
	} else {
		yyb935 = r.CheckBreak()
	}
	if yyb935 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj935++
	if yyhl935 {
		yyb935 = yyj935 > l
	} else {
		yyb935 = r.CheckBreak()
	}
	if yyb935 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RBDPool = ""
	} else {
		x.RBDPool = string(r.DecodeString())
	}
	yyj935++
	if yyhl935 {
		yyb935 = yyj935 > l
	} else {
		yyb935 = r.CheckBreak()
	}
	if yyb935 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RadosUser = ""
	} else {
		x.RadosUser = string(r.DecodeString())
	}
	yyj935++
	if yyhl935 {
		yyb935 = yyj935 > l
	} else {
		yyb935 = r.CheckBreak()
	}
	if yyb935 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Keyring = ""
	} else {
		x.Keyring = string(r.DecodeString())
	}
	yyj935++
	if yyhl935 {
		yyb935 = yyj935 > l
	} else {
		yyb935 = r.CheckBreak()
	}
	if yyb935 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SecretRef != nil {
			x.SecretRef = nil
		}
	} else {
		if x.SecretRef == nil {
			x.SecretRef = new(LocalObjectReference)
		}
		x.SecretRef.CodecDecodeSelf(d)
	}
	yyj935++
	if yyhl935 {
		yyb935 = yyj935 > l
	} else {
		yyb935 = r.CheckBreak()
	}
	if yyb935 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj935++
		if yyhl935 {
			yyb935 = yyj935 > l
		} else {
			yyb935 = r.CheckBreak()
		}
		if yyb935 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj935-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *CinderVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym945 := z.EncBinary()
		_ = yym945
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep946 := !z.EncBinary()
			yy2arr946 := z.EncBasicHandle().StructToArray
			var yyq946 [3]bool
			_, _, _ = yysep946, yyq946, yy2arr946
			const yyr946 bool = false
			yyq946[1] = x.FSType != ""
			yyq946[2] = x.ReadOnly != false
			var yynn946 int
			if yyr946 || yy2arr946 {
				r.EncodeArrayStart(3)
			} else {
				yynn946 = 1
				for _, b := range yyq946 {
					if b {
						yynn946++
					}
				}
				r.EncodeMapStart(yynn946)
				yynn946 = 0
			}
			if yyr946 || yy2arr946 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym948 := z.EncBinary()
				_ = yym948
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("volumeID"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym949 := z.EncBinary()
				_ = yym949
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			}
			if yyr946 || yy2arr946 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq946[1] {
					yym951 := z.EncBinary()
					_ = yym951
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq946[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym952 := z.EncBinary()
					_ = yym952
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr946 || yy2arr946 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq946[2] {
					yym954 := z.EncBinary()
					_ = yym954
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq946[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym955 := z.EncBinary()
					_ = yym955
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr946 || yy2arr946 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *CinderVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym956 := z.DecBinary()
	_ = yym956
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct957 := r.ContainerType()
		if yyct957 == codecSelferValueTypeMap1234 {
			yyl957 := r.ReadMapStart()
			if yyl957 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl957, d)
			}
		} else if yyct957 == codecSelferValueTypeArray1234 {
			yyl957 := r.ReadArrayStart()
			if yyl957 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl957, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *CinderVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys958Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys958Slc
	var yyhl958 bool = l >= 0
	for yyj958 := 0; ; yyj958++ {
		if yyhl958 {
			if yyj958 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys958Slc = r.DecodeBytes(yys958Slc, true, true)
		yys958 := string(yys958Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys958 {
		case "volumeID":
			if r.TryDecodeAsNil() {
				x.VolumeID = ""
			} else {
				x.VolumeID = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys958)
		} // end switch yys958
	} // end for yyj958
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *CinderVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj962 int
	var yyb962 bool
	var yyhl962 bool = l >= 0
	yyj962++
	if yyhl962 {
		yyb962 = yyj962 > l
	} else {
		yyb962 = r.CheckBreak()
	}
	if yyb962 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumeID = ""
	} else {
		x.VolumeID = string(r.DecodeString())
	}
	yyj962++
	if yyhl962 {
		yyb962 = yyj962 > l
	} else {
		yyb962 = r.CheckBreak()
	}
	if yyb962 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj962++
	if yyhl962 {
		yyb962 = yyj962 > l
	} else {
		yyb962 = r.CheckBreak()
	}
	if yyb962 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj962++
		if yyhl962 {
			yyb962 = yyj962 > l
		} else {
			yyb962 = r.CheckBreak()
		}
		if yyb962 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj962-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *CephFSVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym966 := z.EncBinary()
		_ = yym966
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep967 := !z.EncBinary()
			yy2arr967 := z.EncBasicHandle().StructToArray
			var yyq967 [6]bool
			_, _, _ = yysep967, yyq967, yy2arr967
			const yyr967 bool = false
			yyq967[1] = x.Path != ""
			yyq967[2] = x.User != ""
			yyq967[3] = x.SecretFile != ""
			yyq967[4] = x.SecretRef != nil
			yyq967[5] = x.ReadOnly != false
			var yynn967 int
			if yyr967 || yy2arr967 {
				r.EncodeArrayStart(6)
			} else {
				yynn967 = 1
				for _, b := range yyq967 {
					if b {
						yynn967++
					}
				}
				r.EncodeMapStart(yynn967)
				yynn967 = 0
			}
			if yyr967 || yy2arr967 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Monitors == nil {
					r.EncodeNil()
				} else {
					yym969 := z.EncBinary()
					_ = yym969
					if false {
					} else {
						z.F.EncSliceStringV(x.Monitors, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("monitors"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Monitors == nil {
					r.EncodeNil()
				} else {
					yym970 := z.EncBinary()
					_ = yym970
					if false {
					} else {
						z.F.EncSliceStringV(x.Monitors, false, e)
					}
				}
			}
			if yyr967 || yy2arr967 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq967[1] {
					yym972 := z.EncBinary()
					_ = yym972
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq967[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("path"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym973 := z.EncBinary()
					_ = yym973
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				}
			}
			if yyr967 || yy2arr967 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq967[2] {
					yym975 := z.EncBinary()
					_ = yym975
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq967[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("user"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym976 := z.EncBinary()
					_ = yym976
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				}
			}
			if yyr967 || yy2arr967 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq967[3] {
					yym978 := z.EncBinary()
					_ = yym978
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretFile))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq967[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secretFile"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym979 := z.EncBinary()
					_ = yym979
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretFile))
					}
				}
			}
			if yyr967 || yy2arr967 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq967[4] {
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq967[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secretRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr967 || yy2arr967 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq967[5] {
					yym982 := z.EncBinary()
					_ = yym982
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq967[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym983 := z.EncBinary()
					_ = yym983
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr967 || yy2arr967 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *CephFSVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym984 := z.DecBinary()
	_ = yym984
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct985 := r.ContainerType()
		if yyct985 == codecSelferValueTypeMap1234 {
			yyl985 := r.ReadMapStart()
			if yyl985 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl985, d)
			}
		} else if yyct985 == codecSelferValueTypeArray1234 {
			yyl985 := r.ReadArrayStart()
			if yyl985 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl985, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *CephFSVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys986Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys986Slc
	var yyhl986 bool = l >= 0
	for yyj986 := 0; ; yyj986++ {
		if yyhl986 {
			if yyj986 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys986Slc = r.DecodeBytes(yys986Slc, true, true)
		yys986 := string(yys986Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys986 {
		case "monitors":
			if r.TryDecodeAsNil() {
				x.Monitors = nil
			} else {
				yyv987 := &x.Monitors
				yym988 := z.DecBinary()
				_ = yym988
				if false {
				} else {
					z.F.DecSliceStringX(yyv987, false, d)
				}
			}
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "user":
			if r.TryDecodeAsNil() {
				x.User = ""
			} else {
				x.User = string(r.DecodeString())
			}
		case "secretFile":
			if r.TryDecodeAsNil() {
				x.SecretFile = ""
			} else {
				x.SecretFile = string(r.DecodeString())
			}
		case "secretRef":
			if r.TryDecodeAsNil() {
				if x.SecretRef != nil {
					x.SecretRef = nil
				}
			} else {
				if x.SecretRef == nil {
					x.SecretRef = new(LocalObjectReference)
				}
				x.SecretRef.CodecDecodeSelf(d)
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys986)
		} // end switch yys986
	} // end for yyj986
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *CephFSVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj994 int
	var yyb994 bool
	var yyhl994 bool = l >= 0
	yyj994++
	if yyhl994 {
		yyb994 = yyj994 > l
	} else {
		yyb994 = r.CheckBreak()
	}
	if yyb994 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Monitors = nil
	} else {
		yyv995 := &x.Monitors
		yym996 := z.DecBinary()
		_ = yym996
		if false {
		} else {
			z.F.DecSliceStringX(yyv995, false, d)
		}
	}
	yyj994++
	if yyhl994 {
		yyb994 = yyj994 > l
	} else {
		yyb994 = r.CheckBreak()
	}
	if yyb994 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj994++
	if yyhl994 {
		yyb994 = yyj994 > l
	} else {
		yyb994 = r.CheckBreak()
	}
	if yyb994 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.User = ""
	} else {
		x.User = string(r.DecodeString())
	}
	yyj994++
	if yyhl994 {
		yyb994 = yyj994 > l
	} else {
		yyb994 = r.CheckBreak()
	}
	if yyb994 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SecretFile = ""
	} else {
		x.SecretFile = string(r.DecodeString())
	}
	yyj994++
	if yyhl994 {
		yyb994 = yyj994 > l
	} else {
		yyb994 = r.CheckBreak()
	}
	if yyb994 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SecretRef != nil {
			x.SecretRef = nil
		}
	} else {
		if x.SecretRef == nil {
			x.SecretRef = new(LocalObjectReference)
		}
		x.SecretRef.CodecDecodeSelf(d)
	}
	yyj994++
	if yyhl994 {
		yyb994 = yyj994 > l
	} else {
		yyb994 = r.CheckBreak()
	}
	if yyb994 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj994++
		if yyhl994 {
			yyb994 = yyj994 > l
		} else {
			yyb994 = r.CheckBreak()
		}
		if yyb994 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj994-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *FlockerVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1002 := z.EncBinary()
		_ = yym1002
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1003 := !z.EncBinary()
			yy2arr1003 := z.EncBasicHandle().StructToArray
			var yyq1003 [2]bool
			_, _, _ = yysep1003, yyq1003, yy2arr1003
			const yyr1003 bool = false
			yyq1003[0] = x.DatasetName != ""
			yyq1003[1] = x.DatasetUUID != ""
			var yynn1003 int
			if yyr1003 || yy2arr1003 {
				r.EncodeArrayStart(2)
			} else {
				yynn1003 = 0
				for _, b := range yyq1003 {
					if b {
						yynn1003++
					}
				}
				r.EncodeMapStart(yynn1003)
				yynn1003 = 0
			}
			if yyr1003 || yy2arr1003 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1003[0] {
					yym1005 := z.EncBinary()
					_ = yym1005
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.DatasetName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1003[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("datasetName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1006 := z.EncBinary()
					_ = yym1006
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.DatasetName))
					}
				}
			}
			if yyr1003 || yy2arr1003 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1003[1] {
					yym1008 := z.EncBinary()
					_ = yym1008
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.DatasetUUID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1003[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("datasetUUID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1009 := z.EncBinary()
					_ = yym1009
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.DatasetUUID))
					}
				}
			}
			if yyr1003 || yy2arr1003 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *FlockerVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1010 := z.DecBinary()
	_ = yym1010
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1011 := r.ContainerType()
		if yyct1011 == codecSelferValueTypeMap1234 {
			yyl1011 := r.ReadMapStart()
			if yyl1011 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1011, d)
			}
		} else if yyct1011 == codecSelferValueTypeArray1234 {
			yyl1011 := r.ReadArrayStart()
			if yyl1011 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1011, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *FlockerVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1012Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1012Slc
	var yyhl1012 bool = l >= 0
	for yyj1012 := 0; ; yyj1012++ {
		if yyhl1012 {
			if yyj1012 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1012Slc = r.DecodeBytes(yys1012Slc, true, true)
		yys1012 := string(yys1012Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1012 {
		case "datasetName":
			if r.TryDecodeAsNil() {
				x.DatasetName = ""
			} else {
				x.DatasetName = string(r.DecodeString())
			}
		case "datasetUUID":
			if r.TryDecodeAsNil() {
				x.DatasetUUID = ""
			} else {
				x.DatasetUUID = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1012)
		} // end switch yys1012
	} // end for yyj1012
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *FlockerVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1015 int
	var yyb1015 bool
	var yyhl1015 bool = l >= 0
	yyj1015++
	if yyhl1015 {
		yyb1015 = yyj1015 > l
	} else {
		yyb1015 = r.CheckBreak()
	}
	if yyb1015 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DatasetName = ""
	} else {
		x.DatasetName = string(r.DecodeString())
	}
	yyj1015++
	if yyhl1015 {
		yyb1015 = yyj1015 > l
	} else {
		yyb1015 = r.CheckBreak()
	}
	if yyb1015 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DatasetUUID = ""
	} else {
		x.DatasetUUID = string(r.DecodeString())
	}
	for {
		yyj1015++
		if yyhl1015 {
			yyb1015 = yyj1015 > l
		} else {
			yyb1015 = r.CheckBreak()
		}
		if yyb1015 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1015-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *DownwardAPIVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1018 := z.EncBinary()
		_ = yym1018
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1019 := !z.EncBinary()
			yy2arr1019 := z.EncBasicHandle().StructToArray
			var yyq1019 [2]bool
			_, _, _ = yysep1019, yyq1019, yy2arr1019
			const yyr1019 bool = false
			yyq1019[0] = len(x.Items) != 0
			yyq1019[1] = x.DefaultMode != nil
			var yynn1019 int
			if yyr1019 || yy2arr1019 {
				r.EncodeArrayStart(2)
			} else {
				yynn1019 = 0
				for _, b := range yyq1019 {
					if b {
						yynn1019++
					}
				}
				r.EncodeMapStart(yynn1019)
				yynn1019 = 0
			}
			if yyr1019 || yy2arr1019 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1019[0] {
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym1021 := z.EncBinary()
						_ = yym1021
						if false {
						} else {
							h.encSliceDownwardAPIVolumeFile(([]DownwardAPIVolumeFile)(x.Items), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1019[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("items"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym1022 := z.EncBinary()
						_ = yym1022
						if false {
						} else {
							h.encSliceDownwardAPIVolumeFile(([]DownwardAPIVolumeFile)(x.Items), e)
						}
					}
				}
			}
			if yyr1019 || yy2arr1019 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1019[1] {
					if x.DefaultMode == nil {
						r.EncodeNil()
					} else {
						yy1024 := *x.DefaultMode
						yym1025 := z.EncBinary()
						_ = yym1025
						if false {
						} else {
							r.EncodeInt(int64(yy1024))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1019[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("defaultMode"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DefaultMode == nil {
						r.EncodeNil()
					} else {
						yy1026 := *x.DefaultMode
						yym1027 := z.EncBinary()
						_ = yym1027
						if false {
						} else {
							r.EncodeInt(int64(yy1026))
						}
					}
				}
			}
			if yyr1019 || yy2arr1019 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *DownwardAPIVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1028 := z.DecBinary()
	_ = yym1028
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1029 := r.ContainerType()
		if yyct1029 == codecSelferValueTypeMap1234 {
			yyl1029 := r.ReadMapStart()
			if yyl1029 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1029, d)
			}
		} else if yyct1029 == codecSelferValueTypeArray1234 {
			yyl1029 := r.ReadArrayStart()
			if yyl1029 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1029, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *DownwardAPIVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1030Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1030Slc
	var yyhl1030 bool = l >= 0
	for yyj1030 := 0; ; yyj1030++ {
		if yyhl1030 {
			if yyj1030 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1030Slc = r.DecodeBytes(yys1030Slc, true, true)
		yys1030 := string(yys1030Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1030 {
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1031 := &x.Items
				yym1032 := z.DecBinary()
				_ = yym1032
				if false {
				} else {
					h.decSliceDownwardAPIVolumeFile((*[]DownwardAPIVolumeFile)(yyv1031), d)
				}
			}
		case "defaultMode":
			if r.TryDecodeAsNil() {
				if x.DefaultMode != nil {
					x.DefaultMode = nil
				}
			} else {
				if x.DefaultMode == nil {
					x.DefaultMode = new(int32)
				}
				yym1034 := z.DecBinary()
				_ = yym1034
				if false {
				} else {
					*((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1030)
		} // end switch yys1030
	} // end for yyj1030
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *DownwardAPIVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1035 int
	var yyb1035 bool
	var yyhl1035 bool = l >= 0
	yyj1035++
	if yyhl1035 {
		yyb1035 = yyj1035 > l
	} else {
		yyb1035 = r.CheckBreak()
	}
	if yyb1035 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1036 := &x.Items
		yym1037 := z.DecBinary()
		_ = yym1037
		if false {
		} else {
			h.decSliceDownwardAPIVolumeFile((*[]DownwardAPIVolumeFile)(yyv1036), d)
		}
	}
	yyj1035++
	if yyhl1035 {
		yyb1035 = yyj1035 > l
	} else {
		yyb1035 = r.CheckBreak()
	}
	if yyb1035 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.DefaultMode != nil {
			x.DefaultMode = nil
		}
	} else {
		if x.DefaultMode == nil {
			x.DefaultMode = new(int32)
		}
		yym1039 := z.DecBinary()
		_ = yym1039
		if false {
		} else {
			*((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32))
		}
	}
	for {
		yyj1035++
		if yyhl1035 {
			yyb1035 = yyj1035 > l
		} else {
			yyb1035 = r.CheckBreak()
		}
		if yyb1035 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1035-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *DownwardAPIVolumeFile) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1040 := z.EncBinary()
		_ = yym1040
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1041 := !z.EncBinary()
			yy2arr1041 := z.EncBasicHandle().StructToArray
			var yyq1041 [4]bool
			_, _, _ = yysep1041, yyq1041, yy2arr1041
			const yyr1041 bool = false
			yyq1041[1] = x.FieldRef != nil
			yyq1041[2] = x.ResourceFieldRef != nil
			yyq1041[3] = x.Mode != nil
			var yynn1041 int
			if yyr1041 || yy2arr1041 {
				r.EncodeArrayStart(4)
			} else {
				yynn1041 = 1
				for _, b := range yyq1041 {
					if b {
						yynn1041++
					}
				}
				r.EncodeMapStart(yynn1041)
				yynn1041 = 0
			}
			if yyr1041 || yy2arr1041 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1043 := z.EncBinary()
				_ = yym1043
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1044 := z.EncBinary()
				_ = yym1044
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr1041 || yy2arr1041 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1041[1] {
					if x.FieldRef == nil {
						r.EncodeNil()
					} else {
						x.FieldRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1041[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fieldRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FieldRef == nil {
						r.EncodeNil()
					} else {
						x.FieldRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1041 || yy2arr1041 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1041[2] {
					if x.ResourceFieldRef == nil {
						r.EncodeNil()
					} else {
						x.ResourceFieldRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1041[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resourceFieldRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ResourceFieldRef == nil {
						r.EncodeNil()
					} else {
						x.ResourceFieldRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1041 || yy2arr1041 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1041[3] {
					if x.Mode == nil {
						r.EncodeNil()
					} else {
						yy1048 := *x.Mode
						yym1049 := z.EncBinary()
						_ = yym1049
						if false {
						} else {
							r.EncodeInt(int64(yy1048))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1041[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("mode"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Mode == nil {
						r.EncodeNil()
					} else {
						yy1050 := *x.Mode
						yym1051 := z.EncBinary()
						_ = yym1051
						if false {
						} else {
							r.EncodeInt(int64(yy1050))
						}
					}
				}
			}
			if yyr1041 || yy2arr1041 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *DownwardAPIVolumeFile) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1052 := z.DecBinary()
	_ = yym1052
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1053 := r.ContainerType()
		if yyct1053 == codecSelferValueTypeMap1234 {
			yyl1053 := r.ReadMapStart()
			if yyl1053 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1053, d)
			}
		} else if yyct1053 == codecSelferValueTypeArray1234 {
			yyl1053 := r.ReadArrayStart()
			if yyl1053 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1053, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *DownwardAPIVolumeFile) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1054Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1054Slc
	var yyhl1054 bool = l >= 0
	for yyj1054 := 0; ; yyj1054++ {
		if yyhl1054 {
			if yyj1054 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1054Slc = r.DecodeBytes(yys1054Slc, true, true)
		yys1054 := string(yys1054Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1054 {
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "fieldRef":
			if r.TryDecodeAsNil() {
				if x.FieldRef != nil {
					x.FieldRef = nil
				}
			} else {
				if x.FieldRef == nil {
					x.FieldRef = new(ObjectFieldSelector)
				}
				x.FieldRef.CodecDecodeSelf(d)
			}
		case "resourceFieldRef":
			if r.TryDecodeAsNil() {
				if x.ResourceFieldRef != nil {
					x.ResourceFieldRef = nil
				}
			} else {
				if x.ResourceFieldRef == nil {
					x.ResourceFieldRef = new(ResourceFieldSelector)
				}
				x.ResourceFieldRef.CodecDecodeSelf(d)
			}
		case "mode":
			if r.TryDecodeAsNil() {
				if x.Mode != nil {
					x.Mode = nil
				}
			} else {
				if x.Mode == nil {
					x.Mode = new(int32)
				}
				yym1059 := z.DecBinary()
				_ = yym1059
				if false {
				} else {
					*((*int32)(x.Mode)) = int32(r.DecodeInt(32))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1054)
		} // end switch yys1054
	} // end for yyj1054
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *DownwardAPIVolumeFile) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1060 int
	var yyb1060 bool
	var yyhl1060 bool = l >= 0
	yyj1060++
	if yyhl1060 {
		yyb1060 = yyj1060 > l
	} else {
		yyb1060 = r.CheckBreak()
	}
	if yyb1060 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj1060++
	if yyhl1060 {
		yyb1060 = yyj1060 > l
	} else {
		yyb1060 = r.CheckBreak()
	}
	if yyb1060 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FieldRef != nil {
			x.FieldRef = nil
		}
	} else {
		if x.FieldRef == nil {
			x.FieldRef = new(ObjectFieldSelector)
		}
		x.FieldRef.CodecDecodeSelf(d)
	}
	yyj1060++
	if yyhl1060 {
		yyb1060 = yyj1060 > l
	} else {
		yyb1060 = r.CheckBreak()
	}
	if yyb1060 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ResourceFieldRef != nil {
			x.ResourceFieldRef = nil
		}
	} else {
		if x.ResourceFieldRef == nil {
			x.ResourceFieldRef = new(ResourceFieldSelector)
		}
		x.ResourceFieldRef.CodecDecodeSelf(d)
	}
	yyj1060++
	if yyhl1060 {
		yyb1060 = yyj1060 > l
	} else {
		yyb1060 = r.CheckBreak()
	}
	if yyb1060 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Mode != nil {
			x.Mode = nil
		}
	} else {
		if x.Mode == nil {
			x.Mode = new(int32)
		}
		yym1065 := z.DecBinary()
		_ = yym1065
		if false {
		} else {
			*((*int32)(x.Mode)) = int32(r.DecodeInt(32))
		}
	}
	for {
		yyj1060++
		if yyhl1060 {
			yyb1060 = yyj1060 > l
		} else {
			yyb1060 = r.CheckBreak()
		}
		if yyb1060 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1060-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *AzureFileVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1066 := z.EncBinary()
		_ = yym1066
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1067 := !z.EncBinary()
			yy2arr1067 := z.EncBasicHandle().StructToArray
			var yyq1067 [3]bool
			_, _, _ = yysep1067, yyq1067, yy2arr1067
			const yyr1067 bool = false
			yyq1067[2] = x.ReadOnly != false
			var yynn1067 int
			if yyr1067 || yy2arr1067 {
				r.EncodeArrayStart(3)
			} else {
				yynn1067 = 2
				for _, b := range yyq1067 {
					if b {
						yynn1067++
					}
				}
				r.EncodeMapStart(yynn1067)
				yynn1067 = 0
			}
			if yyr1067 || yy2arr1067 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1069 := z.EncBinary()
				_ = yym1069
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.SecretName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("secretName"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1070 := z.EncBinary()
				_ = yym1070
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.SecretName))
				}
			}
			if yyr1067 || yy2arr1067 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1072 := z.EncBinary()
				_ = yym1072
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ShareName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("shareName"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1073 := z.EncBinary()
				_ = yym1073
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ShareName))
				}
			}
			if yyr1067 || yy2arr1067 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1067[2] {
					yym1075 := z.EncBinary()
					_ = yym1075
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1067[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1076 := z.EncBinary()
					_ = yym1076
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr1067 || yy2arr1067 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *AzureFileVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1077 := z.DecBinary()
	_ = yym1077
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1078 := r.ContainerType()
		if yyct1078 == codecSelferValueTypeMap1234 {
			yyl1078 := r.ReadMapStart()
			if yyl1078 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1078, d)
			}
		} else if yyct1078 == codecSelferValueTypeArray1234 {
			yyl1078 := r.ReadArrayStart()
			if yyl1078 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1078, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *AzureFileVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1079Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1079Slc
	var yyhl1079 bool = l >= 0
	for yyj1079 := 0; ; yyj1079++ {
		if yyhl1079 {
			if yyj1079 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1079Slc = r.DecodeBytes(yys1079Slc, true, true)
		yys1079 := string(yys1079Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1079 {
		case "secretName":
			if r.TryDecodeAsNil() {
				x.SecretName = ""
			} else {
				x.SecretName = string(r.DecodeString())
			}
		case "shareName":
			if r.TryDecodeAsNil() {
				x.ShareName = ""
			} else {
				x.ShareName = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1079)
		} // end switch yys1079
	} // end for yyj1079
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *AzureFileVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1083 int
	var yyb1083 bool
	var yyhl1083 bool = l >= 0
	yyj1083++
	if yyhl1083 {
		yyb1083 = yyj1083 > l
	} else {
		yyb1083 = r.CheckBreak()
	}
	if yyb1083 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SecretName = ""
	} else {
		x.SecretName = string(r.DecodeString())
	}
	yyj1083++
	if yyhl1083 {
		yyb1083 = yyj1083 > l
	} else {
		yyb1083 = r.CheckBreak()
	}
	if yyb1083 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ShareName = ""
	} else {
		x.ShareName = string(r.DecodeString())
	}
	yyj1083++
	if yyhl1083 {
		yyb1083 = yyj1083 > l
	} else {
		yyb1083 = r.CheckBreak()
	}
	if yyb1083 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj1083++
		if yyhl1083 {
			yyb1083 = yyj1083 > l
		} else {
			yyb1083 = r.CheckBreak()
		}
		if yyb1083 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1083-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *VsphereVirtualDiskVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1087 := z.EncBinary()
		_ = yym1087
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1088 := !z.EncBinary()
			yy2arr1088 := z.EncBasicHandle().StructToArray
			var yyq1088 [2]bool
			_, _, _ = yysep1088, yyq1088, yy2arr1088
			const yyr1088 bool = false
			yyq1088[1] = x.FSType != ""
			var yynn1088 int
			if yyr1088 || yy2arr1088 {
				r.EncodeArrayStart(2)
			} else {
				yynn1088 = 1
				for _, b := range yyq1088 {
					if b {
						yynn1088++
					}
				}
				r.EncodeMapStart(yynn1088)
				yynn1088 = 0
			}
			if yyr1088 || yy2arr1088 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1090 := z.EncBinary()
				_ = yym1090
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumePath))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("volumePath"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1091 := z.EncBinary()
				_ = yym1091
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumePath))
				}
			}
			if yyr1088 || yy2arr1088 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1088[1] {
					yym1093 := z.EncBinary()
					_ = yym1093
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1088[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1094 := z.EncBinary()
					_ = yym1094
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr1088 || yy2arr1088 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *VsphereVirtualDiskVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1095 := z.DecBinary()
	_ = yym1095
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1096 := r.ContainerType()
		if yyct1096 == codecSelferValueTypeMap1234 {
			yyl1096 := r.ReadMapStart()
			if yyl1096 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1096, d)
			}
		} else if yyct1096 == codecSelferValueTypeArray1234 {
			yyl1096 := r.ReadArrayStart()
			if yyl1096 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1096, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *VsphereVirtualDiskVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1097Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1097Slc
	var yyhl1097 bool = l >= 0
	for yyj1097 := 0; ; yyj1097++ {
		if yyhl1097 {
			if yyj1097 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1097Slc = r.DecodeBytes(yys1097Slc, true, true)
		yys1097 := string(yys1097Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1097 {
		case "volumePath":
			if r.TryDecodeAsNil() {
				x.VolumePath = ""
			} else {
				x.VolumePath = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1097)
		} // end switch yys1097
	} // end for yyj1097
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *VsphereVirtualDiskVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1100 int
	var yyb1100 bool
	var yyhl1100 bool = l >= 0
	yyj1100++
	if yyhl1100 {
		yyb1100 = yyj1100 > l
	} else {
		yyb1100 = r.CheckBreak()
	}
	if yyb1100 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumePath = ""
	} else {
		x.VolumePath = string(r.DecodeString())
	}
	yyj1100++
	if yyhl1100 {
		yyb1100 = yyj1100 > l
	} else {
		yyb1100 = r.CheckBreak()
	}
	if yyb1100 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	for {
		yyj1100++
		if yyhl1100 {
			yyb1100 = yyj1100 > l
		} else {
			yyb1100 = r.CheckBreak()
		}
		if yyb1100 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1100-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PhotonPersistentDiskVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1103 := z.EncBinary()
		_ = yym1103
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1104 := !z.EncBinary()
			yy2arr1104 := z.EncBasicHandle().StructToArray
			var yyq1104 [2]bool
			_, _, _ = yysep1104, yyq1104, yy2arr1104
			const yyr1104 bool = false
			yyq1104[1] = x.FSType != ""
			var yynn1104 int
			if yyr1104 || yy2arr1104 {
				r.EncodeArrayStart(2)
			} else {
				yynn1104 = 1
				for _, b := range yyq1104 {
					if b {
						yynn1104++
					}
				}
				r.EncodeMapStart(yynn1104)
				yynn1104 = 0
			}
			if yyr1104 || yy2arr1104 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1106 := z.EncBinary()
				_ = yym1106
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.PdID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("pdID"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1107 := z.EncBinary()
				_ = yym1107
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.PdID))
				}
			}
			if yyr1104 || yy2arr1104 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1104[1] {
					yym1109 := z.EncBinary()
					_ = yym1109
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1104[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1110 := z.EncBinary()
					_ = yym1110
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr1104 || yy2arr1104 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PhotonPersistentDiskVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1111 := z.DecBinary()
	_ = yym1111
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1112 := r.ContainerType()
		if yyct1112 == codecSelferValueTypeMap1234 {
			yyl1112 := r.ReadMapStart()
			if yyl1112 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1112, d)
			}
		} else if yyct1112 == codecSelferValueTypeArray1234 {
			yyl1112 := r.ReadArrayStart()
			if yyl1112 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1112, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PhotonPersistentDiskVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1113Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1113Slc
	var yyhl1113 bool = l >= 0
	for yyj1113 := 0; ; yyj1113++ {
		if yyhl1113 {
			if yyj1113 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1113Slc = r.DecodeBytes(yys1113Slc, true, true)
		yys1113 := string(yys1113Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1113 {
		case "pdID":
			if r.TryDecodeAsNil() {
				x.PdID = ""
			} else {
				x.PdID = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1113)
		} // end switch yys1113
	} // end for yyj1113
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PhotonPersistentDiskVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1116 int
	var yyb1116 bool
	var yyhl1116 bool = l >= 0
	yyj1116++
	if yyhl1116 {
		yyb1116 = yyj1116 > l
	} else {
		yyb1116 = r.CheckBreak()
	}
	if yyb1116 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PdID = ""
	} else {
		x.PdID = string(r.DecodeString())
	}
	yyj1116++
	if yyhl1116 {
		yyb1116 = yyj1116 > l
	} else {
		yyb1116 = r.CheckBreak()
	}
	if yyb1116 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	for {
		yyj1116++
		if yyhl1116 {
			yyb1116 = yyj1116 > l
		} else {
			yyb1116 = r.CheckBreak()
		}
		if yyb1116 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1116-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x AzureDataDiskCachingMode) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1119 := z.EncBinary()
	_ = yym1119
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *AzureDataDiskCachingMode) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1120 := z.DecBinary()
	_ = yym1120
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *AzureDiskVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1121 := z.EncBinary()
		_ = yym1121
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1122 := !z.EncBinary()
			yy2arr1122 := z.EncBasicHandle().StructToArray
			var yyq1122 [5]bool
			_, _, _ = yysep1122, yyq1122, yy2arr1122
			const yyr1122 bool = false
			yyq1122[2] = x.CachingMode != nil
			yyq1122[3] = x.FSType != nil
			yyq1122[4] = x.ReadOnly != nil
			var yynn1122 int
			if yyr1122 || yy2arr1122 {
				r.EncodeArrayStart(5)
			} else {
				yynn1122 = 2
				for _, b := range yyq1122 {
					if b {
						yynn1122++
					}
				}
				r.EncodeMapStart(yynn1122)
				yynn1122 = 0
			}
			if yyr1122 || yy2arr1122 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1124 := z.EncBinary()
				_ = yym1124
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DiskName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("diskName"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1125 := z.EncBinary()
				_ = yym1125
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DiskName))
				}
			}
			if yyr1122 || yy2arr1122 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1127 := z.EncBinary()
				_ = yym1127
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DataDiskURI))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("diskURI"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1128 := z.EncBinary()
				_ = yym1128
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DataDiskURI))
				}
			}
			if yyr1122 || yy2arr1122 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1122[2] {
					if x.CachingMode == nil {
						r.EncodeNil()
					} else {
						yy1130 := *x.CachingMode
						yy1130.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1122[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cachingMode"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.CachingMode == nil {
						r.EncodeNil()
					} else {
						yy1131 := *x.CachingMode
						yy1131.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1122 || yy2arr1122 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1122[3] {
					if x.FSType == nil {
						r.EncodeNil()
					} else {
						yy1133 := *x.FSType
						yym1134 := z.EncBinary()
						_ = yym1134
						if false {
						} else {
							r.EncodeString(codecSelferC_UTF81234, string(yy1133))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1122[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FSType == nil {
						r.EncodeNil()
					} else {
						yy1135 := *x.FSType
						yym1136 := z.EncBinary()
						_ = yym1136
						if false {
						} else {
							r.EncodeString(codecSelferC_UTF81234, string(yy1135))
						}
					}
				}
			}
			if yyr1122 || yy2arr1122 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1122[4] {
					if x.ReadOnly == nil {
						r.EncodeNil()
					} else {
						yy1138 := *x.ReadOnly
						yym1139 := z.EncBinary()
						_ = yym1139
						if false {
						} else {
							r.EncodeBool(bool(yy1138))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1122[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ReadOnly == nil {
						r.EncodeNil()
					} else {
						yy1140 := *x.ReadOnly
						yym1141 := z.EncBinary()
						_ = yym1141
						if false {
						} else {
							r.EncodeBool(bool(yy1140))
						}
					}
				}
			}
			if yyr1122 || yy2arr1122 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *AzureDiskVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1142 := z.DecBinary()
	_ = yym1142
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1143 := r.ContainerType()
		if yyct1143 == codecSelferValueTypeMap1234 {
			yyl1143 := r.ReadMapStart()
			if yyl1143 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1143, d)
			}
		} else if yyct1143 == codecSelferValueTypeArray1234 {
			yyl1143 := r.ReadArrayStart()
			if yyl1143 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1143, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *AzureDiskVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1144Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1144Slc
	var yyhl1144 bool = l >= 0
	for yyj1144 := 0; ; yyj1144++ {
		if yyhl1144 {
			if yyj1144 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1144Slc = r.DecodeBytes(yys1144Slc, true, true)
		yys1144 := string(yys1144Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1144 {
		case "diskName":
			if r.TryDecodeAsNil() {
				x.DiskName = ""
			} else {
				x.DiskName = string(r.DecodeString())
			}
		case "diskURI":
			if r.TryDecodeAsNil() {
				x.DataDiskURI = ""
			} else {
				x.DataDiskURI = string(r.DecodeString())
			}
		case "cachingMode":
			if r.TryDecodeAsNil() {
				if x.CachingMode != nil {
					x.CachingMode = nil
				}
			} else {
				if x.CachingMode == nil {
					x.CachingMode = new(AzureDataDiskCachingMode)
				}
				x.CachingMode.CodecDecodeSelf(d)
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				if x.FSType != nil {
					x.FSType = nil
				}
			} else {
				if x.FSType == nil {
					x.FSType = new(string)
				}
				yym1149 := z.DecBinary()
				_ = yym1149
				if false {
				} else {
					*((*string)(x.FSType)) = r.DecodeString()
				}
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				if x.ReadOnly != nil {
					x.ReadOnly = nil
				}
			} else {
				if x.ReadOnly == nil {
					x.ReadOnly = new(bool)
				}
				yym1151 := z.DecBinary()
				_ = yym1151
				if false {
				} else {
					*((*bool)(x.ReadOnly)) = r.DecodeBool()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1144)
		} // end switch yys1144
	} // end for yyj1144
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *AzureDiskVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1152 int
	var yyb1152 bool
	var yyhl1152 bool = l >= 0
	yyj1152++
	if yyhl1152 {
		yyb1152 = yyj1152 > l
	} else {
		yyb1152 = r.CheckBreak()
	}
	if yyb1152 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DiskName = ""
	} else {
		x.DiskName = string(r.DecodeString())
	}
	yyj1152++
	if yyhl1152 {
		yyb1152 = yyj1152 > l
	} else {
		yyb1152 = r.CheckBreak()
	}
	if yyb1152 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DataDiskURI = ""
	} else {
		x.DataDiskURI = string(r.DecodeString())
	}
	yyj1152++
	if yyhl1152 {
		yyb1152 = yyj1152 > l
	} else {
		yyb1152 = r.CheckBreak()
	}
	if yyb1152 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.CachingMode != nil {
			x.CachingMode = nil
		}
	} else {
		if x.CachingMode == nil {
			x.CachingMode = new(AzureDataDiskCachingMode)
		}
		x.CachingMode.CodecDecodeSelf(d)
	}
	yyj1152++
	if yyhl1152 {
		yyb1152 = yyj1152 > l
	} else {
		yyb1152 = r.CheckBreak()
	}
	if yyb1152 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FSType != nil {
			x.FSType = nil
		}
	} else {
		if x.FSType == nil {
			x.FSType = new(string)
		}
		yym1157 := z.DecBinary()
		_ = yym1157
		if false {
		} else {
			*((*string)(x.FSType)) = r.DecodeString()
		}
	}
	yyj1152++
	if yyhl1152 {
		yyb1152 = yyj1152 > l
	} else {
		yyb1152 = r.CheckBreak()
	}
	if yyb1152 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ReadOnly != nil {
			x.ReadOnly = nil
		}
	} else {
		if x.ReadOnly == nil {
			x.ReadOnly = new(bool)
		}
		yym1159 := z.DecBinary()
		_ = yym1159
		if false {
		} else {
			*((*bool)(x.ReadOnly)) = r.DecodeBool()
		}
	}
	for {
		yyj1152++
		if yyhl1152 {
			yyb1152 = yyj1152 > l
		} else {
			yyb1152 = r.CheckBreak()
		}
		if yyb1152 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1152-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ConfigMapVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1160 := z.EncBinary()
		_ = yym1160
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1161 := !z.EncBinary()
			yy2arr1161 := z.EncBasicHandle().StructToArray
			var yyq1161 [3]bool
			_, _, _ = yysep1161, yyq1161, yy2arr1161
			const yyr1161 bool = false
			yyq1161[1] = len(x.Items) != 0
			yyq1161[2] = x.DefaultMode != nil
			var yynn1161 int
			if yyr1161 || yy2arr1161 {
				r.EncodeArrayStart(3)
			} else {
				yynn1161 = 1
				for _, b := range yyq1161 {
					if b {
						yynn1161++
					}
				}
				r.EncodeMapStart(yynn1161)
				yynn1161 = 0
			}
			if yyr1161 || yy2arr1161 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1163 := z.EncBinary()
				_ = yym1163
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1164 := z.EncBinary()
				_ = yym1164
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1161 || yy2arr1161 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1161[1] {
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym1166 := z.EncBinary()
						_ = yym1166
						if false {
						} else {
							h.encSliceKeyToPath(([]KeyToPath)(x.Items), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1161[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("items"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym1167 := z.EncBinary()
						_ = yym1167
						if false {
						} else {
							h.encSliceKeyToPath(([]KeyToPath)(x.Items), e)
						}
					}
				}
			}
			if yyr1161 || yy2arr1161 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1161[2] {
					if x.DefaultMode == nil {
						r.EncodeNil()
					} else {
						yy1169 := *x.DefaultMode
						yym1170 := z.EncBinary()
						_ = yym1170
						if false {
						} else {
							r.EncodeInt(int64(yy1169))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1161[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("defaultMode"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DefaultMode == nil {
						r.EncodeNil()
					} else {
						yy1171 := *x.DefaultMode
						yym1172 := z.EncBinary()
						_ = yym1172
						if false {
						} else {
							r.EncodeInt(int64(yy1171))
						}
					}
				}
			}
			if yyr1161 || yy2arr1161 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ConfigMapVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1173 := z.DecBinary()
	_ = yym1173
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1174 := r.ContainerType()
		if yyct1174 == codecSelferValueTypeMap1234 {
			yyl1174 := r.ReadMapStart()
			if yyl1174 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1174, d)
			}
		} else if yyct1174 == codecSelferValueTypeArray1234 {
			yyl1174 := r.ReadArrayStart()
			if yyl1174 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1174, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ConfigMapVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1175Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1175Slc
	var yyhl1175 bool = l >= 0
	for yyj1175 := 0; ; yyj1175++ {
		if yyhl1175 {
			if yyj1175 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1175Slc = r.DecodeBytes(yys1175Slc, true, true)
		yys1175 := string(yys1175Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1175 {
		case "Name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1177 := &x.Items
				yym1178 := z.DecBinary()
				_ = yym1178
				if false {
				} else {
					h.decSliceKeyToPath((*[]KeyToPath)(yyv1177), d)
				}
			}
		case "defaultMode":
			if r.TryDecodeAsNil() {
				if x.DefaultMode != nil {
					x.DefaultMode = nil
				}
			} else {
				if x.DefaultMode == nil {
					x.DefaultMode = new(int32)
				}
				yym1180 := z.DecBinary()
				_ = yym1180
				if false {
				} else {
					*((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1175)
		} // end switch yys1175
	} // end for yyj1175
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ConfigMapVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1181 int
	var yyb1181 bool
	var yyhl1181 bool = l >= 0
	yyj1181++
	if yyhl1181 {
		yyb1181 = yyj1181 > l
	} else {
		yyb1181 = r.CheckBreak()
	}
	if yyb1181 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1181++
	if yyhl1181 {
		yyb1181 = yyj1181 > l
	} else {
		yyb1181 = r.CheckBreak()
	}
	if yyb1181 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1183 := &x.Items
		yym1184 := z.DecBinary()
		_ = yym1184
		if false {
		} else {
			h.decSliceKeyToPath((*[]KeyToPath)(yyv1183), d)
		}
	}
	yyj1181++
	if yyhl1181 {
		yyb1181 = yyj1181 > l
	} else {
		yyb1181 = r.CheckBreak()
	}
	if yyb1181 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.DefaultMode != nil {
			x.DefaultMode = nil
		}
	} else {
		if x.DefaultMode == nil {
			x.DefaultMode = new(int32)
		}
		yym1186 := z.DecBinary()
		_ = yym1186
		if false {
		} else {
			*((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32))
		}
	}
	for {
		yyj1181++
		if yyhl1181 {
			yyb1181 = yyj1181 > l
		} else {
			yyb1181 = r.CheckBreak()
		}
		if yyb1181 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1181-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *KeyToPath) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1187 := z.EncBinary()
		_ = yym1187
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1188 := !z.EncBinary()
			yy2arr1188 := z.EncBasicHandle().StructToArray
			var yyq1188 [3]bool
			_, _, _ = yysep1188, yyq1188, yy2arr1188
			const yyr1188 bool = false
			yyq1188[2] = x.Mode != nil
			var yynn1188 int
			if yyr1188 || yy2arr1188 {
				r.EncodeArrayStart(3)
			} else {
				yynn1188 = 2
				for _, b := range yyq1188 {
					if b {
						yynn1188++
					}
				}
				r.EncodeMapStart(yynn1188)
				yynn1188 = 0
			}
			if yyr1188 || yy2arr1188 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1190 := z.EncBinary()
				_ = yym1190
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("key"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1191 := z.EncBinary()
				_ = yym1191
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			}
			if yyr1188 || yy2arr1188 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1193 := z.EncBinary()
				_ = yym1193
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1194 := z.EncBinary()
				_ = yym1194
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr1188 || yy2arr1188 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1188[2] {
					if x.Mode == nil {
						r.EncodeNil()
					} else {
						yy1196 := *x.Mode
						yym1197 := z.EncBinary()
						_ = yym1197
						if false {
						} else {
							r.EncodeInt(int64(yy1196))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1188[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("mode"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Mode == nil {
						r.EncodeNil()
					} else {
						yy1198 := *x.Mode
						yym1199 := z.EncBinary()
						_ = yym1199
						if false {
						} else {
							r.EncodeInt(int64(yy1198))
						}
					}
				}
			}
			if yyr1188 || yy2arr1188 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *KeyToPath) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1200 := z.DecBinary()
	_ = yym1200
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1201 := r.ContainerType()
		if yyct1201 == codecSelferValueTypeMap1234 {
			yyl1201 := r.ReadMapStart()
			if yyl1201 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1201, d)
			}
		} else if yyct1201 == codecSelferValueTypeArray1234 {
			yyl1201 := r.ReadArrayStart()
			if yyl1201 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1201, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *KeyToPath) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1202Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1202Slc
	var yyhl1202 bool = l >= 0
	for yyj1202 := 0; ; yyj1202++ {
		if yyhl1202 {
			if yyj1202 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1202Slc = r.DecodeBytes(yys1202Slc, true, true)
		yys1202 := string(yys1202Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1202 {
		case "key":
			if r.TryDecodeAsNil() {
				x.Key = ""
			} else {
				x.Key = string(r.DecodeString())
			}
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "mode":
			if r.TryDecodeAsNil() {
				if x.Mode != nil {
					x.Mode = nil
				}
			} else {
				if x.Mode == nil {
					x.Mode = new(int32)
				}
				yym1206 := z.DecBinary()
				_ = yym1206
				if false {
				} else {
					*((*int32)(x.Mode)) = int32(r.DecodeInt(32))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1202)
		} // end switch yys1202
	} // end for yyj1202
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *KeyToPath) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1207 int
	var yyb1207 bool
	var yyhl1207 bool = l >= 0
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Mode != nil {
			x.Mode = nil
		}
	} else {
		if x.Mode == nil {
			x.Mode = new(int32)
		}
		yym1211 := z.DecBinary()
		_ = yym1211
		if false {
		} else {
			*((*int32)(x.Mode)) = int32(r.DecodeInt(32))
		}
	}
	for {
		yyj1207++
		if yyhl1207 {
			yyb1207 = yyj1207 > l
		} else {
			yyb1207 = r.CheckBreak()
		}
		if yyb1207 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1207-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ContainerPort) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1212 := z.EncBinary()
		_ = yym1212
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1213 := !z.EncBinary()
			yy2arr1213 := z.EncBasicHandle().StructToArray
			var yyq1213 [5]bool
			_, _, _ = yysep1213, yyq1213, yy2arr1213
			const yyr1213 bool = false
			yyq1213[0] = x.Name != ""
			yyq1213[1] = x.HostPort != 0
			yyq1213[3] = x.Protocol != ""
			yyq1213[4] = x.HostIP != ""
			var yynn1213 int
			if yyr1213 || yy2arr1213 {
				r.EncodeArrayStart(5)
			} else {
				yynn1213 = 1
				for _, b := range yyq1213 {
					if b {
						yynn1213++
					}
				}
				r.EncodeMapStart(yynn1213)
				yynn1213 = 0
			}
			if yyr1213 || yy2arr1213 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1213[0] {
					yym1215 := z.EncBinary()
					_ = yym1215
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1213[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1216 := z.EncBinary()
					_ = yym1216
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr1213 || yy2arr1213 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1213[1] {
					yym1218 := z.EncBinary()
					_ = yym1218
					if false {
					} else {
						r.EncodeInt(int64(x.HostPort))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1213[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPort"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1219 := z.EncBinary()
					_ = yym1219
					if false {
					} else {
						r.EncodeInt(int64(x.HostPort))
					}
				}
			}
			if yyr1213 || yy2arr1213 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1221 := z.EncBinary()
				_ = yym1221
				if false {
				} else {
					r.EncodeInt(int64(x.ContainerPort))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("containerPort"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1222 := z.EncBinary()
				_ = yym1222
				if false {
				} else {
					r.EncodeInt(int64(x.ContainerPort))
				}
			}
			if yyr1213 || yy2arr1213 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1213[3] {
					x.Protocol.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1213[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("protocol"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Protocol.CodecEncodeSelf(e)
				}
			}
			if yyr1213 || yy2arr1213 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1213[4] {
					yym1225 := z.EncBinary()
					_ = yym1225
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1213[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1226 := z.EncBinary()
					_ = yym1226
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				}
			}
			if yyr1213 || yy2arr1213 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ContainerPort) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1227 := z.DecBinary()
	_ = yym1227
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1228 := r.ContainerType()
		if yyct1228 == codecSelferValueTypeMap1234 {
			yyl1228 := r.ReadMapStart()
			if yyl1228 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1228, d)
			}
		} else if yyct1228 == codecSelferValueTypeArray1234 {
			yyl1228 := r.ReadArrayStart()
			if yyl1228 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1228, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerPort) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1229Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1229Slc
	var yyhl1229 bool = l >= 0
	for yyj1229 := 0; ; yyj1229++ {
		if yyhl1229 {
			if yyj1229 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1229Slc = r.DecodeBytes(yys1229Slc, true, true)
		yys1229 := string(yys1229Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1229 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "hostPort":
			if r.TryDecodeAsNil() {
				x.HostPort = 0
			} else {
				x.HostPort = int32(r.DecodeInt(32))
			}
		case "containerPort":
			if r.TryDecodeAsNil() {
				x.ContainerPort = 0
			} else {
				x.ContainerPort = int32(r.DecodeInt(32))
			}
		case "protocol":
			if r.TryDecodeAsNil() {
				x.Protocol = ""
			} else {
				x.Protocol = Protocol(r.DecodeString())
			}
		case "hostIP":
			if r.TryDecodeAsNil() {
				x.HostIP = ""
			} else {
				x.HostIP = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1229)
		} // end switch yys1229
	} // end for yyj1229
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ContainerPort) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1235 int
	var yyb1235 bool
	var yyhl1235 bool = l >= 0
	yyj1235++
	if yyhl1235 {
		yyb1235 = yyj1235 > l
	} else {
		yyb1235 = r.CheckBreak()
	}
	if yyb1235 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1235++
	if yyhl1235 {
		yyb1235 = yyj1235 > l
	} else {
		yyb1235 = r.CheckBreak()
	}
	if yyb1235 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostPort = 0
	} else {
		x.HostPort = int32(r.DecodeInt(32))
	}
	yyj1235++
	if yyhl1235 {
		yyb1235 = yyj1235 > l
	} else {
		yyb1235 = r.CheckBreak()
	}
	if yyb1235 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerPort = 0
	} else {
		x.ContainerPort = int32(r.DecodeInt(32))
	}
	yyj1235++
	if yyhl1235 {
		yyb1235 = yyj1235 > l
	} else {
		yyb1235 = r.CheckBreak()
	}
	if yyb1235 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Protocol = ""
	} else {
		x.Protocol = Protocol(r.DecodeString())
	}
	yyj1235++
	if yyhl1235 {
		yyb1235 = yyj1235 > l
	} else {
		yyb1235 = r.CheckBreak()
	}
	if yyb1235 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostIP = ""
	} else {
		x.HostIP = string(r.DecodeString())
	}
	for {
		yyj1235++
		if yyhl1235 {
			yyb1235 = yyj1235 > l
		} else {
			yyb1235 = r.CheckBreak()
		}
		if yyb1235 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1235-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *VolumeMount) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1241 := z.EncBinary()
		_ = yym1241
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1242 := !z.EncBinary()
			yy2arr1242 := z.EncBasicHandle().StructToArray
			var yyq1242 [4]bool
			_, _, _ = yysep1242, yyq1242, yy2arr1242
			const yyr1242 bool = false
			yyq1242[1] = x.ReadOnly != false
			yyq1242[3] = x.SubPath != ""
			var yynn1242 int
			if yyr1242 || yy2arr1242 {
				r.EncodeArrayStart(4)
			} else {
				yynn1242 = 2
				for _, b := range yyq1242 {
					if b {
						yynn1242++
					}
				}
				r.EncodeMapStart(yynn1242)
				yynn1242 = 0
			}
			if yyr1242 || yy2arr1242 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1244 := z.EncBinary()
				_ = yym1244
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1245 := z.EncBinary()
				_ = yym1245
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1242 || yy2arr1242 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1242[1] {
					yym1247 := z.EncBinary()
					_ = yym1247
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1242[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1248 := z.EncBinary()
					_ = yym1248
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr1242 || yy2arr1242 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1250 := z.EncBinary()
				_ = yym1250
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MountPath))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("mountPath"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1251 := z.EncBinary()
				_ = yym1251
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MountPath))
				}
			}
			if yyr1242 || yy2arr1242 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1242[3] {
					yym1253 := z.EncBinary()
					_ = yym1253
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SubPath))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1242[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("subPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1254 := z.EncBinary()
					_ = yym1254
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SubPath))
					}
				}
			}
			if yyr1242 || yy2arr1242 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *VolumeMount) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1255 := z.DecBinary()
	_ = yym1255
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1256 := r.ContainerType()
		if yyct1256 == codecSelferValueTypeMap1234 {
			yyl1256 := r.ReadMapStart()
			if yyl1256 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1256, d)
			}
		} else if yyct1256 == codecSelferValueTypeArray1234 {
			yyl1256 := r.ReadArrayStart()
			if yyl1256 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1256, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *VolumeMount) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1257Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1257Slc
	var yyhl1257 bool = l >= 0
	for yyj1257 := 0; ; yyj1257++ {
		if yyhl1257 {
			if yyj1257 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1257Slc = r.DecodeBytes(yys1257Slc, true, true)
		yys1257 := string(yys1257Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1257 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		case "mountPath":
			if r.TryDecodeAsNil() {
				x.MountPath = ""
			} else {
				x.MountPath = string(r.DecodeString())
			}
		case "subPath":
			if r.TryDecodeAsNil() {
				x.SubPath = ""
			} else {
				x.SubPath = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1257)
		} // end switch yys1257
	} // end for yyj1257
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *VolumeMount) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1262 int
	var yyb1262 bool
	var yyhl1262 bool = l >= 0
	yyj1262++
	if yyhl1262 {
		yyb1262 = yyj1262 > l
	} else {
		yyb1262 = r.CheckBreak()
	}
	if yyb1262 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1262++
	if yyhl1262 {
		yyb1262 = yyj1262 > l
	} else {
		yyb1262 = r.CheckBreak()
	}
	if yyb1262 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	yyj1262++
	if yyhl1262 {
		yyb1262 = yyj1262 > l
	} else {
		yyb1262 = r.CheckBreak()
	}
	if yyb1262 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.MountPath = ""
	} else {
		x.MountPath = string(r.DecodeString())
	}
	yyj1262++
	if yyhl1262 {
		yyb1262 = yyj1262 > l
	} else {
		yyb1262 = r.CheckBreak()
	}
	if yyb1262 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SubPath = ""
	} else {
		x.SubPath = string(r.DecodeString())
	}
	for {
		yyj1262++
		if yyhl1262 {
			yyb1262 = yyj1262 > l
		} else {
			yyb1262 = r.CheckBreak()
		}
		if yyb1262 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1262-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EnvVar) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1267 := z.EncBinary()
		_ = yym1267
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1268 := !z.EncBinary()
			yy2arr1268 := z.EncBasicHandle().StructToArray
			var yyq1268 [3]bool
			_, _, _ = yysep1268, yyq1268, yy2arr1268
			const yyr1268 bool = false
			yyq1268[1] = x.Value != ""
			yyq1268[2] = x.ValueFrom != nil
			var yynn1268 int
			if yyr1268 || yy2arr1268 {
				r.EncodeArrayStart(3)
			} else {
				yynn1268 = 1
				for _, b := range yyq1268 {
					if b {
						yynn1268++
					}
				}
				r.EncodeMapStart(yynn1268)
				yynn1268 = 0
			}
			if yyr1268 || yy2arr1268 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1270 := z.EncBinary()
				_ = yym1270
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1271 := z.EncBinary()
				_ = yym1271
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1268 || yy2arr1268 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1268[1] {
					yym1273 := z.EncBinary()
					_ = yym1273
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1268[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("value"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1274 := z.EncBinary()
					_ = yym1274
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				}
			}
			if yyr1268 || yy2arr1268 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1268[2] {
					if x.ValueFrom == nil {
						r.EncodeNil()
					} else {
						x.ValueFrom.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1268[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("valueFrom"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ValueFrom == nil {
						r.EncodeNil()
					} else {
						x.ValueFrom.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1268 || yy2arr1268 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EnvVar) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1276 := z.DecBinary()
	_ = yym1276
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1277 := r.ContainerType()
		if yyct1277 == codecSelferValueTypeMap1234 {
			yyl1277 := r.ReadMapStart()
			if yyl1277 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1277, d)
			}
		} else if yyct1277 == codecSelferValueTypeArray1234 {
			yyl1277 := r.ReadArrayStart()
			if yyl1277 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1277, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EnvVar) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1278Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1278Slc
	var yyhl1278 bool = l >= 0
	for yyj1278 := 0; ; yyj1278++ {
		if yyhl1278 {
			if yyj1278 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1278Slc = r.DecodeBytes(yys1278Slc, true, true)
		yys1278 := string(yys1278Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1278 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "value":
			if r.TryDecodeAsNil() {
				x.Value = ""
			} else {
				x.Value = string(r.DecodeString())
			}
		case "valueFrom":
			if r.TryDecodeAsNil() {
				if x.ValueFrom != nil {
					x.ValueFrom = nil
				}
			} else {
				if x.ValueFrom == nil {
					x.ValueFrom = new(EnvVarSource)
				}
				x.ValueFrom.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1278)
		} // end switch yys1278
	} // end for yyj1278
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EnvVar) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1282 int
	var yyb1282 bool
	var yyhl1282 bool = l >= 0
	yyj1282++
	if yyhl1282 {
		yyb1282 = yyj1282 > l
	} else {
		yyb1282 = r.CheckBreak()
	}
	if yyb1282 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1282++
	if yyhl1282 {
		yyb1282 = yyj1282 > l
	} else {
		yyb1282 = r.CheckBreak()
	}
	if yyb1282 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Value = ""
	} else {
		x.Value = string(r.DecodeString())
	}
	yyj1282++
	if yyhl1282 {
		yyb1282 = yyj1282 > l
	} else {
		yyb1282 = r.CheckBreak()
	}
	if yyb1282 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ValueFrom != nil {
			x.ValueFrom = nil
		}
	} else {
		if x.ValueFrom == nil {
			x.ValueFrom = new(EnvVarSource)
		}
		x.ValueFrom.CodecDecodeSelf(d)
	}
	for {
		yyj1282++
		if yyhl1282 {
			yyb1282 = yyj1282 > l
		} else {
			yyb1282 = r.CheckBreak()
		}
		if yyb1282 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1282-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EnvVarSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1286 := z.EncBinary()
		_ = yym1286
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1287 := !z.EncBinary()
			yy2arr1287 := z.EncBasicHandle().StructToArray
			var yyq1287 [4]bool
			_, _, _ = yysep1287, yyq1287, yy2arr1287
			const yyr1287 bool = false
			yyq1287[0] = x.FieldRef != nil
			yyq1287[1] = x.ResourceFieldRef != nil
			yyq1287[2] = x.ConfigMapKeyRef != nil
			yyq1287[3] = x.SecretKeyRef != nil
			var yynn1287 int
			if yyr1287 || yy2arr1287 {
				r.EncodeArrayStart(4)
			} else {
				yynn1287 = 0
				for _, b := range yyq1287 {
					if b {
						yynn1287++
					}
				}
				r.EncodeMapStart(yynn1287)
				yynn1287 = 0
			}
			if yyr1287 || yy2arr1287 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1287[0] {
					if x.FieldRef == nil {
						r.EncodeNil()
					} else {
						x.FieldRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1287[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fieldRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FieldRef == nil {
						r.EncodeNil()
					} else {
						x.FieldRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1287 || yy2arr1287 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1287[1] {
					if x.ResourceFieldRef == nil {
						r.EncodeNil()
					} else {
						x.ResourceFieldRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1287[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resourceFieldRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ResourceFieldRef == nil {
						r.EncodeNil()
					} else {
						x.ResourceFieldRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1287 || yy2arr1287 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1287[2] {
					if x.ConfigMapKeyRef == nil {
						r.EncodeNil()
					} else {
						x.ConfigMapKeyRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1287[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("configMapKeyRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ConfigMapKeyRef == nil {
						r.EncodeNil()
					} else {
						x.ConfigMapKeyRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1287 || yy2arr1287 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1287[3] {
					if x.SecretKeyRef == nil {
						r.EncodeNil()
					} else {
						x.SecretKeyRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1287[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secretKeyRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SecretKeyRef == nil {
						r.EncodeNil()
					} else {
						x.SecretKeyRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1287 || yy2arr1287 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EnvVarSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1292 := z.DecBinary()
	_ = yym1292
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1293 := r.ContainerType()
		if yyct1293 == codecSelferValueTypeMap1234 {
			yyl1293 := r.ReadMapStart()
			if yyl1293 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1293, d)
			}
		} else if yyct1293 == codecSelferValueTypeArray1234 {
			yyl1293 := r.ReadArrayStart()
			if yyl1293 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1293, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EnvVarSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1294Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1294Slc
	var yyhl1294 bool = l >= 0
	for yyj1294 := 0; ; yyj1294++ {
		if yyhl1294 {
			if yyj1294 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1294Slc = r.DecodeBytes(yys1294Slc, true, true)
		yys1294 := string(yys1294Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1294 {
		case "fieldRef":
			if r.TryDecodeAsNil() {
				if x.FieldRef != nil {
					x.FieldRef = nil
				}
			} else {
				if x.FieldRef == nil {
					x.FieldRef = new(ObjectFieldSelector)
				}
				x.FieldRef.CodecDecodeSelf(d)
			}
		case "resourceFieldRef":
			if r.TryDecodeAsNil() {
				if x.ResourceFieldRef != nil {
					x.ResourceFieldRef = nil
				}
			} else {
				if x.ResourceFieldRef == nil {
					x.ResourceFieldRef = new(ResourceFieldSelector)
				}
				x.ResourceFieldRef.CodecDecodeSelf(d)
			}
		case "configMapKeyRef":
			if r.TryDecodeAsNil() {
				if x.ConfigMapKeyRef != nil {
					x.ConfigMapKeyRef = nil
				}
			} else {
				if x.ConfigMapKeyRef == nil {
					x.ConfigMapKeyRef = new(ConfigMapKeySelector)
				}
				x.ConfigMapKeyRef.CodecDecodeSelf(d)
			}
		case "secretKeyRef":
			if r.TryDecodeAsNil() {
				if x.SecretKeyRef != nil {
					x.SecretKeyRef = nil
				}
			} else {
				if x.SecretKeyRef == nil {
					x.SecretKeyRef = new(SecretKeySelector)
				}
				x.SecretKeyRef.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1294)
		} // end switch yys1294
	} // end for yyj1294
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EnvVarSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1299 int
	var yyb1299 bool
	var yyhl1299 bool = l >= 0
	yyj1299++
	if yyhl1299 {
		yyb1299 = yyj1299 > l
	} else {
		yyb1299 = r.CheckBreak()
	}
	if yyb1299 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FieldRef != nil {
			x.FieldRef = nil
		}
	} else {
		if x.FieldRef == nil {
			x.FieldRef = new(ObjectFieldSelector)
		}
		x.FieldRef.CodecDecodeSelf(d)
	}
	yyj1299++
	if yyhl1299 {
		yyb1299 = yyj1299 > l
	} else {
		yyb1299 = r.CheckBreak()
	}
	if yyb1299 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ResourceFieldRef != nil {
			x.ResourceFieldRef = nil
		}
	} else {
		if x.ResourceFieldRef == nil {
			x.ResourceFieldRef = new(ResourceFieldSelector)
		}
		x.ResourceFieldRef.CodecDecodeSelf(d)
	}
	yyj1299++
	if yyhl1299 {
		yyb1299 = yyj1299 > l
	} else {
		yyb1299 = r.CheckBreak()
	}
	if yyb1299 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ConfigMapKeyRef != nil {
			x.ConfigMapKeyRef = nil
		}
	} else {
		if x.ConfigMapKeyRef == nil {
			x.ConfigMapKeyRef = new(ConfigMapKeySelector)
		}
		x.ConfigMapKeyRef.CodecDecodeSelf(d)
	}
	yyj1299++
	if yyhl1299 {
		yyb1299 = yyj1299 > l
	} else {
		yyb1299 = r.CheckBreak()
	}
	if yyb1299 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SecretKeyRef != nil {
			x.SecretKeyRef = nil
		}
	} else {
		if x.SecretKeyRef == nil {
			x.SecretKeyRef = new(SecretKeySelector)
		}
		x.SecretKeyRef.CodecDecodeSelf(d)
	}
	for {
		yyj1299++
		if yyhl1299 {
			yyb1299 = yyj1299 > l
		} else {
			yyb1299 = r.CheckBreak()
		}
		if yyb1299 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1299-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ObjectFieldSelector) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1304 := z.EncBinary()
		_ = yym1304
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1305 := !z.EncBinary()
			yy2arr1305 := z.EncBasicHandle().StructToArray
			var yyq1305 [2]bool
			_, _, _ = yysep1305, yyq1305, yy2arr1305
			const yyr1305 bool = false
			var yynn1305 int
			if yyr1305 || yy2arr1305 {
				r.EncodeArrayStart(2)
			} else {
				yynn1305 = 2
				for _, b := range yyq1305 {
					if b {
						yynn1305++
					}
				}
				r.EncodeMapStart(yynn1305)
				yynn1305 = 0
			}
			if yyr1305 || yy2arr1305 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1307 := z.EncBinary()
				_ = yym1307
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1308 := z.EncBinary()
				_ = yym1308
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
				}
			}
			if yyr1305 || yy2arr1305 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1310 := z.EncBinary()
				_ = yym1310
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("fieldPath"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1311 := z.EncBinary()
				_ = yym1311
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
				}
			}
			if yyr1305 || yy2arr1305 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ObjectFieldSelector) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1312 := z.DecBinary()
	_ = yym1312
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1313 := r.ContainerType()
		if yyct1313 == codecSelferValueTypeMap1234 {
			yyl1313 := r.ReadMapStart()
			if yyl1313 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1313, d)
			}
		} else if yyct1313 == codecSelferValueTypeArray1234 {
			yyl1313 := r.ReadArrayStart()
			if yyl1313 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1313, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ObjectFieldSelector) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1314Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1314Slc
	var yyhl1314 bool = l >= 0
	for yyj1314 := 0; ; yyj1314++ {
		if yyhl1314 {
			if yyj1314 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1314Slc = r.DecodeBytes(yys1314Slc, true, true)
		yys1314 := string(yys1314Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1314 {
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "fieldPath":
			if r.TryDecodeAsNil() {
				x.FieldPath = ""
			} else {
				x.FieldPath = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1314)
		} // end switch yys1314
	} // end for yyj1314
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ObjectFieldSelector) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1317 int
	var yyb1317 bool
	var yyhl1317 bool = l >= 0
	yyj1317++
	if yyhl1317 {
		yyb1317 = yyj1317 > l
	} else {
		yyb1317 = r.CheckBreak()
	}
	if yyb1317 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1317++
	if yyhl1317 {
		yyb1317 = yyj1317 > l
	} else {
		yyb1317 = r.CheckBreak()
	}
	if yyb1317 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FieldPath = ""
	} else {
		x.FieldPath = string(r.DecodeString())
	}
	for {
		yyj1317++
		if yyhl1317 {
			yyb1317 = yyj1317 > l
		} else {
			yyb1317 = r.CheckBreak()
		}
		if yyb1317 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1317-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ResourceFieldSelector) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1320 := z.EncBinary()
		_ = yym1320
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1321 := !z.EncBinary()
			yy2arr1321 := z.EncBasicHandle().StructToArray
			var yyq1321 [3]bool
			_, _, _ = yysep1321, yyq1321, yy2arr1321
			const yyr1321 bool = false
			yyq1321[0] = x.ContainerName != ""
			yyq1321[2] = true
			var yynn1321 int
			if yyr1321 || yy2arr1321 {
				r.EncodeArrayStart(3)
			} else {
				yynn1321 = 1
				for _, b := range yyq1321 {
					if b {
						yynn1321++
					}
				}
				r.EncodeMapStart(yynn1321)
				yynn1321 = 0
			}
			if yyr1321 || yy2arr1321 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1321[0] {
					yym1323 := z.EncBinary()
					_ = yym1323
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1321[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("containerName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1324 := z.EncBinary()
					_ = yym1324
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerName))
					}
				}
			}
			if yyr1321 || yy2arr1321 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1326 := z.EncBinary()
				_ = yym1326
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Resource))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("resource"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1327 := z.EncBinary()
				_ = yym1327
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Resource))
				}
			}
			if yyr1321 || yy2arr1321 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1321[2] {
					yy1329 := &x.Divisor
					yym1330 := z.EncBinary()
					_ = yym1330
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1329) {
					} else if !yym1330 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1329)
					} else {
						z.EncFallback(yy1329)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1321[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("divisor"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1331 := &x.Divisor
					yym1332 := z.EncBinary()
					_ = yym1332
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1331) {
					} else if !yym1332 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1331)
					} else {
						z.EncFallback(yy1331)
					}
				}
			}
			if yyr1321 || yy2arr1321 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ResourceFieldSelector) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1333 := z.DecBinary()
	_ = yym1333
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1334 := r.ContainerType()
		if yyct1334 == codecSelferValueTypeMap1234 {
			yyl1334 := r.ReadMapStart()
			if yyl1334 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1334, d)
			}
		} else if yyct1334 == codecSelferValueTypeArray1234 {
			yyl1334 := r.ReadArrayStart()
			if yyl1334 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1334, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceFieldSelector) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1335Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1335Slc
	var yyhl1335 bool = l >= 0
	for yyj1335 := 0; ; yyj1335++ {
		if yyhl1335 {
			if yyj1335 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1335Slc = r.DecodeBytes(yys1335Slc, true, true)
		yys1335 := string(yys1335Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1335 {
		case "containerName":
			if r.TryDecodeAsNil() {
				x.ContainerName = ""
			} else {
				x.ContainerName = string(r.DecodeString())
			}
		case "resource":
			if r.TryDecodeAsNil() {
				x.Resource = ""
			} else {
				x.Resource = string(r.DecodeString())
			}
		case "divisor":
			if r.TryDecodeAsNil() {
				x.Divisor = pkg3_resource.Quantity{}
			} else {
				yyv1338 := &x.Divisor
				yym1339 := z.DecBinary()
				_ = yym1339
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1338) {
				} else if !yym1339 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1338)
				} else {
					z.DecFallback(yyv1338, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1335)
		} // end switch yys1335
	} // end for yyj1335
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ResourceFieldSelector) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1340 int
	var yyb1340 bool
	var yyhl1340 bool = l >= 0
	yyj1340++
	if yyhl1340 {
		yyb1340 = yyj1340 > l
	} else {
		yyb1340 = r.CheckBreak()
	}
	if yyb1340 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerName = ""
	} else {
		x.ContainerName = string(r.DecodeString())
	}
	yyj1340++
	if yyhl1340 {
		yyb1340 = yyj1340 > l
	} else {
		yyb1340 = r.CheckBreak()
	}
	if yyb1340 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Resource = ""
	} else {
		x.Resource = string(r.DecodeString())
	}
	yyj1340++
	if yyhl1340 {
		yyb1340 = yyj1340 > l
	} else {
		yyb1340 = r.CheckBreak()
	}
	if yyb1340 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Divisor = pkg3_resource.Quantity{}
	} else {
		yyv1343 := &x.Divisor
		yym1344 := z.DecBinary()
		_ = yym1344
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1343) {
		} else if !yym1344 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1343)
		} else {
			z.DecFallback(yyv1343, false)
		}
	}
	for {
		yyj1340++
		if yyhl1340 {
			yyb1340 = yyj1340 > l
		} else {
			yyb1340 = r.CheckBreak()
		}
		if yyb1340 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1340-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ConfigMapKeySelector) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1345 := z.EncBinary()
		_ = yym1345
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1346 := !z.EncBinary()
			yy2arr1346 := z.EncBasicHandle().StructToArray
			var yyq1346 [2]bool
			_, _, _ = yysep1346, yyq1346, yy2arr1346
			const yyr1346 bool = false
			var yynn1346 int
			if yyr1346 || yy2arr1346 {
				r.EncodeArrayStart(2)
			} else {
				yynn1346 = 2
				for _, b := range yyq1346 {
					if b {
						yynn1346++
					}
				}
				r.EncodeMapStart(yynn1346)
				yynn1346 = 0
			}
			if yyr1346 || yy2arr1346 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1348 := z.EncBinary()
				_ = yym1348
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1349 := z.EncBinary()
				_ = yym1349
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1346 || yy2arr1346 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1351 := z.EncBinary()
				_ = yym1351
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("key"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1352 := z.EncBinary()
				_ = yym1352
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			}
			if yyr1346 || yy2arr1346 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ConfigMapKeySelector) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1353 := z.DecBinary()
	_ = yym1353
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1354 := r.ContainerType()
		if yyct1354 == codecSelferValueTypeMap1234 {
			yyl1354 := r.ReadMapStart()
			if yyl1354 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1354, d)
			}
		} else if yyct1354 == codecSelferValueTypeArray1234 {
			yyl1354 := r.ReadArrayStart()
			if yyl1354 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1354, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ConfigMapKeySelector) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1355Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1355Slc
	var yyhl1355 bool = l >= 0
	for yyj1355 := 0; ; yyj1355++ {
		if yyhl1355 {
			if yyj1355 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1355Slc = r.DecodeBytes(yys1355Slc, true, true)
		yys1355 := string(yys1355Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1355 {
		case "Name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "key":
			if r.TryDecodeAsNil() {
				x.Key = ""
			} else {
				x.Key = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1355)
		} // end switch yys1355
	} // end for yyj1355
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ConfigMapKeySelector) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1358 int
	var yyb1358 bool
	var yyhl1358 bool = l >= 0
	yyj1358++
	if yyhl1358 {
		yyb1358 = yyj1358 > l
	} else {
		yyb1358 = r.CheckBreak()
	}
	if yyb1358 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1358++
	if yyhl1358 {
		yyb1358 = yyj1358 > l
	} else {
		yyb1358 = r.CheckBreak()
	}
	if yyb1358 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	for {
		yyj1358++
		if yyhl1358 {
			yyb1358 = yyj1358 > l
		} else {
			yyb1358 = r.CheckBreak()
		}
		if yyb1358 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1358-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *SecretKeySelector) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1361 := z.EncBinary()
		_ = yym1361
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1362 := !z.EncBinary()
			yy2arr1362 := z.EncBasicHandle().StructToArray
			var yyq1362 [2]bool
			_, _, _ = yysep1362, yyq1362, yy2arr1362
			const yyr1362 bool = false
			var yynn1362 int
			if yyr1362 || yy2arr1362 {
				r.EncodeArrayStart(2)
			} else {
				yynn1362 = 2
				for _, b := range yyq1362 {
					if b {
						yynn1362++
					}
				}
				r.EncodeMapStart(yynn1362)
				yynn1362 = 0
			}
			if yyr1362 || yy2arr1362 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1364 := z.EncBinary()
				_ = yym1364
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1365 := z.EncBinary()
				_ = yym1365
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1362 || yy2arr1362 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1367 := z.EncBinary()
				_ = yym1367
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("key"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1368 := z.EncBinary()
				_ = yym1368
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			}
			if yyr1362 || yy2arr1362 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *SecretKeySelector) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1369 := z.DecBinary()
	_ = yym1369
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1370 := r.ContainerType()
		if yyct1370 == codecSelferValueTypeMap1234 {
			yyl1370 := r.ReadMapStart()
			if yyl1370 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1370, d)
			}
		} else if yyct1370 == codecSelferValueTypeArray1234 {
			yyl1370 := r.ReadArrayStart()
			if yyl1370 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1370, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SecretKeySelector) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1371Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1371Slc
	var yyhl1371 bool = l >= 0
	for yyj1371 := 0; ; yyj1371++ {
		if yyhl1371 {
			if yyj1371 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1371Slc = r.DecodeBytes(yys1371Slc, true, true)
		yys1371 := string(yys1371Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1371 {
		case "Name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "key":
			if r.TryDecodeAsNil() {
				x.Key = ""
			} else {
				x.Key = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1371)
		} // end switch yys1371
	} // end for yyj1371
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *SecretKeySelector) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1374 int
	var yyb1374 bool
	var yyhl1374 bool = l >= 0
	yyj1374++
	if yyhl1374 {
		yyb1374 = yyj1374 > l
	} else {
		yyb1374 = r.CheckBreak()
	}
	if yyb1374 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1374++
	if yyhl1374 {
		yyb1374 = yyj1374 > l
	} else {
		yyb1374 = r.CheckBreak()
	}
	if yyb1374 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	for {
		yyj1374++
		if yyhl1374 {
			yyb1374 = yyj1374 > l
		} else {
			yyb1374 = r.CheckBreak()
		}
		if yyb1374 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1374-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *HTTPHeader) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1377 := z.EncBinary()
		_ = yym1377
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1378 := !z.EncBinary()
			yy2arr1378 := z.EncBasicHandle().StructToArray
			var yyq1378 [2]bool
			_, _, _ = yysep1378, yyq1378, yy2arr1378
			const yyr1378 bool = false
			var yynn1378 int
			if yyr1378 || yy2arr1378 {
				r.EncodeArrayStart(2)
			} else {
				yynn1378 = 2
				for _, b := range yyq1378 {
					if b {
						yynn1378++
					}
				}
				r.EncodeMapStart(yynn1378)
				yynn1378 = 0
			}
			if yyr1378 || yy2arr1378 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1380 := z.EncBinary()
				_ = yym1380
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1381 := z.EncBinary()
				_ = yym1381
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1378 || yy2arr1378 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1383 := z.EncBinary()
				_ = yym1383
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Value))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("value"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1384 := z.EncBinary()
				_ = yym1384
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Value))
				}
			}
			if yyr1378 || yy2arr1378 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *HTTPHeader) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1385 := z.DecBinary()
	_ = yym1385
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1386 := r.ContainerType()
		if yyct1386 == codecSelferValueTypeMap1234 {
			yyl1386 := r.ReadMapStart()
			if yyl1386 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1386, d)
			}
		} else if yyct1386 == codecSelferValueTypeArray1234 {
			yyl1386 := r.ReadArrayStart()
			if yyl1386 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1386, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *HTTPHeader) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1387Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1387Slc
	var yyhl1387 bool = l >= 0
	for yyj1387 := 0; ; yyj1387++ {
		if yyhl1387 {
			if yyj1387 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1387Slc = r.DecodeBytes(yys1387Slc, true, true)
		yys1387 := string(yys1387Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1387 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "value":
			if r.TryDecodeAsNil() {
				x.Value = ""
			} else {
				x.Value = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1387)
		} // end switch yys1387
	} // end for yyj1387
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *HTTPHeader) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1390 int
	var yyb1390 bool
	var yyhl1390 bool = l >= 0
	yyj1390++
	if yyhl1390 {
		yyb1390 = yyj1390 > l
	} else {
		yyb1390 = r.CheckBreak()
	}
	if yyb1390 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1390++
	if yyhl1390 {
		yyb1390 = yyj1390 > l
	} else {
		yyb1390 = r.CheckBreak()
	}
	if yyb1390 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Value = ""
	} else {
		x.Value = string(r.DecodeString())
	}
	for {
		yyj1390++
		if yyhl1390 {
			yyb1390 = yyj1390 > l
		} else {
			yyb1390 = r.CheckBreak()
		}
		if yyb1390 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1390-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *HTTPGetAction) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1393 := z.EncBinary()
		_ = yym1393
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1394 := !z.EncBinary()
			yy2arr1394 := z.EncBasicHandle().StructToArray
			var yyq1394 [5]bool
			_, _, _ = yysep1394, yyq1394, yy2arr1394
			const yyr1394 bool = false
			yyq1394[0] = x.Path != ""
			yyq1394[1] = true
			yyq1394[2] = x.Host != ""
			yyq1394[3] = x.Scheme != ""
			yyq1394[4] = len(x.HTTPHeaders) != 0
			var yynn1394 int
			if yyr1394 || yy2arr1394 {
				r.EncodeArrayStart(5)
			} else {
				yynn1394 = 0
				for _, b := range yyq1394 {
					if b {
						yynn1394++
					}
				}
				r.EncodeMapStart(yynn1394)
				yynn1394 = 0
			}
			if yyr1394 || yy2arr1394 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1394[0] {
					yym1396 := z.EncBinary()
					_ = yym1396
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1394[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("path"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1397 := z.EncBinary()
					_ = yym1397
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				}
			}
			if yyr1394 || yy2arr1394 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1394[1] {
					yy1399 := &x.Port
					yym1400 := z.EncBinary()
					_ = yym1400
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1399) {
					} else if !yym1400 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1399)
					} else {
						z.EncFallback(yy1399)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1394[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("port"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1401 := &x.Port
					yym1402 := z.EncBinary()
					_ = yym1402
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1401) {
					} else if !yym1402 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1401)
					} else {
						z.EncFallback(yy1401)
					}
				}
			}
			if yyr1394 || yy2arr1394 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1394[2] {
					yym1404 := z.EncBinary()
					_ = yym1404
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1394[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("host"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1405 := z.EncBinary()
					_ = yym1405
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				}
			}
			if yyr1394 || yy2arr1394 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1394[3] {
					x.Scheme.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1394[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("scheme"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Scheme.CodecEncodeSelf(e)
				}
			}
			if yyr1394 || yy2arr1394 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1394[4] {
					if x.HTTPHeaders == nil {
						r.EncodeNil()
					} else {
						yym1408 := z.EncBinary()
						_ = yym1408
						if false {
						} else {
							h.encSliceHTTPHeader(([]HTTPHeader)(x.HTTPHeaders), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1394[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("httpHeaders"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.HTTPHeaders == nil {
						r.EncodeNil()
					} else {
						yym1409 := z.EncBinary()
						_ = yym1409
						if false {
						} else {
							h.encSliceHTTPHeader(([]HTTPHeader)(x.HTTPHeaders), e)
						}
					}
				}
			}
			if yyr1394 || yy2arr1394 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *HTTPGetAction) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1410 := z.DecBinary()
	_ = yym1410
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1411 := r.ContainerType()
		if yyct1411 == codecSelferValueTypeMap1234 {
			yyl1411 := r.ReadMapStart()
			if yyl1411 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1411, d)
			}
		} else if yyct1411 == codecSelferValueTypeArray1234 {
			yyl1411 := r.ReadArrayStart()
			if yyl1411 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1411, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *HTTPGetAction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1412Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1412Slc
	var yyhl1412 bool = l >= 0
	for yyj1412 := 0; ; yyj1412++ {
		if yyhl1412 {
			if yyj1412 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1412Slc = r.DecodeBytes(yys1412Slc, true, true)
		yys1412 := string(yys1412Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1412 {
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "port":
			if r.TryDecodeAsNil() {
				x.Port = pkg4_intstr.IntOrString{}
			} else {
				yyv1414 := &x.Port
				yym1415 := z.DecBinary()
				_ = yym1415
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1414) {
				} else if !yym1415 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1414)
				} else {
					z.DecFallback(yyv1414, false)
				}
			}
		case "host":
			if r.TryDecodeAsNil() {
				x.Host = ""
			} else {
				x.Host = string(r.DecodeString())
			}
		case "scheme":
			if r.TryDecodeAsNil() {
				x.Scheme = ""
			} else {
				x.Scheme = URIScheme(r.DecodeString())
			}
		case "httpHeaders":
			if r.TryDecodeAsNil() {
				x.HTTPHeaders = nil
			} else {
				yyv1418 := &x.HTTPHeaders
				yym1419 := z.DecBinary()
				_ = yym1419
				if false {
				} else {
					h.decSliceHTTPHeader((*[]HTTPHeader)(yyv1418), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1412)
		} // end switch yys1412
	} // end for yyj1412
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *HTTPGetAction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1420 int
	var yyb1420 bool
	var yyhl1420 bool = l >= 0
	yyj1420++
	if yyhl1420 {
		yyb1420 = yyj1420 > l
	} else {
		yyb1420 = r.CheckBreak()
	}
	if yyb1420 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj1420++
	if yyhl1420 {
		yyb1420 = yyj1420 > l
	} else {
		yyb1420 = r.CheckBreak()
	}
	if yyb1420 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = pkg4_intstr.IntOrString{}
	} else {
		yyv1422 := &x.Port
		yym1423 := z.DecBinary()
		_ = yym1423
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1422) {
		} else if !yym1423 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1422)
		} else {
			z.DecFallback(yyv1422, false)
		}
	}
	yyj1420++
	if yyhl1420 {
		yyb1420 = yyj1420 > l
	} else {
		yyb1420 = r.CheckBreak()
	}
	if yyb1420 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Host = ""
	} else {
		x.Host = string(r.DecodeString())
	}
	yyj1420++
	if yyhl1420 {
		yyb1420 = yyj1420 > l
	} else {
		yyb1420 = r.CheckBreak()
	}
	if yyb1420 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Scheme = ""
	} else {
		x.Scheme = URIScheme(r.DecodeString())
	}
	yyj1420++
	if yyhl1420 {
		yyb1420 = yyj1420 > l
	} else {
		yyb1420 = r.CheckBreak()
	}
	if yyb1420 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HTTPHeaders = nil
	} else {
		yyv1426 := &x.HTTPHeaders
		yym1427 := z.DecBinary()
		_ = yym1427
		if false {
		} else {
			h.decSliceHTTPHeader((*[]HTTPHeader)(yyv1426), d)
		}
	}
	for {
		yyj1420++
		if yyhl1420 {
			yyb1420 = yyj1420 > l
		} else {
			yyb1420 = r.CheckBreak()
		}
		if yyb1420 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1420-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x URIScheme) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1428 := z.EncBinary()
	_ = yym1428
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *URIScheme) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1429 := z.DecBinary()
	_ = yym1429
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *TCPSocketAction) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1430 := z.EncBinary()
		_ = yym1430
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1431 := !z.EncBinary()
			yy2arr1431 := z.EncBasicHandle().StructToArray
			var yyq1431 [1]bool
			_, _, _ = yysep1431, yyq1431, yy2arr1431
			const yyr1431 bool = false
			yyq1431[0] = true
			var yynn1431 int
			if yyr1431 || yy2arr1431 {
				r.EncodeArrayStart(1)
			} else {
				yynn1431 = 0
				for _, b := range yyq1431 {
					if b {
						yynn1431++
					}
				}
				r.EncodeMapStart(yynn1431)
				yynn1431 = 0
			}
			if yyr1431 || yy2arr1431 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1431[0] {
					yy1433 := &x.Port
					yym1434 := z.EncBinary()
					_ = yym1434
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1433) {
					} else if !yym1434 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1433)
					} else {
						z.EncFallback(yy1433)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1431[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("port"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1435 := &x.Port
					yym1436 := z.EncBinary()
					_ = yym1436
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1435) {
					} else if !yym1436 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1435)
					} else {
						z.EncFallback(yy1435)
					}
				}
			}
			if yyr1431 || yy2arr1431 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *TCPSocketAction) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1437 := z.DecBinary()
	_ = yym1437
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1438 := r.ContainerType()
		if yyct1438 == codecSelferValueTypeMap1234 {
			yyl1438 := r.ReadMapStart()
			if yyl1438 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1438, d)
			}
		} else if yyct1438 == codecSelferValueTypeArray1234 {
			yyl1438 := r.ReadArrayStart()
			if yyl1438 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1438, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *TCPSocketAction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1439Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1439Slc
	var yyhl1439 bool = l >= 0
	for yyj1439 := 0; ; yyj1439++ {
		if yyhl1439 {
			if yyj1439 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1439Slc = r.DecodeBytes(yys1439Slc, true, true)
		yys1439 := string(yys1439Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1439 {
		case "port":
			if r.TryDecodeAsNil() {
				x.Port = pkg4_intstr.IntOrString{}
			} else {
				yyv1440 := &x.Port
				yym1441 := z.DecBinary()
				_ = yym1441
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1440) {
				} else if !yym1441 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1440)
				} else {
					z.DecFallback(yyv1440, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1439)
		} // end switch yys1439
	} // end for yyj1439
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *TCPSocketAction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1442 int
	var yyb1442 bool
	var yyhl1442 bool = l >= 0
	yyj1442++
	if yyhl1442 {
		yyb1442 = yyj1442 > l
	} else {
		yyb1442 = r.CheckBreak()
	}
	if yyb1442 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = pkg4_intstr.IntOrString{}
	} else {
		yyv1443 := &x.Port
		yym1444 := z.DecBinary()
		_ = yym1444
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1443) {
		} else if !yym1444 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1443)
		} else {
			z.DecFallback(yyv1443, false)
		}
	}
	for {
		yyj1442++
		if yyhl1442 {
			yyb1442 = yyj1442 > l
		} else {
			yyb1442 = r.CheckBreak()
		}
		if yyb1442 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1442-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ExecAction) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1445 := z.EncBinary()
		_ = yym1445
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1446 := !z.EncBinary()
			yy2arr1446 := z.EncBasicHandle().StructToArray
			var yyq1446 [1]bool
			_, _, _ = yysep1446, yyq1446, yy2arr1446
			const yyr1446 bool = false
			yyq1446[0] = len(x.Command) != 0
			var yynn1446 int
			if yyr1446 || yy2arr1446 {
				r.EncodeArrayStart(1)
			} else {
				yynn1446 = 0
				for _, b := range yyq1446 {
					if b {
						yynn1446++
					}
				}
				r.EncodeMapStart(yynn1446)
				yynn1446 = 0
			}
			if yyr1446 || yy2arr1446 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1446[0] {
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1448 := z.EncBinary()
						_ = yym1448
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1446[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("command"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1449 := z.EncBinary()
						_ = yym1449
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				}
			}
			if yyr1446 || yy2arr1446 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ExecAction) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1450 := z.DecBinary()
	_ = yym1450
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1451 := r.ContainerType()
		if yyct1451 == codecSelferValueTypeMap1234 {
			yyl1451 := r.ReadMapStart()
			if yyl1451 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1451, d)
			}
		} else if yyct1451 == codecSelferValueTypeArray1234 {
			yyl1451 := r.ReadArrayStart()
			if yyl1451 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1451, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ExecAction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1452Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1452Slc
	var yyhl1452 bool = l >= 0
	for yyj1452 := 0; ; yyj1452++ {
		if yyhl1452 {
			if yyj1452 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1452Slc = r.DecodeBytes(yys1452Slc, true, true)
		yys1452 := string(yys1452Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1452 {
		case "command":
			if r.TryDecodeAsNil() {
				x.Command = nil
			} else {
				yyv1453 := &x.Command
				yym1454 := z.DecBinary()
				_ = yym1454
				if false {
				} else {
					z.F.DecSliceStringX(yyv1453, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1452)
		} // end switch yys1452
	} // end for yyj1452
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ExecAction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1455 int
	var yyb1455 bool
	var yyhl1455 bool = l >= 0
	yyj1455++
	if yyhl1455 {
		yyb1455 = yyj1455 > l
	} else {
		yyb1455 = r.CheckBreak()
	}
	if yyb1455 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Command = nil
	} else {
		yyv1456 := &x.Command
		yym1457 := z.DecBinary()
		_ = yym1457
		if false {
		} else {
			z.F.DecSliceStringX(yyv1456, false, d)
		}
	}
	for {
		yyj1455++
		if yyhl1455 {
			yyb1455 = yyj1455 > l
		} else {
			yyb1455 = r.CheckBreak()
		}
		if yyb1455 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1455-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Probe) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1458 := z.EncBinary()
		_ = yym1458
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1459 := !z.EncBinary()
			yy2arr1459 := z.EncBasicHandle().StructToArray
			var yyq1459 [8]bool
			_, _, _ = yysep1459, yyq1459, yy2arr1459
			const yyr1459 bool = false
			yyq1459[0] = x.Handler.Exec != nil && x.Exec != nil
			yyq1459[1] = x.Handler.HTTPGet != nil && x.HTTPGet != nil
			yyq1459[2] = x.Handler.TCPSocket != nil && x.TCPSocket != nil
			yyq1459[3] = x.InitialDelaySeconds != 0
			yyq1459[4] = x.TimeoutSeconds != 0
			yyq1459[5] = x.PeriodSeconds != 0
			yyq1459[6] = x.SuccessThreshold != 0
			yyq1459[7] = x.FailureThreshold != 0
			var yynn1459 int
			if yyr1459 || yy2arr1459 {
				r.EncodeArrayStart(8)
			} else {
				yynn1459 = 0
				for _, b := range yyq1459 {
					if b {
						yynn1459++
					}
				}
				r.EncodeMapStart(yynn1459)
				yynn1459 = 0
			}
			var yyn1460 bool
			if x.Handler.Exec == nil {
				yyn1460 = true
				goto LABEL1460
			}
		LABEL1460:
			if yyr1459 || yy2arr1459 {
				if yyn1460 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq1459[0] {
						if x.Exec == nil {
							r.EncodeNil()
						} else {
							x.Exec.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq1459[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("exec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn1460 {
						r.EncodeNil()
					} else {
						if x.Exec == nil {
							r.EncodeNil()
						} else {
							x.Exec.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn1461 bool
			if x.Handler.HTTPGet == nil {
				yyn1461 = true
				goto LABEL1461
			}
		LABEL1461:
			if yyr1459 || yy2arr1459 {
				if yyn1461 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq1459[1] {
						if x.HTTPGet == nil {
							r.EncodeNil()
						} else {
							x.HTTPGet.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq1459[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("httpGet"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn1461 {
						r.EncodeNil()
					} else {
						if x.HTTPGet == nil {
							r.EncodeNil()
						} else {
							x.HTTPGet.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn1462 bool
			if x.Handler.TCPSocket == nil {
				yyn1462 = true
				goto LABEL1462
			}
		LABEL1462:
			if yyr1459 || yy2arr1459 {
				if yyn1462 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq1459[2] {
						if x.TCPSocket == nil {
							r.EncodeNil()
						} else {
							x.TCPSocket.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq1459[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("tcpSocket"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn1462 {
						r.EncodeNil()
					} else {
						if x.TCPSocket == nil {
							r.EncodeNil()
						} else {
							x.TCPSocket.CodecEncodeSelf(e)
						}
					}
				}
			}
			if yyr1459 || yy2arr1459 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1459[3] {
					yym1464 := z.EncBinary()
					_ = yym1464
					if false {
					} else {
						r.EncodeInt(int64(x.InitialDelaySeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1459[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("initialDelaySeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1465 := z.EncBinary()
					_ = yym1465
					if false {
					} else {
						r.EncodeInt(int64(x.InitialDelaySeconds))
					}
				}
			}
			if yyr1459 || yy2arr1459 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1459[4] {
					yym1467 := z.EncBinary()
					_ = yym1467
					if false {
					} else {
						r.EncodeInt(int64(x.TimeoutSeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1459[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("timeoutSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1468 := z.EncBinary()
					_ = yym1468
					if false {
					} else {
						r.EncodeInt(int64(x.TimeoutSeconds))
					}
				}
			}
			if yyr1459 || yy2arr1459 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1459[5] {
					yym1470 := z.EncBinary()
					_ = yym1470
					if false {
					} else {
						r.EncodeInt(int64(x.PeriodSeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1459[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("periodSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1471 := z.EncBinary()
					_ = yym1471
					if false {
					} else {
						r.EncodeInt(int64(x.PeriodSeconds))
					}
				}
			}
			if yyr1459 || yy2arr1459 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1459[6] {
					yym1473 := z.EncBinary()
					_ = yym1473
					if false {
					} else {
						r.EncodeInt(int64(x.SuccessThreshold))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1459[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("successThreshold"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1474 := z.EncBinary()
					_ = yym1474
					if false {
					} else {
						r.EncodeInt(int64(x.SuccessThreshold))
					}
				}
			}
			if yyr1459 || yy2arr1459 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1459[7] {
					yym1476 := z.EncBinary()
					_ = yym1476
					if false {
					} else {
						r.EncodeInt(int64(x.FailureThreshold))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1459[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("failureThreshold"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1477 := z.EncBinary()
					_ = yym1477
					if false {
					} else {
						r.EncodeInt(int64(x.FailureThreshold))
					}
				}
			}
			if yyr1459 || yy2arr1459 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Probe) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1478 := z.DecBinary()
	_ = yym1478
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1479 := r.ContainerType()
		if yyct1479 == codecSelferValueTypeMap1234 {
			yyl1479 := r.ReadMapStart()
			if yyl1479 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1479, d)
			}
		} else if yyct1479 == codecSelferValueTypeArray1234 {
			yyl1479 := r.ReadArrayStart()
			if yyl1479 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1479, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Probe) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1480Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1480Slc
	var yyhl1480 bool = l >= 0
	for yyj1480 := 0; ; yyj1480++ {
		if yyhl1480 {
			if yyj1480 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1480Slc = r.DecodeBytes(yys1480Slc, true, true)
		yys1480 := string(yys1480Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1480 {
		case "exec":
			if x.Handler.Exec == nil {
				x.Handler.Exec = new(ExecAction)
			}
			if r.TryDecodeAsNil() {
				if x.Exec != nil {
					x.Exec = nil
				}
			} else {
				if x.Exec == nil {
					x.Exec = new(ExecAction)
				}
				x.Exec.CodecDecodeSelf(d)
			}
		case "httpGet":
			if x.Handler.HTTPGet == nil {
				x.Handler.HTTPGet = new(HTTPGetAction)
			}
			if r.TryDecodeAsNil() {
				if x.HTTPGet != nil {
					x.HTTPGet = nil
				}
			} else {
				if x.HTTPGet == nil {
					x.HTTPGet = new(HTTPGetAction)
				}
				x.HTTPGet.CodecDecodeSelf(d)
			}
		case "tcpSocket":
			if x.Handler.TCPSocket == nil {
				x.Handler.TCPSocket = new(TCPSocketAction)
			}
			if r.TryDecodeAsNil() {
				if x.TCPSocket != nil {
					x.TCPSocket = nil
				}
			} else {
				if x.TCPSocket == nil {
					x.TCPSocket = new(TCPSocketAction)
				}
				x.TCPSocket.CodecDecodeSelf(d)
			}
		case "initialDelaySeconds":
			if r.TryDecodeAsNil() {
				x.InitialDelaySeconds = 0
			} else {
				x.InitialDelaySeconds = int32(r.DecodeInt(32))
			}
		case "timeoutSeconds":
			if r.TryDecodeAsNil() {
				x.TimeoutSeconds = 0
			} else {
				x.TimeoutSeconds = int32(r.DecodeInt(32))
			}
		case "periodSeconds":
			if r.TryDecodeAsNil() {
				x.PeriodSeconds = 0
			} else {
				x.PeriodSeconds = int32(r.DecodeInt(32))
			}
		case "successThreshold":
			if r.TryDecodeAsNil() {
				x.SuccessThreshold = 0
			} else {
				x.SuccessThreshold = int32(r.DecodeInt(32))
			}
		case "failureThreshold":
			if r.TryDecodeAsNil() {
				x.FailureThreshold = 0
			} else {
				x.FailureThreshold = int32(r.DecodeInt(32))
			}
		default:
			z.DecStructFieldNotFound(-1, yys1480)
		} // end switch yys1480
	} // end for yyj1480
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Probe) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1489 int
	var yyb1489 bool
	var yyhl1489 bool = l >= 0
	if x.Handler.Exec == nil {
		x.Handler.Exec = new(ExecAction)
	}
	yyj1489++
	if yyhl1489 {
		yyb1489 = yyj1489 > l
	} else {
		yyb1489 = r.CheckBreak()
	}
	if yyb1489 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Exec != nil {
			x.Exec = nil
		}
	} else {
		if x.Exec == nil {
			x.Exec = new(ExecAction)
		}
		x.Exec.CodecDecodeSelf(d)
	}
	if x.Handler.HTTPGet == nil {
		x.Handler.HTTPGet = new(HTTPGetAction)
	}
	yyj1489++
	if yyhl1489 {
		yyb1489 = yyj1489 > l
	} else {
		yyb1489 = r.CheckBreak()
	}
	if yyb1489 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.HTTPGet != nil {
			x.HTTPGet = nil
		}
	} else {
		if x.HTTPGet == nil {
			x.HTTPGet = new(HTTPGetAction)
		}
		x.HTTPGet.CodecDecodeSelf(d)
	}
	if x.Handler.TCPSocket == nil {
		x.Handler.TCPSocket = new(TCPSocketAction)
	}
	yyj1489++
	if yyhl1489 {
		yyb1489 = yyj1489 > l
	} else {
		yyb1489 = r.CheckBreak()
	}
	if yyb1489 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.TCPSocket != nil {
			x.TCPSocket = nil
		}
	} else {
		if x.TCPSocket == nil {
			x.TCPSocket = new(TCPSocketAction)
		}
		x.TCPSocket.CodecDecodeSelf(d)
	}
	yyj1489++
	if yyhl1489 {
		yyb1489 = yyj1489 > l
	} else {
		yyb1489 = r.CheckBreak()
	}
	if yyb1489 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.InitialDelaySeconds = 0
	} else {
		x.InitialDelaySeconds = int32(r.DecodeInt(32))
	}
	yyj1489++
	if yyhl1489 {
		yyb1489 = yyj1489 > l
	} else {
		yyb1489 = r.CheckBreak()
	}
	if yyb1489 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TimeoutSeconds = 0
	} else {
		x.TimeoutSeconds = int32(r.DecodeInt(32))
	}
	yyj1489++
	if yyhl1489 {
		yyb1489 = yyj1489 > l
	} else {
		yyb1489 = r.CheckBreak()
	}
	if yyb1489 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PeriodSeconds = 0
	} else {
		x.PeriodSeconds = int32(r.DecodeInt(32))
	}
	yyj1489++
	if yyhl1489 {
		yyb1489 = yyj1489 > l
	} else {
		yyb1489 = r.CheckBreak()
	}
	if yyb1489 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SuccessThreshold = 0
	} else {
		x.SuccessThreshold = int32(r.DecodeInt(32))
	}
	yyj1489++
	if yyhl1489 {
		yyb1489 = yyj1489 > l
	} else {
		yyb1489 = r.CheckBreak()
	}
	if yyb1489 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FailureThreshold = 0
	} else {
		x.FailureThreshold = int32(r.DecodeInt(32))
	}
	for {
		yyj1489++
		if yyhl1489 {
			yyb1489 = yyj1489 > l
		} else {
			yyb1489 = r.CheckBreak()
		}
		if yyb1489 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1489-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PullPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1498 := z.EncBinary()
	_ = yym1498
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PullPolicy) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1499 := z.DecBinary()
	_ = yym1499
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x Capability) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1500 := z.EncBinary()
	_ = yym1500
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *Capability) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1501 := z.DecBinary()
	_ = yym1501
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *Capabilities) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1502 := z.EncBinary()
		_ = yym1502
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1503 := !z.EncBinary()
			yy2arr1503 := z.EncBasicHandle().StructToArray
			var yyq1503 [2]bool
			_, _, _ = yysep1503, yyq1503, yy2arr1503
			const yyr1503 bool = false
			yyq1503[0] = len(x.Add) != 0
			yyq1503[1] = len(x.Drop) != 0
			var yynn1503 int
			if yyr1503 || yy2arr1503 {
				r.EncodeArrayStart(2)
			} else {
				yynn1503 = 0
				for _, b := range yyq1503 {
					if b {
						yynn1503++
					}
				}
				r.EncodeMapStart(yynn1503)
				yynn1503 = 0
			}
			if yyr1503 || yy2arr1503 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1503[0] {
					if x.Add == nil {
						r.EncodeNil()
					} else {
						yym1505 := z.EncBinary()
						_ = yym1505
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Add), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1503[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("add"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Add == nil {
						r.EncodeNil()
					} else {
						yym1506 := z.EncBinary()
						_ = yym1506
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Add), e)
						}
					}
				}
			}
			if yyr1503 || yy2arr1503 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1503[1] {
					if x.Drop == nil {
						r.EncodeNil()
					} else {
						yym1508 := z.EncBinary()
						_ = yym1508
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Drop), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1503[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("drop"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Drop == nil {
						r.EncodeNil()
					} else {
						yym1509 := z.EncBinary()
						_ = yym1509
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Drop), e)
						}
					}
				}
			}
			if yyr1503 || yy2arr1503 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Capabilities) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1510 := z.DecBinary()
	_ = yym1510
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1511 := r.ContainerType()
		if yyct1511 == codecSelferValueTypeMap1234 {
			yyl1511 := r.ReadMapStart()
			if yyl1511 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1511, d)
			}
		} else if yyct1511 == codecSelferValueTypeArray1234 {
			yyl1511 := r.ReadArrayStart()
			if yyl1511 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1511, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Capabilities) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1512Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1512Slc
	var yyhl1512 bool = l >= 0
	for yyj1512 := 0; ; yyj1512++ {
		if yyhl1512 {
			if yyj1512 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1512Slc = r.DecodeBytes(yys1512Slc, true, true)
		yys1512 := string(yys1512Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1512 {
		case "add":
			if r.TryDecodeAsNil() {
				x.Add = nil
			} else {
				yyv1513 := &x.Add
				yym1514 := z.DecBinary()
				_ = yym1514
				if false {
				} else {
					h.decSliceCapability((*[]Capability)(yyv1513), d)
				}
			}
		case "drop":
			if r.TryDecodeAsNil() {
				x.Drop = nil
			} else {
				yyv1515 := &x.Drop
				yym1516 := z.DecBinary()
				_ = yym1516
				if false {
				} else {
					h.decSliceCapability((*[]Capability)(yyv1515), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1512)
		} // end switch yys1512
	} // end for yyj1512
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Capabilities) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1517 int
	var yyb1517 bool
	var yyhl1517 bool = l >= 0
	yyj1517++
	if yyhl1517 {
		yyb1517 = yyj1517 > l
	} else {
		yyb1517 = r.CheckBreak()
	}
	if yyb1517 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Add = nil
	} else {
		yyv1518 := &x.Add
		yym1519 := z.DecBinary()
		_ = yym1519
		if false {
		} else {
			h.decSliceCapability((*[]Capability)(yyv1518), d)
		}
	}
	yyj1517++
	if yyhl1517 {
		yyb1517 = yyj1517 > l
	} else {
		yyb1517 = r.CheckBreak()
	}
	if yyb1517 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Drop = nil
	} else {
		yyv1520 := &x.Drop
		yym1521 := z.DecBinary()
		_ = yym1521
		if false {
		} else {
			h.decSliceCapability((*[]Capability)(yyv1520), d)
		}
	}
	for {
		yyj1517++
		if yyhl1517 {
			yyb1517 = yyj1517 > l
		} else {
			yyb1517 = r.CheckBreak()
		}
		if yyb1517 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1517-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ResourceRequirements) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1522 := z.EncBinary()
		_ = yym1522
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1523 := !z.EncBinary()
			yy2arr1523 := z.EncBasicHandle().StructToArray
			var yyq1523 [2]bool
			_, _, _ = yysep1523, yyq1523, yy2arr1523
			const yyr1523 bool = false
			yyq1523[0] = len(x.Limits) != 0
			yyq1523[1] = len(x.Requests) != 0
			var yynn1523 int
			if yyr1523 || yy2arr1523 {
				r.EncodeArrayStart(2)
			} else {
				yynn1523 = 0
				for _, b := range yyq1523 {
					if b {
						yynn1523++
					}
				}
				r.EncodeMapStart(yynn1523)
				yynn1523 = 0
			}
			if yyr1523 || yy2arr1523 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1523[0] {
					if x.Limits == nil {
						r.EncodeNil()
					} else {
						x.Limits.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1523[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("limits"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Limits == nil {
						r.EncodeNil()
					} else {
						x.Limits.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1523 || yy2arr1523 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1523[1] {
					if x.Requests == nil {
						r.EncodeNil()
					} else {
						x.Requests.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1523[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("requests"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Requests == nil {
						r.EncodeNil()
					} else {
						x.Requests.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1523 || yy2arr1523 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ResourceRequirements) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1526 := z.DecBinary()
	_ = yym1526
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1527 := r.ContainerType()
		if yyct1527 == codecSelferValueTypeMap1234 {
			yyl1527 := r.ReadMapStart()
			if yyl1527 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1527, d)
			}
		} else if yyct1527 == codecSelferValueTypeArray1234 {
			yyl1527 := r.ReadArrayStart()
			if yyl1527 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1527, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceRequirements) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1528Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1528Slc
	var yyhl1528 bool = l >= 0
	for yyj1528 := 0; ; yyj1528++ {
		if yyhl1528 {
			if yyj1528 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1528Slc = r.DecodeBytes(yys1528Slc, true, true)
		yys1528 := string(yys1528Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1528 {
		case "limits":
			if r.TryDecodeAsNil() {
				x.Limits = nil
			} else {
				yyv1529 := &x.Limits
				yyv1529.CodecDecodeSelf(d)
			}
		case "requests":
			if r.TryDecodeAsNil() {
				x.Requests = nil
			} else {
				yyv1530 := &x.Requests
				yyv1530.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1528)
		} // end switch yys1528
	} // end for yyj1528
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ResourceRequirements) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1531 int
	var yyb1531 bool
	var yyhl1531 bool = l >= 0
	yyj1531++
	if yyhl1531 {
		yyb1531 = yyj1531 > l
	} else {
		yyb1531 = r.CheckBreak()
	}
	if yyb1531 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Limits = nil
	} else {
		yyv1532 := &x.Limits
		yyv1532.CodecDecodeSelf(d)
	}
	yyj1531++
	if yyhl1531 {
		yyb1531 = yyj1531 > l
	} else {
		yyb1531 = r.CheckBreak()
	}
	if yyb1531 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Requests = nil
	} else {
		yyv1533 := &x.Requests
		yyv1533.CodecDecodeSelf(d)
	}
	for {
		yyj1531++
		if yyhl1531 {
			yyb1531 = yyj1531 > l
		} else {
			yyb1531 = r.CheckBreak()
		}
		if yyb1531 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1531-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Container) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1534 := z.EncBinary()
		_ = yym1534
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1535 := !z.EncBinary()
			yy2arr1535 := z.EncBasicHandle().StructToArray
			var yyq1535 [18]bool
			_, _, _ = yysep1535, yyq1535, yy2arr1535
			const yyr1535 bool = false
			yyq1535[2] = len(x.Command) != 0
			yyq1535[3] = len(x.Args) != 0
			yyq1535[4] = x.WorkingDir != ""
			yyq1535[5] = len(x.Ports) != 0
			yyq1535[6] = len(x.Env) != 0
			yyq1535[7] = true
			yyq1535[8] = len(x.VolumeMounts) != 0
			yyq1535[9] = x.LivenessProbe != nil
			yyq1535[10] = x.ReadinessProbe != nil
			yyq1535[11] = x.Lifecycle != nil
			yyq1535[12] = x.TerminationMessagePath != ""
			yyq1535[14] = x.SecurityContext != nil
			yyq1535[15] = x.Stdin != false
			yyq1535[16] = x.StdinOnce != false
			yyq1535[17] = x.TTY != false
			var yynn1535 int
			if yyr1535 || yy2arr1535 {
				r.EncodeArrayStart(18)
			} else {
				yynn1535 = 3
				for _, b := range yyq1535 {
					if b {
						yynn1535++
					}
				}
				r.EncodeMapStart(yynn1535)
				yynn1535 = 0
			}
			if yyr1535 || yy2arr1535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1537 := z.EncBinary()
				_ = yym1537
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1538 := z.EncBinary()
				_ = yym1538
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1535 || yy2arr1535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1540 := z.EncBinary()
				_ = yym1540
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Image))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("image"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1541 := z.EncBinary()
				_ = yym1541
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Image))
				}
			}
			if yyr1535 || yy2arr1535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1535[2] {
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1543 := z.EncBinary()
						_ = yym1543
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1535[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("command"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1544 := z.EncBinary()
						_ = yym1544
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				}
			}
			if yyr1535 || yy2arr1535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1535[3] {
					if x.Args == nil {
						r.EncodeNil()
					} else {
						yym1546 := z.EncBinary()
						_ = yym1546
						if false {
						} else {
							z.F.EncSliceStringV(x.Args, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1535[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("args"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Args == nil {
						r.EncodeNil()
					} else {
						yym1547 := z.EncBinary()
						_ = yym1547
						if false {
						} else {
							z.F.EncSliceStringV(x.Args, false, e)
						}
					}
				}
			}
			if yyr1535 || yy2arr1535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1535[4] {
					yym1549 := z.EncBinary()
					_ = yym1549
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.WorkingDir))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1535[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("workingDir"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1550 := z.EncBinary()
					_ = yym1550
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.WorkingDir))
					}
				}
			}
			if yyr1535 || yy2arr1535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1535[5] {
					if x.Ports == nil {
						r.EncodeNil()
					} else {
						yym1552 := z.EncBinary()
						_ = yym1552
						if false {
						} else {
							h.encSliceContainerPort(([]ContainerPort)(x.Ports), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1535[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("ports"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Ports == nil {
						r.EncodeNil()
					} else {
						yym1553 := z.EncBinary()
						_ = yym1553
						if false {
						} else {
							h.encSliceContainerPort(([]ContainerPort)(x.Ports), e)
						}
					}
				}
			}
			if yyr1535 || yy2arr1535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1535[6] {
					if x.Env == nil {
						r.EncodeNil()
					} else {
						yym1555 := z.EncBinary()
						_ = yym1555
						if false {
						} else {
							h.encSliceEnvVar(([]EnvVar)(x.Env), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1535[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("env"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Env == nil {
						r.EncodeNil()
					} else {
						yym1556 := z.EncBinary()
						_ = yym1556
						if false {
						} else {
							h.encSliceEnvVar(([]EnvVar)(x.Env), e)
						}
					}
				}
			}
			if yyr1535 || yy2arr1535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1535[7] {
					yy1558 := &x.Resources
					yy1558.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1535[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resources"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1559 := &x.Resources
					yy1559.CodecEncodeSelf(e)
				}
			}
			if yyr1535 || yy2arr1535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1535[8] {
					if x.VolumeMounts == nil {
						r.EncodeNil()
					} else {
						yym1561 := z.EncBinary()
						_ = yym1561
						if false {
						} else {
							h.encSliceVolumeMount(([]VolumeMount)(x.VolumeMounts), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1535[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("volumeMounts"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.VolumeMounts == nil {
						r.EncodeNil()
					} else {
						yym1562 := z.EncBinary()
						_ = yym1562
						if false {
						} else {
							h.encSliceVolumeMount(([]VolumeMount)(x.VolumeMounts), e)
						}
					}
				}
			}
			if yyr1535 || yy2arr1535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1535[9] {
					if x.LivenessProbe == nil {
						r.EncodeNil()
					} else {
						x.LivenessProbe.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1535[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("livenessProbe"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.LivenessProbe == nil {
						r.EncodeNil()
					} else {
						x.LivenessProbe.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1535 || yy2arr1535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1535[10] {
					if x.ReadinessProbe == nil {
						r.EncodeNil()
					} else {
						x.ReadinessProbe.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1535[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readinessProbe"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ReadinessProbe == nil {
						r.EncodeNil()
					} else {
						x.ReadinessProbe.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1535 || yy2arr1535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1535[11] {
					if x.Lifecycle == nil {
						r.EncodeNil()
					} else {
						x.Lifecycle.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1535[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lifecycle"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Lifecycle == nil {
						r.EncodeNil()
					} else {
						x.Lifecycle.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1535 || yy2arr1535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1535[12] {
					yym1567 := z.EncBinary()
					_ = yym1567
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TerminationMessagePath))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1535[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("terminationMessagePath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1568 := z.EncBinary()
					_ = yym1568
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TerminationMessagePath))
					}
				}
			}
			if yyr1535 || yy2arr1535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.ImagePullPolicy.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("imagePullPolicy"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.ImagePullPolicy.CodecEncodeSelf(e)
			}
			if yyr1535 || yy2arr1535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1535[14] {
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1535[14] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("securityContext"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1535 || yy2arr1535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1535[15] {
					yym1572 := z.EncBinary()
					_ = yym1572
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1535[15] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdin"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1573 := z.EncBinary()
					_ = yym1573
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				}
			}
			if yyr1535 || yy2arr1535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1535[16] {
					yym1575 := z.EncBinary()
					_ = yym1575
					if false {
					} else {
						r.EncodeBool(bool(x.StdinOnce))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1535[16] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdinOnce"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1576 := z.EncBinary()
					_ = yym1576
					if false {
					} else {
						r.EncodeBool(bool(x.StdinOnce))
					}
				}
			}
			if yyr1535 || yy2arr1535 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1535[17] {
					yym1578 := z.EncBinary()
					_ = yym1578
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1535[17] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("tty"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1579 := z.EncBinary()
					_ = yym1579
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				}
			}
			if yyr1535 || yy2arr1535 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Container) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1580 := z.DecBinary()
	_ = yym1580
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1581 := r.ContainerType()
		if yyct1581 == codecSelferValueTypeMap1234 {
			yyl1581 := r.ReadMapStart()
			if yyl1581 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1581, d)
			}
		} else if yyct1581 == codecSelferValueTypeArray1234 {
			yyl1581 := r.ReadArrayStart()
			if yyl1581 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1581, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Container) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1582Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1582Slc
	var yyhl1582 bool = l >= 0
	for yyj1582 := 0; ; yyj1582++ {
		if yyhl1582 {
			if yyj1582 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1582Slc = r.DecodeBytes(yys1582Slc, true, true)
		yys1582 := string(yys1582Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1582 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "image":
			if r.TryDecodeAsNil() {
				x.Image = ""
			} else {
				x.Image = string(r.DecodeString())
			}
		case "command":
			if r.TryDecodeAsNil() {
				x.Command = nil
			} else {
				yyv1585 := &x.Command
				yym1586 := z.DecBinary()
				_ = yym1586
				if false {
				} else {
					z.F.DecSliceStringX(yyv1585, false, d)
				}
			}
		case "args":
			if r.TryDecodeAsNil() {
				x.Args = nil
			} else {
				yyv1587 := &x.Args
				yym1588 := z.DecBinary()
				_ = yym1588
				if false {
				} else {
					z.F.DecSliceStringX(yyv1587, false, d)
				}
			}
		case "workingDir":
			if r.TryDecodeAsNil() {
				x.WorkingDir = ""
			} else {
				x.WorkingDir = string(r.DecodeString())
			}
		case "ports":
			if r.TryDecodeAsNil() {
				x.Ports = nil
			} else {
				yyv1590 := &x.Ports
				yym1591 := z.DecBinary()
				_ = yym1591
				if false {
				} else {
					h.decSliceContainerPort((*[]ContainerPort)(yyv1590), d)
				}
			}
		case "env":
			if r.TryDecodeAsNil() {
				x.Env = nil
			} else {
				yyv1592 := &x.Env
				yym1593 := z.DecBinary()
				_ = yym1593
				if false {
				} else {
					h.decSliceEnvVar((*[]EnvVar)(yyv1592), d)
				}
			}
		case "resources":
			if r.TryDecodeAsNil() {
				x.Resources = ResourceRequirements{}
			} else {
				yyv1594 := &x.Resources
				yyv1594.CodecDecodeSelf(d)
			}
		case "volumeMounts":
			if r.TryDecodeAsNil() {
				x.VolumeMounts = nil
			} else {
				yyv1595 := &x.VolumeMounts
				yym1596 := z.DecBinary()
				_ = yym1596
				if false {
				} else {
					h.decSliceVolumeMount((*[]VolumeMount)(yyv1595), d)
				}
			}
		case "livenessProbe":
			if r.TryDecodeAsNil() {
				if x.LivenessProbe != nil {
					x.LivenessProbe = nil
				}
			} else {
				if x.LivenessProbe == nil {
					x.LivenessProbe = new(Probe)
				}
				x.LivenessProbe.CodecDecodeSelf(d)
			}
		case "readinessProbe":
			if r.TryDecodeAsNil() {
				if x.ReadinessProbe != nil {
					x.ReadinessProbe = nil
				}
			} else {
				if x.ReadinessProbe == nil {
					x.ReadinessProbe = new(Probe)
				}
				x.ReadinessProbe.CodecDecodeSelf(d)
			}
		case "lifecycle":
			if r.TryDecodeAsNil() {
				if x.Lifecycle != nil {
					x.Lifecycle = nil
				}
			} else {
				if x.Lifecycle == nil {
					x.Lifecycle = new(Lifecycle)
				}
				x.Lifecycle.CodecDecodeSelf(d)
			}
		case "terminationMessagePath":
			if r.TryDecodeAsNil() {
				x.TerminationMessagePath = ""
			} else {
				x.TerminationMessagePath = string(r.DecodeString())
			}
		case "imagePullPolicy":
			if r.TryDecodeAsNil() {
				x.ImagePullPolicy = ""
			} else {
				x.ImagePullPolicy = PullPolicy(r.DecodeString())
			}
		case "securityContext":
			if r.TryDecodeAsNil() {
				if x.SecurityContext != nil {
					x.SecurityContext = nil
				}
			} else {
				if x.SecurityContext == nil {
					x.SecurityContext = new(SecurityContext)
				}
				x.SecurityContext.CodecDecodeSelf(d)
			}
		case "stdin":
			if r.TryDecodeAsNil() {
				x.Stdin = false
			} else {
				x.Stdin = bool(r.DecodeBool())
			}
		case "stdinOnce":
			if r.TryDecodeAsNil() {
				x.StdinOnce = false
			} else {
				x.StdinOnce = bool(r.DecodeBool())
			}
		case "tty":
			if r.TryDecodeAsNil() {
				x.TTY = false
			} else {
				x.TTY = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1582)
		} // end switch yys1582
	} // end for yyj1582
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Container) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1606 int
	var yyb1606 bool
	var yyhl1606 bool = l >= 0
	yyj1606++
	if yyhl1606 {
		yyb1606 = yyj1606 > l
	} else {
		yyb1606 = r.CheckBreak()
	}
	if yyb1606 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1606++
	if yyhl1606 {
		yyb1606 = yyj1606 > l
	} else {
		yyb1606 = r.CheckBreak()
	}
	if yyb1606 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Image = ""
	} else {
		x.Image = string(r.DecodeString())
	}
	yyj1606++
	if yyhl1606 {
		yyb1606 = yyj1606 > l
	} else {
		yyb1606 = r.CheckBreak()
	}
	if yyb1606 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Command = nil
	} else {
		yyv1609 := &x.Command
		yym1610 := z.DecBinary()
		_ = yym1610
		if false {
		} else {
			z.F.DecSliceStringX(yyv1609, false, d)
		}
	}
	yyj1606++
	if yyhl1606 {
		yyb1606 = yyj1606 > l
	} else {
		yyb1606 = r.CheckBreak()
	}
	if yyb1606 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Args = nil
	} else {
		yyv1611 := &x.Args
		yym1612 := z.DecBinary()
		_ = yym1612
		if false {
		} else {
			z.F.DecSliceStringX(yyv1611, false, d)
		}
	}
	yyj1606++
	if yyhl1606 {
		yyb1606 = yyj1606 > l
	} else {
		yyb1606 = r.CheckBreak()
	}
	if yyb1606 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.WorkingDir = ""
	} else {
		x.WorkingDir = string(r.DecodeString())
	}
	yyj1606++
	if yyhl1606 {
		yyb1606 = yyj1606 > l
	} else {
		yyb1606 = r.CheckBreak()
	}
	if yyb1606 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ports = nil
	} else {
		yyv1614 := &x.Ports
		yym1615 := z.DecBinary()
		_ = yym1615
		if false {
		} else {
			h.decSliceContainerPort((*[]ContainerPort)(yyv1614), d)
		}
	}
	yyj1606++
	if yyhl1606 {
		yyb1606 = yyj1606 > l
	} else {
		yyb1606 = r.CheckBreak()
	}
	if yyb1606 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Env = nil
	} else {
		yyv1616 := &x.Env
		yym1617 := z.DecBinary()
		_ = yym1617
		if false {
		} else {
			h.decSliceEnvVar((*[]EnvVar)(yyv1616), d)
		}
	}
	yyj1606++
	if yyhl1606 {
		yyb1606 = yyj1606 > l
	} else {
		yyb1606 = r.CheckBreak()
	}
	if yyb1606 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Resources = ResourceRequirements{}
	} else {
		yyv1618 := &x.Resources
		yyv1618.CodecDecodeSelf(d)
	}
	yyj1606++
	if yyhl1606 {
		yyb1606 = yyj1606 > l
	} else {
		yyb1606 = r.CheckBreak()
	}
	if yyb1606 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumeMounts = nil
	} else {
		yyv1619 := &x.VolumeMounts
		yym1620 := z.DecBinary()
		_ = yym1620
		if false {
		} else {
			h.decSliceVolumeMount((*[]VolumeMount)(yyv1619), d)
		}
	}
	yyj1606++
	if yyhl1606 {
		yyb1606 = yyj1606 > l
	} else {
		yyb1606 = r.CheckBreak()
	}
	if yyb1606 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.LivenessProbe != nil {
			x.LivenessProbe = nil
		}
	} else {
		if x.LivenessProbe == nil {
			x.LivenessProbe = new(Probe)
		}
		x.LivenessProbe.CodecDecodeSelf(d)
	}
	yyj1606++
	if yyhl1606 {
		yyb1606 = yyj1606 > l
	} else {
		yyb1606 = r.CheckBreak()
	}
	if yyb1606 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ReadinessProbe != nil {
			x.ReadinessProbe = nil
		}
	} else {
		if x.ReadinessProbe == nil {
			x.ReadinessProbe = new(Probe)
		}
		x.ReadinessProbe.CodecDecodeSelf(d)
	}
	yyj1606++
	if yyhl1606 {
		yyb1606 = yyj1606 > l
	} else {
		yyb1606 = r.CheckBreak()
	}
	if yyb1606 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Lifecycle != nil {
			x.Lifecycle = nil
		}
	} else {
		if x.Lifecycle == nil {
			x.Lifecycle = new(Lifecycle)
		}
		x.Lifecycle.CodecDecodeSelf(d)
	}
	yyj1606++
	if yyhl1606 {
		yyb1606 = yyj1606 > l
	} else {
		yyb1606 = r.CheckBreak()
	}
	if yyb1606 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TerminationMessagePath = ""
	} else {
		x.TerminationMessagePath = string(r.DecodeString())
	}
	yyj1606++
	if yyhl1606 {
		yyb1606 = yyj1606 > l
	} else {
		yyb1606 = r.CheckBreak()
	}
	if yyb1606 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ImagePullPolicy = ""
	} else {
		x.ImagePullPolicy = PullPolicy(r.DecodeString())
	}
	yyj1606++
	if yyhl1606 {
		yyb1606 = yyj1606 > l
	} else {
		yyb1606 = r.CheckBreak()
	}
	if yyb1606 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SecurityContext != nil {
			x.SecurityContext = nil
		}
	} else {
		if x.SecurityContext == nil {
			x.SecurityContext = new(SecurityContext)
		}
		x.SecurityContext.CodecDecodeSelf(d)
	}
	yyj1606++
	if yyhl1606 {
		yyb1606 = yyj1606 > l
	} else {
		yyb1606 = r.CheckBreak()
	}
	if yyb1606 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdin = false
	} else {
		x.Stdin = bool(r.DecodeBool())
	}
	yyj1606++
	if yyhl1606 {
		yyb1606 = yyj1606 > l
	} else {
		yyb1606 = r.CheckBreak()
	}
	if yyb1606 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.StdinOnce = false
	} else {
		x.StdinOnce = bool(r.DecodeBool())
	}
	yyj1606++
	if yyhl1606 {
		yyb1606 = yyj1606 > l
	} else {
		yyb1606 = r.CheckBreak()
	}
	if yyb1606 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TTY = false
	} else {
		x.TTY = bool(r.DecodeBool())
	}
	for {
		yyj1606++
		if yyhl1606 {
			yyb1606 = yyj1606 > l
		} else {
			yyb1606 = r.CheckBreak()
		}
		if yyb1606 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1606-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Handler) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1630 := z.EncBinary()
		_ = yym1630
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1631 := !z.EncBinary()
			yy2arr1631 := z.EncBasicHandle().StructToArray
			var yyq1631 [3]bool
			_, _, _ = yysep1631, yyq1631, yy2arr1631
			const yyr1631 bool = false
			yyq1631[0] = x.Exec != nil
			yyq1631[1] = x.HTTPGet != nil
			yyq1631[2] = x.TCPSocket != nil
			var yynn1631 int
			if yyr1631 || yy2arr1631 {
				r.EncodeArrayStart(3)
			} else {
				yynn1631 = 0
				for _, b := range yyq1631 {
					if b {
						yynn1631++
					}
				}
				r.EncodeMapStart(yynn1631)
				yynn1631 = 0
			}
			if yyr1631 || yy2arr1631 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1631[0] {
					if x.Exec == nil {
						r.EncodeNil()
					} else {
						x.Exec.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1631[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("exec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Exec == nil {
						r.EncodeNil()
					} else {
						x.Exec.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1631 || yy2arr1631 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1631[1] {
					if x.HTTPGet == nil {
						r.EncodeNil()
					} else {
						x.HTTPGet.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1631[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("httpGet"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.HTTPGet == nil {
						r.EncodeNil()
					} else {
						x.HTTPGet.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1631 || yy2arr1631 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1631[2] {
					if x.TCPSocket == nil {
						r.EncodeNil()
					} else {
						x.TCPSocket.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1631[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("tcpSocket"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.TCPSocket == nil {
						r.EncodeNil()
					} else {
						x.TCPSocket.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1631 || yy2arr1631 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Handler) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1635 := z.DecBinary()
	_ = yym1635
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1636 := r.ContainerType()
		if yyct1636 == codecSelferValueTypeMap1234 {
			yyl1636 := r.ReadMapStart()
			if yyl1636 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1636, d)
			}
		} else if yyct1636 == codecSelferValueTypeArray1234 {
			yyl1636 := r.ReadArrayStart()
			if yyl1636 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1636, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Handler) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1637Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1637Slc
	var yyhl1637 bool = l >= 0
	for yyj1637 := 0; ; yyj1637++ {
		if yyhl1637 {
			if yyj1637 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1637Slc = r.DecodeBytes(yys1637Slc, true, true)
		yys1637 := string(yys1637Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1637 {
		case "exec":
			if r.TryDecodeAsNil() {
				if x.Exec != nil {
					x.Exec = nil
				}
			} else {
				if x.Exec == nil {
					x.Exec = new(ExecAction)
				}
				x.Exec.CodecDecodeSelf(d)
			}
		case "httpGet":
			if r.TryDecodeAsNil() {
				if x.HTTPGet != nil {
					x.HTTPGet = nil
				}
			} else {
				if x.HTTPGet == nil {
					x.HTTPGet = new(HTTPGetAction)
				}
				x.HTTPGet.CodecDecodeSelf(d)
			}
		case "tcpSocket":
			if r.TryDecodeAsNil() {
				if x.TCPSocket != nil {
					x.TCPSocket = nil
				}
			} else {
				if x.TCPSocket == nil {
					x.TCPSocket = new(TCPSocketAction)
				}
				x.TCPSocket.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1637)
		} // end switch yys1637
	} // end for yyj1637
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Handler) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1641 int
	var yyb1641 bool
	var yyhl1641 bool = l >= 0
	yyj1641++
	if yyhl1641 {
		yyb1641 = yyj1641 > l
	} else {
		yyb1641 = r.CheckBreak()
	}
	if yyb1641 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Exec != nil {
			x.Exec = nil
		}
	} else {
		if x.Exec == nil {
			x.Exec = new(ExecAction)
		}
		x.Exec.CodecDecodeSelf(d)
	}
	yyj1641++
	if yyhl1641 {
		yyb1641 = yyj1641 > l
	} else {
		yyb1641 = r.CheckBreak()
	}
	if yyb1641 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.HTTPGet != nil {
			x.HTTPGet = nil
		}
	} else {
		if x.HTTPGet == nil {
			x.HTTPGet = new(HTTPGetAction)
		}
		x.HTTPGet.CodecDecodeSelf(d)
	}
	yyj1641++
	if yyhl1641 {
		yyb1641 = yyj1641 > l
	} else {
		yyb1641 = r.CheckBreak()
	}
	if yyb1641 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.TCPSocket != nil {
			x.TCPSocket = nil
		}
	} else {
		if x.TCPSocket == nil {
			x.TCPSocket = new(TCPSocketAction)
		}
		x.TCPSocket.CodecDecodeSelf(d)
	}
	for {
		yyj1641++
		if yyhl1641 {
			yyb1641 = yyj1641 > l
		} else {
			yyb1641 = r.CheckBreak()
		}
		if yyb1641 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1641-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Lifecycle) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1645 := z.EncBinary()
		_ = yym1645
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1646 := !z.EncBinary()
			yy2arr1646 := z.EncBasicHandle().StructToArray
			var yyq1646 [2]bool
			_, _, _ = yysep1646, yyq1646, yy2arr1646
			const yyr1646 bool = false
			yyq1646[0] = x.PostStart != nil
			yyq1646[1] = x.PreStop != nil
			var yynn1646 int
			if yyr1646 || yy2arr1646 {
				r.EncodeArrayStart(2)
			} else {
				yynn1646 = 0
				for _, b := range yyq1646 {
					if b {
						yynn1646++
					}
				}
				r.EncodeMapStart(yynn1646)
				yynn1646 = 0
			}
			if yyr1646 || yy2arr1646 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1646[0] {
					if x.PostStart == nil {
						r.EncodeNil()
					} else {
						x.PostStart.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1646[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("postStart"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PostStart == nil {
						r.EncodeNil()
					} else {
						x.PostStart.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1646 || yy2arr1646 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1646[1] {
					if x.PreStop == nil {
						r.EncodeNil()
					} else {
						x.PreStop.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1646[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("preStop"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PreStop == nil {
						r.EncodeNil()
					} else {
						x.PreStop.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1646 || yy2arr1646 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Lifecycle) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1649 := z.DecBinary()
	_ = yym1649
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1650 := r.ContainerType()
		if yyct1650 == codecSelferValueTypeMap1234 {
			yyl1650 := r.ReadMapStart()
			if yyl1650 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1650, d)
			}
		} else if yyct1650 == codecSelferValueTypeArray1234 {
			yyl1650 := r.ReadArrayStart()
			if yyl1650 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1650, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Lifecycle) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1651Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1651Slc
	var yyhl1651 bool = l >= 0
	for yyj1651 := 0; ; yyj1651++ {
		if yyhl1651 {
			if yyj1651 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1651Slc = r.DecodeBytes(yys1651Slc, true, true)
		yys1651 := string(yys1651Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1651 {
		case "postStart":
			if r.TryDecodeAsNil() {
				if x.PostStart != nil {
					x.PostStart = nil
				}
			} else {
				if x.PostStart == nil {
					x.PostStart = new(Handler)
				}
				x.PostStart.CodecDecodeSelf(d)
			}
		case "preStop":
			if r.TryDecodeAsNil() {
				if x.PreStop != nil {
					x.PreStop = nil
				}
			} else {
				if x.PreStop == nil {
					x.PreStop = new(Handler)
				}
				x.PreStop.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1651)
		} // end switch yys1651
	} // end for yyj1651
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Lifecycle) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1654 int
	var yyb1654 bool
	var yyhl1654 bool = l >= 0
	yyj1654++
	if yyhl1654 {
		yyb1654 = yyj1654 > l
	} else {
		yyb1654 = r.CheckBreak()
	}
	if yyb1654 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PostStart != nil {
			x.PostStart = nil
		}
	} else {
		if x.PostStart == nil {
			x.PostStart = new(Handler)
		}
		x.PostStart.CodecDecodeSelf(d)
	}
	yyj1654++
	if yyhl1654 {
		yyb1654 = yyj1654 > l
	} else {
		yyb1654 = r.CheckBreak()
	}
	if yyb1654 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PreStop != nil {
			x.PreStop = nil
		}
	} else {
		if x.PreStop == nil {
			x.PreStop = new(Handler)
		}
		x.PreStop.CodecDecodeSelf(d)
	}
	for {
		yyj1654++
		if yyhl1654 {
			yyb1654 = yyj1654 > l
		} else {
			yyb1654 = r.CheckBreak()
		}
		if yyb1654 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1654-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x ConditionStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1657 := z.EncBinary()
	_ = yym1657
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ConditionStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1658 := z.DecBinary()
	_ = yym1658
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *ContainerStateWaiting) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1659 := z.EncBinary()
		_ = yym1659
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1660 := !z.EncBinary()
			yy2arr1660 := z.EncBasicHandle().StructToArray
			var yyq1660 [2]bool
			_, _, _ = yysep1660, yyq1660, yy2arr1660
			const yyr1660 bool = false
			yyq1660[0] = x.Reason != ""
			yyq1660[1] = x.Message != ""
			var yynn1660 int
			if yyr1660 || yy2arr1660 {
				r.EncodeArrayStart(2)
			} else {
				yynn1660 = 0
				for _, b := range yyq1660 {
					if b {
						yynn1660++
					}
				}
				r.EncodeMapStart(yynn1660)
				yynn1660 = 0
			}
			if yyr1660 || yy2arr1660 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1660[0] {
					yym1662 := z.EncBinary()
					_ = yym1662
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1660[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1663 := z.EncBinary()
					_ = yym1663
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1660 || yy2arr1660 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1660[1] {
					yym1665 := z.EncBinary()
					_ = yym1665
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1660[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1666 := z.EncBinary()
					_ = yym1666
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr1660 || yy2arr1660 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ContainerStateWaiting) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1667 := z.DecBinary()
	_ = yym1667
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1668 := r.ContainerType()
		if yyct1668 == codecSelferValueTypeMap1234 {
			yyl1668 := r.ReadMapStart()
			if yyl1668 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1668, d)
			}
		} else if yyct1668 == codecSelferValueTypeArray1234 {
			yyl1668 := r.ReadArrayStart()
			if yyl1668 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1668, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerStateWaiting) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1669Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1669Slc
	var yyhl1669 bool = l >= 0
	for yyj1669 := 0; ; yyj1669++ {
		if yyhl1669 {
			if yyj1669 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1669Slc = r.DecodeBytes(yys1669Slc, true, true)
		yys1669 := string(yys1669Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1669 {
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1669)
		} // end switch yys1669
	} // end for yyj1669
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ContainerStateWaiting) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1672 int
	var yyb1672 bool
	var yyhl1672 bool = l >= 0
	yyj1672++
	if yyhl1672 {
		yyb1672 = yyj1672 > l
	} else {
		yyb1672 = r.CheckBreak()
	}
	if yyb1672 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1672++
	if yyhl1672 {
		yyb1672 = yyj1672 > l
	} else {
		yyb1672 = r.CheckBreak()
	}
	if yyb1672 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj1672++
		if yyhl1672 {
			yyb1672 = yyj1672 > l
		} else {
			yyb1672 = r.CheckBreak()
		}
		if yyb1672 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1672-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ContainerStateRunning) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1675 := z.EncBinary()
		_ = yym1675
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1676 := !z.EncBinary()
			yy2arr1676 := z.EncBasicHandle().StructToArray
			var yyq1676 [1]bool
			_, _, _ = yysep1676, yyq1676, yy2arr1676
			const yyr1676 bool = false
			yyq1676[0] = true
			var yynn1676 int
			if yyr1676 || yy2arr1676 {
				r.EncodeArrayStart(1)
			} else {
				yynn1676 = 0
				for _, b := range yyq1676 {
					if b {
						yynn1676++
					}
				}
				r.EncodeMapStart(yynn1676)
				yynn1676 = 0
			}
			if yyr1676 || yy2arr1676 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1676[0] {
					yy1678 := &x.StartedAt
					yym1679 := z.EncBinary()
					_ = yym1679
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1678) {
					} else if yym1679 {
						z.EncBinaryMarshal(yy1678)
					} else if !yym1679 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1678)
					} else {
						z.EncFallback(yy1678)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1676[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("startedAt"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1680 := &x.StartedAt
					yym1681 := z.EncBinary()
					_ = yym1681
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1680) {
					} else if yym1681 {
						z.EncBinaryMarshal(yy1680)
					} else if !yym1681 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1680)
					} else {
						z.EncFallback(yy1680)
					}
				}
			}
			if yyr1676 || yy2arr1676 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ContainerStateRunning) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1682 := z.DecBinary()
	_ = yym1682
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1683 := r.ContainerType()
		if yyct1683 == codecSelferValueTypeMap1234 {
			yyl1683 := r.ReadMapStart()
			if yyl1683 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1683, d)
			}
		} else if yyct1683 == codecSelferValueTypeArray1234 {
			yyl1683 := r.ReadArrayStart()
			if yyl1683 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1683, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerStateRunning) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1684Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1684Slc
	var yyhl1684 bool = l >= 0
	for yyj1684 := 0; ; yyj1684++ {
		if yyhl1684 {
			if yyj1684 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1684Slc = r.DecodeBytes(yys1684Slc, true, true)
		yys1684 := string(yys1684Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1684 {
		case "startedAt":
			if r.TryDecodeAsNil() {
				x.StartedAt = pkg2_v1.Time{}
			} else {
				yyv1685 := &x.StartedAt
				yym1686 := z.DecBinary()
				_ = yym1686
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1685) {
				} else if yym1686 {
					z.DecBinaryUnmarshal(yyv1685)
				} else if !yym1686 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1685)
				} else {
					z.DecFallback(yyv1685, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1684)
		} // end switch yys1684
	} // end for yyj1684
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ContainerStateRunning) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1687 int
	var yyb1687 bool
	var yyhl1687 bool = l >= 0
	yyj1687++
	if yyhl1687 {
		yyb1687 = yyj1687 > l
	} else {
		yyb1687 = r.CheckBreak()
	}
	if yyb1687 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.StartedAt = pkg2_v1.Time{}
	} else {
		yyv1688 := &x.StartedAt
		yym1689 := z.DecBinary()
		_ = yym1689
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1688) {
		} else if yym1689 {
			z.DecBinaryUnmarshal(yyv1688)
		} else if !yym1689 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1688)
		} else {
			z.DecFallback(yyv1688, false)
		}
	}
	for {
		yyj1687++
		if yyhl1687 {
			yyb1687 = yyj1687 > l
		} else {
			yyb1687 = r.CheckBreak()
		}
		if yyb1687 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1687-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ContainerStateTerminated) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1690 := z.EncBinary()
		_ = yym1690
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1691 := !z.EncBinary()
			yy2arr1691 := z.EncBasicHandle().StructToArray
			var yyq1691 [7]bool
			_, _, _ = yysep1691, yyq1691, yy2arr1691
			const yyr1691 bool = false
			yyq1691[1] = x.Signal != 0
			yyq1691[2] = x.Reason != ""
			yyq1691[3] = x.Message != ""
			yyq1691[4] = true
			yyq1691[5] = true
			yyq1691[6] = x.ContainerID != ""
			var yynn1691 int
			if yyr1691 || yy2arr1691 {
				r.EncodeArrayStart(7)
			} else {
				yynn1691 = 1
				for _, b := range yyq1691 {
					if b {
						yynn1691++
					}
				}
				r.EncodeMapStart(yynn1691)
				yynn1691 = 0
			}
			if yyr1691 || yy2arr1691 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1693 := z.EncBinary()
				_ = yym1693
				if false {
				} else {
					r.EncodeInt(int64(x.ExitCode))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("exitCode"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1694 := z.EncBinary()
				_ = yym1694
				if false {
				} else {
					r.EncodeInt(int64(x.ExitCode))
				}
			}
			if yyr1691 || yy2arr1691 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1691[1] {
					yym1696 := z.EncBinary()
					_ = yym1696
					if false {
					} else {
						r.EncodeInt(int64(x.Signal))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1691[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("signal"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1697 := z.EncBinary()
					_ = yym1697
					if false {
					} else {
						r.EncodeInt(int64(x.Signal))
					}
				}
			}
			if yyr1691 || yy2arr1691 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1691[2] {
					yym1699 := z.EncBinary()
					_ = yym1699
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1691[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1700 := z.EncBinary()
					_ = yym1700
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1691 || yy2arr1691 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1691[3] {
					yym1702 := z.EncBinary()
					_ = yym1702
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1691[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1703 := z.EncBinary()
					_ = yym1703
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr1691 || yy2arr1691 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1691[4] {
					yy1705 := &x.StartedAt
					yym1706 := z.EncBinary()
					_ = yym1706
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1705) {
					} else if yym1706 {
						z.EncBinaryMarshal(yy1705)
					} else if !yym1706 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1705)
					} else {
						z.EncFallback(yy1705)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1691[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("startedAt"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1707 := &x.StartedAt
					yym1708 := z.EncBinary()
					_ = yym1708
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1707) {
					} else if yym1708 {
						z.EncBinaryMarshal(yy1707)
					} else if !yym1708 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1707)
					} else {
						z.EncFallback(yy1707)
					}
				}
			}
			if yyr1691 || yy2arr1691 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1691[5] {
					yy1710 := &x.FinishedAt
					yym1711 := z.EncBinary()
					_ = yym1711
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1710) {
					} else if yym1711 {
						z.EncBinaryMarshal(yy1710)
					} else if !yym1711 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1710)
					} else {
						z.EncFallback(yy1710)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1691[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("finishedAt"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1712 := &x.FinishedAt
					yym1713 := z.EncBinary()
					_ = yym1713
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1712) {
					} else if yym1713 {
						z.EncBinaryMarshal(yy1712)
					} else if !yym1713 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1712)
					} else {
						z.EncFallback(yy1712)
					}
				}
			}
			if yyr1691 || yy2arr1691 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1691[6] {
					yym1715 := z.EncBinary()
					_ = yym1715
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1691[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("containerID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1716 := z.EncBinary()
					_ = yym1716
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				}
			}
			if yyr1691 || yy2arr1691 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ContainerStateTerminated) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1717 := z.DecBinary()
	_ = yym1717
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1718 := r.ContainerType()
		if yyct1718 == codecSelferValueTypeMap1234 {
			yyl1718 := r.ReadMapStart()
			if yyl1718 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1718, d)
			}
		} else if yyct1718 == codecSelferValueTypeArray1234 {
			yyl1718 := r.ReadArrayStart()
			if yyl1718 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1718, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerStateTerminated) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1719Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1719Slc
	var yyhl1719 bool = l >= 0
	for yyj1719 := 0; ; yyj1719++ {
		if yyhl1719 {
			if yyj1719 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1719Slc = r.DecodeBytes(yys1719Slc, true, true)
		yys1719 := string(yys1719Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1719 {
		case "exitCode":
			if r.TryDecodeAsNil() {
				x.ExitCode = 0
			} else {
				x.ExitCode = int32(r.DecodeInt(32))
			}
		case "signal":
			if r.TryDecodeAsNil() {
				x.Signal = 0
			} else {
				x.Signal = int32(r.DecodeInt(32))
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		case "startedAt":
			if r.TryDecodeAsNil() {
				x.StartedAt = pkg2_v1.Time{}
			} else {
				yyv1724 := &x.StartedAt
				yym1725 := z.DecBinary()
				_ = yym1725
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1724) {
				} else if yym1725 {
					z.DecBinaryUnmarshal(yyv1724)
				} else if !yym1725 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1724)
				} else {
					z.DecFallback(yyv1724, false)
				}
			}
		case "finishedAt":
			if r.TryDecodeAsNil() {
				x.FinishedAt = pkg2_v1.Time{}
			} else {
				yyv1726 := &x.FinishedAt
				yym1727 := z.DecBinary()
				_ = yym1727
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1726) {
				} else if yym1727 {
					z.DecBinaryUnmarshal(yyv1726)
				} else if !yym1727 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1726)
				} else {
					z.DecFallback(yyv1726, false)
				}
			}
		case "containerID":
			if r.TryDecodeAsNil() {
				x.ContainerID = ""
			} else {
				x.ContainerID = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1719)
		} // end switch yys1719
	} // end for yyj1719
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ContainerStateTerminated) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1729 int
	var yyb1729 bool
	var yyhl1729 bool = l >= 0
	yyj1729++
	if yyhl1729 {
		yyb1729 = yyj1729 > l
	} else {
		yyb1729 = r.CheckBreak()
	}
	if yyb1729 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ExitCode = 0
	} else {
		x.ExitCode = int32(r.DecodeInt(32))
	}
	yyj1729++
	if yyhl1729 {
		yyb1729 = yyj1729 > l
	} else {
		yyb1729 = r.CheckBreak()
	}
	if yyb1729 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Signal = 0
	} else {
		x.Signal = int32(r.DecodeInt(32))
	}
	yyj1729++
	if yyhl1729 {
		yyb1729 = yyj1729 > l
	} else {
		yyb1729 = r.CheckBreak()
	}
	if yyb1729 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1729++
	if yyhl1729 {
		yyb1729 = yyj1729 > l
	} else {
		yyb1729 = r.CheckBreak()
	}
	if yyb1729 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj1729++
	if yyhl1729 {
		yyb1729 = yyj1729 > l
	} else {
		yyb1729 = r.CheckBreak()
	}
	if yyb1729 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.StartedAt = pkg2_v1.Time{}
	} else {
		yyv1734 := &x.StartedAt
		yym1735 := z.DecBinary()
		_ = yym1735
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1734) {
		} else if yym1735 {
			z.DecBinaryUnmarshal(yyv1734)
		} else if !yym1735 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1734)
		} else {
			z.DecFallback(yyv1734, false)
		}
	}
	yyj1729++
	if yyhl1729 {
		yyb1729 = yyj1729 > l
	} else {
		yyb1729 = r.CheckBreak()
	}
	if yyb1729 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FinishedAt = pkg2_v1.Time{}
	} else {
		yyv1736 := &x.FinishedAt
		yym1737 := z.DecBinary()
		_ = yym1737
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1736) {
		} else if yym1737 {
			z.DecBinaryUnmarshal(yyv1736)
		} else if !yym1737 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1736)
		} else {
			z.DecFallback(yyv1736, false)
		}
	}
	yyj1729++
	if yyhl1729 {
		yyb1729 = yyj1729 > l
	} else {
		yyb1729 = r.CheckBreak()
	}
	if yyb1729 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerID = ""
	} else {
		x.ContainerID = string(r.DecodeString())
	}
	for {
		yyj1729++
		if yyhl1729 {
			yyb1729 = yyj1729 > l
		} else {
			yyb1729 = r.CheckBreak()
		}
		if yyb1729 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1729-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ContainerState) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1739 := z.EncBinary()
		_ = yym1739
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1740 := !z.EncBinary()
			yy2arr1740 := z.EncBasicHandle().StructToArray
			var yyq1740 [3]bool
			_, _, _ = yysep1740, yyq1740, yy2arr1740
			const yyr1740 bool = false
			yyq1740[0] = x.Waiting != nil
			yyq1740[1] = x.Running != nil
			yyq1740[2] = x.Terminated != nil
			var yynn1740 int
			if yyr1740 || yy2arr1740 {
				r.EncodeArrayStart(3)
			} else {
				yynn1740 = 0
				for _, b := range yyq1740 {
					if b {
						yynn1740++
					}
				}
				r.EncodeMapStart(yynn1740)
				yynn1740 = 0
			}
			if yyr1740 || yy2arr1740 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1740[0] {
					if x.Waiting == nil {
						r.EncodeNil()
					} else {
						x.Waiting.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1740[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("waiting"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Waiting == nil {
						r.EncodeNil()
					} else {
						x.Waiting.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1740 || yy2arr1740 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1740[1] {
					if x.Running == nil {
						r.EncodeNil()
					} else {
						x.Running.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1740[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("running"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Running == nil {
						r.EncodeNil()
					} else {
						x.Running.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1740 || yy2arr1740 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1740[2] {
					if x.Terminated == nil {
						r.EncodeNil()
					} else {
						x.Terminated.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1740[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("terminated"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Terminated == nil {
						r.EncodeNil()
					} else {
						x.Terminated.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1740 || yy2arr1740 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ContainerState) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1744 := z.DecBinary()
	_ = yym1744
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1745 := r.ContainerType()
		if yyct1745 == codecSelferValueTypeMap1234 {
			yyl1745 := r.ReadMapStart()
			if yyl1745 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1745, d)
			}
		} else if yyct1745 == codecSelferValueTypeArray1234 {
			yyl1745 := r.ReadArrayStart()
			if yyl1745 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1745, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerState) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1746Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1746Slc
	var yyhl1746 bool = l >= 0
	for yyj1746 := 0; ; yyj1746++ {
		if yyhl1746 {
			if yyj1746 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1746Slc = r.DecodeBytes(yys1746Slc, true, true)
		yys1746 := string(yys1746Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1746 {
		case "waiting":
			if r.TryDecodeAsNil() {
				if x.Waiting != nil {
					x.Waiting = nil
				}
			} else {
				if x.Waiting == nil {
					x.Waiting = new(ContainerStateWaiting)
				}
				x.Waiting.CodecDecodeSelf(d)
			}
		case "running":
			if r.TryDecodeAsNil() {
				if x.Running != nil {
					x.Running = nil
				}
			} else {
				if x.Running == nil {
					x.Running = new(ContainerStateRunning)
				}
				x.Running.CodecDecodeSelf(d)
			}
		case "terminated":
			if r.TryDecodeAsNil() {
				if x.Terminated != nil {
					x.Terminated = nil
				}
			} else {
				if x.Terminated == nil {
					x.Terminated = new(ContainerStateTerminated)
				}
				x.Terminated.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1746)
		} // end switch yys1746
	} // end for yyj1746
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ContainerState) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1750 int
	var yyb1750 bool
	var yyhl1750 bool = l >= 0
	yyj1750++
	if yyhl1750 {
		yyb1750 = yyj1750 > l
	} else {
		yyb1750 = r.CheckBreak()
	}
	if yyb1750 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Waiting != nil {
			x.Waiting = nil
		}
	} else {
		if x.Waiting == nil {
			x.Waiting = new(ContainerStateWaiting)
		}
		x.Waiting.CodecDecodeSelf(d)
	}
	yyj1750++
	if yyhl1750 {
		yyb1750 = yyj1750 > l
	} else {
		yyb1750 = r.CheckBreak()
	}
	if yyb1750 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Running != nil {
			x.Running = nil
		}
	} else {
		if x.Running == nil {
			x.Running = new(ContainerStateRunning)
		}
		x.Running.CodecDecodeSelf(d)
	}
	yyj1750++
	if yyhl1750 {
		yyb1750 = yyj1750 > l
	} else {
		yyb1750 = r.CheckBreak()
	}
	if yyb1750 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Terminated != nil {
			x.Terminated = nil
		}
	} else {
		if x.Terminated == nil {
			x.Terminated = new(ContainerStateTerminated)
		}
		x.Terminated.CodecDecodeSelf(d)
	}
	for {
		yyj1750++
		if yyhl1750 {
			yyb1750 = yyj1750 > l
		} else {
			yyb1750 = r.CheckBreak()
		}
		if yyb1750 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1750-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ContainerStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1754 := z.EncBinary()
		_ = yym1754
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1755 := !z.EncBinary()
			yy2arr1755 := z.EncBasicHandle().StructToArray
			var yyq1755 [8]bool
			_, _, _ = yysep1755, yyq1755, yy2arr1755
			const yyr1755 bool = false
			yyq1755[1] = true
			yyq1755[2] = true
			yyq1755[7] = x.ContainerID != ""
			var yynn1755 int
			if yyr1755 || yy2arr1755 {
				r.EncodeArrayStart(8)
			} else {
				yynn1755 = 5
				for _, b := range yyq1755 {
					if b {
						yynn1755++
					}
				}
				r.EncodeMapStart(yynn1755)
				yynn1755 = 0
			}
			if yyr1755 || yy2arr1755 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1757 := z.EncBinary()
				_ = yym1757
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1758 := z.EncBinary()
				_ = yym1758
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1755 || yy2arr1755 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1755[1] {
					yy1760 := &x.State
					yy1760.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1755[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("state"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1761 := &x.State
					yy1761.CodecEncodeSelf(e)
				}
			}
			if yyr1755 || yy2arr1755 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1755[2] {
					yy1763 := &x.LastTerminationState
					yy1763.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1755[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastState"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1764 := &x.LastTerminationState
					yy1764.CodecEncodeSelf(e)
				}
			}
			if yyr1755 || yy2arr1755 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1766 := z.EncBinary()
				_ = yym1766
				if false {
				} else {
					r.EncodeBool(bool(x.Ready))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("ready"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1767 := z.EncBinary()
				_ = yym1767
				if false {
				} else {
					r.EncodeBool(bool(x.Ready))
				}
			}
			if yyr1755 || yy2arr1755 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1769 := z.EncBinary()
				_ = yym1769
				if false {
				} else {
					r.EncodeInt(int64(x.RestartCount))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("restartCount"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1770 := z.EncBinary()
				_ = yym1770
				if false {
				} else {
					r.EncodeInt(int64(x.RestartCount))
				}
			}
			if yyr1755 || yy2arr1755 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1772 := z.EncBinary()
				_ = yym1772
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Image))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("image"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1773 := z.EncBinary()
				_ = yym1773
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Image))
				}
			}
			if yyr1755 || yy2arr1755 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1775 := z.EncBinary()
				_ = yym1775
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ImageID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("imageID"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1776 := z.EncBinary()
				_ = yym1776
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ImageID))
				}
			}
			if yyr1755 || yy2arr1755 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1755[7] {
					yym1778 := z.EncBinary()
					_ = yym1778
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1755[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("containerID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1779 := z.EncBinary()
					_ = yym1779
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				}
			}
			if yyr1755 || yy2arr1755 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ContainerStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1780 := z.DecBinary()
	_ = yym1780
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1781 := r.ContainerType()
		if yyct1781 == codecSelferValueTypeMap1234 {
			yyl1781 := r.ReadMapStart()
			if yyl1781 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1781, d)
			}
		} else if yyct1781 == codecSelferValueTypeArray1234 {
			yyl1781 := r.ReadArrayStart()
			if yyl1781 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1781, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1782Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1782Slc
	var yyhl1782 bool = l >= 0
	for yyj1782 := 0; ; yyj1782++ {
		if yyhl1782 {
			if yyj1782 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1782Slc = r.DecodeBytes(yys1782Slc, true, true)
		yys1782 := string(yys1782Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1782 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "state":
			if r.TryDecodeAsNil() {
				x.State = ContainerState{}
			} else {
				yyv1784 := &x.State
				yyv1784.CodecDecodeSelf(d)
			}
		case "lastState":
			if r.TryDecodeAsNil() {
				x.LastTerminationState = ContainerState{}
			} else {
				yyv1785 := &x.LastTerminationState
				yyv1785.CodecDecodeSelf(d)
			}
		case "ready":
			if r.TryDecodeAsNil() {
				x.Ready = false
			} else {
				x.Ready = bool(r.DecodeBool())
			}
		case "restartCount":
			if r.TryDecodeAsNil() {
				x.RestartCount = 0
			} else {
				x.RestartCount = int32(r.DecodeInt(32))
			}
		case "image":
			if r.TryDecodeAsNil() {
				x.Image = ""
			} else {
				x.Image = string(r.DecodeString())
			}
		case "imageID":
			if r.TryDecodeAsNil() {
				x.ImageID = ""
			} else {
				x.ImageID = string(r.DecodeString())
			}
		case "containerID":
			if r.TryDecodeAsNil() {
				x.ContainerID = ""
			} else {
				x.ContainerID = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1782)
		} // end switch yys1782
	} // end for yyj1782
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ContainerStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1791 int
	var yyb1791 bool
	var yyhl1791 bool = l >= 0
	yyj1791++
	if yyhl1791 {
		yyb1791 = yyj1791 > l
	} else {
		yyb1791 = r.CheckBreak()
	}
	if yyb1791 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1791++
	if yyhl1791 {
		yyb1791 = yyj1791 > l
	} else {
		yyb1791 = r.CheckBreak()
	}
	if yyb1791 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.State = ContainerState{}
	} else {
		yyv1793 := &x.State
		yyv1793.CodecDecodeSelf(d)
	}
	yyj1791++
	if yyhl1791 {
		yyb1791 = yyj1791 > l
	} else {
		yyb1791 = r.CheckBreak()
	}
	if yyb1791 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTerminationState = ContainerState{}
	} else {
		yyv1794 := &x.LastTerminationState
		yyv1794.CodecDecodeSelf(d)
	}
	yyj1791++
	if yyhl1791 {
		yyb1791 = yyj1791 > l
	} else {
		yyb1791 = r.CheckBreak()
	}
	if yyb1791 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ready = false
	} else {
		x.Ready = bool(r.DecodeBool())
	}
	yyj1791++
	if yyhl1791 {
		yyb1791 = yyj1791 > l
	} else {
		yyb1791 = r.CheckBreak()
	}
	if yyb1791 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RestartCount = 0
	} else {
		x.RestartCount = int32(r.DecodeInt(32))
	}
	yyj1791++
	if yyhl1791 {
		yyb1791 = yyj1791 > l
	} else {
		yyb1791 = r.CheckBreak()
	}
	if yyb1791 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Image = ""
	} else {
		x.Image = string(r.DecodeString())
	}
	yyj1791++
	if yyhl1791 {
		yyb1791 = yyj1791 > l
	} else {
		yyb1791 = r.CheckBreak()
	}
	if yyb1791 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ImageID = ""
	} else {
		x.ImageID = string(r.DecodeString())
	}
	yyj1791++
	if yyhl1791 {
		yyb1791 = yyj1791 > l
	} else {
		yyb1791 = r.CheckBreak()
	}
	if yyb1791 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerID = ""
	} else {
		x.ContainerID = string(r.DecodeString())
	}
	for {
		yyj1791++
		if yyhl1791 {
			yyb1791 = yyj1791 > l
		} else {
			yyb1791 = r.CheckBreak()
		}
		if yyb1791 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1791-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PodPhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1800 := z.EncBinary()
	_ = yym1800
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PodPhase) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1801 := z.DecBinary()
	_ = yym1801
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x PodConditionType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1802 := z.EncBinary()
	_ = yym1802
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PodConditionType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1803 := z.DecBinary()
	_ = yym1803
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *PodCondition) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1804 := z.EncBinary()
		_ = yym1804
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1805 := !z.EncBinary()
			yy2arr1805 := z.EncBasicHandle().StructToArray
			var yyq1805 [6]bool
			_, _, _ = yysep1805, yyq1805, yy2arr1805
			const yyr1805 bool = false
			yyq1805[2] = true
			yyq1805[3] = true
			yyq1805[4] = x.Reason != ""
			yyq1805[5] = x.Message != ""
			var yynn1805 int
			if yyr1805 || yy2arr1805 {
				r.EncodeArrayStart(6)
			} else {
				yynn1805 = 2
				for _, b := range yyq1805 {
					if b {
						yynn1805++
					}
				}
				r.EncodeMapStart(yynn1805)
				yynn1805 = 0
			}
			if yyr1805 || yy2arr1805 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Type.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Type.CodecEncodeSelf(e)
			}
			if yyr1805 || yy2arr1805 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Status.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("status"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Status.CodecEncodeSelf(e)
			}
			if yyr1805 || yy2arr1805 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1805[2] {
					yy1809 := &x.LastProbeTime
					yym1810 := z.EncBinary()
					_ = yym1810
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1809) {
					} else if yym1810 {
						z.EncBinaryMarshal(yy1809)
					} else if !yym1810 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1809)
					} else {
						z.EncFallback(yy1809)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1805[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastProbeTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1811 := &x.LastProbeTime
					yym1812 := z.EncBinary()
					_ = yym1812
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1811) {
					} else if yym1812 {
						z.EncBinaryMarshal(yy1811)
					} else if !yym1812 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1811)
					} else {
						z.EncFallback(yy1811)
					}
				}
			}
			if yyr1805 || yy2arr1805 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1805[3] {
					yy1814 := &x.LastTransitionTime
					yym1815 := z.EncBinary()
					_ = yym1815
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1814) {
					} else if yym1815 {
						z.EncBinaryMarshal(yy1814)
					} else if !yym1815 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1814)
					} else {
						z.EncFallback(yy1814)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1805[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastTransitionTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1816 := &x.LastTransitionTime
					yym1817 := z.EncBinary()
					_ = yym1817
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1816) {
					} else if yym1817 {
						z.EncBinaryMarshal(yy1816)
					} else if !yym1817 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1816)
					} else {
						z.EncFallback(yy1816)
					}
				}
			}
			if yyr1805 || yy2arr1805 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1805[4] {
					yym1819 := z.EncBinary()
					_ = yym1819
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1805[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1820 := z.EncBinary()
					_ = yym1820
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1805 || yy2arr1805 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1805[5] {
					yym1822 := z.EncBinary()
					_ = yym1822
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1805[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1823 := z.EncBinary()
					_ = yym1823
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr1805 || yy2arr1805 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodCondition) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1824 := z.DecBinary()
	_ = yym1824
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1825 := r.ContainerType()
		if yyct1825 == codecSelferValueTypeMap1234 {
			yyl1825 := r.ReadMapStart()
			if yyl1825 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1825, d)
			}
		} else if yyct1825 == codecSelferValueTypeArray1234 {
			yyl1825 := r.ReadArrayStart()
			if yyl1825 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1825, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodCondition) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1826Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1826Slc
	var yyhl1826 bool = l >= 0
	for yyj1826 := 0; ; yyj1826++ {
		if yyhl1826 {
			if yyj1826 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1826Slc = r.DecodeBytes(yys1826Slc, true, true)
		yys1826 := string(yys1826Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1826 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = PodConditionType(r.DecodeString())
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ""
			} else {
				x.Status = ConditionStatus(r.DecodeString())
			}
		case "lastProbeTime":
			if r.TryDecodeAsNil() {
				x.LastProbeTime = pkg2_v1.Time{}
			} else {
				yyv1829 := &x.LastProbeTime
				yym1830 := z.DecBinary()
				_ = yym1830
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1829) {
				} else if yym1830 {
					z.DecBinaryUnmarshal(yyv1829)
				} else if !yym1830 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1829)
				} else {
					z.DecFallback(yyv1829, false)
				}
			}
		case "lastTransitionTime":
			if r.TryDecodeAsNil() {
				x.LastTransitionTime = pkg2_v1.Time{}
			} else {
				yyv1831 := &x.LastTransitionTime
				yym1832 := z.DecBinary()
				_ = yym1832
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1831) {
				} else if yym1832 {
					z.DecBinaryUnmarshal(yyv1831)
				} else if !yym1832 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1831)
				} else {
					z.DecFallback(yyv1831, false)
				}
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1826)
		} // end switch yys1826
	} // end for yyj1826
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodCondition) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1835 int
	var yyb1835 bool
	var yyhl1835 bool = l >= 0
	yyj1835++
	if yyhl1835 {
		yyb1835 = yyj1835 > l
	} else {
		yyb1835 = r.CheckBreak()
	}
	if yyb1835 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = PodConditionType(r.DecodeString())
	}
	yyj1835++
	if yyhl1835 {
		yyb1835 = yyj1835 > l
	} else {
		yyb1835 = r.CheckBreak()
	}
	if yyb1835 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj1835++
	if yyhl1835 {
		yyb1835 = yyj1835 > l
	} else {
		yyb1835 = r.CheckBreak()
	}
	if yyb1835 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastProbeTime = pkg2_v1.Time{}
	} else {
		yyv1838 := &x.LastProbeTime
		yym1839 := z.DecBinary()
		_ = yym1839
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1838) {
		} else if yym1839 {
			z.DecBinaryUnmarshal(yyv1838)
		} else if !yym1839 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1838)
		} else {
			z.DecFallback(yyv1838, false)
		}
	}
	yyj1835++
	if yyhl1835 {
		yyb1835 = yyj1835 > l
	} else {
		yyb1835 = r.CheckBreak()
	}
	if yyb1835 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTransitionTime = pkg2_v1.Time{}
	} else {
		yyv1840 := &x.LastTransitionTime
		yym1841 := z.DecBinary()
		_ = yym1841
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1840) {
		} else if yym1841 {
			z.DecBinaryUnmarshal(yyv1840)
		} else if !yym1841 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1840)
		} else {
			z.DecFallback(yyv1840, false)
		}
	}
	yyj1835++
	if yyhl1835 {
		yyb1835 = yyj1835 > l
	} else {
		yyb1835 = r.CheckBreak()
	}
	if yyb1835 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1835++
	if yyhl1835 {
		yyb1835 = yyj1835 > l
	} else {
		yyb1835 = r.CheckBreak()
	}
	if yyb1835 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj1835++
		if yyhl1835 {
			yyb1835 = yyj1835 > l
		} else {
			yyb1835 = r.CheckBreak()
		}
		if yyb1835 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1835-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x RestartPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1844 := z.EncBinary()
	_ = yym1844
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *RestartPolicy) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1845 := z.DecBinary()
	_ = yym1845
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *PodList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1846 := z.EncBinary()
		_ = yym1846
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1847 := !z.EncBinary()
			yy2arr1847 := z.EncBasicHandle().StructToArray
			var yyq1847 [4]bool
			_, _, _ = yysep1847, yyq1847, yy2arr1847
			const yyr1847 bool = false
			yyq1847[0] = x.Kind != ""
			yyq1847[1] = x.APIVersion != ""
			yyq1847[2] = true
			var yynn1847 int
			if yyr1847 || yy2arr1847 {
				r.EncodeArrayStart(4)
			} else {
				yynn1847 = 1
				for _, b := range yyq1847 {
					if b {
						yynn1847++
					}
				}
				r.EncodeMapStart(yynn1847)
				yynn1847 = 0
			}
			if yyr1847 || yy2arr1847 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1847[0] {
					yym1849 := z.EncBinary()
					_ = yym1849
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1847[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1850 := z.EncBinary()
					_ = yym1850
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1847 || yy2arr1847 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1847[1] {
					yym1852 := z.EncBinary()
					_ = yym1852
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1847[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1853 := z.EncBinary()
					_ = yym1853
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1847 || yy2arr1847 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1847[2] {
					yy1855 := &x.ListMeta
					yym1856 := z.EncBinary()
					_ = yym1856
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1855) {
					} else {
						z.EncFallback(yy1855)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1847[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1857 := &x.ListMeta
					yym1858 := z.EncBinary()
					_ = yym1858
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1857) {
					} else {
						z.EncFallback(yy1857)
					}
				}
			}
			if yyr1847 || yy2arr1847 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1860 := z.EncBinary()
					_ = yym1860
					if false {
					} else {
						h.encSlicePod(([]Pod)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1861 := z.EncBinary()
					_ = yym1861
					if false {
					} else {
						h.encSlicePod(([]Pod)(x.Items), e)
					}
				}
			}
			if yyr1847 || yy2arr1847 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1862 := z.DecBinary()
	_ = yym1862
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1863 := r.ContainerType()
		if yyct1863 == codecSelferValueTypeMap1234 {
			yyl1863 := r.ReadMapStart()
			if yyl1863 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1863, d)
			}
		} else if yyct1863 == codecSelferValueTypeArray1234 {
			yyl1863 := r.ReadArrayStart()
			if yyl1863 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1863, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1864Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1864Slc
	var yyhl1864 bool = l >= 0
	for yyj1864 := 0; ; yyj1864++ {
		if yyhl1864 {
			if yyj1864 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1864Slc = r.DecodeBytes(yys1864Slc, true, true)
		yys1864 := string(yys1864Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1864 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_v1.ListMeta{}
			} else {
				yyv1867 := &x.ListMeta
				yym1868 := z.DecBinary()
				_ = yym1868
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1867) {
				} else {
					z.DecFallback(yyv1867, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1869 := &x.Items
				yym1870 := z.DecBinary()
				_ = yym1870
				if false {
				} else {
					h.decSlicePod((*[]Pod)(yyv1869), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1864)
		} // end switch yys1864
	} // end for yyj1864
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1871 int
	var yyb1871 bool
	var yyhl1871 bool = l >= 0
	yyj1871++
	if yyhl1871 {
		yyb1871 = yyj1871 > l
	} else {
		yyb1871 = r.CheckBreak()
	}
	if yyb1871 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1871++
	if yyhl1871 {
		yyb1871 = yyj1871 > l
	} else {
		yyb1871 = r.CheckBreak()
	}
	if yyb1871 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1871++
	if yyhl1871 {
		yyb1871 = yyj1871 > l
	} else {
		yyb1871 = r.CheckBreak()
	}
	if yyb1871 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_v1.ListMeta{}
	} else {
		yyv1874 := &x.ListMeta
		yym1875 := z.DecBinary()
		_ = yym1875
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1874) {
		} else {
			z.DecFallback(yyv1874, false)
		}
	}
	yyj1871++
	if yyhl1871 {
		yyb1871 = yyj1871 > l
	} else {
		yyb1871 = r.CheckBreak()
	}
	if yyb1871 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1876 := &x.Items
		yym1877 := z.DecBinary()
		_ = yym1877
		if false {
		} else {
			h.decSlicePod((*[]Pod)(yyv1876), d)
		}
	}
	for {
		yyj1871++
		if yyhl1871 {
			yyb1871 = yyj1871 > l
		} else {
			yyb1871 = r.CheckBreak()
		}
		if yyb1871 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1871-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x DNSPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1878 := z.EncBinary()
	_ = yym1878
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *DNSPolicy) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1879 := z.DecBinary()
	_ = yym1879
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *NodeSelector) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1880 := z.EncBinary()
		_ = yym1880
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1881 := !z.EncBinary()
			yy2arr1881 := z.EncBasicHandle().StructToArray
			var yyq1881 [1]bool
			_, _, _ = yysep1881, yyq1881, yy2arr1881
			const yyr1881 bool = false
			var yynn1881 int
			if yyr1881 || yy2arr1881 {
				r.EncodeArrayStart(1)
			} else {
				yynn1881 = 1
				for _, b := range yyq1881 {
					if b {
						yynn1881++
					}
				}
				r.EncodeMapStart(yynn1881)
				yynn1881 = 0
			}
			if yyr1881 || yy2arr1881 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.NodeSelectorTerms == nil {
					r.EncodeNil()
				} else {
					yym1883 := z.EncBinary()
					_ = yym1883
					if false {
					} else {
						h.encSliceNodeSelectorTerm(([]NodeSelectorTerm)(x.NodeSelectorTerms), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("nodeSelectorTerms"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.NodeSelectorTerms == nil {
					r.EncodeNil()
				} else {
					yym1884 := z.EncBinary()
					_ = yym1884
					if false {
					} else {
						h.encSliceNodeSelectorTerm(([]NodeSelectorTerm)(x.NodeSelectorTerms), e)
					}
				}
			}
			if yyr1881 || yy2arr1881 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeSelector) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1885 := z.DecBinary()
	_ = yym1885
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1886 := r.ContainerType()
		if yyct1886 == codecSelferValueTypeMap1234 {
			yyl1886 := r.ReadMapStart()
			if yyl1886 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1886, d)
			}
		} else if yyct1886 == codecSelferValueTypeArray1234 {
			yyl1886 := r.ReadArrayStart()
			if yyl1886 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1886, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeSelector) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1887Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1887Slc
	var yyhl1887 bool = l >= 0
	for yyj1887 := 0; ; yyj1887++ {
		if yyhl1887 {
			if yyj1887 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1887Slc = r.DecodeBytes(yys1887Slc, true, true)
		yys1887 := string(yys1887Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1887 {
		case "nodeSelectorTerms":
			if r.TryDecodeAsNil() {
				x.NodeSelectorTerms = nil
			} else {
				yyv1888 := &x.NodeSelectorTerms
				yym1889 := z.DecBinary()
				_ = yym1889
				if false {
				} else {
					h.decSliceNodeSelectorTerm((*[]NodeSelectorTerm)(yyv1888), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1887)
		} // end switch yys1887
	} // end for yyj1887
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeSelector) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1890 int
	var yyb1890 bool
	var yyhl1890 bool = l >= 0
	yyj1890++
	if yyhl1890 {
		yyb1890 = yyj1890 > l
	} else {
		yyb1890 = r.CheckBreak()
	}
	if yyb1890 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodeSelectorTerms = nil
	} else {
		yyv1891 := &x.NodeSelectorTerms
		yym1892 := z.DecBinary()
		_ = yym1892
		if false {
		} else {
			h.decSliceNodeSelectorTerm((*[]NodeSelectorTerm)(yyv1891), d)
		}
	}
	for {
		yyj1890++
		if yyhl1890 {
			yyb1890 = yyj1890 > l
		} else {
			yyb1890 = r.CheckBreak()
		}
		if yyb1890 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1890-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeSelectorTerm) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1893 := z.EncBinary()
		_ = yym1893
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1894 := !z.EncBinary()
			yy2arr1894 := z.EncBasicHandle().StructToArray
			var yyq1894 [1]bool
			_, _, _ = yysep1894, yyq1894, yy2arr1894
			const yyr1894 bool = false
			var yynn1894 int
			if yyr1894 || yy2arr1894 {
				r.EncodeArrayStart(1)
			} else {
				yynn1894 = 1
				for _, b := range yyq1894 {
					if b {
						yynn1894++
					}
				}
				r.EncodeMapStart(yynn1894)
				yynn1894 = 0
			}
			if yyr1894 || yy2arr1894 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.MatchExpressions == nil {
					r.EncodeNil()
				} else {
					yym1896 := z.EncBinary()
					_ = yym1896
					if false {
					} else {
						h.encSliceNodeSelectorRequirement(([]NodeSelectorRequirement)(x.MatchExpressions), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("matchExpressions"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.MatchExpressions == nil {
					r.EncodeNil()
				} else {
					yym1897 := z.EncBinary()
					_ = yym1897
					if false {
					} else {
						h.encSliceNodeSelectorRequirement(([]NodeSelectorRequirement)(x.MatchExpressions), e)
					}
				}
			}
			if yyr1894 || yy2arr1894 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeSelectorTerm) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1898 := z.DecBinary()
	_ = yym1898
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1899 := r.ContainerType()
		if yyct1899 == codecSelferValueTypeMap1234 {
			yyl1899 := r.ReadMapStart()
			if yyl1899 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1899, d)
			}
		} else if yyct1899 == codecSelferValueTypeArray1234 {
			yyl1899 := r.ReadArrayStart()
			if yyl1899 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1899, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeSelectorTerm) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1900Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1900Slc
	var yyhl1900 bool = l >= 0
	for yyj1900 := 0; ; yyj1900++ {
		if yyhl1900 {
			if yyj1900 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1900Slc = r.DecodeBytes(yys1900Slc, true, true)
		yys1900 := string(yys1900Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1900 {
		case "matchExpressions":
			if r.TryDecodeAsNil() {
				x.MatchExpressions = nil
			} else {
				yyv1901 := &x.MatchExpressions
				yym1902 := z.DecBinary()
				_ = yym1902
				if false {
				} else {
					h.decSliceNodeSelectorRequirement((*[]NodeSelectorRequirement)(yyv1901), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1900)
		} // end switch yys1900
	} // end for yyj1900
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeSelectorTerm) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1903 int
	var yyb1903 bool
	var yyhl1903 bool = l >= 0
	yyj1903++
	if yyhl1903 {
		yyb1903 = yyj1903 > l
	} else {
		yyb1903 = r.CheckBreak()
	}
	if yyb1903 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.MatchExpressions = nil
	} else {
		yyv1904 := &x.MatchExpressions
		yym1905 := z.DecBinary()
		_ = yym1905
		if false {
		} else {
			h.decSliceNodeSelectorRequirement((*[]NodeSelectorRequirement)(yyv1904), d)
		}
	}
	for {
		yyj1903++
		if yyhl1903 {
			yyb1903 = yyj1903 > l
		} else {
			yyb1903 = r.CheckBreak()
		}
		if yyb1903 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1903-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeSelectorRequirement) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1906 := z.EncBinary()
		_ = yym1906
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1907 := !z.EncBinary()
			yy2arr1907 := z.EncBasicHandle().StructToArray
			var yyq1907 [3]bool
			_, _, _ = yysep1907, yyq1907, yy2arr1907
			const yyr1907 bool = false
			yyq1907[2] = len(x.Values) != 0
			var yynn1907 int
			if yyr1907 || yy2arr1907 {
				r.EncodeArrayStart(3)
			} else {
				yynn1907 = 2
				for _, b := range yyq1907 {
					if b {
						yynn1907++
					}
				}
				r.EncodeMapStart(yynn1907)
				yynn1907 = 0
			}
			if yyr1907 || yy2arr1907 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1909 := z.EncBinary()
				_ = yym1909
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("key"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1910 := z.EncBinary()
				_ = yym1910
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			}
			if yyr1907 || yy2arr1907 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Operator.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("operator"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Operator.CodecEncodeSelf(e)
			}
			if yyr1907 || yy2arr1907 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1907[2] {
					if x.Values == nil {
						r.EncodeNil()
					} else {
						yym1913 := z.EncBinary()
						_ = yym1913
						if false {
						} else {
							z.F.EncSliceStringV(x.Values, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1907[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("values"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Values == nil {
						r.EncodeNil()
					} else {
						yym1914 := z.EncBinary()
						_ = yym1914
						if false {
						} else {
							z.F.EncSliceStringV(x.Values, false, e)
						}
					}
				}
			}
			if yyr1907 || yy2arr1907 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeSelectorRequirement) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1915 := z.DecBinary()
	_ = yym1915
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1916 := r.ContainerType()
		if yyct1916 == codecSelferValueTypeMap1234 {
			yyl1916 := r.ReadMapStart()
			if yyl1916 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1916, d)
			}
		} else if yyct1916 == codecSelferValueTypeArray1234 {
			yyl1916 := r.ReadArrayStart()
			if yyl1916 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1916, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeSelectorRequirement) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1917Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1917Slc
	var yyhl1917 bool = l >= 0
	for yyj1917 := 0; ; yyj1917++ {
		if yyhl1917 {
			if yyj1917 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1917Slc = r.DecodeBytes(yys1917Slc, true, true)
		yys1917 := string(yys1917Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1917 {
		case "key":
			if r.TryDecodeAsNil() {
				x.Key = ""
			} else {
				x.Key = string(r.DecodeString())
			}
		case "operator":
			if r.TryDecodeAsNil() {
				x.Operator = ""
			} else {
				x.Operator = NodeSelectorOperator(r.DecodeString())
			}
		case "values":
			if r.TryDecodeAsNil() {
				x.Values = nil
			} else {
				yyv1920 := &x.Values
				yym1921 := z.DecBinary()
				_ = yym1921
				if false {
				} else {
					z.F.DecSliceStringX(yyv1920, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1917)
		} // end switch yys1917
	} // end for yyj1917
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeSelectorRequirement) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1922 int
	var yyb1922 bool
	var yyhl1922 bool = l >= 0
	yyj1922++
	if yyhl1922 {
		yyb1922 = yyj1922 > l
	} else {
		yyb1922 = r.CheckBreak()
	}
	if yyb1922 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	yyj1922++
	if yyhl1922 {
		yyb1922 = yyj1922 > l
	} else {
		yyb1922 = r.CheckBreak()
	}
	if yyb1922 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Operator = ""
	} else {
		x.Operator = NodeSelectorOperator(r.DecodeString())
	}
	yyj1922++
	if yyhl1922 {
		yyb1922 = yyj1922 > l
	} else {
		yyb1922 = r.CheckBreak()
	}
	if yyb1922 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Values = nil
	} else {
		yyv1925 := &x.Values
		yym1926 := z.DecBinary()
		_ = yym1926
		if false {
		} else {
			z.F.DecSliceStringX(yyv1925, false, d)
		}
	}
	for {
		yyj1922++
		if yyhl1922 {
			yyb1922 = yyj1922 > l
		} else {
			yyb1922 = r.CheckBreak()
		}
		if yyb1922 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1922-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x NodeSelectorOperator) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1927 := z.EncBinary()
	_ = yym1927
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *NodeSelectorOperator) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1928 := z.DecBinary()
	_ = yym1928
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *Affinity) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1929 := z.EncBinary()
		_ = yym1929
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1930 := !z.EncBinary()
			yy2arr1930 := z.EncBasicHandle().StructToArray
			var yyq1930 [3]bool
			_, _, _ = yysep1930, yyq1930, yy2arr1930
			const yyr1930 bool = false
			yyq1930[0] = x.NodeAffinity != nil
			yyq1930[1] = x.PodAffinity != nil
			yyq1930[2] = x.PodAntiAffinity != nil
			var yynn1930 int
			if yyr1930 || yy2arr1930 {
				r.EncodeArrayStart(3)
			} else {
				yynn1930 = 0
				for _, b := range yyq1930 {
					if b {
						yynn1930++
					}
				}
				r.EncodeMapStart(yynn1930)
				yynn1930 = 0
			}
			if yyr1930 || yy2arr1930 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1930[0] {
					if x.NodeAffinity == nil {
						r.EncodeNil()
					} else {
						x.NodeAffinity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1930[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nodeAffinity"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.NodeAffinity == nil {
						r.EncodeNil()
					} else {
						x.NodeAffinity.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1930 || yy2arr1930 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1930[1] {
					if x.PodAffinity == nil {
						r.EncodeNil()
					} else {
						x.PodAffinity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1930[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("podAffinity"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PodAffinity == nil {
						r.EncodeNil()
					} else {
						x.PodAffinity.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1930 || yy2arr1930 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1930[2] {
					if x.PodAntiAffinity == nil {
						r.EncodeNil()
					} else {
						x.PodAntiAffinity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1930[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("podAntiAffinity"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PodAntiAffinity == nil {
						r.EncodeNil()
					} else {
						x.PodAntiAffinity.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1930 || yy2arr1930 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Affinity) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1934 := z.DecBinary()
	_ = yym1934
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1935 := r.ContainerType()
		if yyct1935 == codecSelferValueTypeMap1234 {
			yyl1935 := r.ReadMapStart()
			if yyl1935 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1935, d)
			}
		} else if yyct1935 == codecSelferValueTypeArray1234 {
			yyl1935 := r.ReadArrayStart()
			if yyl1935 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1935, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Affinity) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1936Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1936Slc
	var yyhl1936 bool = l >= 0
	for yyj1936 := 0; ; yyj1936++ {
		if yyhl1936 {
			if yyj1936 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1936Slc = r.DecodeBytes(yys1936Slc, true, true)
		yys1936 := string(yys1936Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1936 {
		case "nodeAffinity":
			if r.TryDecodeAsNil() {
				if x.NodeAffinity != nil {
					x.NodeAffinity = nil
				}
			} else {
				if x.NodeAffinity == nil {
					x.NodeAffinity = new(NodeAffinity)
				}
				x.NodeAffinity.CodecDecodeSelf(d)
			}
		case "podAffinity":
			if r.TryDecodeAsNil() {
				if x.PodAffinity != nil {
					x.PodAffinity = nil
				}
			} else {
				if x.PodAffinity == nil {
					x.PodAffinity = new(PodAffinity)
				}
				x.PodAffinity.CodecDecodeSelf(d)
			}
		case "podAntiAffinity":
			if r.TryDecodeAsNil() {
				if x.PodAntiAffinity != nil {
					x.PodAntiAffinity = nil
				}
			} else {
				if x.PodAntiAffinity == nil {
					x.PodAntiAffinity = new(PodAntiAffinity)
				}
				x.PodAntiAffinity.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1936)
		} // end switch yys1936
	} // end for yyj1936
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Affinity) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1940 int
	var yyb1940 bool
	var yyhl1940 bool = l >= 0
	yyj1940++
	if yyhl1940 {
		yyb1940 = yyj1940 > l
	} else {
		yyb1940 = r.CheckBreak()
	}
	if yyb1940 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.NodeAffinity != nil {
			x.NodeAffinity = nil
		}
	} else {
		if x.NodeAffinity == nil {
			x.NodeAffinity = new(NodeAffinity)
		}
		x.NodeAffinity.CodecDecodeSelf(d)
	}
	yyj1940++
	if yyhl1940 {
		yyb1940 = yyj1940 > l
	} else {
		yyb1940 = r.CheckBreak()
	}
	if yyb1940 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PodAffinity != nil {
			x.PodAffinity = nil
		}
	} else {
		if x.PodAffinity == nil {
			x.PodAffinity = new(PodAffinity)
		}
		x.PodAffinity.CodecDecodeSelf(d)
	}
	yyj1940++
	if yyhl1940 {
		yyb1940 = yyj1940 > l
	} else {
		yyb1940 = r.CheckBreak()
	}
	if yyb1940 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PodAntiAffinity != nil {
			x.PodAntiAffinity = nil
		}
	} else {
		if x.PodAntiAffinity == nil {
			x.PodAntiAffinity = new(PodAntiAffinity)
		}
		x.PodAntiAffinity.CodecDecodeSelf(d)
	}
	for {
		yyj1940++
		if yyhl1940 {
			yyb1940 = yyj1940 > l
		} else {
			yyb1940 = r.CheckBreak()
		}
		if yyb1940 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1940-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodAffinity) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1944 := z.EncBinary()
		_ = yym1944
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1945 := !z.EncBinary()
			yy2arr1945 := z.EncBasicHandle().StructToArray
			var yyq1945 [2]bool
			_, _, _ = yysep1945, yyq1945, yy2arr1945
			const yyr1945 bool = false
			yyq1945[0] = len(x.RequiredDuringSchedulingIgnoredDuringExecution) != 0
			yyq1945[1] = len(x.PreferredDuringSchedulingIgnoredDuringExecution) != 0
			var yynn1945 int
			if yyr1945 || yy2arr1945 {
				r.EncodeArrayStart(2)
			} else {
				yynn1945 = 0
				for _, b := range yyq1945 {
					if b {
						yynn1945++
					}
				}
				r.EncodeMapStart(yynn1945)
				yynn1945 = 0
			}
			if yyr1945 || yy2arr1945 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1945[0] {
					if x.RequiredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1947 := z.EncBinary()
						_ = yym1947
						if false {
						} else {
							h.encSlicePodAffinityTerm(([]PodAffinityTerm)(x.RequiredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1945[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("requiredDuringSchedulingIgnoredDuringExecution"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RequiredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1948 := z.EncBinary()
						_ = yym1948
						if false {
						} else {
							h.encSlicePodAffinityTerm(([]PodAffinityTerm)(x.RequiredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				}
			}
			if yyr1945 || yy2arr1945 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1945[1] {
					if x.PreferredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1950 := z.EncBinary()
						_ = yym1950
						if false {
						} else {
							h.encSliceWeightedPodAffinityTerm(([]WeightedPodAffinityTerm)(x.PreferredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1945[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("preferredDuringSchedulingIgnoredDuringExecution"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PreferredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1951 := z.EncBinary()
						_ = yym1951
						if false {
						} else {
							h.encSliceWeightedPodAffinityTerm(([]WeightedPodAffinityTerm)(x.PreferredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				}
			}
			if yyr1945 || yy2arr1945 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodAffinity) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1952 := z.DecBinary()
	_ = yym1952
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1953 := r.ContainerType()
		if yyct1953 == codecSelferValueTypeMap1234 {
			yyl1953 := r.ReadMapStart()
			if yyl1953 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1953, d)
			}
		} else if yyct1953 == codecSelferValueTypeArray1234 {
			yyl1953 := r.ReadArrayStart()
			if yyl1953 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1953, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodAffinity) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1954Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1954Slc
	var yyhl1954 bool = l >= 0
	for yyj1954 := 0; ; yyj1954++ {
		if yyhl1954 {
			if yyj1954 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1954Slc = r.DecodeBytes(yys1954Slc, true, true)
		yys1954 := string(yys1954Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1954 {
		case "requiredDuringSchedulingIgnoredDuringExecution":
			if r.TryDecodeAsNil() {
				x.RequiredDuringSchedulingIgnoredDuringExecution = nil
			} else {
				yyv1955 := &x.RequiredDuringSchedulingIgnoredDuringExecution
				yym1956 := z.DecBinary()
				_ = yym1956
				if false {
				} else {
					h.decSlicePodAffinityTerm((*[]PodAffinityTerm)(yyv1955), d)
				}
			}
		case "preferredDuringSchedulingIgnoredDuringExecution":
			if r.TryDecodeAsNil() {
				x.PreferredDuringSchedulingIgnoredDuringExecution = nil
			} else {
				yyv1957 := &x.PreferredDuringSchedulingIgnoredDuringExecution
				yym1958 := z.DecBinary()
				_ = yym1958
				if false {
				} else {
					h.decSliceWeightedPodAffinityTerm((*[]WeightedPodAffinityTerm)(yyv1957), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1954)
		} // end switch yys1954
	} // end for yyj1954
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodAffinity) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1959 int
	var yyb1959 bool
	var yyhl1959 bool = l >= 0
	yyj1959++
	if yyhl1959 {
		yyb1959 = yyj1959 > l
	} else {
		yyb1959 = r.CheckBreak()
	}
	if yyb1959 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RequiredDuringSchedulingIgnoredDuringExecution = nil
	} else {
		yyv1960 := &x.RequiredDuringSchedulingIgnoredDuringExecution
		yym1961 := z.DecBinary()
		_ = yym1961
		if false {
		} else {
			h.decSlicePodAffinityTerm((*[]PodAffinityTerm)(yyv1960), d)
		}
	}
	yyj1959++
	if yyhl1959 {
		yyb1959 = yyj1959 > l
	} else {
		yyb1959 = r.CheckBreak()
	}
	if yyb1959 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PreferredDuringSchedulingIgnoredDuringExecution = nil
	} else {
		yyv1962 := &x.PreferredDuringSchedulingIgnoredDuringExecution
		yym1963 := z.DecBinary()
		_ = yym1963
		if false {
		} else {
			h.decSliceWeightedPodAffinityTerm((*[]WeightedPodAffinityTerm)(yyv1962), d)
		}
	}
	for {
		yyj1959++
		if yyhl1959 {
			yyb1959 = yyj1959 > l
		} else {
			yyb1959 = r.CheckBreak()
		}
		if yyb1959 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1959-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodAntiAffinity) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1964 := z.EncBinary()
		_ = yym1964
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1965 := !z.EncBinary()
			yy2arr1965 := z.EncBasicHandle().StructToArray
			var yyq1965 [2]bool
			_, _, _ = yysep1965, yyq1965, yy2arr1965
			const yyr1965 bool = false
			yyq1965[0] = len(x.RequiredDuringSchedulingIgnoredDuringExecution) != 0
			yyq1965[1] = len(x.PreferredDuringSchedulingIgnoredDuringExecution) != 0
			var yynn1965 int
			if yyr1965 || yy2arr1965 {
				r.EncodeArrayStart(2)
			} else {
				yynn1965 = 0
				for _, b := range yyq1965 {
					if b {
						yynn1965++
					}
				}
				r.EncodeMapStart(yynn1965)
				yynn1965 = 0
			}
			if yyr1965 || yy2arr1965 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1965[0] {
					if x.RequiredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1967 := z.EncBinary()
						_ = yym1967
						if false {
						} else {
							h.encSlicePodAffinityTerm(([]PodAffinityTerm)(x.RequiredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1965[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("requiredDuringSchedulingIgnoredDuringExecution"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RequiredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1968 := z.EncBinary()
						_ = yym1968
						if false {
						} else {
							h.encSlicePodAffinityTerm(([]PodAffinityTerm)(x.RequiredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				}
			}
			if yyr1965 || yy2arr1965 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1965[1] {
					if x.PreferredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1970 := z.EncBinary()
						_ = yym1970
						if false {
						} else {
							h.encSliceWeightedPodAffinityTerm(([]WeightedPodAffinityTerm)(x.PreferredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1965[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("preferredDuringSchedulingIgnoredDuringExecution"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PreferredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1971 := z.EncBinary()
						_ = yym1971
						if false {
						} else {
							h.encSliceWeightedPodAffinityTerm(([]WeightedPodAffinityTerm)(x.PreferredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				}
			}
			if yyr1965 || yy2arr1965 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodAntiAffinity) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1972 := z.DecBinary()
	_ = yym1972
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1973 := r.ContainerType()
		if yyct1973 == codecSelferValueTypeMap1234 {
			yyl1973 := r.ReadMapStart()
			if yyl1973 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1973, d)
			}
		} else if yyct1973 == codecSelferValueTypeArray1234 {
			yyl1973 := r.ReadArrayStart()
			if yyl1973 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1973, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodAntiAffinity) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1974Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1974Slc
	var yyhl1974 bool = l >= 0
	for yyj1974 := 0; ; yyj1974++ {
		if yyhl1974 {
			if yyj1974 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1974Slc = r.DecodeBytes(yys1974Slc, true, true)
		yys1974 := string(yys1974Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1974 {
		case "requiredDuringSchedulingIgnoredDuringExecution":
			if r.TryDecodeAsNil() {
				x.RequiredDuringSchedulingIgnoredDuringExecution = nil
			} else {
				yyv1975 := &x.RequiredDuringSchedulingIgnoredDuringExecution
				yym1976 := z.DecBinary()
				_ = yym1976
				if false {
				} else {
					h.decSlicePodAffinityTerm((*[]PodAffinityTerm)(yyv1975), d)
				}
			}
		case "preferredDuringSchedulingIgnoredDuringExecution":
			if r.TryDecodeAsNil() {
				x.PreferredDuringSchedulingIgnoredDuringExecution = nil
			} else {
				yyv1977 := &x.PreferredDuringSchedulingIgnoredDuringExecution
				yym1978 := z.DecBinary()
				_ = yym1978
				if false {
				} else {
					h.decSliceWeightedPodAffinityTerm((*[]WeightedPodAffinityTerm)(yyv1977), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1974)
		} // end switch yys1974
	} // end for yyj1974
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodAntiAffinity) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1979 int
	var yyb1979 bool
	var yyhl1979 bool = l >= 0
	yyj1979++
	if yyhl1979 {
		yyb1979 = yyj1979 > l
	} else {
		yyb1979 = r.CheckBreak()
	}
	if yyb1979 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RequiredDuringSchedulingIgnoredDuringExecution = nil
	} else {
		yyv1980 := &x.RequiredDuringSchedulingIgnoredDuringExecution
		yym1981 := z.DecBinary()
		_ = yym1981
		if false {
		} else {
			h.decSlicePodAffinityTerm((*[]PodAffinityTerm)(yyv1980), d)
		}
	}
	yyj1979++
	if yyhl1979 {
		yyb1979 = yyj1979 > l
	} else {
		yyb1979 = r.CheckBreak()
	}
	if yyb1979 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PreferredDuringSchedulingIgnoredDuringExecution = nil
	} else {
		yyv1982 := &x.PreferredDuringSchedulingIgnoredDuringExecution
		yym1983 := z.DecBinary()
		_ = yym1983
		if false {
		} else {
			h.decSliceWeightedPodAffinityTerm((*[]WeightedPodAffinityTerm)(yyv1982), d)
		}
	}
	for {
		yyj1979++
		if yyhl1979 {
			yyb1979 = yyj1979 > l
		} else {
			yyb1979 = r.CheckBreak()
		}
		if yyb1979 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1979-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *WeightedPodAffinityTerm) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1984 := z.EncBinary()
		_ = yym1984
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1985 := !z.EncBinary()
			yy2arr1985 := z.EncBasicHandle().StructToArray
			var yyq1985 [2]bool
			_, _, _ = yysep1985, yyq1985, yy2arr1985
			const yyr1985 bool = false
			var yynn1985 int
			if yyr1985 || yy2arr1985 {
				r.EncodeArrayStart(2)
			} else {
				yynn1985 = 2
				for _, b := range yyq1985 {
					if b {
						yynn1985++
					}
				}
				r.EncodeMapStart(yynn1985)
				yynn1985 = 0
			}
			if yyr1985 || yy2arr1985 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1987 := z.EncBinary()
				_ = yym1987
				if false {
				} else {
					r.EncodeInt(int64(x.Weight))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("weight"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1988 := z.EncBinary()
				_ = yym1988
				if false {
				} else {
					r.EncodeInt(int64(x.Weight))
				}
			}
			if yyr1985 || yy2arr1985 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy1990 := &x.PodAffinityTerm
				yy1990.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("podAffinityTerm"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy1991 := &x.PodAffinityTerm
				yy1991.CodecEncodeSelf(e)
			}
			if yyr1985 || yy2arr1985 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *WeightedPodAffinityTerm) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1992 := z.DecBinary()
	_ = yym1992
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1993 := r.ContainerType()
		if yyct1993 == codecSelferValueTypeMap1234 {
			yyl1993 := r.ReadMapStart()
			if yyl1993 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1993, d)
			}
		} else if yyct1993 == codecSelferValueTypeArray1234 {
			yyl1993 := r.ReadArrayStart()
			if yyl1993 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1993, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *WeightedPodAffinityTerm) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1994Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1994Slc
	var yyhl1994 bool = l >= 0
	for yyj1994 := 0; ; yyj1994++ {
		if yyhl1994 {
			if yyj1994 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1994Slc = r.DecodeBytes(yys1994Slc, true, true)
		yys1994 := string(yys1994Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1994 {
		case "weight":
			if r.TryDecodeAsNil() {
				x.Weight = 0
			} else {
				x.Weight = int32(r.DecodeInt(32))
			}
		case "podAffinityTerm":
			if r.TryDecodeAsNil() {
				x.PodAffinityTerm = PodAffinityTerm{}
			} else {
				yyv1996 := &x.PodAffinityTerm
				yyv1996.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1994)
		} // end switch yys1994
	} // end for yyj1994
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *WeightedPodAffinityTerm) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1997 int
	var yyb1997 bool
	var yyhl1997 bool = l >= 0
	yyj1997++
	if yyhl1997 {
		yyb1997 = yyj1997 > l
	} else {
		yyb1997 = r.CheckBreak()
	}
	if yyb1997 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Weight = 0
	} else {
		x.Weight = int32(r.DecodeInt(32))
	}
	yyj1997++
	if yyhl1997 {
		yyb1997 = yyj1997 > l
	} else {
		yyb1997 = r.CheckBreak()
	}
	if yyb1997 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PodAffinityTerm = PodAffinityTerm{}
	} else {
		yyv1999 := &x.PodAffinityTerm
		yyv1999.CodecDecodeSelf(d)
	}
	for {
		yyj1997++
		if yyhl1997 {
			yyb1997 = yyj1997 > l
		} else {
			yyb1997 = r.CheckBreak()
		}
		if yyb1997 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1997-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodAffinityTerm) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2000 := z.EncBinary()
		_ = yym2000
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2001 := !z.EncBinary()
			yy2arr2001 := z.EncBasicHandle().StructToArray
			var yyq2001 [3]bool
			_, _, _ = yysep2001, yyq2001, yy2arr2001
			const yyr2001 bool = false
			yyq2001[0] = x.LabelSelector != nil
			yyq2001[2] = x.TopologyKey != ""
			var yynn2001 int
			if yyr2001 || yy2arr2001 {
				r.EncodeArrayStart(3)
			} else {
				yynn2001 = 1
				for _, b := range yyq2001 {
					if b {
						yynn2001++
					}
				}
				r.EncodeMapStart(yynn2001)
				yynn2001 = 0
			}
			if yyr2001 || yy2arr2001 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2001[0] {
					if x.LabelSelector == nil {
						r.EncodeNil()
					} else {
						yym2003 := z.EncBinary()
						_ = yym2003
						if false {
						} else if z.HasExtensions() && z.EncExt(x.LabelSelector) {
						} else {
							z.EncFallback(x.LabelSelector)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2001[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("labelSelector"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.LabelSelector == nil {
						r.EncodeNil()
					} else {
						yym2004 := z.EncBinary()
						_ = yym2004
						if false {
						} else if z.HasExtensions() && z.EncExt(x.LabelSelector) {
						} else {
							z.EncFallback(x.LabelSelector)
						}
					}
				}
			}
			if yyr2001 || yy2arr2001 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Namespaces == nil {
					r.EncodeNil()
				} else {
					yym2006 := z.EncBinary()
					_ = yym2006
					if false {
					} else {
						z.F.EncSliceStringV(x.Namespaces, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("namespaces"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Namespaces == nil {
					r.EncodeNil()
				} else {
					yym2007 := z.EncBinary()
					_ = yym2007
					if false {
					} else {
						z.F.EncSliceStringV(x.Namespaces, false, e)
					}
				}
			}
			if yyr2001 || yy2arr2001 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2001[2] {
					yym2009 := z.EncBinary()
					_ = yym2009
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TopologyKey))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2001[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("topologyKey"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2010 := z.EncBinary()
					_ = yym2010
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TopologyKey))
					}
				}
			}
			if yyr2001 || yy2arr2001 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodAffinityTerm) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2011 := z.DecBinary()
	_ = yym2011
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2012 := r.ContainerType()
		if yyct2012 == codecSelferValueTypeMap1234 {
			yyl2012 := r.ReadMapStart()
			if yyl2012 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2012, d)
			}
		} else if yyct2012 == codecSelferValueTypeArray1234 {
			yyl2012 := r.ReadArrayStart()
			if yyl2012 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2012, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodAffinityTerm) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2013Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2013Slc
	var yyhl2013 bool = l >= 0
	for yyj2013 := 0; ; yyj2013++ {
		if yyhl2013 {
			if yyj2013 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2013Slc = r.DecodeBytes(yys2013Slc, true, true)
		yys2013 := string(yys2013Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2013 {
		case "labelSelector":
			if r.TryDecodeAsNil() {
				if x.LabelSelector != nil {
					x.LabelSelector = nil
				}
			} else {
				if x.LabelSelector == nil {
					x.LabelSelector = new(pkg2_v1.LabelSelector)
				}
				yym2015 := z.DecBinary()
				_ = yym2015
				if false {
				} else if z.HasExtensions() && z.DecExt(x.LabelSelector) {
				} else {
					z.DecFallback(x.LabelSelector, false)
				}
			}
		case "namespaces":
			if r.TryDecodeAsNil() {
				x.Namespaces = nil
			} else {
				yyv2016 := &x.Namespaces
				yym2017 := z.DecBinary()
				_ = yym2017
				if false {
				} else {
					z.F.DecSliceStringX(yyv2016, false, d)
				}
			}
		case "topologyKey":
			if r.TryDecodeAsNil() {
				x.TopologyKey = ""
			} else {
				x.TopologyKey = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2013)
		} // end switch yys2013
	} // end for yyj2013
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodAffinityTerm) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2019 int
	var yyb2019 bool
	var yyhl2019 bool = l >= 0
	yyj2019++
	if yyhl2019 {
		yyb2019 = yyj2019 > l
	} else {
		yyb2019 = r.CheckBreak()
	}
	if yyb2019 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.LabelSelector != nil {
			x.LabelSelector = nil
		}
	} else {
		if x.LabelSelector == nil {
			x.LabelSelector = new(pkg2_v1.LabelSelector)
		}
		yym2021 := z.DecBinary()
		_ = yym2021
		if false {
		} else if z.HasExtensions() && z.DecExt(x.LabelSelector) {
		} else {
			z.DecFallback(x.LabelSelector, false)
		}
	}
	yyj2019++
	if yyhl2019 {
		yyb2019 = yyj2019 > l
	} else {
		yyb2019 = r.CheckBreak()
	}
	if yyb2019 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Namespaces = nil
	} else {
		yyv2022 := &x.Namespaces
		yym2023 := z.DecBinary()
		_ = yym2023
		if false {
		} else {
			z.F.DecSliceStringX(yyv2022, false, d)
		}
	}
	yyj2019++
	if yyhl2019 {
		yyb2019 = yyj2019 > l
	} else {
		yyb2019 = r.CheckBreak()
	}
	if yyb2019 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TopologyKey = ""
	} else {
		x.TopologyKey = string(r.DecodeString())
	}
	for {
		yyj2019++
		if yyhl2019 {
			yyb2019 = yyj2019 > l
		} else {
			yyb2019 = r.CheckBreak()
		}
		if yyb2019 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2019-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeAffinity) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2025 := z.EncBinary()
		_ = yym2025
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2026 := !z.EncBinary()
			yy2arr2026 := z.EncBasicHandle().StructToArray
			var yyq2026 [2]bool
			_, _, _ = yysep2026, yyq2026, yy2arr2026
			const yyr2026 bool = false
			yyq2026[0] = x.RequiredDuringSchedulingIgnoredDuringExecution != nil
			yyq2026[1] = len(x.PreferredDuringSchedulingIgnoredDuringExecution) != 0
			var yynn2026 int
			if yyr2026 || yy2arr2026 {
				r.EncodeArrayStart(2)
			} else {
				yynn2026 = 0
				for _, b := range yyq2026 {
					if b {
						yynn2026++
					}
				}
				r.EncodeMapStart(yynn2026)
				yynn2026 = 0
			}
			if yyr2026 || yy2arr2026 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2026[0] {
					if x.RequiredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						x.RequiredDuringSchedulingIgnoredDuringExecution.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2026[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("requiredDuringSchedulingIgnoredDuringExecution"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RequiredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						x.RequiredDuringSchedulingIgnoredDuringExecution.CodecEncodeSelf(e)
					}
				}
			}
			if yyr2026 || yy2arr2026 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2026[1] {
					if x.PreferredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym2029 := z.EncBinary()
						_ = yym2029
						if false {
						} else {
							h.encSlicePreferredSchedulingTerm(([]PreferredSchedulingTerm)(x.PreferredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2026[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("preferredDuringSchedulingIgnoredDuringExecution"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PreferredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym2030 := z.EncBinary()
						_ = yym2030
						if false {
						} else {
							h.encSlicePreferredSchedulingTerm(([]PreferredSchedulingTerm)(x.PreferredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				}
			}
			if yyr2026 || yy2arr2026 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeAffinity) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2031 := z.DecBinary()
	_ = yym2031
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2032 := r.ContainerType()
		if yyct2032 == codecSelferValueTypeMap1234 {
			yyl2032 := r.ReadMapStart()
			if yyl2032 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2032, d)
			}
		} else if yyct2032 == codecSelferValueTypeArray1234 {
			yyl2032 := r.ReadArrayStart()
			if yyl2032 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2032, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeAffinity) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2033Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2033Slc
	var yyhl2033 bool = l >= 0
	for yyj2033 := 0; ; yyj2033++ {
		if yyhl2033 {
			if yyj2033 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2033Slc = r.DecodeBytes(yys2033Slc, true, true)
		yys2033 := string(yys2033Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2033 {
		case "requiredDuringSchedulingIgnoredDuringExecution":
			if r.TryDecodeAsNil() {
				if x.RequiredDuringSchedulingIgnoredDuringExecution != nil {
					x.RequiredDuringSchedulingIgnoredDuringExecution = nil
				}
			} else {
				if x.RequiredDuringSchedulingIgnoredDuringExecution == nil {
					x.RequiredDuringSchedulingIgnoredDuringExecution = new(NodeSelector)
				}
				x.RequiredDuringSchedulingIgnoredDuringExecution.CodecDecodeSelf(d)
			}
		case "preferredDuringSchedulingIgnoredDuringExecution":
			if r.TryDecodeAsNil() {
				x.PreferredDuringSchedulingIgnoredDuringExecution = nil
			} else {
				yyv2035 := &x.PreferredDuringSchedulingIgnoredDuringExecution
				yym2036 := z.DecBinary()
				_ = yym2036
				if false {
				} else {
					h.decSlicePreferredSchedulingTerm((*[]PreferredSchedulingTerm)(yyv2035), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2033)
		} // end switch yys2033
	} // end for yyj2033
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeAffinity) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2037 int
	var yyb2037 bool
	var yyhl2037 bool = l >= 0
	yyj2037++
	if yyhl2037 {
		yyb2037 = yyj2037 > l
	} else {
		yyb2037 = r.CheckBreak()
	}
	if yyb2037 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RequiredDuringSchedulingIgnoredDuringExecution != nil {
			x.RequiredDuringSchedulingIgnoredDuringExecution = nil
		}
	} else {
		if x.RequiredDuringSchedulingIgnoredDuringExecution == nil {
			x.RequiredDuringSchedulingIgnoredDuringExecution = new(NodeSelector)
		}
		x.RequiredDuringSchedulingIgnoredDuringExecution.CodecDecodeSelf(d)
	}
	yyj2037++
	if yyhl2037 {
		yyb2037 = yyj2037 > l
	} else {
		yyb2037 = r.CheckBreak()
	}
	if yyb2037 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PreferredDuringSchedulingIgnoredDuringExecution = nil
	} else {
		yyv2039 := &x.PreferredDuringSchedulingIgnoredDuringExecution
		yym2040 := z.DecBinary()
		_ = yym2040
		if false {
		} else {
			h.decSlicePreferredSchedulingTerm((*[]PreferredSchedulingTerm)(yyv2039), d)
		}
	}
	for {
		yyj2037++
		if yyhl2037 {
			yyb2037 = yyj2037 > l
		} else {
			yyb2037 = r.CheckBreak()
		}
		if yyb2037 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2037-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PreferredSchedulingTerm) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2041 := z.EncBinary()
		_ = yym2041
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2042 := !z.EncBinary()
			yy2arr2042 := z.EncBasicHandle().StructToArray
			var yyq2042 [2]bool
			_, _, _ = yysep2042, yyq2042, yy2arr2042
			const yyr2042 bool = false
			var yynn2042 int
			if yyr2042 || yy2arr2042 {
				r.EncodeArrayStart(2)
			} else {
				yynn2042 = 2
				for _, b := range yyq2042 {
					if b {
						yynn2042++
					}
				}
				r.EncodeMapStart(yynn2042)
				yynn2042 = 0
			}
			if yyr2042 || yy2arr2042 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2044 := z.EncBinary()
				_ = yym2044
				if false {
				} else {
					r.EncodeInt(int64(x.Weight))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("weight"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2045 := z.EncBinary()
				_ = yym2045
				if false {
				} else {
					r.EncodeInt(int64(x.Weight))
				}
			}
			if yyr2042 || yy2arr2042 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy2047 := &x.Preference
				yy2047.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("preference"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy2048 := &x.Preference
				yy2048.CodecEncodeSelf(e)
			}
			if yyr2042 || yy2arr2042 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PreferredSchedulingTerm) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2049 := z.DecBinary()
	_ = yym2049
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2050 := r.ContainerType()
		if yyct2050 == codecSelferValueTypeMap1234 {
			yyl2050 := r.ReadMapStart()
			if yyl2050 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2050, d)
			}
		} else if yyct2050 == codecSelferValueTypeArray1234 {
			yyl2050 := r.ReadArrayStart()
			if yyl2050 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2050, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PreferredSchedulingTerm) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2051Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2051Slc
	var yyhl2051 bool = l >= 0
	for yyj2051 := 0; ; yyj2051++ {
		if yyhl2051 {
			if yyj2051 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2051Slc = r.DecodeBytes(yys2051Slc, true, true)
		yys2051 := string(yys2051Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2051 {
		case "weight":
			if r.TryDecodeAsNil() {
				x.Weight = 0
			} else {
				x.Weight = int32(r.DecodeInt(32))
			}
		case "preference":
			if r.TryDecodeAsNil() {
				x.Preference = NodeSelectorTerm{}
			} else {
				yyv2053 := &x.Preference
				yyv2053.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2051)
		} // end switch yys2051
	} // end for yyj2051
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PreferredSchedulingTerm) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2054 int
	var yyb2054 bool
	var yyhl2054 bool = l >= 0
	yyj2054++
	if yyhl2054 {
		yyb2054 = yyj2054 > l
	} else {
		yyb2054 = r.CheckBreak()
	}
	if yyb2054 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Weight = 0
	} else {
		x.Weight = int32(r.DecodeInt(32))
	}
	yyj2054++
	if yyhl2054 {
		yyb2054 = yyj2054 > l
	} else {
		yyb2054 = r.CheckBreak()
	}
	if yyb2054 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Preference = NodeSelectorTerm{}
	} else {
		yyv2056 := &x.Preference
		yyv2056.CodecDecodeSelf(d)
	}
	for {
		yyj2054++
		if yyhl2054 {
			yyb2054 = yyj2054 > l
		} else {
			yyb2054 = r.CheckBreak()
		}
		if yyb2054 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2054-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Taint) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2057 := z.EncBinary()
		_ = yym2057
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2058 := !z.EncBinary()
			yy2arr2058 := z.EncBasicHandle().StructToArray
			var yyq2058 [3]bool
			_, _, _ = yysep2058, yyq2058, yy2arr2058
			const yyr2058 bool = false
			yyq2058[1] = x.Value != ""
			var yynn2058 int
			if yyr2058 || yy2arr2058 {
				r.EncodeArrayStart(3)
			} else {
				yynn2058 = 2
				for _, b := range yyq2058 {
					if b {
						yynn2058++
					}
				}
				r.EncodeMapStart(yynn2058)
				yynn2058 = 0
			}
			if yyr2058 || yy2arr2058 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2060 := z.EncBinary()
				_ = yym2060
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("key"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2061 := z.EncBinary()
				_ = yym2061
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			}
			if yyr2058 || yy2arr2058 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2058[1] {
					yym2063 := z.EncBinary()
					_ = yym2063
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2058[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("value"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2064 := z.EncBinary()
					_ = yym2064
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				}
			}
			if yyr2058 || yy2arr2058 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Effect.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("effect"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Effect.CodecEncodeSelf(e)
			}
			if yyr2058 || yy2arr2058 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Taint) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2066 := z.DecBinary()
	_ = yym2066
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2067 := r.ContainerType()
		if yyct2067 == codecSelferValueTypeMap1234 {
			yyl2067 := r.ReadMapStart()
			if yyl2067 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2067, d)
			}
		} else if yyct2067 == codecSelferValueTypeArray1234 {
			yyl2067 := r.ReadArrayStart()
			if yyl2067 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2067, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Taint) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2068Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2068Slc
	var yyhl2068 bool = l >= 0
	for yyj2068 := 0; ; yyj2068++ {
		if yyhl2068 {
			if yyj2068 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2068Slc = r.DecodeBytes(yys2068Slc, true, true)
		yys2068 := string(yys2068Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2068 {
		case "key":
			if r.TryDecodeAsNil() {
				x.Key = ""
			} else {
				x.Key = string(r.DecodeString())
			}
		case "value":
			if r.TryDecodeAsNil() {
				x.Value = ""
			} else {
				x.Value = string(r.DecodeString())
			}
		case "effect":
			if r.TryDecodeAsNil() {
				x.Effect = ""
			} else {
				x.Effect = TaintEffect(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2068)
		} // end switch yys2068
	} // end for yyj2068
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Taint) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2072 int
	var yyb2072 bool
	var yyhl2072 bool = l >= 0
	yyj2072++
	if yyhl2072 {
		yyb2072 = yyj2072 > l
	} else {
		yyb2072 = r.CheckBreak()
	}
	if yyb2072 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	yyj2072++
	if yyhl2072 {
		yyb2072 = yyj2072 > l
	} else {
		yyb2072 = r.CheckBreak()
	}
	if yyb2072 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Value = ""
	} else {
		x.Value = string(r.DecodeString())
	}
	yyj2072++
	if yyhl2072 {
		yyb2072 = yyj2072 > l
	} else {
		yyb2072 = r.CheckBreak()
	}
	if yyb2072 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Effect = ""
	} else {
		x.Effect = TaintEffect(r.DecodeString())
	}
	for {
		yyj2072++
		if yyhl2072 {
			yyb2072 = yyj2072 > l
		} else {
			yyb2072 = r.CheckBreak()
		}
		if yyb2072 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2072-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x TaintEffect) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2076 := z.EncBinary()
	_ = yym2076
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *TaintEffect) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2077 := z.DecBinary()
	_ = yym2077
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *Toleration) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2078 := z.EncBinary()
		_ = yym2078
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2079 := !z.EncBinary()
			yy2arr2079 := z.EncBasicHandle().StructToArray
			var yyq2079 [4]bool
			_, _, _ = yysep2079, yyq2079, yy2arr2079
			const yyr2079 bool = false
			yyq2079[0] = x.Key != ""
			yyq2079[1] = x.Operator != ""
			yyq2079[2] = x.Value != ""
			yyq2079[3] = x.Effect != ""
			var yynn2079 int
			if yyr2079 || yy2arr2079 {
				r.EncodeArrayStart(4)
			} else {
				yynn2079 = 0
				for _, b := range yyq2079 {
					if b {
						yynn2079++
					}
				}
				r.EncodeMapStart(yynn2079)
				yynn2079 = 0
			}
			if yyr2079 || yy2arr2079 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2079[0] {
					yym2081 := z.EncBinary()
					_ = yym2081
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Key))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2079[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("key"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2082 := z.EncBinary()
					_ = yym2082
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Key))
					}
				}
			}
			if yyr2079 || yy2arr2079 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2079[1] {
					x.Operator.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2079[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("operator"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Operator.CodecEncodeSelf(e)
				}
			}
			if yyr2079 || yy2arr2079 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2079[2] {
					yym2085 := z.EncBinary()
					_ = yym2085
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2079[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("value"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2086 := z.EncBinary()
					_ = yym2086
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				}
			}
			if yyr2079 || yy2arr2079 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2079[3] {
					x.Effect.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2079[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("effect"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Effect.CodecEncodeSelf(e)
				}
			}
			if yyr2079 || yy2arr2079 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Toleration) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2088 := z.DecBinary()
	_ = yym2088
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2089 := r.ContainerType()
		if yyct2089 == codecSelferValueTypeMap1234 {
			yyl2089 := r.ReadMapStart()
			if yyl2089 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2089, d)
			}
		} else if yyct2089 == codecSelferValueTypeArray1234 {
			yyl2089 := r.ReadArrayStart()
			if yyl2089 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2089, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Toleration) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2090Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2090Slc
	var yyhl2090 bool = l >= 0
	for yyj2090 := 0; ; yyj2090++ {
		if yyhl2090 {
			if yyj2090 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2090Slc = r.DecodeBytes(yys2090Slc, true, true)
		yys2090 := string(yys2090Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2090 {
		case "key":
			if r.TryDecodeAsNil() {
				x.Key = ""
			} else {
				x.Key = string(r.DecodeString())
			}
		case "operator":
			if r.TryDecodeAsNil() {
				x.Operator = ""
			} else {
				x.Operator = TolerationOperator(r.DecodeString())
			}
		case "value":
			if r.TryDecodeAsNil() {
				x.Value = ""
			} else {
				x.Value = string(r.DecodeString())
			}
		case "effect":
			if r.TryDecodeAsNil() {
				x.Effect = ""
			} else {
				x.Effect = TaintEffect(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2090)
		} // end switch yys2090
	} // end for yyj2090
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Toleration) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2095 int
	var yyb2095 bool
	var yyhl2095 bool = l >= 0
	yyj2095++
	if yyhl2095 {
		yyb2095 = yyj2095 > l
	} else {
		yyb2095 = r.CheckBreak()
	}
	if yyb2095 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	yyj2095++
	if yyhl2095 {
		yyb2095 = yyj2095 > l
	} else {
		yyb2095 = r.CheckBreak()
	}
	if yyb2095 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Operator = ""
	} else {
		x.Operator = TolerationOperator(r.DecodeString())
	}
	yyj2095++
	if yyhl2095 {
		yyb2095 = yyj2095 > l
	} else {
		yyb2095 = r.CheckBreak()
	}
	if yyb2095 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Value = ""
	} else {
		x.Value = string(r.DecodeString())
	}
	yyj2095++
	if yyhl2095 {
		yyb2095 = yyj2095 > l
	} else {
		yyb2095 = r.CheckBreak()
	}
	if yyb2095 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Effect = ""
	} else {
		x.Effect = TaintEffect(r.DecodeString())
	}
	for {
		yyj2095++
		if yyhl2095 {
			yyb2095 = yyj2095 > l
		} else {
			yyb2095 = r.CheckBreak()
		}
		if yyb2095 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2095-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x TolerationOperator) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2100 := z.EncBinary()
	_ = yym2100
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *TolerationOperator) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2101 := z.DecBinary()
	_ = yym2101
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *PodSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2102 := z.EncBinary()
		_ = yym2102
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2103 := !z.EncBinary()
			yy2arr2103 := z.EncBasicHandle().StructToArray
			var yyq2103 [13]bool
			_, _, _ = yysep2103, yyq2103, yy2arr2103
			const yyr2103 bool = false
			yyq2103[2] = x.RestartPolicy != ""
			yyq2103[3] = x.TerminationGracePeriodSeconds != nil
			yyq2103[4] = x.ActiveDeadlineSeconds != nil
			yyq2103[5] = x.DNSPolicy != ""
			yyq2103[6] = len(x.NodeSelector) != 0
			yyq2103[8] = x.NodeName != ""
			yyq2103[9] = x.SecurityContext != nil
			yyq2103[10] = len(x.ImagePullSecrets) != 0
			yyq2103[11] = x.Hostname != ""
			yyq2103[12] = x.Subdomain != ""
			var yynn2103 int
			if yyr2103 || yy2arr2103 {
				r.EncodeArrayStart(13)
			} else {
				yynn2103 = 3
				for _, b := range yyq2103 {
					if b {
						yynn2103++
					}
				}
				r.EncodeMapStart(yynn2103)
				yynn2103 = 0
			}
			if yyr2103 || yy2arr2103 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Volumes == nil {
					r.EncodeNil()
				} else {
					yym2105 := z.EncBinary()
					_ = yym2105
					if false {
					} else {
						h.encSliceVolume(([]Volume)(x.Volumes), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("volumes"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Volumes == nil {
					r.EncodeNil()
				} else {
					yym2106 := z.EncBinary()
					_ = yym2106
					if false {
					} else {
						h.encSliceVolume(([]Volume)(x.Volumes), e)
					}
				}
			}
			if yyr2103 || yy2arr2103 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Containers == nil {
					r.EncodeNil()
				} else {
					yym2108 := z.EncBinary()
					_ = yym2108
					if false {
					} else {
						h.encSliceContainer(([]Container)(x.Containers), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("containers"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Containers == nil {
					r.EncodeNil()
				} else {
					yym2109 := z.EncBinary()
					_ = yym2109
					if false {
					} else {
						h.encSliceContainer(([]Container)(x.Containers), e)
					}
				}
			}
			if yyr2103 || yy2arr2103 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2103[2] {
					x.RestartPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2103[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("restartPolicy"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.RestartPolicy.CodecEncodeSelf(e)
				}
			}
			if yyr2103 || yy2arr2103 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2103[3] {
					if x.TerminationGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy2112 := *x.TerminationGracePeriodSeconds
						yym2113 := z.EncBinary()
						_ = yym2113
						if false {
						} else {
							r.EncodeInt(int64(yy2112))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2103[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("terminationGracePeriodSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.TerminationGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy2114 := *x.TerminationGracePeriodSeconds
						yym2115 := z.EncBinary()
						_ = yym2115
						if false {
						} else {
							r.EncodeInt(int64(yy2114))
						}
					}
				}
			}
			if yyr2103 || yy2arr2103 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2103[4] {
					if x.ActiveDeadlineSeconds == nil {
						r.EncodeNil()
					} else {
						yy2117 := *x.ActiveDeadlineSeconds
						yym2118 := z.EncBinary()
						_ = yym2118
						if false {
						} else {
							r.EncodeInt(int64(yy2117))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2103[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("activeDeadlineSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ActiveDeadlineSeconds == nil {
						r.EncodeNil()
					} else {
						yy2119 := *x.ActiveDeadlineSeconds
						yym2120 := z.EncBinary()
						_ = yym2120
						if false {
						} else {
							r.EncodeInt(int64(yy2119))
						}
					}
				}
			}
			if yyr2103 || yy2arr2103 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2103[5] {
					x.DNSPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2103[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("dnsPolicy"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.DNSPolicy.CodecEncodeSelf(e)
				}
			}
			if yyr2103 || yy2arr2103 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2103[6] {
					if x.NodeSelector == nil {
						r.EncodeNil()
					} else {
						yym2123 := z.EncBinary()
						_ = yym2123
						if false {
						} else {
							z.F.EncMapStringStringV(x.NodeSelector, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2103[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nodeSelector"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.NodeSelector == nil {
						r.EncodeNil()
					} else {
						yym2124 := z.EncBinary()
						_ = yym2124
						if false {
						} else {
							z.F.EncMapStringStringV(x.NodeSelector, false, e)
						}
					}
				}
			}
			if yyr2103 || yy2arr2103 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2126 := z.EncBinary()
				_ = yym2126
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ServiceAccountName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("serviceAccountName"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2127 := z.EncBinary()
				_ = yym2127
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ServiceAccountName))
				}
			}
			if yyr2103 || yy2arr2103 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2103[8] {
					yym2129 := z.EncBinary()
					_ = yym2129
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.NodeName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2103[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nodeName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2130 := z.EncBinary()
					_ = yym2130
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.NodeName))
					}
				}
			}
			if yyr2103 || yy2arr2103 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2103[9] {
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2103[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("securityContext"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				}
			}
			if yyr2103 || yy2arr2103 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2103[10] {
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym2133 := z.EncBinary()
						_ = yym2133
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2103[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("imagePullSecrets"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym2134 := z.EncBinary()
						_ = yym2134
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				}
			}
			if yyr2103 || yy2arr2103 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2103[11] {
					yym2136 := z.EncBinary()
					_ = yym2136
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2103[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostname"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2137 := z.EncBinary()
					_ = yym2137
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				}
			}
			if yyr2103 || yy2arr2103 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2103[12] {
					yym2139 := z.EncBinary()
					_ = yym2139
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Subdomain))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2103[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("subdomain"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2140 := z.EncBinary()
					_ = yym2140
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Subdomain))
					}
				}
			}
			if yyr2103 || yy2arr2103 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2141 := z.DecBinary()
	_ = yym2141
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2142 := r.ContainerType()
		if yyct2142 == codecSelferValueTypeMap1234 {
			yyl2142 := r.ReadMapStart()
			if yyl2142 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2142, d)
			}
		} else if yyct2142 == codecSelferValueTypeArray1234 {
			yyl2142 := r.ReadArrayStart()
			if yyl2142 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2142, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2143Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2143Slc
	var yyhl2143 bool = l >= 0
	for yyj2143 := 0; ; yyj2143++ {
		if yyhl2143 {
			if yyj2143 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2143Slc = r.DecodeBytes(yys2143Slc, true, true)
		yys2143 := string(yys2143Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2143 {
		case "volumes":
			if r.TryDecodeAsNil() {
				x.Volumes = nil
			} else {
				yyv2144 := &x.Volumes
				yym2145 := z.DecBinary()
				_ = yym2145
				if false {
				} else {
					h.decSliceVolume((*[]Volume)(yyv2144), d)
				}
			}
		case "containers":
			if r.TryDecodeAsNil() {
				x.Containers = nil
			} else {
				yyv2146 := &x.Containers
				yym2147 := z.DecBinary()
				_ = yym2147
				if false {
				} else {
					h.decSliceContainer((*[]Container)(yyv2146), d)
				}
			}
		case "restartPolicy":
			if r.TryDecodeAsNil() {
				x.RestartPolicy = ""
			} else {
				x.RestartPolicy = RestartPolicy(r.DecodeString())
			}
		case "terminationGracePeriodSeconds":
			if r.TryDecodeAsNil() {
				if x.TerminationGracePeriodSeconds != nil {
					x.TerminationGracePeriodSeconds = nil
				}
			} else {
				if x.TerminationGracePeriodSeconds == nil {
					x.TerminationGracePeriodSeconds = new(int64)
				}
				yym2150 := z.DecBinary()
				_ = yym2150
				if false {
				} else {
					*((*int64)(x.TerminationGracePeriodSeconds)) = int64(r.DecodeInt(64))
				}
			}
		case "activeDeadlineSeconds":
			if r.TryDecodeAsNil() {
				if x.ActiveDeadlineSeconds != nil {
					x.ActiveDeadlineSeconds = nil
				}
			} else {
				if x.ActiveDeadlineSeconds == nil {
					x.ActiveDeadlineSeconds = new(int64)
				}
				yym2152 := z.DecBinary()
				_ = yym2152
				if false {
				} else {
					*((*int64)(x.ActiveDeadlineSeconds)) = int64(r.DecodeInt(64))
				}
			}
		case "dnsPolicy":
			if r.TryDecodeAsNil() {
				x.DNSPolicy = ""
			} else {
				x.DNSPolicy = DNSPolicy(r.DecodeString())
			}
		case "nodeSelector":
			if r.TryDecodeAsNil() {
				x.NodeSelector = nil
			} else {
				yyv2154 := &x.NodeSelector
				yym2155 := z.DecBinary()
				_ = yym2155
				if false {
				} else {
					z.F.DecMapStringStringX(yyv2154, false, d)
				}
			}
		case "serviceAccountName":
			if r.TryDecodeAsNil() {
				x.ServiceAccountName = ""
			} else {
				x.ServiceAccountName = string(r.DecodeString())
			}
		case "nodeName":
			if r.TryDecodeAsNil() {
				x.NodeName = ""
			} else {
				x.NodeName = string(r.DecodeString())
			}
		case "securityContext":
			if r.TryDecodeAsNil() {
				if x.SecurityContext != nil {
					x.SecurityContext = nil
				}
			} else {
				if x.SecurityContext == nil {
					x.SecurityContext = new(PodSecurityContext)
				}
				x.SecurityContext.CodecDecodeSelf(d)
			}
		case "imagePullSecrets":
			if r.TryDecodeAsNil() {
				x.ImagePullSecrets = nil
			} else {
				yyv2159 := &x.ImagePullSecrets
				yym2160 := z.DecBinary()
				_ = yym2160
				if false {
				} else {
					h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv2159), d)
				}
			}
		case "hostname":
			if r.TryDecodeAsNil() {
				x.Hostname = ""
			} else {
				x.Hostname = string(r.DecodeString())
			}
		case "subdomain":
			if r.TryDecodeAsNil() {
				x.Subdomain = ""
			} else {
				x.Subdomain = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2143)
		} // end switch yys2143
	} // end for yyj2143
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2163 int
	var yyb2163 bool
	var yyhl2163 bool = l >= 0
	yyj2163++
	if yyhl2163 {
		yyb2163 = yyj2163 > l
	} else {
		yyb2163 = r.CheckBreak()
	}
	if yyb2163 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Volumes = nil
	} else {
		yyv2164 := &x.Volumes
		yym2165 := z.DecBinary()
		_ = yym2165
		if false {
		} else {
			h.decSliceVolume((*[]Volume)(yyv2164), d)
		}
	}
	yyj2163++
	if yyhl2163 {
		yyb2163 = yyj2163 > l
	} else {
		yyb2163 = r.CheckBreak()
	}
	if yyb2163 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Containers = nil
	} else {
		yyv2166 := &x.Containers
		yym2167 := z.DecBinary()
		_ = yym2167
		if false {
		} else {
			h.decSliceContainer((*[]Container)(yyv2166), d)
		}
	}
	yyj2163++
	if yyhl2163 {
		yyb2163 = yyj2163 > l
	} else {
		yyb2163 = r.CheckBreak()
	}
	if yyb2163 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RestartPolicy = ""
	} else {
		x.RestartPolicy = RestartPolicy(r.DecodeString())
	}
	yyj2163++
	if yyhl2163 {
		yyb2163 = yyj2163 > l
	} else {
		yyb2163 = r.CheckBreak()
	}
	if yyb2163 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.TerminationGracePeriodSeconds != nil {
			x.TerminationGracePeriodSeconds = nil
		}
	} else {
		if x.TerminationGracePeriodSeconds == nil {
			x.TerminationGracePeriodSeconds = new(int64)
		}
		yym2170 := z.DecBinary()
		_ = yym2170
		if false {
		} else {
			*((*int64)(x.TerminationGracePeriodSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj2163++
	if yyhl2163 {
		yyb2163 = yyj2163 > l
	} else {
		yyb2163 = r.CheckBreak()
	}
	if yyb2163 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ActiveDeadlineSeconds != nil {
			x.ActiveDeadlineSeconds = nil
		}
	} else {
		if x.ActiveDeadlineSeconds == nil {
			x.ActiveDeadlineSeconds = new(int64)
		}
		yym2172 := z.DecBinary()
		_ = yym2172
		if false {
		} else {
			*((*int64)(x.ActiveDeadlineSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj2163++
	if yyhl2163 {
		yyb2163 = yyj2163 > l
	} else {
		yyb2163 = r.CheckBreak()
	}
	if yyb2163 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DNSPolicy = ""
	} else {
		x.DNSPolicy = DNSPolicy(r.DecodeString())
	}
	yyj2163++
	if yyhl2163 {
		yyb2163 = yyj2163 > l
	} else {
		yyb2163 = r.CheckBreak()
	}
	if yyb2163 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodeSelector = nil
	} else {
		yyv2174 := &x.NodeSelector
		yym2175 := z.DecBinary()
		_ = yym2175
		if false {
		} else {
			z.F.DecMapStringStringX(yyv2174, false, d)
		}
	}
	yyj2163++
	if yyhl2163 {
		yyb2163 = yyj2163 > l
	} else {
		yyb2163 = r.CheckBreak()
	}
	if yyb2163 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ServiceAccountName = ""
	} else {
		x.ServiceAccountName = string(r.DecodeString())
	}
	yyj2163++
	if yyhl2163 {
		yyb2163 = yyj2163 > l
	} else {
		yyb2163 = r.CheckBreak()
	}
	if yyb2163 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodeName = ""
	} else {
		x.NodeName = string(r.DecodeString())
	}
	yyj2163++
	if yyhl2163 {
		yyb2163 = yyj2163 > l
	} else {
		yyb2163 = r.CheckBreak()
	}
	if yyb2163 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SecurityContext != nil {
			x.SecurityContext = nil
		}
	} else {
		if x.SecurityContext == nil {
			x.SecurityContext = new(PodSecurityContext)
		}
		x.SecurityContext.CodecDecodeSelf(d)
	}
	yyj2163++
	if yyhl2163 {
		yyb2163 = yyj2163 > l
	} else {
		yyb2163 = r.CheckBreak()
	}
	if yyb2163 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ImagePullSecrets = nil
	} else {
		yyv2179 := &x.ImagePullSecrets
		yym2180 := z.DecBinary()
		_ = yym2180
		if false {
		} else {
			h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv2179), d)
		}
	}
	yyj2163++
	if yyhl2163 {
		yyb2163 = yyj2163 > l
	} else {
		yyb2163 = r.CheckBreak()
	}
	if yyb2163 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Hostname = ""
	} else {
		x.Hostname = string(r.DecodeString())
	}
	yyj2163++
	if yyhl2163 {
		yyb2163 = yyj2163 > l
	} else {
		yyb2163 = r.CheckBreak()
	}
	if yyb2163 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Subdomain = ""
	} else {
		x.Subdomain = string(r.DecodeString())
	}
	for {
		yyj2163++
		if yyhl2163 {
			yyb2163 = yyj2163 > l
		} else {
			yyb2163 = r.CheckBreak()
		}
		if yyb2163 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2163-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Sysctl) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2183 := z.EncBinary()
		_ = yym2183
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2184 := !z.EncBinary()
			yy2arr2184 := z.EncBasicHandle().StructToArray
			var yyq2184 [2]bool
			_, _, _ = yysep2184, yyq2184, yy2arr2184
			const yyr2184 bool = false
			var yynn2184 int
			if yyr2184 || yy2arr2184 {
				r.EncodeArrayStart(2)
			} else {
				yynn2184 = 2
				for _, b := range yyq2184 {
					if b {
						yynn2184++
					}
				}
				r.EncodeMapStart(yynn2184)
				yynn2184 = 0
			}
			if yyr2184 || yy2arr2184 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2186 := z.EncBinary()
				_ = yym2186
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2187 := z.EncBinary()
				_ = yym2187
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr2184 || yy2arr2184 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2189 := z.EncBinary()
				_ = yym2189
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Value))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("value"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2190 := z.EncBinary()
				_ = yym2190
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Value))
				}
			}
			if yyr2184 || yy2arr2184 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Sysctl) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2191 := z.DecBinary()
	_ = yym2191
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2192 := r.ContainerType()
		if yyct2192 == codecSelferValueTypeMap1234 {
			yyl2192 := r.ReadMapStart()
			if yyl2192 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2192, d)
			}
		} else if yyct2192 == codecSelferValueTypeArray1234 {
			yyl2192 := r.ReadArrayStart()
			if yyl2192 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2192, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Sysctl) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2193Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2193Slc
	var yyhl2193 bool = l >= 0
	for yyj2193 := 0; ; yyj2193++ {
		if yyhl2193 {
			if yyj2193 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2193Slc = r.DecodeBytes(yys2193Slc, true, true)
		yys2193 := string(yys2193Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2193 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "value":
			if r.TryDecodeAsNil() {
				x.Value = ""
			} else {
				x.Value = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2193)
		} // end switch yys2193
	} // end for yyj2193
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Sysctl) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2196 int
	var yyb2196 bool
	var yyhl2196 bool = l >= 0
	yyj2196++
	if yyhl2196 {
		yyb2196 = yyj2196 > l
	} else {
		yyb2196 = r.CheckBreak()
	}
	if yyb2196 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj2196++
	if yyhl2196 {
		yyb2196 = yyj2196 > l
	} else {
		yyb2196 = r.CheckBreak()
	}
	if yyb2196 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Value = ""
	} else {
		x.Value = string(r.DecodeString())
	}
	for {
		yyj2196++
		if yyhl2196 {
			yyb2196 = yyj2196 > l
		} else {
			yyb2196 = r.CheckBreak()
		}
		if yyb2196 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2196-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodSecurityContext) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2199 := z.EncBinary()
		_ = yym2199
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2200 := !z.EncBinary()
			yy2arr2200 := z.EncBasicHandle().StructToArray
			var yyq2200 [8]bool
			_, _, _ = yysep2200, yyq2200, yy2arr2200
			const yyr2200 bool = false
			yyq2200[0] = x.HostNetwork != false
			yyq2200[1] = x.HostPID != false
			yyq2200[2] = x.HostIPC != false
			yyq2200[3] = x.SELinuxOptions != nil
			yyq2200[4] = x.RunAsUser != nil
			yyq2200[5] = x.RunAsNonRoot != nil
			yyq2200[6] = len(x.SupplementalGroups) != 0
			yyq2200[7] = x.FSGroup != nil
			var yynn2200 int
			if yyr2200 || yy2arr2200 {
				r.EncodeArrayStart(8)
			} else {
				yynn2200 = 0
				for _, b := range yyq2200 {
					if b {
						yynn2200++
					}
				}
				r.EncodeMapStart(yynn2200)
				yynn2200 = 0
			}
			if yyr2200 || yy2arr2200 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2200[0] {
					yym2202 := z.EncBinary()
					_ = yym2202
					if false {
					} else {
						r.EncodeBool(bool(x.HostNetwork))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2200[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostNetwork"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2203 := z.EncBinary()
					_ = yym2203
					if false {
					} else {
						r.EncodeBool(bool(x.HostNetwork))
					}
				}
			}
			if yyr2200 || yy2arr2200 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2200[1] {
					yym2205 := z.EncBinary()
					_ = yym2205
					if false {
					} else {
						r.EncodeBool(bool(x.HostPID))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2200[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2206 := z.EncBinary()
					_ = yym2206
					if false {
					} else {
						r.EncodeBool(bool(x.HostPID))
					}
				}
			}
			if yyr2200 || yy2arr2200 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2200[2] {
					yym2208 := z.EncBinary()
					_ = yym2208
					if false {
					} else {
						r.EncodeBool(bool(x.HostIPC))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2200[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostIPC"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2209 := z.EncBinary()
					_ = yym2209
					if false {
					} else {
						r.EncodeBool(bool(x.HostIPC))
					}
				}
			}
			if yyr2200 || yy2arr2200 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2200[3] {
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2200[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("seLinuxOptions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				}
			}
			if yyr2200 || yy2arr2200 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2200[4] {
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy2212 := *x.RunAsUser
						yym2213 := z.EncBinary()
						_ = yym2213
						if false {
						} else {
							r.EncodeInt(int64(yy2212))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2200[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("runAsUser"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy2214 := *x.RunAsUser
						yym2215 := z.EncBinary()
						_ = yym2215
						if false {
						} else {
							r.EncodeInt(int64(yy2214))
						}
					}
				}
			}
			if yyr2200 || yy2arr2200 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2200[5] {
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy2217 := *x.RunAsNonRoot
						yym2218 := z.EncBinary()
						_ = yym2218
						if false {
						} else {
							r.EncodeBool(bool(yy2217))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2200[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("runAsNonRoot"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy2219 := *x.RunAsNonRoot
						yym2220 := z.EncBinary()
						_ = yym2220
						if false {
						} else {
							r.EncodeBool(bool(yy2219))
						}
					}
				}
			}
			if yyr2200 || yy2arr2200 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2200[6] {
					if x.SupplementalGroups == nil {
						r.EncodeNil()
					} else {
						yym2222 := z.EncBinary()
						_ = yym2222
						if false {
						} else {
							z.F.EncSliceInt64V(x.SupplementalGroups, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2200[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("supplementalGroups"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SupplementalGroups == nil {
						r.EncodeNil()
					} else {
						yym2223 := z.EncBinary()
						_ = yym2223
						if false {
						} else {
							z.F.EncSliceInt64V(x.SupplementalGroups, false, e)
						}
					}
				}
			}
			if yyr2200 || yy2arr2200 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2200[7] {
					if x.FSGroup == nil {
						r.EncodeNil()
					} else {
						yy2225 := *x.FSGroup
						yym2226 := z.EncBinary()
						_ = yym2226
						if false {
						} else {
							r.EncodeInt(int64(yy2225))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2200[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsGroup"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FSGroup == nil {
						r.EncodeNil()
					} else {
						yy2227 := *x.FSGroup
						yym2228 := z.EncBinary()
						_ = yym2228
						if false {
						} else {
							r.EncodeInt(int64(yy2227))
						}
					}
				}
			}
			if yyr2200 || yy2arr2200 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodSecurityContext) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2229 := z.DecBinary()
	_ = yym2229
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2230 := r.ContainerType()
		if yyct2230 == codecSelferValueTypeMap1234 {
			yyl2230 := r.ReadMapStart()
			if yyl2230 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2230, d)
			}
		} else if yyct2230 == codecSelferValueTypeArray1234 {
			yyl2230 := r.ReadArrayStart()
			if yyl2230 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2230, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodSecurityContext) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2231Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2231Slc
	var yyhl2231 bool = l >= 0
	for yyj2231 := 0; ; yyj2231++ {
		if yyhl2231 {
			if yyj2231 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2231Slc = r.DecodeBytes(yys2231Slc, true, true)
		yys2231 := string(yys2231Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2231 {
		case "hostNetwork":
			if r.TryDecodeAsNil() {
				x.HostNetwork = false
			} else {
				x.HostNetwork = bool(r.DecodeBool())
			}
		case "hostPID":
			if r.TryDecodeAsNil() {
				x.HostPID = false
			} else {
				x.HostPID = bool(r.DecodeBool())
			}
		case "hostIPC":
			if r.TryDecodeAsNil() {
				x.HostIPC = false
			} else {
				x.HostIPC = bool(r.DecodeBool())
			}
		case "seLinuxOptions":
			if r.TryDecodeAsNil() {
				if x.SELinuxOptions != nil {
					x.SELinuxOptions = nil
				}
			} else {
				if x.SELinuxOptions == nil {
					x.SELinuxOptions = new(SELinuxOptions)
				}
				x.SELinuxOptions.CodecDecodeSelf(d)
			}
		case "runAsUser":
			if r.TryDecodeAsNil() {
				if x.RunAsUser != nil {
					x.RunAsUser = nil
				}
			} else {
				if x.RunAsUser == nil {
					x.RunAsUser = new(int64)
				}
				yym2237 := z.DecBinary()
				_ = yym2237
				if false {
				} else {
					*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
				}
			}
		case "runAsNonRoot":
			if r.TryDecodeAsNil() {
				if x.RunAsNonRoot != nil {
					x.RunAsNonRoot = nil
				}
			} else {
				if x.RunAsNonRoot == nil {
					x.RunAsNonRoot = new(bool)
				}
				yym2239 := z.DecBinary()
				_ = yym2239
				if false {
				} else {
					*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
				}
			}
		case "supplementalGroups":
			if r.TryDecodeAsNil() {
				x.SupplementalGroups = nil
			} else {
				yyv2240 := &x.SupplementalGroups
				yym2241 := z.DecBinary()
				_ = yym2241
				if false {
				} else {
					z.F.DecSliceInt64X(yyv2240, false, d)
				}
			}
		case "fsGroup":
			if r.TryDecodeAsNil() {
				if x.FSGroup != nil {
					x.FSGroup = nil
				}
			} else {
				if x.FSGroup == nil {
					x.FSGroup = new(int64)
				}
				yym2243 := z.DecBinary()
				_ = yym2243
				if false {
				} else {
					*((*int64)(x.FSGroup)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2231)
		} // end switch yys2231
	} // end for yyj2231
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodSecurityContext) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2244 int
	var yyb2244 bool
	var yyhl2244 bool = l >= 0
	yyj2244++
	if yyhl2244 {
		yyb2244 = yyj2244 > l
	} else {
		yyb2244 = r.CheckBreak()
	}
	if yyb2244 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostNetwork = false
	} else {
		x.HostNetwork = bool(r.DecodeBool())
	}
	yyj2244++
	if yyhl2244 {
		yyb2244 = yyj2244 > l
	} else {
		yyb2244 = r.CheckBreak()
	}
	if yyb2244 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostPID = false
	} else {
		x.HostPID = bool(r.DecodeBool())
	}
	yyj2244++
	if yyhl2244 {
		yyb2244 = yyj2244 > l
	} else {
		yyb2244 = r.CheckBreak()
	}
	if yyb2244 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostIPC = false
	} else {
		x.HostIPC = bool(r.DecodeBool())
	}
	yyj2244++
	if yyhl2244 {
		yyb2244 = yyj2244 > l
	} else {
		yyb2244 = r.CheckBreak()
	}
	if yyb2244 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SELinuxOptions != nil {
			x.SELinuxOptions = nil
		}
	} else {
		if x.SELinuxOptions == nil {
			x.SELinuxOptions = new(SELinuxOptions)
		}
		x.SELinuxOptions.CodecDecodeSelf(d)
	}
	yyj2244++
	if yyhl2244 {
		yyb2244 = yyj2244 > l
	} else {
		yyb2244 = r.CheckBreak()
	}
	if yyb2244 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RunAsUser != nil {
			x.RunAsUser = nil
		}
	} else {
		if x.RunAsUser == nil {
			x.RunAsUser = new(int64)
		}
		yym2250 := z.DecBinary()
		_ = yym2250
		if false {
		} else {
			*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
		}
	}
	yyj2244++
	if yyhl2244 {
		yyb2244 = yyj2244 > l
	} else {
		yyb2244 = r.CheckBreak()
	}
	if yyb2244 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RunAsNonRoot != nil {
			x.RunAsNonRoot = nil
		}
	} else {
		if x.RunAsNonRoot == nil {
			x.RunAsNonRoot = new(bool)
		}
		yym2252 := z.DecBinary()
		_ = yym2252
		if false {
		} else {
			*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
		}
	}
	yyj2244++
	if yyhl2244 {
		yyb2244 = yyj2244 > l
	} else {
		yyb2244 = r.CheckBreak()
	}
	if yyb2244 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SupplementalGroups = nil
	} else {
		yyv2253 := &x.SupplementalGroups
		yym2254 := z.DecBinary()
		_ = yym2254
		if false {
		} else {
			z.F.DecSliceInt64X(yyv2253, false, d)
		}
	}
	yyj2244++
	if yyhl2244 {
		yyb2244 = yyj2244 > l
	} else {
		yyb2244 = r.CheckBreak()
	}
	if yyb2244 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FSGroup != nil {
			x.FSGroup = nil
		}
	} else {
		if x.FSGroup == nil {
			x.FSGroup = new(int64)
		}
		yym2256 := z.DecBinary()
		_ = yym2256
		if false {
		} else {
			*((*int64)(x.FSGroup)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj2244++
		if yyhl2244 {
			yyb2244 = yyj2244 > l
		} else {
			yyb2244 = r.CheckBreak()
		}
		if yyb2244 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2244-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2257 := z.EncBinary()
		_ = yym2257
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2258 := !z.EncBinary()
			yy2arr2258 := z.EncBasicHandle().StructToArray
			var yyq2258 [8]bool
			_, _, _ = yysep2258, yyq2258, yy2arr2258
			const yyr2258 bool = false
			yyq2258[0] = x.Phase != ""
			yyq2258[1] = len(x.Conditions) != 0
			yyq2258[2] = x.Message != ""
			yyq2258[3] = x.Reason != ""
			yyq2258[4] = x.HostIP != ""
			yyq2258[5] = x.PodIP != ""
			yyq2258[6] = x.StartTime != nil
			yyq2258[7] = len(x.ContainerStatuses) != 0
			var yynn2258 int
			if yyr2258 || yy2arr2258 {
				r.EncodeArrayStart(8)
			} else {
				yynn2258 = 0
				for _, b := range yyq2258 {
					if b {
						yynn2258++
					}
				}
				r.EncodeMapStart(yynn2258)
				yynn2258 = 0
			}
			if yyr2258 || yy2arr2258 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2258[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2258[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr2258 || yy2arr2258 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2258[1] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym2261 := z.EncBinary()
						_ = yym2261
						if false {
						} else {
							h.encSlicePodCondition(([]PodCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2258[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym2262 := z.EncBinary()
						_ = yym2262
						if false {
						} else {
							h.encSlicePodCondition(([]PodCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr2258 || yy2arr2258 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2258[2] {
					yym2264 := z.EncBinary()
					_ = yym2264
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2258[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2265 := z.EncBinary()
					_ = yym2265
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr2258 || yy2arr2258 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2258[3] {
					yym2267 := z.EncBinary()
					_ = yym2267
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2258[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2268 := z.EncBinary()
					_ = yym2268
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr2258 || yy2arr2258 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2258[4] {
					yym2270 := z.EncBinary()
					_ = yym2270
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2258[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2271 := z.EncBinary()
					_ = yym2271
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				}
			}
			if yyr2258 || yy2arr2258 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2258[5] {
					yym2273 := z.EncBinary()
					_ = yym2273
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2258[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("podIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2274 := z.EncBinary()
					_ = yym2274
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodIP))
					}
				}
			}
			if yyr2258 || yy2arr2258 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2258[6] {
					if x.StartTime == nil {
						r.EncodeNil()
					} else {
						yym2276 := z.EncBinary()
						_ = yym2276
						if false {
						} else if z.HasExtensions() && z.EncExt(x.StartTime) {
						} else if yym2276 {
							z.EncBinaryMarshal(x.StartTime)
						} else if !yym2276 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.StartTime)
						} else {
							z.EncFallback(x.StartTime)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2258[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("startTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.StartTime == nil {
						r.EncodeNil()
					} else {
						yym2277 := z.EncBinary()
						_ = yym2277
						if false {
						} else if z.HasExtensions() && z.EncExt(x.StartTime) {
						} else if yym2277 {
							z.EncBinaryMarshal(x.StartTime)
						} else if !yym2277 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.StartTime)
						} else {
							z.EncFallback(x.StartTime)
						}
					}
				}
			}
			if yyr2258 || yy2arr2258 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2258[7] {
					if x.ContainerStatuses == nil {
						r.EncodeNil()
					} else {
						yym2279 := z.EncBinary()
						_ = yym2279
						if false {
						} else {
							h.encSliceContainerStatus(([]ContainerStatus)(x.ContainerStatuses), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2258[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("containerStatuses"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ContainerStatuses == nil {
						r.EncodeNil()
					} else {
						yym2280 := z.EncBinary()
						_ = yym2280
						if false {
						} else {
							h.encSliceContainerStatus(([]ContainerStatus)(x.ContainerStatuses), e)
						}
					}
				}
			}
			if yyr2258 || yy2arr2258 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2281 := z.DecBinary()
	_ = yym2281
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2282 := r.ContainerType()
		if yyct2282 == codecSelferValueTypeMap1234 {
			yyl2282 := r.ReadMapStart()
			if yyl2282 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2282, d)
			}
		} else if yyct2282 == codecSelferValueTypeArray1234 {
			yyl2282 := r.ReadArrayStart()
			if yyl2282 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2282, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2283Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2283Slc
	var yyhl2283 bool = l >= 0
	for yyj2283 := 0; ; yyj2283++ {
		if yyhl2283 {
			if yyj2283 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2283Slc = r.DecodeBytes(yys2283Slc, true, true)
		yys2283 := string(yys2283Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2283 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = PodPhase(r.DecodeString())
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv2285 := &x.Conditions
				yym2286 := z.DecBinary()
				_ = yym2286
				if false {
				} else {
					h.decSlicePodCondition((*[]PodCondition)(yyv2285), d)
				}
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "hostIP":
			if r.TryDecodeAsNil() {
				x.HostIP = ""
			} else {
				x.HostIP = string(r.DecodeString())
			}
		case "podIP":
			if r.TryDecodeAsNil() {
				x.PodIP = ""
			} else {
				x.PodIP = string(r.DecodeString())
			}
		case "startTime":
			if r.TryDecodeAsNil() {
				if x.StartTime != nil {
					x.StartTime = nil
				}
			} else {
				if x.StartTime == nil {
					x.StartTime = new(pkg2_v1.Time)
				}
				yym2292 := z.DecBinary()
				_ = yym2292
				if false {
				} else if z.HasExtensions() && z.DecExt(x.StartTime) {
				} else if yym2292 {
					z.DecBinaryUnmarshal(x.StartTime)
				} else if !yym2292 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(x.StartTime)
				} else {
					z.DecFallback(x.StartTime, false)
				}
			}
		case "containerStatuses":
			if r.TryDecodeAsNil() {
				x.ContainerStatuses = nil
			} else {
				yyv2293 := &x.ContainerStatuses
				yym2294 := z.DecBinary()
				_ = yym2294
				if false {
				} else {
					h.decSliceContainerStatus((*[]ContainerStatus)(yyv2293), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2283)
		} // end switch yys2283
	} // end for yyj2283
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2295 int
	var yyb2295 bool
	var yyhl2295 bool = l >= 0
	yyj2295++
	if yyhl2295 {
		yyb2295 = yyj2295 > l
	} else {
		yyb2295 = r.CheckBreak()
	}
	if yyb2295 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = PodPhase(r.DecodeString())
	}
	yyj2295++
	if yyhl2295 {
		yyb2295 = yyj2295 > l
	} else {
		yyb2295 = r.CheckBreak()
	}
	if yyb2295 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv2297 := &x.Conditions
		yym2298 := z.DecBinary()
		_ = yym2298
		if false {
		} else {
			h.decSlicePodCondition((*[]PodCondition)(yyv2297), d)
		}
	}
	yyj2295++
	if yyhl2295 {
		yyb2295 = yyj2295 > l
	} else {
		yyb2295 = r.CheckBreak()
	}
	if yyb2295 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj2295++
	if yyhl2295 {
		yyb2295 = yyj2295 > l
	} else {
		yyb2295 = r.CheckBreak()
	}
	if yyb2295 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj2295++
	if yyhl2295 {
		yyb2295 = yyj2295 > l
	} else {
		yyb2295 = r.CheckBreak()
	}
	if yyb2295 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostIP = ""
	} else {
		x.HostIP = string(r.DecodeString())
	}
	yyj2295++
	if yyhl2295 {
		yyb2295 = yyj2295 > l
	} else {
		yyb2295 = r.CheckBreak()
	}
	if yyb2295 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PodIP = ""
	} else {
		x.PodIP = string(r.DecodeString())
	}
	yyj2295++
	if yyhl2295 {
		yyb2295 = yyj2295 > l
	} else {
		yyb2295 = r.CheckBreak()
	}
	if yyb2295 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.StartTime != nil {
			x.StartTime = nil
		}
	} else {
		if x.StartTime == nil {
			x.StartTime = new(pkg2_v1.Time)
		}
		yym2304 := z.DecBinary()
		_ = yym2304
		if false {
		} else if z.HasExtensions() && z.DecExt(x.StartTime) {
		} else if yym2304 {
			z.DecBinaryUnmarshal(x.StartTime)
		} else if !yym2304 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(x.StartTime)
		} else {
			z.DecFallback(x.StartTime, false)
		}
	}
	yyj2295++
	if yyhl2295 {
		yyb2295 = yyj2295 > l
	} else {
		yyb2295 = r.CheckBreak()
	}
	if yyb2295 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerStatuses = nil
	} else {
		yyv2305 := &x.ContainerStatuses
		yym2306 := z.DecBinary()
		_ = yym2306
		if false {
		} else {
			h.decSliceContainerStatus((*[]ContainerStatus)(yyv2305), d)
		}
	}
	for {
		yyj2295++
		if yyhl2295 {
			yyb2295 = yyj2295 > l
		} else {
			yyb2295 = r.CheckBreak()
		}
		if yyb2295 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2295-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodStatusResult) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2307 := z.EncBinary()
		_ = yym2307
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2308 := !z.EncBinary()
			yy2arr2308 := z.EncBasicHandle().StructToArray
			var yyq2308 [4]bool
			_, _, _ = yysep2308, yyq2308, yy2arr2308
			const yyr2308 bool = false
			yyq2308[0] = x.Kind != ""
			yyq2308[1] = x.APIVersion != ""
			yyq2308[2] = true
			yyq2308[3] = true
			var yynn2308 int
			if yyr2308 || yy2arr2308 {
				r.EncodeArrayStart(4)
			} else {
				yynn2308 = 0
				for _, b := range yyq2308 {
					if b {
						yynn2308++
					}
				}
				r.EncodeMapStart(yynn2308)
				yynn2308 = 0
			}
			if yyr2308 || yy2arr2308 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2308[0] {
					yym2310 := z.EncBinary()
					_ = yym2310
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2308[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2311 := z.EncBinary()
					_ = yym2311
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2308 || yy2arr2308 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2308[1] {
					yym2313 := z.EncBinary()
					_ = yym2313
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2308[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2314 := z.EncBinary()
					_ = yym2314
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2308 || yy2arr2308 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2308[2] {
					yy2316 := &x.ObjectMeta
					yy2316.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2308[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2317 := &x.ObjectMeta
					yy2317.CodecEncodeSelf(e)
				}
			}
			if yyr2308 || yy2arr2308 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2308[3] {
					yy2319 := &x.Status
					yy2319.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2308[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2320 := &x.Status
					yy2320.CodecEncodeSelf(e)
				}
			}
			if yyr2308 || yy2arr2308 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodStatusResult) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2321 := z.DecBinary()
	_ = yym2321
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2322 := r.ContainerType()
		if yyct2322 == codecSelferValueTypeMap1234 {
			yyl2322 := r.ReadMapStart()
			if yyl2322 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2322, d)
			}
		} else if yyct2322 == codecSelferValueTypeArray1234 {
			yyl2322 := r.ReadArrayStart()
			if yyl2322 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2322, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodStatusResult) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2323Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2323Slc
	var yyhl2323 bool = l >= 0
	for yyj2323 := 0; ; yyj2323++ {
		if yyhl2323 {
			if yyj2323 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2323Slc = r.DecodeBytes(yys2323Slc, true, true)
		yys2323 := string(yys2323Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2323 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2326 := &x.ObjectMeta
				yyv2326.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PodStatus{}
			} else {
				yyv2327 := &x.Status
				yyv2327.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2323)
		} // end switch yys2323
	} // end for yyj2323
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodStatusResult) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2328 int
	var yyb2328 bool
	var yyhl2328 bool = l >= 0
	yyj2328++
	if yyhl2328 {
		yyb2328 = yyj2328 > l
	} else {
		yyb2328 = r.CheckBreak()
	}
	if yyb2328 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2328++
	if yyhl2328 {
		yyb2328 = yyj2328 > l
	} else {
		yyb2328 = r.CheckBreak()
	}
	if yyb2328 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2328++
	if yyhl2328 {
		yyb2328 = yyj2328 > l
	} else {
		yyb2328 = r.CheckBreak()
	}
	if yyb2328 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2331 := &x.ObjectMeta
		yyv2331.CodecDecodeSelf(d)
	}
	yyj2328++
	if yyhl2328 {
		yyb2328 = yyj2328 > l
	} else {
		yyb2328 = r.CheckBreak()
	}
	if yyb2328 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = PodStatus{}
	} else {
		yyv2332 := &x.Status
		yyv2332.CodecDecodeSelf(d)
	}
	for {
		yyj2328++
		if yyhl2328 {
			yyb2328 = yyj2328 > l
		} else {
			yyb2328 = r.CheckBreak()
		}
		if yyb2328 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2328-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Pod) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2333 := z.EncBinary()
		_ = yym2333
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2334 := !z.EncBinary()
			yy2arr2334 := z.EncBasicHandle().StructToArray
			var yyq2334 [5]bool
			_, _, _ = yysep2334, yyq2334, yy2arr2334
			const yyr2334 bool = false
			yyq2334[0] = x.Kind != ""
			yyq2334[1] = x.APIVersion != ""
			yyq2334[2] = true
			yyq2334[3] = true
			yyq2334[4] = true
			var yynn2334 int
			if yyr2334 || yy2arr2334 {
				r.EncodeArrayStart(5)
			} else {
				yynn2334 = 0
				for _, b := range yyq2334 {
					if b {
						yynn2334++
					}
				}
				r.EncodeMapStart(yynn2334)
				yynn2334 = 0
			}
			if yyr2334 || yy2arr2334 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2334[0] {
					yym2336 := z.EncBinary()
					_ = yym2336
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2334[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2337 := z.EncBinary()
					_ = yym2337
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2334 || yy2arr2334 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2334[1] {
					yym2339 := z.EncBinary()
					_ = yym2339
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2334[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2340 := z.EncBinary()
					_ = yym2340
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2334 || yy2arr2334 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2334[2] {
					yy2342 := &x.ObjectMeta
					yy2342.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2334[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2343 := &x.ObjectMeta
					yy2343.CodecEncodeSelf(e)
				}
			}
			if yyr2334 || yy2arr2334 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2334[3] {
					yy2345 := &x.Spec
					yy2345.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2334[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2346 := &x.Spec
					yy2346.CodecEncodeSelf(e)
				}
			}
			if yyr2334 || yy2arr2334 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2334[4] {
					yy2348 := &x.Status
					yy2348.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2334[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2349 := &x.Status
					yy2349.CodecEncodeSelf(e)
				}
			}
			if yyr2334 || yy2arr2334 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Pod) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2350 := z.DecBinary()
	_ = yym2350
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2351 := r.ContainerType()
		if yyct2351 == codecSelferValueTypeMap1234 {
			yyl2351 := r.ReadMapStart()
			if yyl2351 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2351, d)
			}
		} else if yyct2351 == codecSelferValueTypeArray1234 {
			yyl2351 := r.ReadArrayStart()
			if yyl2351 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2351, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Pod) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2352Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2352Slc
	var yyhl2352 bool = l >= 0
	for yyj2352 := 0; ; yyj2352++ {
		if yyhl2352 {
			if yyj2352 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2352Slc = r.DecodeBytes(yys2352Slc, true, true)
		yys2352 := string(yys2352Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2352 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2355 := &x.ObjectMeta
				yyv2355.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PodSpec{}
			} else {
				yyv2356 := &x.Spec
				yyv2356.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PodStatus{}
			} else {
				yyv2357 := &x.Status
				yyv2357.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2352)
		} // end switch yys2352
	} // end for yyj2352
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Pod) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2358 int
	var yyb2358 bool
	var yyhl2358 bool = l >= 0
	yyj2358++
	if yyhl2358 {
		yyb2358 = yyj2358 > l
	} else {
		yyb2358 = r.CheckBreak()
	}
	if yyb2358 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2358++
	if yyhl2358 {
		yyb2358 = yyj2358 > l
	} else {
		yyb2358 = r.CheckBreak()
	}
	if yyb2358 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2358++
	if yyhl2358 {
		yyb2358 = yyj2358 > l
	} else {
		yyb2358 = r.CheckBreak()
	}
	if yyb2358 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2361 := &x.ObjectMeta
		yyv2361.CodecDecodeSelf(d)
	}
	yyj2358++
	if yyhl2358 {
		yyb2358 = yyj2358 > l
	} else {
		yyb2358 = r.CheckBreak()
	}
	if yyb2358 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = PodSpec{}
	} else {
		yyv2362 := &x.Spec
		yyv2362.CodecDecodeSelf(d)
	}
	yyj2358++
	if yyhl2358 {
		yyb2358 = yyj2358 > l
	} else {
		yyb2358 = r.CheckBreak()
	}
	if yyb2358 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = PodStatus{}
	} else {
		yyv2363 := &x.Status
		yyv2363.CodecDecodeSelf(d)
	}
	for {
		yyj2358++
		if yyhl2358 {
			yyb2358 = yyj2358 > l
		} else {
			yyb2358 = r.CheckBreak()
		}
		if yyb2358 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2358-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodTemplateSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2364 := z.EncBinary()
		_ = yym2364
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2365 := !z.EncBinary()
			yy2arr2365 := z.EncBasicHandle().StructToArray
			var yyq2365 [2]bool
			_, _, _ = yysep2365, yyq2365, yy2arr2365
			const yyr2365 bool = false
			yyq2365[0] = true
			yyq2365[1] = true
			var yynn2365 int
			if yyr2365 || yy2arr2365 {
				r.EncodeArrayStart(2)
			} else {
				yynn2365 = 0
				for _, b := range yyq2365 {
					if b {
						yynn2365++
					}
				}
				r.EncodeMapStart(yynn2365)
				yynn2365 = 0
			}
			if yyr2365 || yy2arr2365 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2365[0] {
					yy2367 := &x.ObjectMeta
					yy2367.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2365[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2368 := &x.ObjectMeta
					yy2368.CodecEncodeSelf(e)
				}
			}
			if yyr2365 || yy2arr2365 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2365[1] {
					yy2370 := &x.Spec
					yy2370.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2365[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2371 := &x.Spec
					yy2371.CodecEncodeSelf(e)
				}
			}
			if yyr2365 || yy2arr2365 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodTemplateSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2372 := z.DecBinary()
	_ = yym2372
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2373 := r.ContainerType()
		if yyct2373 == codecSelferValueTypeMap1234 {
			yyl2373 := r.ReadMapStart()
			if yyl2373 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2373, d)
			}
		} else if yyct2373 == codecSelferValueTypeArray1234 {
			yyl2373 := r.ReadArrayStart()
			if yyl2373 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2373, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodTemplateSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2374Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2374Slc
	var yyhl2374 bool = l >= 0
	for yyj2374 := 0; ; yyj2374++ {
		if yyhl2374 {
			if yyj2374 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2374Slc = r.DecodeBytes(yys2374Slc, true, true)
		yys2374 := string(yys2374Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2374 {
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2375 := &x.ObjectMeta
				yyv2375.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PodSpec{}
			} else {
				yyv2376 := &x.Spec
				yyv2376.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2374)
		} // end switch yys2374
	} // end for yyj2374
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodTemplateSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2377 int
	var yyb2377 bool
	var yyhl2377 bool = l >= 0
	yyj2377++
	if yyhl2377 {
		yyb2377 = yyj2377 > l
	} else {
		yyb2377 = r.CheckBreak()
	}
	if yyb2377 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2378 := &x.ObjectMeta
		yyv2378.CodecDecodeSelf(d)
	}
	yyj2377++
	if yyhl2377 {
		yyb2377 = yyj2377 > l
	} else {
		yyb2377 = r.CheckBreak()
	}
	if yyb2377 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = PodSpec{}
	} else {
		yyv2379 := &x.Spec
		yyv2379.CodecDecodeSelf(d)
	}
	for {
		yyj2377++
		if yyhl2377 {
			yyb2377 = yyj2377 > l
		} else {
			yyb2377 = r.CheckBreak()
		}
		if yyb2377 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2377-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodTemplate) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2380 := z.EncBinary()
		_ = yym2380
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2381 := !z.EncBinary()
			yy2arr2381 := z.EncBasicHandle().StructToArray
			var yyq2381 [4]bool
			_, _, _ = yysep2381, yyq2381, yy2arr2381
			const yyr2381 bool = false
			yyq2381[0] = x.Kind != ""
			yyq2381[1] = x.APIVersion != ""
			yyq2381[2] = true
			yyq2381[3] = true
			var yynn2381 int
			if yyr2381 || yy2arr2381 {
				r.EncodeArrayStart(4)
			} else {
				yynn2381 = 0
				for _, b := range yyq2381 {
					if b {
						yynn2381++
					}
				}
				r.EncodeMapStart(yynn2381)
				yynn2381 = 0
			}
			if yyr2381 || yy2arr2381 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2381[0] {
					yym2383 := z.EncBinary()
					_ = yym2383
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2381[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2384 := z.EncBinary()
					_ = yym2384
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2381 || yy2arr2381 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2381[1] {
					yym2386 := z.EncBinary()
					_ = yym2386
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2381[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2387 := z.EncBinary()
					_ = yym2387
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2381 || yy2arr2381 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2381[2] {
					yy2389 := &x.ObjectMeta
					yy2389.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2381[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2390 := &x.ObjectMeta
					yy2390.CodecEncodeSelf(e)
				}
			}
			if yyr2381 || yy2arr2381 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2381[3] {
					yy2392 := &x.Template
					yy2392.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2381[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("template"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2393 := &x.Template
					yy2393.CodecEncodeSelf(e)
				}
			}
			if yyr2381 || yy2arr2381 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodTemplate) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2394 := z.DecBinary()
	_ = yym2394
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2395 := r.ContainerType()
		if yyct2395 == codecSelferValueTypeMap1234 {
			yyl2395 := r.ReadMapStart()
			if yyl2395 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2395, d)
			}
		} else if yyct2395 == codecSelferValueTypeArray1234 {
			yyl2395 := r.ReadArrayStart()
			if yyl2395 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2395, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodTemplate) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2396Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2396Slc
	var yyhl2396 bool = l >= 0
	for yyj2396 := 0; ; yyj2396++ {
		if yyhl2396 {
			if yyj2396 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2396Slc = r.DecodeBytes(yys2396Slc, true, true)
		yys2396 := string(yys2396Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2396 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2399 := &x.ObjectMeta
				yyv2399.CodecDecodeSelf(d)
			}
		case "template":
			if r.TryDecodeAsNil() {
				x.Template = PodTemplateSpec{}
			} else {
				yyv2400 := &x.Template
				yyv2400.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2396)
		} // end switch yys2396
	} // end for yyj2396
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodTemplate) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2401 int
	var yyb2401 bool
	var yyhl2401 bool = l >= 0
	yyj2401++
	if yyhl2401 {
		yyb2401 = yyj2401 > l
	} else {
		yyb2401 = r.CheckBreak()
	}
	if yyb2401 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2401++
	if yyhl2401 {
		yyb2401 = yyj2401 > l
	} else {
		yyb2401 = r.CheckBreak()
	}
	if yyb2401 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2401++
	if yyhl2401 {
		yyb2401 = yyj2401 > l
	} else {
		yyb2401 = r.CheckBreak()
	}
	if yyb2401 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2404 := &x.ObjectMeta
		yyv2404.CodecDecodeSelf(d)
	}
	yyj2401++
	if yyhl2401 {
		yyb2401 = yyj2401 > l
	} else {
		yyb2401 = r.CheckBreak()
	}
	if yyb2401 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Template = PodTemplateSpec{}
	} else {
		yyv2405 := &x.Template
		yyv2405.CodecDecodeSelf(d)
	}
	for {
		yyj2401++
		if yyhl2401 {
			yyb2401 = yyj2401 > l
		} else {
			yyb2401 = r.CheckBreak()
		}
		if yyb2401 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2401-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodTemplateList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2406 := z.EncBinary()
		_ = yym2406
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2407 := !z.EncBinary()
			yy2arr2407 := z.EncBasicHandle().StructToArray
			var yyq2407 [4]bool
			_, _, _ = yysep2407, yyq2407, yy2arr2407
			const yyr2407 bool = false
			yyq2407[0] = x.Kind != ""
			yyq2407[1] = x.APIVersion != ""
			yyq2407[2] = true
			var yynn2407 int
			if yyr2407 || yy2arr2407 {
				r.EncodeArrayStart(4)
			} else {
				yynn2407 = 1
				for _, b := range yyq2407 {
					if b {
						yynn2407++
					}
				}
				r.EncodeMapStart(yynn2407)
				yynn2407 = 0
			}
			if yyr2407 || yy2arr2407 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2407[0] {
					yym2409 := z.EncBinary()
					_ = yym2409
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2407[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2410 := z.EncBinary()
					_ = yym2410
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2407 || yy2arr2407 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2407[1] {
					yym2412 := z.EncBinary()
					_ = yym2412
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2407[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2413 := z.EncBinary()
					_ = yym2413
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2407 || yy2arr2407 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2407[2] {
					yy2415 := &x.ListMeta
					yym2416 := z.EncBinary()
					_ = yym2416
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2415) {
					} else {
						z.EncFallback(yy2415)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2407[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2417 := &x.ListMeta
					yym2418 := z.EncBinary()
					_ = yym2418
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2417) {
					} else {
						z.EncFallback(yy2417)
					}
				}
			}
			if yyr2407 || yy2arr2407 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2420 := z.EncBinary()
					_ = yym2420
					if false {
					} else {
						h.encSlicePodTemplate(([]PodTemplate)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2421 := z.EncBinary()
					_ = yym2421
					if false {
					} else {
						h.encSlicePodTemplate(([]PodTemplate)(x.Items), e)
					}
				}
			}
			if yyr2407 || yy2arr2407 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodTemplateList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2422 := z.DecBinary()
	_ = yym2422
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2423 := r.ContainerType()
		if yyct2423 == codecSelferValueTypeMap1234 {
			yyl2423 := r.ReadMapStart()
			if yyl2423 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2423, d)
			}
		} else if yyct2423 == codecSelferValueTypeArray1234 {
			yyl2423 := r.ReadArrayStart()
			if yyl2423 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2423, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodTemplateList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2424Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2424Slc
	var yyhl2424 bool = l >= 0
	for yyj2424 := 0; ; yyj2424++ {
		if yyhl2424 {
			if yyj2424 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2424Slc = r.DecodeBytes(yys2424Slc, true, true)
		yys2424 := string(yys2424Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2424 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_v1.ListMeta{}
			} else {
				yyv2427 := &x.ListMeta
				yym2428 := z.DecBinary()
				_ = yym2428
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2427) {
				} else {
					z.DecFallback(yyv2427, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2429 := &x.Items
				yym2430 := z.DecBinary()
				_ = yym2430
				if false {
				} else {
					h.decSlicePodTemplate((*[]PodTemplate)(yyv2429), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2424)
		} // end switch yys2424
	} // end for yyj2424
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodTemplateList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2431 int
	var yyb2431 bool
	var yyhl2431 bool = l >= 0
	yyj2431++
	if yyhl2431 {
		yyb2431 = yyj2431 > l
	} else {
		yyb2431 = r.CheckBreak()
	}
	if yyb2431 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2431++
	if yyhl2431 {
		yyb2431 = yyj2431 > l
	} else {
		yyb2431 = r.CheckBreak()
	}
	if yyb2431 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2431++
	if yyhl2431 {
		yyb2431 = yyj2431 > l
	} else {
		yyb2431 = r.CheckBreak()
	}
	if yyb2431 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_v1.ListMeta{}
	} else {
		yyv2434 := &x.ListMeta
		yym2435 := z.DecBinary()
		_ = yym2435
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2434) {
		} else {
			z.DecFallback(yyv2434, false)
		}
	}
	yyj2431++
	if yyhl2431 {
		yyb2431 = yyj2431 > l
	} else {
		yyb2431 = r.CheckBreak()
	}
	if yyb2431 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2436 := &x.Items
		yym2437 := z.DecBinary()
		_ = yym2437
		if false {
		} else {
			h.decSlicePodTemplate((*[]PodTemplate)(yyv2436), d)
		}
	}
	for {
		yyj2431++
		if yyhl2431 {
			yyb2431 = yyj2431 > l
		} else {
			yyb2431 = r.CheckBreak()
		}
		if yyb2431 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2431-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ReplicationControllerSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2438 := z.EncBinary()
		_ = yym2438
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2439 := !z.EncBinary()
			yy2arr2439 := z.EncBasicHandle().StructToArray
			var yyq2439 [4]bool
			_, _, _ = yysep2439, yyq2439, yy2arr2439
			const yyr2439 bool = false
			yyq2439[1] = x.MinReadySeconds != 0
			yyq2439[3] = x.Template != nil
			var yynn2439 int
			if yyr2439 || yy2arr2439 {
				r.EncodeArrayStart(4)
			} else {
				yynn2439 = 2
				for _, b := range yyq2439 {
					if b {
						yynn2439++
					}
				}
				r.EncodeMapStart(yynn2439)
				yynn2439 = 0
			}
			if yyr2439 || yy2arr2439 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2441 := z.EncBinary()
				_ = yym2441
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("replicas"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2442 := z.EncBinary()
				_ = yym2442
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			}
			if yyr2439 || yy2arr2439 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2439[1] {
					yym2444 := z.EncBinary()
					_ = yym2444
					if false {
					} else {
						r.EncodeInt(int64(x.MinReadySeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2439[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("minReadySeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2445 := z.EncBinary()
					_ = yym2445
					if false {
					} else {
						r.EncodeInt(int64(x.MinReadySeconds))
					}
				}
			}
			if yyr2439 || yy2arr2439 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Selector == nil {
					r.EncodeNil()
				} else {
					yym2447 := z.EncBinary()
					_ = yym2447
					if false {
					} else {
						z.F.EncMapStringStringV(x.Selector, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("selector"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Selector == nil {
					r.EncodeNil()
				} else {
					yym2448 := z.EncBinary()
					_ = yym2448
					if false {
					} else {
						z.F.EncMapStringStringV(x.Selector, false, e)
					}
				}
			}
			if yyr2439 || yy2arr2439 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2439[3] {
					if x.Template == nil {
						r.EncodeNil()
					} else {
						x.Template.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2439[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("template"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Template == nil {
						r.EncodeNil()
					} else {
						x.Template.CodecEncodeSelf(e)
					}
				}
			}
			if yyr2439 || yy2arr2439 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ReplicationControllerSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2450 := z.DecBinary()
	_ = yym2450
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2451 := r.ContainerType()
		if yyct2451 == codecSelferValueTypeMap1234 {
			yyl2451 := r.ReadMapStart()
			if yyl2451 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2451, d)
			}
		} else if yyct2451 == codecSelferValueTypeArray1234 {
			yyl2451 := r.ReadArrayStart()
			if yyl2451 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2451, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ReplicationControllerSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2452Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2452Slc
	var yyhl2452 bool = l >= 0
	for yyj2452 := 0; ; yyj2452++ {
		if yyhl2452 {
			if yyj2452 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2452Slc = r.DecodeBytes(yys2452Slc, true, true)
		yys2452 := string(yys2452Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2452 {
		case "replicas":
			if r.TryDecodeAsNil() {
				x.Replicas = 0
			} else {
				x.Replicas = int32(r.DecodeInt(32))
			}
		case "minReadySeconds":
			if r.TryDecodeAsNil() {
				x.MinReadySeconds = 0
			} else {
				x.MinReadySeconds = int32(r.DecodeInt(32))
			}
		case "selector":
			if r.TryDecodeAsNil() {
				x.Selector = nil
			} else {
				yyv2455 := &x.Selector
				yym2456 := z.DecBinary()
				_ = yym2456
				if false {
				} else {
					z.F.DecMapStringStringX(yyv2455, false, d)
				}
			}
		case "template":
			if r.TryDecodeAsNil() {
				if x.Template != nil {
					x.Template = nil
				}
			} else {
				if x.Template == nil {
					x.Template = new(PodTemplateSpec)
				}
				x.Template.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2452)
		} // end switch yys2452
	} // end for yyj2452
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ReplicationControllerSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2458 int
	var yyb2458 bool
	var yyhl2458 bool = l >= 0
	yyj2458++
	if yyhl2458 {
		yyb2458 = yyj2458 > l
	} else {
		yyb2458 = r.CheckBreak()
	}
	if yyb2458 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Replicas = 0
	} else {
		x.Replicas = int32(r.DecodeInt(32))
	}
	yyj2458++
	if yyhl2458 {
		yyb2458 = yyj2458 > l
	} else {
		yyb2458 = r.CheckBreak()
	}
	if yyb2458 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.MinReadySeconds = 0
	} else {
		x.MinReadySeconds = int32(r.DecodeInt(32))
	}
	yyj2458++
	if yyhl2458 {
		yyb2458 = yyj2458 > l
	} else {
		yyb2458 = r.CheckBreak()
	}
	if yyb2458 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Selector = nil
	} else {
		yyv2461 := &x.Selector
		yym2462 := z.DecBinary()
		_ = yym2462
		if false {
		} else {
			z.F.DecMapStringStringX(yyv2461, false, d)
		}
	}
	yyj2458++
	if yyhl2458 {
		yyb2458 = yyj2458 > l
	} else {
		yyb2458 = r.CheckBreak()
	}
	if yyb2458 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Template != nil {
			x.Template = nil
		}
	} else {
		if x.Template == nil {
			x.Template = new(PodTemplateSpec)
		}
		x.Template.CodecDecodeSelf(d)
	}
	for {
		yyj2458++
		if yyhl2458 {
			yyb2458 = yyj2458 > l
		} else {
			yyb2458 = r.CheckBreak()
		}
		if yyb2458 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2458-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ReplicationControllerStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2464 := z.EncBinary()
		_ = yym2464
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2465 := !z.EncBinary()
			yy2arr2465 := z.EncBasicHandle().StructToArray
			var yyq2465 [6]bool
			_, _, _ = yysep2465, yyq2465, yy2arr2465
			const yyr2465 bool = false
			yyq2465[1] = x.FullyLabeledReplicas != 0
			yyq2465[2] = x.ReadyReplicas != 0
			yyq2465[3] = x.AvailableReplicas != 0
			yyq2465[4] = x.ObservedGeneration != 0
			yyq2465[5] = len(x.Conditions) != 0
			var yynn2465 int
			if yyr2465 || yy2arr2465 {
				r.EncodeArrayStart(6)
			} else {
				yynn2465 = 1
				for _, b := range yyq2465 {
					if b {
						yynn2465++
					}
				}
				r.EncodeMapStart(yynn2465)
				yynn2465 = 0
			}
			if yyr2465 || yy2arr2465 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2467 := z.EncBinary()
				_ = yym2467
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("replicas"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2468 := z.EncBinary()
				_ = yym2468
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			}
			if yyr2465 || yy2arr2465 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2465[1] {
					yym2470 := z.EncBinary()
					_ = yym2470
					if false {
					} else {
						r.EncodeInt(int64(x.FullyLabeledReplicas))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2465[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fullyLabeledReplicas"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2471 := z.EncBinary()
					_ = yym2471
					if false {
					} else {
						r.EncodeInt(int64(x.FullyLabeledReplicas))
					}
				}
			}
			if yyr2465 || yy2arr2465 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2465[2] {
					yym2473 := z.EncBinary()
					_ = yym2473
					if false {
					} else {
						r.EncodeInt(int64(x.ReadyReplicas))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2465[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readyReplicas"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2474 := z.EncBinary()
					_ = yym2474
					if false {
					} else {
						r.EncodeInt(int64(x.ReadyReplicas))
					}
				}
			}
			if yyr2465 || yy2arr2465 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2465[3] {
					yym2476 := z.EncBinary()
					_ = yym2476
					if false {
					} else {
						r.EncodeInt(int64(x.AvailableReplicas))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2465[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("availableReplicas"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2477 := z.EncBinary()
					_ = yym2477
					if false {
					} else {
						r.EncodeInt(int64(x.AvailableReplicas))
					}
				}
			}
			if yyr2465 || yy2arr2465 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2465[4] {
					yym2479 := z.EncBinary()
					_ = yym2479
					if false {
					} else {
						r.EncodeInt(int64(x.ObservedGeneration))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2465[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("observedGeneration"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2480 := z.EncBinary()
					_ = yym2480
					if false {
					} else {
						r.EncodeInt(int64(x.ObservedGeneration))
					}
				}
			}
			if yyr2465 || yy2arr2465 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2465[5] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym2482 := z.EncBinary()
						_ = yym2482
						if false {
						} else {
							h.encSliceReplicationControllerCondition(([]ReplicationControllerCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2465[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym2483 := z.EncBinary()
						_ = yym2483
						if false {
						} else {
							h.encSliceReplicationControllerCondition(([]ReplicationControllerCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr2465 || yy2arr2465 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ReplicationControllerStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2484 := z.DecBinary()
	_ = yym2484
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2485 := r.ContainerType()
		if yyct2485 == codecSelferValueTypeMap1234 {
			yyl2485 := r.ReadMapStart()
			if yyl2485 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2485, d)
			}
		} else if yyct2485 == codecSelferValueTypeArray1234 {
			yyl2485 := r.ReadArrayStart()
			if yyl2485 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2485, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ReplicationControllerStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2486Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2486Slc
	var yyhl2486 bool = l >= 0
	for yyj2486 := 0; ; yyj2486++ {
		if yyhl2486 {
			if yyj2486 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2486Slc = r.DecodeBytes(yys2486Slc, true, true)
		yys2486 := string(yys2486Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2486 {
		case "replicas":
			if r.TryDecodeAsNil() {
				x.Replicas = 0
			} else {
				x.Replicas = int32(r.DecodeInt(32))
			}
		case "fullyLabeledReplicas":
			if r.TryDecodeAsNil() {
				x.FullyLabeledReplicas = 0
			} else {
				x.FullyLabeledReplicas = int32(r.DecodeInt(32))
			}
		case "readyReplicas":
			if r.TryDecodeAsNil() {
				x.ReadyReplicas = 0
			} else {
				x.ReadyReplicas = int32(r.DecodeInt(32))
			}
		case "availableReplicas":
			if r.TryDecodeAsNil() {
				x.AvailableReplicas = 0
			} else {
				x.AvailableReplicas = int32(r.DecodeInt(32))
			}
		case "observedGeneration":
			if r.TryDecodeAsNil() {
				x.ObservedGeneration = 0
			} else {
				x.ObservedGeneration = int64(r.DecodeInt(64))
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv2492 := &x.Conditions
				yym2493 := z.DecBinary()
				_ = yym2493
				if false {
				} else {
					h.decSliceReplicationControllerCondition((*[]ReplicationControllerCondition)(yyv2492), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2486)
		} // end switch yys2486
	} // end for yyj2486
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ReplicationControllerStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2494 int
	var yyb2494 bool
	var yyhl2494 bool = l >= 0
	yyj2494++
	if yyhl2494 {
		yyb2494 = yyj2494 > l
	} else {
		yyb2494 = r.CheckBreak()
	}
	if yyb2494 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Replicas = 0
	} else {
		x.Replicas = int32(r.DecodeInt(32))
	}
	yyj2494++
	if yyhl2494 {
		yyb2494 = yyj2494 > l
	} else {
		yyb2494 = r.CheckBreak()
	}
	if yyb2494 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FullyLabeledReplicas = 0
	} else {
		x.FullyLabeledReplicas = int32(r.DecodeInt(32))
	}
	yyj2494++
	if yyhl2494 {
		yyb2494 = yyj2494 > l
	} else {
		yyb2494 = r.CheckBreak()
	}
	if yyb2494 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadyReplicas = 0
	} else {
		x.ReadyReplicas = int32(r.DecodeInt(32))
	}
	yyj2494++
	if yyhl2494 {
		yyb2494 = yyj2494 > l
	} else {
		yyb2494 = r.CheckBreak()
	}
	if yyb2494 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.AvailableReplicas = 0
	} else {
		x.AvailableReplicas = int32(r.DecodeInt(32))
	}
	yyj2494++
	if yyhl2494 {
		yyb2494 = yyj2494 > l
	} else {
		yyb2494 = r.CheckBreak()
	}
	if yyb2494 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObservedGeneration = 0
	} else {
		x.ObservedGeneration = int64(r.DecodeInt(64))
	}
	yyj2494++
	if yyhl2494 {
		yyb2494 = yyj2494 > l
	} else {
		yyb2494 = r.CheckBreak()
	}
	if yyb2494 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv2500 := &x.Conditions
		yym2501 := z.DecBinary()
		_ = yym2501
		if false {
		} else {
			h.decSliceReplicationControllerCondition((*[]ReplicationControllerCondition)(yyv2500), d)
		}
	}
	for {
		yyj2494++
		if yyhl2494 {
			yyb2494 = yyj2494 > l
		} else {
			yyb2494 = r.CheckBreak()
		}
		if yyb2494 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2494-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x ReplicationControllerConditionType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2502 := z.EncBinary()
	_ = yym2502
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ReplicationControllerConditionType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2503 := z.DecBinary()
	_ = yym2503
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *ReplicationControllerCondition) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2504 := z.EncBinary()
		_ = yym2504
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2505 := !z.EncBinary()
			yy2arr2505 := z.EncBasicHandle().StructToArray
			var yyq2505 [5]bool
			_, _, _ = yysep2505, yyq2505, yy2arr2505
			const yyr2505 bool = false
			yyq2505[2] = true
			yyq2505[3] = x.Reason != ""
			yyq2505[4] = x.Message != ""
			var yynn2505 int
			if yyr2505 || yy2arr2505 {
				r.EncodeArrayStart(5)
			} else {
				yynn2505 = 2
				for _, b := range yyq2505 {
					if b {
						yynn2505++
					}
				}
				r.EncodeMapStart(yynn2505)
				yynn2505 = 0
			}
			if yyr2505 || yy2arr2505 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Type.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Type.CodecEncodeSelf(e)
			}
			if yyr2505 || yy2arr2505 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Status.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("status"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Status.CodecEncodeSelf(e)
			}
			if yyr2505 || yy2arr2505 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2505[2] {
					yy2509 := &x.LastTransitionTime
					yym2510 := z.EncBinary()
					_ = yym2510
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2509) {
					} else if yym2510 {
						z.EncBinaryMarshal(yy2509)
					} else if !yym2510 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2509)
					} else {
						z.EncFallback(yy2509)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2505[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastTransitionTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2511 := &x.LastTransitionTime
					yym2512 := z.EncBinary()
					_ = yym2512
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2511) {
					} else if yym2512 {
						z.EncBinaryMarshal(yy2511)
					} else if !yym2512 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2511)
					} else {
						z.EncFallback(yy2511)
					}
				}
			}
			if yyr2505 || yy2arr2505 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2505[3] {
					yym2514 := z.EncBinary()
					_ = yym2514
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2505[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2515 := z.EncBinary()
					_ = yym2515
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr2505 || yy2arr2505 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2505[4] {
					yym2517 := z.EncBinary()
					_ = yym2517
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2505[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2518 := z.EncBinary()
					_ = yym2518
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr2505 || yy2arr2505 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ReplicationControllerCondition) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2519 := z.DecBinary()
	_ = yym2519
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2520 := r.ContainerType()
		if yyct2520 == codecSelferValueTypeMap1234 {
			yyl2520 := r.ReadMapStart()
			if yyl2520 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2520, d)
			}
		} else if yyct2520 == codecSelferValueTypeArray1234 {
			yyl2520 := r.ReadArrayStart()
			if yyl2520 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2520, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ReplicationControllerCondition) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2521Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2521Slc
	var yyhl2521 bool = l >= 0
	for yyj2521 := 0; ; yyj2521++ {
		if yyhl2521 {
			if yyj2521 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2521Slc = r.DecodeBytes(yys2521Slc, true, true)
		yys2521 := string(yys2521Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2521 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = ReplicationControllerConditionType(r.DecodeString())
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ""
			} else {
				x.Status = ConditionStatus(r.DecodeString())
			}
		case "lastTransitionTime":
			if r.TryDecodeAsNil() {
				x.LastTransitionTime = pkg2_v1.Time{}
			} else {
				yyv2524 := &x.LastTransitionTime
				yym2525 := z.DecBinary()
				_ = yym2525
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2524) {
				} else if yym2525 {
					z.DecBinaryUnmarshal(yyv2524)
				} else if !yym2525 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv2524)
				} else {
					z.DecFallback(yyv2524, false)
				}
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2521)
		} // end switch yys2521
	} // end for yyj2521
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ReplicationControllerCondition) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2528 int
	var yyb2528 bool
	var yyhl2528 bool = l >= 0
	yyj2528++
	if yyhl2528 {
		yyb2528 = yyj2528 > l
	} else {
		yyb2528 = r.CheckBreak()
	}
	if yyb2528 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = ReplicationControllerConditionType(r.DecodeString())
	}
	yyj2528++
	if yyhl2528 {
		yyb2528 = yyj2528 > l
	} else {
		yyb2528 = r.CheckBreak()
	}
	if yyb2528 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj2528++
	if yyhl2528 {
		yyb2528 = yyj2528 > l
	} else {
		yyb2528 = r.CheckBreak()
	}
	if yyb2528 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTransitionTime = pkg2_v1.Time{}
	} else {
		yyv2531 := &x.LastTransitionTime
		yym2532 := z.DecBinary()
		_ = yym2532
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2531) {
		} else if yym2532 {
			z.DecBinaryUnmarshal(yyv2531)
		} else if !yym2532 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv2531)
		} else {
			z.DecFallback(yyv2531, false)
		}
	}
	yyj2528++
	if yyhl2528 {
		yyb2528 = yyj2528 > l
	} else {
		yyb2528 = r.CheckBreak()
	}
	if yyb2528 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj2528++
	if yyhl2528 {
		yyb2528 = yyj2528 > l
	} else {
		yyb2528 = r.CheckBreak()
	}
	if yyb2528 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj2528++
		if yyhl2528 {
			yyb2528 = yyj2528 > l
		} else {
			yyb2528 = r.CheckBreak()
		}
		if yyb2528 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2528-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ReplicationController) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2535 := z.EncBinary()
		_ = yym2535
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2536 := !z.EncBinary()
			yy2arr2536 := z.EncBasicHandle().StructToArray
			var yyq2536 [5]bool
			_, _, _ = yysep2536, yyq2536, yy2arr2536
			const yyr2536 bool = false
			yyq2536[0] = x.Kind != ""
			yyq2536[1] = x.APIVersion != ""
			yyq2536[2] = true
			yyq2536[3] = true
			yyq2536[4] = true
			var yynn2536 int
			if yyr2536 || yy2arr2536 {
				r.EncodeArrayStart(5)
			} else {
				yynn2536 = 0
				for _, b := range yyq2536 {
					if b {
						yynn2536++
					}
				}
				r.EncodeMapStart(yynn2536)
				yynn2536 = 0
			}
			if yyr2536 || yy2arr2536 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2536[0] {
					yym2538 := z.EncBinary()
					_ = yym2538
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2536[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2539 := z.EncBinary()
					_ = yym2539
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2536 || yy2arr2536 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2536[1] {
					yym2541 := z.EncBinary()
					_ = yym2541
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2536[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2542 := z.EncBinary()
					_ = yym2542
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2536 || yy2arr2536 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2536[2] {
					yy2544 := &x.ObjectMeta
					yy2544.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2536[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2545 := &x.ObjectMeta
					yy2545.CodecEncodeSelf(e)
				}
			}
			if yyr2536 || yy2arr2536 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2536[3] {
					yy2547 := &x.Spec
					yy2547.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2536[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2548 := &x.Spec
					yy2548.CodecEncodeSelf(e)
				}
			}
			if yyr2536 || yy2arr2536 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2536[4] {
					yy2550 := &x.Status
					yy2550.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2536[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2551 := &x.Status
					yy2551.CodecEncodeSelf(e)
				}
			}
			if yyr2536 || yy2arr2536 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ReplicationController) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2552 := z.DecBinary()
	_ = yym2552
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2553 := r.ContainerType()
		if yyct2553 == codecSelferValueTypeMap1234 {
			yyl2553 := r.ReadMapStart()
			if yyl2553 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2553, d)
			}
		} else if yyct2553 == codecSelferValueTypeArray1234 {
			yyl2553 := r.ReadArrayStart()
			if yyl2553 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2553, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ReplicationController) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2554Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2554Slc
	var yyhl2554 bool = l >= 0
	for yyj2554 := 0; ; yyj2554++ {
		if yyhl2554 {
			if yyj2554 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2554Slc = r.DecodeBytes(yys2554Slc, true, true)
		yys2554 := string(yys2554Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2554 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2557 := &x.ObjectMeta
				yyv2557.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = ReplicationControllerSpec{}
			} else {
				yyv2558 := &x.Spec
				yyv2558.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ReplicationControllerStatus{}
			} else {
				yyv2559 := &x.Status
				yyv2559.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2554)
		} // end switch yys2554
	} // end for yyj2554
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ReplicationController) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2560 int
	var yyb2560 bool
	var yyhl2560 bool = l >= 0
	yyj2560++
	if yyhl2560 {
		yyb2560 = yyj2560 > l
	} else {
		yyb2560 = r.CheckBreak()
	}
	if yyb2560 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2560++
	if yyhl2560 {
		yyb2560 = yyj2560 > l
	} else {
		yyb2560 = r.CheckBreak()
	}
	if yyb2560 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2560++
	if yyhl2560 {
		yyb2560 = yyj2560 > l
	} else {
		yyb2560 = r.CheckBreak()
	}
	if yyb2560 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2563 := &x.ObjectMeta
		yyv2563.CodecDecodeSelf(d)
	}
	yyj2560++
	if yyhl2560 {
		yyb2560 = yyj2560 > l
	} else {
		yyb2560 = r.CheckBreak()
	}
	if yyb2560 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = ReplicationControllerSpec{}
	} else {
		yyv2564 := &x.Spec
		yyv2564.CodecDecodeSelf(d)
	}
	yyj2560++
	if yyhl2560 {
		yyb2560 = yyj2560 > l
	} else {
		yyb2560 = r.CheckBreak()
	}
	if yyb2560 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ReplicationControllerStatus{}
	} else {
		yyv2565 := &x.Status
		yyv2565.CodecDecodeSelf(d)
	}
	for {
		yyj2560++
		if yyhl2560 {
			yyb2560 = yyj2560 > l
		} else {
			yyb2560 = r.CheckBreak()
		}
		if yyb2560 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2560-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ReplicationControllerList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2566 := z.EncBinary()
		_ = yym2566
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2567 := !z.EncBinary()
			yy2arr2567 := z.EncBasicHandle().StructToArray
			var yyq2567 [4]bool
			_, _, _ = yysep2567, yyq2567, yy2arr2567
			const yyr2567 bool = false
			yyq2567[0] = x.Kind != ""
			yyq2567[1] = x.APIVersion != ""
			yyq2567[2] = true
			var yynn2567 int
			if yyr2567 || yy2arr2567 {
				r.EncodeArrayStart(4)
			} else {
				yynn2567 = 1
				for _, b := range yyq2567 {
					if b {
						yynn2567++
					}
				}
				r.EncodeMapStart(yynn2567)
				yynn2567 = 0
			}
			if yyr2567 || yy2arr2567 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2567[0] {
					yym2569 := z.EncBinary()
					_ = yym2569
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2567[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2570 := z.EncBinary()
					_ = yym2570
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2567 || yy2arr2567 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2567[1] {
					yym2572 := z.EncBinary()
					_ = yym2572
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2567[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2573 := z.EncBinary()
					_ = yym2573
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2567 || yy2arr2567 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2567[2] {
					yy2575 := &x.ListMeta
					yym2576 := z.EncBinary()
					_ = yym2576
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2575) {
					} else {
						z.EncFallback(yy2575)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2567[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2577 := &x.ListMeta
					yym2578 := z.EncBinary()
					_ = yym2578
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2577) {
					} else {
						z.EncFallback(yy2577)
					}
				}
			}
			if yyr2567 || yy2arr2567 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2580 := z.EncBinary()
					_ = yym2580
					if false {
					} else {
						h.encSliceReplicationController(([]ReplicationController)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2581 := z.EncBinary()
					_ = yym2581
					if false {
					} else {
						h.encSliceReplicationController(([]ReplicationController)(x.Items), e)
					}
				}
			}
			if yyr2567 || yy2arr2567 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ReplicationControllerList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2582 := z.DecBinary()
	_ = yym2582
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2583 := r.ContainerType()
		if yyct2583 == codecSelferValueTypeMap1234 {
			yyl2583 := r.ReadMapStart()
			if yyl2583 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2583, d)
			}
		} else if yyct2583 == codecSelferValueTypeArray1234 {
			yyl2583 := r.ReadArrayStart()
			if yyl2583 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2583, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ReplicationControllerList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2584Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2584Slc
	var yyhl2584 bool = l >= 0
	for yyj2584 := 0; ; yyj2584++ {
		if yyhl2584 {
			if yyj2584 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2584Slc = r.DecodeBytes(yys2584Slc, true, true)
		yys2584 := string(yys2584Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2584 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_v1.ListMeta{}
			} else {
				yyv2587 := &x.ListMeta
				yym2588 := z.DecBinary()
				_ = yym2588
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2587) {
				} else {
					z.DecFallback(yyv2587, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2589 := &x.Items
				yym2590 := z.DecBinary()
				_ = yym2590
				if false {
				} else {
					h.decSliceReplicationController((*[]ReplicationController)(yyv2589), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2584)
		} // end switch yys2584
	} // end for yyj2584
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ReplicationControllerList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2591 int
	var yyb2591 bool
	var yyhl2591 bool = l >= 0
	yyj2591++
	if yyhl2591 {
		yyb2591 = yyj2591 > l
	} else {
		yyb2591 = r.CheckBreak()
	}
	if yyb2591 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2591++
	if yyhl2591 {
		yyb2591 = yyj2591 > l
	} else {
		yyb2591 = r.CheckBreak()
	}
	if yyb2591 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2591++
	if yyhl2591 {
		yyb2591 = yyj2591 > l
	} else {
		yyb2591 = r.CheckBreak()
	}
	if yyb2591 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_v1.ListMeta{}
	} else {
		yyv2594 := &x.ListMeta
		yym2595 := z.DecBinary()
		_ = yym2595
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2594) {
		} else {
			z.DecFallback(yyv2594, false)
		}
	}
	yyj2591++
	if yyhl2591 {
		yyb2591 = yyj2591 > l
	} else {
		yyb2591 = r.CheckBreak()
	}
	if yyb2591 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2596 := &x.Items
		yym2597 := z.DecBinary()
		_ = yym2597
		if false {
		} else {
			h.decSliceReplicationController((*[]ReplicationController)(yyv2596), d)
		}
	}
	for {
		yyj2591++
		if yyhl2591 {
			yyb2591 = yyj2591 > l
		} else {
			yyb2591 = r.CheckBreak()
		}
		if yyb2591 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2591-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ServiceList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2598 := z.EncBinary()
		_ = yym2598
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2599 := !z.EncBinary()
			yy2arr2599 := z.EncBasicHandle().StructToArray
			var yyq2599 [4]bool
			_, _, _ = yysep2599, yyq2599, yy2arr2599
			const yyr2599 bool = false
			yyq2599[0] = x.Kind != ""
			yyq2599[1] = x.APIVersion != ""
			yyq2599[2] = true
			var yynn2599 int
			if yyr2599 || yy2arr2599 {
				r.EncodeArrayStart(4)
			} else {
				yynn2599 = 1
				for _, b := range yyq2599 {
					if b {
						yynn2599++
					}
				}
				r.EncodeMapStart(yynn2599)
				yynn2599 = 0
			}
			if yyr2599 || yy2arr2599 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2599[0] {
					yym2601 := z.EncBinary()
					_ = yym2601
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2599[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2602 := z.EncBinary()
					_ = yym2602
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2599 || yy2arr2599 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2599[1] {
					yym2604 := z.EncBinary()
					_ = yym2604
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2599[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2605 := z.EncBinary()
					_ = yym2605
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2599 || yy2arr2599 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2599[2] {
					yy2607 := &x.ListMeta
					yym2608 := z.EncBinary()
					_ = yym2608
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2607) {
					} else {
						z.EncFallback(yy2607)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2599[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2609 := &x.ListMeta
					yym2610 := z.EncBinary()
					_ = yym2610
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2609) {
					} else {
						z.EncFallback(yy2609)
					}
				}
			}
			if yyr2599 || yy2arr2599 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2612 := z.EncBinary()
					_ = yym2612
					if false {
					} else {
						h.encSliceService(([]Service)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2613 := z.EncBinary()
					_ = yym2613
					if false {
					} else {
						h.encSliceService(([]Service)(x.Items), e)
					}
				}
			}
			if yyr2599 || yy2arr2599 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ServiceList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2614 := z.DecBinary()
	_ = yym2614
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2615 := r.ContainerType()
		if yyct2615 == codecSelferValueTypeMap1234 {
			yyl2615 := r.ReadMapStart()
			if yyl2615 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2615, d)
			}
		} else if yyct2615 == codecSelferValueTypeArray1234 {
			yyl2615 := r.ReadArrayStart()
			if yyl2615 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2615, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2616Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2616Slc
	var yyhl2616 bool = l >= 0
	for yyj2616 := 0; ; yyj2616++ {
		if yyhl2616 {
			if yyj2616 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2616Slc = r.DecodeBytes(yys2616Slc, true, true)
		yys2616 := string(yys2616Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2616 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_v1.ListMeta{}
			} else {
				yyv2619 := &x.ListMeta
				yym2620 := z.DecBinary()
				_ = yym2620
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2619) {
				} else {
					z.DecFallback(yyv2619, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2621 := &x.Items
				yym2622 := z.DecBinary()
				_ = yym2622
				if false {
				} else {
					h.decSliceService((*[]Service)(yyv2621), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2616)
		} // end switch yys2616
	} // end for yyj2616
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ServiceList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2623 int
	var yyb2623 bool
	var yyhl2623 bool = l >= 0
	yyj2623++
	if yyhl2623 {
		yyb2623 = yyj2623 > l
	} else {
		yyb2623 = r.CheckBreak()
	}
	if yyb2623 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2623++
	if yyhl2623 {
		yyb2623 = yyj2623 > l
	} else {
		yyb2623 = r.CheckBreak()
	}
	if yyb2623 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2623++
	if yyhl2623 {
		yyb2623 = yyj2623 > l
	} else {
		yyb2623 = r.CheckBreak()
	}
	if yyb2623 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_v1.ListMeta{}
	} else {
		yyv2626 := &x.ListMeta
		yym2627 := z.DecBinary()
		_ = yym2627
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2626) {
		} else {
			z.DecFallback(yyv2626, false)
		}
	}
	yyj2623++
	if yyhl2623 {
		yyb2623 = yyj2623 > l
	} else {
		yyb2623 = r.CheckBreak()
	}
	if yyb2623 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2628 := &x.Items
		yym2629 := z.DecBinary()
		_ = yym2629
		if false {
		} else {
			h.decSliceService((*[]Service)(yyv2628), d)
		}
	}
	for {
		yyj2623++
		if yyhl2623 {
			yyb2623 = yyj2623 > l
		} else {
			yyb2623 = r.CheckBreak()
		}
		if yyb2623 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2623-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x ServiceAffinity) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2630 := z.EncBinary()
	_ = yym2630
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ServiceAffinity) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2631 := z.DecBinary()
	_ = yym2631
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x ServiceType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2632 := z.EncBinary()
	_ = yym2632
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ServiceType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2633 := z.DecBinary()
	_ = yym2633
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *ServiceStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2634 := z.EncBinary()
		_ = yym2634
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2635 := !z.EncBinary()
			yy2arr2635 := z.EncBasicHandle().StructToArray
			var yyq2635 [1]bool
			_, _, _ = yysep2635, yyq2635, yy2arr2635
			const yyr2635 bool = false
			yyq2635[0] = true
			var yynn2635 int
			if yyr2635 || yy2arr2635 {
				r.EncodeArrayStart(1)
			} else {
				yynn2635 = 0
				for _, b := range yyq2635 {
					if b {
						yynn2635++
					}
				}
				r.EncodeMapStart(yynn2635)
				yynn2635 = 0
			}
			if yyr2635 || yy2arr2635 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2635[0] {
					yy2637 := &x.LoadBalancer
					yy2637.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2635[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("loadBalancer"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2638 := &x.LoadBalancer
					yy2638.CodecEncodeSelf(e)
				}
			}
			if yyr2635 || yy2arr2635 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ServiceStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2639 := z.DecBinary()
	_ = yym2639
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2640 := r.ContainerType()
		if yyct2640 == codecSelferValueTypeMap1234 {
			yyl2640 := r.ReadMapStart()
			if yyl2640 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2640, d)
			}
		} else if yyct2640 == codecSelferValueTypeArray1234 {
			yyl2640 := r.ReadArrayStart()
			if yyl2640 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2640, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2641Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2641Slc
	var yyhl2641 bool = l >= 0
	for yyj2641 := 0; ; yyj2641++ {
		if yyhl2641 {
			if yyj2641 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2641Slc = r.DecodeBytes(yys2641Slc, true, true)
		yys2641 := string(yys2641Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2641 {
		case "loadBalancer":
			if r.TryDecodeAsNil() {
				x.LoadBalancer = LoadBalancerStatus{}
			} else {
				yyv2642 := &x.LoadBalancer
				yyv2642.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2641)
		} // end switch yys2641
	} // end for yyj2641
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ServiceStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2643 int
	var yyb2643 bool
	var yyhl2643 bool = l >= 0
	yyj2643++
	if yyhl2643 {
		yyb2643 = yyj2643 > l
	} else {
		yyb2643 = r.CheckBreak()
	}
	if yyb2643 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LoadBalancer = LoadBalancerStatus{}
	} else {
		yyv2644 := &x.LoadBalancer
		yyv2644.CodecDecodeSelf(d)
	}
	for {
		yyj2643++
		if yyhl2643 {
			yyb2643 = yyj2643 > l
		} else {
			yyb2643 = r.CheckBreak()
		}
		if yyb2643 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2643-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *LoadBalancerStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2645 := z.EncBinary()
		_ = yym2645
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2646 := !z.EncBinary()
			yy2arr2646 := z.EncBasicHandle().StructToArray
			var yyq2646 [1]bool
			_, _, _ = yysep2646, yyq2646, yy2arr2646
			const yyr2646 bool = false
			yyq2646[0] = len(x.Ingress) != 0
			var yynn2646 int
			if yyr2646 || yy2arr2646 {
				r.EncodeArrayStart(1)
			} else {
				yynn2646 = 0
				for _, b := range yyq2646 {
					if b {
						yynn2646++
					}
				}
				r.EncodeMapStart(yynn2646)
				yynn2646 = 0
			}
			if yyr2646 || yy2arr2646 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2646[0] {
					if x.Ingress == nil {
						r.EncodeNil()
					} else {
						yym2648 := z.EncBinary()
						_ = yym2648
						if false {
						} else {
							h.encSliceLoadBalancerIngress(([]LoadBalancerIngress)(x.Ingress), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2646[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("ingress"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Ingress == nil {
						r.EncodeNil()
					} else {
						yym2649 := z.EncBinary()
						_ = yym2649
						if false {
						} else {
							h.encSliceLoadBalancerIngress(([]LoadBalancerIngress)(x.Ingress), e)
						}
					}
				}
			}
			if yyr2646 || yy2arr2646 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *LoadBalancerStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2650 := z.DecBinary()
	_ = yym2650
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2651 := r.ContainerType()
		if yyct2651 == codecSelferValueTypeMap1234 {
			yyl2651 := r.ReadMapStart()
			if yyl2651 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2651, d)
			}
		} else if yyct2651 == codecSelferValueTypeArray1234 {
			yyl2651 := r.ReadArrayStart()
			if yyl2651 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2651, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LoadBalancerStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2652Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2652Slc
	var yyhl2652 bool = l >= 0
	for yyj2652 := 0; ; yyj2652++ {
		if yyhl2652 {
			if yyj2652 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2652Slc = r.DecodeBytes(yys2652Slc, true, true)
		yys2652 := string(yys2652Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2652 {
		case "ingress":
			if r.TryDecodeAsNil() {
				x.Ingress = nil
			} else {
				yyv2653 := &x.Ingress
				yym2654 := z.DecBinary()
				_ = yym2654
				if false {
				} else {
					h.decSliceLoadBalancerIngress((*[]LoadBalancerIngress)(yyv2653), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2652)
		} // end switch yys2652
	} // end for yyj2652
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *LoadBalancerStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2655 int
	var yyb2655 bool
	var yyhl2655 bool = l >= 0
	yyj2655++
	if yyhl2655 {
		yyb2655 = yyj2655 > l
	} else {
		yyb2655 = r.CheckBreak()
	}
	if yyb2655 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ingress = nil
	} else {
		yyv2656 := &x.Ingress
		yym2657 := z.DecBinary()
		_ = yym2657
		if false {
		} else {
			h.decSliceLoadBalancerIngress((*[]LoadBalancerIngress)(yyv2656), d)
		}
	}
	for {
		yyj2655++
		if yyhl2655 {
			yyb2655 = yyj2655 > l
		} else {
			yyb2655 = r.CheckBreak()
		}
		if yyb2655 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2655-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *LoadBalancerIngress) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2658 := z.EncBinary()
		_ = yym2658
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2659 := !z.EncBinary()
			yy2arr2659 := z.EncBasicHandle().StructToArray
			var yyq2659 [2]bool
			_, _, _ = yysep2659, yyq2659, yy2arr2659
			const yyr2659 bool = false
			yyq2659[0] = x.IP != ""
			yyq2659[1] = x.Hostname != ""
			var yynn2659 int
			if yyr2659 || yy2arr2659 {
				r.EncodeArrayStart(2)
			} else {
				yynn2659 = 0
				for _, b := range yyq2659 {
					if b {
						yynn2659++
					}
				}
				r.EncodeMapStart(yynn2659)
				yynn2659 = 0
			}
			if yyr2659 || yy2arr2659 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2659[0] {
					yym2661 := z.EncBinary()
					_ = yym2661
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2659[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("ip"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2662 := z.EncBinary()
					_ = yym2662
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IP))
					}
				}
			}
			if yyr2659 || yy2arr2659 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2659[1] {
					yym2664 := z.EncBinary()
					_ = yym2664
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2659[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostname"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2665 := z.EncBinary()
					_ = yym2665
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				}
			}
			if yyr2659 || yy2arr2659 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *LoadBalancerIngress) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2666 := z.DecBinary()
	_ = yym2666
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2667 := r.ContainerType()
		if yyct2667 == codecSelferValueTypeMap1234 {
			yyl2667 := r.ReadMapStart()
			if yyl2667 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2667, d)
			}
		} else if yyct2667 == codecSelferValueTypeArray1234 {
			yyl2667 := r.ReadArrayStart()
			if yyl2667 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2667, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LoadBalancerIngress) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2668Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2668Slc
	var yyhl2668 bool = l >= 0
	for yyj2668 := 0; ; yyj2668++ {
		if yyhl2668 {
			if yyj2668 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2668Slc = r.DecodeBytes(yys2668Slc, true, true)
		yys2668 := string(yys2668Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2668 {
		case "ip":
			if r.TryDecodeAsNil() {
				x.IP = ""
			} else {
				x.IP = string(r.DecodeString())
			}
		case "hostname":
			if r.TryDecodeAsNil() {
				x.Hostname = ""
			} else {
				x.Hostname = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2668)
		} // end switch yys2668
	} // end for yyj2668
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *LoadBalancerIngress) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2671 int
	var yyb2671 bool
	var yyhl2671 bool = l >= 0
	yyj2671++
	if yyhl2671 {
		yyb2671 = yyj2671 > l
	} else {
		yyb2671 = r.CheckBreak()
	}
	if yyb2671 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.IP = ""
	} else {
		x.IP = string(r.DecodeString())
	}
	yyj2671++
	if yyhl2671 {
		yyb2671 = yyj2671 > l
	} else {
		yyb2671 = r.CheckBreak()
	}
	if yyb2671 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Hostname = ""
	} else {
		x.Hostname = string(r.DecodeString())
	}
	for {
		yyj2671++
		if yyhl2671 {
			yyb2671 = yyj2671 > l
		} else {
			yyb2671 = r.CheckBreak()
		}
		if yyb2671 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2671-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ServiceSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2674 := z.EncBinary()
		_ = yym2674
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2675 := !z.EncBinary()
			yy2arr2675 := z.EncBasicHandle().StructToArray
			var yyq2675 [9]bool
			_, _, _ = yysep2675, yyq2675, yy2arr2675
			const yyr2675 bool = false
			yyq2675[0] = x.Type != ""
			yyq2675[3] = x.ClusterIP != ""
			yyq2675[5] = len(x.ExternalIPs) != 0
			yyq2675[6] = x.LoadBalancerIP != ""
			yyq2675[7] = x.SessionAffinity != ""
			yyq2675[8] = len(x.LoadBalancerSourceRanges) != 0
			var yynn2675 int
			if yyr2675 || yy2arr2675 {
				r.EncodeArrayStart(9)
			} else {
				yynn2675 = 3
				for _, b := range yyq2675 {
					if b {
						yynn2675++
					}
				}
				r.EncodeMapStart(yynn2675)
				yynn2675 = 0
			}
			if yyr2675 || yy2arr2675 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2675[0] {
					x.Type.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2675[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Type.CodecEncodeSelf(e)
				}
			}
			if yyr2675 || yy2arr2675 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Ports == nil {
					r.EncodeNil()
				} else {
					yym2678 := z.EncBinary()
					_ = yym2678
					if false {
					} else {
						h.encSliceServicePort(([]ServicePort)(x.Ports), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("ports"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Ports == nil {
					r.EncodeNil()
				} else {
					yym2679 := z.EncBinary()
					_ = yym2679
					if false {
					} else {
						h.encSliceServicePort(([]ServicePort)(x.Ports), e)
					}
				}
			}
			if yyr2675 || yy2arr2675 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Selector == nil {
					r.EncodeNil()
				} else {
					yym2681 := z.EncBinary()
					_ = yym2681
					if false {
					} else {
						z.F.EncMapStringStringV(x.Selector, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("selector"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Selector == nil {
					r.EncodeNil()
				} else {
					yym2682 := z.EncBinary()
					_ = yym2682
					if false {
					} else {
						z.F.EncMapStringStringV(x.Selector, false, e)
					}
				}
			}
			if yyr2675 || yy2arr2675 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2675[3] {
					yym2684 := z.EncBinary()
					_ = yym2684
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ClusterIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2675[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("clusterIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2685 := z.EncBinary()
					_ = yym2685
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ClusterIP))
					}
				}
			}
			if yyr2675 || yy2arr2675 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2687 := z.EncBinary()
				_ = yym2687
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ExternalName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("ExternalName"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2688 := z.EncBinary()
				_ = yym2688
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ExternalName))
				}
			}
			if yyr2675 || yy2arr2675 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2675[5] {
					if x.ExternalIPs == nil {
						r.EncodeNil()
					} else {
						yym2690 := z.EncBinary()
						_ = yym2690
						if false {
						} else {
							z.F.EncSliceStringV(x.ExternalIPs, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2675[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("externalIPs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ExternalIPs == nil {
						r.EncodeNil()
					} else {
						yym2691 := z.EncBinary()
						_ = yym2691
						if false {
						} else {
							z.F.EncSliceStringV(x.ExternalIPs, false, e)
						}
					}
				}
			}
			if yyr2675 || yy2arr2675 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2675[6] {
					yym2693 := z.EncBinary()
					_ = yym2693
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.LoadBalancerIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2675[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("loadBalancerIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2694 := z.EncBinary()
					_ = yym2694
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.LoadBalancerIP))
					}
				}
			}
			if yyr2675 || yy2arr2675 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2675[7] {
					x.SessionAffinity.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2675[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("sessionAffinity"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.SessionAffinity.CodecEncodeSelf(e)
				}
			}
			if yyr2675 || yy2arr2675 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2675[8] {
					if x.LoadBalancerSourceRanges == nil {
						r.EncodeNil()
					} else {
						yym2697 := z.EncBinary()
						_ = yym2697
						if false {
						} else {
							z.F.EncSliceStringV(x.LoadBalancerSourceRanges, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2675[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("loadBalancerSourceRanges"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.LoadBalancerSourceRanges == nil {
						r.EncodeNil()
					} else {
						yym2698 := z.EncBinary()
						_ = yym2698
						if false {
						} else {
							z.F.EncSliceStringV(x.LoadBalancerSourceRanges, false, e)
						}
					}
				}
			}
			if yyr2675 || yy2arr2675 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ServiceSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2699 := z.DecBinary()
	_ = yym2699
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2700 := r.ContainerType()
		if yyct2700 == codecSelferValueTypeMap1234 {
			yyl2700 := r.ReadMapStart()
			if yyl2700 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2700, d)
			}
		} else if yyct2700 == codecSelferValueTypeArray1234 {
			yyl2700 := r.ReadArrayStart()
			if yyl2700 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2700, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2701Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2701Slc
	var yyhl2701 bool = l >= 0
	for yyj2701 := 0; ; yyj2701++ {
		if yyhl2701 {
			if yyj2701 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2701Slc = r.DecodeBytes(yys2701Slc, true, true)
		yys2701 := string(yys2701Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2701 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = ServiceType(r.DecodeString())
			}
		case "ports":
			if r.TryDecodeAsNil() {
				x.Ports = nil
			} else {
				yyv2703 := &x.Ports
				yym2704 := z.DecBinary()
				_ = yym2704
				if false {
				} else {
					h.decSliceServicePort((*[]ServicePort)(yyv2703), d)
				}
			}
		case "selector":
			if r.TryDecodeAsNil() {
				x.Selector = nil
			} else {
				yyv2705 := &x.Selector
				yym2706 := z.DecBinary()
				_ = yym2706
				if false {
				} else {
					z.F.DecMapStringStringX(yyv2705, false, d)
				}
			}
		case "clusterIP":
			if r.TryDecodeAsNil() {
				x.ClusterIP = ""
			} else {
				x.ClusterIP = string(r.DecodeString())
			}
		case "ExternalName":
			if r.TryDecodeAsNil() {
				x.ExternalName = ""
			} else {
				x.ExternalName = string(r.DecodeString())
			}
		case "externalIPs":
			if r.TryDecodeAsNil() {
				x.ExternalIPs = nil
			} else {
				yyv2709 := &x.ExternalIPs
				yym2710 := z.DecBinary()
				_ = yym2710
				if false {
				} else {
					z.F.DecSliceStringX(yyv2709, false, d)
				}
			}
		case "loadBalancerIP":
			if r.TryDecodeAsNil() {
				x.LoadBalancerIP = ""
			} else {
				x.LoadBalancerIP = string(r.DecodeString())
			}
		case "sessionAffinity":
			if r.TryDecodeAsNil() {
				x.SessionAffinity = ""
			} else {
				x.SessionAffinity = ServiceAffinity(r.DecodeString())
			}
		case "loadBalancerSourceRanges":
			if r.TryDecodeAsNil() {
				x.LoadBalancerSourceRanges = nil
			} else {
				yyv2713 := &x.LoadBalancerSourceRanges
				yym2714 := z.DecBinary()
				_ = yym2714
				if false {
				} else {
					z.F.DecSliceStringX(yyv2713, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2701)
		} // end switch yys2701
	} // end for yyj2701
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2715 int
	var yyb2715 bool
	var yyhl2715 bool = l >= 0
	yyj2715++
	if yyhl2715 {
		yyb2715 = yyj2715 > l
	} else {
		yyb2715 = r.CheckBreak()
	}
	if yyb2715 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = ServiceType(r.DecodeString())
	}
	yyj2715++
	if yyhl2715 {
		yyb2715 = yyj2715 > l
	} else {
		yyb2715 = r.CheckBreak()
	}
	if yyb2715 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ports = nil
	} else {
		yyv2717 := &x.Ports
		yym2718 := z.DecBinary()
		_ = yym2718
		if false {
		} else {
			h.decSliceServicePort((*[]ServicePort)(yyv2717), d)
		}
	}
	yyj2715++
	if yyhl2715 {
		yyb2715 = yyj2715 > l
	} else {
		yyb2715 = r.CheckBreak()
	}
	if yyb2715 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Selector = nil
	} else {
		yyv2719 := &x.Selector
		yym2720 := z.DecBinary()
		_ = yym2720
		if false {
		} else {
			z.F.DecMapStringStringX(yyv2719, false, d)
		}
	}
	yyj2715++
	if yyhl2715 {
		yyb2715 = yyj2715 > l
	} else {
		yyb2715 = r.CheckBreak()
	}
	if yyb2715 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ClusterIP = ""
	} else {
		x.ClusterIP = string(r.DecodeString())
	}
	yyj2715++
	if yyhl2715 {
		yyb2715 = yyj2715 > l
	} else {
		yyb2715 = r.CheckBreak()
	}
	if yyb2715 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ExternalName = ""
	} else {
		x.ExternalName = string(r.DecodeString())
	}
	yyj2715++
	if yyhl2715 {
		yyb2715 = yyj2715 > l
	} else {
		yyb2715 = r.CheckBreak()
	}
	if yyb2715 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ExternalIPs = nil
	} else {
		yyv2723 := &x.ExternalIPs
		yym2724 := z.DecBinary()
		_ = yym2724
		if false {
		} else {
			z.F.DecSliceStringX(yyv2723, false, d)
		}
	}
	yyj2715++
	if yyhl2715 {
		yyb2715 = yyj2715 > l
	} else {
		yyb2715 = r.CheckBreak()
	}
	if yyb2715 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LoadBalancerIP = ""
	} else {
		x.LoadBalancerIP = string(r.DecodeString())
	}
	yyj2715++
	if yyhl2715 {
		yyb2715 = yyj2715 > l
	} else {
		yyb2715 = r.CheckBreak()
	}
	if yyb2715 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SessionAffinity = ""
	} else {
		x.SessionAffinity = ServiceAffinity(r.DecodeString())
	}
	yyj2715++
	if yyhl2715 {
		yyb2715 = yyj2715 > l
	} else {
		yyb2715 = r.CheckBreak()
	}
	if yyb2715 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LoadBalancerSourceRanges = nil
	} else {
		yyv2727 := &x.LoadBalancerSourceRanges
		yym2728 := z.DecBinary()
		_ = yym2728
		if false {
		} else {
			z.F.DecSliceStringX(yyv2727, false, d)
		}
	}
	for {
		yyj2715++
		if yyhl2715 {
			yyb2715 = yyj2715 > l
		} else {
			yyb2715 = r.CheckBreak()
		}
		if yyb2715 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2715-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ServicePort) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2729 := z.EncBinary()
		_ = yym2729
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2730 := !z.EncBinary()
			yy2arr2730 := z.EncBasicHandle().StructToArray
			var yyq2730 [5]bool
			_, _, _ = yysep2730, yyq2730, yy2arr2730
			const yyr2730 bool = false
			var yynn2730 int
			if yyr2730 || yy2arr2730 {
				r.EncodeArrayStart(5)
			} else {
				yynn2730 = 5
				for _, b := range yyq2730 {
					if b {
						yynn2730++
					}
				}
				r.EncodeMapStart(yynn2730)
				yynn2730 = 0
			}
			if yyr2730 || yy2arr2730 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2732 := z.EncBinary()
				_ = yym2732
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2733 := z.EncBinary()
				_ = yym2733
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr2730 || yy2arr2730 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Protocol.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("protocol"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Protocol.CodecEncodeSelf(e)
			}
			if yyr2730 || yy2arr2730 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2736 := z.EncBinary()
				_ = yym2736
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("port"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2737 := z.EncBinary()
				_ = yym2737
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			}
			if yyr2730 || yy2arr2730 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy2739 := &x.TargetPort
				yym2740 := z.EncBinary()
				_ = yym2740
				if false {
				} else if z.HasExtensions() && z.EncExt(yy2739) {
				} else if !yym2740 && z.IsJSONHandle() {
					z.EncJSONMarshal(yy2739)
				} else {
					z.EncFallback(yy2739)
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("targetPort"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy2741 := &x.TargetPort
				yym2742 := z.EncBinary()
				_ = yym2742
				if false {
				} else if z.HasExtensions() && z.EncExt(yy2741) {
				} else if !yym2742 && z.IsJSONHandle() {
					z.EncJSONMarshal(yy2741)
				} else {
					z.EncFallback(yy2741)
				}
			}
			if yyr2730 || yy2arr2730 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2744 := z.EncBinary()
				_ = yym2744
				if false {
				} else {
					r.EncodeInt(int64(x.NodePort))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("nodePort"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2745 := z.EncBinary()
				_ = yym2745
				if false {
				} else {
					r.EncodeInt(int64(x.NodePort))
				}
			}
			if yyr2730 || yy2arr2730 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ServicePort) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2746 := z.DecBinary()
	_ = yym2746
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2747 := r.ContainerType()
		if yyct2747 == codecSelferValueTypeMap1234 {
			yyl2747 := r.ReadMapStart()
			if yyl2747 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2747, d)
			}
		} else if yyct2747 == codecSelferValueTypeArray1234 {
			yyl2747 := r.ReadArrayStart()
			if yyl2747 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2747, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServicePort) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2748Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2748Slc
	var yyhl2748 bool = l >= 0
	for yyj2748 := 0; ; yyj2748++ {
		if yyhl2748 {
			if yyj2748 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2748Slc = r.DecodeBytes(yys2748Slc, true, true)
		yys2748 := string(yys2748Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2748 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "protocol":
			if r.TryDecodeAsNil() {
				x.Protocol = ""
			} else {
				x.Protocol = Protocol(r.DecodeString())
			}
		case "port":
			if r.TryDecodeAsNil() {
				x.Port = 0
			} else {
				x.Port = int32(r.DecodeInt(32))
			}
		case "targetPort":
			if r.TryDecodeAsNil() {
				x.TargetPort = pkg4_intstr.IntOrString{}
			} else {
				yyv2752 := &x.TargetPort
				yym2753 := z.DecBinary()
				_ = yym2753
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2752) {
				} else if !yym2753 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv2752)
				} else {
					z.DecFallback(yyv2752, false)
				}
			}
		case "nodePort":
			if r.TryDecodeAsNil() {
				x.NodePort = 0
			} else {
				x.NodePort = int32(r.DecodeInt(32))
			}
		default:
			z.DecStructFieldNotFound(-1, yys2748)
		} // end switch yys2748
	} // end for yyj2748
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ServicePort) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2755 int
	var yyb2755 bool
	var yyhl2755 bool = l >= 0
	yyj2755++
	if yyhl2755 {
		yyb2755 = yyj2755 > l
	} else {
		yyb2755 = r.CheckBreak()
	}
	if yyb2755 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj2755++
	if yyhl2755 {
		yyb2755 = yyj2755 > l
	} else {
		yyb2755 = r.CheckBreak()
	}
	if yyb2755 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Protocol = ""
	} else {
		x.Protocol = Protocol(r.DecodeString())
	}
	yyj2755++
	if yyhl2755 {
		yyb2755 = yyj2755 > l
	} else {
		yyb2755 = r.CheckBreak()
	}
	if yyb2755 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = 0
	} else {
		x.Port = int32(r.DecodeInt(32))
	}
	yyj2755++
	if yyhl2755 {
		yyb2755 = yyj2755 > l
	} else {
		yyb2755 = r.CheckBreak()
	}
	if yyb2755 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TargetPort = pkg4_intstr.IntOrString{}
	} else {
		yyv2759 := &x.TargetPort
		yym2760 := z.DecBinary()
		_ = yym2760
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2759) {
		} else if !yym2760 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv2759)
		} else {
			z.DecFallback(yyv2759, false)
		}
	}
	yyj2755++
	if yyhl2755 {
		yyb2755 = yyj2755 > l
	} else {
		yyb2755 = r.CheckBreak()
	}
	if yyb2755 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodePort = 0
	} else {
		x.NodePort = int32(r.DecodeInt(32))
	}
	for {
		yyj2755++
		if yyhl2755 {
			yyb2755 = yyj2755 > l
		} else {
			yyb2755 = r.CheckBreak()
		}
		if yyb2755 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2755-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Service) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2762 := z.EncBinary()
		_ = yym2762
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2763 := !z.EncBinary()
			yy2arr2763 := z.EncBasicHandle().StructToArray
			var yyq2763 [5]bool
			_, _, _ = yysep2763, yyq2763, yy2arr2763
			const yyr2763 bool = false
			yyq2763[0] = x.Kind != ""
			yyq2763[1] = x.APIVersion != ""
			yyq2763[2] = true
			yyq2763[3] = true
			yyq2763[4] = true
			var yynn2763 int
			if yyr2763 || yy2arr2763 {
				r.EncodeArrayStart(5)
			} else {
				yynn2763 = 0
				for _, b := range yyq2763 {
					if b {
						yynn2763++
					}
				}
				r.EncodeMapStart(yynn2763)
				yynn2763 = 0
			}
			if yyr2763 || yy2arr2763 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2763[0] {
					yym2765 := z.EncBinary()
					_ = yym2765
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2763[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2766 := z.EncBinary()
					_ = yym2766
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2763 || yy2arr2763 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2763[1] {
					yym2768 := z.EncBinary()
					_ = yym2768
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2763[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2769 := z.EncBinary()
					_ = yym2769
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2763 || yy2arr2763 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2763[2] {
					yy2771 := &x.ObjectMeta
					yy2771.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2763[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2772 := &x.ObjectMeta
					yy2772.CodecEncodeSelf(e)
				}
			}
			if yyr2763 || yy2arr2763 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2763[3] {
					yy2774 := &x.Spec
					yy2774.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2763[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2775 := &x.Spec
					yy2775.CodecEncodeSelf(e)
				}
			}
			if yyr2763 || yy2arr2763 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2763[4] {
					yy2777 := &x.Status
					yy2777.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2763[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2778 := &x.Status
					yy2778.CodecEncodeSelf(e)
				}
			}
			if yyr2763 || yy2arr2763 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Service) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2779 := z.DecBinary()
	_ = yym2779
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2780 := r.ContainerType()
		if yyct2780 == codecSelferValueTypeMap1234 {
			yyl2780 := r.ReadMapStart()
			if yyl2780 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2780, d)
			}
		} else if yyct2780 == codecSelferValueTypeArray1234 {
			yyl2780 := r.ReadArrayStart()
			if yyl2780 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2780, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Service) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2781Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2781Slc
	var yyhl2781 bool = l >= 0
	for yyj2781 := 0; ; yyj2781++ {
		if yyhl2781 {
			if yyj2781 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2781Slc = r.DecodeBytes(yys2781Slc, true, true)
		yys2781 := string(yys2781Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2781 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2784 := &x.ObjectMeta
				yyv2784.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = ServiceSpec{}
			} else {
				yyv2785 := &x.Spec
				yyv2785.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ServiceStatus{}
			} else {
				yyv2786 := &x.Status
				yyv2786.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2781)
		} // end switch yys2781
	} // end for yyj2781
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Service) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2787 int
	var yyb2787 bool
	var yyhl2787 bool = l >= 0
	yyj2787++
	if yyhl2787 {
		yyb2787 = yyj2787 > l
	} else {
		yyb2787 = r.CheckBreak()
	}
	if yyb2787 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2787++
	if yyhl2787 {
		yyb2787 = yyj2787 > l
	} else {
		yyb2787 = r.CheckBreak()
	}
	if yyb2787 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2787++
	if yyhl2787 {
		yyb2787 = yyj2787 > l
	} else {
		yyb2787 = r.CheckBreak()
	}
	if yyb2787 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2790 := &x.ObjectMeta
		yyv2790.CodecDecodeSelf(d)
	}
	yyj2787++
	if yyhl2787 {
		yyb2787 = yyj2787 > l
	} else {
		yyb2787 = r.CheckBreak()
	}
	if yyb2787 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = ServiceSpec{}
	} else {
		yyv2791 := &x.Spec
		yyv2791.CodecDecodeSelf(d)
	}
	yyj2787++
	if yyhl2787 {
		yyb2787 = yyj2787 > l
	} else {
		yyb2787 = r.CheckBreak()
	}
	if yyb2787 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ServiceStatus{}
	} else {
		yyv2792 := &x.Status
		yyv2792.CodecDecodeSelf(d)
	}
	for {
		yyj2787++
		if yyhl2787 {
			yyb2787 = yyj2787 > l
		} else {
			yyb2787 = r.CheckBreak()
		}
		if yyb2787 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2787-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ServiceAccount) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2793 := z.EncBinary()
		_ = yym2793
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2794 := !z.EncBinary()
			yy2arr2794 := z.EncBasicHandle().StructToArray
			var yyq2794 [5]bool
			_, _, _ = yysep2794, yyq2794, yy2arr2794
			const yyr2794 bool = false
			yyq2794[0] = x.Kind != ""
			yyq2794[1] = x.APIVersion != ""
			yyq2794[2] = true
			yyq2794[4] = len(x.ImagePullSecrets) != 0
			var yynn2794 int
			if yyr2794 || yy2arr2794 {
				r.EncodeArrayStart(5)
			} else {
				yynn2794 = 1
				for _, b := range yyq2794 {
					if b {
						yynn2794++
					}
				}
				r.EncodeMapStart(yynn2794)
				yynn2794 = 0
			}
			if yyr2794 || yy2arr2794 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2794[0] {
					yym2796 := z.EncBinary()
					_ = yym2796
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2794[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2797 := z.EncBinary()
					_ = yym2797
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2794 || yy2arr2794 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2794[1] {
					yym2799 := z.EncBinary()
					_ = yym2799
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2794[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2800 := z.EncBinary()
					_ = yym2800
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2794 || yy2arr2794 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2794[2] {
					yy2802 := &x.ObjectMeta
					yy2802.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2794[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2803 := &x.ObjectMeta
					yy2803.CodecEncodeSelf(e)
				}
			}
			if yyr2794 || yy2arr2794 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Secrets == nil {
					r.EncodeNil()
				} else {
					yym2805 := z.EncBinary()
					_ = yym2805
					if false {
					} else {
						h.encSliceObjectReference(([]ObjectReference)(x.Secrets), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("secrets"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Secrets == nil {
					r.EncodeNil()
				} else {
					yym2806 := z.EncBinary()
					_ = yym2806
					if false {
					} else {
						h.encSliceObjectReference(([]ObjectReference)(x.Secrets), e)
					}
				}
			}
			if yyr2794 || yy2arr2794 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2794[4] {
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym2808 := z.EncBinary()
						_ = yym2808
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2794[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("imagePullSecrets"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym2809 := z.EncBinary()
						_ = yym2809
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				}
			}
			if yyr2794 || yy2arr2794 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ServiceAccount) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2810 := z.DecBinary()
	_ = yym2810
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2811 := r.ContainerType()
		if yyct2811 == codecSelferValueTypeMap1234 {
			yyl2811 := r.ReadMapStart()
			if yyl2811 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2811, d)
			}
		} else if yyct2811 == codecSelferValueTypeArray1234 {
			yyl2811 := r.ReadArrayStart()
			if yyl2811 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2811, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceAccount) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2812Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2812Slc
	var yyhl2812 bool = l >= 0
	for yyj2812 := 0; ; yyj2812++ {
		if yyhl2812 {
			if yyj2812 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2812Slc = r.DecodeBytes(yys2812Slc, true, true)
		yys2812 := string(yys2812Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2812 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2815 := &x.ObjectMeta
				yyv2815.CodecDecodeSelf(d)
			}
		case "secrets":
			if r.TryDecodeAsNil() {
				x.Secrets = nil
			} else {
				yyv2816 := &x.Secrets
				yym2817 := z.DecBinary()
				_ = yym2817
				if false {
				} else {
					h.decSliceObjectReference((*[]ObjectReference)(yyv2816), d)
				}
			}
		case "imagePullSecrets":
			if r.TryDecodeAsNil() {
				x.ImagePullSecrets = nil
			} else {
				yyv2818 := &x.ImagePullSecrets
				yym2819 := z.DecBinary()
				_ = yym2819
				if false {
				} else {
					h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv2818), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2812)
		} // end switch yys2812
	} // end for yyj2812
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ServiceAccount) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2820 int
	var yyb2820 bool
	var yyhl2820 bool = l >= 0
	yyj2820++
	if yyhl2820 {
		yyb2820 = yyj2820 > l
	} else {
		yyb2820 = r.CheckBreak()
	}
	if yyb2820 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2820++
	if yyhl2820 {
		yyb2820 = yyj2820 > l
	} else {
		yyb2820 = r.CheckBreak()
	}
	if yyb2820 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2820++
	if yyhl2820 {
		yyb2820 = yyj2820 > l
	} else {
		yyb2820 = r.CheckBreak()
	}
	if yyb2820 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2823 := &x.ObjectMeta
		yyv2823.CodecDecodeSelf(d)
	}
	yyj2820++
	if yyhl2820 {
		yyb2820 = yyj2820 > l
	} else {
		yyb2820 = r.CheckBreak()
	}
	if yyb2820 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Secrets = nil
	} else {
		yyv2824 := &x.Secrets
		yym2825 := z.DecBinary()
		_ = yym2825
		if false {
		} else {
			h.decSliceObjectReference((*[]ObjectReference)(yyv2824), d)
		}
	}
	yyj2820++
	if yyhl2820 {
		yyb2820 = yyj2820 > l
	} else {
		yyb2820 = r.CheckBreak()
	}
	if yyb2820 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ImagePullSecrets = nil
	} else {
		yyv2826 := &x.ImagePullSecrets
		yym2827 := z.DecBinary()
		_ = yym2827
		if false {
		} else {
			h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv2826), d)
		}
	}
	for {
		yyj2820++
		if yyhl2820 {
			yyb2820 = yyj2820 > l
		} else {
			yyb2820 = r.CheckBreak()
		}
		if yyb2820 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2820-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ServiceAccountList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2828 := z.EncBinary()
		_ = yym2828
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2829 := !z.EncBinary()
			yy2arr2829 := z.EncBasicHandle().StructToArray
			var yyq2829 [4]bool
			_, _, _ = yysep2829, yyq2829, yy2arr2829
			const yyr2829 bool = false
			yyq2829[0] = x.Kind != ""
			yyq2829[1] = x.APIVersion != ""
			yyq2829[2] = true
			var yynn2829 int
			if yyr2829 || yy2arr2829 {
				r.EncodeArrayStart(4)
			} else {
				yynn2829 = 1
				for _, b := range yyq2829 {
					if b {
						yynn2829++
					}
				}
				r.EncodeMapStart(yynn2829)
				yynn2829 = 0
			}
			if yyr2829 || yy2arr2829 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2829[0] {
					yym2831 := z.EncBinary()
					_ = yym2831
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2829[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2832 := z.EncBinary()
					_ = yym2832
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2829 || yy2arr2829 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2829[1] {
					yym2834 := z.EncBinary()
					_ = yym2834
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2829[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2835 := z.EncBinary()
					_ = yym2835
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2829 || yy2arr2829 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2829[2] {
					yy2837 := &x.ListMeta
					yym2838 := z.EncBinary()
					_ = yym2838
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2837) {
					} else {
						z.EncFallback(yy2837)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2829[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2839 := &x.ListMeta
					yym2840 := z.EncBinary()
					_ = yym2840
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2839) {
					} else {
						z.EncFallback(yy2839)
					}
				}
			}
			if yyr2829 || yy2arr2829 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2842 := z.EncBinary()
					_ = yym2842
					if false {
					} else {
						h.encSliceServiceAccount(([]ServiceAccount)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2843 := z.EncBinary()
					_ = yym2843
					if false {
					} else {
						h.encSliceServiceAccount(([]ServiceAccount)(x.Items), e)
					}
				}
			}
			if yyr2829 || yy2arr2829 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ServiceAccountList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2844 := z.DecBinary()
	_ = yym2844
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2845 := r.ContainerType()
		if yyct2845 == codecSelferValueTypeMap1234 {
			yyl2845 := r.ReadMapStart()
			if yyl2845 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2845, d)
			}
		} else if yyct2845 == codecSelferValueTypeArray1234 {
			yyl2845 := r.ReadArrayStart()
			if yyl2845 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2845, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceAccountList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2846Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2846Slc
	var yyhl2846 bool = l >= 0
	for yyj2846 := 0; ; yyj2846++ {
		if yyhl2846 {
			if yyj2846 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2846Slc = r.DecodeBytes(yys2846Slc, true, true)
		yys2846 := string(yys2846Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2846 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_v1.ListMeta{}
			} else {
				yyv2849 := &x.ListMeta
				yym2850 := z.DecBinary()
				_ = yym2850
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2849) {
				} else {
					z.DecFallback(yyv2849, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2851 := &x.Items
				yym2852 := z.DecBinary()
				_ = yym2852
				if false {
				} else {
					h.decSliceServiceAccount((*[]ServiceAccount)(yyv2851), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2846)
		} // end switch yys2846
	} // end for yyj2846
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ServiceAccountList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2853 int
	var yyb2853 bool
	var yyhl2853 bool = l >= 0
	yyj2853++
	if yyhl2853 {
		yyb2853 = yyj2853 > l
	} else {
		yyb2853 = r.CheckBreak()
	}
	if yyb2853 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2853++
	if yyhl2853 {
		yyb2853 = yyj2853 > l
	} else {
		yyb2853 = r.CheckBreak()
	}
	if yyb2853 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2853++
	if yyhl2853 {
		yyb2853 = yyj2853 > l
	} else {
		yyb2853 = r.CheckBreak()
	}
	if yyb2853 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_v1.ListMeta{}
	} else {
		yyv2856 := &x.ListMeta
		yym2857 := z.DecBinary()
		_ = yym2857
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2856) {
		} else {
			z.DecFallback(yyv2856, false)
		}
	}
	yyj2853++
	if yyhl2853 {
		yyb2853 = yyj2853 > l
	} else {
		yyb2853 = r.CheckBreak()
	}
	if yyb2853 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2858 := &x.Items
		yym2859 := z.DecBinary()
		_ = yym2859
		if false {
		} else {
			h.decSliceServiceAccount((*[]ServiceAccount)(yyv2858), d)
		}
	}
	for {
		yyj2853++
		if yyhl2853 {
			yyb2853 = yyj2853 > l
		} else {
			yyb2853 = r.CheckBreak()
		}
		if yyb2853 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2853-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Endpoints) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2860 := z.EncBinary()
		_ = yym2860
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2861 := !z.EncBinary()
			yy2arr2861 := z.EncBasicHandle().StructToArray
			var yyq2861 [4]bool
			_, _, _ = yysep2861, yyq2861, yy2arr2861
			const yyr2861 bool = false
			yyq2861[0] = x.Kind != ""
			yyq2861[1] = x.APIVersion != ""
			yyq2861[2] = true
			var yynn2861 int
			if yyr2861 || yy2arr2861 {
				r.EncodeArrayStart(4)
			} else {
				yynn2861 = 1
				for _, b := range yyq2861 {
					if b {
						yynn2861++
					}
				}
				r.EncodeMapStart(yynn2861)
				yynn2861 = 0
			}
			if yyr2861 || yy2arr2861 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2861[0] {
					yym2863 := z.EncBinary()
					_ = yym2863
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2861[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2864 := z.EncBinary()
					_ = yym2864
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2861 || yy2arr2861 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2861[1] {
					yym2866 := z.EncBinary()
					_ = yym2866
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2861[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2867 := z.EncBinary()
					_ = yym2867
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2861 || yy2arr2861 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2861[2] {
					yy2869 := &x.ObjectMeta
					yy2869.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2861[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2870 := &x.ObjectMeta
					yy2870.CodecEncodeSelf(e)
				}
			}
			if yyr2861 || yy2arr2861 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Subsets == nil {
					r.EncodeNil()
				} else {
					yym2872 := z.EncBinary()
					_ = yym2872
					if false {
					} else {
						h.encSliceEndpointSubset(([]EndpointSubset)(x.Subsets), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Subsets"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Subsets == nil {
					r.EncodeNil()
				} else {
					yym2873 := z.EncBinary()
					_ = yym2873
					if false {
					} else {
						h.encSliceEndpointSubset(([]EndpointSubset)(x.Subsets), e)
					}
				}
			}
			if yyr2861 || yy2arr2861 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Endpoints) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2874 := z.DecBinary()
	_ = yym2874
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2875 := r.ContainerType()
		if yyct2875 == codecSelferValueTypeMap1234 {
			yyl2875 := r.ReadMapStart()
			if yyl2875 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2875, d)
			}
		} else if yyct2875 == codecSelferValueTypeArray1234 {
			yyl2875 := r.ReadArrayStart()
			if yyl2875 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2875, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Endpoints) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2876Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2876Slc
	var yyhl2876 bool = l >= 0
	for yyj2876 := 0; ; yyj2876++ {
		if yyhl2876 {
			if yyj2876 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2876Slc = r.DecodeBytes(yys2876Slc, true, true)
		yys2876 := string(yys2876Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2876 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2879 := &x.ObjectMeta
				yyv2879.CodecDecodeSelf(d)
			}
		case "Subsets":
			if r.TryDecodeAsNil() {
				x.Subsets = nil
			} else {
				yyv2880 := &x.Subsets
				yym2881 := z.DecBinary()
				_ = yym2881
				if false {
				} else {
					h.decSliceEndpointSubset((*[]EndpointSubset)(yyv2880), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2876)
		} // end switch yys2876
	} // end for yyj2876
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Endpoints) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2882 int
	var yyb2882 bool
	var yyhl2882 bool = l >= 0
	yyj2882++
	if yyhl2882 {
		yyb2882 = yyj2882 > l
	} else {
		yyb2882 = r.CheckBreak()
	}
	if yyb2882 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2882++
	if yyhl2882 {
		yyb2882 = yyj2882 > l
	} else {
		yyb2882 = r.CheckBreak()
	}
	if yyb2882 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2882++
	if yyhl2882 {
		yyb2882 = yyj2882 > l
	} else {
		yyb2882 = r.CheckBreak()
	}
	if yyb2882 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2885 := &x.ObjectMeta
		yyv2885.CodecDecodeSelf(d)
	}
	yyj2882++
	if yyhl2882 {
		yyb2882 = yyj2882 > l
	} else {
		yyb2882 = r.CheckBreak()
	}
	if yyb2882 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Subsets = nil
	} else {
		yyv2886 := &x.Subsets
		yym2887 := z.DecBinary()
		_ = yym2887
		if false {
		} else {
			h.decSliceEndpointSubset((*[]EndpointSubset)(yyv2886), d)
		}
	}
	for {
		yyj2882++
		if yyhl2882 {
			yyb2882 = yyj2882 > l
		} else {
			yyb2882 = r.CheckBreak()
		}
		if yyb2882 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2882-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EndpointSubset) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2888 := z.EncBinary()
		_ = yym2888
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2889 := !z.EncBinary()
			yy2arr2889 := z.EncBasicHandle().StructToArray
			var yyq2889 [3]bool
			_, _, _ = yysep2889, yyq2889, yy2arr2889
			const yyr2889 bool = false
			var yynn2889 int
			if yyr2889 || yy2arr2889 {
				r.EncodeArrayStart(3)
			} else {
				yynn2889 = 3
				for _, b := range yyq2889 {
					if b {
						yynn2889++
					}
				}
				r.EncodeMapStart(yynn2889)
				yynn2889 = 0
			}
			if yyr2889 || yy2arr2889 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Addresses == nil {
					r.EncodeNil()
				} else {
					yym2891 := z.EncBinary()
					_ = yym2891
					if false {
					} else {
						h.encSliceEndpointAddress(([]EndpointAddress)(x.Addresses), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Addresses"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Addresses == nil {
					r.EncodeNil()
				} else {
					yym2892 := z.EncBinary()
					_ = yym2892
					if false {
					} else {
						h.encSliceEndpointAddress(([]EndpointAddress)(x.Addresses), e)
					}
				}
			}
			if yyr2889 || yy2arr2889 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.NotReadyAddresses == nil {
					r.EncodeNil()
				} else {
					yym2894 := z.EncBinary()
					_ = yym2894
					if false {
					} else {
						h.encSliceEndpointAddress(([]EndpointAddress)(x.NotReadyAddresses), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("NotReadyAddresses"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.NotReadyAddresses == nil {
					r.EncodeNil()
				} else {
					yym2895 := z.EncBinary()
					_ = yym2895
					if false {
					} else {
						h.encSliceEndpointAddress(([]EndpointAddress)(x.NotReadyAddresses), e)
					}
				}
			}
			if yyr2889 || yy2arr2889 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Ports == nil {
					r.EncodeNil()
				} else {
					yym2897 := z.EncBinary()
					_ = yym2897
					if false {
					} else {
						h.encSliceEndpointPort(([]EndpointPort)(x.Ports), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Ports"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Ports == nil {
					r.EncodeNil()
				} else {
					yym2898 := z.EncBinary()
					_ = yym2898
					if false {
					} else {
						h.encSliceEndpointPort(([]EndpointPort)(x.Ports), e)
					}
				}
			}
			if yyr2889 || yy2arr2889 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EndpointSubset) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2899 := z.DecBinary()
	_ = yym2899
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2900 := r.ContainerType()
		if yyct2900 == codecSelferValueTypeMap1234 {
			yyl2900 := r.ReadMapStart()
			if yyl2900 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2900, d)
			}
		} else if yyct2900 == codecSelferValueTypeArray1234 {
			yyl2900 := r.ReadArrayStart()
			if yyl2900 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2900, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EndpointSubset) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2901Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2901Slc
	var yyhl2901 bool = l >= 0
	for yyj2901 := 0; ; yyj2901++ {
		if yyhl2901 {
			if yyj2901 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2901Slc = r.DecodeBytes(yys2901Slc, true, true)
		yys2901 := string(yys2901Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2901 {
		case "Addresses":
			if r.TryDecodeAsNil() {
				x.Addresses = nil
			} else {
				yyv2902 := &x.Addresses
				yym2903 := z.DecBinary()
				_ = yym2903
				if false {
				} else {
					h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2902), d)
				}
			}
		case "NotReadyAddresses":
			if r.TryDecodeAsNil() {
				x.NotReadyAddresses = nil
			} else {
				yyv2904 := &x.NotReadyAddresses
				yym2905 := z.DecBinary()
				_ = yym2905
				if false {
				} else {
					h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2904), d)
				}
			}
		case "Ports":
			if r.TryDecodeAsNil() {
				x.Ports = nil
			} else {
				yyv2906 := &x.Ports
				yym2907 := z.DecBinary()
				_ = yym2907
				if false {
				} else {
					h.decSliceEndpointPort((*[]EndpointPort)(yyv2906), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2901)
		} // end switch yys2901
	} // end for yyj2901
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EndpointSubset) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2908 int
	var yyb2908 bool
	var yyhl2908 bool = l >= 0
	yyj2908++
	if yyhl2908 {
		yyb2908 = yyj2908 > l
	} else {
		yyb2908 = r.CheckBreak()
	}
	if yyb2908 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Addresses = nil
	} else {
		yyv2909 := &x.Addresses
		yym2910 := z.DecBinary()
		_ = yym2910
		if false {
		} else {
			h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2909), d)
		}
	}
	yyj2908++
	if yyhl2908 {
		yyb2908 = yyj2908 > l
	} else {
		yyb2908 = r.CheckBreak()
	}
	if yyb2908 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NotReadyAddresses = nil
	} else {
		yyv2911 := &x.NotReadyAddresses
		yym2912 := z.DecBinary()
		_ = yym2912
		if false {
		} else {
			h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2911), d)
		}
	}
	yyj2908++
	if yyhl2908 {
		yyb2908 = yyj2908 > l
	} else {
		yyb2908 = r.CheckBreak()
	}
	if yyb2908 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ports = nil
	} else {
		yyv2913 := &x.Ports
		yym2914 := z.DecBinary()
		_ = yym2914
		if false {
		} else {
			h.decSliceEndpointPort((*[]EndpointPort)(yyv2913), d)
		}
	}
	for {
		yyj2908++
		if yyhl2908 {
			yyb2908 = yyj2908 > l
		} else {
			yyb2908 = r.CheckBreak()
		}
		if yyb2908 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2908-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EndpointAddress) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2915 := z.EncBinary()
		_ = yym2915
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2916 := !z.EncBinary()
			yy2arr2916 := z.EncBasicHandle().StructToArray
			var yyq2916 [4]bool
			_, _, _ = yysep2916, yyq2916, yy2arr2916
			const yyr2916 bool = false
			yyq2916[1] = x.Hostname != ""
			yyq2916[2] = x.NodeName != nil
			var yynn2916 int
			if yyr2916 || yy2arr2916 {
				r.EncodeArrayStart(4)
			} else {
				yynn2916 = 2
				for _, b := range yyq2916 {
					if b {
						yynn2916++
					}
				}
				r.EncodeMapStart(yynn2916)
				yynn2916 = 0
			}
			if yyr2916 || yy2arr2916 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2918 := z.EncBinary()
				_ = yym2918
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.IP))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("IP"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2919 := z.EncBinary()
				_ = yym2919
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.IP))
				}
			}
			if yyr2916 || yy2arr2916 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2916[1] {
					yym2921 := z.EncBinary()
					_ = yym2921
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2916[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostname"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2922 := z.EncBinary()
					_ = yym2922
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				}
			}
			if yyr2916 || yy2arr2916 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2916[2] {
					if x.NodeName == nil {
						r.EncodeNil()
					} else {
						yy2924 := *x.NodeName
						yym2925 := z.EncBinary()
						_ = yym2925
						if false {
						} else {
							r.EncodeString(codecSelferC_UTF81234, string(yy2924))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2916[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nodeName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.NodeName == nil {
						r.EncodeNil()
					} else {
						yy2926 := *x.NodeName
						yym2927 := z.EncBinary()
						_ = yym2927
						if false {
						} else {
							r.EncodeString(codecSelferC_UTF81234, string(yy2926))
						}
					}
				}
			}
			if yyr2916 || yy2arr2916 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.TargetRef == nil {
					r.EncodeNil()
				} else {
					x.TargetRef.CodecEncodeSelf(e)
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("TargetRef"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.TargetRef == nil {
					r.EncodeNil()
				} else {
					x.TargetRef.CodecEncodeSelf(e)
				}
			}
			if yyr2916 || yy2arr2916 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EndpointAddress) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2929 := z.DecBinary()
	_ = yym2929
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2930 := r.ContainerType()
		if yyct2930 == codecSelferValueTypeMap1234 {
			yyl2930 := r.ReadMapStart()
			if yyl2930 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2930, d)
			}
		} else if yyct2930 == codecSelferValueTypeArray1234 {
			yyl2930 := r.ReadArrayStart()
			if yyl2930 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2930, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EndpointAddress) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2931Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2931Slc
	var yyhl2931 bool = l >= 0
	for yyj2931 := 0; ; yyj2931++ {
		if yyhl2931 {
			if yyj2931 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2931Slc = r.DecodeBytes(yys2931Slc, true, true)
		yys2931 := string(yys2931Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2931 {
		case "IP":
			if r.TryDecodeAsNil() {
				x.IP = ""
			} else {
				x.IP = string(r.DecodeString())
			}
		case "hostname":
			if r.TryDecodeAsNil() {
				x.Hostname = ""
			} else {
				x.Hostname = string(r.DecodeString())
			}
		case "nodeName":
			if r.TryDecodeAsNil() {
				if x.NodeName != nil {
					x.NodeName = nil
				}
			} else {
				if x.NodeName == nil {
					x.NodeName = new(string)
				}
				yym2935 := z.DecBinary()
				_ = yym2935
				if false {
				} else {
					*((*string)(x.NodeName)) = r.DecodeString()
				}
			}
		case "TargetRef":
			if r.TryDecodeAsNil() {
				if x.TargetRef != nil {
					x.TargetRef = nil
				}
			} else {
				if x.TargetRef == nil {
					x.TargetRef = new(ObjectReference)
				}
				x.TargetRef.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2931)
		} // end switch yys2931
	} // end for yyj2931
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EndpointAddress) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2937 int
	var yyb2937 bool
	var yyhl2937 bool = l >= 0
	yyj2937++
	if yyhl2937 {
		yyb2937 = yyj2937 > l
	} else {
		yyb2937 = r.CheckBreak()
	}
	if yyb2937 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.IP = ""
	} else {
		x.IP = string(r.DecodeString())
	}
	yyj2937++
	if yyhl2937 {
		yyb2937 = yyj2937 > l
	} else {
		yyb2937 = r.CheckBreak()
	}
	if yyb2937 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Hostname = ""
	} else {
		x.Hostname = string(r.DecodeString())
	}
	yyj2937++
	if yyhl2937 {
		yyb2937 = yyj2937 > l
	} else {
		yyb2937 = r.CheckBreak()
	}
	if yyb2937 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.NodeName != nil {
			x.NodeName = nil
		}
	} else {
		if x.NodeName == nil {
			x.NodeName = new(string)
		}
		yym2941 := z.DecBinary()
		_ = yym2941
		if false {
		} else {
			*((*string)(x.NodeName)) = r.DecodeString()
		}
	}
	yyj2937++
	if yyhl2937 {
		yyb2937 = yyj2937 > l
	} else {
		yyb2937 = r.CheckBreak()
	}
	if yyb2937 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.TargetRef != nil {
			x.TargetRef = nil
		}
	} else {
		if x.TargetRef == nil {
			x.TargetRef = new(ObjectReference)
		}
		x.TargetRef.CodecDecodeSelf(d)
	}
	for {
		yyj2937++
		if yyhl2937 {
			yyb2937 = yyj2937 > l
		} else {
			yyb2937 = r.CheckBreak()
		}
		if yyb2937 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2937-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EndpointPort) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2943 := z.EncBinary()
		_ = yym2943
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2944 := !z.EncBinary()
			yy2arr2944 := z.EncBasicHandle().StructToArray
			var yyq2944 [3]bool
			_, _, _ = yysep2944, yyq2944, yy2arr2944
			const yyr2944 bool = false
			var yynn2944 int
			if yyr2944 || yy2arr2944 {
				r.EncodeArrayStart(3)
			} else {
				yynn2944 = 3
				for _, b := range yyq2944 {
					if b {
						yynn2944++
					}
				}
				r.EncodeMapStart(yynn2944)
				yynn2944 = 0
			}
			if yyr2944 || yy2arr2944 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2946 := z.EncBinary()
				_ = yym2946
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2947 := z.EncBinary()
				_ = yym2947
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr2944 || yy2arr2944 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2949 := z.EncBinary()
				_ = yym2949
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Port"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2950 := z.EncBinary()
				_ = yym2950
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			}
			if yyr2944 || yy2arr2944 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Protocol.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Protocol"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Protocol.CodecEncodeSelf(e)
			}
			if yyr2944 || yy2arr2944 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EndpointPort) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2952 := z.DecBinary()
	_ = yym2952
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2953 := r.ContainerType()
		if yyct2953 == codecSelferValueTypeMap1234 {
			yyl2953 := r.ReadMapStart()
			if yyl2953 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2953, d)
			}
		} else if yyct2953 == codecSelferValueTypeArray1234 {
			yyl2953 := r.ReadArrayStart()
			if yyl2953 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2953, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EndpointPort) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2954Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2954Slc
	var yyhl2954 bool = l >= 0
	for yyj2954 := 0; ; yyj2954++ {
		if yyhl2954 {
			if yyj2954 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2954Slc = r.DecodeBytes(yys2954Slc, true, true)
		yys2954 := string(yys2954Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2954 {
		case "Name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "Port":
			if r.TryDecodeAsNil() {
				x.Port = 0
			} else {
				x.Port = int32(r.DecodeInt(32))
			}
		case "Protocol":
			if r.TryDecodeAsNil() {
				x.Protocol = ""
			} else {
				x.Protocol = Protocol(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2954)
		} // end switch yys2954
	} // end for yyj2954
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EndpointPort) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2958 int
	var yyb2958 bool
	var yyhl2958 bool = l >= 0
	yyj2958++
	if yyhl2958 {
		yyb2958 = yyj2958 > l
	} else {
		yyb2958 = r.CheckBreak()
	}
	if yyb2958 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj2958++
	if yyhl2958 {
		yyb2958 = yyj2958 > l
	} else {
		yyb2958 = r.CheckBreak()
	}
	if yyb2958 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = 0
	} else {
		x.Port = int32(r.DecodeInt(32))
	}
	yyj2958++
	if yyhl2958 {
		yyb2958 = yyj2958 > l
	} else {
		yyb2958 = r.CheckBreak()
	}
	if yyb2958 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Protocol = ""
	} else {
		x.Protocol = Protocol(r.DecodeString())
	}
	for {
		yyj2958++
		if yyhl2958 {
			yyb2958 = yyj2958 > l
		} else {
			yyb2958 = r.CheckBreak()
		}
		if yyb2958 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2958-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EndpointsList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2962 := z.EncBinary()
		_ = yym2962
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2963 := !z.EncBinary()
			yy2arr2963 := z.EncBasicHandle().StructToArray
			var yyq2963 [4]bool
			_, _, _ = yysep2963, yyq2963, yy2arr2963
			const yyr2963 bool = false
			yyq2963[0] = x.Kind != ""
			yyq2963[1] = x.APIVersion != ""
			yyq2963[2] = true
			var yynn2963 int
			if yyr2963 || yy2arr2963 {
				r.EncodeArrayStart(4)
			} else {
				yynn2963 = 1
				for _, b := range yyq2963 {
					if b {
						yynn2963++
					}
				}
				r.EncodeMapStart(yynn2963)
				yynn2963 = 0
			}
			if yyr2963 || yy2arr2963 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2963[0] {
					yym2965 := z.EncBinary()
					_ = yym2965
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2963[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2966 := z.EncBinary()
					_ = yym2966
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2963 || yy2arr2963 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2963[1] {
					yym2968 := z.EncBinary()
					_ = yym2968
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2963[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2969 := z.EncBinary()
					_ = yym2969
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2963 || yy2arr2963 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2963[2] {
					yy2971 := &x.ListMeta
					yym2972 := z.EncBinary()
					_ = yym2972
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2971) {
					} else {
						z.EncFallback(yy2971)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2963[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2973 := &x.ListMeta
					yym2974 := z.EncBinary()
					_ = yym2974
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2973) {
					} else {
						z.EncFallback(yy2973)
					}
				}
			}
			if yyr2963 || yy2arr2963 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2976 := z.EncBinary()
					_ = yym2976
					if false {
					} else {
						h.encSliceEndpoints(([]Endpoints)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2977 := z.EncBinary()
					_ = yym2977
					if false {
					} else {
						h.encSliceEndpoints(([]Endpoints)(x.Items), e)
					}
				}
			}
			if yyr2963 || yy2arr2963 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EndpointsList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2978 := z.DecBinary()
	_ = yym2978
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2979 := r.ContainerType()
		if yyct2979 == codecSelferValueTypeMap1234 {
			yyl2979 := r.ReadMapStart()
			if yyl2979 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2979, d)
			}
		} else if yyct2979 == codecSelferValueTypeArray1234 {
			yyl2979 := r.ReadArrayStart()
			if yyl2979 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2979, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EndpointsList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2980Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2980Slc
	var yyhl2980 bool = l >= 0
	for yyj2980 := 0; ; yyj2980++ {
		if yyhl2980 {
			if yyj2980 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2980Slc = r.DecodeBytes(yys2980Slc, true, true)
		yys2980 := string(yys2980Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2980 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_v1.ListMeta{}
			} else {
				yyv2983 := &x.ListMeta
				yym2984 := z.DecBinary()
				_ = yym2984
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2983) {
				} else {
					z.DecFallback(yyv2983, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2985 := &x.Items
				yym2986 := z.DecBinary()
				_ = yym2986
				if false {
				} else {
					h.decSliceEndpoints((*[]Endpoints)(yyv2985), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2980)
		} // end switch yys2980
	} // end for yyj2980
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EndpointsList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2987 int
	var yyb2987 bool
	var yyhl2987 bool = l >= 0
	yyj2987++
	if yyhl2987 {
		yyb2987 = yyj2987 > l
	} else {
		yyb2987 = r.CheckBreak()
	}
	if yyb2987 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2987++
	if yyhl2987 {
		yyb2987 = yyj2987 > l
	} else {
		yyb2987 = r.CheckBreak()
	}
	if yyb2987 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2987++
	if yyhl2987 {
		yyb2987 = yyj2987 > l
	} else {
		yyb2987 = r.CheckBreak()
	}
	if yyb2987 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_v1.ListMeta{}
	} else {
		yyv2990 := &x.ListMeta
		yym2991 := z.DecBinary()
		_ = yym2991
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2990) {
		} else {
			z.DecFallback(yyv2990, false)
		}
	}
	yyj2987++
	if yyhl2987 {
		yyb2987 = yyj2987 > l
	} else {
		yyb2987 = r.CheckBreak()
	}
	if yyb2987 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2992 := &x.Items
		yym2993 := z.DecBinary()
		_ = yym2993
		if false {
		} else {
			h.decSliceEndpoints((*[]Endpoints)(yyv2992), d)
		}
	}
	for {
		yyj2987++
		if yyhl2987 {
			yyb2987 = yyj2987 > l
		} else {
			yyb2987 = r.CheckBreak()
		}
		if yyb2987 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2987-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2994 := z.EncBinary()
		_ = yym2994
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2995 := !z.EncBinary()
			yy2arr2995 := z.EncBasicHandle().StructToArray
			var yyq2995 [4]bool
			_, _, _ = yysep2995, yyq2995, yy2arr2995
			const yyr2995 bool = false
			yyq2995[0] = x.PodCIDR != ""
			yyq2995[1] = x.ExternalID != ""
			yyq2995[2] = x.ProviderID != ""
			yyq2995[3] = x.Unschedulable != false
			var yynn2995 int
			if yyr2995 || yy2arr2995 {
				r.EncodeArrayStart(4)
			} else {
				yynn2995 = 0
				for _, b := range yyq2995 {
					if b {
						yynn2995++
					}
				}
				r.EncodeMapStart(yynn2995)
				yynn2995 = 0
			}
			if yyr2995 || yy2arr2995 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2995[0] {
					yym2997 := z.EncBinary()
					_ = yym2997
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodCIDR))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2995[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("podCIDR"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2998 := z.EncBinary()
					_ = yym2998
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodCIDR))
					}
				}
			}
			if yyr2995 || yy2arr2995 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2995[1] {
					yym3000 := z.EncBinary()
					_ = yym3000
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ExternalID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2995[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("externalID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3001 := z.EncBinary()
					_ = yym3001
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ExternalID))
					}
				}
			}
			if yyr2995 || yy2arr2995 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2995[2] {
					yym3003 := z.EncBinary()
					_ = yym3003
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ProviderID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2995[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("providerID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3004 := z.EncBinary()
					_ = yym3004
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ProviderID))
					}
				}
			}
			if yyr2995 || yy2arr2995 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2995[3] {
					yym3006 := z.EncBinary()
					_ = yym3006
					if false {
					} else {
						r.EncodeBool(bool(x.Unschedulable))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2995[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("unschedulable"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3007 := z.EncBinary()
					_ = yym3007
					if false {
					} else {
						r.EncodeBool(bool(x.Unschedulable))
					}
				}
			}
			if yyr2995 || yy2arr2995 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3008 := z.DecBinary()
	_ = yym3008
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3009 := r.ContainerType()
		if yyct3009 == codecSelferValueTypeMap1234 {
			yyl3009 := r.ReadMapStart()
			if yyl3009 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3009, d)
			}
		} else if yyct3009 == codecSelferValueTypeArray1234 {
			yyl3009 := r.ReadArrayStart()
			if yyl3009 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3009, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3010Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3010Slc
	var yyhl3010 bool = l >= 0
	for yyj3010 := 0; ; yyj3010++ {
		if yyhl3010 {
			if yyj3010 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3010Slc = r.DecodeBytes(yys3010Slc, true, true)
		yys3010 := string(yys3010Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3010 {
		case "podCIDR":
			if r.TryDecodeAsNil() {
				x.PodCIDR = ""
			} else {
				x.PodCIDR = string(r.DecodeString())
			}
		case "externalID":
			if r.TryDecodeAsNil() {
				x.ExternalID = ""
			} else {
				x.ExternalID = string(r.DecodeString())
			}
		case "providerID":
			if r.TryDecodeAsNil() {
				x.ProviderID = ""
			} else {
				x.ProviderID = string(r.DecodeString())
			}
		case "unschedulable":
			if r.TryDecodeAsNil() {
				x.Unschedulable = false
			} else {
				x.Unschedulable = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3010)
		} // end switch yys3010
	} // end for yyj3010
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3015 int
	var yyb3015 bool
	var yyhl3015 bool = l >= 0
	yyj3015++
	if yyhl3015 {
		yyb3015 = yyj3015 > l
	} else {
		yyb3015 = r.CheckBreak()
	}
	if yyb3015 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PodCIDR = ""
	} else {
		x.PodCIDR = string(r.DecodeString())
	}
	yyj3015++
	if yyhl3015 {
		yyb3015 = yyj3015 > l
	} else {
		yyb3015 = r.CheckBreak()
	}
	if yyb3015 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ExternalID = ""
	} else {
		x.ExternalID = string(r.DecodeString())
	}
	yyj3015++
	if yyhl3015 {
		yyb3015 = yyj3015 > l
	} else {
		yyb3015 = r.CheckBreak()
	}
	if yyb3015 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ProviderID = ""
	} else {
		x.ProviderID = string(r.DecodeString())
	}
	yyj3015++
	if yyhl3015 {
		yyb3015 = yyj3015 > l
	} else {
		yyb3015 = r.CheckBreak()
	}
	if yyb3015 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Unschedulable = false
	} else {
		x.Unschedulable = bool(r.DecodeBool())
	}
	for {
		yyj3015++
		if yyhl3015 {
			yyb3015 = yyj3015 > l
		} else {
			yyb3015 = r.CheckBreak()
		}
		if yyb3015 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3015-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *DaemonEndpoint) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3020 := z.EncBinary()
		_ = yym3020
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3021 := !z.EncBinary()
			yy2arr3021 := z.EncBasicHandle().StructToArray
			var yyq3021 [1]bool
			_, _, _ = yysep3021, yyq3021, yy2arr3021
			const yyr3021 bool = false
			var yynn3021 int
			if yyr3021 || yy2arr3021 {
				r.EncodeArrayStart(1)
			} else {
				yynn3021 = 1
				for _, b := range yyq3021 {
					if b {
						yynn3021++
					}
				}
				r.EncodeMapStart(yynn3021)
				yynn3021 = 0
			}
			if yyr3021 || yy2arr3021 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3023 := z.EncBinary()
				_ = yym3023
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Port"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3024 := z.EncBinary()
				_ = yym3024
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			}
			if yyr3021 || yy2arr3021 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *DaemonEndpoint) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3025 := z.DecBinary()
	_ = yym3025
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3026 := r.ContainerType()
		if yyct3026 == codecSelferValueTypeMap1234 {
			yyl3026 := r.ReadMapStart()
			if yyl3026 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3026, d)
			}
		} else if yyct3026 == codecSelferValueTypeArray1234 {
			yyl3026 := r.ReadArrayStart()
			if yyl3026 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3026, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *DaemonEndpoint) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3027Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3027Slc
	var yyhl3027 bool = l >= 0
	for yyj3027 := 0; ; yyj3027++ {
		if yyhl3027 {
			if yyj3027 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3027Slc = r.DecodeBytes(yys3027Slc, true, true)
		yys3027 := string(yys3027Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3027 {
		case "Port":
			if r.TryDecodeAsNil() {
				x.Port = 0
			} else {
				x.Port = int32(r.DecodeInt(32))
			}
		default:
			z.DecStructFieldNotFound(-1, yys3027)
		} // end switch yys3027
	} // end for yyj3027
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *DaemonEndpoint) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3029 int
	var yyb3029 bool
	var yyhl3029 bool = l >= 0
	yyj3029++
	if yyhl3029 {
		yyb3029 = yyj3029 > l
	} else {
		yyb3029 = r.CheckBreak()
	}
	if yyb3029 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = 0
	} else {
		x.Port = int32(r.DecodeInt(32))
	}
	for {
		yyj3029++
		if yyhl3029 {
			yyb3029 = yyj3029 > l
		} else {
			yyb3029 = r.CheckBreak()
		}
		if yyb3029 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3029-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeDaemonEndpoints) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3031 := z.EncBinary()
		_ = yym3031
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3032 := !z.EncBinary()
			yy2arr3032 := z.EncBasicHandle().StructToArray
			var yyq3032 [1]bool
			_, _, _ = yysep3032, yyq3032, yy2arr3032
			const yyr3032 bool = false
			yyq3032[0] = true
			var yynn3032 int
			if yyr3032 || yy2arr3032 {
				r.EncodeArrayStart(1)
			} else {
				yynn3032 = 0
				for _, b := range yyq3032 {
					if b {
						yynn3032++
					}
				}
				r.EncodeMapStart(yynn3032)
				yynn3032 = 0
			}
			if yyr3032 || yy2arr3032 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3032[0] {
					yy3034 := &x.KubeletEndpoint
					yy3034.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3032[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kubeletEndpoint"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3035 := &x.KubeletEndpoint
					yy3035.CodecEncodeSelf(e)
				}
			}
			if yyr3032 || yy2arr3032 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeDaemonEndpoints) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3036 := z.DecBinary()
	_ = yym3036
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3037 := r.ContainerType()
		if yyct3037 == codecSelferValueTypeMap1234 {
			yyl3037 := r.ReadMapStart()
			if yyl3037 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3037, d)
			}
		} else if yyct3037 == codecSelferValueTypeArray1234 {
			yyl3037 := r.ReadArrayStart()
			if yyl3037 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3037, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeDaemonEndpoints) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3038Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3038Slc
	var yyhl3038 bool = l >= 0
	for yyj3038 := 0; ; yyj3038++ {
		if yyhl3038 {
			if yyj3038 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3038Slc = r.DecodeBytes(yys3038Slc, true, true)
		yys3038 := string(yys3038Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3038 {
		case "kubeletEndpoint":
			if r.TryDecodeAsNil() {
				x.KubeletEndpoint = DaemonEndpoint{}
			} else {
				yyv3039 := &x.KubeletEndpoint
				yyv3039.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3038)
		} // end switch yys3038
	} // end for yyj3038
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeDaemonEndpoints) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3040 int
	var yyb3040 bool
	var yyhl3040 bool = l >= 0
	yyj3040++
	if yyhl3040 {
		yyb3040 = yyj3040 > l
	} else {
		yyb3040 = r.CheckBreak()
	}
	if yyb3040 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.KubeletEndpoint = DaemonEndpoint{}
	} else {
		yyv3041 := &x.KubeletEndpoint
		yyv3041.CodecDecodeSelf(d)
	}
	for {
		yyj3040++
		if yyhl3040 {
			yyb3040 = yyj3040 > l
		} else {
			yyb3040 = r.CheckBreak()
		}
		if yyb3040 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3040-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeSystemInfo) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3042 := z.EncBinary()
		_ = yym3042
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3043 := !z.EncBinary()
			yy2arr3043 := z.EncBasicHandle().StructToArray
			var yyq3043 [10]bool
			_, _, _ = yysep3043, yyq3043, yy2arr3043
			const yyr3043 bool = false
			var yynn3043 int
			if yyr3043 || yy2arr3043 {
				r.EncodeArrayStart(10)
			} else {
				yynn3043 = 10
				for _, b := range yyq3043 {
					if b {
						yynn3043++
					}
				}
				r.EncodeMapStart(yynn3043)
				yynn3043 = 0
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3045 := z.EncBinary()
				_ = yym3045
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MachineID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("machineID"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3046 := z.EncBinary()
				_ = yym3046
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MachineID))
				}
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3048 := z.EncBinary()
				_ = yym3048
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.SystemUUID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("systemUUID"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3049 := z.EncBinary()
				_ = yym3049
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.SystemUUID))
				}
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3051 := z.EncBinary()
				_ = yym3051
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.BootID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("bootID"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3052 := z.EncBinary()
				_ = yym3052
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.BootID))
				}
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3054 := z.EncBinary()
				_ = yym3054
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KernelVersion))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("kernelVersion"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3055 := z.EncBinary()
				_ = yym3055
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KernelVersion))
				}
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3057 := z.EncBinary()
				_ = yym3057
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.OSImage))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("osImage"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3058 := z.EncBinary()
				_ = yym3058
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.OSImage))
				}
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3060 := z.EncBinary()
				_ = yym3060
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ContainerRuntimeVersion))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("containerRuntimeVersion"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3061 := z.EncBinary()
				_ = yym3061
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ContainerRuntimeVersion))
				}
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3063 := z.EncBinary()
				_ = yym3063
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeletVersion))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("kubeletVersion"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3064 := z.EncBinary()
				_ = yym3064
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeletVersion))
				}
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3066 := z.EncBinary()
				_ = yym3066
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeProxyVersion))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("kubeProxyVersion"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3067 := z.EncBinary()
				_ = yym3067
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeProxyVersion))
				}
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3069 := z.EncBinary()
				_ = yym3069
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.OperatingSystem))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("operatingSystem"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3070 := z.EncBinary()
				_ = yym3070
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.OperatingSystem))
				}
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3072 := z.EncBinary()
				_ = yym3072
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Architecture))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("architecture"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3073 := z.EncBinary()
				_ = yym3073
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Architecture))
				}
			}
			if yyr3043 || yy2arr3043 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeSystemInfo) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3074 := z.DecBinary()
	_ = yym3074
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3075 := r.ContainerType()
		if yyct3075 == codecSelferValueTypeMap1234 {
			yyl3075 := r.ReadMapStart()
			if yyl3075 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3075, d)
			}
		} else if yyct3075 == codecSelferValueTypeArray1234 {
			yyl3075 := r.ReadArrayStart()
			if yyl3075 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3075, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeSystemInfo) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3076Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3076Slc
	var yyhl3076 bool = l >= 0
	for yyj3076 := 0; ; yyj3076++ {
		if yyhl3076 {
			if yyj3076 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3076Slc = r.DecodeBytes(yys3076Slc, true, true)
		yys3076 := string(yys3076Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3076 {
		case "machineID":
			if r.TryDecodeAsNil() {
				x.MachineID = ""
			} else {
				x.MachineID = string(r.DecodeString())
			}
		case "systemUUID":
			if r.TryDecodeAsNil() {
				x.SystemUUID = ""
			} else {
				x.SystemUUID = string(r.DecodeString())
			}
		case "bootID":
			if r.TryDecodeAsNil() {
				x.BootID = ""
			} else {
				x.BootID = string(r.DecodeString())
			}
		case "kernelVersion":
			if r.TryDecodeAsNil() {
				x.KernelVersion = ""
			} else {
				x.KernelVersion = string(r.DecodeString())
			}
		case "osImage":
			if r.TryDecodeAsNil() {
				x.OSImage = ""
			} else {
				x.OSImage = string(r.DecodeString())
			}
		case "containerRuntimeVersion":
			if r.TryDecodeAsNil() {
				x.ContainerRuntimeVersion = ""
			} else {
				x.ContainerRuntimeVersion = string(r.DecodeString())
			}
		case "kubeletVersion":
			if r.TryDecodeAsNil() {
				x.KubeletVersion = ""
			} else {
				x.KubeletVersion = string(r.DecodeString())
			}
		case "kubeProxyVersion":
			if r.TryDecodeAsNil() {
				x.KubeProxyVersion = ""
			} else {
				x.KubeProxyVersion = string(r.DecodeString())
			}
		case "operatingSystem":
			if r.TryDecodeAsNil() {
				x.OperatingSystem = ""
			} else {
				x.OperatingSystem = string(r.DecodeString())
			}
		case "architecture":
			if r.TryDecodeAsNil() {
				x.Architecture = ""
			} else {
				x.Architecture = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3076)
		} // end switch yys3076
	} // end for yyj3076
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3087 int
	var yyb3087 bool
	var yyhl3087 bool = l >= 0
	yyj3087++
	if yyhl3087 {
		yyb3087 = yyj3087 > l
	} else {
		yyb3087 = r.CheckBreak()
	}
	if yyb3087 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.MachineID = ""
	} else {
		x.MachineID = string(r.DecodeString())
	}
	yyj3087++
	if yyhl3087 {
		yyb3087 = yyj3087 > l
	} else {
		yyb3087 = r.CheckBreak()
	}
	if yyb3087 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SystemUUID = ""
	} else {
		x.SystemUUID = string(r.DecodeString())
	}
	yyj3087++
	if yyhl3087 {
		yyb3087 = yyj3087 > l
	} else {
		yyb3087 = r.CheckBreak()
	}
	if yyb3087 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.BootID = ""
	} else {
		x.BootID = string(r.DecodeString())
	}
	yyj3087++
	if yyhl3087 {
		yyb3087 = yyj3087 > l
	} else {
		yyb3087 = r.CheckBreak()
	}
	if yyb3087 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.KernelVersion = ""
	} else {
		x.KernelVersion = string(r.DecodeString())
	}
	yyj3087++
	if yyhl3087 {
		yyb3087 = yyj3087 > l
	} else {
		yyb3087 = r.CheckBreak()
	}
	if yyb3087 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.OSImage = ""
	} else {
		x.OSImage = string(r.DecodeString())
	}
	yyj3087++
	if yyhl3087 {
		yyb3087 = yyj3087 > l
	} else {
		yyb3087 = r.CheckBreak()
	}
	if yyb3087 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerRuntimeVersion = ""
	} else {
		x.ContainerRuntimeVersion = string(r.DecodeString())
	}
	yyj3087++
	if yyhl3087 {
		yyb3087 = yyj3087 > l
	} else {
		yyb3087 = r.CheckBreak()
	}
	if yyb3087 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.KubeletVersion = ""
	} else {
		x.KubeletVersion = string(r.DecodeString())
	}
	yyj3087++
	if yyhl3087 {
		yyb3087 = yyj3087 > l
	} else {
		yyb3087 = r.CheckBreak()
	}
	if yyb3087 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.KubeProxyVersion = ""
	} else {
		x.KubeProxyVersion = string(r.DecodeString())
	}
	yyj3087++
	if yyhl3087 {
		yyb3087 = yyj3087 > l
	} else {
		yyb3087 = r.CheckBreak()
	}
	if yyb3087 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.OperatingSystem = ""
	} else {
		x.OperatingSystem = string(r.DecodeString())
	}
	yyj3087++
	if yyhl3087 {
		yyb3087 = yyj3087 > l
	} else {
		yyb3087 = r.CheckBreak()
	}
	if yyb3087 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Architecture = ""
	} else {
		x.Architecture = string(r.DecodeString())
	}
	for {
		yyj3087++
		if yyhl3087 {
			yyb3087 = yyj3087 > l
		} else {
			yyb3087 = r.CheckBreak()
		}
		if yyb3087 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3087-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3098 := z.EncBinary()
		_ = yym3098
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3099 := !z.EncBinary()
			yy2arr3099 := z.EncBasicHandle().StructToArray
			var yyq3099 [10]bool
			_, _, _ = yysep3099, yyq3099, yy2arr3099
			const yyr3099 bool = false
			yyq3099[0] = len(x.Capacity) != 0
			yyq3099[1] = len(x.Allocatable) != 0
			yyq3099[2] = x.Phase != ""
			yyq3099[3] = len(x.Conditions) != 0
			yyq3099[4] = len(x.Addresses) != 0
			yyq3099[5] = true
			yyq3099[6] = true
			yyq3099[7] = len(x.Images) != 0
			yyq3099[8] = len(x.VolumesInUse) != 0
			yyq3099[9] = len(x.VolumesAttached) != 0
			var yynn3099 int
			if yyr3099 || yy2arr3099 {
				r.EncodeArrayStart(10)
			} else {
				yynn3099 = 0
				for _, b := range yyq3099 {
					if b {
						yynn3099++
					}
				}
				r.EncodeMapStart(yynn3099)
				yynn3099 = 0
			}
			if yyr3099 || yy2arr3099 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3099[0] {
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3099[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("capacity"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3099 || yy2arr3099 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3099[1] {
					if x.Allocatable == nil {
						r.EncodeNil()
					} else {
						x.Allocatable.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3099[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("allocatable"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Allocatable == nil {
						r.EncodeNil()
					} else {
						x.Allocatable.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3099 || yy2arr3099 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3099[2] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3099[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr3099 || yy2arr3099 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3099[3] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym3104 := z.EncBinary()
						_ = yym3104
						if false {
						} else {
							h.encSliceNodeCondition(([]NodeCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3099[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym3105 := z.EncBinary()
						_ = yym3105
						if false {
						} else {
							h.encSliceNodeCondition(([]NodeCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr3099 || yy2arr3099 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3099[4] {
					if x.Addresses == nil {
						r.EncodeNil()
					} else {
						yym3107 := z.EncBinary()
						_ = yym3107
						if false {
						} else {
							h.encSliceNodeAddress(([]NodeAddress)(x.Addresses), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3099[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("addresses"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Addresses == nil {
						r.EncodeNil()
					} else {
						yym3108 := z.EncBinary()
						_ = yym3108
						if false {
						} else {
							h.encSliceNodeAddress(([]NodeAddress)(x.Addresses), e)
						}
					}
				}
			}
			if yyr3099 || yy2arr3099 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3099[5] {
					yy3110 := &x.DaemonEndpoints
					yy3110.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3099[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("daemonEndpoints"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3111 := &x.DaemonEndpoints
					yy3111.CodecEncodeSelf(e)
				}
			}
			if yyr3099 || yy2arr3099 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3099[6] {
					yy3113 := &x.NodeInfo
					yy3113.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3099[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nodeInfo"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3114 := &x.NodeInfo
					yy3114.CodecEncodeSelf(e)
				}
			}
			if yyr3099 || yy2arr3099 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3099[7] {
					if x.Images == nil {
						r.EncodeNil()
					} else {
						yym3116 := z.EncBinary()
						_ = yym3116
						if false {
						} else {
							h.encSliceContainerImage(([]ContainerImage)(x.Images), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3099[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("images"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Images == nil {
						r.EncodeNil()
					} else {
						yym3117 := z.EncBinary()
						_ = yym3117
						if false {
						} else {
							h.encSliceContainerImage(([]ContainerImage)(x.Images), e)
						}
					}
				}
			}
			if yyr3099 || yy2arr3099 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3099[8] {
					if x.VolumesInUse == nil {
						r.EncodeNil()
					} else {
						yym3119 := z.EncBinary()
						_ = yym3119
						if false {
						} else {
							h.encSliceUniqueVolumeName(([]UniqueVolumeName)(x.VolumesInUse), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3099[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("volumesInUse"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.VolumesInUse == nil {
						r.EncodeNil()
					} else {
						yym3120 := z.EncBinary()
						_ = yym3120
						if false {
						} else {
							h.encSliceUniqueVolumeName(([]UniqueVolumeName)(x.VolumesInUse), e)
						}
					}
				}
			}
			if yyr3099 || yy2arr3099 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3099[9] {
					if x.VolumesAttached == nil {
						r.EncodeNil()
					} else {
						yym3122 := z.EncBinary()
						_ = yym3122
						if false {
						} else {
							h.encSliceAttachedVolume(([]AttachedVolume)(x.VolumesAttached), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3099[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("volumesAttached"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.VolumesAttached == nil {
						r.EncodeNil()
					} else {
						yym3123 := z.EncBinary()
						_ = yym3123
						if false {
						} else {
							h.encSliceAttachedVolume(([]AttachedVolume)(x.VolumesAttached), e)
						}
					}
				}
			}
			if yyr3099 || yy2arr3099 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3124 := z.DecBinary()
	_ = yym3124
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3125 := r.ContainerType()
		if yyct3125 == codecSelferValueTypeMap1234 {
			yyl3125 := r.ReadMapStart()
			if yyl3125 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3125, d)
			}
		} else if yyct3125 == codecSelferValueTypeArray1234 {
			yyl3125 := r.ReadArrayStart()
			if yyl3125 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3125, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3126Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3126Slc
	var yyhl3126 bool = l >= 0
	for yyj3126 := 0; ; yyj3126++ {
		if yyhl3126 {
			if yyj3126 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3126Slc = r.DecodeBytes(yys3126Slc, true, true)
		yys3126 := string(yys3126Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3126 {
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv3127 := &x.Capacity
				yyv3127.CodecDecodeSelf(d)
			}
		case "allocatable":
			if r.TryDecodeAsNil() {
				x.Allocatable = nil
			} else {
				yyv3128 := &x.Allocatable
				yyv3128.CodecDecodeSelf(d)
			}
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = NodePhase(r.DecodeString())
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv3130 := &x.Conditions
				yym3131 := z.DecBinary()
				_ = yym3131
				if false {
				} else {
					h.decSliceNodeCondition((*[]NodeCondition)(yyv3130), d)
				}
			}
		case "addresses":
			if r.TryDecodeAsNil() {
				x.Addresses = nil
			} else {
				yyv3132 := &x.Addresses
				yym3133 := z.DecBinary()
				_ = yym3133
				if false {
				} else {
					h.decSliceNodeAddress((*[]NodeAddress)(yyv3132), d)
				}
			}
		case "daemonEndpoints":
			if r.TryDecodeAsNil() {
				x.DaemonEndpoints = NodeDaemonEndpoints{}
			} else {
				yyv3134 := &x.DaemonEndpoints
				yyv3134.CodecDecodeSelf(d)
			}
		case "nodeInfo":
			if r.TryDecodeAsNil() {
				x.NodeInfo = NodeSystemInfo{}
			} else {
				yyv3135 := &x.NodeInfo
				yyv3135.CodecDecodeSelf(d)
			}
		case "images":
			if r.TryDecodeAsNil() {
				x.Images = nil
			} else {
				yyv3136 := &x.Images
				yym3137 := z.DecBinary()
				_ = yym3137
				if false {
				} else {
					h.decSliceContainerImage((*[]ContainerImage)(yyv3136), d)
				}
			}
		case "volumesInUse":
			if r.TryDecodeAsNil() {
				x.VolumesInUse = nil
			} else {
				yyv3138 := &x.VolumesInUse
				yym3139 := z.DecBinary()
				_ = yym3139
				if false {
				} else {
					h.decSliceUniqueVolumeName((*[]UniqueVolumeName)(yyv3138), d)
				}
			}
		case "volumesAttached":
			if r.TryDecodeAsNil() {
				x.VolumesAttached = nil
			} else {
				yyv3140 := &x.VolumesAttached
				yym3141 := z.DecBinary()
				_ = yym3141
				if false {
				} else {
					h.decSliceAttachedVolume((*[]AttachedVolume)(yyv3140), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3126)
		} // end switch yys3126
	} // end for yyj3126
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3142 int
	var yyb3142 bool
	var yyhl3142 bool = l >= 0
	yyj3142++
	if yyhl3142 {
		yyb3142 = yyj3142 > l
	} else {
		yyb3142 = r.CheckBreak()
	}
	if yyb3142 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv3143 := &x.Capacity
		yyv3143.CodecDecodeSelf(d)
	}
	yyj3142++
	if yyhl3142 {
		yyb3142 = yyj3142 > l
	} else {
		yyb3142 = r.CheckBreak()
	}
	if yyb3142 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Allocatable = nil
	} else {
		yyv3144 := &x.Allocatable
		yyv3144.CodecDecodeSelf(d)
	}
	yyj3142++
	if yyhl3142 {
		yyb3142 = yyj3142 > l
	} else {
		yyb3142 = r.CheckBreak()
	}
	if yyb3142 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = NodePhase(r.DecodeString())
	}
	yyj3142++
	if yyhl3142 {
		yyb3142 = yyj3142 > l
	} else {
		yyb3142 = r.CheckBreak()
	}
	if yyb3142 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv3146 := &x.Conditions
		yym3147 := z.DecBinary()
		_ = yym3147
		if false {
		} else {
			h.decSliceNodeCondition((*[]NodeCondition)(yyv3146), d)
		}
	}
	yyj3142++
	if yyhl3142 {
		yyb3142 = yyj3142 > l
	} else {
		yyb3142 = r.CheckBreak()
	}
	if yyb3142 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Addresses = nil
	} else {
		yyv3148 := &x.Addresses
		yym3149 := z.DecBinary()
		_ = yym3149
		if false {
		} else {
			h.decSliceNodeAddress((*[]NodeAddress)(yyv3148), d)
		}
	}
	yyj3142++
	if yyhl3142 {
		yyb3142 = yyj3142 > l
	} else {
		yyb3142 = r.CheckBreak()
	}
	if yyb3142 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DaemonEndpoints = NodeDaemonEndpoints{}
	} else {
		yyv3150 := &x.DaemonEndpoints
		yyv3150.CodecDecodeSelf(d)
	}
	yyj3142++
	if yyhl3142 {
		yyb3142 = yyj3142 > l
	} else {
		yyb3142 = r.CheckBreak()
	}
	if yyb3142 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodeInfo = NodeSystemInfo{}
	} else {
		yyv3151 := &x.NodeInfo
		yyv3151.CodecDecodeSelf(d)
	}
	yyj3142++
	if yyhl3142 {
		yyb3142 = yyj3142 > l
	} else {
		yyb3142 = r.CheckBreak()
	}
	if yyb3142 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Images = nil
	} else {
		yyv3152 := &x.Images
		yym3153 := z.DecBinary()
		_ = yym3153
		if false {
		} else {
			h.decSliceContainerImage((*[]ContainerImage)(yyv3152), d)
		}
	}
	yyj3142++
	if yyhl3142 {
		yyb3142 = yyj3142 > l
	} else {
		yyb3142 = r.CheckBreak()
	}
	if yyb3142 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumesInUse = nil
	} else {
		yyv3154 := &x.VolumesInUse
		yym3155 := z.DecBinary()
		_ = yym3155
		if false {
		} else {
			h.decSliceUniqueVolumeName((*[]UniqueVolumeName)(yyv3154), d)
		}
	}
	yyj3142++
	if yyhl3142 {
		yyb3142 = yyj3142 > l
	} else {
		yyb3142 = r.CheckBreak()
	}
	if yyb3142 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumesAttached = nil
	} else {
		yyv3156 := &x.VolumesAttached
		yym3157 := z.DecBinary()
		_ = yym3157
		if false {
		} else {
			h.decSliceAttachedVolume((*[]AttachedVolume)(yyv3156), d)
		}
	}
	for {
		yyj3142++
		if yyhl3142 {
			yyb3142 = yyj3142 > l
		} else {
			yyb3142 = r.CheckBreak()
		}
		if yyb3142 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3142-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x UniqueVolumeName) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3158 := z.EncBinary()
	_ = yym3158
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *UniqueVolumeName) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3159 := z.DecBinary()
	_ = yym3159
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *AttachedVolume) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3160 := z.EncBinary()
		_ = yym3160
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3161 := !z.EncBinary()
			yy2arr3161 := z.EncBasicHandle().StructToArray
			var yyq3161 [2]bool
			_, _, _ = yysep3161, yyq3161, yy2arr3161
			const yyr3161 bool = false
			var yynn3161 int
			if yyr3161 || yy2arr3161 {
				r.EncodeArrayStart(2)
			} else {
				yynn3161 = 2
				for _, b := range yyq3161 {
					if b {
						yynn3161++
					}
				}
				r.EncodeMapStart(yynn3161)
				yynn3161 = 0
			}
			if yyr3161 || yy2arr3161 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Name.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Name.CodecEncodeSelf(e)
			}
			if yyr3161 || yy2arr3161 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3164 := z.EncBinary()
				_ = yym3164
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DevicePath))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("devicePath"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3165 := z.EncBinary()
				_ = yym3165
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DevicePath))
				}
			}
			if yyr3161 || yy2arr3161 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *AttachedVolume) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3166 := z.DecBinary()
	_ = yym3166
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3167 := r.ContainerType()
		if yyct3167 == codecSelferValueTypeMap1234 {
			yyl3167 := r.ReadMapStart()
			if yyl3167 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3167, d)
			}
		} else if yyct3167 == codecSelferValueTypeArray1234 {
			yyl3167 := r.ReadArrayStart()
			if yyl3167 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3167, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *AttachedVolume) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3168Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3168Slc
	var yyhl3168 bool = l >= 0
	for yyj3168 := 0; ; yyj3168++ {
		if yyhl3168 {
			if yyj3168 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3168Slc = r.DecodeBytes(yys3168Slc, true, true)
		yys3168 := string(yys3168Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3168 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = UniqueVolumeName(r.DecodeString())
			}
		case "devicePath":
			if r.TryDecodeAsNil() {
				x.DevicePath = ""
			} else {
				x.DevicePath = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3168)
		} // end switch yys3168
	} // end for yyj3168
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *AttachedVolume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3171 int
	var yyb3171 bool
	var yyhl3171 bool = l >= 0
	yyj3171++
	if yyhl3171 {
		yyb3171 = yyj3171 > l
	} else {
		yyb3171 = r.CheckBreak()
	}
	if yyb3171 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = UniqueVolumeName(r.DecodeString())
	}
	yyj3171++
	if yyhl3171 {
		yyb3171 = yyj3171 > l
	} else {
		yyb3171 = r.CheckBreak()
	}
	if yyb3171 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DevicePath = ""
	} else {
		x.DevicePath = string(r.DecodeString())
	}
	for {
		yyj3171++
		if yyhl3171 {
			yyb3171 = yyj3171 > l
		} else {
			yyb3171 = r.CheckBreak()
		}
		if yyb3171 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3171-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *AvoidPods) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3174 := z.EncBinary()
		_ = yym3174
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3175 := !z.EncBinary()
			yy2arr3175 := z.EncBasicHandle().StructToArray
			var yyq3175 [1]bool
			_, _, _ = yysep3175, yyq3175, yy2arr3175
			const yyr3175 bool = false
			yyq3175[0] = len(x.PreferAvoidPods) != 0
			var yynn3175 int
			if yyr3175 || yy2arr3175 {
				r.EncodeArrayStart(1)
			} else {
				yynn3175 = 0
				for _, b := range yyq3175 {
					if b {
						yynn3175++
					}
				}
				r.EncodeMapStart(yynn3175)
				yynn3175 = 0
			}
			if yyr3175 || yy2arr3175 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3175[0] {
					if x.PreferAvoidPods == nil {
						r.EncodeNil()
					} else {
						yym3177 := z.EncBinary()
						_ = yym3177
						if false {
						} else {
							h.encSlicePreferAvoidPodsEntry(([]PreferAvoidPodsEntry)(x.PreferAvoidPods), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3175[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("preferAvoidPods"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PreferAvoidPods == nil {
						r.EncodeNil()
					} else {
						yym3178 := z.EncBinary()
						_ = yym3178
						if false {
						} else {
							h.encSlicePreferAvoidPodsEntry(([]PreferAvoidPodsEntry)(x.PreferAvoidPods), e)
						}
					}
				}
			}
			if yyr3175 || yy2arr3175 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *AvoidPods) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3179 := z.DecBinary()
	_ = yym3179
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3180 := r.ContainerType()
		if yyct3180 == codecSelferValueTypeMap1234 {
			yyl3180 := r.ReadMapStart()
			if yyl3180 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3180, d)
			}
		} else if yyct3180 == codecSelferValueTypeArray1234 {
			yyl3180 := r.ReadArrayStart()
			if yyl3180 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3180, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *AvoidPods) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3181Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3181Slc
	var yyhl3181 bool = l >= 0
	for yyj3181 := 0; ; yyj3181++ {
		if yyhl3181 {
			if yyj3181 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3181Slc = r.DecodeBytes(yys3181Slc, true, true)
		yys3181 := string(yys3181Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3181 {
		case "preferAvoidPods":
			if r.TryDecodeAsNil() {
				x.PreferAvoidPods = nil
			} else {
				yyv3182 := &x.PreferAvoidPods
				yym3183 := z.DecBinary()
				_ = yym3183
				if false {
				} else {
					h.decSlicePreferAvoidPodsEntry((*[]PreferAvoidPodsEntry)(yyv3182), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3181)
		} // end switch yys3181
	} // end for yyj3181
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *AvoidPods) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3184 int
	var yyb3184 bool
	var yyhl3184 bool = l >= 0
	yyj3184++
	if yyhl3184 {
		yyb3184 = yyj3184 > l
	} else {
		yyb3184 = r.CheckBreak()
	}
	if yyb3184 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PreferAvoidPods = nil
	} else {
		yyv3185 := &x.PreferAvoidPods
		yym3186 := z.DecBinary()
		_ = yym3186
		if false {
		} else {
			h.decSlicePreferAvoidPodsEntry((*[]PreferAvoidPodsEntry)(yyv3185), d)
		}
	}
	for {
		yyj3184++
		if yyhl3184 {
			yyb3184 = yyj3184 > l
		} else {
			yyb3184 = r.CheckBreak()
		}
		if yyb3184 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3184-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PreferAvoidPodsEntry) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3187 := z.EncBinary()
		_ = yym3187
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3188 := !z.EncBinary()
			yy2arr3188 := z.EncBasicHandle().StructToArray
			var yyq3188 [4]bool
			_, _, _ = yysep3188, yyq3188, yy2arr3188
			const yyr3188 bool = false
			yyq3188[1] = true
			yyq3188[2] = x.Reason != ""
			yyq3188[3] = x.Message != ""
			var yynn3188 int
			if yyr3188 || yy2arr3188 {
				r.EncodeArrayStart(4)
			} else {
				yynn3188 = 1
				for _, b := range yyq3188 {
					if b {
						yynn3188++
					}
				}
				r.EncodeMapStart(yynn3188)
				yynn3188 = 0
			}
			if yyr3188 || yy2arr3188 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy3190 := &x.PodSignature
				yy3190.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("podSignature"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy3191 := &x.PodSignature
				yy3191.CodecEncodeSelf(e)
			}
			if yyr3188 || yy2arr3188 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3188[1] {
					yy3193 := &x.EvictionTime
					yym3194 := z.EncBinary()
					_ = yym3194
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3193) {
					} else if yym3194 {
						z.EncBinaryMarshal(yy3193)
					} else if !yym3194 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3193)
					} else {
						z.EncFallback(yy3193)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3188[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("evictionTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3195 := &x.EvictionTime
					yym3196 := z.EncBinary()
					_ = yym3196
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3195) {
					} else if yym3196 {
						z.EncBinaryMarshal(yy3195)
					} else if !yym3196 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3195)
					} else {
						z.EncFallback(yy3195)
					}
				}
			}
			if yyr3188 || yy2arr3188 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3188[2] {
					yym3198 := z.EncBinary()
					_ = yym3198
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3188[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3199 := z.EncBinary()
					_ = yym3199
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr3188 || yy2arr3188 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3188[3] {
					yym3201 := z.EncBinary()
					_ = yym3201
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3188[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3202 := z.EncBinary()
					_ = yym3202
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr3188 || yy2arr3188 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PreferAvoidPodsEntry) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3203 := z.DecBinary()
	_ = yym3203
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3204 := r.ContainerType()
		if yyct3204 == codecSelferValueTypeMap1234 {
			yyl3204 := r.ReadMapStart()
			if yyl3204 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3204, d)
			}
		} else if yyct3204 == codecSelferValueTypeArray1234 {
			yyl3204 := r.ReadArrayStart()
			if yyl3204 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3204, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PreferAvoidPodsEntry) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3205Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3205Slc
	var yyhl3205 bool = l >= 0
	for yyj3205 := 0; ; yyj3205++ {
		if yyhl3205 {
			if yyj3205 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3205Slc = r.DecodeBytes(yys3205Slc, true, true)
		yys3205 := string(yys3205Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3205 {
		case "podSignature":
			if r.TryDecodeAsNil() {
				x.PodSignature = PodSignature{}
			} else {
				yyv3206 := &x.PodSignature
				yyv3206.CodecDecodeSelf(d)
			}
		case "evictionTime":
			if r.TryDecodeAsNil() {
				x.EvictionTime = pkg2_v1.Time{}
			} else {
				yyv3207 := &x.EvictionTime
				yym3208 := z.DecBinary()
				_ = yym3208
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3207) {
				} else if yym3208 {
					z.DecBinaryUnmarshal(yyv3207)
				} else if !yym3208 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3207)
				} else {
					z.DecFallback(yyv3207, false)
				}
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3205)
		} // end switch yys3205
	} // end for yyj3205
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PreferAvoidPodsEntry) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3211 int
	var yyb3211 bool
	var yyhl3211 bool = l >= 0
	yyj3211++
	if yyhl3211 {
		yyb3211 = yyj3211 > l
	} else {
		yyb3211 = r.CheckBreak()
	}
	if yyb3211 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PodSignature = PodSignature{}
	} else {
		yyv3212 := &x.PodSignature
		yyv3212.CodecDecodeSelf(d)
	}
	yyj3211++
	if yyhl3211 {
		yyb3211 = yyj3211 > l
	} else {
		yyb3211 = r.CheckBreak()
	}
	if yyb3211 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.EvictionTime = pkg2_v1.Time{}
	} else {
		yyv3213 := &x.EvictionTime
		yym3214 := z.DecBinary()
		_ = yym3214
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3213) {
		} else if yym3214 {
			z.DecBinaryUnmarshal(yyv3213)
		} else if !yym3214 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv3213)
		} else {
			z.DecFallback(yyv3213, false)
		}
	}
	yyj3211++
	if yyhl3211 {
		yyb3211 = yyj3211 > l
	} else {
		yyb3211 = r.CheckBreak()
	}
	if yyb3211 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj3211++
	if yyhl3211 {
		yyb3211 = yyj3211 > l
	} else {
		yyb3211 = r.CheckBreak()
	}
	if yyb3211 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj3211++
		if yyhl3211 {
			yyb3211 = yyj3211 > l
		} else {
			yyb3211 = r.CheckBreak()
		}
		if yyb3211 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3211-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodSignature) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3217 := z.EncBinary()
		_ = yym3217
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3218 := !z.EncBinary()
			yy2arr3218 := z.EncBasicHandle().StructToArray
			var yyq3218 [1]bool
			_, _, _ = yysep3218, yyq3218, yy2arr3218
			const yyr3218 bool = false
			yyq3218[0] = x.PodController != nil
			var yynn3218 int
			if yyr3218 || yy2arr3218 {
				r.EncodeArrayStart(1)
			} else {
				yynn3218 = 0
				for _, b := range yyq3218 {
					if b {
						yynn3218++
					}
				}
				r.EncodeMapStart(yynn3218)
				yynn3218 = 0
			}
			if yyr3218 || yy2arr3218 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3218[0] {
					if x.PodController == nil {
						r.EncodeNil()
					} else {
						yym3220 := z.EncBinary()
						_ = yym3220
						if false {
						} else if z.HasExtensions() && z.EncExt(x.PodController) {
						} else {
							z.EncFallback(x.PodController)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3218[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("podController"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PodController == nil {
						r.EncodeNil()
					} else {
						yym3221 := z.EncBinary()
						_ = yym3221
						if false {
						} else if z.HasExtensions() && z.EncExt(x.PodController) {
						} else {
							z.EncFallback(x.PodController)
						}
					}
				}
			}
			if yyr3218 || yy2arr3218 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodSignature) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3222 := z.DecBinary()
	_ = yym3222
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3223 := r.ContainerType()
		if yyct3223 == codecSelferValueTypeMap1234 {
			yyl3223 := r.ReadMapStart()
			if yyl3223 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3223, d)
			}
		} else if yyct3223 == codecSelferValueTypeArray1234 {
			yyl3223 := r.ReadArrayStart()
			if yyl3223 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3223, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodSignature) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3224Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3224Slc
	var yyhl3224 bool = l >= 0
	for yyj3224 := 0; ; yyj3224++ {
		if yyhl3224 {
			if yyj3224 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3224Slc = r.DecodeBytes(yys3224Slc, true, true)
		yys3224 := string(yys3224Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3224 {
		case "podController":
			if r.TryDecodeAsNil() {
				if x.PodController != nil {
					x.PodController = nil
				}
			} else {
				if x.PodController == nil {
					x.PodController = new(pkg2_v1.OwnerReference)
				}
				yym3226 := z.DecBinary()
				_ = yym3226
				if false {
				} else if z.HasExtensions() && z.DecExt(x.PodController) {
				} else {
					z.DecFallback(x.PodController, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3224)
		} // end switch yys3224
	} // end for yyj3224
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodSignature) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3227 int
	var yyb3227 bool
	var yyhl3227 bool = l >= 0
	yyj3227++
	if yyhl3227 {
		yyb3227 = yyj3227 > l
	} else {
		yyb3227 = r.CheckBreak()
	}
	if yyb3227 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PodController != nil {
			x.PodController = nil
		}
	} else {
		if x.PodController == nil {
			x.PodController = new(pkg2_v1.OwnerReference)
		}
		yym3229 := z.DecBinary()
		_ = yym3229
		if false {
		} else if z.HasExtensions() && z.DecExt(x.PodController) {
		} else {
			z.DecFallback(x.PodController, false)
		}
	}
	for {
		yyj3227++
		if yyhl3227 {
			yyb3227 = yyj3227 > l
		} else {
			yyb3227 = r.CheckBreak()
		}
		if yyb3227 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3227-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ContainerImage) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3230 := z.EncBinary()
		_ = yym3230
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3231 := !z.EncBinary()
			yy2arr3231 := z.EncBasicHandle().StructToArray
			var yyq3231 [2]bool
			_, _, _ = yysep3231, yyq3231, yy2arr3231
			const yyr3231 bool = false
			yyq3231[1] = x.SizeBytes != 0
			var yynn3231 int
			if yyr3231 || yy2arr3231 {
				r.EncodeArrayStart(2)
			} else {
				yynn3231 = 1
				for _, b := range yyq3231 {
					if b {
						yynn3231++
					}
				}
				r.EncodeMapStart(yynn3231)
				yynn3231 = 0
			}
			if yyr3231 || yy2arr3231 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Names == nil {
					r.EncodeNil()
				} else {
					yym3233 := z.EncBinary()
					_ = yym3233
					if false {
					} else {
						z.F.EncSliceStringV(x.Names, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("names"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Names == nil {
					r.EncodeNil()
				} else {
					yym3234 := z.EncBinary()
					_ = yym3234
					if false {
					} else {
						z.F.EncSliceStringV(x.Names, false, e)
					}
				}
			}
			if yyr3231 || yy2arr3231 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3231[1] {
					yym3236 := z.EncBinary()
					_ = yym3236
					if false {
					} else {
						r.EncodeInt(int64(x.SizeBytes))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq3231[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("sizeBytes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3237 := z.EncBinary()
					_ = yym3237
					if false {
					} else {
						r.EncodeInt(int64(x.SizeBytes))
					}
				}
			}
			if yyr3231 || yy2arr3231 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ContainerImage) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3238 := z.DecBinary()
	_ = yym3238
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3239 := r.ContainerType()
		if yyct3239 == codecSelferValueTypeMap1234 {
			yyl3239 := r.ReadMapStart()
			if yyl3239 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3239, d)
			}
		} else if yyct3239 == codecSelferValueTypeArray1234 {
			yyl3239 := r.ReadArrayStart()
			if yyl3239 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3239, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerImage) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3240Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3240Slc
	var yyhl3240 bool = l >= 0
	for yyj3240 := 0; ; yyj3240++ {
		if yyhl3240 {
			if yyj3240 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3240Slc = r.DecodeBytes(yys3240Slc, true, true)
		yys3240 := string(yys3240Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3240 {
		case "names":
			if r.TryDecodeAsNil() {
				x.Names = nil
			} else {
				yyv3241 := &x.Names
				yym3242 := z.DecBinary()
				_ = yym3242
				if false {
				} else {
					z.F.DecSliceStringX(yyv3241, false, d)
				}
			}
		case "sizeBytes":
			if r.TryDecodeAsNil() {
				x.SizeBytes = 0
			} else {
				x.SizeBytes = int64(r.DecodeInt(64))
			}
		default:
			z.DecStructFieldNotFound(-1, yys3240)
		} // end switch yys3240
	} // end for yyj3240
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ContainerImage) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3244 int
	var yyb3244 bool
	var yyhl3244 bool = l >= 0
	yyj3244++
	if yyhl3244 {
		yyb3244 = yyj3244 > l
	} else {
		yyb3244 = r.CheckBreak()
	}
	if yyb3244 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Names = nil
	} else {
		yyv3245 := &x.Names
		yym3246 := z.DecBinary()
		_ = yym3246
		if false {
		} else {
			z.F.DecSliceStringX(yyv3245, false, d)
		}
	}
	yyj3244++
	if yyhl3244 {
		yyb3244 = yyj3244 > l
	} else {
		yyb3244 = r.CheckBreak()
	}
	if yyb3244 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SizeBytes = 0
	} else {
		x.SizeBytes = int64(r.DecodeInt(64))
	}
	for {
		yyj3244++
		if yyhl3244 {
			yyb3244 = yyj3244 > l
		} else {
			yyb3244 = r.CheckBreak()
		}
		if yyb3244 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3244-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x NodePhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3248 := z.EncBinary()
	_ = yym3248
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *NodePhase) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3249 := z.DecBinary()
	_ = yym3249
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x NodeConditionType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3250 := z.EncBinary()
	_ = yym3250
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *NodeConditionType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3251 := z.DecBinary()
	_ = yym3251
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *NodeCondition) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3252 := z.EncBinary()
		_ = yym3252
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3253 := !z.EncBinary()
			yy2arr3253 := z.EncBasicHandle().StructToArray
			var yyq3253 [6]bool
			_, _, _ = yysep3253, yyq3253, yy2arr3253
			const yyr3253 bool = false
			yyq3253[2] = true
			yyq3253[3] = true
			yyq3253[4] = x.Reason != ""
			yyq3253[5] = x.Message != ""
			var yynn3253 int
			if yyr3253 || yy2arr3253 {
				r.EncodeArrayStart(6)
			} else {
				yynn3253 = 2
				for _, b := range yyq3253 {
					if b {
						yynn3253++
					}
				}
				r.EncodeMapStart(yynn3253)
				yynn3253 = 0
			}
			if yyr3253 || yy2arr3253 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Type.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Type.CodecEncodeSelf(e)
			}
			if yyr3253 || yy2arr3253 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Status.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("status"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Status.CodecEncodeSelf(e)
			}
			if yyr3253 || yy2arr3253 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3253[2] {
					yy3257 := &x.LastHeartbeatTime
					yym3258 := z.EncBinary()
					_ = yym3258
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3257) {
					} else if yym3258 {
						z.EncBinaryMarshal(yy3257)
					} else if !yym3258 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3257)
					} else {
						z.EncFallback(yy3257)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3253[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastHeartbeatTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3259 := &x.LastHeartbeatTime
					yym3260 := z.EncBinary()
					_ = yym3260
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3259) {
					} else if yym3260 {
						z.EncBinaryMarshal(yy3259)
					} else if !yym3260 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3259)
					} else {
						z.EncFallback(yy3259)
					}
				}
			}
			if yyr3253 || yy2arr3253 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3253[3] {
					yy3262 := &x.LastTransitionTime
					yym3263 := z.EncBinary()
					_ = yym3263
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3262) {
					} else if yym3263 {
						z.EncBinaryMarshal(yy3262)
					} else if !yym3263 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3262)
					} else {
						z.EncFallback(yy3262)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3253[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastTransitionTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3264 := &x.LastTransitionTime
					yym3265 := z.EncBinary()
					_ = yym3265
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3264) {
					} else if yym3265 {
						z.EncBinaryMarshal(yy3264)
					} else if !yym3265 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3264)
					} else {
						z.EncFallback(yy3264)
					}
				}
			}
			if yyr3253 || yy2arr3253 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3253[4] {
					yym3267 := z.EncBinary()
					_ = yym3267
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3253[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3268 := z.EncBinary()
					_ = yym3268
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr3253 || yy2arr3253 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3253[5] {
					yym3270 := z.EncBinary()
					_ = yym3270
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3253[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3271 := z.EncBinary()
					_ = yym3271
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr3253 || yy2arr3253 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeCondition) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3272 := z.DecBinary()
	_ = yym3272
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3273 := r.ContainerType()
		if yyct3273 == codecSelferValueTypeMap1234 {
			yyl3273 := r.ReadMapStart()
			if yyl3273 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3273, d)
			}
		} else if yyct3273 == codecSelferValueTypeArray1234 {
			yyl3273 := r.ReadArrayStart()
			if yyl3273 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3273, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeCondition) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3274Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3274Slc
	var yyhl3274 bool = l >= 0
	for yyj3274 := 0; ; yyj3274++ {
		if yyhl3274 {
			if yyj3274 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3274Slc = r.DecodeBytes(yys3274Slc, true, true)
		yys3274 := string(yys3274Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3274 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = NodeConditionType(r.DecodeString())
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ""
			} else {
				x.Status = ConditionStatus(r.DecodeString())
			}
		case "lastHeartbeatTime":
			if r.TryDecodeAsNil() {
				x.LastHeartbeatTime = pkg2_v1.Time{}
			} else {
				yyv3277 := &x.LastHeartbeatTime
				yym3278 := z.DecBinary()
				_ = yym3278
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3277) {
				} else if yym3278 {
					z.DecBinaryUnmarshal(yyv3277)
				} else if !yym3278 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3277)
				} else {
					z.DecFallback(yyv3277, false)
				}
			}
		case "lastTransitionTime":
			if r.TryDecodeAsNil() {
				x.LastTransitionTime = pkg2_v1.Time{}
			} else {
				yyv3279 := &x.LastTransitionTime
				yym3280 := z.DecBinary()
				_ = yym3280
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3279) {
				} else if yym3280 {
					z.DecBinaryUnmarshal(yyv3279)
				} else if !yym3280 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3279)
				} else {
					z.DecFallback(yyv3279, false)
				}
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3274)
		} // end switch yys3274
	} // end for yyj3274
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeCondition) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3283 int
	var yyb3283 bool
	var yyhl3283 bool = l >= 0
	yyj3283++
	if yyhl3283 {
		yyb3283 = yyj3283 > l
	} else {
		yyb3283 = r.CheckBreak()
	}
	if yyb3283 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = NodeConditionType(r.DecodeString())
	}
	yyj3283++
	if yyhl3283 {
		yyb3283 = yyj3283 > l
	} else {
		yyb3283 = r.CheckBreak()
	}
	if yyb3283 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj3283++
	if yyhl3283 {
		yyb3283 = yyj3283 > l
	} else {
		yyb3283 = r.CheckBreak()
	}
	if yyb3283 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastHeartbeatTime = pkg2_v1.Time{}
	} else {
		yyv3286 := &x.LastHeartbeatTime
		yym3287 := z.DecBinary()
		_ = yym3287
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3286) {
		} else if yym3287 {
			z.DecBinaryUnmarshal(yyv3286)
		} else if !yym3287 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv3286)
		} else {
			z.DecFallback(yyv3286, false)
		}
	}
	yyj3283++
	if yyhl3283 {
		yyb3283 = yyj3283 > l
	} else {
		yyb3283 = r.CheckBreak()
	}
	if yyb3283 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTransitionTime = pkg2_v1.Time{}
	} else {
		yyv3288 := &x.LastTransitionTime
		yym3289 := z.DecBinary()
		_ = yym3289
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3288) {
		} else if yym3289 {
			z.DecBinaryUnmarshal(yyv3288)
		} else if !yym3289 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv3288)
		} else {
			z.DecFallback(yyv3288, false)
		}
	}
	yyj3283++
	if yyhl3283 {
		yyb3283 = yyj3283 > l
	} else {
		yyb3283 = r.CheckBreak()
	}
	if yyb3283 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj3283++
	if yyhl3283 {
		yyb3283 = yyj3283 > l
	} else {
		yyb3283 = r.CheckBreak()
	}
	if yyb3283 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj3283++
		if yyhl3283 {
			yyb3283 = yyj3283 > l
		} else {
			yyb3283 = r.CheckBreak()
		}
		if yyb3283 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3283-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x NodeAddressType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3292 := z.EncBinary()
	_ = yym3292
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *NodeAddressType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3293 := z.DecBinary()
	_ = yym3293
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *NodeAddress) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3294 := z.EncBinary()
		_ = yym3294
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3295 := !z.EncBinary()
			yy2arr3295 := z.EncBasicHandle().StructToArray
			var yyq3295 [2]bool
			_, _, _ = yysep3295, yyq3295, yy2arr3295
			const yyr3295 bool = false
			var yynn3295 int
			if yyr3295 || yy2arr3295 {
				r.EncodeArrayStart(2)
			} else {
				yynn3295 = 2
				for _, b := range yyq3295 {
					if b {
						yynn3295++
					}
				}
				r.EncodeMapStart(yynn3295)
				yynn3295 = 0
			}
			if yyr3295 || yy2arr3295 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Type.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Type.CodecEncodeSelf(e)
			}
			if yyr3295 || yy2arr3295 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3298 := z.EncBinary()
				_ = yym3298
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Address))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("address"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3299 := z.EncBinary()
				_ = yym3299
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Address))
				}
			}
			if yyr3295 || yy2arr3295 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeAddress) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3300 := z.DecBinary()
	_ = yym3300
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3301 := r.ContainerType()
		if yyct3301 == codecSelferValueTypeMap1234 {
			yyl3301 := r.ReadMapStart()
			if yyl3301 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3301, d)
			}
		} else if yyct3301 == codecSelferValueTypeArray1234 {
			yyl3301 := r.ReadArrayStart()
			if yyl3301 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3301, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeAddress) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3302Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3302Slc
	var yyhl3302 bool = l >= 0
	for yyj3302 := 0; ; yyj3302++ {
		if yyhl3302 {
			if yyj3302 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3302Slc = r.DecodeBytes(yys3302Slc, true, true)
		yys3302 := string(yys3302Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3302 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = NodeAddressType(r.DecodeString())
			}
		case "address":
			if r.TryDecodeAsNil() {
				x.Address = ""
			} else {
				x.Address = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3302)
		} // end switch yys3302
	} // end for yyj3302
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeAddress) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3305 int
	var yyb3305 bool
	var yyhl3305 bool = l >= 0
	yyj3305++
	if yyhl3305 {
		yyb3305 = yyj3305 > l
	} else {
		yyb3305 = r.CheckBreak()
	}
	if yyb3305 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = NodeAddressType(r.DecodeString())
	}
	yyj3305++
	if yyhl3305 {
		yyb3305 = yyj3305 > l
	} else {
		yyb3305 = r.CheckBreak()
	}
	if yyb3305 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Address = ""
	} else {
		x.Address = string(r.DecodeString())
	}
	for {
		yyj3305++
		if yyhl3305 {
			yyb3305 = yyj3305 > l
		} else {
			yyb3305 = r.CheckBreak()
		}
		if yyb3305 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3305-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeResources) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3308 := z.EncBinary()
		_ = yym3308
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3309 := !z.EncBinary()
			yy2arr3309 := z.EncBasicHandle().StructToArray
			var yyq3309 [1]bool
			_, _, _ = yysep3309, yyq3309, yy2arr3309
			const yyr3309 bool = false
			yyq3309[0] = len(x.Capacity) != 0
			var yynn3309 int
			if yyr3309 || yy2arr3309 {
				r.EncodeArrayStart(1)
			} else {
				yynn3309 = 0
				for _, b := range yyq3309 {
					if b {
						yynn3309++
					}
				}
				r.EncodeMapStart(yynn3309)
				yynn3309 = 0
			}
			if yyr3309 || yy2arr3309 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3309[0] {
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3309[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("capacity"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3309 || yy2arr3309 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeResources) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3311 := z.DecBinary()
	_ = yym3311
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3312 := r.ContainerType()
		if yyct3312 == codecSelferValueTypeMap1234 {
			yyl3312 := r.ReadMapStart()
			if yyl3312 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3312, d)
			}
		} else if yyct3312 == codecSelferValueTypeArray1234 {
			yyl3312 := r.ReadArrayStart()
			if yyl3312 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3312, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeResources) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3313Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3313Slc
	var yyhl3313 bool = l >= 0
	for yyj3313 := 0; ; yyj3313++ {
		if yyhl3313 {
			if yyj3313 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3313Slc = r.DecodeBytes(yys3313Slc, true, true)
		yys3313 := string(yys3313Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3313 {
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv3314 := &x.Capacity
				yyv3314.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3313)
		} // end switch yys3313
	} // end for yyj3313
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeResources) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3315 int
	var yyb3315 bool
	var yyhl3315 bool = l >= 0
	yyj3315++
	if yyhl3315 {
		yyb3315 = yyj3315 > l
	} else {
		yyb3315 = r.CheckBreak()
	}
	if yyb3315 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv3316 := &x.Capacity
		yyv3316.CodecDecodeSelf(d)
	}
	for {
		yyj3315++
		if yyhl3315 {
			yyb3315 = yyj3315 > l
		} else {
			yyb3315 = r.CheckBreak()
		}
		if yyb3315 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3315-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x ResourceName) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3317 := z.EncBinary()
	_ = yym3317
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ResourceName) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3318 := z.DecBinary()
	_ = yym3318
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x ResourceList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3319 := z.EncBinary()
		_ = yym3319
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			h.encResourceList((ResourceList)(x), e)
		}
	}
}

func (x *ResourceList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3320 := z.DecBinary()
	_ = yym3320
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		h.decResourceList((*ResourceList)(x), d)
	}
}

func (x *Node) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3321 := z.EncBinary()
		_ = yym3321
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3322 := !z.EncBinary()
			yy2arr3322 := z.EncBasicHandle().StructToArray
			var yyq3322 [5]bool
			_, _, _ = yysep3322, yyq3322, yy2arr3322
			const yyr3322 bool = false
			yyq3322[0] = x.Kind != ""
			yyq3322[1] = x.APIVersion != ""
			yyq3322[2] = true
			yyq3322[3] = true
			yyq3322[4] = true
			var yynn3322 int
			if yyr3322 || yy2arr3322 {
				r.EncodeArrayStart(5)
			} else {
				yynn3322 = 0
				for _, b := range yyq3322 {
					if b {
						yynn3322++
					}
				}
				r.EncodeMapStart(yynn3322)
				yynn3322 = 0
			}
			if yyr3322 || yy2arr3322 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3322[0] {
					yym3324 := z.EncBinary()
					_ = yym3324
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3322[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3325 := z.EncBinary()
					_ = yym3325
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3322 || yy2arr3322 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3322[1] {
					yym3327 := z.EncBinary()
					_ = yym3327
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3322[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3328 := z.EncBinary()
					_ = yym3328
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3322 || yy2arr3322 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3322[2] {
					yy3330 := &x.ObjectMeta
					yy3330.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3322[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3331 := &x.ObjectMeta
					yy3331.CodecEncodeSelf(e)
				}
			}
			if yyr3322 || yy2arr3322 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3322[3] {
					yy3333 := &x.Spec
					yy3333.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3322[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3334 := &x.Spec
					yy3334.CodecEncodeSelf(e)
				}
			}
			if yyr3322 || yy2arr3322 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3322[4] {
					yy3336 := &x.Status
					yy3336.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3322[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3337 := &x.Status
					yy3337.CodecEncodeSelf(e)
				}
			}
			if yyr3322 || yy2arr3322 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Node) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3338 := z.DecBinary()
	_ = yym3338
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3339 := r.ContainerType()
		if yyct3339 == codecSelferValueTypeMap1234 {
			yyl3339 := r.ReadMapStart()
			if yyl3339 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3339, d)
			}
		} else if yyct3339 == codecSelferValueTypeArray1234 {
			yyl3339 := r.ReadArrayStart()
			if yyl3339 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3339, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Node) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3340Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3340Slc
	var yyhl3340 bool = l >= 0
	for yyj3340 := 0; ; yyj3340++ {
		if yyhl3340 {
			if yyj3340 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3340Slc = r.DecodeBytes(yys3340Slc, true, true)
		yys3340 := string(yys3340Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3340 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv3343 := &x.ObjectMeta
				yyv3343.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = NodeSpec{}
			} else {
				yyv3344 := &x.Spec
				yyv3344.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = NodeStatus{}
			} else {
				yyv3345 := &x.Status
				yyv3345.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3340)
		} // end switch yys3340
	} // end for yyj3340
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Node) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3346 int
	var yyb3346 bool
	var yyhl3346 bool = l >= 0
	yyj3346++
	if yyhl3346 {
		yyb3346 = yyj3346 > l
	} else {
		yyb3346 = r.CheckBreak()
	}
	if yyb3346 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3346++
	if yyhl3346 {
		yyb3346 = yyj3346 > l
	} else {
		yyb3346 = r.CheckBreak()
	}
	if yyb3346 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3346++
	if yyhl3346 {
		yyb3346 = yyj3346 > l
	} else {
		yyb3346 = r.CheckBreak()
	}
	if yyb3346 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3349 := &x.ObjectMeta
		yyv3349.CodecDecodeSelf(d)
	}
	yyj3346++
	if yyhl3346 {
		yyb3346 = yyj3346 > l
	} else {
		yyb3346 = r.CheckBreak()
	}
	if yyb3346 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = NodeSpec{}
	} else {
		yyv3350 := &x.Spec
		yyv3350.CodecDecodeSelf(d)
	}
	yyj3346++
	if yyhl3346 {
		yyb3346 = yyj3346 > l
	} else {
		yyb3346 = r.CheckBreak()
	}
	if yyb3346 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = NodeStatus{}
	} else {
		yyv3351 := &x.Status
		yyv3351.CodecDecodeSelf(d)
	}
	for {
		yyj3346++
		if yyhl3346 {
			yyb3346 = yyj3346 > l
		} else {
			yyb3346 = r.CheckBreak()
		}
		if yyb3346 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3346-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3352 := z.EncBinary()
		_ = yym3352
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3353 := !z.EncBinary()
			yy2arr3353 := z.EncBasicHandle().StructToArray
			var yyq3353 [4]bool
			_, _, _ = yysep3353, yyq3353, yy2arr3353
			const yyr3353 bool = false
			yyq3353[0] = x.Kind != ""
			yyq3353[1] = x.APIVersion != ""
			yyq3353[2] = true
			var yynn3353 int
			if yyr3353 || yy2arr3353 {
				r.EncodeArrayStart(4)
			} else {
				yynn3353 = 1
				for _, b := range yyq3353 {
					if b {
						yynn3353++
					}
				}
				r.EncodeMapStart(yynn3353)
				yynn3353 = 0
			}
			if yyr3353 || yy2arr3353 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3353[0] {
					yym3355 := z.EncBinary()
					_ = yym3355
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3353[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3356 := z.EncBinary()
					_ = yym3356
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3353 || yy2arr3353 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3353[1] {
					yym3358 := z.EncBinary()
					_ = yym3358
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3353[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3359 := z.EncBinary()
					_ = yym3359
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3353 || yy2arr3353 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3353[2] {
					yy3361 := &x.ListMeta
					yym3362 := z.EncBinary()
					_ = yym3362
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3361) {
					} else {
						z.EncFallback(yy3361)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3353[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3363 := &x.ListMeta
					yym3364 := z.EncBinary()
					_ = yym3364
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3363) {
					} else {
						z.EncFallback(yy3363)
					}
				}
			}
			if yyr3353 || yy2arr3353 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3366 := z.EncBinary()
					_ = yym3366
					if false {
					} else {
						h.encSliceNode(([]Node)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3367 := z.EncBinary()
					_ = yym3367
					if false {
					} else {
						h.encSliceNode(([]Node)(x.Items), e)
					}
				}
			}
			if yyr3353 || yy2arr3353 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3368 := z.DecBinary()
	_ = yym3368
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3369 := r.ContainerType()
		if yyct3369 == codecSelferValueTypeMap1234 {
			yyl3369 := r.ReadMapStart()
			if yyl3369 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3369, d)
			}
		} else if yyct3369 == codecSelferValueTypeArray1234 {
			yyl3369 := r.ReadArrayStart()
			if yyl3369 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3369, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3370Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3370Slc
	var yyhl3370 bool = l >= 0
	for yyj3370 := 0; ; yyj3370++ {
		if yyhl3370 {
			if yyj3370 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3370Slc = r.DecodeBytes(yys3370Slc, true, true)
		yys3370 := string(yys3370Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3370 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_v1.ListMeta{}
			} else {
				yyv3373 := &x.ListMeta
				yym3374 := z.DecBinary()
				_ = yym3374
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3373) {
				} else {
					z.DecFallback(yyv3373, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3375 := &x.Items
				yym3376 := z.DecBinary()
				_ = yym3376
				if false {
				} else {
					h.decSliceNode((*[]Node)(yyv3375), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3370)
		} // end switch yys3370
	} // end for yyj3370
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3377 int
	var yyb3377 bool
	var yyhl3377 bool = l >= 0
	yyj3377++
	if yyhl3377 {
		yyb3377 = yyj3377 > l
	} else {
		yyb3377 = r.CheckBreak()
	}
	if yyb3377 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3377++
	if yyhl3377 {
		yyb3377 = yyj3377 > l
	} else {
		yyb3377 = r.CheckBreak()
	}
	if yyb3377 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3377++
	if yyhl3377 {
		yyb3377 = yyj3377 > l
	} else {
		yyb3377 = r.CheckBreak()
	}
	if yyb3377 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_v1.ListMeta{}
	} else {
		yyv3380 := &x.ListMeta
		yym3381 := z.DecBinary()
		_ = yym3381
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3380) {
		} else {
			z.DecFallback(yyv3380, false)
		}
	}
	yyj3377++
	if yyhl3377 {
		yyb3377 = yyj3377 > l
	} else {
		yyb3377 = r.CheckBreak()
	}
	if yyb3377 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3382 := &x.Items
		yym3383 := z.DecBinary()
		_ = yym3383
		if false {
		} else {
			h.decSliceNode((*[]Node)(yyv3382), d)
		}
	}
	for {
		yyj3377++
		if yyhl3377 {
			yyb3377 = yyj3377 > l
		} else {
			yyb3377 = r.CheckBreak()
		}
		if yyb3377 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3377-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NamespaceSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3384 := z.EncBinary()
		_ = yym3384
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3385 := !z.EncBinary()
			yy2arr3385 := z.EncBasicHandle().StructToArray
			var yyq3385 [1]bool
			_, _, _ = yysep3385, yyq3385, yy2arr3385
			const yyr3385 bool = false
			var yynn3385 int
			if yyr3385 || yy2arr3385 {
				r.EncodeArrayStart(1)
			} else {
				yynn3385 = 1
				for _, b := range yyq3385 {
					if b {
						yynn3385++
					}
				}
				r.EncodeMapStart(yynn3385)
				yynn3385 = 0
			}
			if yyr3385 || yy2arr3385 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Finalizers == nil {
					r.EncodeNil()
				} else {
					yym3387 := z.EncBinary()
					_ = yym3387
					if false {
					} else {
						h.encSliceFinalizerName(([]FinalizerName)(x.Finalizers), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Finalizers"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Finalizers == nil {
					r.EncodeNil()
				} else {
					yym3388 := z.EncBinary()
					_ = yym3388
					if false {
					} else {
						h.encSliceFinalizerName(([]FinalizerName)(x.Finalizers), e)
					}
				}
			}
			if yyr3385 || yy2arr3385 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NamespaceSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3389 := z.DecBinary()
	_ = yym3389
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3390 := r.ContainerType()
		if yyct3390 == codecSelferValueTypeMap1234 {
			yyl3390 := r.ReadMapStart()
			if yyl3390 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3390, d)
			}
		} else if yyct3390 == codecSelferValueTypeArray1234 {
			yyl3390 := r.ReadArrayStart()
			if yyl3390 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3390, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NamespaceSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3391Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3391Slc
	var yyhl3391 bool = l >= 0
	for yyj3391 := 0; ; yyj3391++ {
		if yyhl3391 {
			if yyj3391 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3391Slc = r.DecodeBytes(yys3391Slc, true, true)
		yys3391 := string(yys3391Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3391 {
		case "Finalizers":
			if r.TryDecodeAsNil() {
				x.Finalizers = nil
			} else {
				yyv3392 := &x.Finalizers
				yym3393 := z.DecBinary()
				_ = yym3393
				if false {
				} else {
					h.decSliceFinalizerName((*[]FinalizerName)(yyv3392), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3391)
		} // end switch yys3391
	} // end for yyj3391
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NamespaceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3394 int
	var yyb3394 bool
	var yyhl3394 bool = l >= 0
	yyj3394++
	if yyhl3394 {
		yyb3394 = yyj3394 > l
	} else {
		yyb3394 = r.CheckBreak()
	}
	if yyb3394 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Finalizers = nil
	} else {
		yyv3395 := &x.Finalizers
		yym3396 := z.DecBinary()
		_ = yym3396
		if false {
		} else {
			h.decSliceFinalizerName((*[]FinalizerName)(yyv3395), d)
		}
	}
	for {
		yyj3394++
		if yyhl3394 {
			yyb3394 = yyj3394 > l
		} else {
			yyb3394 = r.CheckBreak()
		}
		if yyb3394 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3394-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x FinalizerName) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3397 := z.EncBinary()
	_ = yym3397
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *FinalizerName) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3398 := z.DecBinary()
	_ = yym3398
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *NamespaceStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3399 := z.EncBinary()
		_ = yym3399
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3400 := !z.EncBinary()
			yy2arr3400 := z.EncBasicHandle().StructToArray
			var yyq3400 [1]bool
			_, _, _ = yysep3400, yyq3400, yy2arr3400
			const yyr3400 bool = false
			yyq3400[0] = x.Phase != ""
			var yynn3400 int
			if yyr3400 || yy2arr3400 {
				r.EncodeArrayStart(1)
			} else {
				yynn3400 = 0
				for _, b := range yyq3400 {
					if b {
						yynn3400++
					}
				}
				r.EncodeMapStart(yynn3400)
				yynn3400 = 0
			}
			if yyr3400 || yy2arr3400 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3400[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3400[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr3400 || yy2arr3400 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NamespaceStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3402 := z.DecBinary()
	_ = yym3402
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3403 := r.ContainerType()
		if yyct3403 == codecSelferValueTypeMap1234 {
			yyl3403 := r.ReadMapStart()
			if yyl3403 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3403, d)
			}
		} else if yyct3403 == codecSelferValueTypeArray1234 {
			yyl3403 := r.ReadArrayStart()
			if yyl3403 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3403, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NamespaceStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3404Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3404Slc
	var yyhl3404 bool = l >= 0
	for yyj3404 := 0; ; yyj3404++ {
		if yyhl3404 {
			if yyj3404 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3404Slc = r.DecodeBytes(yys3404Slc, true, true)
		yys3404 := string(yys3404Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3404 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = NamespacePhase(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3404)
		} // end switch yys3404
	} // end for yyj3404
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NamespaceStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3406 int
	var yyb3406 bool
	var yyhl3406 bool = l >= 0
	yyj3406++
	if yyhl3406 {
		yyb3406 = yyj3406 > l
	} else {
		yyb3406 = r.CheckBreak()
	}
	if yyb3406 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = NamespacePhase(r.DecodeString())
	}
	for {
		yyj3406++
		if yyhl3406 {
			yyb3406 = yyj3406 > l
		} else {
			yyb3406 = r.CheckBreak()
		}
		if yyb3406 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3406-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x NamespacePhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3408 := z.EncBinary()
	_ = yym3408
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *NamespacePhase) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3409 := z.DecBinary()
	_ = yym3409
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *Namespace) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3410 := z.EncBinary()
		_ = yym3410
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3411 := !z.EncBinary()
			yy2arr3411 := z.EncBasicHandle().StructToArray
			var yyq3411 [5]bool
			_, _, _ = yysep3411, yyq3411, yy2arr3411
			const yyr3411 bool = false
			yyq3411[0] = x.Kind != ""
			yyq3411[1] = x.APIVersion != ""
			yyq3411[2] = true
			yyq3411[3] = true
			yyq3411[4] = true
			var yynn3411 int
			if yyr3411 || yy2arr3411 {
				r.EncodeArrayStart(5)
			} else {
				yynn3411 = 0
				for _, b := range yyq3411 {
					if b {
						yynn3411++
					}
				}
				r.EncodeMapStart(yynn3411)
				yynn3411 = 0
			}
			if yyr3411 || yy2arr3411 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3411[0] {
					yym3413 := z.EncBinary()
					_ = yym3413
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3411[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3414 := z.EncBinary()
					_ = yym3414
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3411 || yy2arr3411 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3411[1] {
					yym3416 := z.EncBinary()
					_ = yym3416
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3411[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3417 := z.EncBinary()
					_ = yym3417
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3411 || yy2arr3411 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3411[2] {
					yy3419 := &x.ObjectMeta
					yy3419.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3411[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3420 := &x.ObjectMeta
					yy3420.CodecEncodeSelf(e)
				}
			}
			if yyr3411 || yy2arr3411 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3411[3] {
					yy3422 := &x.Spec
					yy3422.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3411[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3423 := &x.Spec
					yy3423.CodecEncodeSelf(e)
				}
			}
			if yyr3411 || yy2arr3411 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3411[4] {
					yy3425 := &x.Status
					yy3425.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3411[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3426 := &x.Status
					yy3426.CodecEncodeSelf(e)
				}
			}
			if yyr3411 || yy2arr3411 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Namespace) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3427 := z.DecBinary()
	_ = yym3427
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3428 := r.ContainerType()
		if yyct3428 == codecSelferValueTypeMap1234 {
			yyl3428 := r.ReadMapStart()
			if yyl3428 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3428, d)
			}
		} else if yyct3428 == codecSelferValueTypeArray1234 {
			yyl3428 := r.ReadArrayStart()
			if yyl3428 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3428, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Namespace) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3429Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3429Slc
	var yyhl3429 bool = l >= 0
	for yyj3429 := 0; ; yyj3429++ {
		if yyhl3429 {
			if yyj3429 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3429Slc = r.DecodeBytes(yys3429Slc, true, true)
		yys3429 := string(yys3429Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3429 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv3432 := &x.ObjectMeta
				yyv3432.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = NamespaceSpec{}
			} else {
				yyv3433 := &x.Spec
				yyv3433.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = NamespaceStatus{}
			} else {
				yyv3434 := &x.Status
				yyv3434.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3429)
		} // end switch yys3429
	} // end for yyj3429
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Namespace) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3435 int
	var yyb3435 bool
	var yyhl3435 bool = l >= 0
	yyj3435++
	if yyhl3435 {
		yyb3435 = yyj3435 > l
	} else {
		yyb3435 = r.CheckBreak()
	}
	if yyb3435 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3435++
	if yyhl3435 {
		yyb3435 = yyj3435 > l
	} else {
		yyb3435 = r.CheckBreak()
	}
	if yyb3435 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3435++
	if yyhl3435 {
		yyb3435 = yyj3435 > l
	} else {
		yyb3435 = r.CheckBreak()
	}
	if yyb3435 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3438 := &x.ObjectMeta
		yyv3438.CodecDecodeSelf(d)
	}
	yyj3435++
	if yyhl3435 {
		yyb3435 = yyj3435 > l
	} else {
		yyb3435 = r.CheckBreak()
	}
	if yyb3435 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = NamespaceSpec{}
	} else {
		yyv3439 := &x.Spec
		yyv3439.CodecDecodeSelf(d)
	}
	yyj3435++
	if yyhl3435 {
		yyb3435 = yyj3435 > l
	} else {
		yyb3435 = r.CheckBreak()
	}
	if yyb3435 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = NamespaceStatus{}
	} else {
		yyv3440 := &x.Status
		yyv3440.CodecDecodeSelf(d)
	}
	for {
		yyj3435++
		if yyhl3435 {
			yyb3435 = yyj3435 > l
		} else {
			yyb3435 = r.CheckBreak()
		}
		if yyb3435 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3435-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NamespaceList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3441 := z.EncBinary()
		_ = yym3441
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3442 := !z.EncBinary()
			yy2arr3442 := z.EncBasicHandle().StructToArray
			var yyq3442 [4]bool
			_, _, _ = yysep3442, yyq3442, yy2arr3442
			const yyr3442 bool = false
			yyq3442[0] = x.Kind != ""
			yyq3442[1] = x.APIVersion != ""
			yyq3442[2] = true
			var yynn3442 int
			if yyr3442 || yy2arr3442 {
				r.EncodeArrayStart(4)
			} else {
				yynn3442 = 1
				for _, b := range yyq3442 {
					if b {
						yynn3442++
					}
				}
				r.EncodeMapStart(yynn3442)
				yynn3442 = 0
			}
			if yyr3442 || yy2arr3442 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3442[0] {
					yym3444 := z.EncBinary()
					_ = yym3444
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3442[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3445 := z.EncBinary()
					_ = yym3445
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3442 || yy2arr3442 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3442[1] {
					yym3447 := z.EncBinary()
					_ = yym3447
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3442[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3448 := z.EncBinary()
					_ = yym3448
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3442 || yy2arr3442 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3442[2] {
					yy3450 := &x.ListMeta
					yym3451 := z.EncBinary()
					_ = yym3451
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3450) {
					} else {
						z.EncFallback(yy3450)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3442[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3452 := &x.ListMeta
					yym3453 := z.EncBinary()
					_ = yym3453
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3452) {
					} else {
						z.EncFallback(yy3452)
					}
				}
			}
			if yyr3442 || yy2arr3442 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3455 := z.EncBinary()
					_ = yym3455
					if false {
					} else {
						h.encSliceNamespace(([]Namespace)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3456 := z.EncBinary()
					_ = yym3456
					if false {
					} else {
						h.encSliceNamespace(([]Namespace)(x.Items), e)
					}
				}
			}
			if yyr3442 || yy2arr3442 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NamespaceList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3457 := z.DecBinary()
	_ = yym3457
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3458 := r.ContainerType()
		if yyct3458 == codecSelferValueTypeMap1234 {
			yyl3458 := r.ReadMapStart()
			if yyl3458 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3458, d)
			}
		} else if yyct3458 == codecSelferValueTypeArray1234 {
			yyl3458 := r.ReadArrayStart()
			if yyl3458 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3458, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NamespaceList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3459Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3459Slc
	var yyhl3459 bool = l >= 0
	for yyj3459 := 0; ; yyj3459++ {
		if yyhl3459 {
			if yyj3459 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3459Slc = r.DecodeBytes(yys3459Slc, true, true)
		yys3459 := string(yys3459Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3459 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_v1.ListMeta{}
			} else {
				yyv3462 := &x.ListMeta
				yym3463 := z.DecBinary()
				_ = yym3463
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3462) {
				} else {
					z.DecFallback(yyv3462, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3464 := &x.Items
				yym3465 := z.DecBinary()
				_ = yym3465
				if false {
				} else {
					h.decSliceNamespace((*[]Namespace)(yyv3464), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3459)
		} // end switch yys3459
	} // end for yyj3459
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NamespaceList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3466 int
	var yyb3466 bool
	var yyhl3466 bool = l >= 0
	yyj3466++
	if yyhl3466 {
		yyb3466 = yyj3466 > l
	} else {
		yyb3466 = r.CheckBreak()
	}
	if yyb3466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3466++
	if yyhl3466 {
		yyb3466 = yyj3466 > l
	} else {
		yyb3466 = r.CheckBreak()
	}
	if yyb3466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3466++
	if yyhl3466 {
		yyb3466 = yyj3466 > l
	} else {
		yyb3466 = r.CheckBreak()
	}
	if yyb3466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_v1.ListMeta{}
	} else {
		yyv3469 := &x.ListMeta
		yym3470 := z.DecBinary()
		_ = yym3470
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3469) {
		} else {
			z.DecFallback(yyv3469, false)
		}
	}
	yyj3466++
	if yyhl3466 {
		yyb3466 = yyj3466 > l
	} else {
		yyb3466 = r.CheckBreak()
	}
	if yyb3466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3471 := &x.Items
		yym3472 := z.DecBinary()
		_ = yym3472
		if false {
		} else {
			h.decSliceNamespace((*[]Namespace)(yyv3471), d)
		}
	}
	for {
		yyj3466++
		if yyhl3466 {
			yyb3466 = yyj3466 > l
		} else {
			yyb3466 = r.CheckBreak()
		}
		if yyb3466 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3466-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Binding) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3473 := z.EncBinary()
		_ = yym3473
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3474 := !z.EncBinary()
			yy2arr3474 := z.EncBasicHandle().StructToArray
			var yyq3474 [4]bool
			_, _, _ = yysep3474, yyq3474, yy2arr3474
			const yyr3474 bool = false
			yyq3474[0] = x.Kind != ""
			yyq3474[1] = x.APIVersion != ""
			yyq3474[2] = true
			var yynn3474 int
			if yyr3474 || yy2arr3474 {
				r.EncodeArrayStart(4)
			} else {
				yynn3474 = 1
				for _, b := range yyq3474 {
					if b {
						yynn3474++
					}
				}
				r.EncodeMapStart(yynn3474)
				yynn3474 = 0
			}
			if yyr3474 || yy2arr3474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3474[0] {
					yym3476 := z.EncBinary()
					_ = yym3476
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3474[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3477 := z.EncBinary()
					_ = yym3477
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3474 || yy2arr3474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3474[1] {
					yym3479 := z.EncBinary()
					_ = yym3479
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3474[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3480 := z.EncBinary()
					_ = yym3480
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3474 || yy2arr3474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3474[2] {
					yy3482 := &x.ObjectMeta
					yy3482.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3474[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3483 := &x.ObjectMeta
					yy3483.CodecEncodeSelf(e)
				}
			}
			if yyr3474 || yy2arr3474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy3485 := &x.Target
				yy3485.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("target"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy3486 := &x.Target
				yy3486.CodecEncodeSelf(e)
			}
			if yyr3474 || yy2arr3474 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Binding) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3487 := z.DecBinary()
	_ = yym3487
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3488 := r.ContainerType()
		if yyct3488 == codecSelferValueTypeMap1234 {
			yyl3488 := r.ReadMapStart()
			if yyl3488 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3488, d)
			}
		} else if yyct3488 == codecSelferValueTypeArray1234 {
			yyl3488 := r.ReadArrayStart()
			if yyl3488 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3488, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Binding) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3489Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3489Slc
	var yyhl3489 bool = l >= 0
	for yyj3489 := 0; ; yyj3489++ {
		if yyhl3489 {
			if yyj3489 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3489Slc = r.DecodeBytes(yys3489Slc, true, true)
		yys3489 := string(yys3489Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3489 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv3492 := &x.ObjectMeta
				yyv3492.CodecDecodeSelf(d)
			}
		case "target":
			if r.TryDecodeAsNil() {
				x.Target = ObjectReference{}
			} else {
				yyv3493 := &x.Target
				yyv3493.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3489)
		} // end switch yys3489
	} // end for yyj3489
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Binding) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3494 int
	var yyb3494 bool
	var yyhl3494 bool = l >= 0
	yyj3494++
	if yyhl3494 {
		yyb3494 = yyj3494 > l
	} else {
		yyb3494 = r.CheckBreak()
	}
	if yyb3494 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3494++
	if yyhl3494 {
		yyb3494 = yyj3494 > l
	} else {
		yyb3494 = r.CheckBreak()
	}
	if yyb3494 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3494++
	if yyhl3494 {
		yyb3494 = yyj3494 > l
	} else {
		yyb3494 = r.CheckBreak()
	}
	if yyb3494 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3497 := &x.ObjectMeta
		yyv3497.CodecDecodeSelf(d)
	}
	yyj3494++
	if yyhl3494 {
		yyb3494 = yyj3494 > l
	} else {
		yyb3494 = r.CheckBreak()
	}
	if yyb3494 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Target = ObjectReference{}
	} else {
		yyv3498 := &x.Target
		yyv3498.CodecDecodeSelf(d)
	}
	for {
		yyj3494++
		if yyhl3494 {
			yyb3494 = yyj3494 > l
		} else {
			yyb3494 = r.CheckBreak()
		}
		if yyb3494 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3494-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Preconditions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3499 := z.EncBinary()
		_ = yym3499
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3500 := !z.EncBinary()
			yy2arr3500 := z.EncBasicHandle().StructToArray
			var yyq3500 [1]bool
			_, _, _ = yysep3500, yyq3500, yy2arr3500
			const yyr3500 bool = false
			yyq3500[0] = x.UID != nil
			var yynn3500 int
			if yyr3500 || yy2arr3500 {
				r.EncodeArrayStart(1)
			} else {
				yynn3500 = 0
				for _, b := range yyq3500 {
					if b {
						yynn3500++
					}
				}
				r.EncodeMapStart(yynn3500)
				yynn3500 = 0
			}
			if yyr3500 || yy2arr3500 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3500[0] {
					if x.UID == nil {
						r.EncodeNil()
					} else {
						yy3502 := *x.UID
						yym3503 := z.EncBinary()
						_ = yym3503
						if false {
						} else if z.HasExtensions() && z.EncExt(yy3502) {
						} else {
							r.EncodeString(codecSelferC_UTF81234, string(yy3502))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3500[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("uid"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.UID == nil {
						r.EncodeNil()
					} else {
						yy3504 := *x.UID
						yym3505 := z.EncBinary()
						_ = yym3505
						if false {
						} else if z.HasExtensions() && z.EncExt(yy3504) {
						} else {
							r.EncodeString(codecSelferC_UTF81234, string(yy3504))
						}
					}
				}
			}
			if yyr3500 || yy2arr3500 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Preconditions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3506 := z.DecBinary()
	_ = yym3506
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3507 := r.ContainerType()
		if yyct3507 == codecSelferValueTypeMap1234 {
			yyl3507 := r.ReadMapStart()
			if yyl3507 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3507, d)
			}
		} else if yyct3507 == codecSelferValueTypeArray1234 {
			yyl3507 := r.ReadArrayStart()
			if yyl3507 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3507, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Preconditions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3508Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3508Slc
	var yyhl3508 bool = l >= 0
	for yyj3508 := 0; ; yyj3508++ {
		if yyhl3508 {
			if yyj3508 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3508Slc = r.DecodeBytes(yys3508Slc, true, true)
		yys3508 := string(yys3508Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3508 {
		case "uid":
			if r.TryDecodeAsNil() {
				if x.UID != nil {
					x.UID = nil
				}
			} else {
				if x.UID == nil {
					x.UID = new(pkg1_types.UID)
				}
				yym3510 := z.DecBinary()
				_ = yym3510
				if false {
				} else if z.HasExtensions() && z.DecExt(x.UID) {
				} else {
					*((*string)(x.UID)) = r.DecodeString()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3508)
		} // end switch yys3508
	} // end for yyj3508
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Preconditions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3511 int
	var yyb3511 bool
	var yyhl3511 bool = l >= 0
	yyj3511++
	if yyhl3511 {
		yyb3511 = yyj3511 > l
	} else {
		yyb3511 = r.CheckBreak()
	}
	if yyb3511 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.UID != nil {
			x.UID = nil
		}
	} else {
		if x.UID == nil {
			x.UID = new(pkg1_types.UID)
		}
		yym3513 := z.DecBinary()
		_ = yym3513
		if false {
		} else if z.HasExtensions() && z.DecExt(x.UID) {
		} else {
			*((*string)(x.UID)) = r.DecodeString()
		}
	}
	for {
		yyj3511++
		if yyhl3511 {
			yyb3511 = yyj3511 > l
		} else {
			yyb3511 = r.CheckBreak()
		}
		if yyb3511 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3511-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *DeleteOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3514 := z.EncBinary()
		_ = yym3514
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3515 := !z.EncBinary()
			yy2arr3515 := z.EncBasicHandle().StructToArray
			var yyq3515 [5]bool
			_, _, _ = yysep3515, yyq3515, yy2arr3515
			const yyr3515 bool = false
			yyq3515[0] = x.Kind != ""
			yyq3515[1] = x.APIVersion != ""
			yyq3515[2] = x.GracePeriodSeconds != nil
			yyq3515[3] = x.Preconditions != nil
			yyq3515[4] = x.OrphanDependents != nil
			var yynn3515 int
			if yyr3515 || yy2arr3515 {
				r.EncodeArrayStart(5)
			} else {
				yynn3515 = 0
				for _, b := range yyq3515 {
					if b {
						yynn3515++
					}
				}
				r.EncodeMapStart(yynn3515)
				yynn3515 = 0
			}
			if yyr3515 || yy2arr3515 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3515[0] {
					yym3517 := z.EncBinary()
					_ = yym3517
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3515[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3518 := z.EncBinary()
					_ = yym3518
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3515 || yy2arr3515 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3515[1] {
					yym3520 := z.EncBinary()
					_ = yym3520
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3515[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3521 := z.EncBinary()
					_ = yym3521
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3515 || yy2arr3515 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3515[2] {
					if x.GracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy3523 := *x.GracePeriodSeconds
						yym3524 := z.EncBinary()
						_ = yym3524
						if false {
						} else {
							r.EncodeInt(int64(yy3523))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3515[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gracePeriodSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.GracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy3525 := *x.GracePeriodSeconds
						yym3526 := z.EncBinary()
						_ = yym3526
						if false {
						} else {
							r.EncodeInt(int64(yy3525))
						}
					}
				}
			}
			if yyr3515 || yy2arr3515 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3515[3] {
					if x.Preconditions == nil {
						r.EncodeNil()
					} else {
						x.Preconditions.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3515[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("preconditions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Preconditions == nil {
						r.EncodeNil()
					} else {
						x.Preconditions.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3515 || yy2arr3515 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3515[4] {
					if x.OrphanDependents == nil {
						r.EncodeNil()
					} else {
						yy3529 := *x.OrphanDependents
						yym3530 := z.EncBinary()
						_ = yym3530
						if false {
						} else {
							r.EncodeBool(bool(yy3529))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3515[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("orphanDependents"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.OrphanDependents == nil {
						r.EncodeNil()
					} else {
						yy3531 := *x.OrphanDependents
						yym3532 := z.EncBinary()
						_ = yym3532
						if false {
						} else {
							r.EncodeBool(bool(yy3531))
						}
					}
				}
			}
			if yyr3515 || yy2arr3515 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *DeleteOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3533 := z.DecBinary()
	_ = yym3533
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3534 := r.ContainerType()
		if yyct3534 == codecSelferValueTypeMap1234 {
			yyl3534 := r.ReadMapStart()
			if yyl3534 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3534, d)
			}
		} else if yyct3534 == codecSelferValueTypeArray1234 {
			yyl3534 := r.ReadArrayStart()
			if yyl3534 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3534, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *DeleteOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3535Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3535Slc
	var yyhl3535 bool = l >= 0
	for yyj3535 := 0; ; yyj3535++ {
		if yyhl3535 {
			if yyj3535 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3535Slc = r.DecodeBytes(yys3535Slc, true, true)
		yys3535 := string(yys3535Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3535 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "gracePeriodSeconds":
			if r.TryDecodeAsNil() {
				if x.GracePeriodSeconds != nil {
					x.GracePeriodSeconds = nil
				}
			} else {
				if x.GracePeriodSeconds == nil {
					x.GracePeriodSeconds = new(int64)
				}
				yym3539 := z.DecBinary()
				_ = yym3539
				if false {
				} else {
					*((*int64)(x.GracePeriodSeconds)) = int64(r.DecodeInt(64))
				}
			}
		case "preconditions":
			if r.TryDecodeAsNil() {
				if x.Preconditions != nil {
					x.Preconditions = nil
				}
			} else {
				if x.Preconditions == nil {
					x.Preconditions = new(Preconditions)
				}
				x.Preconditions.CodecDecodeSelf(d)
			}
		case "orphanDependents":
			if r.TryDecodeAsNil() {
				if x.OrphanDependents != nil {
					x.OrphanDependents = nil
				}
			} else {
				if x.OrphanDependents == nil {
					x.OrphanDependents = new(bool)
				}
				yym3542 := z.DecBinary()
				_ = yym3542
				if false {
				} else {
					*((*bool)(x.OrphanDependents)) = r.DecodeBool()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3535)
		} // end switch yys3535
	} // end for yyj3535
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *DeleteOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3543 int
	var yyb3543 bool
	var yyhl3543 bool = l >= 0
	yyj3543++
	if yyhl3543 {
		yyb3543 = yyj3543 > l
	} else {
		yyb3543 = r.CheckBreak()
	}
	if yyb3543 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3543++
	if yyhl3543 {
		yyb3543 = yyj3543 > l
	} else {
		yyb3543 = r.CheckBreak()
	}
	if yyb3543 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3543++
	if yyhl3543 {
		yyb3543 = yyj3543 > l
	} else {
		yyb3543 = r.CheckBreak()
	}
	if yyb3543 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.GracePeriodSeconds != nil {
			x.GracePeriodSeconds = nil
		}
	} else {
		if x.GracePeriodSeconds == nil {
			x.GracePeriodSeconds = new(int64)
		}
		yym3547 := z.DecBinary()
		_ = yym3547
		if false {
		} else {
			*((*int64)(x.GracePeriodSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj3543++
	if yyhl3543 {
		yyb3543 = yyj3543 > l
	} else {
		yyb3543 = r.CheckBreak()
	}
	if yyb3543 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Preconditions != nil {
			x.Preconditions = nil
		}
	} else {
		if x.Preconditions == nil {
			x.Preconditions = new(Preconditions)
		}
		x.Preconditions.CodecDecodeSelf(d)
	}
	yyj3543++
	if yyhl3543 {
		yyb3543 = yyj3543 > l
	} else {
		yyb3543 = r.CheckBreak()
	}
	if yyb3543 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.OrphanDependents != nil {
			x.OrphanDependents = nil
		}
	} else {
		if x.OrphanDependents == nil {
			x.OrphanDependents = new(bool)
		}
		yym3550 := z.DecBinary()
		_ = yym3550
		if false {
		} else {
			*((*bool)(x.OrphanDependents)) = r.DecodeBool()
		}
	}
	for {
		yyj3543++
		if yyhl3543 {
			yyb3543 = yyj3543 > l
		} else {
			yyb3543 = r.CheckBreak()
		}
		if yyb3543 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3543-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ListOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3551 := z.EncBinary()
		_ = yym3551
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3552 := !z.EncBinary()
			yy2arr3552 := z.EncBasicHandle().StructToArray
			var yyq3552 [7]bool
			_, _, _ = yysep3552, yyq3552, yy2arr3552
			const yyr3552 bool = false
			yyq3552[0] = x.Kind != ""
			yyq3552[1] = x.APIVersion != ""
			var yynn3552 int
			if yyr3552 || yy2arr3552 {
				r.EncodeArrayStart(7)
			} else {
				yynn3552 = 5
				for _, b := range yyq3552 {
					if b {
						yynn3552++
					}
				}
				r.EncodeMapStart(yynn3552)
				yynn3552 = 0
			}
			if yyr3552 || yy2arr3552 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3552[0] {
					yym3554 := z.EncBinary()
					_ = yym3554
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3552[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3555 := z.EncBinary()
					_ = yym3555
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3552 || yy2arr3552 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3552[1] {
					yym3557 := z.EncBinary()
					_ = yym3557
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3552[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3558 := z.EncBinary()
					_ = yym3558
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3552 || yy2arr3552 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.LabelSelector == nil {
					r.EncodeNil()
				} else {
					yym3560 := z.EncBinary()
					_ = yym3560
					if false {
					} else if z.HasExtensions() && z.EncExt(x.LabelSelector) {
					} else {
						z.EncFallback(x.LabelSelector)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("LabelSelector"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.LabelSelector == nil {
					r.EncodeNil()
				} else {
					yym3561 := z.EncBinary()
					_ = yym3561
					if false {
					} else if z.HasExtensions() && z.EncExt(x.LabelSelector) {
					} else {
						z.EncFallback(x.LabelSelector)
					}
				}
			}
			if yyr3552 || yy2arr3552 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.FieldSelector == nil {
					r.EncodeNil()
				} else {
					yym3563 := z.EncBinary()
					_ = yym3563
					if false {
					} else if z.HasExtensions() && z.EncExt(x.FieldSelector) {
					} else {
						z.EncFallback(x.FieldSelector)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("FieldSelector"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.FieldSelector == nil {
					r.EncodeNil()
				} else {
					yym3564 := z.EncBinary()
					_ = yym3564
					if false {
					} else if z.HasExtensions() && z.EncExt(x.FieldSelector) {
					} else {
						z.EncFallback(x.FieldSelector)
					}
				}
			}
			if yyr3552 || yy2arr3552 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3566 := z.EncBinary()
				_ = yym3566
				if false {
				} else {
					r.EncodeBool(bool(x.Watch))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Watch"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3567 := z.EncBinary()
				_ = yym3567
				if false {
				} else {
					r.EncodeBool(bool(x.Watch))
				}
			}
			if yyr3552 || yy2arr3552 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3569 := z.EncBinary()
				_ = yym3569
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("ResourceVersion"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3570 := z.EncBinary()
				_ = yym3570
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
				}
			}
			if yyr3552 || yy2arr3552 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.TimeoutSeconds == nil {
					r.EncodeNil()
				} else {
					yy3572 := *x.TimeoutSeconds
					yym3573 := z.EncBinary()
					_ = yym3573
					if false {
					} else {
						r.EncodeInt(int64(yy3572))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("TimeoutSeconds"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.TimeoutSeconds == nil {
					r.EncodeNil()
				} else {
					yy3574 := *x.TimeoutSeconds
					yym3575 := z.EncBinary()
					_ = yym3575
					if false {
					} else {
						r.EncodeInt(int64(yy3574))
					}
				}
			}
			if yyr3552 || yy2arr3552 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ListOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3576 := z.DecBinary()
	_ = yym3576
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3577 := r.ContainerType()
		if yyct3577 == codecSelferValueTypeMap1234 {
			yyl3577 := r.ReadMapStart()
			if yyl3577 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3577, d)
			}
		} else if yyct3577 == codecSelferValueTypeArray1234 {
			yyl3577 := r.ReadArrayStart()
			if yyl3577 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3577, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ListOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3578Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3578Slc
	var yyhl3578 bool = l >= 0
	for yyj3578 := 0; ; yyj3578++ {
		if yyhl3578 {
			if yyj3578 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3578Slc = r.DecodeBytes(yys3578Slc, true, true)
		yys3578 := string(yys3578Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3578 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "LabelSelector":
			if r.TryDecodeAsNil() {
				x.LabelSelector = nil
			} else {
				yyv3581 := &x.LabelSelector
				yym3582 := z.DecBinary()
				_ = yym3582
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3581) {
				} else {
					z.DecFallback(yyv3581, true)
				}
			}
		case "FieldSelector":
			if r.TryDecodeAsNil() {
				x.FieldSelector = nil
			} else {
				yyv3583 := &x.FieldSelector
				yym3584 := z.DecBinary()
				_ = yym3584
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3583) {
				} else {
					z.DecFallback(yyv3583, true)
				}
			}
		case "Watch":
			if r.TryDecodeAsNil() {
				x.Watch = false
			} else {
				x.Watch = bool(r.DecodeBool())
			}
		case "ResourceVersion":
			if r.TryDecodeAsNil() {
				x.ResourceVersion = ""
			} else {
				x.ResourceVersion = string(r.DecodeString())
			}
		case "TimeoutSeconds":
			if r.TryDecodeAsNil() {
				if x.TimeoutSeconds != nil {
					x.TimeoutSeconds = nil
				}
			} else {
				if x.TimeoutSeconds == nil {
					x.TimeoutSeconds = new(int64)
				}
				yym3588 := z.DecBinary()
				_ = yym3588
				if false {
				} else {
					*((*int64)(x.TimeoutSeconds)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3578)
		} // end switch yys3578
	} // end for yyj3578
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ListOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3589 int
	var yyb3589 bool
	var yyhl3589 bool = l >= 0
	yyj3589++
	if yyhl3589 {
		yyb3589 = yyj3589 > l
	} else {
		yyb3589 = r.CheckBreak()
	}
	if yyb3589 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3589++
	if yyhl3589 {
		yyb3589 = yyj3589 > l
	} else {
		yyb3589 = r.CheckBreak()
	}
	if yyb3589 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3589++
	if yyhl3589 {
		yyb3589 = yyj3589 > l
	} else {
		yyb3589 = r.CheckBreak()
	}
	if yyb3589 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LabelSelector = nil
	} else {
		yyv3592 := &x.LabelSelector
		yym3593 := z.DecBinary()
		_ = yym3593
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3592) {
		} else {
			z.DecFallback(yyv3592, true)
		}
	}
	yyj3589++
	if yyhl3589 {
		yyb3589 = yyj3589 > l
	} else {
		yyb3589 = r.CheckBreak()
	}
	if yyb3589 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FieldSelector = nil
	} else {
		yyv3594 := &x.FieldSelector
		yym3595 := z.DecBinary()
		_ = yym3595
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3594) {
		} else {
			z.DecFallback(yyv3594, true)
		}
	}
	yyj3589++
	if yyhl3589 {
		yyb3589 = yyj3589 > l
	} else {
		yyb3589 = r.CheckBreak()
	}
	if yyb3589 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Watch = false
	} else {
		x.Watch = bool(r.DecodeBool())
	}
	yyj3589++
	if yyhl3589 {
		yyb3589 = yyj3589 > l
	} else {
		yyb3589 = r.CheckBreak()
	}
	if yyb3589 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ResourceVersion = ""
	} else {
		x.ResourceVersion = string(r.DecodeString())
	}
	yyj3589++
	if yyhl3589 {
		yyb3589 = yyj3589 > l
	} else {
		yyb3589 = r.CheckBreak()
	}
	if yyb3589 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.TimeoutSeconds != nil {
			x.TimeoutSeconds = nil
		}
	} else {
		if x.TimeoutSeconds == nil {
			x.TimeoutSeconds = new(int64)
		}
		yym3599 := z.DecBinary()
		_ = yym3599
		if false {
		} else {
			*((*int64)(x.TimeoutSeconds)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj3589++
		if yyhl3589 {
			yyb3589 = yyj3589 > l
		} else {
			yyb3589 = r.CheckBreak()
		}
		if yyb3589 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3589-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodLogOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3600 := z.EncBinary()
		_ = yym3600
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3601 := !z.EncBinary()
			yy2arr3601 := z.EncBasicHandle().StructToArray
			var yyq3601 [10]bool
			_, _, _ = yysep3601, yyq3601, yy2arr3601
			const yyr3601 bool = false
			yyq3601[0] = x.Kind != ""
			yyq3601[1] = x.APIVersion != ""
			var yynn3601 int
			if yyr3601 || yy2arr3601 {
				r.EncodeArrayStart(10)
			} else {
				yynn3601 = 8
				for _, b := range yyq3601 {
					if b {
						yynn3601++
					}
				}
				r.EncodeMapStart(yynn3601)
				yynn3601 = 0
			}
			if yyr3601 || yy2arr3601 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3601[0] {
					yym3603 := z.EncBinary()
					_ = yym3603
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3601[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3604 := z.EncBinary()
					_ = yym3604
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3601 || yy2arr3601 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3601[1] {
					yym3606 := z.EncBinary()
					_ = yym3606
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3601[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3607 := z.EncBinary()
					_ = yym3607
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3601 || yy2arr3601 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3609 := z.EncBinary()
				_ = yym3609
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Container))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Container"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3610 := z.EncBinary()
				_ = yym3610
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Container))
				}
			}
			if yyr3601 || yy2arr3601 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3612 := z.EncBinary()
				_ = yym3612
				if false {
				} else {
					r.EncodeBool(bool(x.Follow))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Follow"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3613 := z.EncBinary()
				_ = yym3613
				if false {
				} else {
					r.EncodeBool(bool(x.Follow))
				}
			}
			if yyr3601 || yy2arr3601 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3615 := z.EncBinary()
				_ = yym3615
				if false {
				} else {
					r.EncodeBool(bool(x.Previous))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Previous"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3616 := z.EncBinary()
				_ = yym3616
				if false {
				} else {
					r.EncodeBool(bool(x.Previous))
				}
			}
			if yyr3601 || yy2arr3601 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.SinceSeconds == nil {
					r.EncodeNil()
				} else {
					yy3618 := *x.SinceSeconds
					yym3619 := z.EncBinary()
					_ = yym3619
					if false {
					} else {
						r.EncodeInt(int64(yy3618))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("SinceSeconds"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.SinceSeconds == nil {
					r.EncodeNil()
				} else {
					yy3620 := *x.SinceSeconds
					yym3621 := z.EncBinary()
					_ = yym3621
					if false {
					} else {
						r.EncodeInt(int64(yy3620))
					}
				}
			}
			if yyr3601 || yy2arr3601 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.SinceTime == nil {
					r.EncodeNil()
				} else {
					yym3623 := z.EncBinary()
					_ = yym3623
					if false {
					} else if z.HasExtensions() && z.EncExt(x.SinceTime) {
					} else if yym3623 {
						z.EncBinaryMarshal(x.SinceTime)
					} else if !yym3623 && z.IsJSONHandle() {
						z.EncJSONMarshal(x.SinceTime)
					} else {
						z.EncFallback(x.SinceTime)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("SinceTime"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.SinceTime == nil {
					r.EncodeNil()
				} else {
					yym3624 := z.EncBinary()
					_ = yym3624
					if false {
					} else if z.HasExtensions() && z.EncExt(x.SinceTime) {
					} else if yym3624 {
						z.EncBinaryMarshal(x.SinceTime)
					} else if !yym3624 && z.IsJSONHandle() {
						z.EncJSONMarshal(x.SinceTime)
					} else {
						z.EncFallback(x.SinceTime)
					}
				}
			}
			if yyr3601 || yy2arr3601 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3626 := z.EncBinary()
				_ = yym3626
				if false {
				} else {
					r.EncodeBool(bool(x.Timestamps))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Timestamps"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3627 := z.EncBinary()
				_ = yym3627
				if false {
				} else {
					r.EncodeBool(bool(x.Timestamps))
				}
			}
			if yyr3601 || yy2arr3601 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.TailLines == nil {
					r.EncodeNil()
				} else {
					yy3629 := *x.TailLines
					yym3630 := z.EncBinary()
					_ = yym3630
					if false {
					} else {
						r.EncodeInt(int64(yy3629))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("TailLines"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.TailLines == nil {
					r.EncodeNil()
				} else {
					yy3631 := *x.TailLines
					yym3632 := z.EncBinary()
					_ = yym3632
					if false {
					} else {
						r.EncodeInt(int64(yy3631))
					}
				}
			}
			if yyr3601 || yy2arr3601 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.LimitBytes == nil {
					r.EncodeNil()
				} else {
					yy3634 := *x.LimitBytes
					yym3635 := z.EncBinary()
					_ = yym3635
					if false {
					} else {
						r.EncodeInt(int64(yy3634))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("LimitBytes"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.LimitBytes == nil {
					r.EncodeNil()
				} else {
					yy3636 := *x.LimitBytes
					yym3637 := z.EncBinary()
					_ = yym3637
					if false {
					} else {
						r.EncodeInt(int64(yy3636))
					}
				}
			}
			if yyr3601 || yy2arr3601 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodLogOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3638 := z.DecBinary()
	_ = yym3638
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3639 := r.ContainerType()
		if yyct3639 == codecSelferValueTypeMap1234 {
			yyl3639 := r.ReadMapStart()
			if yyl3639 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3639, d)
			}
		} else if yyct3639 == codecSelferValueTypeArray1234 {
			yyl3639 := r.ReadArrayStart()
			if yyl3639 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3639, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodLogOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3640Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3640Slc
	var yyhl3640 bool = l >= 0
	for yyj3640 := 0; ; yyj3640++ {
		if yyhl3640 {
			if yyj3640 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3640Slc = r.DecodeBytes(yys3640Slc, true, true)
		yys3640 := string(yys3640Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3640 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "Container":
			if r.TryDecodeAsNil() {
				x.Container = ""
			} else {
				x.Container = string(r.DecodeString())
			}
		case "Follow":
			if r.TryDecodeAsNil() {
				x.Follow = false
			} else {
				x.Follow = bool(r.DecodeBool())
			}
		case "Previous":
			if r.TryDecodeAsNil() {
				x.Previous = false
			} else {
				x.Previous = bool(r.DecodeBool())
			}
		case "SinceSeconds":
			if r.TryDecodeAsNil() {
				if x.SinceSeconds != nil {
					x.SinceSeconds = nil
				}
			} else {
				if x.SinceSeconds == nil {
					x.SinceSeconds = new(int64)
				}
				yym3647 := z.DecBinary()
				_ = yym3647
				if false {
				} else {
					*((*int64)(x.SinceSeconds)) = int64(r.DecodeInt(64))
				}
			}
		case "SinceTime":
			if r.TryDecodeAsNil() {
				if x.SinceTime != nil {
					x.SinceTime = nil
				}
			} else {
				if x.SinceTime == nil {
					x.SinceTime = new(pkg2_v1.Time)
				}
				yym3649 := z.DecBinary()
				_ = yym3649
				if false {
				} else if z.HasExtensions() && z.DecExt(x.SinceTime) {
				} else if yym3649 {
					z.DecBinaryUnmarshal(x.SinceTime)
				} else if !yym3649 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(x.SinceTime)
				} else {
					z.DecFallback(x.SinceTime, false)
				}
			}
		case "Timestamps":
			if r.TryDecodeAsNil() {
				x.Timestamps = false
			} else {
				x.Timestamps = bool(r.DecodeBool())
			}
		case "TailLines":
			if r.TryDecodeAsNil() {
				if x.TailLines != nil {
					x.TailLines = nil
				}
			} else {
				if x.TailLines == nil {
					x.TailLines = new(int64)
				}
				yym3652 := z.DecBinary()
				_ = yym3652
				if false {
				} else {
					*((*int64)(x.TailLines)) = int64(r.DecodeInt(64))
				}
			}
		case "LimitBytes":
			if r.TryDecodeAsNil() {
				if x.LimitBytes != nil {
					x.LimitBytes = nil
				}
			} else {
				if x.LimitBytes == nil {
					x.LimitBytes = new(int64)
				}
				yym3654 := z.DecBinary()
				_ = yym3654
				if false {
				} else {
					*((*int64)(x.LimitBytes)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3640)
		} // end switch yys3640
	} // end for yyj3640
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodLogOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3655 int
	var yyb3655 bool
	var yyhl3655 bool = l >= 0
	yyj3655++
	if yyhl3655 {
		yyb3655 = yyj3655 > l
	} else {
		yyb3655 = r.CheckBreak()
	}
	if yyb3655 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3655++
	if yyhl3655 {
		yyb3655 = yyj3655 > l
	} else {
		yyb3655 = r.CheckBreak()
	}
	if yyb3655 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3655++
	if yyhl3655 {
		yyb3655 = yyj3655 > l
	} else {
		yyb3655 = r.CheckBreak()
	}
	if yyb3655 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Container = ""
	} else {
		x.Container = string(r.DecodeString())
	}
	yyj3655++
	if yyhl3655 {
		yyb3655 = yyj3655 > l
	} else {
		yyb3655 = r.CheckBreak()
	}
	if yyb3655 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Follow = false
	} else {
		x.Follow = bool(r.DecodeBool())
	}
	yyj3655++
	if yyhl3655 {
		yyb3655 = yyj3655 > l
	} else {
		yyb3655 = r.CheckBreak()
	}
	if yyb3655 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Previous = false
	} else {
		x.Previous = bool(r.DecodeBool())
	}
	yyj3655++
	if yyhl3655 {
		yyb3655 = yyj3655 > l
	} else {
		yyb3655 = r.CheckBreak()
	}
	if yyb3655 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SinceSeconds != nil {
			x.SinceSeconds = nil
		}
	} else {
		if x.SinceSeconds == nil {
			x.SinceSeconds = new(int64)
		}
		yym3662 := z.DecBinary()
		_ = yym3662
		if false {
		} else {
			*((*int64)(x.SinceSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj3655++
	if yyhl3655 {
		yyb3655 = yyj3655 > l
	} else {
		yyb3655 = r.CheckBreak()
	}
	if yyb3655 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SinceTime != nil {
			x.SinceTime = nil
		}
	} else {
		if x.SinceTime == nil {
			x.SinceTime = new(pkg2_v1.Time)
		}
		yym3664 := z.DecBinary()
		_ = yym3664
		if false {
		} else if z.HasExtensions() && z.DecExt(x.SinceTime) {
		} else if yym3664 {
			z.DecBinaryUnmarshal(x.SinceTime)
		} else if !yym3664 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(x.SinceTime)
		} else {
			z.DecFallback(x.SinceTime, false)
		}
	}
	yyj3655++
	if yyhl3655 {
		yyb3655 = yyj3655 > l
	} else {
		yyb3655 = r.CheckBreak()
	}
	if yyb3655 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Timestamps = false
	} else {
		x.Timestamps = bool(r.DecodeBool())
	}
	yyj3655++
	if yyhl3655 {
		yyb3655 = yyj3655 > l
	} else {
		yyb3655 = r.CheckBreak()
	}
	if yyb3655 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.TailLines != nil {
			x.TailLines = nil
		}
	} else {
		if x.TailLines == nil {
			x.TailLines = new(int64)
		}
		yym3667 := z.DecBinary()
		_ = yym3667
		if false {
		} else {
			*((*int64)(x.TailLines)) = int64(r.DecodeInt(64))
		}
	}
	yyj3655++
	if yyhl3655 {
		yyb3655 = yyj3655 > l
	} else {
		yyb3655 = r.CheckBreak()
	}
	if yyb3655 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.LimitBytes != nil {
			x.LimitBytes = nil
		}
	} else {
		if x.LimitBytes == nil {
			x.LimitBytes = new(int64)
		}
		yym3669 := z.DecBinary()
		_ = yym3669
		if false {
		} else {
			*((*int64)(x.LimitBytes)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj3655++
		if yyhl3655 {
			yyb3655 = yyj3655 > l
		} else {
			yyb3655 = r.CheckBreak()
		}
		if yyb3655 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3655-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodAttachOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3670 := z.EncBinary()
		_ = yym3670
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3671 := !z.EncBinary()
			yy2arr3671 := z.EncBasicHandle().StructToArray
			var yyq3671 [7]bool
			_, _, _ = yysep3671, yyq3671, yy2arr3671
			const yyr3671 bool = false
			yyq3671[0] = x.Kind != ""
			yyq3671[1] = x.APIVersion != ""
			yyq3671[2] = x.Stdin != false
			yyq3671[3] = x.Stdout != false
			yyq3671[4] = x.Stderr != false
			yyq3671[5] = x.TTY != false
			yyq3671[6] = x.Container != ""
			var yynn3671 int
			if yyr3671 || yy2arr3671 {
				r.EncodeArrayStart(7)
			} else {
				yynn3671 = 0
				for _, b := range yyq3671 {
					if b {
						yynn3671++
					}
				}
				r.EncodeMapStart(yynn3671)
				yynn3671 = 0
			}
			if yyr3671 || yy2arr3671 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3671[0] {
					yym3673 := z.EncBinary()
					_ = yym3673
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3671[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3674 := z.EncBinary()
					_ = yym3674
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3671 || yy2arr3671 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3671[1] {
					yym3676 := z.EncBinary()
					_ = yym3676
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3671[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3677 := z.EncBinary()
					_ = yym3677
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3671 || yy2arr3671 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3671[2] {
					yym3679 := z.EncBinary()
					_ = yym3679
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq3671[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdin"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3680 := z.EncBinary()
					_ = yym3680
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				}
			}
			if yyr3671 || yy2arr3671 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3671[3] {
					yym3682 := z.EncBinary()
					_ = yym3682
					if false {
					} else {
						r.EncodeBool(bool(x.Stdout))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq3671[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdout"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3683 := z.EncBinary()
					_ = yym3683
					if false {
					} else {
						r.EncodeBool(bool(x.Stdout))
					}
				}
			}
			if yyr3671 || yy2arr3671 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3671[4] {
					yym3685 := z.EncBinary()
					_ = yym3685
					if false {
					} else {
						r.EncodeBool(bool(x.Stderr))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq3671[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stderr"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3686 := z.EncBinary()
					_ = yym3686
					if false {
					} else {
						r.EncodeBool(bool(x.Stderr))
					}
				}
			}
			if yyr3671 || yy2arr3671 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3671[5] {
					yym3688 := z.EncBinary()
					_ = yym3688
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq3671[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("tty"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3689 := z.EncBinary()
					_ = yym3689
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				}
			}
			if yyr3671 || yy2arr3671 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3671[6] {
					yym3691 := z.EncBinary()
					_ = yym3691
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3671[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("container"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3692 := z.EncBinary()
					_ = yym3692
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				}
			}
			if yyr3671 || yy2arr3671 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodAttachOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3693 := z.DecBinary()
	_ = yym3693
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3694 := r.ContainerType()
		if yyct3694 == codecSelferValueTypeMap1234 {
			yyl3694 := r.ReadMapStart()
			if yyl3694 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3694, d)
			}
		} else if yyct3694 == codecSelferValueTypeArray1234 {
			yyl3694 := r.ReadArrayStart()
			if yyl3694 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3694, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodAttachOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3695Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3695Slc
	var yyhl3695 bool = l >= 0
	for yyj3695 := 0; ; yyj3695++ {
		if yyhl3695 {
			if yyj3695 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3695Slc = r.DecodeBytes(yys3695Slc, true, true)
		yys3695 := string(yys3695Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3695 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "stdin":
			if r.TryDecodeAsNil() {
				x.Stdin = false
			} else {
				x.Stdin = bool(r.DecodeBool())
			}
		case "stdout":
			if r.TryDecodeAsNil() {
				x.Stdout = false
			} else {
				x.Stdout = bool(r.DecodeBool())
			}
		case "stderr":
			if r.TryDecodeAsNil() {
				x.Stderr = false
			} else {
				x.Stderr = bool(r.DecodeBool())
			}
		case "tty":
			if r.TryDecodeAsNil() {
				x.TTY = false
			} else {
				x.TTY = bool(r.DecodeBool())
			}
		case "container":
			if r.TryDecodeAsNil() {
				x.Container = ""
			} else {
				x.Container = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3695)
		} // end switch yys3695
	} // end for yyj3695
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodAttachOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3703 int
	var yyb3703 bool
	var yyhl3703 bool = l >= 0
	yyj3703++
	if yyhl3703 {
		yyb3703 = yyj3703 > l
	} else {
		yyb3703 = r.CheckBreak()
	}
	if yyb3703 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3703++
	if yyhl3703 {
		yyb3703 = yyj3703 > l
	} else {
		yyb3703 = r.CheckBreak()
	}
	if yyb3703 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3703++
	if yyhl3703 {
		yyb3703 = yyj3703 > l
	} else {
		yyb3703 = r.CheckBreak()
	}
	if yyb3703 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdin = false
	} else {
		x.Stdin = bool(r.DecodeBool())
	}
	yyj3703++
	if yyhl3703 {
		yyb3703 = yyj3703 > l
	} else {
		yyb3703 = r.CheckBreak()
	}
	if yyb3703 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdout = false
	} else {
		x.Stdout = bool(r.DecodeBool())
	}
	yyj3703++
	if yyhl3703 {
		yyb3703 = yyj3703 > l
	} else {
		yyb3703 = r.CheckBreak()
	}
	if yyb3703 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stderr = false
	} else {
		x.Stderr = bool(r.DecodeBool())
	}
	yyj3703++
	if yyhl3703 {
		yyb3703 = yyj3703 > l
	} else {
		yyb3703 = r.CheckBreak()
	}
	if yyb3703 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TTY = false
	} else {
		x.TTY = bool(r.DecodeBool())
	}
	yyj3703++
	if yyhl3703 {
		yyb3703 = yyj3703 > l
	} else {
		yyb3703 = r.CheckBreak()
	}
	if yyb3703 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Container = ""
	} else {
		x.Container = string(r.DecodeString())
	}
	for {
		yyj3703++
		if yyhl3703 {
			yyb3703 = yyj3703 > l
		} else {
			yyb3703 = r.CheckBreak()
		}
		if yyb3703 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3703-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodExecOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3711 := z.EncBinary()
		_ = yym3711
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3712 := !z.EncBinary()
			yy2arr3712 := z.EncBasicHandle().StructToArray
			var yyq3712 [8]bool
			_, _, _ = yysep3712, yyq3712, yy2arr3712
			const yyr3712 bool = false
			yyq3712[0] = x.Kind != ""
			yyq3712[1] = x.APIVersion != ""
			var yynn3712 int
			if yyr3712 || yy2arr3712 {
				r.EncodeArrayStart(8)
			} else {
				yynn3712 = 6
				for _, b := range yyq3712 {
					if b {
						yynn3712++
					}
				}
				r.EncodeMapStart(yynn3712)
				yynn3712 = 0
			}
			if yyr3712 || yy2arr3712 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3712[0] {
					yym3714 := z.EncBinary()
					_ = yym3714
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3712[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3715 := z.EncBinary()
					_ = yym3715
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3712 || yy2arr3712 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3712[1] {
					yym3717 := z.EncBinary()
					_ = yym3717
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3712[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3718 := z.EncBinary()
					_ = yym3718
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3712 || yy2arr3712 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3720 := z.EncBinary()
				_ = yym3720
				if false {
				} else {
					r.EncodeBool(bool(x.Stdin))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Stdin"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3721 := z.EncBinary()
				_ = yym3721
				if false {
				} else {
					r.EncodeBool(bool(x.Stdin))
				}
			}
			if yyr3712 || yy2arr3712 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3723 := z.EncBinary()
				_ = yym3723
				if false {
				} else {
					r.EncodeBool(bool(x.Stdout))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Stdout"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3724 := z.EncBinary()
				_ = yym3724
				if false {
				} else {
					r.EncodeBool(bool(x.Stdout))
				}
			}
			if yyr3712 || yy2arr3712 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3726 := z.EncBinary()
				_ = yym3726
				if false {
				} else {
					r.EncodeBool(bool(x.Stderr))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Stderr"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3727 := z.EncBinary()
				_ = yym3727
				if false {
				} else {
					r.EncodeBool(bool(x.Stderr))
				}
			}
			if yyr3712 || yy2arr3712 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3729 := z.EncBinary()
				_ = yym3729
				if false {
				} else {
					r.EncodeBool(bool(x.TTY))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("TTY"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3730 := z.EncBinary()
				_ = yym3730
				if false {
				} else {
					r.EncodeBool(bool(x.TTY))
				}
			}
			if yyr3712 || yy2arr3712 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3732 := z.EncBinary()
				_ = yym3732
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Container))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Container"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3733 := z.EncBinary()
				_ = yym3733
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Container))
				}
			}
			if yyr3712 || yy2arr3712 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Command == nil {
					r.EncodeNil()
				} else {
					yym3735 := z.EncBinary()
					_ = yym3735
					if false {
					} else {
						z.F.EncSliceStringV(x.Command, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Command"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Command == nil {
					r.EncodeNil()
				} else {
					yym3736 := z.EncBinary()
					_ = yym3736
					if false {
					} else {
						z.F.EncSliceStringV(x.Command, false, e)
					}
				}
			}
			if yyr3712 || yy2arr3712 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodExecOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3737 := z.DecBinary()
	_ = yym3737
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3738 := r.ContainerType()
		if yyct3738 == codecSelferValueTypeMap1234 {
			yyl3738 := r.ReadMapStart()
			if yyl3738 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3738, d)
			}
		} else if yyct3738 == codecSelferValueTypeArray1234 {
			yyl3738 := r.ReadArrayStart()
			if yyl3738 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3738, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodExecOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3739Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3739Slc
	var yyhl3739 bool = l >= 0
	for yyj3739 := 0; ; yyj3739++ {
		if yyhl3739 {
			if yyj3739 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3739Slc = r.DecodeBytes(yys3739Slc, true, true)
		yys3739 := string(yys3739Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3739 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "Stdin":
			if r.TryDecodeAsNil() {
				x.Stdin = false
			} else {
				x.Stdin = bool(r.DecodeBool())
			}
		case "Stdout":
			if r.TryDecodeAsNil() {
				x.Stdout = false
			} else {
				x.Stdout = bool(r.DecodeBool())
			}
		case "Stderr":
			if r.TryDecodeAsNil() {
				x.Stderr = false
			} else {
				x.Stderr = bool(r.DecodeBool())
			}
		case "TTY":
			if r.TryDecodeAsNil() {
				x.TTY = false
			} else {
				x.TTY = bool(r.DecodeBool())
			}
		case "Container":
			if r.TryDecodeAsNil() {
				x.Container = ""
			} else {
				x.Container = string(r.DecodeString())
			}
		case "Command":
			if r.TryDecodeAsNil() {
				x.Command = nil
			} else {
				yyv3747 := &x.Command
				yym3748 := z.DecBinary()
				_ = yym3748
				if false {
				} else {
					z.F.DecSliceStringX(yyv3747, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3739)
		} // end switch yys3739
	} // end for yyj3739
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodExecOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3749 int
	var yyb3749 bool
	var yyhl3749 bool = l >= 0
	yyj3749++
	if yyhl3749 {
		yyb3749 = yyj3749 > l
	} else {
		yyb3749 = r.CheckBreak()
	}
	if yyb3749 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3749++
	if yyhl3749 {
		yyb3749 = yyj3749 > l
	} else {
		yyb3749 = r.CheckBreak()
	}
	if yyb3749 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3749++
	if yyhl3749 {
		yyb3749 = yyj3749 > l
	} else {
		yyb3749 = r.CheckBreak()
	}
	if yyb3749 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdin = false
	} else {
		x.Stdin = bool(r.DecodeBool())
	}
	yyj3749++
	if yyhl3749 {
		yyb3749 = yyj3749 > l
	} else {
		yyb3749 = r.CheckBreak()
	}
	if yyb3749 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdout = false
	} else {
		x.Stdout = bool(r.DecodeBool())
	}
	yyj3749++
	if yyhl3749 {
		yyb3749 = yyj3749 > l
	} else {
		yyb3749 = r.CheckBreak()
	}
	if yyb3749 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stderr = false
	} else {
		x.Stderr = bool(r.DecodeBool())
	}
	yyj3749++
	if yyhl3749 {
		yyb3749 = yyj3749 > l
	} else {
		yyb3749 = r.CheckBreak()
	}
	if yyb3749 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TTY = false
	} else {
		x.TTY = bool(r.DecodeBool())
	}
	yyj3749++
	if yyhl3749 {
		yyb3749 = yyj3749 > l
	} else {
		yyb3749 = r.CheckBreak()
	}
	if yyb3749 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Container = ""
	} else {
		x.Container = string(r.DecodeString())
	}
	yyj3749++
	if yyhl3749 {
		yyb3749 = yyj3749 > l
	} else {
		yyb3749 = r.CheckBreak()
	}
	if yyb3749 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Command = nil
	} else {
		yyv3757 := &x.Command
		yym3758 := z.DecBinary()
		_ = yym3758
		if false {
		} else {
			z.F.DecSliceStringX(yyv3757, false, d)
		}
	}
	for {
		yyj3749++
		if yyhl3749 {
			yyb3749 = yyj3749 > l
		} else {
			yyb3749 = r.CheckBreak()
		}
		if yyb3749 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3749-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodProxyOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3759 := z.EncBinary()
		_ = yym3759
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3760 := !z.EncBinary()
			yy2arr3760 := z.EncBasicHandle().StructToArray
			var yyq3760 [3]bool
			_, _, _ = yysep3760, yyq3760, yy2arr3760
			const yyr3760 bool = false
			yyq3760[0] = x.Kind != ""
			yyq3760[1] = x.APIVersion != ""
			var yynn3760 int
			if yyr3760 || yy2arr3760 {
				r.EncodeArrayStart(3)
			} else {
				yynn3760 = 1
				for _, b := range yyq3760 {
					if b {
						yynn3760++
					}
				}
				r.EncodeMapStart(yynn3760)
				yynn3760 = 0
			}
			if yyr3760 || yy2arr3760 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3760[0] {
					yym3762 := z.EncBinary()
					_ = yym3762
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3760[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3763 := z.EncBinary()
					_ = yym3763
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3760 || yy2arr3760 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3760[1] {
					yym3765 := z.EncBinary()
					_ = yym3765
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3760[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3766 := z.EncBinary()
					_ = yym3766
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3760 || yy2arr3760 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3768 := z.EncBinary()
				_ = yym3768
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Path"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3769 := z.EncBinary()
				_ = yym3769
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr3760 || yy2arr3760 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodProxyOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3770 := z.DecBinary()
	_ = yym3770
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3771 := r.ContainerType()
		if yyct3771 == codecSelferValueTypeMap1234 {
			yyl3771 := r.ReadMapStart()
			if yyl3771 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3771, d)
			}
		} else if yyct3771 == codecSelferValueTypeArray1234 {
			yyl3771 := r.ReadArrayStart()
			if yyl3771 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3771, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodProxyOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3772Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3772Slc
	var yyhl3772 bool = l >= 0
	for yyj3772 := 0; ; yyj3772++ {
		if yyhl3772 {
			if yyj3772 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3772Slc = r.DecodeBytes(yys3772Slc, true, true)
		yys3772 := string(yys3772Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3772 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "Path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3772)
		} // end switch yys3772
	} // end for yyj3772
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodProxyOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3776 int
	var yyb3776 bool
	var yyhl3776 bool = l >= 0
	yyj3776++
	if yyhl3776 {
		yyb3776 = yyj3776 > l
	} else {
		yyb3776 = r.CheckBreak()
	}
	if yyb3776 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3776++
	if yyhl3776 {
		yyb3776 = yyj3776 > l
	} else {
		yyb3776 = r.CheckBreak()
	}
	if yyb3776 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3776++
	if yyhl3776 {
		yyb3776 = yyj3776 > l
	} else {
		yyb3776 = r.CheckBreak()
	}
	if yyb3776 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	for {
		yyj3776++
		if yyhl3776 {
			yyb3776 = yyj3776 > l
		} else {
			yyb3776 = r.CheckBreak()
		}
		if yyb3776 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3776-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeProxyOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3780 := z.EncBinary()
		_ = yym3780
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3781 := !z.EncBinary()
			yy2arr3781 := z.EncBasicHandle().StructToArray
			var yyq3781 [3]bool
			_, _, _ = yysep3781, yyq3781, yy2arr3781
			const yyr3781 bool = false
			yyq3781[0] = x.Kind != ""
			yyq3781[1] = x.APIVersion != ""
			var yynn3781 int
			if yyr3781 || yy2arr3781 {
				r.EncodeArrayStart(3)
			} else {
				yynn3781 = 1
				for _, b := range yyq3781 {
					if b {
						yynn3781++
					}
				}
				r.EncodeMapStart(yynn3781)
				yynn3781 = 0
			}
			if yyr3781 || yy2arr3781 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3781[0] {
					yym3783 := z.EncBinary()
					_ = yym3783
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3781[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3784 := z.EncBinary()
					_ = yym3784
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3781 || yy2arr3781 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3781[1] {
					yym3786 := z.EncBinary()
					_ = yym3786
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3781[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3787 := z.EncBinary()
					_ = yym3787
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3781 || yy2arr3781 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3789 := z.EncBinary()
				_ = yym3789
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Path"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3790 := z.EncBinary()
				_ = yym3790
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr3781 || yy2arr3781 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeProxyOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3791 := z.DecBinary()
	_ = yym3791
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3792 := r.ContainerType()
		if yyct3792 == codecSelferValueTypeMap1234 {
			yyl3792 := r.ReadMapStart()
			if yyl3792 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3792, d)
			}
		} else if yyct3792 == codecSelferValueTypeArray1234 {
			yyl3792 := r.ReadArrayStart()
			if yyl3792 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3792, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeProxyOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3793Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3793Slc
	var yyhl3793 bool = l >= 0
	for yyj3793 := 0; ; yyj3793++ {
		if yyhl3793 {
			if yyj3793 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3793Slc = r.DecodeBytes(yys3793Slc, true, true)
		yys3793 := string(yys3793Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3793 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "Path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3793)
		} // end switch yys3793
	} // end for yyj3793
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeProxyOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3797 int
	var yyb3797 bool
	var yyhl3797 bool = l >= 0
	yyj3797++
	if yyhl3797 {
		yyb3797 = yyj3797 > l
	} else {
		yyb3797 = r.CheckBreak()
	}
	if yyb3797 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3797++
	if yyhl3797 {
		yyb3797 = yyj3797 > l
	} else {
		yyb3797 = r.CheckBreak()
	}
	if yyb3797 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3797++
	if yyhl3797 {
		yyb3797 = yyj3797 > l
	} else {
		yyb3797 = r.CheckBreak()
	}
	if yyb3797 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	for {
		yyj3797++
		if yyhl3797 {
			yyb3797 = yyj3797 > l
		} else {
			yyb3797 = r.CheckBreak()
		}
		if yyb3797 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3797-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ServiceProxyOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3801 := z.EncBinary()
		_ = yym3801
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3802 := !z.EncBinary()
			yy2arr3802 := z.EncBasicHandle().StructToArray
			var yyq3802 [3]bool
			_, _, _ = yysep3802, yyq3802, yy2arr3802
			const yyr3802 bool = false
			yyq3802[0] = x.Kind != ""
			yyq3802[1] = x.APIVersion != ""
			var yynn3802 int
			if yyr3802 || yy2arr3802 {
				r.EncodeArrayStart(3)
			} else {
				yynn3802 = 1
				for _, b := range yyq3802 {
					if b {
						yynn3802++
					}
				}
				r.EncodeMapStart(yynn3802)
				yynn3802 = 0
			}
			if yyr3802 || yy2arr3802 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3802[0] {
					yym3804 := z.EncBinary()
					_ = yym3804
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3802[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3805 := z.EncBinary()
					_ = yym3805
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3802 || yy2arr3802 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3802[1] {
					yym3807 := z.EncBinary()
					_ = yym3807
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3802[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3808 := z.EncBinary()
					_ = yym3808
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3802 || yy2arr3802 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3810 := z.EncBinary()
				_ = yym3810
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Path"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3811 := z.EncBinary()
				_ = yym3811
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr3802 || yy2arr3802 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ServiceProxyOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3812 := z.DecBinary()
	_ = yym3812
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3813 := r.ContainerType()
		if yyct3813 == codecSelferValueTypeMap1234 {
			yyl3813 := r.ReadMapStart()
			if yyl3813 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3813, d)
			}
		} else if yyct3813 == codecSelferValueTypeArray1234 {
			yyl3813 := r.ReadArrayStart()
			if yyl3813 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3813, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceProxyOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3814Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3814Slc
	var yyhl3814 bool = l >= 0
	for yyj3814 := 0; ; yyj3814++ {
		if yyhl3814 {
			if yyj3814 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3814Slc = r.DecodeBytes(yys3814Slc, true, true)
		yys3814 := string(yys3814Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3814 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "Path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3814)
		} // end switch yys3814
	} // end for yyj3814
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ServiceProxyOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3818 int
	var yyb3818 bool
	var yyhl3818 bool = l >= 0
	yyj3818++
	if yyhl3818 {
		yyb3818 = yyj3818 > l
	} else {
		yyb3818 = r.CheckBreak()
	}
	if yyb3818 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3818++
	if yyhl3818 {
		yyb3818 = yyj3818 > l
	} else {
		yyb3818 = r.CheckBreak()
	}
	if yyb3818 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3818++
	if yyhl3818 {
		yyb3818 = yyj3818 > l
	} else {
		yyb3818 = r.CheckBreak()
	}
	if yyb3818 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	for {
		yyj3818++
		if yyhl3818 {
			yyb3818 = yyj3818 > l
		} else {
			yyb3818 = r.CheckBreak()
		}
		if yyb3818 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3818-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ObjectReference) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3822 := z.EncBinary()
		_ = yym3822
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3823 := !z.EncBinary()
			yy2arr3823 := z.EncBasicHandle().StructToArray
			var yyq3823 [7]bool
			_, _, _ = yysep3823, yyq3823, yy2arr3823
			const yyr3823 bool = false
			yyq3823[0] = x.Kind != ""
			yyq3823[1] = x.Namespace != ""
			yyq3823[2] = x.Name != ""
			yyq3823[3] = x.UID != ""
			yyq3823[4] = x.APIVersion != ""
			yyq3823[5] = x.ResourceVersion != ""
			yyq3823[6] = x.FieldPath != ""
			var yynn3823 int
			if yyr3823 || yy2arr3823 {
				r.EncodeArrayStart(7)
			} else {
				yynn3823 = 0
				for _, b := range yyq3823 {
					if b {
						yynn3823++
					}
				}
				r.EncodeMapStart(yynn3823)
				yynn3823 = 0
			}
			if yyr3823 || yy2arr3823 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3823[0] {
					yym3825 := z.EncBinary()
					_ = yym3825
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3823[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3826 := z.EncBinary()
					_ = yym3826
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3823 || yy2arr3823 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3823[1] {
					yym3828 := z.EncBinary()
					_ = yym3828
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3823[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("namespace"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3829 := z.EncBinary()
					_ = yym3829
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				}
			}
			if yyr3823 || yy2arr3823 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3823[2] {
					yym3831 := z.EncBinary()
					_ = yym3831
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3823[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3832 := z.EncBinary()
					_ = yym3832
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr3823 || yy2arr3823 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3823[3] {
					yym3834 := z.EncBinary()
					_ = yym3834
					if false {
					} else if z.HasExtensions() && z.EncExt(x.UID) {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.UID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3823[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("uid"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3835 := z.EncBinary()
					_ = yym3835
					if false {
					} else if z.HasExtensions() && z.EncExt(x.UID) {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.UID))
					}
				}
			}
			if yyr3823 || yy2arr3823 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3823[4] {
					yym3837 := z.EncBinary()
					_ = yym3837
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3823[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3838 := z.EncBinary()
					_ = yym3838
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3823 || yy2arr3823 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3823[5] {
					yym3840 := z.EncBinary()
					_ = yym3840
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3823[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resourceVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3841 := z.EncBinary()
					_ = yym3841
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				}
			}
			if yyr3823 || yy2arr3823 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3823[6] {
					yym3843 := z.EncBinary()
					_ = yym3843
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3823[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fieldPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3844 := z.EncBinary()
					_ = yym3844
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
					}
				}
			}
			if yyr3823 || yy2arr3823 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ObjectReference) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3845 := z.DecBinary()
	_ = yym3845
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3846 := r.ContainerType()
		if yyct3846 == codecSelferValueTypeMap1234 {
			yyl3846 := r.ReadMapStart()
			if yyl3846 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3846, d)
			}
		} else if yyct3846 == codecSelferValueTypeArray1234 {
			yyl3846 := r.ReadArrayStart()
			if yyl3846 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3846, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ObjectReference) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3847Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3847Slc
	var yyhl3847 bool = l >= 0
	for yyj3847 := 0; ; yyj3847++ {
		if yyhl3847 {
			if yyj3847 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3847Slc = r.DecodeBytes(yys3847Slc, true, true)
		yys3847 := string(yys3847Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3847 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "namespace":
			if r.TryDecodeAsNil() {
				x.Namespace = ""
			} else {
				x.Namespace = string(r.DecodeString())
			}
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "uid":
			if r.TryDecodeAsNil() {
				x.UID = ""
			} else {
				x.UID = pkg1_types.UID(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "resourceVersion":
			if r.TryDecodeAsNil() {
				x.ResourceVersion = ""
			} else {
				x.ResourceVersion = string(r.DecodeString())
			}
		case "fieldPath":
			if r.TryDecodeAsNil() {
				x.FieldPath = ""
			} else {
				x.FieldPath = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3847)
		} // end switch yys3847
	} // end for yyj3847
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ObjectReference) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3855 int
	var yyb3855 bool
	var yyhl3855 bool = l >= 0
	yyj3855++
	if yyhl3855 {
		yyb3855 = yyj3855 > l
	} else {
		yyb3855 = r.CheckBreak()
	}
	if yyb3855 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3855++
	if yyhl3855 {
		yyb3855 = yyj3855 > l
	} else {
		yyb3855 = r.CheckBreak()
	}
	if yyb3855 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Namespace = ""
	} else {
		x.Namespace = string(r.DecodeString())
	}
	yyj3855++
	if yyhl3855 {
		yyb3855 = yyj3855 > l
	} else {
		yyb3855 = r.CheckBreak()
	}
	if yyb3855 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj3855++
	if yyhl3855 {
		yyb3855 = yyj3855 > l
	} else {
		yyb3855 = r.CheckBreak()
	}
	if yyb3855 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.UID = ""
	} else {
		x.UID = pkg1_types.UID(r.DecodeString())
	}
	yyj3855++
	if yyhl3855 {
		yyb3855 = yyj3855 > l
	} else {
		yyb3855 = r.CheckBreak()
	}
	if yyb3855 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3855++
	if yyhl3855 {
		yyb3855 = yyj3855 > l
	} else {
		yyb3855 = r.CheckBreak()
	}
	if yyb3855 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ResourceVersion = ""
	} else {
		x.ResourceVersion = string(r.DecodeString())
	}
	yyj3855++
	if yyhl3855 {
		yyb3855 = yyj3855 > l
	} else {
		yyb3855 = r.CheckBreak()
	}
	if yyb3855 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FieldPath = ""
	} else {
		x.FieldPath = string(r.DecodeString())
	}
	for {
		yyj3855++
		if yyhl3855 {
			yyb3855 = yyj3855 > l
		} else {
			yyb3855 = r.CheckBreak()
		}
		if yyb3855 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3855-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *LocalObjectReference) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3863 := z.EncBinary()
		_ = yym3863
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3864 := !z.EncBinary()
			yy2arr3864 := z.EncBasicHandle().StructToArray
			var yyq3864 [1]bool
			_, _, _ = yysep3864, yyq3864, yy2arr3864
			const yyr3864 bool = false
			var yynn3864 int
			if yyr3864 || yy2arr3864 {
				r.EncodeArrayStart(1)
			} else {
				yynn3864 = 1
				for _, b := range yyq3864 {
					if b {
						yynn3864++
					}
				}
				r.EncodeMapStart(yynn3864)
				yynn3864 = 0
			}
			if yyr3864 || yy2arr3864 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3866 := z.EncBinary()
				_ = yym3866
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3867 := z.EncBinary()
				_ = yym3867
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr3864 || yy2arr3864 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *LocalObjectReference) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3868 := z.DecBinary()
	_ = yym3868
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3869 := r.ContainerType()
		if yyct3869 == codecSelferValueTypeMap1234 {
			yyl3869 := r.ReadMapStart()
			if yyl3869 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3869, d)
			}
		} else if yyct3869 == codecSelferValueTypeArray1234 {
			yyl3869 := r.ReadArrayStart()
			if yyl3869 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3869, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LocalObjectReference) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3870Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3870Slc
	var yyhl3870 bool = l >= 0
	for yyj3870 := 0; ; yyj3870++ {
		if yyhl3870 {
			if yyj3870 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3870Slc = r.DecodeBytes(yys3870Slc, true, true)
		yys3870 := string(yys3870Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3870 {
		case "Name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3870)
		} // end switch yys3870
	} // end for yyj3870
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *LocalObjectReference) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3872 int
	var yyb3872 bool
	var yyhl3872 bool = l >= 0
	yyj3872++
	if yyhl3872 {
		yyb3872 = yyj3872 > l
	} else {
		yyb3872 = r.CheckBreak()
	}
	if yyb3872 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	for {
		yyj3872++
		if yyhl3872 {
			yyb3872 = yyj3872 > l
		} else {
			yyb3872 = r.CheckBreak()
		}
		if yyb3872 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3872-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *SerializedReference) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3874 := z.EncBinary()
		_ = yym3874
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3875 := !z.EncBinary()
			yy2arr3875 := z.EncBasicHandle().StructToArray
			var yyq3875 [3]bool
			_, _, _ = yysep3875, yyq3875, yy2arr3875
			const yyr3875 bool = false
			yyq3875[0] = x.Kind != ""
			yyq3875[1] = x.APIVersion != ""
			yyq3875[2] = true
			var yynn3875 int
			if yyr3875 || yy2arr3875 {
				r.EncodeArrayStart(3)
			} else {
				yynn3875 = 0
				for _, b := range yyq3875 {
					if b {
						yynn3875++
					}
				}
				r.EncodeMapStart(yynn3875)
				yynn3875 = 0
			}
			if yyr3875 || yy2arr3875 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3875[0] {
					yym3877 := z.EncBinary()
					_ = yym3877
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3875[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3878 := z.EncBinary()
					_ = yym3878
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3875 || yy2arr3875 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3875[1] {
					yym3880 := z.EncBinary()
					_ = yym3880
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3875[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3881 := z.EncBinary()
					_ = yym3881
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3875 || yy2arr3875 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3875[2] {
					yy3883 := &x.Reference
					yy3883.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3875[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reference"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3884 := &x.Reference
					yy3884.CodecEncodeSelf(e)
				}
			}
			if yyr3875 || yy2arr3875 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *SerializedReference) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3885 := z.DecBinary()
	_ = yym3885
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3886 := r.ContainerType()
		if yyct3886 == codecSelferValueTypeMap1234 {
			yyl3886 := r.ReadMapStart()
			if yyl3886 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3886, d)
			}
		} else if yyct3886 == codecSelferValueTypeArray1234 {
			yyl3886 := r.ReadArrayStart()
			if yyl3886 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3886, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SerializedReference) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3887Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3887Slc
	var yyhl3887 bool = l >= 0
	for yyj3887 := 0; ; yyj3887++ {
		if yyhl3887 {
			if yyj3887 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3887Slc = r.DecodeBytes(yys3887Slc, true, true)
		yys3887 := string(yys3887Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3887 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "reference":
			if r.TryDecodeAsNil() {
				x.Reference = ObjectReference{}
			} else {
				yyv3890 := &x.Reference
				yyv3890.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3887)
		} // end switch yys3887
	} // end for yyj3887
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *SerializedReference) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3891 int
	var yyb3891 bool
	var yyhl3891 bool = l >= 0
	yyj3891++
	if yyhl3891 {
		yyb3891 = yyj3891 > l
	} else {
		yyb3891 = r.CheckBreak()
	}
	if yyb3891 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3891++
	if yyhl3891 {
		yyb3891 = yyj3891 > l
	} else {
		yyb3891 = r.CheckBreak()
	}
	if yyb3891 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3891++
	if yyhl3891 {
		yyb3891 = yyj3891 > l
	} else {
		yyb3891 = r.CheckBreak()
	}
	if yyb3891 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reference = ObjectReference{}
	} else {
		yyv3894 := &x.Reference
		yyv3894.CodecDecodeSelf(d)
	}
	for {
		yyj3891++
		if yyhl3891 {
			yyb3891 = yyj3891 > l
		} else {
			yyb3891 = r.CheckBreak()
		}
		if yyb3891 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3891-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EventSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3895 := z.EncBinary()
		_ = yym3895
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3896 := !z.EncBinary()
			yy2arr3896 := z.EncBasicHandle().StructToArray
			var yyq3896 [2]bool
			_, _, _ = yysep3896, yyq3896, yy2arr3896
			const yyr3896 bool = false
			yyq3896[0] = x.Component != ""
			yyq3896[1] = x.Host != ""
			var yynn3896 int
			if yyr3896 || yy2arr3896 {
				r.EncodeArrayStart(2)
			} else {
				yynn3896 = 0
				for _, b := range yyq3896 {
					if b {
						yynn3896++
					}
				}
				r.EncodeMapStart(yynn3896)
				yynn3896 = 0
			}
			if yyr3896 || yy2arr3896 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3896[0] {
					yym3898 := z.EncBinary()
					_ = yym3898
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Component))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3896[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("component"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3899 := z.EncBinary()
					_ = yym3899
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Component))
					}
				}
			}
			if yyr3896 || yy2arr3896 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3896[1] {
					yym3901 := z.EncBinary()
					_ = yym3901
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3896[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("host"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3902 := z.EncBinary()
					_ = yym3902
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				}
			}
			if yyr3896 || yy2arr3896 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EventSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3903 := z.DecBinary()
	_ = yym3903
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3904 := r.ContainerType()
		if yyct3904 == codecSelferValueTypeMap1234 {
			yyl3904 := r.ReadMapStart()
			if yyl3904 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3904, d)
			}
		} else if yyct3904 == codecSelferValueTypeArray1234 {
			yyl3904 := r.ReadArrayStart()
			if yyl3904 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3904, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EventSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3905Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3905Slc
	var yyhl3905 bool = l >= 0
	for yyj3905 := 0; ; yyj3905++ {
		if yyhl3905 {
			if yyj3905 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3905Slc = r.DecodeBytes(yys3905Slc, true, true)
		yys3905 := string(yys3905Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3905 {
		case "component":
			if r.TryDecodeAsNil() {
				x.Component = ""
			} else {
				x.Component = string(r.DecodeString())
			}
		case "host":
			if r.TryDecodeAsNil() {
				x.Host = ""
			} else {
				x.Host = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3905)
		} // end switch yys3905
	} // end for yyj3905
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EventSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3908 int
	var yyb3908 bool
	var yyhl3908 bool = l >= 0
	yyj3908++
	if yyhl3908 {
		yyb3908 = yyj3908 > l
	} else {
		yyb3908 = r.CheckBreak()
	}
	if yyb3908 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Component = ""
	} else {
		x.Component = string(r.DecodeString())
	}
	yyj3908++
	if yyhl3908 {
		yyb3908 = yyj3908 > l
	} else {
		yyb3908 = r.CheckBreak()
	}
	if yyb3908 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Host = ""
	} else {
		x.Host = string(r.DecodeString())
	}
	for {
		yyj3908++
		if yyhl3908 {
			yyb3908 = yyj3908 > l
		} else {
			yyb3908 = r.CheckBreak()
		}
		if yyb3908 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3908-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Event) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3911 := z.EncBinary()
		_ = yym3911
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3912 := !z.EncBinary()
			yy2arr3912 := z.EncBasicHandle().StructToArray
			var yyq3912 [11]bool
			_, _, _ = yysep3912, yyq3912, yy2arr3912
			const yyr3912 bool = false
			yyq3912[0] = x.Kind != ""
			yyq3912[1] = x.APIVersion != ""
			yyq3912[2] = true
			yyq3912[3] = true
			yyq3912[4] = x.Reason != ""
			yyq3912[5] = x.Message != ""
			yyq3912[6] = true
			yyq3912[7] = true
			yyq3912[8] = true
			yyq3912[9] = x.Count != 0
			yyq3912[10] = x.Type != ""
			var yynn3912 int
			if yyr3912 || yy2arr3912 {
				r.EncodeArrayStart(11)
			} else {
				yynn3912 = 0
				for _, b := range yyq3912 {
					if b {
						yynn3912++
					}
				}
				r.EncodeMapStart(yynn3912)
				yynn3912 = 0
			}
			if yyr3912 || yy2arr3912 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3912[0] {
					yym3914 := z.EncBinary()
					_ = yym3914
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3912[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3915 := z.EncBinary()
					_ = yym3915
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3912 || yy2arr3912 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3912[1] {
					yym3917 := z.EncBinary()
					_ = yym3917
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3912[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3918 := z.EncBinary()
					_ = yym3918
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3912 || yy2arr3912 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3912[2] {
					yy3920 := &x.ObjectMeta
					yy3920.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3912[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3921 := &x.ObjectMeta
					yy3921.CodecEncodeSelf(e)
				}
			}
			if yyr3912 || yy2arr3912 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3912[3] {
					yy3923 := &x.InvolvedObject
					yy3923.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3912[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("involvedObject"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3924 := &x.InvolvedObject
					yy3924.CodecEncodeSelf(e)
				}
			}
			if yyr3912 || yy2arr3912 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3912[4] {
					yym3926 := z.EncBinary()
					_ = yym3926
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3912[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3927 := z.EncBinary()
					_ = yym3927
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr3912 || yy2arr3912 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3912[5] {
					yym3929 := z.EncBinary()
					_ = yym3929
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3912[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3930 := z.EncBinary()
					_ = yym3930
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr3912 || yy2arr3912 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3912[6] {
					yy3932 := &x.Source
					yy3932.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3912[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("source"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3933 := &x.Source
					yy3933.CodecEncodeSelf(e)
				}
			}
			if yyr3912 || yy2arr3912 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3912[7] {
					yy3935 := &x.FirstTimestamp
					yym3936 := z.EncBinary()
					_ = yym3936
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3935) {
					} else if yym3936 {
						z.EncBinaryMarshal(yy3935)
					} else if !yym3936 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3935)
					} else {
						z.EncFallback(yy3935)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3912[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("firstTimestamp"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3937 := &x.FirstTimestamp
					yym3938 := z.EncBinary()
					_ = yym3938
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3937) {
					} else if yym3938 {
						z.EncBinaryMarshal(yy3937)
					} else if !yym3938 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3937)
					} else {
						z.EncFallback(yy3937)
					}
				}
			}
			if yyr3912 || yy2arr3912 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3912[8] {
					yy3940 := &x.LastTimestamp
					yym3941 := z.EncBinary()
					_ = yym3941
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3940) {
					} else if yym3941 {
						z.EncBinaryMarshal(yy3940)
					} else if !yym3941 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3940)
					} else {
						z.EncFallback(yy3940)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3912[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastTimestamp"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3942 := &x.LastTimestamp
					yym3943 := z.EncBinary()
					_ = yym3943
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3942) {
					} else if yym3943 {
						z.EncBinaryMarshal(yy3942)
					} else if !yym3943 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3942)
					} else {
						z.EncFallback(yy3942)
					}
				}
			}
			if yyr3912 || yy2arr3912 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3912[9] {
					yym3945 := z.EncBinary()
					_ = yym3945
					if false {
					} else {
						r.EncodeInt(int64(x.Count))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq3912[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("count"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3946 := z.EncBinary()
					_ = yym3946
					if false {
					} else {
						r.EncodeInt(int64(x.Count))
					}
				}
			}
			if yyr3912 || yy2arr3912 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3912[10] {
					yym3948 := z.EncBinary()
					_ = yym3948
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3912[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3949 := z.EncBinary()
					_ = yym3949
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				}
			}
			if yyr3912 || yy2arr3912 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Event) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3950 := z.DecBinary()
	_ = yym3950
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3951 := r.ContainerType()
		if yyct3951 == codecSelferValueTypeMap1234 {
			yyl3951 := r.ReadMapStart()
			if yyl3951 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3951, d)
			}
		} else if yyct3951 == codecSelferValueTypeArray1234 {
			yyl3951 := r.ReadArrayStart()
			if yyl3951 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3951, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Event) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3952Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3952Slc
	var yyhl3952 bool = l >= 0
	for yyj3952 := 0; ; yyj3952++ {
		if yyhl3952 {
			if yyj3952 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3952Slc = r.DecodeBytes(yys3952Slc, true, true)
		yys3952 := string(yys3952Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3952 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv3955 := &x.ObjectMeta
				yyv3955.CodecDecodeSelf(d)
			}
		case "involvedObject":
			if r.TryDecodeAsNil() {
				x.InvolvedObject = ObjectReference{}
			} else {
				yyv3956 := &x.InvolvedObject
				yyv3956.CodecDecodeSelf(d)
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		case "source":
			if r.TryDecodeAsNil() {
				x.Source = EventSource{}
			} else {
				yyv3959 := &x.Source
				yyv3959.CodecDecodeSelf(d)
			}
		case "firstTimestamp":
			if r.TryDecodeAsNil() {
				x.FirstTimestamp = pkg2_v1.Time{}
			} else {
				yyv3960 := &x.FirstTimestamp
				yym3961 := z.DecBinary()
				_ = yym3961
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3960) {
				} else if yym3961 {
					z.DecBinaryUnmarshal(yyv3960)
				} else if !yym3961 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3960)
				} else {
					z.DecFallback(yyv3960, false)
				}
			}
		case "lastTimestamp":
			if r.TryDecodeAsNil() {
				x.LastTimestamp = pkg2_v1.Time{}
			} else {
				yyv3962 := &x.LastTimestamp
				yym3963 := z.DecBinary()
				_ = yym3963
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3962) {
				} else if yym3963 {
					z.DecBinaryUnmarshal(yyv3962)
				} else if !yym3963 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3962)
				} else {
					z.DecFallback(yyv3962, false)
				}
			}
		case "count":
			if r.TryDecodeAsNil() {
				x.Count = 0
			} else {
				x.Count = int32(r.DecodeInt(32))
			}
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3952)
		} // end switch yys3952
	} // end for yyj3952
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Event) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3966 int
	var yyb3966 bool
	var yyhl3966 bool = l >= 0
	yyj3966++
	if yyhl3966 {
		yyb3966 = yyj3966 > l
	} else {
		yyb3966 = r.CheckBreak()
	}
	if yyb3966 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3966++
	if yyhl3966 {
		yyb3966 = yyj3966 > l
	} else {
		yyb3966 = r.CheckBreak()
	}
	if yyb3966 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3966++
	if yyhl3966 {
		yyb3966 = yyj3966 > l
	} else {
		yyb3966 = r.CheckBreak()
	}
	if yyb3966 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3969 := &x.ObjectMeta
		yyv3969.CodecDecodeSelf(d)
	}
	yyj3966++
	if yyhl3966 {
		yyb3966 = yyj3966 > l
	} else {
		yyb3966 = r.CheckBreak()
	}
	if yyb3966 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.InvolvedObject = ObjectReference{}
	} else {
		yyv3970 := &x.InvolvedObject
		yyv3970.CodecDecodeSelf(d)
	}
	yyj3966++
	if yyhl3966 {
		yyb3966 = yyj3966 > l
	} else {
		yyb3966 = r.CheckBreak()
	}
	if yyb3966 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj3966++
	if yyhl3966 {
		yyb3966 = yyj3966 > l
	} else {
		yyb3966 = r.CheckBreak()
	}
	if yyb3966 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj3966++
	if yyhl3966 {
		yyb3966 = yyj3966 > l
	} else {
		yyb3966 = r.CheckBreak()
	}
	if yyb3966 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Source = EventSource{}
	} else {
		yyv3973 := &x.Source
		yyv3973.CodecDecodeSelf(d)
	}
	yyj3966++
	if yyhl3966 {
		yyb3966 = yyj3966 > l
	} else {
		yyb3966 = r.CheckBreak()
	}
	if yyb3966 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FirstTimestamp = pkg2_v1.Time{}
	} else {
		yyv3974 := &x.FirstTimestamp
		yym3975 := z.DecBinary()
		_ = yym3975
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3974) {
		} else if yym3975 {
			z.DecBinaryUnmarshal(yyv3974)
		} else if !yym3975 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv3974)
		} else {
			z.DecFallback(yyv3974, false)
		}
	}
	yyj3966++
	if yyhl3966 {
		yyb3966 = yyj3966 > l
	} else {
		yyb3966 = r.CheckBreak()
	}
	if yyb3966 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTimestamp = pkg2_v1.Time{}
	} else {
		yyv3976 := &x.LastTimestamp
		yym3977 := z.DecBinary()
		_ = yym3977
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3976) {
		} else if yym3977 {
			z.DecBinaryUnmarshal(yyv3976)
		} else if !yym3977 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv3976)
		} else {
			z.DecFallback(yyv3976, false)
		}
	}
	yyj3966++
	if yyhl3966 {
		yyb3966 = yyj3966 > l
	} else {
		yyb3966 = r.CheckBreak()
	}
	if yyb3966 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Count = 0
	} else {
		x.Count = int32(r.DecodeInt(32))
	}
	yyj3966++
	if yyhl3966 {
		yyb3966 = yyj3966 > l
	} else {
		yyb3966 = r.CheckBreak()
	}
	if yyb3966 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = string(r.DecodeString())
	}
	for {
		yyj3966++
		if yyhl3966 {
			yyb3966 = yyj3966 > l
		} else {
			yyb3966 = r.CheckBreak()
		}
		if yyb3966 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3966-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EventList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3980 := z.EncBinary()
		_ = yym3980
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3981 := !z.EncBinary()
			yy2arr3981 := z.EncBasicHandle().StructToArray
			var yyq3981 [4]bool
			_, _, _ = yysep3981, yyq3981, yy2arr3981
			const yyr3981 bool = false
			yyq3981[0] = x.Kind != ""
			yyq3981[1] = x.APIVersion != ""
			yyq3981[2] = true
			var yynn3981 int
			if yyr3981 || yy2arr3981 {
				r.EncodeArrayStart(4)
			} else {
				yynn3981 = 1
				for _, b := range yyq3981 {
					if b {
						yynn3981++
					}
				}
				r.EncodeMapStart(yynn3981)
				yynn3981 = 0
			}
			if yyr3981 || yy2arr3981 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3981[0] {
					yym3983 := z.EncBinary()
					_ = yym3983
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3981[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3984 := z.EncBinary()
					_ = yym3984
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3981 || yy2arr3981 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3981[1] {
					yym3986 := z.EncBinary()
					_ = yym3986
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3981[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3987 := z.EncBinary()
					_ = yym3987
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3981 || yy2arr3981 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3981[2] {
					yy3989 := &x.ListMeta
					yym3990 := z.EncBinary()
					_ = yym3990
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3989) {
					} else {
						z.EncFallback(yy3989)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3981[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3991 := &x.ListMeta
					yym3992 := z.EncBinary()
					_ = yym3992
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3991) {
					} else {
						z.EncFallback(yy3991)
					}
				}
			}
			if yyr3981 || yy2arr3981 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3994 := z.EncBinary()
					_ = yym3994
					if false {
					} else {
						h.encSliceEvent(([]Event)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3995 := z.EncBinary()
					_ = yym3995
					if false {
					} else {
						h.encSliceEvent(([]Event)(x.Items), e)
					}
				}
			}
			if yyr3981 || yy2arr3981 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EventList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3996 := z.DecBinary()
	_ = yym3996
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3997 := r.ContainerType()
		if yyct3997 == codecSelferValueTypeMap1234 {
			yyl3997 := r.ReadMapStart()
			if yyl3997 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3997, d)
			}
		} else if yyct3997 == codecSelferValueTypeArray1234 {
			yyl3997 := r.ReadArrayStart()
			if yyl3997 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3997, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EventList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3998Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3998Slc
	var yyhl3998 bool = l >= 0
	for yyj3998 := 0; ; yyj3998++ {
		if yyhl3998 {
			if yyj3998 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3998Slc = r.DecodeBytes(yys3998Slc, true, true)
		yys3998 := string(yys3998Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3998 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_v1.ListMeta{}
			} else {
				yyv4001 := &x.ListMeta
				yym4002 := z.DecBinary()
				_ = yym4002
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4001) {
				} else {
					z.DecFallback(yyv4001, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv4003 := &x.Items
				yym4004 := z.DecBinary()
				_ = yym4004
				if false {
				} else {
					h.decSliceEvent((*[]Event)(yyv4003), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3998)
		} // end switch yys3998
	} // end for yyj3998
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EventList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4005 int
	var yyb4005 bool
	var yyhl4005 bool = l >= 0
	yyj4005++
	if yyhl4005 {
		yyb4005 = yyj4005 > l
	} else {
		yyb4005 = r.CheckBreak()
	}
	if yyb4005 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4005++
	if yyhl4005 {
		yyb4005 = yyj4005 > l
	} else {
		yyb4005 = r.CheckBreak()
	}
	if yyb4005 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4005++
	if yyhl4005 {
		yyb4005 = yyj4005 > l
	} else {
		yyb4005 = r.CheckBreak()
	}
	if yyb4005 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_v1.ListMeta{}
	} else {
		yyv4008 := &x.ListMeta
		yym4009 := z.DecBinary()
		_ = yym4009
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4008) {
		} else {
			z.DecFallback(yyv4008, false)
		}
	}
	yyj4005++
	if yyhl4005 {
		yyb4005 = yyj4005 > l
	} else {
		yyb4005 = r.CheckBreak()
	}
	if yyb4005 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv4010 := &x.Items
		yym4011 := z.DecBinary()
		_ = yym4011
		if false {
		} else {
			h.decSliceEvent((*[]Event)(yyv4010), d)
		}
	}
	for {
		yyj4005++
		if yyhl4005 {
			yyb4005 = yyj4005 > l
		} else {
			yyb4005 = r.CheckBreak()
		}
		if yyb4005 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4005-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *List) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4012 := z.EncBinary()
		_ = yym4012
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4013 := !z.EncBinary()
			yy2arr4013 := z.EncBasicHandle().StructToArray
			var yyq4013 [4]bool
			_, _, _ = yysep4013, yyq4013, yy2arr4013
			const yyr4013 bool = false
			yyq4013[0] = x.Kind != ""
			yyq4013[1] = x.APIVersion != ""
			yyq4013[2] = true
			var yynn4013 int
			if yyr4013 || yy2arr4013 {
				r.EncodeArrayStart(4)
			} else {
				yynn4013 = 1
				for _, b := range yyq4013 {
					if b {
						yynn4013++
					}
				}
				r.EncodeMapStart(yynn4013)
				yynn4013 = 0
			}
			if yyr4013 || yy2arr4013 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4013[0] {
					yym4015 := z.EncBinary()
					_ = yym4015
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4013[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4016 := z.EncBinary()
					_ = yym4016
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4013 || yy2arr4013 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4013[1] {
					yym4018 := z.EncBinary()
					_ = yym4018
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4013[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4019 := z.EncBinary()
					_ = yym4019
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4013 || yy2arr4013 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4013[2] {
					yy4021 := &x.ListMeta
					yym4022 := z.EncBinary()
					_ = yym4022
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4021) {
					} else {
						z.EncFallback(yy4021)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4013[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4023 := &x.ListMeta
					yym4024 := z.EncBinary()
					_ = yym4024
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4023) {
					} else {
						z.EncFallback(yy4023)
					}
				}
			}
			if yyr4013 || yy2arr4013 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4026 := z.EncBinary()
					_ = yym4026
					if false {
					} else {
						h.encSliceruntime_Object(([]pkg7_runtime.Object)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4027 := z.EncBinary()
					_ = yym4027
					if false {
					} else {
						h.encSliceruntime_Object(([]pkg7_runtime.Object)(x.Items), e)
					}
				}
			}
			if yyr4013 || yy2arr4013 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *List) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4028 := z.DecBinary()
	_ = yym4028
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4029 := r.ContainerType()
		if yyct4029 == codecSelferValueTypeMap1234 {
			yyl4029 := r.ReadMapStart()
			if yyl4029 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4029, d)
			}
		} else if yyct4029 == codecSelferValueTypeArray1234 {
			yyl4029 := r.ReadArrayStart()
			if yyl4029 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4029, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *List) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4030Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4030Slc
	var yyhl4030 bool = l >= 0
	for yyj4030 := 0; ; yyj4030++ {
		if yyhl4030 {
			if yyj4030 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4030Slc = r.DecodeBytes(yys4030Slc, true, true)
		yys4030 := string(yys4030Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4030 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_v1.ListMeta{}
			} else {
				yyv4033 := &x.ListMeta
				yym4034 := z.DecBinary()
				_ = yym4034
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4033) {
				} else {
					z.DecFallback(yyv4033, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv4035 := &x.Items
				yym4036 := z.DecBinary()
				_ = yym4036
				if false {
				} else {
					h.decSliceruntime_Object((*[]pkg7_runtime.Object)(yyv4035), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4030)
		} // end switch yys4030
	} // end for yyj4030
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *List) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4037 int
	var yyb4037 bool
	var yyhl4037 bool = l >= 0
	yyj4037++
	if yyhl4037 {
		yyb4037 = yyj4037 > l
	} else {
		yyb4037 = r.CheckBreak()
	}
	if yyb4037 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4037++
	if yyhl4037 {
		yyb4037 = yyj4037 > l
	} else {
		yyb4037 = r.CheckBreak()
	}
	if yyb4037 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4037++
	if yyhl4037 {
		yyb4037 = yyj4037 > l
	} else {
		yyb4037 = r.CheckBreak()
	}
	if yyb4037 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_v1.ListMeta{}
	} else {
		yyv4040 := &x.ListMeta
		yym4041 := z.DecBinary()
		_ = yym4041
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4040) {
		} else {
			z.DecFallback(yyv4040, false)
		}
	}
	yyj4037++
	if yyhl4037 {
		yyb4037 = yyj4037 > l
	} else {
		yyb4037 = r.CheckBreak()
	}
	if yyb4037 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv4042 := &x.Items
		yym4043 := z.DecBinary()
		_ = yym4043
		if false {
		} else {
			h.decSliceruntime_Object((*[]pkg7_runtime.Object)(yyv4042), d)
		}
	}
	for {
		yyj4037++
		if yyhl4037 {
			yyb4037 = yyj4037 > l
		} else {
			yyb4037 = r.CheckBreak()
		}
		if yyb4037 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4037-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x LimitType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym4044 := z.EncBinary()
	_ = yym4044
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *LimitType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4045 := z.DecBinary()
	_ = yym4045
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *LimitRangeItem) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4046 := z.EncBinary()
		_ = yym4046
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4047 := !z.EncBinary()
			yy2arr4047 := z.EncBasicHandle().StructToArray
			var yyq4047 [6]bool
			_, _, _ = yysep4047, yyq4047, yy2arr4047
			const yyr4047 bool = false
			yyq4047[0] = x.Type != ""
			yyq4047[1] = len(x.Max) != 0
			yyq4047[2] = len(x.Min) != 0
			yyq4047[3] = len(x.Default) != 0
			yyq4047[4] = len(x.DefaultRequest) != 0
			yyq4047[5] = len(x.MaxLimitRequestRatio) != 0
			var yynn4047 int
			if yyr4047 || yy2arr4047 {
				r.EncodeArrayStart(6)
			} else {
				yynn4047 = 0
				for _, b := range yyq4047 {
					if b {
						yynn4047++
					}
				}
				r.EncodeMapStart(yynn4047)
				yynn4047 = 0
			}
			if yyr4047 || yy2arr4047 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4047[0] {
					x.Type.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4047[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Type.CodecEncodeSelf(e)
				}
			}
			if yyr4047 || yy2arr4047 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4047[1] {
					if x.Max == nil {
						r.EncodeNil()
					} else {
						x.Max.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4047[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("max"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Max == nil {
						r.EncodeNil()
					} else {
						x.Max.CodecEncodeSelf(e)
					}
				}
			}
			if yyr4047 || yy2arr4047 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4047[2] {
					if x.Min == nil {
						r.EncodeNil()
					} else {
						x.Min.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4047[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("min"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Min == nil {
						r.EncodeNil()
					} else {
						x.Min.CodecEncodeSelf(e)
					}
				}
			}
			if yyr4047 || yy2arr4047 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4047[3] {
					if x.Default == nil {
						r.EncodeNil()
					} else {
						x.Default.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4047[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("default"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Default == nil {
						r.EncodeNil()
					} else {
						x.Default.CodecEncodeSelf(e)
					}
				}
			}
			if yyr4047 || yy2arr4047 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4047[4] {
					if x.DefaultRequest == nil {
						r.EncodeNil()
					} else {
						x.DefaultRequest.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4047[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("defaultRequest"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DefaultRequest == nil {
						r.EncodeNil()
					} else {
						x.DefaultRequest.CodecEncodeSelf(e)
					}
				}
			}
			if yyr4047 || yy2arr4047 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4047[5] {
					if x.MaxLimitRequestRatio == nil {
						r.EncodeNil()
					} else {
						x.MaxLimitRequestRatio.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4047[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("maxLimitRequestRatio"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.MaxLimitRequestRatio == nil {
						r.EncodeNil()
					} else {
						x.MaxLimitRequestRatio.CodecEncodeSelf(e)
					}
				}
			}
			if yyr4047 || yy2arr4047 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *LimitRangeItem) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4054 := z.DecBinary()
	_ = yym4054
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4055 := r.ContainerType()
		if yyct4055 == codecSelferValueTypeMap1234 {
			yyl4055 := r.ReadMapStart()
			if yyl4055 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4055, d)
			}
		} else if yyct4055 == codecSelferValueTypeArray1234 {
			yyl4055 := r.ReadArrayStart()
			if yyl4055 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4055, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LimitRangeItem) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4056Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4056Slc
	var yyhl4056 bool = l >= 0
	for yyj4056 := 0; ; yyj4056++ {
		if yyhl4056 {
			if yyj4056 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4056Slc = r.DecodeBytes(yys4056Slc, true, true)
		yys4056 := string(yys4056Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4056 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = LimitType(r.DecodeString())
			}
		case "max":
			if r.TryDecodeAsNil() {
				x.Max = nil
			} else {
				yyv4058 := &x.Max
				yyv4058.CodecDecodeSelf(d)
			}
		case "min":
			if r.TryDecodeAsNil() {
				x.Min = nil
			} else {
				yyv4059 := &x.Min
				yyv4059.CodecDecodeSelf(d)
			}
		case "default":
			if r.TryDecodeAsNil() {
				x.Default = nil
			} else {
				yyv4060 := &x.Default
				yyv4060.CodecDecodeSelf(d)
			}
		case "defaultRequest":
			if r.TryDecodeAsNil() {
				x.DefaultRequest = nil
			} else {
				yyv4061 := &x.DefaultRequest
				yyv4061.CodecDecodeSelf(d)
			}
		case "maxLimitRequestRatio":
			if r.TryDecodeAsNil() {
				x.MaxLimitRequestRatio = nil
			} else {
				yyv4062 := &x.MaxLimitRequestRatio
				yyv4062.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys4056)
		} // end switch yys4056
	} // end for yyj4056
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *LimitRangeItem) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4063 int
	var yyb4063 bool
	var yyhl4063 bool = l >= 0
	yyj4063++
	if yyhl4063 {
		yyb4063 = yyj4063 > l
	} else {
		yyb4063 = r.CheckBreak()
	}
	if yyb4063 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = LimitType(r.DecodeString())
	}
	yyj4063++
	if yyhl4063 {
		yyb4063 = yyj4063 > l
	} else {
		yyb4063 = r.CheckBreak()
	}
	if yyb4063 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Max = nil
	} else {
		yyv4065 := &x.Max
		yyv4065.CodecDecodeSelf(d)
	}
	yyj4063++
	if yyhl4063 {
		yyb4063 = yyj4063 > l
	} else {
		yyb4063 = r.CheckBreak()
	}
	if yyb4063 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Min = nil
	} else {
		yyv4066 := &x.Min
		yyv4066.CodecDecodeSelf(d)
	}
	yyj4063++
	if yyhl4063 {
		yyb4063 = yyj4063 > l
	} else {
		yyb4063 = r.CheckBreak()
	}
	if yyb4063 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Default = nil
	} else {
		yyv4067 := &x.Default
		yyv4067.CodecDecodeSelf(d)
	}
	yyj4063++
	if yyhl4063 {
		yyb4063 = yyj4063 > l
	} else {
		yyb4063 = r.CheckBreak()
	}
	if yyb4063 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DefaultRequest = nil
	} else {
		yyv4068 := &x.DefaultRequest
		yyv4068.CodecDecodeSelf(d)
	}
	yyj4063++
	if yyhl4063 {
		yyb4063 = yyj4063 > l
	} else {
		yyb4063 = r.CheckBreak()
	}
	if yyb4063 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.MaxLimitRequestRatio = nil
	} else {
		yyv4069 := &x.MaxLimitRequestRatio
		yyv4069.CodecDecodeSelf(d)
	}
	for {
		yyj4063++
		if yyhl4063 {
			yyb4063 = yyj4063 > l
		} else {
			yyb4063 = r.CheckBreak()
		}
		if yyb4063 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4063-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *LimitRangeSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4070 := z.EncBinary()
		_ = yym4070
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4071 := !z.EncBinary()
			yy2arr4071 := z.EncBasicHandle().StructToArray
			var yyq4071 [1]bool
			_, _, _ = yysep4071, yyq4071, yy2arr4071
			const yyr4071 bool = false
			var yynn4071 int
			if yyr4071 || yy2arr4071 {
				r.EncodeArrayStart(1)
			} else {
				yynn4071 = 1
				for _, b := range yyq4071 {
					if b {
						yynn4071++
					}
				}
				r.EncodeMapStart(yynn4071)
				yynn4071 = 0
			}
			if yyr4071 || yy2arr4071 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Limits == nil {
					r.EncodeNil()
				} else {
					yym4073 := z.EncBinary()
					_ = yym4073
					if false {
					} else {
						h.encSliceLimitRangeItem(([]LimitRangeItem)(x.Limits), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("limits"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Limits == nil {
					r.EncodeNil()
				} else {
					yym4074 := z.EncBinary()
					_ = yym4074
					if false {
					} else {
						h.encSliceLimitRangeItem(([]LimitRangeItem)(x.Limits), e)
					}
				}
			}
			if yyr4071 || yy2arr4071 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *LimitRangeSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4075 := z.DecBinary()
	_ = yym4075
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4076 := r.ContainerType()
		if yyct4076 == codecSelferValueTypeMap1234 {
			yyl4076 := r.ReadMapStart()
			if yyl4076 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4076, d)
			}
		} else if yyct4076 == codecSelferValueTypeArray1234 {
			yyl4076 := r.ReadArrayStart()
			if yyl4076 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4076, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LimitRangeSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4077Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4077Slc
	var yyhl4077 bool = l >= 0
	for yyj4077 := 0; ; yyj4077++ {
		if yyhl4077 {
			if yyj4077 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4077Slc = r.DecodeBytes(yys4077Slc, true, true)
		yys4077 := string(yys4077Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4077 {
		case "limits":
			if r.TryDecodeAsNil() {
				x.Limits = nil
			} else {
				yyv4078 := &x.Limits
				yym4079 := z.DecBinary()
				_ = yym4079
				if false {
				} else {
					h.decSliceLimitRangeItem((*[]LimitRangeItem)(yyv4078), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4077)
		} // end switch yys4077
	} // end for yyj4077
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *LimitRangeSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4080 int
	var yyb4080 bool
	var yyhl4080 bool = l >= 0
	yyj4080++
	if yyhl4080 {
		yyb4080 = yyj4080 > l
	} else {
		yyb4080 = r.CheckBreak()
	}
	if yyb4080 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Limits = nil
	} else {
		yyv4081 := &x.Limits
		yym4082 := z.DecBinary()
		_ = yym4082
		if false {
		} else {
			h.decSliceLimitRangeItem((*[]LimitRangeItem)(yyv4081), d)
		}
	}
	for {
		yyj4080++
		if yyhl4080 {
			yyb4080 = yyj4080 > l
		} else {
			yyb4080 = r.CheckBreak()
		}
		if yyb4080 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4080-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *LimitRange) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4083 := z.EncBinary()
		_ = yym4083
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4084 := !z.EncBinary()
			yy2arr4084 := z.EncBasicHandle().StructToArray
			var yyq4084 [4]bool
			_, _, _ = yysep4084, yyq4084, yy2arr4084
			const yyr4084 bool = false
			yyq4084[0] = x.Kind != ""
			yyq4084[1] = x.APIVersion != ""
			yyq4084[2] = true
			yyq4084[3] = true
			var yynn4084 int
			if yyr4084 || yy2arr4084 {
				r.EncodeArrayStart(4)
			} else {
				yynn4084 = 0
				for _, b := range yyq4084 {
					if b {
						yynn4084++
					}
				}
				r.EncodeMapStart(yynn4084)
				yynn4084 = 0
			}
			if yyr4084 || yy2arr4084 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4084[0] {
					yym4086 := z.EncBinary()
					_ = yym4086
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4084[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4087 := z.EncBinary()
					_ = yym4087
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4084 || yy2arr4084 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4084[1] {
					yym4089 := z.EncBinary()
					_ = yym4089
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4084[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4090 := z.EncBinary()
					_ = yym4090
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4084 || yy2arr4084 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4084[2] {
					yy4092 := &x.ObjectMeta
					yy4092.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4084[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4093 := &x.ObjectMeta
					yy4093.CodecEncodeSelf(e)
				}
			}
			if yyr4084 || yy2arr4084 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4084[3] {
					yy4095 := &x.Spec
					yy4095.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4084[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4096 := &x.Spec
					yy4096.CodecEncodeSelf(e)
				}
			}
			if yyr4084 || yy2arr4084 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *LimitRange) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4097 := z.DecBinary()
	_ = yym4097
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4098 := r.ContainerType()
		if yyct4098 == codecSelferValueTypeMap1234 {
			yyl4098 := r.ReadMapStart()
			if yyl4098 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4098, d)
			}
		} else if yyct4098 == codecSelferValueTypeArray1234 {
			yyl4098 := r.ReadArrayStart()
			if yyl4098 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4098, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LimitRange) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4099Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4099Slc
	var yyhl4099 bool = l >= 0
	for yyj4099 := 0; ; yyj4099++ {
		if yyhl4099 {
			if yyj4099 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4099Slc = r.DecodeBytes(yys4099Slc, true, true)
		yys4099 := string(yys4099Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4099 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv4102 := &x.ObjectMeta
				yyv4102.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = LimitRangeSpec{}
			} else {
				yyv4103 := &x.Spec
				yyv4103.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys4099)
		} // end switch yys4099
	} // end for yyj4099
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *LimitRange) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4104 int
	var yyb4104 bool
	var yyhl4104 bool = l >= 0
	yyj4104++
	if yyhl4104 {
		yyb4104 = yyj4104 > l
	} else {
		yyb4104 = r.CheckBreak()
	}
	if yyb4104 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4104++
	if yyhl4104 {
		yyb4104 = yyj4104 > l
	} else {
		yyb4104 = r.CheckBreak()
	}
	if yyb4104 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4104++
	if yyhl4104 {
		yyb4104 = yyj4104 > l
	} else {
		yyb4104 = r.CheckBreak()
	}
	if yyb4104 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv4107 := &x.ObjectMeta
		yyv4107.CodecDecodeSelf(d)
	}
	yyj4104++
	if yyhl4104 {
		yyb4104 = yyj4104 > l
	} else {
		yyb4104 = r.CheckBreak()
	}
	if yyb4104 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = LimitRangeSpec{}
	} else {
		yyv4108 := &x.Spec
		yyv4108.CodecDecodeSelf(d)
	}
	for {
		yyj4104++
		if yyhl4104 {
			yyb4104 = yyj4104 > l
		} else {
			yyb4104 = r.CheckBreak()
		}
		if yyb4104 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4104-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *LimitRangeList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4109 := z.EncBinary()
		_ = yym4109
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4110 := !z.EncBinary()
			yy2arr4110 := z.EncBasicHandle().StructToArray
			var yyq4110 [4]bool
			_, _, _ = yysep4110, yyq4110, yy2arr4110
			const yyr4110 bool = false
			yyq4110[0] = x.Kind != ""
			yyq4110[1] = x.APIVersion != ""
			yyq4110[2] = true
			var yynn4110 int
			if yyr4110 || yy2arr4110 {
				r.EncodeArrayStart(4)
			} else {
				yynn4110 = 1
				for _, b := range yyq4110 {
					if b {
						yynn4110++
					}
				}
				r.EncodeMapStart(yynn4110)
				yynn4110 = 0
			}
			if yyr4110 || yy2arr4110 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4110[0] {
					yym4112 := z.EncBinary()
					_ = yym4112
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4110[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4113 := z.EncBinary()
					_ = yym4113
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4110 || yy2arr4110 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4110[1] {
					yym4115 := z.EncBinary()
					_ = yym4115
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4110[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4116 := z.EncBinary()
					_ = yym4116
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4110 || yy2arr4110 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4110[2] {
					yy4118 := &x.ListMeta
					yym4119 := z.EncBinary()
					_ = yym4119
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4118) {
					} else {
						z.EncFallback(yy4118)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4110[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4120 := &x.ListMeta
					yym4121 := z.EncBinary()
					_ = yym4121
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4120) {
					} else {
						z.EncFallback(yy4120)
					}
				}
			}
			if yyr4110 || yy2arr4110 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4123 := z.EncBinary()
					_ = yym4123
					if false {
					} else {
						h.encSliceLimitRange(([]LimitRange)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4124 := z.EncBinary()
					_ = yym4124
					if false {
					} else {
						h.encSliceLimitRange(([]LimitRange)(x.Items), e)
					}
				}
			}
			if yyr4110 || yy2arr4110 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *LimitRangeList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4125 := z.DecBinary()
	_ = yym4125
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4126 := r.ContainerType()
		if yyct4126 == codecSelferValueTypeMap1234 {
			yyl4126 := r.ReadMapStart()
			if yyl4126 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4126, d)
			}
		} else if yyct4126 == codecSelferValueTypeArray1234 {
			yyl4126 := r.ReadArrayStart()
			if yyl4126 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4126, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LimitRangeList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4127Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4127Slc
	var yyhl4127 bool = l >= 0
	for yyj4127 := 0; ; yyj4127++ {
		if yyhl4127 {
			if yyj4127 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4127Slc = r.DecodeBytes(yys4127Slc, true, true)
		yys4127 := string(yys4127Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4127 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_v1.ListMeta{}
			} else {
				yyv4130 := &x.ListMeta
				yym4131 := z.DecBinary()
				_ = yym4131
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4130) {
				} else {
					z.DecFallback(yyv4130, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv4132 := &x.Items
				yym4133 := z.DecBinary()
				_ = yym4133
				if false {
				} else {
					h.decSliceLimitRange((*[]LimitRange)(yyv4132), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4127)
		} // end switch yys4127
	} // end for yyj4127
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *LimitRangeList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4134 int
	var yyb4134 bool
	var yyhl4134 bool = l >= 0
	yyj4134++
	if yyhl4134 {
		yyb4134 = yyj4134 > l
	} else {
		yyb4134 = r.CheckBreak()
	}
	if yyb4134 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4134++
	if yyhl4134 {
		yyb4134 = yyj4134 > l
	} else {
		yyb4134 = r.CheckBreak()
	}
	if yyb4134 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4134++
	if yyhl4134 {
		yyb4134 = yyj4134 > l
	} else {
		yyb4134 = r.CheckBreak()
	}
	if yyb4134 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_v1.ListMeta{}
	} else {
		yyv4137 := &x.ListMeta
		yym4138 := z.DecBinary()
		_ = yym4138
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4137) {
		} else {
			z.DecFallback(yyv4137, false)
		}
	}
	yyj4134++
	if yyhl4134 {
		yyb4134 = yyj4134 > l
	} else {
		yyb4134 = r.CheckBreak()
	}
	if yyb4134 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv4139 := &x.Items
		yym4140 := z.DecBinary()
		_ = yym4140
		if false {
		} else {
			h.decSliceLimitRange((*[]LimitRange)(yyv4139), d)
		}
	}
	for {
		yyj4134++
		if yyhl4134 {
			yyb4134 = yyj4134 > l
		} else {
			yyb4134 = r.CheckBreak()
		}
		if yyb4134 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4134-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x ResourceQuotaScope) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym4141 := z.EncBinary()
	_ = yym4141
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ResourceQuotaScope) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4142 := z.DecBinary()
	_ = yym4142
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *ResourceQuotaSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4143 := z.EncBinary()
		_ = yym4143
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4144 := !z.EncBinary()
			yy2arr4144 := z.EncBasicHandle().StructToArray
			var yyq4144 [2]bool
			_, _, _ = yysep4144, yyq4144, yy2arr4144
			const yyr4144 bool = false
			yyq4144[0] = len(x.Hard) != 0
			yyq4144[1] = len(x.Scopes) != 0
			var yynn4144 int
			if yyr4144 || yy2arr4144 {
				r.EncodeArrayStart(2)
			} else {
				yynn4144 = 0
				for _, b := range yyq4144 {
					if b {
						yynn4144++
					}
				}
				r.EncodeMapStart(yynn4144)
				yynn4144 = 0
			}
			if yyr4144 || yy2arr4144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4144[0] {
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4144[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hard"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				}
			}
			if yyr4144 || yy2arr4144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4144[1] {
					if x.Scopes == nil {
						r.EncodeNil()
					} else {
						yym4147 := z.EncBinary()
						_ = yym4147
						if false {
						} else {
							h.encSliceResourceQuotaScope(([]ResourceQuotaScope)(x.Scopes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4144[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("scopes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Scopes == nil {
						r.EncodeNil()
					} else {
						yym4148 := z.EncBinary()
						_ = yym4148
						if false {
						} else {
							h.encSliceResourceQuotaScope(([]ResourceQuotaScope)(x.Scopes), e)
						}
					}
				}
			}
			if yyr4144 || yy2arr4144 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ResourceQuotaSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4149 := z.DecBinary()
	_ = yym4149
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4150 := r.ContainerType()
		if yyct4150 == codecSelferValueTypeMap1234 {
			yyl4150 := r.ReadMapStart()
			if yyl4150 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4150, d)
			}
		} else if yyct4150 == codecSelferValueTypeArray1234 {
			yyl4150 := r.ReadArrayStart()
			if yyl4150 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4150, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceQuotaSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4151Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4151Slc
	var yyhl4151 bool = l >= 0
	for yyj4151 := 0; ; yyj4151++ {
		if yyhl4151 {
			if yyj4151 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4151Slc = r.DecodeBytes(yys4151Slc, true, true)
		yys4151 := string(yys4151Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4151 {
		case "hard":
			if r.TryDecodeAsNil() {
				x.Hard = nil
			} else {
				yyv4152 := &x.Hard
				yyv4152.CodecDecodeSelf(d)
			}
		case "scopes":
			if r.TryDecodeAsNil() {
				x.Scopes = nil
			} else {
				yyv4153 := &x.Scopes
				yym4154 := z.DecBinary()
				_ = yym4154
				if false {
				} else {
					h.decSliceResourceQuotaScope((*[]ResourceQuotaScope)(yyv4153), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4151)
		} // end switch yys4151
	} // end for yyj4151
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ResourceQuotaSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4155 int
	var yyb4155 bool
	var yyhl4155 bool = l >= 0
	yyj4155++
	if yyhl4155 {
		yyb4155 = yyj4155 > l
	} else {
		yyb4155 = r.CheckBreak()
	}
	if yyb4155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Hard = nil
	} else {
		yyv4156 := &x.Hard
		yyv4156.CodecDecodeSelf(d)
	}
	yyj4155++
	if yyhl4155 {
		yyb4155 = yyj4155 > l
	} else {
		yyb4155 = r.CheckBreak()
	}
	if yyb4155 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Scopes = nil
	} else {
		yyv4157 := &x.Scopes
		yym4158 := z.DecBinary()
		_ = yym4158
		if false {
		} else {
			h.decSliceResourceQuotaScope((*[]ResourceQuotaScope)(yyv4157), d)
		}
	}
	for {
		yyj4155++
		if yyhl4155 {
			yyb4155 = yyj4155 > l
		} else {
			yyb4155 = r.CheckBreak()
		}
		if yyb4155 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4155-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ResourceQuotaStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4159 := z.EncBinary()
		_ = yym4159
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4160 := !z.EncBinary()
			yy2arr4160 := z.EncBasicHandle().StructToArray
			var yyq4160 [2]bool
			_, _, _ = yysep4160, yyq4160, yy2arr4160
			const yyr4160 bool = false
			yyq4160[0] = len(x.Hard) != 0
			yyq4160[1] = len(x.Used) != 0
			var yynn4160 int
			if yyr4160 || yy2arr4160 {
				r.EncodeArrayStart(2)
			} else {
				yynn4160 = 0
				for _, b := range yyq4160 {
					if b {
						yynn4160++
					}
				}
				r.EncodeMapStart(yynn4160)
				yynn4160 = 0
			}
			if yyr4160 || yy2arr4160 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4160[0] {
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4160[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hard"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				}
			}
			if yyr4160 || yy2arr4160 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4160[1] {
					if x.Used == nil {
						r.EncodeNil()
					} else {
						x.Used.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4160[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("used"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Used == nil {
						r.EncodeNil()
					} else {
						x.Used.CodecEncodeSelf(e)
					}
				}
			}
			if yyr4160 || yy2arr4160 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ResourceQuotaStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4163 := z.DecBinary()
	_ = yym4163
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4164 := r.ContainerType()
		if yyct4164 == codecSelferValueTypeMap1234 {
			yyl4164 := r.ReadMapStart()
			if yyl4164 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4164, d)
			}
		} else if yyct4164 == codecSelferValueTypeArray1234 {
			yyl4164 := r.ReadArrayStart()
			if yyl4164 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4164, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceQuotaStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4165Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4165Slc
	var yyhl4165 bool = l >= 0
	for yyj4165 := 0; ; yyj4165++ {
		if yyhl4165 {
			if yyj4165 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4165Slc = r.DecodeBytes(yys4165Slc, true, true)
		yys4165 := string(yys4165Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4165 {
		case "hard":
			if r.TryDecodeAsNil() {
				x.Hard = nil
			} else {
				yyv4166 := &x.Hard
				yyv4166.CodecDecodeSelf(d)
			}
		case "used":
			if r.TryDecodeAsNil() {
				x.Used = nil
			} else {
				yyv4167 := &x.Used
				yyv4167.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys4165)
		} // end switch yys4165
	} // end for yyj4165
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ResourceQuotaStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4168 int
	var yyb4168 bool
	var yyhl4168 bool = l >= 0
	yyj4168++
	if yyhl4168 {
		yyb4168 = yyj4168 > l
	} else {
		yyb4168 = r.CheckBreak()
	}
	if yyb4168 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Hard = nil
	} else {
		yyv4169 := &x.Hard
		yyv4169.CodecDecodeSelf(d)
	}
	yyj4168++
	if yyhl4168 {
		yyb4168 = yyj4168 > l
	} else {
		yyb4168 = r.CheckBreak()
	}
	if yyb4168 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Used = nil
	} else {
		yyv4170 := &x.Used
		yyv4170.CodecDecodeSelf(d)
	}
	for {
		yyj4168++
		if yyhl4168 {
			yyb4168 = yyj4168 > l
		} else {
			yyb4168 = r.CheckBreak()
		}
		if yyb4168 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4168-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ResourceQuota) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4171 := z.EncBinary()
		_ = yym4171
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4172 := !z.EncBinary()
			yy2arr4172 := z.EncBasicHandle().StructToArray
			var yyq4172 [5]bool
			_, _, _ = yysep4172, yyq4172, yy2arr4172
			const yyr4172 bool = false
			yyq4172[0] = x.Kind != ""
			yyq4172[1] = x.APIVersion != ""
			yyq4172[2] = true
			yyq4172[3] = true
			yyq4172[4] = true
			var yynn4172 int
			if yyr4172 || yy2arr4172 {
				r.EncodeArrayStart(5)
			} else {
				yynn4172 = 0
				for _, b := range yyq4172 {
					if b {
						yynn4172++
					}
				}
				r.EncodeMapStart(yynn4172)
				yynn4172 = 0
			}
			if yyr4172 || yy2arr4172 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4172[0] {
					yym4174 := z.EncBinary()
					_ = yym4174
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4172[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4175 := z.EncBinary()
					_ = yym4175
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4172 || yy2arr4172 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4172[1] {
					yym4177 := z.EncBinary()
					_ = yym4177
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4172[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4178 := z.EncBinary()
					_ = yym4178
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4172 || yy2arr4172 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4172[2] {
					yy4180 := &x.ObjectMeta
					yy4180.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4172[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4181 := &x.ObjectMeta
					yy4181.CodecEncodeSelf(e)
				}
			}
			if yyr4172 || yy2arr4172 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4172[3] {
					yy4183 := &x.Spec
					yy4183.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4172[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4184 := &x.Spec
					yy4184.CodecEncodeSelf(e)
				}
			}
			if yyr4172 || yy2arr4172 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4172[4] {
					yy4186 := &x.Status
					yy4186.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4172[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4187 := &x.Status
					yy4187.CodecEncodeSelf(e)
				}
			}
			if yyr4172 || yy2arr4172 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ResourceQuota) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4188 := z.DecBinary()
	_ = yym4188
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4189 := r.ContainerType()
		if yyct4189 == codecSelferValueTypeMap1234 {
			yyl4189 := r.ReadMapStart()
			if yyl4189 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4189, d)
			}
		} else if yyct4189 == codecSelferValueTypeArray1234 {
			yyl4189 := r.ReadArrayStart()
			if yyl4189 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4189, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceQuota) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4190Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4190Slc
	var yyhl4190 bool = l >= 0
	for yyj4190 := 0; ; yyj4190++ {
		if yyhl4190 {
			if yyj4190 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4190Slc = r.DecodeBytes(yys4190Slc, true, true)
		yys4190 := string(yys4190Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4190 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv4193 := &x.ObjectMeta
				yyv4193.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = ResourceQuotaSpec{}
			} else {
				yyv4194 := &x.Spec
				yyv4194.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ResourceQuotaStatus{}
			} else {
				yyv4195 := &x.Status
				yyv4195.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys4190)
		} // end switch yys4190
	} // end for yyj4190
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ResourceQuota) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4196 int
	var yyb4196 bool
	var yyhl4196 bool = l >= 0
	yyj4196++
	if yyhl4196 {
		yyb4196 = yyj4196 > l
	} else {
		yyb4196 = r.CheckBreak()
	}
	if yyb4196 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4196++
	if yyhl4196 {
		yyb4196 = yyj4196 > l
	} else {
		yyb4196 = r.CheckBreak()
	}
	if yyb4196 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4196++
	if yyhl4196 {
		yyb4196 = yyj4196 > l
	} else {
		yyb4196 = r.CheckBreak()
	}
	if yyb4196 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv4199 := &x.ObjectMeta
		yyv4199.CodecDecodeSelf(d)
	}
	yyj4196++
	if yyhl4196 {
		yyb4196 = yyj4196 > l
	} else {
		yyb4196 = r.CheckBreak()
	}
	if yyb4196 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = ResourceQuotaSpec{}
	} else {
		yyv4200 := &x.Spec
		yyv4200.CodecDecodeSelf(d)
	}
	yyj4196++
	if yyhl4196 {
		yyb4196 = yyj4196 > l
	} else {
		yyb4196 = r.CheckBreak()
	}
	if yyb4196 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ResourceQuotaStatus{}
	} else {
		yyv4201 := &x.Status
		yyv4201.CodecDecodeSelf(d)
	}
	for {
		yyj4196++
		if yyhl4196 {
			yyb4196 = yyj4196 > l
		} else {
			yyb4196 = r.CheckBreak()
		}
		if yyb4196 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4196-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ResourceQuotaList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4202 := z.EncBinary()
		_ = yym4202
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4203 := !z.EncBinary()
			yy2arr4203 := z.EncBasicHandle().StructToArray
			var yyq4203 [4]bool
			_, _, _ = yysep4203, yyq4203, yy2arr4203
			const yyr4203 bool = false
			yyq4203[0] = x.Kind != ""
			yyq4203[1] = x.APIVersion != ""
			yyq4203[2] = true
			var yynn4203 int
			if yyr4203 || yy2arr4203 {
				r.EncodeArrayStart(4)
			} else {
				yynn4203 = 1
				for _, b := range yyq4203 {
					if b {
						yynn4203++
					}
				}
				r.EncodeMapStart(yynn4203)
				yynn4203 = 0
			}
			if yyr4203 || yy2arr4203 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4203[0] {
					yym4205 := z.EncBinary()
					_ = yym4205
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4203[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4206 := z.EncBinary()
					_ = yym4206
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4203 || yy2arr4203 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4203[1] {
					yym4208 := z.EncBinary()
					_ = yym4208
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4203[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4209 := z.EncBinary()
					_ = yym4209
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4203 || yy2arr4203 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4203[2] {
					yy4211 := &x.ListMeta
					yym4212 := z.EncBinary()
					_ = yym4212
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4211) {
					} else {
						z.EncFallback(yy4211)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4203[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4213 := &x.ListMeta
					yym4214 := z.EncBinary()
					_ = yym4214
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4213) {
					} else {
						z.EncFallback(yy4213)
					}
				}
			}
			if yyr4203 || yy2arr4203 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4216 := z.EncBinary()
					_ = yym4216
					if false {
					} else {
						h.encSliceResourceQuota(([]ResourceQuota)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4217 := z.EncBinary()
					_ = yym4217
					if false {
					} else {
						h.encSliceResourceQuota(([]ResourceQuota)(x.Items), e)
					}
				}
			}
			if yyr4203 || yy2arr4203 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ResourceQuotaList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4218 := z.DecBinary()
	_ = yym4218
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4219 := r.ContainerType()
		if yyct4219 == codecSelferValueTypeMap1234 {
			yyl4219 := r.ReadMapStart()
			if yyl4219 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4219, d)
			}
		} else if yyct4219 == codecSelferValueTypeArray1234 {
			yyl4219 := r.ReadArrayStart()
			if yyl4219 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4219, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceQuotaList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4220Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4220Slc
	var yyhl4220 bool = l >= 0
	for yyj4220 := 0; ; yyj4220++ {
		if yyhl4220 {
			if yyj4220 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4220Slc = r.DecodeBytes(yys4220Slc, true, true)
		yys4220 := string(yys4220Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4220 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_v1.ListMeta{}
			} else {
				yyv4223 := &x.ListMeta
				yym4224 := z.DecBinary()
				_ = yym4224
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4223) {
				} else {
					z.DecFallback(yyv4223, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv4225 := &x.Items
				yym4226 := z.DecBinary()
				_ = yym4226
				if false {
				} else {
					h.decSliceResourceQuota((*[]ResourceQuota)(yyv4225), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4220)
		} // end switch yys4220
	} // end for yyj4220
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ResourceQuotaList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4227 int
	var yyb4227 bool
	var yyhl4227 bool = l >= 0
	yyj4227++
	if yyhl4227 {
		yyb4227 = yyj4227 > l
	} else {
		yyb4227 = r.CheckBreak()
	}
	if yyb4227 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4227++
	if yyhl4227 {
		yyb4227 = yyj4227 > l
	} else {
		yyb4227 = r.CheckBreak()
	}
	if yyb4227 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4227++
	if yyhl4227 {
		yyb4227 = yyj4227 > l
	} else {
		yyb4227 = r.CheckBreak()
	}
	if yyb4227 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_v1.ListMeta{}
	} else {
		yyv4230 := &x.ListMeta
		yym4231 := z.DecBinary()
		_ = yym4231
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4230) {
		} else {
			z.DecFallback(yyv4230, false)
		}
	}
	yyj4227++
	if yyhl4227 {
		yyb4227 = yyj4227 > l
	} else {
		yyb4227 = r.CheckBreak()
	}
	if yyb4227 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv4232 := &x.Items
		yym4233 := z.DecBinary()
		_ = yym4233
		if false {
		} else {
			h.decSliceResourceQuota((*[]ResourceQuota)(yyv4232), d)
		}
	}
	for {
		yyj4227++
		if yyhl4227 {
			yyb4227 = yyj4227 > l
		} else {
			yyb4227 = r.CheckBreak()
		}
		if yyb4227 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4227-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Secret) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4234 := z.EncBinary()
		_ = yym4234
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4235 := !z.EncBinary()
			yy2arr4235 := z.EncBasicHandle().StructToArray
			var yyq4235 [5]bool
			_, _, _ = yysep4235, yyq4235, yy2arr4235
			const yyr4235 bool = false
			yyq4235[0] = x.Kind != ""
			yyq4235[1] = x.APIVersion != ""
			yyq4235[2] = true
			yyq4235[3] = len(x.Data) != 0
			yyq4235[4] = x.Type != ""
			var yynn4235 int
			if yyr4235 || yy2arr4235 {
				r.EncodeArrayStart(5)
			} else {
				yynn4235 = 0
				for _, b := range yyq4235 {
					if b {
						yynn4235++
					}
				}
				r.EncodeMapStart(yynn4235)
				yynn4235 = 0
			}
			if yyr4235 || yy2arr4235 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4235[0] {
					yym4237 := z.EncBinary()
					_ = yym4237
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4235[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4238 := z.EncBinary()
					_ = yym4238
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4235 || yy2arr4235 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4235[1] {
					yym4240 := z.EncBinary()
					_ = yym4240
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4235[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4241 := z.EncBinary()
					_ = yym4241
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4235 || yy2arr4235 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4235[2] {
					yy4243 := &x.ObjectMeta
					yy4243.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4235[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4244 := &x.ObjectMeta
					yy4244.CodecEncodeSelf(e)
				}
			}
			if yyr4235 || yy2arr4235 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4235[3] {
					if x.Data == nil {
						r.EncodeNil()
					} else {
						yym4246 := z.EncBinary()
						_ = yym4246
						if false {
						} else {
							h.encMapstringSliceuint8((map[string][]uint8)(x.Data), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4235[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("data"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Data == nil {
						r.EncodeNil()
					} else {
						yym4247 := z.EncBinary()
						_ = yym4247
						if false {
						} else {
							h.encMapstringSliceuint8((map[string][]uint8)(x.Data), e)
						}
					}
				}
			}
			if yyr4235 || yy2arr4235 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4235[4] {
					x.Type.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4235[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Type.CodecEncodeSelf(e)
				}
			}
			if yyr4235 || yy2arr4235 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Secret) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4249 := z.DecBinary()
	_ = yym4249
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4250 := r.ContainerType()
		if yyct4250 == codecSelferValueTypeMap1234 {
			yyl4250 := r.ReadMapStart()
			if yyl4250 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4250, d)
			}
		} else if yyct4250 == codecSelferValueTypeArray1234 {
			yyl4250 := r.ReadArrayStart()
			if yyl4250 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4250, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Secret) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4251Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4251Slc
	var yyhl4251 bool = l >= 0
	for yyj4251 := 0; ; yyj4251++ {
		if yyhl4251 {
			if yyj4251 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4251Slc = r.DecodeBytes(yys4251Slc, true, true)
		yys4251 := string(yys4251Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4251 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv4254 := &x.ObjectMeta
				yyv4254.CodecDecodeSelf(d)
			}
		case "data":
			if r.TryDecodeAsNil() {
				x.Data = nil
			} else {
				yyv4255 := &x.Data
				yym4256 := z.DecBinary()
				_ = yym4256
				if false {
				} else {
					h.decMapstringSliceuint8((*map[string][]uint8)(yyv4255), d)
				}
			}
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = SecretType(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys4251)
		} // end switch yys4251
	} // end for yyj4251
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Secret) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4258 int
	var yyb4258 bool
	var yyhl4258 bool = l >= 0
	yyj4258++
	if yyhl4258 {
		yyb4258 = yyj4258 > l
	} else {
		yyb4258 = r.CheckBreak()
	}
	if yyb4258 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4258++
	if yyhl4258 {
		yyb4258 = yyj4258 > l
	} else {
		yyb4258 = r.CheckBreak()
	}
	if yyb4258 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4258++
	if yyhl4258 {
		yyb4258 = yyj4258 > l
	} else {
		yyb4258 = r.CheckBreak()
	}
	if yyb4258 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv4261 := &x.ObjectMeta
		yyv4261.CodecDecodeSelf(d)
	}
	yyj4258++
	if yyhl4258 {
		yyb4258 = yyj4258 > l
	} else {
		yyb4258 = r.CheckBreak()
	}
	if yyb4258 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Data = nil
	} else {
		yyv4262 := &x.Data
		yym4263 := z.DecBinary()
		_ = yym4263
		if false {
		} else {
			h.decMapstringSliceuint8((*map[string][]uint8)(yyv4262), d)
		}
	}
	yyj4258++
	if yyhl4258 {
		yyb4258 = yyj4258 > l
	} else {
		yyb4258 = r.CheckBreak()
	}
	if yyb4258 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = SecretType(r.DecodeString())
	}
	for {
		yyj4258++
		if yyhl4258 {
			yyb4258 = yyj4258 > l
		} else {
			yyb4258 = r.CheckBreak()
		}
		if yyb4258 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4258-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x SecretType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym4265 := z.EncBinary()
	_ = yym4265
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *SecretType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4266 := z.DecBinary()
	_ = yym4266
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *SecretList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4267 := z.EncBinary()
		_ = yym4267
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4268 := !z.EncBinary()
			yy2arr4268 := z.EncBasicHandle().StructToArray
			var yyq4268 [4]bool
			_, _, _ = yysep4268, yyq4268, yy2arr4268
			const yyr4268 bool = false
			yyq4268[0] = x.Kind != ""
			yyq4268[1] = x.APIVersion != ""
			yyq4268[2] = true
			var yynn4268 int
			if yyr4268 || yy2arr4268 {
				r.EncodeArrayStart(4)
			} else {
				yynn4268 = 1
				for _, b := range yyq4268 {
					if b {
						yynn4268++
					}
				}
				r.EncodeMapStart(yynn4268)
				yynn4268 = 0
			}
			if yyr4268 || yy2arr4268 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4268[0] {
					yym4270 := z.EncBinary()
					_ = yym4270
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4268[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4271 := z.EncBinary()
					_ = yym4271
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4268 || yy2arr4268 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4268[1] {
					yym4273 := z.EncBinary()
					_ = yym4273
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4268[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4274 := z.EncBinary()
					_ = yym4274
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4268 || yy2arr4268 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4268[2] {
					yy4276 := &x.ListMeta
					yym4277 := z.EncBinary()
					_ = yym4277
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4276) {
					} else {
						z.EncFallback(yy4276)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4268[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4278 := &x.ListMeta
					yym4279 := z.EncBinary()
					_ = yym4279
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4278) {
					} else {
						z.EncFallback(yy4278)
					}
				}
			}
			if yyr4268 || yy2arr4268 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4281 := z.EncBinary()
					_ = yym4281
					if false {
					} else {
						h.encSliceSecret(([]Secret)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4282 := z.EncBinary()
					_ = yym4282
					if false {
					} else {
						h.encSliceSecret(([]Secret)(x.Items), e)
					}
				}
			}
			if yyr4268 || yy2arr4268 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *SecretList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4283 := z.DecBinary()
	_ = yym4283
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4284 := r.ContainerType()
		if yyct4284 == codecSelferValueTypeMap1234 {
			yyl4284 := r.ReadMapStart()
			if yyl4284 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4284, d)
			}
		} else if yyct4284 == codecSelferValueTypeArray1234 {
			yyl4284 := r.ReadArrayStart()
			if yyl4284 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4284, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SecretList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4285Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4285Slc
	var yyhl4285 bool = l >= 0
	for yyj4285 := 0; ; yyj4285++ {
		if yyhl4285 {
			if yyj4285 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4285Slc = r.DecodeBytes(yys4285Slc, true, true)
		yys4285 := string(yys4285Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4285 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_v1.ListMeta{}
			} else {
				yyv4288 := &x.ListMeta
				yym4289 := z.DecBinary()
				_ = yym4289
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4288) {
				} else {
					z.DecFallback(yyv4288, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv4290 := &x.Items
				yym4291 := z.DecBinary()
				_ = yym4291
				if false {
				} else {
					h.decSliceSecret((*[]Secret)(yyv4290), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4285)
		} // end switch yys4285
	} // end for yyj4285
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *SecretList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4292 int
	var yyb4292 bool
	var yyhl4292 bool = l >= 0
	yyj4292++
	if yyhl4292 {
		yyb4292 = yyj4292 > l
	} else {
		yyb4292 = r.CheckBreak()
	}
	if yyb4292 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4292++
	if yyhl4292 {
		yyb4292 = yyj4292 > l
	} else {
		yyb4292 = r.CheckBreak()
	}
	if yyb4292 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4292++
	if yyhl4292 {
		yyb4292 = yyj4292 > l
	} else {
		yyb4292 = r.CheckBreak()
	}
	if yyb4292 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_v1.ListMeta{}
	} else {
		yyv4295 := &x.ListMeta
		yym4296 := z.DecBinary()
		_ = yym4296
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4295) {
		} else {
			z.DecFallback(yyv4295, false)
		}
	}
	yyj4292++
	if yyhl4292 {
		yyb4292 = yyj4292 > l
	} else {
		yyb4292 = r.CheckBreak()
	}
	if yyb4292 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv4297 := &x.Items
		yym4298 := z.DecBinary()
		_ = yym4298
		if false {
		} else {
			h.decSliceSecret((*[]Secret)(yyv4297), d)
		}
	}
	for {
		yyj4292++
		if yyhl4292 {
			yyb4292 = yyj4292 > l
		} else {
			yyb4292 = r.CheckBreak()
		}
		if yyb4292 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4292-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ConfigMap) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4299 := z.EncBinary()
		_ = yym4299
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4300 := !z.EncBinary()
			yy2arr4300 := z.EncBasicHandle().StructToArray
			var yyq4300 [4]bool
			_, _, _ = yysep4300, yyq4300, yy2arr4300
			const yyr4300 bool = false
			yyq4300[0] = x.Kind != ""
			yyq4300[1] = x.APIVersion != ""
			yyq4300[2] = true
			yyq4300[3] = len(x.Data) != 0
			var yynn4300 int
			if yyr4300 || yy2arr4300 {
				r.EncodeArrayStart(4)
			} else {
				yynn4300 = 0
				for _, b := range yyq4300 {
					if b {
						yynn4300++
					}
				}
				r.EncodeMapStart(yynn4300)
				yynn4300 = 0
			}
			if yyr4300 || yy2arr4300 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4300[0] {
					yym4302 := z.EncBinary()
					_ = yym4302
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4300[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4303 := z.EncBinary()
					_ = yym4303
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4300 || yy2arr4300 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4300[1] {
					yym4305 := z.EncBinary()
					_ = yym4305
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4300[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4306 := z.EncBinary()
					_ = yym4306
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4300 || yy2arr4300 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4300[2] {
					yy4308 := &x.ObjectMeta
					yy4308.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4300[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4309 := &x.ObjectMeta
					yy4309.CodecEncodeSelf(e)
				}
			}
			if yyr4300 || yy2arr4300 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4300[3] {
					if x.Data == nil {
						r.EncodeNil()
					} else {
						yym4311 := z.EncBinary()
						_ = yym4311
						if false {
						} else {
							z.F.EncMapStringStringV(x.Data, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4300[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("data"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Data == nil {
						r.EncodeNil()
					} else {
						yym4312 := z.EncBinary()
						_ = yym4312
						if false {
						} else {
							z.F.EncMapStringStringV(x.Data, false, e)
						}
					}
				}
			}
			if yyr4300 || yy2arr4300 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ConfigMap) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4313 := z.DecBinary()
	_ = yym4313
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4314 := r.ContainerType()
		if yyct4314 == codecSelferValueTypeMap1234 {
			yyl4314 := r.ReadMapStart()
			if yyl4314 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4314, d)
			}
		} else if yyct4314 == codecSelferValueTypeArray1234 {
			yyl4314 := r.ReadArrayStart()
			if yyl4314 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4314, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ConfigMap) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4315Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4315Slc
	var yyhl4315 bool = l >= 0
	for yyj4315 := 0; ; yyj4315++ {
		if yyhl4315 {
			if yyj4315 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4315Slc = r.DecodeBytes(yys4315Slc, true, true)
		yys4315 := string(yys4315Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4315 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv4318 := &x.ObjectMeta
				yyv4318.CodecDecodeSelf(d)
			}
		case "data":
			if r.TryDecodeAsNil() {
				x.Data = nil
			} else {
				yyv4319 := &x.Data
				yym4320 := z.DecBinary()
				_ = yym4320
				if false {
				} else {
					z.F.DecMapStringStringX(yyv4319, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4315)
		} // end switch yys4315
	} // end for yyj4315
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ConfigMap) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4321 int
	var yyb4321 bool
	var yyhl4321 bool = l >= 0
	yyj4321++
	if yyhl4321 {
		yyb4321 = yyj4321 > l
	} else {
		yyb4321 = r.CheckBreak()
	}
	if yyb4321 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4321++
	if yyhl4321 {
		yyb4321 = yyj4321 > l
	} else {
		yyb4321 = r.CheckBreak()
	}
	if yyb4321 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4321++
	if yyhl4321 {
		yyb4321 = yyj4321 > l
	} else {
		yyb4321 = r.CheckBreak()
	}
	if yyb4321 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv4324 := &x.ObjectMeta
		yyv4324.CodecDecodeSelf(d)
	}
	yyj4321++
	if yyhl4321 {
		yyb4321 = yyj4321 > l
	} else {
		yyb4321 = r.CheckBreak()
	}
	if yyb4321 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Data = nil
	} else {
		yyv4325 := &x.Data
		yym4326 := z.DecBinary()
		_ = yym4326
		if false {
		} else {
			z.F.DecMapStringStringX(yyv4325, false, d)
		}
	}
	for {
		yyj4321++
		if yyhl4321 {
			yyb4321 = yyj4321 > l
		} else {
			yyb4321 = r.CheckBreak()
		}
		if yyb4321 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4321-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ConfigMapList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4327 := z.EncBinary()
		_ = yym4327
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4328 := !z.EncBinary()
			yy2arr4328 := z.EncBasicHandle().StructToArray
			var yyq4328 [4]bool
			_, _, _ = yysep4328, yyq4328, yy2arr4328
			const yyr4328 bool = false
			yyq4328[0] = x.Kind != ""
			yyq4328[1] = x.APIVersion != ""
			yyq4328[2] = true
			var yynn4328 int
			if yyr4328 || yy2arr4328 {
				r.EncodeArrayStart(4)
			} else {
				yynn4328 = 1
				for _, b := range yyq4328 {
					if b {
						yynn4328++
					}
				}
				r.EncodeMapStart(yynn4328)
				yynn4328 = 0
			}
			if yyr4328 || yy2arr4328 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4328[0] {
					yym4330 := z.EncBinary()
					_ = yym4330
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4328[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4331 := z.EncBinary()
					_ = yym4331
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4328 || yy2arr4328 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4328[1] {
					yym4333 := z.EncBinary()
					_ = yym4333
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4328[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4334 := z.EncBinary()
					_ = yym4334
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4328 || yy2arr4328 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4328[2] {
					yy4336 := &x.ListMeta
					yym4337 := z.EncBinary()
					_ = yym4337
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4336) {
					} else {
						z.EncFallback(yy4336)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4328[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4338 := &x.ListMeta
					yym4339 := z.EncBinary()
					_ = yym4339
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4338) {
					} else {
						z.EncFallback(yy4338)
					}
				}
			}
			if yyr4328 || yy2arr4328 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4341 := z.EncBinary()
					_ = yym4341
					if false {
					} else {
						h.encSliceConfigMap(([]ConfigMap)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4342 := z.EncBinary()
					_ = yym4342
					if false {
					} else {
						h.encSliceConfigMap(([]ConfigMap)(x.Items), e)
					}
				}
			}
			if yyr4328 || yy2arr4328 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ConfigMapList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4343 := z.DecBinary()
	_ = yym4343
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4344 := r.ContainerType()
		if yyct4344 == codecSelferValueTypeMap1234 {
			yyl4344 := r.ReadMapStart()
			if yyl4344 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4344, d)
			}
		} else if yyct4344 == codecSelferValueTypeArray1234 {
			yyl4344 := r.ReadArrayStart()
			if yyl4344 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4344, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ConfigMapList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4345Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4345Slc
	var yyhl4345 bool = l >= 0
	for yyj4345 := 0; ; yyj4345++ {
		if yyhl4345 {
			if yyj4345 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4345Slc = r.DecodeBytes(yys4345Slc, true, true)
		yys4345 := string(yys4345Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4345 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_v1.ListMeta{}
			} else {
				yyv4348 := &x.ListMeta
				yym4349 := z.DecBinary()
				_ = yym4349
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4348) {
				} else {
					z.DecFallback(yyv4348, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv4350 := &x.Items
				yym4351 := z.DecBinary()
				_ = yym4351
				if false {
				} else {
					h.decSliceConfigMap((*[]ConfigMap)(yyv4350), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4345)
		} // end switch yys4345
	} // end for yyj4345
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ConfigMapList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4352 int
	var yyb4352 bool
	var yyhl4352 bool = l >= 0
	yyj4352++
	if yyhl4352 {
		yyb4352 = yyj4352 > l
	} else {
		yyb4352 = r.CheckBreak()
	}
	if yyb4352 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4352++
	if yyhl4352 {
		yyb4352 = yyj4352 > l
	} else {
		yyb4352 = r.CheckBreak()
	}
	if yyb4352 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4352++
	if yyhl4352 {
		yyb4352 = yyj4352 > l
	} else {
		yyb4352 = r.CheckBreak()
	}
	if yyb4352 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_v1.ListMeta{}
	} else {
		yyv4355 := &x.ListMeta
		yym4356 := z.DecBinary()
		_ = yym4356
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4355) {
		} else {
			z.DecFallback(yyv4355, false)
		}
	}
	yyj4352++
	if yyhl4352 {
		yyb4352 = yyj4352 > l
	} else {
		yyb4352 = r.CheckBreak()
	}
	if yyb4352 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv4357 := &x.Items
		yym4358 := z.DecBinary()
		_ = yym4358
		if false {
		} else {
			h.decSliceConfigMap((*[]ConfigMap)(yyv4357), d)
		}
	}
	for {
		yyj4352++
		if yyhl4352 {
			yyb4352 = yyj4352 > l
		} else {
			yyb4352 = r.CheckBreak()
		}
		if yyb4352 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4352-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PatchType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym4359 := z.EncBinary()
	_ = yym4359
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PatchType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4360 := z.DecBinary()
	_ = yym4360
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x ComponentConditionType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym4361 := z.EncBinary()
	_ = yym4361
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ComponentConditionType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4362 := z.DecBinary()
	_ = yym4362
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *ComponentCondition) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4363 := z.EncBinary()
		_ = yym4363
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4364 := !z.EncBinary()
			yy2arr4364 := z.EncBasicHandle().StructToArray
			var yyq4364 [4]bool
			_, _, _ = yysep4364, yyq4364, yy2arr4364
			const yyr4364 bool = false
			yyq4364[2] = x.Message != ""
			yyq4364[3] = x.Error != ""
			var yynn4364 int
			if yyr4364 || yy2arr4364 {
				r.EncodeArrayStart(4)
			} else {
				yynn4364 = 2
				for _, b := range yyq4364 {
					if b {
						yynn4364++
					}
				}
				r.EncodeMapStart(yynn4364)
				yynn4364 = 0
			}
			if yyr4364 || yy2arr4364 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Type.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Type.CodecEncodeSelf(e)
			}
			if yyr4364 || yy2arr4364 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Status.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("status"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Status.CodecEncodeSelf(e)
			}
			if yyr4364 || yy2arr4364 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4364[2] {
					yym4368 := z.EncBinary()
					_ = yym4368
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4364[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4369 := z.EncBinary()
					_ = yym4369
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr4364 || yy2arr4364 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4364[3] {
					yym4371 := z.EncBinary()
					_ = yym4371
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Error))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4364[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("error"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4372 := z.EncBinary()
					_ = yym4372
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Error))
					}
				}
			}
			if yyr4364 || yy2arr4364 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ComponentCondition) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4373 := z.DecBinary()
	_ = yym4373
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4374 := r.ContainerType()
		if yyct4374 == codecSelferValueTypeMap1234 {
			yyl4374 := r.ReadMapStart()
			if yyl4374 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4374, d)
			}
		} else if yyct4374 == codecSelferValueTypeArray1234 {
			yyl4374 := r.ReadArrayStart()
			if yyl4374 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4374, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ComponentCondition) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4375Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4375Slc
	var yyhl4375 bool = l >= 0
	for yyj4375 := 0; ; yyj4375++ {
		if yyhl4375 {
			if yyj4375 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4375Slc = r.DecodeBytes(yys4375Slc, true, true)
		yys4375 := string(yys4375Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4375 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = ComponentConditionType(r.DecodeString())
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ""
			} else {
				x.Status = ConditionStatus(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		case "error":
			if r.TryDecodeAsNil() {
				x.Error = ""
			} else {
				x.Error = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys4375)
		} // end switch yys4375
	} // end for yyj4375
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ComponentCondition) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4380 int
	var yyb4380 bool
	var yyhl4380 bool = l >= 0
	yyj4380++
	if yyhl4380 {
		yyb4380 = yyj4380 > l
	} else {
		yyb4380 = r.CheckBreak()
	}
	if yyb4380 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = ComponentConditionType(r.DecodeString())
	}
	yyj4380++
	if yyhl4380 {
		yyb4380 = yyj4380 > l
	} else {
		yyb4380 = r.CheckBreak()
	}
	if yyb4380 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj4380++
	if yyhl4380 {
		yyb4380 = yyj4380 > l
	} else {
		yyb4380 = r.CheckBreak()
	}
	if yyb4380 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj4380++
	if yyhl4380 {
		yyb4380 = yyj4380 > l
	} else {
		yyb4380 = r.CheckBreak()
	}
	if yyb4380 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Error = ""
	} else {
		x.Error = string(r.DecodeString())
	}
	for {
		yyj4380++
		if yyhl4380 {
			yyb4380 = yyj4380 > l
		} else {
			yyb4380 = r.CheckBreak()
		}
		if yyb4380 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4380-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ComponentStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4385 := z.EncBinary()
		_ = yym4385
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4386 := !z.EncBinary()
			yy2arr4386 := z.EncBasicHandle().StructToArray
			var yyq4386 [4]bool
			_, _, _ = yysep4386, yyq4386, yy2arr4386
			const yyr4386 bool = false
			yyq4386[0] = x.Kind != ""
			yyq4386[1] = x.APIVersion != ""
			yyq4386[2] = true
			yyq4386[3] = len(x.Conditions) != 0
			var yynn4386 int
			if yyr4386 || yy2arr4386 {
				r.EncodeArrayStart(4)
			} else {
				yynn4386 = 0
				for _, b := range yyq4386 {
					if b {
						yynn4386++
					}
				}
				r.EncodeMapStart(yynn4386)
				yynn4386 = 0
			}
			if yyr4386 || yy2arr4386 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4386[0] {
					yym4388 := z.EncBinary()
					_ = yym4388
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4386[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4389 := z.EncBinary()
					_ = yym4389
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4386 || yy2arr4386 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4386[1] {
					yym4391 := z.EncBinary()
					_ = yym4391
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4386[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4392 := z.EncBinary()
					_ = yym4392
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4386 || yy2arr4386 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4386[2] {
					yy4394 := &x.ObjectMeta
					yy4394.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4386[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4395 := &x.ObjectMeta
					yy4395.CodecEncodeSelf(e)
				}
			}
			if yyr4386 || yy2arr4386 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4386[3] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym4397 := z.EncBinary()
						_ = yym4397
						if false {
						} else {
							h.encSliceComponentCondition(([]ComponentCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4386[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym4398 := z.EncBinary()
						_ = yym4398
						if false {
						} else {
							h.encSliceComponentCondition(([]ComponentCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr4386 || yy2arr4386 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ComponentStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4399 := z.DecBinary()
	_ = yym4399
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4400 := r.ContainerType()
		if yyct4400 == codecSelferValueTypeMap1234 {
			yyl4400 := r.ReadMapStart()
			if yyl4400 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4400, d)
			}
		} else if yyct4400 == codecSelferValueTypeArray1234 {
			yyl4400 := r.ReadArrayStart()
			if yyl4400 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4400, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ComponentStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4401Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4401Slc
	var yyhl4401 bool = l >= 0
	for yyj4401 := 0; ; yyj4401++ {
		if yyhl4401 {
			if yyj4401 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4401Slc = r.DecodeBytes(yys4401Slc, true, true)
		yys4401 := string(yys4401Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4401 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv4404 := &x.ObjectMeta
				yyv4404.CodecDecodeSelf(d)
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv4405 := &x.Conditions
				yym4406 := z.DecBinary()
				_ = yym4406
				if false {
				} else {
					h.decSliceComponentCondition((*[]ComponentCondition)(yyv4405), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4401)
		} // end switch yys4401
	} // end for yyj4401
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ComponentStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4407 int
	var yyb4407 bool
	var yyhl4407 bool = l >= 0
	yyj4407++
	if yyhl4407 {
		yyb4407 = yyj4407 > l
	} else {
		yyb4407 = r.CheckBreak()
	}
	if yyb4407 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4407++
	if yyhl4407 {
		yyb4407 = yyj4407 > l
	} else {
		yyb4407 = r.CheckBreak()
	}
	if yyb4407 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4407++
	if yyhl4407 {
		yyb4407 = yyj4407 > l
	} else {
		yyb4407 = r.CheckBreak()
	}
	if yyb4407 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv4410 := &x.ObjectMeta
		yyv4410.CodecDecodeSelf(d)
	}
	yyj4407++
	if yyhl4407 {
		yyb4407 = yyj4407 > l
	} else {
		yyb4407 = r.CheckBreak()
	}
	if yyb4407 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv4411 := &x.Conditions
		yym4412 := z.DecBinary()
		_ = yym4412
		if false {
		} else {
			h.decSliceComponentCondition((*[]ComponentCondition)(yyv4411), d)
		}
	}
	for {
		yyj4407++
		if yyhl4407 {
			yyb4407 = yyj4407 > l
		} else {
			yyb4407 = r.CheckBreak()
		}
		if yyb4407 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4407-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ComponentStatusList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4413 := z.EncBinary()
		_ = yym4413
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4414 := !z.EncBinary()
			yy2arr4414 := z.EncBasicHandle().StructToArray
			var yyq4414 [4]bool
			_, _, _ = yysep4414, yyq4414, yy2arr4414
			const yyr4414 bool = false
			yyq4414[0] = x.Kind != ""
			yyq4414[1] = x.APIVersion != ""
			yyq4414[2] = true
			var yynn4414 int
			if yyr4414 || yy2arr4414 {
				r.EncodeArrayStart(4)
			} else {
				yynn4414 = 1
				for _, b := range yyq4414 {
					if b {
						yynn4414++
					}
				}
				r.EncodeMapStart(yynn4414)
				yynn4414 = 0
			}
			if yyr4414 || yy2arr4414 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4414[0] {
					yym4416 := z.EncBinary()
					_ = yym4416
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4414[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4417 := z.EncBinary()
					_ = yym4417
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4414 || yy2arr4414 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4414[1] {
					yym4419 := z.EncBinary()
					_ = yym4419
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4414[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4420 := z.EncBinary()
					_ = yym4420
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4414 || yy2arr4414 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4414[2] {
					yy4422 := &x.ListMeta
					yym4423 := z.EncBinary()
					_ = yym4423
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4422) {
					} else {
						z.EncFallback(yy4422)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4414[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4424 := &x.ListMeta
					yym4425 := z.EncBinary()
					_ = yym4425
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4424) {
					} else {
						z.EncFallback(yy4424)
					}
				}
			}
			if yyr4414 || yy2arr4414 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4427 := z.EncBinary()
					_ = yym4427
					if false {
					} else {
						h.encSliceComponentStatus(([]ComponentStatus)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4428 := z.EncBinary()
					_ = yym4428
					if false {
					} else {
						h.encSliceComponentStatus(([]ComponentStatus)(x.Items), e)
					}
				}
			}
			if yyr4414 || yy2arr4414 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ComponentStatusList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4429 := z.DecBinary()
	_ = yym4429
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4430 := r.ContainerType()
		if yyct4430 == codecSelferValueTypeMap1234 {
			yyl4430 := r.ReadMapStart()
			if yyl4430 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4430, d)
			}
		} else if yyct4430 == codecSelferValueTypeArray1234 {
			yyl4430 := r.ReadArrayStart()
			if yyl4430 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4430, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ComponentStatusList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4431Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4431Slc
	var yyhl4431 bool = l >= 0
	for yyj4431 := 0; ; yyj4431++ {
		if yyhl4431 {
			if yyj4431 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4431Slc = r.DecodeBytes(yys4431Slc, true, true)
		yys4431 := string(yys4431Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4431 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_v1.ListMeta{}
			} else {
				yyv4434 := &x.ListMeta
				yym4435 := z.DecBinary()
				_ = yym4435
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4434) {
				} else {
					z.DecFallback(yyv4434, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv4436 := &x.Items
				yym4437 := z.DecBinary()
				_ = yym4437
				if false {
				} else {
					h.decSliceComponentStatus((*[]ComponentStatus)(yyv4436), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4431)
		} // end switch yys4431
	} // end for yyj4431
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ComponentStatusList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4438 int
	var yyb4438 bool
	var yyhl4438 bool = l >= 0
	yyj4438++
	if yyhl4438 {
		yyb4438 = yyj4438 > l
	} else {
		yyb4438 = r.CheckBreak()
	}
	if yyb4438 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4438++
	if yyhl4438 {
		yyb4438 = yyj4438 > l
	} else {
		yyb4438 = r.CheckBreak()
	}
	if yyb4438 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4438++
	if yyhl4438 {
		yyb4438 = yyj4438 > l
	} else {
		yyb4438 = r.CheckBreak()
	}
	if yyb4438 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_v1.ListMeta{}
	} else {
		yyv4441 := &x.ListMeta
		yym4442 := z.DecBinary()
		_ = yym4442
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4441) {
		} else {
			z.DecFallback(yyv4441, false)
		}
	}
	yyj4438++
	if yyhl4438 {
		yyb4438 = yyj4438 > l
	} else {
		yyb4438 = r.CheckBreak()
	}
	if yyb4438 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv4443 := &x.Items
		yym4444 := z.DecBinary()
		_ = yym4444
		if false {
		} else {
			h.decSliceComponentStatus((*[]ComponentStatus)(yyv4443), d)
		}
	}
	for {
		yyj4438++
		if yyhl4438 {
			yyb4438 = yyj4438 > l
		} else {
			yyb4438 = r.CheckBreak()
		}
		if yyb4438 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4438-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *SecurityContext) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4445 := z.EncBinary()
		_ = yym4445
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4446 := !z.EncBinary()
			yy2arr4446 := z.EncBasicHandle().StructToArray
			var yyq4446 [6]bool
			_, _, _ = yysep4446, yyq4446, yy2arr4446
			const yyr4446 bool = false
			yyq4446[0] = x.Capabilities != nil
			yyq4446[1] = x.Privileged != nil
			yyq4446[2] = x.SELinuxOptions != nil
			yyq4446[3] = x.RunAsUser != nil
			yyq4446[4] = x.RunAsNonRoot != nil
			yyq4446[5] = x.ReadOnlyRootFilesystem != nil
			var yynn4446 int
			if yyr4446 || yy2arr4446 {
				r.EncodeArrayStart(6)
			} else {
				yynn4446 = 0
				for _, b := range yyq4446 {
					if b {
						yynn4446++
					}
				}
				r.EncodeMapStart(yynn4446)
				yynn4446 = 0
			}
			if yyr4446 || yy2arr4446 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4446[0] {
					if x.Capabilities == nil {
						r.EncodeNil()
					} else {
						x.Capabilities.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4446[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("capabilities"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Capabilities == nil {
						r.EncodeNil()
					} else {
						x.Capabilities.CodecEncodeSelf(e)
					}
				}
			}
			if yyr4446 || yy2arr4446 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4446[1] {
					if x.Privileged == nil {
						r.EncodeNil()
					} else {
						yy4449 := *x.Privileged
						yym4450 := z.EncBinary()
						_ = yym4450
						if false {
						} else {
							r.EncodeBool(bool(yy4449))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4446[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("privileged"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Privileged == nil {
						r.EncodeNil()
					} else {
						yy4451 := *x.Privileged
						yym4452 := z.EncBinary()
						_ = yym4452
						if false {
						} else {
							r.EncodeBool(bool(yy4451))
						}
					}
				}
			}
			if yyr4446 || yy2arr4446 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4446[2] {
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4446[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("seLinuxOptions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				}
			}
			if yyr4446 || yy2arr4446 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4446[3] {
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy4455 := *x.RunAsUser
						yym4456 := z.EncBinary()
						_ = yym4456
						if false {
						} else {
							r.EncodeInt(int64(yy4455))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4446[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("runAsUser"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy4457 := *x.RunAsUser
						yym4458 := z.EncBinary()
						_ = yym4458
						if false {
						} else {
							r.EncodeInt(int64(yy4457))
						}
					}
				}
			}
			if yyr4446 || yy2arr4446 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4446[4] {
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy4460 := *x.RunAsNonRoot
						yym4461 := z.EncBinary()
						_ = yym4461
						if false {
						} else {
							r.EncodeBool(bool(yy4460))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4446[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("runAsNonRoot"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy4462 := *x.RunAsNonRoot
						yym4463 := z.EncBinary()
						_ = yym4463
						if false {
						} else {
							r.EncodeBool(bool(yy4462))
						}
					}
				}
			}
			if yyr4446 || yy2arr4446 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4446[5] {
					if x.ReadOnlyRootFilesystem == nil {
						r.EncodeNil()
					} else {
						yy4465 := *x.ReadOnlyRootFilesystem
						yym4466 := z.EncBinary()
						_ = yym4466
						if false {
						} else {
							r.EncodeBool(bool(yy4465))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4446[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnlyRootFilesystem"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ReadOnlyRootFilesystem == nil {
						r.EncodeNil()
					} else {
						yy4467 := *x.ReadOnlyRootFilesystem
						yym4468 := z.EncBinary()
						_ = yym4468
						if false {
						} else {
							r.EncodeBool(bool(yy4467))
						}
					}
				}
			}
			if yyr4446 || yy2arr4446 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *SecurityContext) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4469 := z.DecBinary()
	_ = yym4469
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4470 := r.ContainerType()
		if yyct4470 == codecSelferValueTypeMap1234 {
			yyl4470 := r.ReadMapStart()
			if yyl4470 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4470, d)
			}
		} else if yyct4470 == codecSelferValueTypeArray1234 {
			yyl4470 := r.ReadArrayStart()
			if yyl4470 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4470, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SecurityContext) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4471Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4471Slc
	var yyhl4471 bool = l >= 0
	for yyj4471 := 0; ; yyj4471++ {
		if yyhl4471 {
			if yyj4471 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4471Slc = r.DecodeBytes(yys4471Slc, true, true)
		yys4471 := string(yys4471Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4471 {
		case "capabilities":
			if r.TryDecodeAsNil() {
				if x.Capabilities != nil {
					x.Capabilities = nil
				}
			} else {
				if x.Capabilities == nil {
					x.Capabilities = new(Capabilities)
				}
				x.Capabilities.CodecDecodeSelf(d)
			}
		case "privileged":
			if r.TryDecodeAsNil() {
				if x.Privileged != nil {
					x.Privileged = nil
				}
			} else {
				if x.Privileged == nil {
					x.Privileged = new(bool)
				}
				yym4474 := z.DecBinary()
				_ = yym4474
				if false {
				} else {
					*((*bool)(x.Privileged)) = r.DecodeBool()
				}
			}
		case "seLinuxOptions":
			if r.TryDecodeAsNil() {
				if x.SELinuxOptions != nil {
					x.SELinuxOptions = nil
				}
			} else {
				if x.SELinuxOptions == nil {
					x.SELinuxOptions = new(SELinuxOptions)
				}
				x.SELinuxOptions.CodecDecodeSelf(d)
			}
		case "runAsUser":
			if r.TryDecodeAsNil() {
				if x.RunAsUser != nil {
					x.RunAsUser = nil
				}
			} else {
				if x.RunAsUser == nil {
					x.RunAsUser = new(int64)
				}
				yym4477 := z.DecBinary()
				_ = yym4477
				if false {
				} else {
					*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
				}
			}
		case "runAsNonRoot":
			if r.TryDecodeAsNil() {
				if x.RunAsNonRoot != nil {
					x.RunAsNonRoot = nil
				}
			} else {
				if x.RunAsNonRoot == nil {
					x.RunAsNonRoot = new(bool)
				}
				yym4479 := z.DecBinary()
				_ = yym4479
				if false {
				} else {
					*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
				}
			}
		case "readOnlyRootFilesystem":
			if r.TryDecodeAsNil() {
				if x.ReadOnlyRootFilesystem != nil {
					x.ReadOnlyRootFilesystem = nil
				}
			} else {
				if x.ReadOnlyRootFilesystem == nil {
					x.ReadOnlyRootFilesystem = new(bool)
				}
				yym4481 := z.DecBinary()
				_ = yym4481
				if false {
				} else {
					*((*bool)(x.ReadOnlyRootFilesystem)) = r.DecodeBool()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4471)
		} // end switch yys4471
	} // end for yyj4471
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *SecurityContext) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4482 int
	var yyb4482 bool
	var yyhl4482 bool = l >= 0
	yyj4482++
	if yyhl4482 {
		yyb4482 = yyj4482 > l
	} else {
		yyb4482 = r.CheckBreak()
	}
	if yyb4482 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Capabilities != nil {
			x.Capabilities = nil
		}
	} else {
		if x.Capabilities == nil {
			x.Capabilities = new(Capabilities)
		}
		x.Capabilities.CodecDecodeSelf(d)
	}
	yyj4482++
	if yyhl4482 {
		yyb4482 = yyj4482 > l
	} else {
		yyb4482 = r.CheckBreak()
	}
	if yyb4482 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Privileged != nil {
			x.Privileged = nil
		}
	} else {
		if x.Privileged == nil {
			x.Privileged = new(bool)
		}
		yym4485 := z.DecBinary()
		_ = yym4485
		if false {
		} else {
			*((*bool)(x.Privileged)) = r.DecodeBool()
		}
	}
	yyj4482++
	if yyhl4482 {
		yyb4482 = yyj4482 > l
	} else {
		yyb4482 = r.CheckBreak()
	}
	if yyb4482 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SELinuxOptions != nil {
			x.SELinuxOptions = nil
		}
	} else {
		if x.SELinuxOptions == nil {
			x.SELinuxOptions = new(SELinuxOptions)
		}
		x.SELinuxOptions.CodecDecodeSelf(d)
	}
	yyj4482++
	if yyhl4482 {
		yyb4482 = yyj4482 > l
	} else {
		yyb4482 = r.CheckBreak()
	}
	if yyb4482 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RunAsUser != nil {
			x.RunAsUser = nil
		}
	} else {
		if x.RunAsUser == nil {
			x.RunAsUser = new(int64)
		}
		yym4488 := z.DecBinary()
		_ = yym4488
		if false {
		} else {
			*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
		}
	}
	yyj4482++
	if yyhl4482 {
		yyb4482 = yyj4482 > l
	} else {
		yyb4482 = r.CheckBreak()
	}
	if yyb4482 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RunAsNonRoot != nil {
			x.RunAsNonRoot = nil
		}
	} else {
		if x.RunAsNonRoot == nil {
			x.RunAsNonRoot = new(bool)
		}
		yym4490 := z.DecBinary()
		_ = yym4490
		if false {
		} else {
			*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
		}
	}
	yyj4482++
	if yyhl4482 {
		yyb4482 = yyj4482 > l
	} else {
		yyb4482 = r.CheckBreak()
	}
	if yyb4482 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ReadOnlyRootFilesystem != nil {
			x.ReadOnlyRootFilesystem = nil
		}
	} else {
		if x.ReadOnlyRootFilesystem == nil {
			x.ReadOnlyRootFilesystem = new(bool)
		}
		yym4492 := z.DecBinary()
		_ = yym4492
		if false {
		} else {
			*((*bool)(x.ReadOnlyRootFilesystem)) = r.DecodeBool()
		}
	}
	for {
		yyj4482++
		if yyhl4482 {
			yyb4482 = yyj4482 > l
		} else {
			yyb4482 = r.CheckBreak()
		}
		if yyb4482 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4482-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *SELinuxOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4493 := z.EncBinary()
		_ = yym4493
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4494 := !z.EncBinary()
			yy2arr4494 := z.EncBasicHandle().StructToArray
			var yyq4494 [4]bool
			_, _, _ = yysep4494, yyq4494, yy2arr4494
			const yyr4494 bool = false
			yyq4494[0] = x.User != ""
			yyq4494[1] = x.Role != ""
			yyq4494[2] = x.Type != ""
			yyq4494[3] = x.Level != ""
			var yynn4494 int
			if yyr4494 || yy2arr4494 {
				r.EncodeArrayStart(4)
			} else {
				yynn4494 = 0
				for _, b := range yyq4494 {
					if b {
						yynn4494++
					}
				}
				r.EncodeMapStart(yynn4494)
				yynn4494 = 0
			}
			if yyr4494 || yy2arr4494 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4494[0] {
					yym4496 := z.EncBinary()
					_ = yym4496
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4494[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("user"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4497 := z.EncBinary()
					_ = yym4497
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				}
			}
			if yyr4494 || yy2arr4494 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4494[1] {
					yym4499 := z.EncBinary()
					_ = yym4499
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Role))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4494[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("role"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4500 := z.EncBinary()
					_ = yym4500
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Role))
					}
				}
			}
			if yyr4494 || yy2arr4494 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4494[2] {
					yym4502 := z.EncBinary()
					_ = yym4502
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4494[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4503 := z.EncBinary()
					_ = yym4503
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				}
			}
			if yyr4494 || yy2arr4494 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4494[3] {
					yym4505 := z.EncBinary()
					_ = yym4505
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Level))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4494[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("level"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4506 := z.EncBinary()
					_ = yym4506
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Level))
					}
				}
			}
			if yyr4494 || yy2arr4494 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *SELinuxOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4507 := z.DecBinary()
	_ = yym4507
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4508 := r.ContainerType()
		if yyct4508 == codecSelferValueTypeMap1234 {
			yyl4508 := r.ReadMapStart()
			if yyl4508 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4508, d)
			}
		} else if yyct4508 == codecSelferValueTypeArray1234 {
			yyl4508 := r.ReadArrayStart()
			if yyl4508 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4508, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SELinuxOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4509Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4509Slc
	var yyhl4509 bool = l >= 0
	for yyj4509 := 0; ; yyj4509++ {
		if yyhl4509 {
			if yyj4509 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4509Slc = r.DecodeBytes(yys4509Slc, true, true)
		yys4509 := string(yys4509Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4509 {
		case "user":
			if r.TryDecodeAsNil() {
				x.User = ""
			} else {
				x.User = string(r.DecodeString())
			}
		case "role":
			if r.TryDecodeAsNil() {
				x.Role = ""
			} else {
				x.Role = string(r.DecodeString())
			}
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = string(r.DecodeString())
			}
		case "level":
			if r.TryDecodeAsNil() {
				x.Level = ""
			} else {
				x.Level = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys4509)
		} // end switch yys4509
	} // end for yyj4509
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *SELinuxOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4514 int
	var yyb4514 bool
	var yyhl4514 bool = l >= 0
	yyj4514++
	if yyhl4514 {
		yyb4514 = yyj4514 > l
	} else {
		yyb4514 = r.CheckBreak()
	}
	if yyb4514 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.User = ""
	} else {
		x.User = string(r.DecodeString())
	}
	yyj4514++
	if yyhl4514 {
		yyb4514 = yyj4514 > l
	} else {
		yyb4514 = r.CheckBreak()
	}
	if yyb4514 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Role = ""
	} else {
		x.Role = string(r.DecodeString())
	}
	yyj4514++
	if yyhl4514 {
		yyb4514 = yyj4514 > l
	} else {
		yyb4514 = r.CheckBreak()
	}
	if yyb4514 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = string(r.DecodeString())
	}
	yyj4514++
	if yyhl4514 {
		yyb4514 = yyj4514 > l
	} else {
		yyb4514 = r.CheckBreak()
	}
	if yyb4514 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Level = ""
	} else {
		x.Level = string(r.DecodeString())
	}
	for {
		yyj4514++
		if yyhl4514 {
			yyb4514 = yyj4514 > l
		} else {
			yyb4514 = r.CheckBreak()
		}
		if yyb4514 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4514-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *RangeAllocation) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4519 := z.EncBinary()
		_ = yym4519
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4520 := !z.EncBinary()
			yy2arr4520 := z.EncBasicHandle().StructToArray
			var yyq4520 [5]bool
			_, _, _ = yysep4520, yyq4520, yy2arr4520
			const yyr4520 bool = false
			yyq4520[0] = x.Kind != ""
			yyq4520[1] = x.APIVersion != ""
			yyq4520[2] = true
			var yynn4520 int
			if yyr4520 || yy2arr4520 {
				r.EncodeArrayStart(5)
			} else {
				yynn4520 = 2
				for _, b := range yyq4520 {
					if b {
						yynn4520++
					}
				}
				r.EncodeMapStart(yynn4520)
				yynn4520 = 0
			}
			if yyr4520 || yy2arr4520 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4520[0] {
					yym4522 := z.EncBinary()
					_ = yym4522
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4520[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4523 := z.EncBinary()
					_ = yym4523
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4520 || yy2arr4520 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4520[1] {
					yym4525 := z.EncBinary()
					_ = yym4525
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4520[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4526 := z.EncBinary()
					_ = yym4526
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4520 || yy2arr4520 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4520[2] {
					yy4528 := &x.ObjectMeta
					yy4528.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4520[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4529 := &x.ObjectMeta
					yy4529.CodecEncodeSelf(e)
				}
			}
			if yyr4520 || yy2arr4520 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym4531 := z.EncBinary()
				_ = yym4531
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Range))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("range"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym4532 := z.EncBinary()
				_ = yym4532
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Range))
				}
			}
			if yyr4520 || yy2arr4520 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Data == nil {
					r.EncodeNil()
				} else {
					yym4534 := z.EncBinary()
					_ = yym4534
					if false {
					} else {
						r.EncodeStringBytes(codecSelferC_RAW1234, []byte(x.Data))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("data"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Data == nil {
					r.EncodeNil()
				} else {
					yym4535 := z.EncBinary()
					_ = yym4535
					if false {
					} else {
						r.EncodeStringBytes(codecSelferC_RAW1234, []byte(x.Data))
					}
				}
			}
			if yyr4520 || yy2arr4520 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *RangeAllocation) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4536 := z.DecBinary()
	_ = yym4536
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4537 := r.ContainerType()
		if yyct4537 == codecSelferValueTypeMap1234 {
			yyl4537 := r.ReadMapStart()
			if yyl4537 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4537, d)
			}
		} else if yyct4537 == codecSelferValueTypeArray1234 {
			yyl4537 := r.ReadArrayStart()
			if yyl4537 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4537, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *RangeAllocation) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4538Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4538Slc
	var yyhl4538 bool = l >= 0
	for yyj4538 := 0; ; yyj4538++ {
		if yyhl4538 {
			if yyj4538 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4538Slc = r.DecodeBytes(yys4538Slc, true, true)
		yys4538 := string(yys4538Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4538 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv4541 := &x.ObjectMeta
				yyv4541.CodecDecodeSelf(d)
			}
		case "range":
			if r.TryDecodeAsNil() {
				x.Range = ""
			} else {
				x.Range = string(r.DecodeString())
			}
		case "data":
			if r.TryDecodeAsNil() {
				x.Data = nil
			} else {
				yyv4543 := &x.Data
				yym4544 := z.DecBinary()
				_ = yym4544
				if false {
				} else {
					*yyv4543 = r.DecodeBytes(*(*[]byte)(yyv4543), false, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4538)
		} // end switch yys4538
	} // end for yyj4538
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *RangeAllocation) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4545 int
	var yyb4545 bool
	var yyhl4545 bool = l >= 0
	yyj4545++
	if yyhl4545 {
		yyb4545 = yyj4545 > l
	} else {
		yyb4545 = r.CheckBreak()
	}
	if yyb4545 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4545++
	if yyhl4545 {
		yyb4545 = yyj4545 > l
	} else {
		yyb4545 = r.CheckBreak()
	}
	if yyb4545 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4545++
	if yyhl4545 {
		yyb4545 = yyj4545 > l
	} else {
		yyb4545 = r.CheckBreak()
	}
	if yyb4545 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv4548 := &x.ObjectMeta
		yyv4548.CodecDecodeSelf(d)
	}
	yyj4545++
	if yyhl4545 {
		yyb4545 = yyj4545 > l
	} else {
		yyb4545 = r.CheckBreak()
	}
	if yyb4545 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Range = ""
	} else {
		x.Range = string(r.DecodeString())
	}
	yyj4545++
	if yyhl4545 {
		yyb4545 = yyj4545 > l
	} else {
		yyb4545 = r.CheckBreak()
	}
	if yyb4545 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Data = nil
	} else {
		yyv4550 := &x.Data
		yym4551 := z.DecBinary()
		_ = yym4551
		if false {
		} else {
			*yyv4550 = r.DecodeBytes(*(*[]byte)(yyv4550), false, false)
		}
	}
	for {
		yyj4545++
		if yyhl4545 {
			yyb4545 = yyj4545 > l
		} else {
			yyb4545 = r.CheckBreak()
		}
		if yyb4545 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4545-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) encSlicev1_OwnerReference(v []pkg2_v1.OwnerReference, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4552 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4553 := &yyv4552
		yym4554 := z.EncBinary()
		_ = yym4554
		if false {
		} else if z.HasExtensions() && z.EncExt(yy4553) {
		} else {
			z.EncFallback(yy4553)
		}
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicev1_OwnerReference(v *[]pkg2_v1.OwnerReference, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4555 := *v
	yyh4555, yyl4555 := z.DecSliceHelperStart()
	var yyc4555 bool
	if yyl4555 == 0 {
		if yyv4555 == nil {
			yyv4555 = []pkg2_v1.OwnerReference{}
			yyc4555 = true
		} else if len(yyv4555) != 0 {
			yyv4555 = yyv4555[:0]
			yyc4555 = true
		}
	} else if yyl4555 > 0 {
		var yyrr4555, yyrl4555 int
		var yyrt4555 bool
		if yyl4555 > cap(yyv4555) {

			yyrg4555 := len(yyv4555) > 0
			yyv24555 := yyv4555
			yyrl4555, yyrt4555 = z.DecInferLen(yyl4555, z.DecBasicHandle().MaxInitLen, 72)
			if yyrt4555 {
				if yyrl4555 <= cap(yyv4555) {
					yyv4555 = yyv4555[:yyrl4555]
				} else {
					yyv4555 = make([]pkg2_v1.OwnerReference, yyrl4555)
				}
			} else {
				yyv4555 = make([]pkg2_v1.OwnerReference, yyrl4555)
			}
			yyc4555 = true
			yyrr4555 = len(yyv4555)
			if yyrg4555 {
				copy(yyv4555, yyv24555)
			}
		} else if yyl4555 != len(yyv4555) {
			yyv4555 = yyv4555[:yyl4555]
			yyc4555 = true
		}
		yyj4555 := 0
		for ; yyj4555 < yyrr4555; yyj4555++ {
			yyh4555.ElemContainerState(yyj4555)
			if r.TryDecodeAsNil() {
				yyv4555[yyj4555] = pkg2_v1.OwnerReference{}
			} else {
				yyv4556 := &yyv4555[yyj4555]
				yym4557 := z.DecBinary()
				_ = yym4557
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4556) {
				} else {
					z.DecFallback(yyv4556, false)
				}
			}

		}
		if yyrt4555 {
			for ; yyj4555 < yyl4555; yyj4555++ {
				yyv4555 = append(yyv4555, pkg2_v1.OwnerReference{})
				yyh4555.ElemContainerState(yyj4555)
				if r.TryDecodeAsNil() {
					yyv4555[yyj4555] = pkg2_v1.OwnerReference{}
				} else {
					yyv4558 := &yyv4555[yyj4555]
					yym4559 := z.DecBinary()
					_ = yym4559
					if false {
					} else if z.HasExtensions() && z.DecExt(yyv4558) {
					} else {
						z.DecFallback(yyv4558, false)
					}
				}

			}
		}

	} else {
		yyj4555 := 0
		for ; !r.CheckBreak(); yyj4555++ {

			if yyj4555 >= len(yyv4555) {
				yyv4555 = append(yyv4555, pkg2_v1.OwnerReference{}) // var yyz4555 pkg2_v1.OwnerReference
				yyc4555 = true
			}
			yyh4555.ElemContainerState(yyj4555)
			if yyj4555 < len(yyv4555) {
				if r.TryDecodeAsNil() {
					yyv4555[yyj4555] = pkg2_v1.OwnerReference{}
				} else {
					yyv4560 := &yyv4555[yyj4555]
					yym4561 := z.DecBinary()
					_ = yym4561
					if false {
					} else if z.HasExtensions() && z.DecExt(yyv4560) {
					} else {
						z.DecFallback(yyv4560, false)
					}
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4555 < len(yyv4555) {
			yyv4555 = yyv4555[:yyj4555]
			yyc4555 = true
		} else if yyj4555 == 0 && yyv4555 == nil {
			yyv4555 = []pkg2_v1.OwnerReference{}
			yyc4555 = true
		}
	}
	yyh4555.End()
	if yyc4555 {
		*v = yyv4555
	}
}

func (x codecSelfer1234) encSlicePersistentVolumeAccessMode(v []PersistentVolumeAccessMode, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4562 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yyv4562.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePersistentVolumeAccessMode(v *[]PersistentVolumeAccessMode, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4563 := *v
	yyh4563, yyl4563 := z.DecSliceHelperStart()
	var yyc4563 bool
	if yyl4563 == 0 {
		if yyv4563 == nil {
			yyv4563 = []PersistentVolumeAccessMode{}
			yyc4563 = true
		} else if len(yyv4563) != 0 {
			yyv4563 = yyv4563[:0]
			yyc4563 = true
		}
	} else if yyl4563 > 0 {
		var yyrr4563, yyrl4563 int
		var yyrt4563 bool
		if yyl4563 > cap(yyv4563) {

			yyrl4563, yyrt4563 = z.DecInferLen(yyl4563, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt4563 {
				if yyrl4563 <= cap(yyv4563) {
					yyv4563 = yyv4563[:yyrl4563]
				} else {
					yyv4563 = make([]PersistentVolumeAccessMode, yyrl4563)
				}
			} else {
				yyv4563 = make([]PersistentVolumeAccessMode, yyrl4563)
			}
			yyc4563 = true
			yyrr4563 = len(yyv4563)
		} else if yyl4563 != len(yyv4563) {
			yyv4563 = yyv4563[:yyl4563]
			yyc4563 = true
		}
		yyj4563 := 0
		for ; yyj4563 < yyrr4563; yyj4563++ {
			yyh4563.ElemContainerState(yyj4563)
			if r.TryDecodeAsNil() {
				yyv4563[yyj4563] = ""
			} else {
				yyv4563[yyj4563] = PersistentVolumeAccessMode(r.DecodeString())
			}

		}
		if yyrt4563 {
			for ; yyj4563 < yyl4563; yyj4563++ {
				yyv4563 = append(yyv4563, "")
				yyh4563.ElemContainerState(yyj4563)
				if r.TryDecodeAsNil() {
					yyv4563[yyj4563] = ""
				} else {
					yyv4563[yyj4563] = PersistentVolumeAccessMode(r.DecodeString())
				}

			}
		}

	} else {
		yyj4563 := 0
		for ; !r.CheckBreak(); yyj4563++ {

			if yyj4563 >= len(yyv4563) {
				yyv4563 = append(yyv4563, "") // var yyz4563 PersistentVolumeAccessMode
				yyc4563 = true
			}
			yyh4563.ElemContainerState(yyj4563)
			if yyj4563 < len(yyv4563) {
				if r.TryDecodeAsNil() {
					yyv4563[yyj4563] = ""
				} else {
					yyv4563[yyj4563] = PersistentVolumeAccessMode(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4563 < len(yyv4563) {
			yyv4563 = yyv4563[:yyj4563]
			yyc4563 = true
		} else if yyj4563 == 0 && yyv4563 == nil {
			yyv4563 = []PersistentVolumeAccessMode{}
			yyc4563 = true
		}
	}
	yyh4563.End()
	if yyc4563 {
		*v = yyv4563
	}
}

func (x codecSelfer1234) encSlicePersistentVolume(v []PersistentVolume, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4567 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4568 := &yyv4567
		yy4568.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePersistentVolume(v *[]PersistentVolume, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4569 := *v
	yyh4569, yyl4569 := z.DecSliceHelperStart()
	var yyc4569 bool
	if yyl4569 == 0 {
		if yyv4569 == nil {
			yyv4569 = []PersistentVolume{}
			yyc4569 = true
		} else if len(yyv4569) != 0 {
			yyv4569 = yyv4569[:0]
			yyc4569 = true
		}
	} else if yyl4569 > 0 {
		var yyrr4569, yyrl4569 int
		var yyrt4569 bool
		if yyl4569 > cap(yyv4569) {

			yyrg4569 := len(yyv4569) > 0
			yyv24569 := yyv4569
			yyrl4569, yyrt4569 = z.DecInferLen(yyl4569, z.DecBasicHandle().MaxInitLen, 496)
			if yyrt4569 {
				if yyrl4569 <= cap(yyv4569) {
					yyv4569 = yyv4569[:yyrl4569]
				} else {
					yyv4569 = make([]PersistentVolume, yyrl4569)
				}
			} else {
				yyv4569 = make([]PersistentVolume, yyrl4569)
			}
			yyc4569 = true
			yyrr4569 = len(yyv4569)
			if yyrg4569 {
				copy(yyv4569, yyv24569)
			}
		} else if yyl4569 != len(yyv4569) {
			yyv4569 = yyv4569[:yyl4569]
			yyc4569 = true
		}
		yyj4569 := 0
		for ; yyj4569 < yyrr4569; yyj4569++ {
			yyh4569.ElemContainerState(yyj4569)
			if r.TryDecodeAsNil() {
				yyv4569[yyj4569] = PersistentVolume{}
			} else {
				yyv4570 := &yyv4569[yyj4569]
				yyv4570.CodecDecodeSelf(d)
			}

		}
		if yyrt4569 {
			for ; yyj4569 < yyl4569; yyj4569++ {
				yyv4569 = append(yyv4569, PersistentVolume{})
				yyh4569.ElemContainerState(yyj4569)
				if r.TryDecodeAsNil() {
					yyv4569[yyj4569] = PersistentVolume{}
				} else {
					yyv4571 := &yyv4569[yyj4569]
					yyv4571.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4569 := 0
		for ; !r.CheckBreak(); yyj4569++ {

			if yyj4569 >= len(yyv4569) {
				yyv4569 = append(yyv4569, PersistentVolume{}) // var yyz4569 PersistentVolume
				yyc4569 = true
			}
			yyh4569.ElemContainerState(yyj4569)
			if yyj4569 < len(yyv4569) {
				if r.TryDecodeAsNil() {
					yyv4569[yyj4569] = PersistentVolume{}
				} else {
					yyv4572 := &yyv4569[yyj4569]
					yyv4572.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4569 < len(yyv4569) {
			yyv4569 = yyv4569[:yyj4569]
			yyc4569 = true
		} else if yyj4569 == 0 && yyv4569 == nil {
			yyv4569 = []PersistentVolume{}
			yyc4569 = true
		}
	}
	yyh4569.End()
	if yyc4569 {
		*v = yyv4569
	}
}

func (x codecSelfer1234) encSlicePersistentVolumeClaim(v []PersistentVolumeClaim, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4573 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4574 := &yyv4573
		yy4574.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePersistentVolumeClaim(v *[]PersistentVolumeClaim, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4575 := *v
	yyh4575, yyl4575 := z.DecSliceHelperStart()
	var yyc4575 bool
	if yyl4575 == 0 {
		if yyv4575 == nil {
			yyv4575 = []PersistentVolumeClaim{}
			yyc4575 = true
		} else if len(yyv4575) != 0 {
			yyv4575 = yyv4575[:0]
			yyc4575 = true
		}
	} else if yyl4575 > 0 {
		var yyrr4575, yyrl4575 int
		var yyrt4575 bool
		if yyl4575 > cap(yyv4575) {

			yyrg4575 := len(yyv4575) > 0
			yyv24575 := yyv4575
			yyrl4575, yyrt4575 = z.DecInferLen(yyl4575, z.DecBasicHandle().MaxInitLen, 368)
			if yyrt4575 {
				if yyrl4575 <= cap(yyv4575) {
					yyv4575 = yyv4575[:yyrl4575]
				} else {
					yyv4575 = make([]PersistentVolumeClaim, yyrl4575)
				}
			} else {
				yyv4575 = make([]PersistentVolumeClaim, yyrl4575)
			}
			yyc4575 = true
			yyrr4575 = len(yyv4575)
			if yyrg4575 {
				copy(yyv4575, yyv24575)
			}
		} else if yyl4575 != len(yyv4575) {
			yyv4575 = yyv4575[:yyl4575]
			yyc4575 = true
		}
		yyj4575 := 0
		for ; yyj4575 < yyrr4575; yyj4575++ {
			yyh4575.ElemContainerState(yyj4575)
			if r.TryDecodeAsNil() {
				yyv4575[yyj4575] = PersistentVolumeClaim{}
			} else {
				yyv4576 := &yyv4575[yyj4575]
				yyv4576.CodecDecodeSelf(d)
			}

		}
		if yyrt4575 {
			for ; yyj4575 < yyl4575; yyj4575++ {
				yyv4575 = append(yyv4575, PersistentVolumeClaim{})
				yyh4575.ElemContainerState(yyj4575)
				if r.TryDecodeAsNil() {
					yyv4575[yyj4575] = PersistentVolumeClaim{}
				} else {
					yyv4577 := &yyv4575[yyj4575]
					yyv4577.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4575 := 0
		for ; !r.CheckBreak(); yyj4575++ {

			if yyj4575 >= len(yyv4575) {
				yyv4575 = append(yyv4575, PersistentVolumeClaim{}) // var yyz4575 PersistentVolumeClaim
				yyc4575 = true
			}
			yyh4575.ElemContainerState(yyj4575)
			if yyj4575 < len(yyv4575) {
				if r.TryDecodeAsNil() {
					yyv4575[yyj4575] = PersistentVolumeClaim{}
				} else {
					yyv4578 := &yyv4575[yyj4575]
					yyv4578.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4575 < len(yyv4575) {
			yyv4575 = yyv4575[:yyj4575]
			yyc4575 = true
		} else if yyj4575 == 0 && yyv4575 == nil {
			yyv4575 = []PersistentVolumeClaim{}
			yyc4575 = true
		}
	}
	yyh4575.End()
	if yyc4575 {
		*v = yyv4575
	}
}

func (x codecSelfer1234) encSliceKeyToPath(v []KeyToPath, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4579 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4580 := &yyv4579
		yy4580.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceKeyToPath(v *[]KeyToPath, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4581 := *v
	yyh4581, yyl4581 := z.DecSliceHelperStart()
	var yyc4581 bool
	if yyl4581 == 0 {
		if yyv4581 == nil {
			yyv4581 = []KeyToPath{}
			yyc4581 = true
		} else if len(yyv4581) != 0 {
			yyv4581 = yyv4581[:0]
			yyc4581 = true
		}
	} else if yyl4581 > 0 {
		var yyrr4581, yyrl4581 int
		var yyrt4581 bool
		if yyl4581 > cap(yyv4581) {

			yyrg4581 := len(yyv4581) > 0
			yyv24581 := yyv4581
			yyrl4581, yyrt4581 = z.DecInferLen(yyl4581, z.DecBasicHandle().MaxInitLen, 40)
			if yyrt4581 {
				if yyrl4581 <= cap(yyv4581) {
					yyv4581 = yyv4581[:yyrl4581]
				} else {
					yyv4581 = make([]KeyToPath, yyrl4581)
				}
			} else {
				yyv4581 = make([]KeyToPath, yyrl4581)
			}
			yyc4581 = true
			yyrr4581 = len(yyv4581)
			if yyrg4581 {
				copy(yyv4581, yyv24581)
			}
		} else if yyl4581 != len(yyv4581) {
			yyv4581 = yyv4581[:yyl4581]
			yyc4581 = true
		}
		yyj4581 := 0
		for ; yyj4581 < yyrr4581; yyj4581++ {
			yyh4581.ElemContainerState(yyj4581)
			if r.TryDecodeAsNil() {
				yyv4581[yyj4581] = KeyToPath{}
			} else {
				yyv4582 := &yyv4581[yyj4581]
				yyv4582.CodecDecodeSelf(d)
			}

		}
		if yyrt4581 {
			for ; yyj4581 < yyl4581; yyj4581++ {
				yyv4581 = append(yyv4581, KeyToPath{})
				yyh4581.ElemContainerState(yyj4581)
				if r.TryDecodeAsNil() {
					yyv4581[yyj4581] = KeyToPath{}
				} else {
					yyv4583 := &yyv4581[yyj4581]
					yyv4583.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4581 := 0
		for ; !r.CheckBreak(); yyj4581++ {

			if yyj4581 >= len(yyv4581) {
				yyv4581 = append(yyv4581, KeyToPath{}) // var yyz4581 KeyToPath
				yyc4581 = true
			}
			yyh4581.ElemContainerState(yyj4581)
			if yyj4581 < len(yyv4581) {
				if r.TryDecodeAsNil() {
					yyv4581[yyj4581] = KeyToPath{}
				} else {
					yyv4584 := &yyv4581[yyj4581]
					yyv4584.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4581 < len(yyv4581) {
			yyv4581 = yyv4581[:yyj4581]
			yyc4581 = true
		} else if yyj4581 == 0 && yyv4581 == nil {
			yyv4581 = []KeyToPath{}
			yyc4581 = true
		}
	}
	yyh4581.End()
	if yyc4581 {
		*v = yyv4581
	}
}

func (x codecSelfer1234) encSliceDownwardAPIVolumeFile(v []DownwardAPIVolumeFile, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4585 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4586 := &yyv4585
		yy4586.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceDownwardAPIVolumeFile(v *[]DownwardAPIVolumeFile, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4587 := *v
	yyh4587, yyl4587 := z.DecSliceHelperStart()
	var yyc4587 bool
	if yyl4587 == 0 {
		if yyv4587 == nil {
			yyv4587 = []DownwardAPIVolumeFile{}
			yyc4587 = true
		} else if len(yyv4587) != 0 {
			yyv4587 = yyv4587[:0]
			yyc4587 = true
		}
	} else if yyl4587 > 0 {
		var yyrr4587, yyrl4587 int
		var yyrt4587 bool
		if yyl4587 > cap(yyv4587) {

			yyrg4587 := len(yyv4587) > 0
			yyv24587 := yyv4587
			yyrl4587, yyrt4587 = z.DecInferLen(yyl4587, z.DecBasicHandle().MaxInitLen, 40)
			if yyrt4587 {
				if yyrl4587 <= cap(yyv4587) {
					yyv4587 = yyv4587[:yyrl4587]
				} else {
					yyv4587 = make([]DownwardAPIVolumeFile, yyrl4587)
				}
			} else {
				yyv4587 = make([]DownwardAPIVolumeFile, yyrl4587)
			}
			yyc4587 = true
			yyrr4587 = len(yyv4587)
			if yyrg4587 {
				copy(yyv4587, yyv24587)
			}
		} else if yyl4587 != len(yyv4587) {
			yyv4587 = yyv4587[:yyl4587]
			yyc4587 = true
		}
		yyj4587 := 0
		for ; yyj4587 < yyrr4587; yyj4587++ {
			yyh4587.ElemContainerState(yyj4587)
			if r.TryDecodeAsNil() {
				yyv4587[yyj4587] = DownwardAPIVolumeFile{}
			} else {
				yyv4588 := &yyv4587[yyj4587]
				yyv4588.CodecDecodeSelf(d)
			}

		}
		if yyrt4587 {
			for ; yyj4587 < yyl4587; yyj4587++ {
				yyv4587 = append(yyv4587, DownwardAPIVolumeFile{})
				yyh4587.ElemContainerState(yyj4587)
				if r.TryDecodeAsNil() {
					yyv4587[yyj4587] = DownwardAPIVolumeFile{}
				} else {
					yyv4589 := &yyv4587[yyj4587]
					yyv4589.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4587 := 0
		for ; !r.CheckBreak(); yyj4587++ {

			if yyj4587 >= len(yyv4587) {
				yyv4587 = append(yyv4587, DownwardAPIVolumeFile{}) // var yyz4587 DownwardAPIVolumeFile
				yyc4587 = true
			}
			yyh4587.ElemContainerState(yyj4587)
			if yyj4587 < len(yyv4587) {
				if r.TryDecodeAsNil() {
					yyv4587[yyj4587] = DownwardAPIVolumeFile{}
				} else {
					yyv4590 := &yyv4587[yyj4587]
					yyv4590.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4587 < len(yyv4587) {
			yyv4587 = yyv4587[:yyj4587]
			yyc4587 = true
		} else if yyj4587 == 0 && yyv4587 == nil {
			yyv4587 = []DownwardAPIVolumeFile{}
			yyc4587 = true
		}
	}
	yyh4587.End()
	if yyc4587 {
		*v = yyv4587
	}
}

func (x codecSelfer1234) encSliceHTTPHeader(v []HTTPHeader, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4591 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4592 := &yyv4591
		yy4592.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceHTTPHeader(v *[]HTTPHeader, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4593 := *v
	yyh4593, yyl4593 := z.DecSliceHelperStart()
	var yyc4593 bool
	if yyl4593 == 0 {
		if yyv4593 == nil {
			yyv4593 = []HTTPHeader{}
			yyc4593 = true
		} else if len(yyv4593) != 0 {
			yyv4593 = yyv4593[:0]
			yyc4593 = true
		}
	} else if yyl4593 > 0 {
		var yyrr4593, yyrl4593 int
		var yyrt4593 bool
		if yyl4593 > cap(yyv4593) {

			yyrg4593 := len(yyv4593) > 0
			yyv24593 := yyv4593
			yyrl4593, yyrt4593 = z.DecInferLen(yyl4593, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt4593 {
				if yyrl4593 <= cap(yyv4593) {
					yyv4593 = yyv4593[:yyrl4593]
				} else {
					yyv4593 = make([]HTTPHeader, yyrl4593)
				}
			} else {
				yyv4593 = make([]HTTPHeader, yyrl4593)
			}
			yyc4593 = true
			yyrr4593 = len(yyv4593)
			if yyrg4593 {
				copy(yyv4593, yyv24593)
			}
		} else if yyl4593 != len(yyv4593) {
			yyv4593 = yyv4593[:yyl4593]
			yyc4593 = true
		}
		yyj4593 := 0
		for ; yyj4593 < yyrr4593; yyj4593++ {
			yyh4593.ElemContainerState(yyj4593)
			if r.TryDecodeAsNil() {
				yyv4593[yyj4593] = HTTPHeader{}
			} else {
				yyv4594 := &yyv4593[yyj4593]
				yyv4594.CodecDecodeSelf(d)
			}

		}
		if yyrt4593 {
			for ; yyj4593 < yyl4593; yyj4593++ {
				yyv4593 = append(yyv4593, HTTPHeader{})
				yyh4593.ElemContainerState(yyj4593)
				if r.TryDecodeAsNil() {
					yyv4593[yyj4593] = HTTPHeader{}
				} else {
					yyv4595 := &yyv4593[yyj4593]
					yyv4595.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4593 := 0
		for ; !r.CheckBreak(); yyj4593++ {

			if yyj4593 >= len(yyv4593) {
				yyv4593 = append(yyv4593, HTTPHeader{}) // var yyz4593 HTTPHeader
				yyc4593 = true
			}
			yyh4593.ElemContainerState(yyj4593)
			if yyj4593 < len(yyv4593) {
				if r.TryDecodeAsNil() {
					yyv4593[yyj4593] = HTTPHeader{}
				} else {
					yyv4596 := &yyv4593[yyj4593]
					yyv4596.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4593 < len(yyv4593) {
			yyv4593 = yyv4593[:yyj4593]
			yyc4593 = true
		} else if yyj4593 == 0 && yyv4593 == nil {
			yyv4593 = []HTTPHeader{}
			yyc4593 = true
		}
	}
	yyh4593.End()
	if yyc4593 {
		*v = yyv4593
	}
}

func (x codecSelfer1234) encSliceCapability(v []Capability, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4597 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yyv4597.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceCapability(v *[]Capability, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4598 := *v
	yyh4598, yyl4598 := z.DecSliceHelperStart()
	var yyc4598 bool
	if yyl4598 == 0 {
		if yyv4598 == nil {
			yyv4598 = []Capability{}
			yyc4598 = true
		} else if len(yyv4598) != 0 {
			yyv4598 = yyv4598[:0]
			yyc4598 = true
		}
	} else if yyl4598 > 0 {
		var yyrr4598, yyrl4598 int
		var yyrt4598 bool
		if yyl4598 > cap(yyv4598) {

			yyrl4598, yyrt4598 = z.DecInferLen(yyl4598, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt4598 {
				if yyrl4598 <= cap(yyv4598) {
					yyv4598 = yyv4598[:yyrl4598]
				} else {
					yyv4598 = make([]Capability, yyrl4598)
				}
			} else {
				yyv4598 = make([]Capability, yyrl4598)
			}
			yyc4598 = true
			yyrr4598 = len(yyv4598)
		} else if yyl4598 != len(yyv4598) {
			yyv4598 = yyv4598[:yyl4598]
			yyc4598 = true
		}
		yyj4598 := 0
		for ; yyj4598 < yyrr4598; yyj4598++ {
			yyh4598.ElemContainerState(yyj4598)
			if r.TryDecodeAsNil() {
				yyv4598[yyj4598] = ""
			} else {
				yyv4598[yyj4598] = Capability(r.DecodeString())
			}

		}
		if yyrt4598 {
			for ; yyj4598 < yyl4598; yyj4598++ {
				yyv4598 = append(yyv4598, "")
				yyh4598.ElemContainerState(yyj4598)
				if r.TryDecodeAsNil() {
					yyv4598[yyj4598] = ""
				} else {
					yyv4598[yyj4598] = Capability(r.DecodeString())
				}

			}
		}

	} else {
		yyj4598 := 0
		for ; !r.CheckBreak(); yyj4598++ {

			if yyj4598 >= len(yyv4598) {
				yyv4598 = append(yyv4598, "") // var yyz4598 Capability
				yyc4598 = true
			}
			yyh4598.ElemContainerState(yyj4598)
			if yyj4598 < len(yyv4598) {
				if r.TryDecodeAsNil() {
					yyv4598[yyj4598] = ""
				} else {
					yyv4598[yyj4598] = Capability(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4598 < len(yyv4598) {
			yyv4598 = yyv4598[:yyj4598]
			yyc4598 = true
		} else if yyj4598 == 0 && yyv4598 == nil {
			yyv4598 = []Capability{}
			yyc4598 = true
		}
	}
	yyh4598.End()
	if yyc4598 {
		*v = yyv4598
	}
}

func (x codecSelfer1234) encSliceContainerPort(v []ContainerPort, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4602 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4603 := &yyv4602
		yy4603.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceContainerPort(v *[]ContainerPort, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4604 := *v
	yyh4604, yyl4604 := z.DecSliceHelperStart()
	var yyc4604 bool
	if yyl4604 == 0 {
		if yyv4604 == nil {
			yyv4604 = []ContainerPort{}
			yyc4604 = true
		} else if len(yyv4604) != 0 {
			yyv4604 = yyv4604[:0]
			yyc4604 = true
		}
	} else if yyl4604 > 0 {
		var yyrr4604, yyrl4604 int
		var yyrt4604 bool
		if yyl4604 > cap(yyv4604) {

			yyrg4604 := len(yyv4604) > 0
			yyv24604 := yyv4604
			yyrl4604, yyrt4604 = z.DecInferLen(yyl4604, z.DecBasicHandle().MaxInitLen, 56)
			if yyrt4604 {
				if yyrl4604 <= cap(yyv4604) {
					yyv4604 = yyv4604[:yyrl4604]
				} else {
					yyv4604 = make([]ContainerPort, yyrl4604)
				}
			} else {
				yyv4604 = make([]ContainerPort, yyrl4604)
			}
			yyc4604 = true
			yyrr4604 = len(yyv4604)
			if yyrg4604 {
				copy(yyv4604, yyv24604)
			}
		} else if yyl4604 != len(yyv4604) {
			yyv4604 = yyv4604[:yyl4604]
			yyc4604 = true
		}
		yyj4604 := 0
		for ; yyj4604 < yyrr4604; yyj4604++ {
			yyh4604.ElemContainerState(yyj4604)
			if r.TryDecodeAsNil() {
				yyv4604[yyj4604] = ContainerPort{}
			} else {
				yyv4605 := &yyv4604[yyj4604]
				yyv4605.CodecDecodeSelf(d)
			}

		}
		if yyrt4604 {
			for ; yyj4604 < yyl4604; yyj4604++ {
				yyv4604 = append(yyv4604, ContainerPort{})
				yyh4604.ElemContainerState(yyj4604)
				if r.TryDecodeAsNil() {
					yyv4604[yyj4604] = ContainerPort{}
				} else {
					yyv4606 := &yyv4604[yyj4604]
					yyv4606.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4604 := 0
		for ; !r.CheckBreak(); yyj4604++ {

			if yyj4604 >= len(yyv4604) {
				yyv4604 = append(yyv4604, ContainerPort{}) // var yyz4604 ContainerPort
				yyc4604 = true
			}
			yyh4604.ElemContainerState(yyj4604)
			if yyj4604 < len(yyv4604) {
				if r.TryDecodeAsNil() {
					yyv4604[yyj4604] = ContainerPort{}
				} else {
					yyv4607 := &yyv4604[yyj4604]
					yyv4607.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4604 < len(yyv4604) {
			yyv4604 = yyv4604[:yyj4604]
			yyc4604 = true
		} else if yyj4604 == 0 && yyv4604 == nil {
			yyv4604 = []ContainerPort{}
			yyc4604 = true
		}
	}
	yyh4604.End()
	if yyc4604 {
		*v = yyv4604
	}
}

func (x codecSelfer1234) encSliceEnvVar(v []EnvVar, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4608 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4609 := &yyv4608
		yy4609.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceEnvVar(v *[]EnvVar, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4610 := *v
	yyh4610, yyl4610 := z.DecSliceHelperStart()
	var yyc4610 bool
	if yyl4610 == 0 {
		if yyv4610 == nil {
			yyv4610 = []EnvVar{}
			yyc4610 = true
		} else if len(yyv4610) != 0 {
			yyv4610 = yyv4610[:0]
			yyc4610 = true
		}
	} else if yyl4610 > 0 {
		var yyrr4610, yyrl4610 int
		var yyrt4610 bool
		if yyl4610 > cap(yyv4610) {

			yyrg4610 := len(yyv4610) > 0
			yyv24610 := yyv4610
			yyrl4610, yyrt4610 = z.DecInferLen(yyl4610, z.DecBasicHandle().MaxInitLen, 40)
			if yyrt4610 {
				if yyrl4610 <= cap(yyv4610) {
					yyv4610 = yyv4610[:yyrl4610]
				} else {
					yyv4610 = make([]EnvVar, yyrl4610)
				}
			} else {
				yyv4610 = make([]EnvVar, yyrl4610)
			}
			yyc4610 = true
			yyrr4610 = len(yyv4610)
			if yyrg4610 {
				copy(yyv4610, yyv24610)
			}
		} else if yyl4610 != len(yyv4610) {
			yyv4610 = yyv4610[:yyl4610]
			yyc4610 = true
		}
		yyj4610 := 0
		for ; yyj4610 < yyrr4610; yyj4610++ {
			yyh4610.ElemContainerState(yyj4610)
			if r.TryDecodeAsNil() {
				yyv4610[yyj4610] = EnvVar{}
			} else {
				yyv4611 := &yyv4610[yyj4610]
				yyv4611.CodecDecodeSelf(d)
			}

		}
		if yyrt4610 {
			for ; yyj4610 < yyl4610; yyj4610++ {
				yyv4610 = append(yyv4610, EnvVar{})
				yyh4610.ElemContainerState(yyj4610)
				if r.TryDecodeAsNil() {
					yyv4610[yyj4610] = EnvVar{}
				} else {
					yyv4612 := &yyv4610[yyj4610]
					yyv4612.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4610 := 0
		for ; !r.CheckBreak(); yyj4610++ {

			if yyj4610 >= len(yyv4610) {
				yyv4610 = append(yyv4610, EnvVar{}) // var yyz4610 EnvVar
				yyc4610 = true
			}
			yyh4610.ElemContainerState(yyj4610)
			if yyj4610 < len(yyv4610) {
				if r.TryDecodeAsNil() {
					yyv4610[yyj4610] = EnvVar{}
				} else {
					yyv4613 := &yyv4610[yyj4610]
					yyv4613.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4610 < len(yyv4610) {
			yyv4610 = yyv4610[:yyj4610]
			yyc4610 = true
		} else if yyj4610 == 0 && yyv4610 == nil {
			yyv4610 = []EnvVar{}
			yyc4610 = true
		}
	}
	yyh4610.End()
	if yyc4610 {
		*v = yyv4610
	}
}

func (x codecSelfer1234) encSliceVolumeMount(v []VolumeMount, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4614 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4615 := &yyv4614
		yy4615.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceVolumeMount(v *[]VolumeMount, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4616 := *v
	yyh4616, yyl4616 := z.DecSliceHelperStart()
	var yyc4616 bool
	if yyl4616 == 0 {
		if yyv4616 == nil {
			yyv4616 = []VolumeMount{}
			yyc4616 = true
		} else if len(yyv4616) != 0 {
			yyv4616 = yyv4616[:0]
			yyc4616 = true
		}
	} else if yyl4616 > 0 {
		var yyrr4616, yyrl4616 int
		var yyrt4616 bool
		if yyl4616 > cap(yyv4616) {

			yyrg4616 := len(yyv4616) > 0
			yyv24616 := yyv4616
			yyrl4616, yyrt4616 = z.DecInferLen(yyl4616, z.DecBasicHandle().MaxInitLen, 56)
			if yyrt4616 {
				if yyrl4616 <= cap(yyv4616) {
					yyv4616 = yyv4616[:yyrl4616]
				} else {
					yyv4616 = make([]VolumeMount, yyrl4616)
				}
			} else {
				yyv4616 = make([]VolumeMount, yyrl4616)
			}
			yyc4616 = true
			yyrr4616 = len(yyv4616)
			if yyrg4616 {
				copy(yyv4616, yyv24616)
			}
		} else if yyl4616 != len(yyv4616) {
			yyv4616 = yyv4616[:yyl4616]
			yyc4616 = true
		}
		yyj4616 := 0
		for ; yyj4616 < yyrr4616; yyj4616++ {
			yyh4616.ElemContainerState(yyj4616)
			if r.TryDecodeAsNil() {
				yyv4616[yyj4616] = VolumeMount{}
			} else {
				yyv4617 := &yyv4616[yyj4616]
				yyv4617.CodecDecodeSelf(d)
			}

		}
		if yyrt4616 {
			for ; yyj4616 < yyl4616; yyj4616++ {
				yyv4616 = append(yyv4616, VolumeMount{})
				yyh4616.ElemContainerState(yyj4616)
				if r.TryDecodeAsNil() {
					yyv4616[yyj4616] = VolumeMount{}
				} else {
					yyv4618 := &yyv4616[yyj4616]
					yyv4618.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4616 := 0
		for ; !r.CheckBreak(); yyj4616++ {

			if yyj4616 >= len(yyv4616) {
				yyv4616 = append(yyv4616, VolumeMount{}) // var yyz4616 VolumeMount
				yyc4616 = true
			}
			yyh4616.ElemContainerState(yyj4616)
			if yyj4616 < len(yyv4616) {
				if r.TryDecodeAsNil() {
					yyv4616[yyj4616] = VolumeMount{}
				} else {
					yyv4619 := &yyv4616[yyj4616]
					yyv4619.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4616 < len(yyv4616) {
			yyv4616 = yyv4616[:yyj4616]
			yyc4616 = true
		} else if yyj4616 == 0 && yyv4616 == nil {
			yyv4616 = []VolumeMount{}
			yyc4616 = true
		}
	}
	yyh4616.End()
	if yyc4616 {
		*v = yyv4616
	}
}

func (x codecSelfer1234) encSlicePod(v []Pod, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4620 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4621 := &yyv4620
		yy4621.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePod(v *[]Pod, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4622 := *v
	yyh4622, yyl4622 := z.DecSliceHelperStart()
	var yyc4622 bool
	if yyl4622 == 0 {
		if yyv4622 == nil {
			yyv4622 = []Pod{}
			yyc4622 = true
		} else if len(yyv4622) != 0 {
			yyv4622 = yyv4622[:0]
			yyc4622 = true
		}
	} else if yyl4622 > 0 {
		var yyrr4622, yyrl4622 int
		var yyrt4622 bool
		if yyl4622 > cap(yyv4622) {

			yyrg4622 := len(yyv4622) > 0
			yyv24622 := yyv4622
			yyrl4622, yyrt4622 = z.DecInferLen(yyl4622, z.DecBasicHandle().MaxInitLen, 640)
			if yyrt4622 {
				if yyrl4622 <= cap(yyv4622) {
					yyv4622 = yyv4622[:yyrl4622]
				} else {
					yyv4622 = make([]Pod, yyrl4622)
				}
			} else {
				yyv4622 = make([]Pod, yyrl4622)
			}
			yyc4622 = true
			yyrr4622 = len(yyv4622)
			if yyrg4622 {
				copy(yyv4622, yyv24622)
			}
		} else if yyl4622 != len(yyv4622) {
			yyv4622 = yyv4622[:yyl4622]
			yyc4622 = true
		}
		yyj4622 := 0
		for ; yyj4622 < yyrr4622; yyj4622++ {
			yyh4622.ElemContainerState(yyj4622)
			if r.TryDecodeAsNil() {
				yyv4622[yyj4622] = Pod{}
			} else {
				yyv4623 := &yyv4622[yyj4622]
				yyv4623.CodecDecodeSelf(d)
			}

		}
		if yyrt4622 {
			for ; yyj4622 < yyl4622; yyj4622++ {
				yyv4622 = append(yyv4622, Pod{})
				yyh4622.ElemContainerState(yyj4622)
				if r.TryDecodeAsNil() {
					yyv4622[yyj4622] = Pod{}
				} else {
					yyv4624 := &yyv4622[yyj4622]
					yyv4624.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4622 := 0
		for ; !r.CheckBreak(); yyj4622++ {

			if yyj4622 >= len(yyv4622) {
				yyv4622 = append(yyv4622, Pod{}) // var yyz4622 Pod
				yyc4622 = true
			}
			yyh4622.ElemContainerState(yyj4622)
			if yyj4622 < len(yyv4622) {
				if r.TryDecodeAsNil() {
					yyv4622[yyj4622] = Pod{}
				} else {
					yyv4625 := &yyv4622[yyj4622]
					yyv4625.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4622 < len(yyv4622) {
			yyv4622 = yyv4622[:yyj4622]
			yyc4622 = true
		} else if yyj4622 == 0 && yyv4622 == nil {
			yyv4622 = []Pod{}
			yyc4622 = true
		}
	}
	yyh4622.End()
	if yyc4622 {
		*v = yyv4622
	}
}

func (x codecSelfer1234) encSliceNodeSelectorTerm(v []NodeSelectorTerm, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4626 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4627 := &yyv4626
		yy4627.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceNodeSelectorTerm(v *[]NodeSelectorTerm, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4628 := *v
	yyh4628, yyl4628 := z.DecSliceHelperStart()
	var yyc4628 bool
	if yyl4628 == 0 {
		if yyv4628 == nil {
			yyv4628 = []NodeSelectorTerm{}
			yyc4628 = true
		} else if len(yyv4628) != 0 {
			yyv4628 = yyv4628[:0]
			yyc4628 = true
		}
	} else if yyl4628 > 0 {
		var yyrr4628, yyrl4628 int
		var yyrt4628 bool
		if yyl4628 > cap(yyv4628) {

			yyrg4628 := len(yyv4628) > 0
			yyv24628 := yyv4628
			yyrl4628, yyrt4628 = z.DecInferLen(yyl4628, z.DecBasicHandle().MaxInitLen, 24)
			if yyrt4628 {
				if yyrl4628 <= cap(yyv4628) {
					yyv4628 = yyv4628[:yyrl4628]
				} else {
					yyv4628 = make([]NodeSelectorTerm, yyrl4628)
				}
			} else {
				yyv4628 = make([]NodeSelectorTerm, yyrl4628)
			}
			yyc4628 = true
			yyrr4628 = len(yyv4628)
			if yyrg4628 {
				copy(yyv4628, yyv24628)
			}
		} else if yyl4628 != len(yyv4628) {
			yyv4628 = yyv4628[:yyl4628]
			yyc4628 = true
		}
		yyj4628 := 0
		for ; yyj4628 < yyrr4628; yyj4628++ {
			yyh4628.ElemContainerState(yyj4628)
			if r.TryDecodeAsNil() {
				yyv4628[yyj4628] = NodeSelectorTerm{}
			} else {
				yyv4629 := &yyv4628[yyj4628]
				yyv4629.CodecDecodeSelf(d)
			}

		}
		if yyrt4628 {
			for ; yyj4628 < yyl4628; yyj4628++ {
				yyv4628 = append(yyv4628, NodeSelectorTerm{})
				yyh4628.ElemContainerState(yyj4628)
				if r.TryDecodeAsNil() {
					yyv4628[yyj4628] = NodeSelectorTerm{}
				} else {
					yyv4630 := &yyv4628[yyj4628]
					yyv4630.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4628 := 0
		for ; !r.CheckBreak(); yyj4628++ {

			if yyj4628 >= len(yyv4628) {
				yyv4628 = append(yyv4628, NodeSelectorTerm{}) // var yyz4628 NodeSelectorTerm
				yyc4628 = true
			}
			yyh4628.ElemContainerState(yyj4628)
			if yyj4628 < len(yyv4628) {
				if r.TryDecodeAsNil() {
					yyv4628[yyj4628] = NodeSelectorTerm{}
				} else {
					yyv4631 := &yyv4628[yyj4628]
					yyv4631.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4628 < len(yyv4628) {
			yyv4628 = yyv4628[:yyj4628]
			yyc4628 = true
		} else if yyj4628 == 0 && yyv4628 == nil {
			yyv4628 = []NodeSelectorTerm{}
			yyc4628 = true
		}
	}
	yyh4628.End()
	if yyc4628 {
		*v = yyv4628
	}
}

func (x codecSelfer1234) encSliceNodeSelectorRequirement(v []NodeSelectorRequirement, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4632 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4633 := &yyv4632
		yy4633.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceNodeSelectorRequirement(v *[]NodeSelectorRequirement, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4634 := *v
	yyh4634, yyl4634 := z.DecSliceHelperStart()
	var yyc4634 bool
	if yyl4634 == 0 {
		if yyv4634 == nil {
			yyv4634 = []NodeSelectorRequirement{}
			yyc4634 = true
		} else if len(yyv4634) != 0 {
			yyv4634 = yyv4634[:0]
			yyc4634 = true
		}
	} else if yyl4634 > 0 {
		var yyrr4634, yyrl4634 int
		var yyrt4634 bool
		if yyl4634 > cap(yyv4634) {

			yyrg4634 := len(yyv4634) > 0
			yyv24634 := yyv4634
			yyrl4634, yyrt4634 = z.DecInferLen(yyl4634, z.DecBasicHandle().MaxInitLen, 56)
			if yyrt4634 {
				if yyrl4634 <= cap(yyv4634) {
					yyv4634 = yyv4634[:yyrl4634]
				} else {
					yyv4634 = make([]NodeSelectorRequirement, yyrl4634)
				}
			} else {
				yyv4634 = make([]NodeSelectorRequirement, yyrl4634)
			}
			yyc4634 = true
			yyrr4634 = len(yyv4634)
			if yyrg4634 {
				copy(yyv4634, yyv24634)
			}
		} else if yyl4634 != len(yyv4634) {
			yyv4634 = yyv4634[:yyl4634]
			yyc4634 = true
		}
		yyj4634 := 0
		for ; yyj4634 < yyrr4634; yyj4634++ {
			yyh4634.ElemContainerState(yyj4634)
			if r.TryDecodeAsNil() {
				yyv4634[yyj4634] = NodeSelectorRequirement{}
			} else {
				yyv4635 := &yyv4634[yyj4634]
				yyv4635.CodecDecodeSelf(d)
			}

		}
		if yyrt4634 {
			for ; yyj4634 < yyl4634; yyj4634++ {
				yyv4634 = append(yyv4634, NodeSelectorRequirement{})
				yyh4634.ElemContainerState(yyj4634)
				if r.TryDecodeAsNil() {
					yyv4634[yyj4634] = NodeSelectorRequirement{}
				} else {
					yyv4636 := &yyv4634[yyj4634]
					yyv4636.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4634 := 0
		for ; !r.CheckBreak(); yyj4634++ {

			if yyj4634 >= len(yyv4634) {
				yyv4634 = append(yyv4634, NodeSelectorRequirement{}) // var yyz4634 NodeSelectorRequirement
				yyc4634 = true
			}
			yyh4634.ElemContainerState(yyj4634)
			if yyj4634 < len(yyv4634) {
				if r.TryDecodeAsNil() {
					yyv4634[yyj4634] = NodeSelectorRequirement{}
				} else {
					yyv4637 := &yyv4634[yyj4634]
					yyv4637.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4634 < len(yyv4634) {
			yyv4634 = yyv4634[:yyj4634]
			yyc4634 = true
		} else if yyj4634 == 0 && yyv4634 == nil {
			yyv4634 = []NodeSelectorRequirement{}
			yyc4634 = true
		}
	}
	yyh4634.End()
	if yyc4634 {
		*v = yyv4634
	}
}

func (x codecSelfer1234) encSlicePodAffinityTerm(v []PodAffinityTerm, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4638 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4639 := &yyv4638
		yy4639.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePodAffinityTerm(v *[]PodAffinityTerm, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4640 := *v
	yyh4640, yyl4640 := z.DecSliceHelperStart()
	var yyc4640 bool
	if yyl4640 == 0 {
		if yyv4640 == nil {
			yyv4640 = []PodAffinityTerm{}
			yyc4640 = true
		} else if len(yyv4640) != 0 {
			yyv4640 = yyv4640[:0]
			yyc4640 = true
		}
	} else if yyl4640 > 0 {
		var yyrr4640, yyrl4640 int
		var yyrt4640 bool
		if yyl4640 > cap(yyv4640) {

			yyrg4640 := len(yyv4640) > 0
			yyv24640 := yyv4640
			yyrl4640, yyrt4640 = z.DecInferLen(yyl4640, z.DecBasicHandle().MaxInitLen, 48)
			if yyrt4640 {
				if yyrl4640 <= cap(yyv4640) {
					yyv4640 = yyv4640[:yyrl4640]
				} else {
					yyv4640 = make([]PodAffinityTerm, yyrl4640)
				}
			} else {
				yyv4640 = make([]PodAffinityTerm, yyrl4640)
			}
			yyc4640 = true
			yyrr4640 = len(yyv4640)
			if yyrg4640 {
				copy(yyv4640, yyv24640)
			}
		} else if yyl4640 != len(yyv4640) {
			yyv4640 = yyv4640[:yyl4640]
			yyc4640 = true
		}
		yyj4640 := 0
		for ; yyj4640 < yyrr4640; yyj4640++ {
			yyh4640.ElemContainerState(yyj4640)
			if r.TryDecodeAsNil() {
				yyv4640[yyj4640] = PodAffinityTerm{}
			} else {
				yyv4641 := &yyv4640[yyj4640]
				yyv4641.CodecDecodeSelf(d)
			}

		}
		if yyrt4640 {
			for ; yyj4640 < yyl4640; yyj4640++ {
				yyv4640 = append(yyv4640, PodAffinityTerm{})
				yyh4640.ElemContainerState(yyj4640)
				if r.TryDecodeAsNil() {
					yyv4640[yyj4640] = PodAffinityTerm{}
				} else {
					yyv4642 := &yyv4640[yyj4640]
					yyv4642.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4640 := 0
		for ; !r.CheckBreak(); yyj4640++ {

			if yyj4640 >= len(yyv4640) {
				yyv4640 = append(yyv4640, PodAffinityTerm{}) // var yyz4640 PodAffinityTerm
				yyc4640 = true
			}
			yyh4640.ElemContainerState(yyj4640)
			if yyj4640 < len(yyv4640) {
				if r.TryDecodeAsNil() {
					yyv4640[yyj4640] = PodAffinityTerm{}
				} else {
					yyv4643 := &yyv4640[yyj4640]
					yyv4643.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4640 < len(yyv4640) {
			yyv4640 = yyv4640[:yyj4640]
			yyc4640 = true
		} else if yyj4640 == 0 && yyv4640 == nil {
			yyv4640 = []PodAffinityTerm{}
			yyc4640 = true
		}
	}
	yyh4640.End()
	if yyc4640 {
		*v = yyv4640
	}
}

func (x codecSelfer1234) encSliceWeightedPodAffinityTerm(v []WeightedPodAffinityTerm, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4644 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4645 := &yyv4644
		yy4645.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceWeightedPodAffinityTerm(v *[]WeightedPodAffinityTerm, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4646 := *v
	yyh4646, yyl4646 := z.DecSliceHelperStart()
	var yyc4646 bool
	if yyl4646 == 0 {
		if yyv4646 == nil {
			yyv4646 = []WeightedPodAffinityTerm{}
			yyc4646 = true
		} else if len(yyv4646) != 0 {
			yyv4646 = yyv4646[:0]
			yyc4646 = true
		}
	} else if yyl4646 > 0 {
		var yyrr4646, yyrl4646 int
		var yyrt4646 bool
		if yyl4646 > cap(yyv4646) {

			yyrg4646 := len(yyv4646) > 0
			yyv24646 := yyv4646
			yyrl4646, yyrt4646 = z.DecInferLen(yyl4646, z.DecBasicHandle().MaxInitLen, 56)
			if yyrt4646 {
				if yyrl4646 <= cap(yyv4646) {
					yyv4646 = yyv4646[:yyrl4646]
				} else {
					yyv4646 = make([]WeightedPodAffinityTerm, yyrl4646)
				}
			} else {
				yyv4646 = make([]WeightedPodAffinityTerm, yyrl4646)
			}
			yyc4646 = true
			yyrr4646 = len(yyv4646)
			if yyrg4646 {
				copy(yyv4646, yyv24646)
			}
		} else if yyl4646 != len(yyv4646) {
			yyv4646 = yyv4646[:yyl4646]
			yyc4646 = true
		}
		yyj4646 := 0
		for ; yyj4646 < yyrr4646; yyj4646++ {
			yyh4646.ElemContainerState(yyj4646)
			if r.TryDecodeAsNil() {
				yyv4646[yyj4646] = WeightedPodAffinityTerm{}
			} else {
				yyv4647 := &yyv4646[yyj4646]
				yyv4647.CodecDecodeSelf(d)
			}

		}
		if yyrt4646 {
			for ; yyj4646 < yyl4646; yyj4646++ {
				yyv4646 = append(yyv4646, WeightedPodAffinityTerm{})
				yyh4646.ElemContainerState(yyj4646)
				if r.TryDecodeAsNil() {
					yyv4646[yyj4646] = WeightedPodAffinityTerm{}
				} else {
					yyv4648 := &yyv4646[yyj4646]
					yyv4648.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4646 := 0
		for ; !r.CheckBreak(); yyj4646++ {

			if yyj4646 >= len(yyv4646) {
				yyv4646 = append(yyv4646, WeightedPodAffinityTerm{}) // var yyz4646 WeightedPodAffinityTerm
				yyc4646 = true
			}
			yyh4646.ElemContainerState(yyj4646)
			if yyj4646 < len(yyv4646) {
				if r.TryDecodeAsNil() {
					yyv4646[yyj4646] = WeightedPodAffinityTerm{}
				} else {
					yyv4649 := &yyv4646[yyj4646]
					yyv4649.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4646 < len(yyv4646) {
			yyv4646 = yyv4646[:yyj4646]
			yyc4646 = true
		} else if yyj4646 == 0 && yyv4646 == nil {
			yyv4646 = []WeightedPodAffinityTerm{}
			yyc4646 = true
		}
	}
	yyh4646.End()
	if yyc4646 {
		*v = yyv4646
	}
}

func (x codecSelfer1234) encSlicePreferredSchedulingTerm(v []PreferredSchedulingTerm, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4650 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4651 := &yyv4650
		yy4651.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePreferredSchedulingTerm(v *[]PreferredSchedulingTerm, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4652 := *v
	yyh4652, yyl4652 := z.DecSliceHelperStart()
	var yyc4652 bool
	if yyl4652 == 0 {
		if yyv4652 == nil {
			yyv4652 = []PreferredSchedulingTerm{}
			yyc4652 = true
		} else if len(yyv4652) != 0 {
			yyv4652 = yyv4652[:0]
			yyc4652 = true
		}
	} else if yyl4652 > 0 {
		var yyrr4652, yyrl4652 int
		var yyrt4652 bool
		if yyl4652 > cap(yyv4652) {

			yyrg4652 := len(yyv4652) > 0
			yyv24652 := yyv4652
			yyrl4652, yyrt4652 = z.DecInferLen(yyl4652, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt4652 {
				if yyrl4652 <= cap(yyv4652) {
					yyv4652 = yyv4652[:yyrl4652]
				} else {
					yyv4652 = make([]PreferredSchedulingTerm, yyrl4652)
				}
			} else {
				yyv4652 = make([]PreferredSchedulingTerm, yyrl4652)
			}
			yyc4652 = true
			yyrr4652 = len(yyv4652)
			if yyrg4652 {
				copy(yyv4652, yyv24652)
			}
		} else if yyl4652 != len(yyv4652) {
			yyv4652 = yyv4652[:yyl4652]
			yyc4652 = true
		}
		yyj4652 := 0
		for ; yyj4652 < yyrr4652; yyj4652++ {
			yyh4652.ElemContainerState(yyj4652)
			if r.TryDecodeAsNil() {
				yyv4652[yyj4652] = PreferredSchedulingTerm{}
			} else {
				yyv4653 := &yyv4652[yyj4652]
				yyv4653.CodecDecodeSelf(d)
			}

		}
		if yyrt4652 {
			for ; yyj4652 < yyl4652; yyj4652++ {
				yyv4652 = append(yyv4652, PreferredSchedulingTerm{})
				yyh4652.ElemContainerState(yyj4652)
				if r.TryDecodeAsNil() {
					yyv4652[yyj4652] = PreferredSchedulingTerm{}
				} else {
					yyv4654 := &yyv4652[yyj4652]
					yyv4654.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4652 := 0
		for ; !r.CheckBreak(); yyj4652++ {

			if yyj4652 >= len(yyv4652) {
				yyv4652 = append(yyv4652, PreferredSchedulingTerm{}) // var yyz4652 PreferredSchedulingTerm
				yyc4652 = true
			}
			yyh4652.ElemContainerState(yyj4652)
			if yyj4652 < len(yyv4652) {
				if r.TryDecodeAsNil() {
					yyv4652[yyj4652] = PreferredSchedulingTerm{}
				} else {
					yyv4655 := &yyv4652[yyj4652]
					yyv4655.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4652 < len(yyv4652) {
			yyv4652 = yyv4652[:yyj4652]
			yyc4652 = true
		} else if yyj4652 == 0 && yyv4652 == nil {
			yyv4652 = []PreferredSchedulingTerm{}
			yyc4652 = true
		}
	}
	yyh4652.End()
	if yyc4652 {
		*v = yyv4652
	}
}

func (x codecSelfer1234) encSliceVolume(v []Volume, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4656 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4657 := &yyv4656
		yy4657.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceVolume(v *[]Volume, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4658 := *v
	yyh4658, yyl4658 := z.DecSliceHelperStart()
	var yyc4658 bool
	if yyl4658 == 0 {
		if yyv4658 == nil {
			yyv4658 = []Volume{}
			yyc4658 = true
		} else if len(yyv4658) != 0 {
			yyv4658 = yyv4658[:0]
			yyc4658 = true
		}
	} else if yyl4658 > 0 {
		var yyrr4658, yyrl4658 int
		var yyrt4658 bool
		if yyl4658 > cap(yyv4658) {

			yyrg4658 := len(yyv4658) > 0
			yyv24658 := yyv4658
			yyrl4658, yyrt4658 = z.DecInferLen(yyl4658, z.DecBasicHandle().MaxInitLen, 200)
			if yyrt4658 {
				if yyrl4658 <= cap(yyv4658) {
					yyv4658 = yyv4658[:yyrl4658]
				} else {
					yyv4658 = make([]Volume, yyrl4658)
				}
			} else {
				yyv4658 = make([]Volume, yyrl4658)
			}
			yyc4658 = true
			yyrr4658 = len(yyv4658)
			if yyrg4658 {
				copy(yyv4658, yyv24658)
			}
		} else if yyl4658 != len(yyv4658) {
			yyv4658 = yyv4658[:yyl4658]
			yyc4658 = true
		}
		yyj4658 := 0
		for ; yyj4658 < yyrr4658; yyj4658++ {
			yyh4658.ElemContainerState(yyj4658)
			if r.TryDecodeAsNil() {
				yyv4658[yyj4658] = Volume{}
			} else {
				yyv4659 := &yyv4658[yyj4658]
				yyv4659.CodecDecodeSelf(d)
			}

		}
		if yyrt4658 {
			for ; yyj4658 < yyl4658; yyj4658++ {
				yyv4658 = append(yyv4658, Volume{})
				yyh4658.ElemContainerState(yyj4658)
				if r.TryDecodeAsNil() {
					yyv4658[yyj4658] = Volume{}
				} else {
					yyv4660 := &yyv4658[yyj4658]
					yyv4660.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4658 := 0
		for ; !r.CheckBreak(); yyj4658++ {

			if yyj4658 >= len(yyv4658) {
				yyv4658 = append(yyv4658, Volume{}) // var yyz4658 Volume
				yyc4658 = true
			}
			yyh4658.ElemContainerState(yyj4658)
			if yyj4658 < len(yyv4658) {
				if r.TryDecodeAsNil() {
					yyv4658[yyj4658] = Volume{}
				} else {
					yyv4661 := &yyv4658[yyj4658]
					yyv4661.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4658 < len(yyv4658) {
			yyv4658 = yyv4658[:yyj4658]
			yyc4658 = true
		} else if yyj4658 == 0 && yyv4658 == nil {
			yyv4658 = []Volume{}
			yyc4658 = true
		}
	}
	yyh4658.End()
	if yyc4658 {
		*v = yyv4658
	}
}

func (x codecSelfer1234) encSliceContainer(v []Container, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4662 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4663 := &yyv4662
		yy4663.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceContainer(v *[]Container, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4664 := *v
	yyh4664, yyl4664 := z.DecSliceHelperStart()
	var yyc4664 bool
	if yyl4664 == 0 {
		if yyv4664 == nil {
			yyv4664 = []Container{}
			yyc4664 = true
		} else if len(yyv4664) != 0 {
			yyv4664 = yyv4664[:0]
			yyc4664 = true
		}
	} else if yyl4664 > 0 {
		var yyrr4664, yyrl4664 int
		var yyrt4664 bool
		if yyl4664 > cap(yyv4664) {

			yyrg4664 := len(yyv4664) > 0
			yyv24664 := yyv4664
			yyrl4664, yyrt4664 = z.DecInferLen(yyl4664, z.DecBasicHandle().MaxInitLen, 256)
			if yyrt4664 {
				if yyrl4664 <= cap(yyv4664) {
					yyv4664 = yyv4664[:yyrl4664]
				} else {
					yyv4664 = make([]Container, yyrl4664)
				}
			} else {
				yyv4664 = make([]Container, yyrl4664)
			}
			yyc4664 = true
			yyrr4664 = len(yyv4664)
			if yyrg4664 {
				copy(yyv4664, yyv24664)
			}
		} else if yyl4664 != len(yyv4664) {
			yyv4664 = yyv4664[:yyl4664]
			yyc4664 = true
		}
		yyj4664 := 0
		for ; yyj4664 < yyrr4664; yyj4664++ {
			yyh4664.ElemContainerState(yyj4664)
			if r.TryDecodeAsNil() {
				yyv4664[yyj4664] = Container{}
			} else {
				yyv4665 := &yyv4664[yyj4664]
				yyv4665.CodecDecodeSelf(d)
			}

		}
		if yyrt4664 {
			for ; yyj4664 < yyl4664; yyj4664++ {
				yyv4664 = append(yyv4664, Container{})
				yyh4664.ElemContainerState(yyj4664)
				if r.TryDecodeAsNil() {
					yyv4664[yyj4664] = Container{}
				} else {
					yyv4666 := &yyv4664[yyj4664]
					yyv4666.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4664 := 0
		for ; !r.CheckBreak(); yyj4664++ {

			if yyj4664 >= len(yyv4664) {
				yyv4664 = append(yyv4664, Container{}) // var yyz4664 Container
				yyc4664 = true
			}
			yyh4664.ElemContainerState(yyj4664)
			if yyj4664 < len(yyv4664) {
				if r.TryDecodeAsNil() {
					yyv4664[yyj4664] = Container{}
				} else {
					yyv4667 := &yyv4664[yyj4664]
					yyv4667.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4664 < len(yyv4664) {
			yyv4664 = yyv4664[:yyj4664]
			yyc4664 = true
		} else if yyj4664 == 0 && yyv4664 == nil {
			yyv4664 = []Container{}
			yyc4664 = true
		}
	}
	yyh4664.End()
	if yyc4664 {
		*v = yyv4664
	}
}

func (x codecSelfer1234) encSliceLocalObjectReference(v []LocalObjectReference, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4668 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4669 := &yyv4668
		yy4669.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceLocalObjectReference(v *[]LocalObjectReference, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4670 := *v
	yyh4670, yyl4670 := z.DecSliceHelperStart()
	var yyc4670 bool
	if yyl4670 == 0 {
		if yyv4670 == nil {
			yyv4670 = []LocalObjectReference{}
			yyc4670 = true
		} else if len(yyv4670) != 0 {
			yyv4670 = yyv4670[:0]
			yyc4670 = true
		}
	} else if yyl4670 > 0 {
		var yyrr4670, yyrl4670 int
		var yyrt4670 bool
		if yyl4670 > cap(yyv4670) {

			yyrg4670 := len(yyv4670) > 0
			yyv24670 := yyv4670
			yyrl4670, yyrt4670 = z.DecInferLen(yyl4670, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt4670 {
				if yyrl4670 <= cap(yyv4670) {
					yyv4670 = yyv4670[:yyrl4670]
				} else {
					yyv4670 = make([]LocalObjectReference, yyrl4670)
				}
			} else {
				yyv4670 = make([]LocalObjectReference, yyrl4670)
			}
			yyc4670 = true
			yyrr4670 = len(yyv4670)
			if yyrg4670 {
				copy(yyv4670, yyv24670)
			}
		} else if yyl4670 != len(yyv4670) {
			yyv4670 = yyv4670[:yyl4670]
			yyc4670 = true
		}
		yyj4670 := 0
		for ; yyj4670 < yyrr4670; yyj4670++ {
			yyh4670.ElemContainerState(yyj4670)
			if r.TryDecodeAsNil() {
				yyv4670[yyj4670] = LocalObjectReference{}
			} else {
				yyv4671 := &yyv4670[yyj4670]
				yyv4671.CodecDecodeSelf(d)
			}

		}
		if yyrt4670 {
			for ; yyj4670 < yyl4670; yyj4670++ {
				yyv4670 = append(yyv4670, LocalObjectReference{})
				yyh4670.ElemContainerState(yyj4670)
				if r.TryDecodeAsNil() {
					yyv4670[yyj4670] = LocalObjectReference{}
				} else {
					yyv4672 := &yyv4670[yyj4670]
					yyv4672.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4670 := 0
		for ; !r.CheckBreak(); yyj4670++ {

			if yyj4670 >= len(yyv4670) {
				yyv4670 = append(yyv4670, LocalObjectReference{}) // var yyz4670 LocalObjectReference
				yyc4670 = true
			}
			yyh4670.ElemContainerState(yyj4670)
			if yyj4670 < len(yyv4670) {
				if r.TryDecodeAsNil() {
					yyv4670[yyj4670] = LocalObjectReference{}
				} else {
					yyv4673 := &yyv4670[yyj4670]
					yyv4673.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4670 < len(yyv4670) {
			yyv4670 = yyv4670[:yyj4670]
			yyc4670 = true
		} else if yyj4670 == 0 && yyv4670 == nil {
			yyv4670 = []LocalObjectReference{}
			yyc4670 = true
		}
	}
	yyh4670.End()
	if yyc4670 {
		*v = yyv4670
	}
}

func (x codecSelfer1234) encSlicePodCondition(v []PodCondition, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4674 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4675 := &yyv4674
		yy4675.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePodCondition(v *[]PodCondition, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4676 := *v
	yyh4676, yyl4676 := z.DecSliceHelperStart()
	var yyc4676 bool
	if yyl4676 == 0 {
		if yyv4676 == nil {
			yyv4676 = []PodCondition{}
			yyc4676 = true
		} else if len(yyv4676) != 0 {
			yyv4676 = yyv4676[:0]
			yyc4676 = true
		}
	} else if yyl4676 > 0 {
		var yyrr4676, yyrl4676 int
		var yyrt4676 bool
		if yyl4676 > cap(yyv4676) {

			yyrg4676 := len(yyv4676) > 0
			yyv24676 := yyv4676
			yyrl4676, yyrt4676 = z.DecInferLen(yyl4676, z.DecBasicHandle().MaxInitLen, 112)
			if yyrt4676 {
				if yyrl4676 <= cap(yyv4676) {
					yyv4676 = yyv4676[:yyrl4676]
				} else {
					yyv4676 = make([]PodCondition, yyrl4676)
				}
			} else {
				yyv4676 = make([]PodCondition, yyrl4676)
			}
			yyc4676 = true
			yyrr4676 = len(yyv4676)
			if yyrg4676 {
				copy(yyv4676, yyv24676)
			}
		} else if yyl4676 != len(yyv4676) {
			yyv4676 = yyv4676[:yyl4676]
			yyc4676 = true
		}
		yyj4676 := 0
		for ; yyj4676 < yyrr4676; yyj4676++ {
			yyh4676.ElemContainerState(yyj4676)
			if r.TryDecodeAsNil() {
				yyv4676[yyj4676] = PodCondition{}
			} else {
				yyv4677 := &yyv4676[yyj4676]
				yyv4677.CodecDecodeSelf(d)
			}

		}
		if yyrt4676 {
			for ; yyj4676 < yyl4676; yyj4676++ {
				yyv4676 = append(yyv4676, PodCondition{})
				yyh4676.ElemContainerState(yyj4676)
				if r.TryDecodeAsNil() {
					yyv4676[yyj4676] = PodCondition{}
				} else {
					yyv4678 := &yyv4676[yyj4676]
					yyv4678.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4676 := 0
		for ; !r.CheckBreak(); yyj4676++ {

			if yyj4676 >= len(yyv4676) {
				yyv4676 = append(yyv4676, PodCondition{}) // var yyz4676 PodCondition
				yyc4676 = true
			}
			yyh4676.ElemContainerState(yyj4676)
			if yyj4676 < len(yyv4676) {
				if r.TryDecodeAsNil() {
					yyv4676[yyj4676] = PodCondition{}
				} else {
					yyv4679 := &yyv4676[yyj4676]
					yyv4679.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4676 < len(yyv4676) {
			yyv4676 = yyv4676[:yyj4676]
			yyc4676 = true
		} else if yyj4676 == 0 && yyv4676 == nil {
			yyv4676 = []PodCondition{}
			yyc4676 = true
		}
	}
	yyh4676.End()
	if yyc4676 {
		*v = yyv4676
	}
}

func (x codecSelfer1234) encSliceContainerStatus(v []ContainerStatus, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4680 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4681 := &yyv4680
		yy4681.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceContainerStatus(v *[]ContainerStatus, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4682 := *v
	yyh4682, yyl4682 := z.DecSliceHelperStart()
	var yyc4682 bool
	if yyl4682 == 0 {
		if yyv4682 == nil {
			yyv4682 = []ContainerStatus{}
			yyc4682 = true
		} else if len(yyv4682) != 0 {
			yyv4682 = yyv4682[:0]
			yyc4682 = true
		}
	} else if yyl4682 > 0 {
		var yyrr4682, yyrl4682 int
		var yyrt4682 bool
		if yyl4682 > cap(yyv4682) {

			yyrg4682 := len(yyv4682) > 0
			yyv24682 := yyv4682
			yyrl4682, yyrt4682 = z.DecInferLen(yyl4682, z.DecBasicHandle().MaxInitLen, 120)
			if yyrt4682 {
				if yyrl4682 <= cap(yyv4682) {
					yyv4682 = yyv4682[:yyrl4682]
				} else {
					yyv4682 = make([]ContainerStatus, yyrl4682)
				}
			} else {
				yyv4682 = make([]ContainerStatus, yyrl4682)
			}
			yyc4682 = true
			yyrr4682 = len(yyv4682)
			if yyrg4682 {
				copy(yyv4682, yyv24682)
			}
		} else if yyl4682 != len(yyv4682) {
			yyv4682 = yyv4682[:yyl4682]
			yyc4682 = true
		}
		yyj4682 := 0
		for ; yyj4682 < yyrr4682; yyj4682++ {
			yyh4682.ElemContainerState(yyj4682)
			if r.TryDecodeAsNil() {
				yyv4682[yyj4682] = ContainerStatus{}
			} else {
				yyv4683 := &yyv4682[yyj4682]
				yyv4683.CodecDecodeSelf(d)
			}

		}
		if yyrt4682 {
			for ; yyj4682 < yyl4682; yyj4682++ {
				yyv4682 = append(yyv4682, ContainerStatus{})
				yyh4682.ElemContainerState(yyj4682)
				if r.TryDecodeAsNil() {
					yyv4682[yyj4682] = ContainerStatus{}
				} else {
					yyv4684 := &yyv4682[yyj4682]
					yyv4684.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4682 := 0
		for ; !r.CheckBreak(); yyj4682++ {

			if yyj4682 >= len(yyv4682) {
				yyv4682 = append(yyv4682, ContainerStatus{}) // var yyz4682 ContainerStatus
				yyc4682 = true
			}
			yyh4682.ElemContainerState(yyj4682)
			if yyj4682 < len(yyv4682) {
				if r.TryDecodeAsNil() {
					yyv4682[yyj4682] = ContainerStatus{}
				} else {
					yyv4685 := &yyv4682[yyj4682]
					yyv4685.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4682 < len(yyv4682) {
			yyv4682 = yyv4682[:yyj4682]
			yyc4682 = true
		} else if yyj4682 == 0 && yyv4682 == nil {
			yyv4682 = []ContainerStatus{}
			yyc4682 = true
		}
	}
	yyh4682.End()
	if yyc4682 {
		*v = yyv4682
	}
}

func (x codecSelfer1234) encSlicePodTemplate(v []PodTemplate, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4686 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4687 := &yyv4686
		yy4687.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePodTemplate(v *[]PodTemplate, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4688 := *v
	yyh4688, yyl4688 := z.DecSliceHelperStart()
	var yyc4688 bool
	if yyl4688 == 0 {
		if yyv4688 == nil {
			yyv4688 = []PodTemplate{}
			yyc4688 = true
		} else if len(yyv4688) != 0 {
			yyv4688 = yyv4688[:0]
			yyc4688 = true
		}
	} else if yyl4688 > 0 {
		var yyrr4688, yyrl4688 int
		var yyrt4688 bool
		if yyl4688 > cap(yyv4688) {

			yyrg4688 := len(yyv4688) > 0
			yyv24688 := yyv4688
			yyrl4688, yyrt4688 = z.DecInferLen(yyl4688, z.DecBasicHandle().MaxInitLen, 704)
			if yyrt4688 {
				if yyrl4688 <= cap(yyv4688) {
					yyv4688 = yyv4688[:yyrl4688]
				} else {
					yyv4688 = make([]PodTemplate, yyrl4688)
				}
			} else {
				yyv4688 = make([]PodTemplate, yyrl4688)
			}
			yyc4688 = true
			yyrr4688 = len(yyv4688)
			if yyrg4688 {
				copy(yyv4688, yyv24688)
			}
		} else if yyl4688 != len(yyv4688) {
			yyv4688 = yyv4688[:yyl4688]
			yyc4688 = true
		}
		yyj4688 := 0
		for ; yyj4688 < yyrr4688; yyj4688++ {
			yyh4688.ElemContainerState(yyj4688)
			if r.TryDecodeAsNil() {
				yyv4688[yyj4688] = PodTemplate{}
			} else {
				yyv4689 := &yyv4688[yyj4688]
				yyv4689.CodecDecodeSelf(d)
			}

		}
		if yyrt4688 {
			for ; yyj4688 < yyl4688; yyj4688++ {
				yyv4688 = append(yyv4688, PodTemplate{})
				yyh4688.ElemContainerState(yyj4688)
				if r.TryDecodeAsNil() {
					yyv4688[yyj4688] = PodTemplate{}
				} else {
					yyv4690 := &yyv4688[yyj4688]
					yyv4690.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4688 := 0
		for ; !r.CheckBreak(); yyj4688++ {

			if yyj4688 >= len(yyv4688) {
				yyv4688 = append(yyv4688, PodTemplate{}) // var yyz4688 PodTemplate
				yyc4688 = true
			}
			yyh4688.ElemContainerState(yyj4688)
			if yyj4688 < len(yyv4688) {
				if r.TryDecodeAsNil() {
					yyv4688[yyj4688] = PodTemplate{}
				} else {
					yyv4691 := &yyv4688[yyj4688]
					yyv4691.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4688 < len(yyv4688) {
			yyv4688 = yyv4688[:yyj4688]
			yyc4688 = true
		} else if yyj4688 == 0 && yyv4688 == nil {
			yyv4688 = []PodTemplate{}
			yyc4688 = true
		}
	}
	yyh4688.End()
	if yyc4688 {
		*v = yyv4688
	}
}

func (x codecSelfer1234) encSliceReplicationControllerCondition(v []ReplicationControllerCondition, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4692 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4693 := &yyv4692
		yy4693.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceReplicationControllerCondition(v *[]ReplicationControllerCondition, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4694 := *v
	yyh4694, yyl4694 := z.DecSliceHelperStart()
	var yyc4694 bool
	if yyl4694 == 0 {
		if yyv4694 == nil {
			yyv4694 = []ReplicationControllerCondition{}
			yyc4694 = true
		} else if len(yyv4694) != 0 {
			yyv4694 = yyv4694[:0]
			yyc4694 = true
		}
	} else if yyl4694 > 0 {
		var yyrr4694, yyrl4694 int
		var yyrt4694 bool
		if yyl4694 > cap(yyv4694) {

			yyrg4694 := len(yyv4694) > 0
			yyv24694 := yyv4694
			yyrl4694, yyrt4694 = z.DecInferLen(yyl4694, z.DecBasicHandle().MaxInitLen, 88)
			if yyrt4694 {
				if yyrl4694 <= cap(yyv4694) {
					yyv4694 = yyv4694[:yyrl4694]
				} else {
					yyv4694 = make([]ReplicationControllerCondition, yyrl4694)
				}
			} else {
				yyv4694 = make([]ReplicationControllerCondition, yyrl4694)
			}
			yyc4694 = true
			yyrr4694 = len(yyv4694)
			if yyrg4694 {
				copy(yyv4694, yyv24694)
			}
		} else if yyl4694 != len(yyv4694) {
			yyv4694 = yyv4694[:yyl4694]
			yyc4694 = true
		}
		yyj4694 := 0
		for ; yyj4694 < yyrr4694; yyj4694++ {
			yyh4694.ElemContainerState(yyj4694)
			if r.TryDecodeAsNil() {
				yyv4694[yyj4694] = ReplicationControllerCondition{}
			} else {
				yyv4695 := &yyv4694[yyj4694]
				yyv4695.CodecDecodeSelf(d)
			}

		}
		if yyrt4694 {
			for ; yyj4694 < yyl4694; yyj4694++ {
				yyv4694 = append(yyv4694, ReplicationControllerCondition{})
				yyh4694.ElemContainerState(yyj4694)
				if r.TryDecodeAsNil() {
					yyv4694[yyj4694] = ReplicationControllerCondition{}
				} else {
					yyv4696 := &yyv4694[yyj4694]
					yyv4696.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4694 := 0
		for ; !r.CheckBreak(); yyj4694++ {

			if yyj4694 >= len(yyv4694) {
				yyv4694 = append(yyv4694, ReplicationControllerCondition{}) // var yyz4694 ReplicationControllerCondition
				yyc4694 = true
			}
			yyh4694.ElemContainerState(yyj4694)
			if yyj4694 < len(yyv4694) {
				if r.TryDecodeAsNil() {
					yyv4694[yyj4694] = ReplicationControllerCondition{}
				} else {
					yyv4697 := &yyv4694[yyj4694]
					yyv4697.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4694 < len(yyv4694) {
			yyv4694 = yyv4694[:yyj4694]
			yyc4694 = true
		} else if yyj4694 == 0 && yyv4694 == nil {
			yyv4694 = []ReplicationControllerCondition{}
			yyc4694 = true
		}
	}
	yyh4694.End()
	if yyc4694 {
		*v = yyv4694
	}
}

func (x codecSelfer1234) encSliceReplicationController(v []ReplicationController, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4698 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4699 := &yyv4698
		yy4699.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceReplicationController(v *[]ReplicationController, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4700 := *v
	yyh4700, yyl4700 := z.DecSliceHelperStart()
	var yyc4700 bool
	if yyl4700 == 0 {
		if yyv4700 == nil {
			yyv4700 = []ReplicationController{}
			yyc4700 = true
		} else if len(yyv4700) != 0 {
			yyv4700 = yyv4700[:0]
			yyc4700 = true
		}
	} else if yyl4700 > 0 {
		var yyrr4700, yyrl4700 int
		var yyrt4700 bool
		if yyl4700 > cap(yyv4700) {

			yyrg4700 := len(yyv4700) > 0
			yyv24700 := yyv4700
			yyrl4700, yyrt4700 = z.DecInferLen(yyl4700, z.DecBasicHandle().MaxInitLen, 328)
			if yyrt4700 {
				if yyrl4700 <= cap(yyv4700) {
					yyv4700 = yyv4700[:yyrl4700]
				} else {
					yyv4700 = make([]ReplicationController, yyrl4700)
				}
			} else {
				yyv4700 = make([]ReplicationController, yyrl4700)
			}
			yyc4700 = true
			yyrr4700 = len(yyv4700)
			if yyrg4700 {
				copy(yyv4700, yyv24700)
			}
		} else if yyl4700 != len(yyv4700) {
			yyv4700 = yyv4700[:yyl4700]
			yyc4700 = true
		}
		yyj4700 := 0
		for ; yyj4700 < yyrr4700; yyj4700++ {
			yyh4700.ElemContainerState(yyj4700)
			if r.TryDecodeAsNil() {
				yyv4700[yyj4700] = ReplicationController{}
			} else {
				yyv4701 := &yyv4700[yyj4700]
				yyv4701.CodecDecodeSelf(d)
			}

		}
		if yyrt4700 {
			for ; yyj4700 < yyl4700; yyj4700++ {
				yyv4700 = append(yyv4700, ReplicationController{})
				yyh4700.ElemContainerState(yyj4700)
				if r.TryDecodeAsNil() {
					yyv4700[yyj4700] = ReplicationController{}
				} else {
					yyv4702 := &yyv4700[yyj4700]
					yyv4702.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4700 := 0
		for ; !r.CheckBreak(); yyj4700++ {

			if yyj4700 >= len(yyv4700) {
				yyv4700 = append(yyv4700, ReplicationController{}) // var yyz4700 ReplicationController
				yyc4700 = true
			}
			yyh4700.ElemContainerState(yyj4700)
			if yyj4700 < len(yyv4700) {
				if r.TryDecodeAsNil() {
					yyv4700[yyj4700] = ReplicationController{}
				} else {
					yyv4703 := &yyv4700[yyj4700]
					yyv4703.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4700 < len(yyv4700) {
			yyv4700 = yyv4700[:yyj4700]
			yyc4700 = true
		} else if yyj4700 == 0 && yyv4700 == nil {
			yyv4700 = []ReplicationController{}
			yyc4700 = true
		}
	}
	yyh4700.End()
	if yyc4700 {
		*v = yyv4700
	}
}

func (x codecSelfer1234) encSliceService(v []Service, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4704 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4705 := &yyv4704
		yy4705.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceService(v *[]Service, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4706 := *v
	yyh4706, yyl4706 := z.DecSliceHelperStart()
	var yyc4706 bool
	if yyl4706 == 0 {
		if yyv4706 == nil {
			yyv4706 = []Service{}
			yyc4706 = true
		} else if len(yyv4706) != 0 {
			yyv4706 = yyv4706[:0]
			yyc4706 = true
		}
	} else if yyl4706 > 0 {
		var yyrr4706, yyrl4706 int
		var yyrt4706 bool
		if yyl4706 > cap(yyv4706) {

			yyrg4706 := len(yyv4706) > 0
			yyv24706 := yyv4706
			yyrl4706, yyrt4706 = z.DecInferLen(yyl4706, z.DecBasicHandle().MaxInitLen, 440)
			if yyrt4706 {
				if yyrl4706 <= cap(yyv4706) {
					yyv4706 = yyv4706[:yyrl4706]
				} else {
					yyv4706 = make([]Service, yyrl4706)
				}
			} else {
				yyv4706 = make([]Service, yyrl4706)
			}
			yyc4706 = true
			yyrr4706 = len(yyv4706)
			if yyrg4706 {
				copy(yyv4706, yyv24706)
			}
		} else if yyl4706 != len(yyv4706) {
			yyv4706 = yyv4706[:yyl4706]
			yyc4706 = true
		}
		yyj4706 := 0
		for ; yyj4706 < yyrr4706; yyj4706++ {
			yyh4706.ElemContainerState(yyj4706)
			if r.TryDecodeAsNil() {
				yyv4706[yyj4706] = Service{}
			} else {
				yyv4707 := &yyv4706[yyj4706]
				yyv4707.CodecDecodeSelf(d)
			}

		}
		if yyrt4706 {
			for ; yyj4706 < yyl4706; yyj4706++ {
				yyv4706 = append(yyv4706, Service{})
				yyh4706.ElemContainerState(yyj4706)
				if r.TryDecodeAsNil() {
					yyv4706[yyj4706] = Service{}
				} else {
					yyv4708 := &yyv4706[yyj4706]
					yyv4708.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4706 := 0
		for ; !r.CheckBreak(); yyj4706++ {

			if yyj4706 >= len(yyv4706) {
				yyv4706 = append(yyv4706, Service{}) // var yyz4706 Service
				yyc4706 = true
			}
			yyh4706.ElemContainerState(yyj4706)
			if yyj4706 < len(yyv4706) {
				if r.TryDecodeAsNil() {
					yyv4706[yyj4706] = Service{}
				} else {
					yyv4709 := &yyv4706[yyj4706]
					yyv4709.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4706 < len(yyv4706) {
			yyv4706 = yyv4706[:yyj4706]
			yyc4706 = true
		} else if yyj4706 == 0 && yyv4706 == nil {
			yyv4706 = []Service{}
			yyc4706 = true
		}
	}
	yyh4706.End()
	if yyc4706 {
		*v = yyv4706
	}
}

func (x codecSelfer1234) encSliceLoadBalancerIngress(v []LoadBalancerIngress, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4710 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4711 := &yyv4710
		yy4711.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceLoadBalancerIngress(v *[]LoadBalancerIngress, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4712 := *v
	yyh4712, yyl4712 := z.DecSliceHelperStart()
	var yyc4712 bool
	if yyl4712 == 0 {
		if yyv4712 == nil {
			yyv4712 = []LoadBalancerIngress{}
			yyc4712 = true
		} else if len(yyv4712) != 0 {
			yyv4712 = yyv4712[:0]
			yyc4712 = true
		}
	} else if yyl4712 > 0 {
		var yyrr4712, yyrl4712 int
		var yyrt4712 bool
		if yyl4712 > cap(yyv4712) {

			yyrg4712 := len(yyv4712) > 0
			yyv24712 := yyv4712
			yyrl4712, yyrt4712 = z.DecInferLen(yyl4712, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt4712 {
				if yyrl4712 <= cap(yyv4712) {
					yyv4712 = yyv4712[:yyrl4712]
				} else {
					yyv4712 = make([]LoadBalancerIngress, yyrl4712)
				}
			} else {
				yyv4712 = make([]LoadBalancerIngress, yyrl4712)
			}
			yyc4712 = true
			yyrr4712 = len(yyv4712)
			if yyrg4712 {
				copy(yyv4712, yyv24712)
			}
		} else if yyl4712 != len(yyv4712) {
			yyv4712 = yyv4712[:yyl4712]
			yyc4712 = true
		}
		yyj4712 := 0
		for ; yyj4712 < yyrr4712; yyj4712++ {
			yyh4712.ElemContainerState(yyj4712)
			if r.TryDecodeAsNil() {
				yyv4712[yyj4712] = LoadBalancerIngress{}
			} else {
				yyv4713 := &yyv4712[yyj4712]
				yyv4713.CodecDecodeSelf(d)
			}

		}
		if yyrt4712 {
			for ; yyj4712 < yyl4712; yyj4712++ {
				yyv4712 = append(yyv4712, LoadBalancerIngress{})
				yyh4712.ElemContainerState(yyj4712)
				if r.TryDecodeAsNil() {
					yyv4712[yyj4712] = LoadBalancerIngress{}
				} else {
					yyv4714 := &yyv4712[yyj4712]
					yyv4714.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4712 := 0
		for ; !r.CheckBreak(); yyj4712++ {

			if yyj4712 >= len(yyv4712) {
				yyv4712 = append(yyv4712, LoadBalancerIngress{}) // var yyz4712 LoadBalancerIngress
				yyc4712 = true
			}
			yyh4712.ElemContainerState(yyj4712)
			if yyj4712 < len(yyv4712) {
				if r.TryDecodeAsNil() {
					yyv4712[yyj4712] = LoadBalancerIngress{}
				} else {
					yyv4715 := &yyv4712[yyj4712]
					yyv4715.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4712 < len(yyv4712) {
			yyv4712 = yyv4712[:yyj4712]
			yyc4712 = true
		} else if yyj4712 == 0 && yyv4712 == nil {
			yyv4712 = []LoadBalancerIngress{}
			yyc4712 = true
		}
	}
	yyh4712.End()
	if yyc4712 {
		*v = yyv4712
	}
}

func (x codecSelfer1234) encSliceServicePort(v []ServicePort, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4716 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4717 := &yyv4716
		yy4717.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceServicePort(v *[]ServicePort, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4718 := *v
	yyh4718, yyl4718 := z.DecSliceHelperStart()
	var yyc4718 bool
	if yyl4718 == 0 {
		if yyv4718 == nil {
			yyv4718 = []ServicePort{}
			yyc4718 = true
		} else if len(yyv4718) != 0 {
			yyv4718 = yyv4718[:0]
			yyc4718 = true
		}
	} else if yyl4718 > 0 {
		var yyrr4718, yyrl4718 int
		var yyrt4718 bool
		if yyl4718 > cap(yyv4718) {

			yyrg4718 := len(yyv4718) > 0
			yyv24718 := yyv4718
			yyrl4718, yyrt4718 = z.DecInferLen(yyl4718, z.DecBasicHandle().MaxInitLen, 80)
			if yyrt4718 {
				if yyrl4718 <= cap(yyv4718) {
					yyv4718 = yyv4718[:yyrl4718]
				} else {
					yyv4718 = make([]ServicePort, yyrl4718)
				}
			} else {
				yyv4718 = make([]ServicePort, yyrl4718)
			}
			yyc4718 = true
			yyrr4718 = len(yyv4718)
			if yyrg4718 {
				copy(yyv4718, yyv24718)
			}
		} else if yyl4718 != len(yyv4718) {
			yyv4718 = yyv4718[:yyl4718]
			yyc4718 = true
		}
		yyj4718 := 0
		for ; yyj4718 < yyrr4718; yyj4718++ {
			yyh4718.ElemContainerState(yyj4718)
			if r.TryDecodeAsNil() {
				yyv4718[yyj4718] = ServicePort{}
			} else {
				yyv4719 := &yyv4718[yyj4718]
				yyv4719.CodecDecodeSelf(d)
			}

		}
		if yyrt4718 {
			for ; yyj4718 < yyl4718; yyj4718++ {
				yyv4718 = append(yyv4718, ServicePort{})
				yyh4718.ElemContainerState(yyj4718)
				if r.TryDecodeAsNil() {
					yyv4718[yyj4718] = ServicePort{}
				} else {
					yyv4720 := &yyv4718[yyj4718]
					yyv4720.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4718 := 0
		for ; !r.CheckBreak(); yyj4718++ {

			if yyj4718 >= len(yyv4718) {
				yyv4718 = append(yyv4718, ServicePort{}) // var yyz4718 ServicePort
				yyc4718 = true
			}
			yyh4718.ElemContainerState(yyj4718)
			if yyj4718 < len(yyv4718) {
				if r.TryDecodeAsNil() {
					yyv4718[yyj4718] = ServicePort{}
				} else {
					yyv4721 := &yyv4718[yyj4718]
					yyv4721.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4718 < len(yyv4718) {
			yyv4718 = yyv4718[:yyj4718]
			yyc4718 = true
		} else if yyj4718 == 0 && yyv4718 == nil {
			yyv4718 = []ServicePort{}
			yyc4718 = true
		}
	}
	yyh4718.End()
	if yyc4718 {
		*v = yyv4718
	}
}

func (x codecSelfer1234) encSliceObjectReference(v []ObjectReference, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4722 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4723 := &yyv4722
		yy4723.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceObjectReference(v *[]ObjectReference, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4724 := *v
	yyh4724, yyl4724 := z.DecSliceHelperStart()
	var yyc4724 bool
	if yyl4724 == 0 {
		if yyv4724 == nil {
			yyv4724 = []ObjectReference{}
			yyc4724 = true
		} else if len(yyv4724) != 0 {
			yyv4724 = yyv4724[:0]
			yyc4724 = true
		}
	} else if yyl4724 > 0 {
		var yyrr4724, yyrl4724 int
		var yyrt4724 bool
		if yyl4724 > cap(yyv4724) {

			yyrg4724 := len(yyv4724) > 0
			yyv24724 := yyv4724
			yyrl4724, yyrt4724 = z.DecInferLen(yyl4724, z.DecBasicHandle().MaxInitLen, 112)
			if yyrt4724 {
				if yyrl4724 <= cap(yyv4724) {
					yyv4724 = yyv4724[:yyrl4724]
				} else {
					yyv4724 = make([]ObjectReference, yyrl4724)
				}
			} else {
				yyv4724 = make([]ObjectReference, yyrl4724)
			}
			yyc4724 = true
			yyrr4724 = len(yyv4724)
			if yyrg4724 {
				copy(yyv4724, yyv24724)
			}
		} else if yyl4724 != len(yyv4724) {
			yyv4724 = yyv4724[:yyl4724]
			yyc4724 = true
		}
		yyj4724 := 0
		for ; yyj4724 < yyrr4724; yyj4724++ {
			yyh4724.ElemContainerState(yyj4724)
			if r.TryDecodeAsNil() {
				yyv4724[yyj4724] = ObjectReference{}
			} else {
				yyv4725 := &yyv4724[yyj4724]
				yyv4725.CodecDecodeSelf(d)
			}

		}
		if yyrt4724 {
			for ; yyj4724 < yyl4724; yyj4724++ {
				yyv4724 = append(yyv4724, ObjectReference{})
				yyh4724.ElemContainerState(yyj4724)
				if r.TryDecodeAsNil() {
					yyv4724[yyj4724] = ObjectReference{}
				} else {
					yyv4726 := &yyv4724[yyj4724]
					yyv4726.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4724 := 0
		for ; !r.CheckBreak(); yyj4724++ {

			if yyj4724 >= len(yyv4724) {
				yyv4724 = append(yyv4724, ObjectReference{}) // var yyz4724 ObjectReference
				yyc4724 = true
			}
			yyh4724.ElemContainerState(yyj4724)
			if yyj4724 < len(yyv4724) {
				if r.TryDecodeAsNil() {
					yyv4724[yyj4724] = ObjectReference{}
				} else {
					yyv4727 := &yyv4724[yyj4724]
					yyv4727.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4724 < len(yyv4724) {
			yyv4724 = yyv4724[:yyj4724]
			yyc4724 = true
		} else if yyj4724 == 0 && yyv4724 == nil {
			yyv4724 = []ObjectReference{}
			yyc4724 = true
		}
	}
	yyh4724.End()
	if yyc4724 {
		*v = yyv4724
	}
}

func (x codecSelfer1234) encSliceServiceAccount(v []ServiceAccount, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4728 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4729 := &yyv4728
		yy4729.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceServiceAccount(v *[]ServiceAccount, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4730 := *v
	yyh4730, yyl4730 := z.DecSliceHelperStart()
	var yyc4730 bool
	if yyl4730 == 0 {
		if yyv4730 == nil {
			yyv4730 = []ServiceAccount{}
			yyc4730 = true
		} else if len(yyv4730) != 0 {
			yyv4730 = yyv4730[:0]
			yyc4730 = true
		}
	} else if yyl4730 > 0 {
		var yyrr4730, yyrl4730 int
		var yyrt4730 bool
		if yyl4730 > cap(yyv4730) {

			yyrg4730 := len(yyv4730) > 0
			yyv24730 := yyv4730
			yyrl4730, yyrt4730 = z.DecInferLen(yyl4730, z.DecBasicHandle().MaxInitLen, 304)
			if yyrt4730 {
				if yyrl4730 <= cap(yyv4730) {
					yyv4730 = yyv4730[:yyrl4730]
				} else {
					yyv4730 = make([]ServiceAccount, yyrl4730)
				}
			} else {
				yyv4730 = make([]ServiceAccount, yyrl4730)
			}
			yyc4730 = true
			yyrr4730 = len(yyv4730)
			if yyrg4730 {
				copy(yyv4730, yyv24730)
			}
		} else if yyl4730 != len(yyv4730) {
			yyv4730 = yyv4730[:yyl4730]
			yyc4730 = true
		}
		yyj4730 := 0
		for ; yyj4730 < yyrr4730; yyj4730++ {
			yyh4730.ElemContainerState(yyj4730)
			if r.TryDecodeAsNil() {
				yyv4730[yyj4730] = ServiceAccount{}
			} else {
				yyv4731 := &yyv4730[yyj4730]
				yyv4731.CodecDecodeSelf(d)
			}

		}
		if yyrt4730 {
			for ; yyj4730 < yyl4730; yyj4730++ {
				yyv4730 = append(yyv4730, ServiceAccount{})
				yyh4730.ElemContainerState(yyj4730)
				if r.TryDecodeAsNil() {
					yyv4730[yyj4730] = ServiceAccount{}
				} else {
					yyv4732 := &yyv4730[yyj4730]
					yyv4732.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4730 := 0
		for ; !r.CheckBreak(); yyj4730++ {

			if yyj4730 >= len(yyv4730) {
				yyv4730 = append(yyv4730, ServiceAccount{}) // var yyz4730 ServiceAccount
				yyc4730 = true
			}
			yyh4730.ElemContainerState(yyj4730)
			if yyj4730 < len(yyv4730) {
				if r.TryDecodeAsNil() {
					yyv4730[yyj4730] = ServiceAccount{}
				} else {
					yyv4733 := &yyv4730[yyj4730]
					yyv4733.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4730 < len(yyv4730) {
			yyv4730 = yyv4730[:yyj4730]
			yyc4730 = true
		} else if yyj4730 == 0 && yyv4730 == nil {
			yyv4730 = []ServiceAccount{}
			yyc4730 = true
		}
	}
	yyh4730.End()
	if yyc4730 {
		*v = yyv4730
	}
}

func (x codecSelfer1234) encSliceEndpointSubset(v []EndpointSubset, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4734 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4735 := &yyv4734
		yy4735.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceEndpointSubset(v *[]EndpointSubset, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4736 := *v
	yyh4736, yyl4736 := z.DecSliceHelperStart()
	var yyc4736 bool
	if yyl4736 == 0 {
		if yyv4736 == nil {
			yyv4736 = []EndpointSubset{}
			yyc4736 = true
		} else if len(yyv4736) != 0 {
			yyv4736 = yyv4736[:0]
			yyc4736 = true
		}
	} else if yyl4736 > 0 {
		var yyrr4736, yyrl4736 int
		var yyrt4736 bool
		if yyl4736 > cap(yyv4736) {

			yyrg4736 := len(yyv4736) > 0
			yyv24736 := yyv4736
			yyrl4736, yyrt4736 = z.DecInferLen(yyl4736, z.DecBasicHandle().MaxInitLen, 72)
			if yyrt4736 {
				if yyrl4736 <= cap(yyv4736) {
					yyv4736 = yyv4736[:yyrl4736]
				} else {
					yyv4736 = make([]EndpointSubset, yyrl4736)
				}
			} else {
				yyv4736 = make([]EndpointSubset, yyrl4736)
			}
			yyc4736 = true
			yyrr4736 = len(yyv4736)
			if yyrg4736 {
				copy(yyv4736, yyv24736)
			}
		} else if yyl4736 != len(yyv4736) {
			yyv4736 = yyv4736[:yyl4736]
			yyc4736 = true
		}
		yyj4736 := 0
		for ; yyj4736 < yyrr4736; yyj4736++ {
			yyh4736.ElemContainerState(yyj4736)
			if r.TryDecodeAsNil() {
				yyv4736[yyj4736] = EndpointSubset{}
			} else {
				yyv4737 := &yyv4736[yyj4736]
				yyv4737.CodecDecodeSelf(d)
			}

		}
		if yyrt4736 {
			for ; yyj4736 < yyl4736; yyj4736++ {
				yyv4736 = append(yyv4736, EndpointSubset{})
				yyh4736.ElemContainerState(yyj4736)
				if r.TryDecodeAsNil() {
					yyv4736[yyj4736] = EndpointSubset{}
				} else {
					yyv4738 := &yyv4736[yyj4736]
					yyv4738.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4736 := 0
		for ; !r.CheckBreak(); yyj4736++ {

			if yyj4736 >= len(yyv4736) {
				yyv4736 = append(yyv4736, EndpointSubset{}) // var yyz4736 EndpointSubset
				yyc4736 = true
			}
			yyh4736.ElemContainerState(yyj4736)
			if yyj4736 < len(yyv4736) {
				if r.TryDecodeAsNil() {
					yyv4736[yyj4736] = EndpointSubset{}
				} else {
					yyv4739 := &yyv4736[yyj4736]
					yyv4739.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4736 < len(yyv4736) {
			yyv4736 = yyv4736[:yyj4736]
			yyc4736 = true
		} else if yyj4736 == 0 && yyv4736 == nil {
			yyv4736 = []EndpointSubset{}
			yyc4736 = true
		}
	}
	yyh4736.End()
	if yyc4736 {
		*v = yyv4736
	}
}

func (x codecSelfer1234) encSliceEndpointAddress(v []EndpointAddress, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4740 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4741 := &yyv4740
		yy4741.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceEndpointAddress(v *[]EndpointAddress, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4742 := *v
	yyh4742, yyl4742 := z.DecSliceHelperStart()
	var yyc4742 bool
	if yyl4742 == 0 {
		if yyv4742 == nil {
			yyv4742 = []EndpointAddress{}
			yyc4742 = true
		} else if len(yyv4742) != 0 {
			yyv4742 = yyv4742[:0]
			yyc4742 = true
		}
	} else if yyl4742 > 0 {
		var yyrr4742, yyrl4742 int
		var yyrt4742 bool
		if yyl4742 > cap(yyv4742) {

			yyrg4742 := len(yyv4742) > 0
			yyv24742 := yyv4742
			yyrl4742, yyrt4742 = z.DecInferLen(yyl4742, z.DecBasicHandle().MaxInitLen, 48)
			if yyrt4742 {
				if yyrl4742 <= cap(yyv4742) {
					yyv4742 = yyv4742[:yyrl4742]
				} else {
					yyv4742 = make([]EndpointAddress, yyrl4742)
				}
			} else {
				yyv4742 = make([]EndpointAddress, yyrl4742)
			}
			yyc4742 = true
			yyrr4742 = len(yyv4742)
			if yyrg4742 {
				copy(yyv4742, yyv24742)
			}
		} else if yyl4742 != len(yyv4742) {
			yyv4742 = yyv4742[:yyl4742]
			yyc4742 = true
		}
		yyj4742 := 0
		for ; yyj4742 < yyrr4742; yyj4742++ {
			yyh4742.ElemContainerState(yyj4742)
			if r.TryDecodeAsNil() {
				yyv4742[yyj4742] = EndpointAddress{}
			} else {
				yyv4743 := &yyv4742[yyj4742]
				yyv4743.CodecDecodeSelf(d)
			}

		}
		if yyrt4742 {
			for ; yyj4742 < yyl4742; yyj4742++ {
				yyv4742 = append(yyv4742, EndpointAddress{})
				yyh4742.ElemContainerState(yyj4742)
				if r.TryDecodeAsNil() {
					yyv4742[yyj4742] = EndpointAddress{}
				} else {
					yyv4744 := &yyv4742[yyj4742]
					yyv4744.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4742 := 0
		for ; !r.CheckBreak(); yyj4742++ {

			if yyj4742 >= len(yyv4742) {
				yyv4742 = append(yyv4742, EndpointAddress{}) // var yyz4742 EndpointAddress
				yyc4742 = true
			}
			yyh4742.ElemContainerState(yyj4742)
			if yyj4742 < len(yyv4742) {
				if r.TryDecodeAsNil() {
					yyv4742[yyj4742] = EndpointAddress{}
				} else {
					yyv4745 := &yyv4742[yyj4742]
					yyv4745.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4742 < len(yyv4742) {
			yyv4742 = yyv4742[:yyj4742]
			yyc4742 = true
		} else if yyj4742 == 0 && yyv4742 == nil {
			yyv4742 = []EndpointAddress{}
			yyc4742 = true
		}
	}
	yyh4742.End()
	if yyc4742 {
		*v = yyv4742
	}
}

func (x codecSelfer1234) encSliceEndpointPort(v []EndpointPort, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4746 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4747 := &yyv4746
		yy4747.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceEndpointPort(v *[]EndpointPort, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4748 := *v
	yyh4748, yyl4748 := z.DecSliceHelperStart()
	var yyc4748 bool
	if yyl4748 == 0 {
		if yyv4748 == nil {
			yyv4748 = []EndpointPort{}
			yyc4748 = true
		} else if len(yyv4748) != 0 {
			yyv4748 = yyv4748[:0]
			yyc4748 = true
		}
	} else if yyl4748 > 0 {
		var yyrr4748, yyrl4748 int
		var yyrt4748 bool
		if yyl4748 > cap(yyv4748) {

			yyrg4748 := len(yyv4748) > 0
			yyv24748 := yyv4748
			yyrl4748, yyrt4748 = z.DecInferLen(yyl4748, z.DecBasicHandle().MaxInitLen, 40)
			if yyrt4748 {
				if yyrl4748 <= cap(yyv4748) {
					yyv4748 = yyv4748[:yyrl4748]
				} else {
					yyv4748 = make([]EndpointPort, yyrl4748)
				}
			} else {
				yyv4748 = make([]EndpointPort, yyrl4748)
			}
			yyc4748 = true
			yyrr4748 = len(yyv4748)
			if yyrg4748 {
				copy(yyv4748, yyv24748)
			}
		} else if yyl4748 != len(yyv4748) {
			yyv4748 = yyv4748[:yyl4748]
			yyc4748 = true
		}
		yyj4748 := 0
		for ; yyj4748 < yyrr4748; yyj4748++ {
			yyh4748.ElemContainerState(yyj4748)
			if r.TryDecodeAsNil() {
				yyv4748[yyj4748] = EndpointPort{}
			} else {
				yyv4749 := &yyv4748[yyj4748]
				yyv4749.CodecDecodeSelf(d)
			}

		}
		if yyrt4748 {
			for ; yyj4748 < yyl4748; yyj4748++ {
				yyv4748 = append(yyv4748, EndpointPort{})
				yyh4748.ElemContainerState(yyj4748)
				if r.TryDecodeAsNil() {
					yyv4748[yyj4748] = EndpointPort{}
				} else {
					yyv4750 := &yyv4748[yyj4748]
					yyv4750.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4748 := 0
		for ; !r.CheckBreak(); yyj4748++ {

			if yyj4748 >= len(yyv4748) {
				yyv4748 = append(yyv4748, EndpointPort{}) // var yyz4748 EndpointPort
				yyc4748 = true
			}
			yyh4748.ElemContainerState(yyj4748)
			if yyj4748 < len(yyv4748) {
				if r.TryDecodeAsNil() {
					yyv4748[yyj4748] = EndpointPort{}
				} else {
					yyv4751 := &yyv4748[yyj4748]
					yyv4751.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4748 < len(yyv4748) {
			yyv4748 = yyv4748[:yyj4748]
			yyc4748 = true
		} else if yyj4748 == 0 && yyv4748 == nil {
			yyv4748 = []EndpointPort{}
			yyc4748 = true
		}
	}
	yyh4748.End()
	if yyc4748 {
		*v = yyv4748
	}
}

func (x codecSelfer1234) encSliceEndpoints(v []Endpoints, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4752 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4753 := &yyv4752
		yy4753.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceEndpoints(v *[]Endpoints, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4754 := *v
	yyh4754, yyl4754 := z.DecSliceHelperStart()
	var yyc4754 bool
	if yyl4754 == 0 {
		if yyv4754 == nil {
			yyv4754 = []Endpoints{}
			yyc4754 = true
		} else if len(yyv4754) != 0 {
			yyv4754 = yyv4754[:0]
			yyc4754 = true
		}
	} else if yyl4754 > 0 {
		var yyrr4754, yyrl4754 int
		var yyrt4754 bool
		if yyl4754 > cap(yyv4754) {

			yyrg4754 := len(yyv4754) > 0
			yyv24754 := yyv4754
			yyrl4754, yyrt4754 = z.DecInferLen(yyl4754, z.DecBasicHandle().MaxInitLen, 280)
			if yyrt4754 {
				if yyrl4754 <= cap(yyv4754) {
					yyv4754 = yyv4754[:yyrl4754]
				} else {
					yyv4754 = make([]Endpoints, yyrl4754)
				}
			} else {
				yyv4754 = make([]Endpoints, yyrl4754)
			}
			yyc4754 = true
			yyrr4754 = len(yyv4754)
			if yyrg4754 {
				copy(yyv4754, yyv24754)
			}
		} else if yyl4754 != len(yyv4754) {
			yyv4754 = yyv4754[:yyl4754]
			yyc4754 = true
		}
		yyj4754 := 0
		for ; yyj4754 < yyrr4754; yyj4754++ {
			yyh4754.ElemContainerState(yyj4754)
			if r.TryDecodeAsNil() {
				yyv4754[yyj4754] = Endpoints{}
			} else {
				yyv4755 := &yyv4754[yyj4754]
				yyv4755.CodecDecodeSelf(d)
			}

		}
		if yyrt4754 {
			for ; yyj4754 < yyl4754; yyj4754++ {
				yyv4754 = append(yyv4754, Endpoints{})
				yyh4754.ElemContainerState(yyj4754)
				if r.TryDecodeAsNil() {
					yyv4754[yyj4754] = Endpoints{}
				} else {
					yyv4756 := &yyv4754[yyj4754]
					yyv4756.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4754 := 0
		for ; !r.CheckBreak(); yyj4754++ {

			if yyj4754 >= len(yyv4754) {
				yyv4754 = append(yyv4754, Endpoints{}) // var yyz4754 Endpoints
				yyc4754 = true
			}
			yyh4754.ElemContainerState(yyj4754)
			if yyj4754 < len(yyv4754) {
				if r.TryDecodeAsNil() {
					yyv4754[yyj4754] = Endpoints{}
				} else {
					yyv4757 := &yyv4754[yyj4754]
					yyv4757.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4754 < len(yyv4754) {
			yyv4754 = yyv4754[:yyj4754]
			yyc4754 = true
		} else if yyj4754 == 0 && yyv4754 == nil {
			yyv4754 = []Endpoints{}
			yyc4754 = true
		}
	}
	yyh4754.End()
	if yyc4754 {
		*v = yyv4754
	}
}

func (x codecSelfer1234) encSliceNodeCondition(v []NodeCondition, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4758 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4759 := &yyv4758
		yy4759.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceNodeCondition(v *[]NodeCondition, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4760 := *v
	yyh4760, yyl4760 := z.DecSliceHelperStart()
	var yyc4760 bool
	if yyl4760 == 0 {
		if yyv4760 == nil {
			yyv4760 = []NodeCondition{}
			yyc4760 = true
		} else if len(yyv4760) != 0 {
			yyv4760 = yyv4760[:0]
			yyc4760 = true
		}
	} else if yyl4760 > 0 {
		var yyrr4760, yyrl4760 int
		var yyrt4760 bool
		if yyl4760 > cap(yyv4760) {

			yyrg4760 := len(yyv4760) > 0
			yyv24760 := yyv4760
			yyrl4760, yyrt4760 = z.DecInferLen(yyl4760, z.DecBasicHandle().MaxInitLen, 112)
			if yyrt4760 {
				if yyrl4760 <= cap(yyv4760) {
					yyv4760 = yyv4760[:yyrl4760]
				} else {
					yyv4760 = make([]NodeCondition, yyrl4760)
				}
			} else {
				yyv4760 = make([]NodeCondition, yyrl4760)
			}
			yyc4760 = true
			yyrr4760 = len(yyv4760)
			if yyrg4760 {
				copy(yyv4760, yyv24760)
			}
		} else if yyl4760 != len(yyv4760) {
			yyv4760 = yyv4760[:yyl4760]
			yyc4760 = true
		}
		yyj4760 := 0
		for ; yyj4760 < yyrr4760; yyj4760++ {
			yyh4760.ElemContainerState(yyj4760)
			if r.TryDecodeAsNil() {
				yyv4760[yyj4760] = NodeCondition{}
			} else {
				yyv4761 := &yyv4760[yyj4760]
				yyv4761.CodecDecodeSelf(d)
			}

		}
		if yyrt4760 {
			for ; yyj4760 < yyl4760; yyj4760++ {
				yyv4760 = append(yyv4760, NodeCondition{})
				yyh4760.ElemContainerState(yyj4760)
				if r.TryDecodeAsNil() {
					yyv4760[yyj4760] = NodeCondition{}
				} else {
					yyv4762 := &yyv4760[yyj4760]
					yyv4762.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4760 := 0
		for ; !r.CheckBreak(); yyj4760++ {

			if yyj4760 >= len(yyv4760) {
				yyv4760 = append(yyv4760, NodeCondition{}) // var yyz4760 NodeCondition
				yyc4760 = true
			}
			yyh4760.ElemContainerState(yyj4760)
			if yyj4760 < len(yyv4760) {
				if r.TryDecodeAsNil() {
					yyv4760[yyj4760] = NodeCondition{}
				} else {
					yyv4763 := &yyv4760[yyj4760]
					yyv4763.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4760 < len(yyv4760) {
			yyv4760 = yyv4760[:yyj4760]
			yyc4760 = true
		} else if yyj4760 == 0 && yyv4760 == nil {
			yyv4760 = []NodeCondition{}
			yyc4760 = true
		}
	}
	yyh4760.End()
	if yyc4760 {
		*v = yyv4760
	}
}

func (x codecSelfer1234) encSliceNodeAddress(v []NodeAddress, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4764 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4765 := &yyv4764
		yy4765.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceNodeAddress(v *[]NodeAddress, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4766 := *v
	yyh4766, yyl4766 := z.DecSliceHelperStart()
	var yyc4766 bool
	if yyl4766 == 0 {
		if yyv4766 == nil {
			yyv4766 = []NodeAddress{}
			yyc4766 = true
		} else if len(yyv4766) != 0 {
			yyv4766 = yyv4766[:0]
			yyc4766 = true
		}
	} else if yyl4766 > 0 {
		var yyrr4766, yyrl4766 int
		var yyrt4766 bool
		if yyl4766 > cap(yyv4766) {

			yyrg4766 := len(yyv4766) > 0
			yyv24766 := yyv4766
			yyrl4766, yyrt4766 = z.DecInferLen(yyl4766, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt4766 {
				if yyrl4766 <= cap(yyv4766) {
					yyv4766 = yyv4766[:yyrl4766]
				} else {
					yyv4766 = make([]NodeAddress, yyrl4766)
				}
			} else {
				yyv4766 = make([]NodeAddress, yyrl4766)
			}
			yyc4766 = true
			yyrr4766 = len(yyv4766)
			if yyrg4766 {
				copy(yyv4766, yyv24766)
			}
		} else if yyl4766 != len(yyv4766) {
			yyv4766 = yyv4766[:yyl4766]
			yyc4766 = true
		}
		yyj4766 := 0
		for ; yyj4766 < yyrr4766; yyj4766++ {
			yyh4766.ElemContainerState(yyj4766)
			if r.TryDecodeAsNil() {
				yyv4766[yyj4766] = NodeAddress{}
			} else {
				yyv4767 := &yyv4766[yyj4766]
				yyv4767.CodecDecodeSelf(d)
			}

		}
		if yyrt4766 {
			for ; yyj4766 < yyl4766; yyj4766++ {
				yyv4766 = append(yyv4766, NodeAddress{})
				yyh4766.ElemContainerState(yyj4766)
				if r.TryDecodeAsNil() {
					yyv4766[yyj4766] = NodeAddress{}
				} else {
					yyv4768 := &yyv4766[yyj4766]
					yyv4768.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4766 := 0
		for ; !r.CheckBreak(); yyj4766++ {

			if yyj4766 >= len(yyv4766) {
				yyv4766 = append(yyv4766, NodeAddress{}) // var yyz4766 NodeAddress
				yyc4766 = true
			}
			yyh4766.ElemContainerState(yyj4766)
			if yyj4766 < len(yyv4766) {
				if r.TryDecodeAsNil() {
					yyv4766[yyj4766] = NodeAddress{}
				} else {
					yyv4769 := &yyv4766[yyj4766]
					yyv4769.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4766 < len(yyv4766) {
			yyv4766 = yyv4766[:yyj4766]
			yyc4766 = true
		} else if yyj4766 == 0 && yyv4766 == nil {
			yyv4766 = []NodeAddress{}
			yyc4766 = true
		}
	}
	yyh4766.End()
	if yyc4766 {
		*v = yyv4766
	}
}

func (x codecSelfer1234) encSliceContainerImage(v []ContainerImage, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4770 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4771 := &yyv4770
		yy4771.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceContainerImage(v *[]ContainerImage, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4772 := *v
	yyh4772, yyl4772 := z.DecSliceHelperStart()
	var yyc4772 bool
	if yyl4772 == 0 {
		if yyv4772 == nil {
			yyv4772 = []ContainerImage{}
			yyc4772 = true
		} else if len(yyv4772) != 0 {
			yyv4772 = yyv4772[:0]
			yyc4772 = true
		}
	} else if yyl4772 > 0 {
		var yyrr4772, yyrl4772 int
		var yyrt4772 bool
		if yyl4772 > cap(yyv4772) {

			yyrg4772 := len(yyv4772) > 0
			yyv24772 := yyv4772
			yyrl4772, yyrt4772 = z.DecInferLen(yyl4772, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt4772 {
				if yyrl4772 <= cap(yyv4772) {
					yyv4772 = yyv4772[:yyrl4772]
				} else {
					yyv4772 = make([]ContainerImage, yyrl4772)
				}
			} else {
				yyv4772 = make([]ContainerImage, yyrl4772)
			}
			yyc4772 = true
			yyrr4772 = len(yyv4772)
			if yyrg4772 {
				copy(yyv4772, yyv24772)
			}
		} else if yyl4772 != len(yyv4772) {
			yyv4772 = yyv4772[:yyl4772]
			yyc4772 = true
		}
		yyj4772 := 0
		for ; yyj4772 < yyrr4772; yyj4772++ {
			yyh4772.ElemContainerState(yyj4772)
			if r.TryDecodeAsNil() {
				yyv4772[yyj4772] = ContainerImage{}
			} else {
				yyv4773 := &yyv4772[yyj4772]
				yyv4773.CodecDecodeSelf(d)
			}

		}
		if yyrt4772 {
			for ; yyj4772 < yyl4772; yyj4772++ {
				yyv4772 = append(yyv4772, ContainerImage{})
				yyh4772.ElemContainerState(yyj4772)
				if r.TryDecodeAsNil() {
					yyv4772[yyj4772] = ContainerImage{}
				} else {
					yyv4774 := &yyv4772[yyj4772]
					yyv4774.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4772 := 0
		for ; !r.CheckBreak(); yyj4772++ {

			if yyj4772 >= len(yyv4772) {
				yyv4772 = append(yyv4772, ContainerImage{}) // var yyz4772 ContainerImage
				yyc4772 = true
			}
			yyh4772.ElemContainerState(yyj4772)
			if yyj4772 < len(yyv4772) {
				if r.TryDecodeAsNil() {
					yyv4772[yyj4772] = ContainerImage{}
				} else {
					yyv4775 := &yyv4772[yyj4772]
					yyv4775.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4772 < len(yyv4772) {
			yyv4772 = yyv4772[:yyj4772]
			yyc4772 = true
		} else if yyj4772 == 0 && yyv4772 == nil {
			yyv4772 = []ContainerImage{}
			yyc4772 = true
		}
	}
	yyh4772.End()
	if yyc4772 {
		*v = yyv4772
	}
}

func (x codecSelfer1234) encSliceUniqueVolumeName(v []UniqueVolumeName, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4776 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yyv4776.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceUniqueVolumeName(v *[]UniqueVolumeName, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4777 := *v
	yyh4777, yyl4777 := z.DecSliceHelperStart()
	var yyc4777 bool
	if yyl4777 == 0 {
		if yyv4777 == nil {
			yyv4777 = []UniqueVolumeName{}
			yyc4777 = true
		} else if len(yyv4777) != 0 {
			yyv4777 = yyv4777[:0]
			yyc4777 = true
		}
	} else if yyl4777 > 0 {
		var yyrr4777, yyrl4777 int
		var yyrt4777 bool
		if yyl4777 > cap(yyv4777) {

			yyrl4777, yyrt4777 = z.DecInferLen(yyl4777, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt4777 {
				if yyrl4777 <= cap(yyv4777) {
					yyv4777 = yyv4777[:yyrl4777]
				} else {
					yyv4777 = make([]UniqueVolumeName, yyrl4777)
				}
			} else {
				yyv4777 = make([]UniqueVolumeName, yyrl4777)
			}
			yyc4777 = true
			yyrr4777 = len(yyv4777)
		} else if yyl4777 != len(yyv4777) {
			yyv4777 = yyv4777[:yyl4777]
			yyc4777 = true
		}
		yyj4777 := 0
		for ; yyj4777 < yyrr4777; yyj4777++ {
			yyh4777.ElemContainerState(yyj4777)
			if r.TryDecodeAsNil() {
				yyv4777[yyj4777] = ""
			} else {
				yyv4777[yyj4777] = UniqueVolumeName(r.DecodeString())
			}

		}
		if yyrt4777 {
			for ; yyj4777 < yyl4777; yyj4777++ {
				yyv4777 = append(yyv4777, "")
				yyh4777.ElemContainerState(yyj4777)
				if r.TryDecodeAsNil() {
					yyv4777[yyj4777] = ""
				} else {
					yyv4777[yyj4777] = UniqueVolumeName(r.DecodeString())
				}

			}
		}

	} else {
		yyj4777 := 0
		for ; !r.CheckBreak(); yyj4777++ {

			if yyj4777 >= len(yyv4777) {
				yyv4777 = append(yyv4777, "") // var yyz4777 UniqueVolumeName
				yyc4777 = true
			}
			yyh4777.ElemContainerState(yyj4777)
			if yyj4777 < len(yyv4777) {
				if r.TryDecodeAsNil() {
					yyv4777[yyj4777] = ""
				} else {
					yyv4777[yyj4777] = UniqueVolumeName(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4777 < len(yyv4777) {
			yyv4777 = yyv4777[:yyj4777]
			yyc4777 = true
		} else if yyj4777 == 0 && yyv4777 == nil {
			yyv4777 = []UniqueVolumeName{}
			yyc4777 = true
		}
	}
	yyh4777.End()
	if yyc4777 {
		*v = yyv4777
	}
}

func (x codecSelfer1234) encSliceAttachedVolume(v []AttachedVolume, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4781 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4782 := &yyv4781
		yy4782.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceAttachedVolume(v *[]AttachedVolume, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4783 := *v
	yyh4783, yyl4783 := z.DecSliceHelperStart()
	var yyc4783 bool
	if yyl4783 == 0 {
		if yyv4783 == nil {
			yyv4783 = []AttachedVolume{}
			yyc4783 = true
		} else if len(yyv4783) != 0 {
			yyv4783 = yyv4783[:0]
			yyc4783 = true
		}
	} else if yyl4783 > 0 {
		var yyrr4783, yyrl4783 int
		var yyrt4783 bool
		if yyl4783 > cap(yyv4783) {

			yyrg4783 := len(yyv4783) > 0
			yyv24783 := yyv4783
			yyrl4783, yyrt4783 = z.DecInferLen(yyl4783, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt4783 {
				if yyrl4783 <= cap(yyv4783) {
					yyv4783 = yyv4783[:yyrl4783]
				} else {
					yyv4783 = make([]AttachedVolume, yyrl4783)
				}
			} else {
				yyv4783 = make([]AttachedVolume, yyrl4783)
			}
			yyc4783 = true
			yyrr4783 = len(yyv4783)
			if yyrg4783 {
				copy(yyv4783, yyv24783)
			}
		} else if yyl4783 != len(yyv4783) {
			yyv4783 = yyv4783[:yyl4783]
			yyc4783 = true
		}
		yyj4783 := 0
		for ; yyj4783 < yyrr4783; yyj4783++ {
			yyh4783.ElemContainerState(yyj4783)
			if r.TryDecodeAsNil() {
				yyv4783[yyj4783] = AttachedVolume{}
			} else {
				yyv4784 := &yyv4783[yyj4783]
				yyv4784.CodecDecodeSelf(d)
			}

		}
		if yyrt4783 {
			for ; yyj4783 < yyl4783; yyj4783++ {
				yyv4783 = append(yyv4783, AttachedVolume{})
				yyh4783.ElemContainerState(yyj4783)
				if r.TryDecodeAsNil() {
					yyv4783[yyj4783] = AttachedVolume{}
				} else {
					yyv4785 := &yyv4783[yyj4783]
					yyv4785.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4783 := 0
		for ; !r.CheckBreak(); yyj4783++ {

			if yyj4783 >= len(yyv4783) {
				yyv4783 = append(yyv4783, AttachedVolume{}) // var yyz4783 AttachedVolume
				yyc4783 = true
			}
			yyh4783.ElemContainerState(yyj4783)
			if yyj4783 < len(yyv4783) {
				if r.TryDecodeAsNil() {
					yyv4783[yyj4783] = AttachedVolume{}
				} else {
					yyv4786 := &yyv4783[yyj4783]
					yyv4786.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4783 < len(yyv4783) {
			yyv4783 = yyv4783[:yyj4783]
			yyc4783 = true
		} else if yyj4783 == 0 && yyv4783 == nil {
			yyv4783 = []AttachedVolume{}
			yyc4783 = true
		}
	}
	yyh4783.End()
	if yyc4783 {
		*v = yyv4783
	}
}

func (x codecSelfer1234) encSlicePreferAvoidPodsEntry(v []PreferAvoidPodsEntry, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4787 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4788 := &yyv4787
		yy4788.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePreferAvoidPodsEntry(v *[]PreferAvoidPodsEntry, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4789 := *v
	yyh4789, yyl4789 := z.DecSliceHelperStart()
	var yyc4789 bool
	if yyl4789 == 0 {
		if yyv4789 == nil {
			yyv4789 = []PreferAvoidPodsEntry{}
			yyc4789 = true
		} else if len(yyv4789) != 0 {
			yyv4789 = yyv4789[:0]
			yyc4789 = true
		}
	} else if yyl4789 > 0 {
		var yyrr4789, yyrl4789 int
		var yyrt4789 bool
		if yyl4789 > cap(yyv4789) {

			yyrg4789 := len(yyv4789) > 0
			yyv24789 := yyv4789
			yyrl4789, yyrt4789 = z.DecInferLen(yyl4789, z.DecBasicHandle().MaxInitLen, 64)
			if yyrt4789 {
				if yyrl4789 <= cap(yyv4789) {
					yyv4789 = yyv4789[:yyrl4789]
				} else {
					yyv4789 = make([]PreferAvoidPodsEntry, yyrl4789)
				}
			} else {
				yyv4789 = make([]PreferAvoidPodsEntry, yyrl4789)
			}
			yyc4789 = true
			yyrr4789 = len(yyv4789)
			if yyrg4789 {
				copy(yyv4789, yyv24789)
			}
		} else if yyl4789 != len(yyv4789) {
			yyv4789 = yyv4789[:yyl4789]
			yyc4789 = true
		}
		yyj4789 := 0
		for ; yyj4789 < yyrr4789; yyj4789++ {
			yyh4789.ElemContainerState(yyj4789)
			if r.TryDecodeAsNil() {
				yyv4789[yyj4789] = PreferAvoidPodsEntry{}
			} else {
				yyv4790 := &yyv4789[yyj4789]
				yyv4790.CodecDecodeSelf(d)
			}

		}
		if yyrt4789 {
			for ; yyj4789 < yyl4789; yyj4789++ {
				yyv4789 = append(yyv4789, PreferAvoidPodsEntry{})
				yyh4789.ElemContainerState(yyj4789)
				if r.TryDecodeAsNil() {
					yyv4789[yyj4789] = PreferAvoidPodsEntry{}
				} else {
					yyv4791 := &yyv4789[yyj4789]
					yyv4791.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4789 := 0
		for ; !r.CheckBreak(); yyj4789++ {

			if yyj4789 >= len(yyv4789) {
				yyv4789 = append(yyv4789, PreferAvoidPodsEntry{}) // var yyz4789 PreferAvoidPodsEntry
				yyc4789 = true
			}
			yyh4789.ElemContainerState(yyj4789)
			if yyj4789 < len(yyv4789) {
				if r.TryDecodeAsNil() {
					yyv4789[yyj4789] = PreferAvoidPodsEntry{}
				} else {
					yyv4792 := &yyv4789[yyj4789]
					yyv4792.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4789 < len(yyv4789) {
			yyv4789 = yyv4789[:yyj4789]
			yyc4789 = true
		} else if yyj4789 == 0 && yyv4789 == nil {
			yyv4789 = []PreferAvoidPodsEntry{}
			yyc4789 = true
		}
	}
	yyh4789.End()
	if yyc4789 {
		*v = yyv4789
	}
}

func (x codecSelfer1234) encResourceList(v ResourceList, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeMapStart(len(v))
	for yyk4793, yyv4793 := range v {
		z.EncSendContainerState(codecSelfer_containerMapKey1234)
		yyk4793.CodecEncodeSelf(e)
		z.EncSendContainerState(codecSelfer_containerMapValue1234)
		yy4794 := &yyv4793
		yym4795 := z.EncBinary()
		_ = yym4795
		if false {
		} else if z.HasExtensions() && z.EncExt(yy4794) {
		} else if !yym4795 && z.IsJSONHandle() {
			z.EncJSONMarshal(yy4794)
		} else {
			z.EncFallback(yy4794)
		}
	}
	z.EncSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x codecSelfer1234) decResourceList(v *ResourceList, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4796 := *v
	yyl4796 := r.ReadMapStart()
	yybh4796 := z.DecBasicHandle()
	if yyv4796 == nil {
		yyrl4796, _ := z.DecInferLen(yyl4796, yybh4796.MaxInitLen, 72)
		yyv4796 = make(map[ResourceName]pkg3_resource.Quantity, yyrl4796)
		*v = yyv4796
	}
	var yymk4796 ResourceName
	var yymv4796 pkg3_resource.Quantity
	var yymg4796 bool
	if yybh4796.MapValueReset {
		yymg4796 = true
	}
	if yyl4796 > 0 {
		for yyj4796 := 0; yyj4796 < yyl4796; yyj4796++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1234)
			if r.TryDecodeAsNil() {
				yymk4796 = ""
			} else {
				yymk4796 = ResourceName(r.DecodeString())
			}

			if yymg4796 {
				yymv4796 = yyv4796[yymk4796]
			} else {
				yymv4796 = pkg3_resource.Quantity{}
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1234)
			if r.TryDecodeAsNil() {
				yymv4796 = pkg3_resource.Quantity{}
			} else {
				yyv4798 := &yymv4796
				yym4799 := z.DecBinary()
				_ = yym4799
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4798) {
				} else if !yym4799 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv4798)
				} else {
					z.DecFallback(yyv4798, false)
				}
			}

			if yyv4796 != nil {
				yyv4796[yymk4796] = yymv4796
			}
		}
	} else if yyl4796 < 0 {
		for yyj4796 := 0; !r.CheckBreak(); yyj4796++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1234)
			if r.TryDecodeAsNil() {
				yymk4796 = ""
			} else {
				yymk4796 = ResourceName(r.DecodeString())
			}

			if yymg4796 {
				yymv4796 = yyv4796[yymk4796]
			} else {
				yymv4796 = pkg3_resource.Quantity{}
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1234)
			if r.TryDecodeAsNil() {
				yymv4796 = pkg3_resource.Quantity{}
			} else {
				yyv4801 := &yymv4796
				yym4802 := z.DecBinary()
				_ = yym4802
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4801) {
				} else if !yym4802 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv4801)
				} else {
					z.DecFallback(yyv4801, false)
				}
			}

			if yyv4796 != nil {
				yyv4796[yymk4796] = yymv4796
			}
		}
	} // else len==0: TODO: Should we clear map entries?
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x codecSelfer1234) encSliceNode(v []Node, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4803 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4804 := &yyv4803
		yy4804.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceNode(v *[]Node, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4805 := *v
	yyh4805, yyl4805 := z.DecSliceHelperStart()
	var yyc4805 bool
	if yyl4805 == 0 {
		if yyv4805 == nil {
			yyv4805 = []Node{}
			yyc4805 = true
		} else if len(yyv4805) != 0 {
			yyv4805 = yyv4805[:0]
			yyc4805 = true
		}
	} else if yyl4805 > 0 {
		var yyrr4805, yyrl4805 int
		var yyrt4805 bool
		if yyl4805 > cap(yyv4805) {

			yyrg4805 := len(yyv4805) > 0
			yyv24805 := yyv4805
			yyrl4805, yyrt4805 = z.DecInferLen(yyl4805, z.DecBasicHandle().MaxInitLen, 632)
			if yyrt4805 {
				if yyrl4805 <= cap(yyv4805) {
					yyv4805 = yyv4805[:yyrl4805]
				} else {
					yyv4805 = make([]Node, yyrl4805)
				}
			} else {
				yyv4805 = make([]Node, yyrl4805)
			}
			yyc4805 = true
			yyrr4805 = len(yyv4805)
			if yyrg4805 {
				copy(yyv4805, yyv24805)
			}
		} else if yyl4805 != len(yyv4805) {
			yyv4805 = yyv4805[:yyl4805]
			yyc4805 = true
		}
		yyj4805 := 0
		for ; yyj4805 < yyrr4805; yyj4805++ {
			yyh4805.ElemContainerState(yyj4805)
			if r.TryDecodeAsNil() {
				yyv4805[yyj4805] = Node{}
			} else {
				yyv4806 := &yyv4805[yyj4805]
				yyv4806.CodecDecodeSelf(d)
			}

		}
		if yyrt4805 {
			for ; yyj4805 < yyl4805; yyj4805++ {
				yyv4805 = append(yyv4805, Node{})
				yyh4805.ElemContainerState(yyj4805)
				if r.TryDecodeAsNil() {
					yyv4805[yyj4805] = Node{}
				} else {
					yyv4807 := &yyv4805[yyj4805]
					yyv4807.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4805 := 0
		for ; !r.CheckBreak(); yyj4805++ {

			if yyj4805 >= len(yyv4805) {
				yyv4805 = append(yyv4805, Node{}) // var yyz4805 Node
				yyc4805 = true
			}
			yyh4805.ElemContainerState(yyj4805)
			if yyj4805 < len(yyv4805) {
				if r.TryDecodeAsNil() {
					yyv4805[yyj4805] = Node{}
				} else {
					yyv4808 := &yyv4805[yyj4805]
					yyv4808.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4805 < len(yyv4805) {
			yyv4805 = yyv4805[:yyj4805]
			yyc4805 = true
		} else if yyj4805 == 0 && yyv4805 == nil {
			yyv4805 = []Node{}
			yyc4805 = true
		}
	}
	yyh4805.End()
	if yyc4805 {
		*v = yyv4805
	}
}

func (x codecSelfer1234) encSliceFinalizerName(v []FinalizerName, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4809 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yyv4809.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceFinalizerName(v *[]FinalizerName, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4810 := *v
	yyh4810, yyl4810 := z.DecSliceHelperStart()
	var yyc4810 bool
	if yyl4810 == 0 {
		if yyv4810 == nil {
			yyv4810 = []FinalizerName{}
			yyc4810 = true
		} else if len(yyv4810) != 0 {
			yyv4810 = yyv4810[:0]
			yyc4810 = true
		}
	} else if yyl4810 > 0 {
		var yyrr4810, yyrl4810 int
		var yyrt4810 bool
		if yyl4810 > cap(yyv4810) {

			yyrl4810, yyrt4810 = z.DecInferLen(yyl4810, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt4810 {
				if yyrl4810 <= cap(yyv4810) {
					yyv4810 = yyv4810[:yyrl4810]
				} else {
					yyv4810 = make([]FinalizerName, yyrl4810)
				}
			} else {
				yyv4810 = make([]FinalizerName, yyrl4810)
			}
			yyc4810 = true
			yyrr4810 = len(yyv4810)
		} else if yyl4810 != len(yyv4810) {
			yyv4810 = yyv4810[:yyl4810]
			yyc4810 = true
		}
		yyj4810 := 0
		for ; yyj4810 < yyrr4810; yyj4810++ {
			yyh4810.ElemContainerState(yyj4810)
			if r.TryDecodeAsNil() {
				yyv4810[yyj4810] = ""
			} else {
				yyv4810[yyj4810] = FinalizerName(r.DecodeString())
			}

		}
		if yyrt4810 {
			for ; yyj4810 < yyl4810; yyj4810++ {
				yyv4810 = append(yyv4810, "")
				yyh4810.ElemContainerState(yyj4810)
				if r.TryDecodeAsNil() {
					yyv4810[yyj4810] = ""
				} else {
					yyv4810[yyj4810] = FinalizerName(r.DecodeString())
				}

			}
		}

	} else {
		yyj4810 := 0
		for ; !r.CheckBreak(); yyj4810++ {

			if yyj4810 >= len(yyv4810) {
				yyv4810 = append(yyv4810, "") // var yyz4810 FinalizerName
				yyc4810 = true
			}
			yyh4810.ElemContainerState(yyj4810)
			if yyj4810 < len(yyv4810) {
				if r.TryDecodeAsNil() {
					yyv4810[yyj4810] = ""
				} else {
					yyv4810[yyj4810] = FinalizerName(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4810 < len(yyv4810) {
			yyv4810 = yyv4810[:yyj4810]
			yyc4810 = true
		} else if yyj4810 == 0 && yyv4810 == nil {
			yyv4810 = []FinalizerName{}
			yyc4810 = true
		}
	}
	yyh4810.End()
	if yyc4810 {
		*v = yyv4810
	}
}

func (x codecSelfer1234) encSliceNamespace(v []Namespace, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4814 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4815 := &yyv4814
		yy4815.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceNamespace(v *[]Namespace, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4816 := *v
	yyh4816, yyl4816 := z.DecSliceHelperStart()
	var yyc4816 bool
	if yyl4816 == 0 {
		if yyv4816 == nil {
			yyv4816 = []Namespace{}
			yyc4816 = true
		} else if len(yyv4816) != 0 {
			yyv4816 = yyv4816[:0]
			yyc4816 = true
		}
	} else if yyl4816 > 0 {
		var yyrr4816, yyrl4816 int
		var yyrt4816 bool
		if yyl4816 > cap(yyv4816) {

			yyrg4816 := len(yyv4816) > 0
			yyv24816 := yyv4816
			yyrl4816, yyrt4816 = z.DecInferLen(yyl4816, z.DecBasicHandle().MaxInitLen, 296)
			if yyrt4816 {
				if yyrl4816 <= cap(yyv4816) {
					yyv4816 = yyv4816[:yyrl4816]
				} else {
					yyv4816 = make([]Namespace, yyrl4816)
				}
			} else {
				yyv4816 = make([]Namespace, yyrl4816)
			}
			yyc4816 = true
			yyrr4816 = len(yyv4816)
			if yyrg4816 {
				copy(yyv4816, yyv24816)
			}
		} else if yyl4816 != len(yyv4816) {
			yyv4816 = yyv4816[:yyl4816]
			yyc4816 = true
		}
		yyj4816 := 0
		for ; yyj4816 < yyrr4816; yyj4816++ {
			yyh4816.ElemContainerState(yyj4816)
			if r.TryDecodeAsNil() {
				yyv4816[yyj4816] = Namespace{}
			} else {
				yyv4817 := &yyv4816[yyj4816]
				yyv4817.CodecDecodeSelf(d)
			}

		}
		if yyrt4816 {
			for ; yyj4816 < yyl4816; yyj4816++ {
				yyv4816 = append(yyv4816, Namespace{})
				yyh4816.ElemContainerState(yyj4816)
				if r.TryDecodeAsNil() {
					yyv4816[yyj4816] = Namespace{}
				} else {
					yyv4818 := &yyv4816[yyj4816]
					yyv4818.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4816 := 0
		for ; !r.CheckBreak(); yyj4816++ {

			if yyj4816 >= len(yyv4816) {
				yyv4816 = append(yyv4816, Namespace{}) // var yyz4816 Namespace
				yyc4816 = true
			}
			yyh4816.ElemContainerState(yyj4816)
			if yyj4816 < len(yyv4816) {
				if r.TryDecodeAsNil() {
					yyv4816[yyj4816] = Namespace{}
				} else {
					yyv4819 := &yyv4816[yyj4816]
					yyv4819.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4816 < len(yyv4816) {
			yyv4816 = yyv4816[:yyj4816]
			yyc4816 = true
		} else if yyj4816 == 0 && yyv4816 == nil {
			yyv4816 = []Namespace{}
			yyc4816 = true
		}
	}
	yyh4816.End()
	if yyc4816 {
		*v = yyv4816
	}
}

func (x codecSelfer1234) encSliceEvent(v []Event, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4820 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4821 := &yyv4820
		yy4821.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceEvent(v *[]Event, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4822 := *v
	yyh4822, yyl4822 := z.DecSliceHelperStart()
	var yyc4822 bool
	if yyl4822 == 0 {
		if yyv4822 == nil {
			yyv4822 = []Event{}
			yyc4822 = true
		} else if len(yyv4822) != 0 {
			yyv4822 = yyv4822[:0]
			yyc4822 = true
		}
	} else if yyl4822 > 0 {
		var yyrr4822, yyrl4822 int
		var yyrt4822 bool
		if yyl4822 > cap(yyv4822) {

			yyrg4822 := len(yyv4822) > 0
			yyv24822 := yyv4822
			yyrl4822, yyrt4822 = z.DecInferLen(yyl4822, z.DecBasicHandle().MaxInitLen, 504)
			if yyrt4822 {
				if yyrl4822 <= cap(yyv4822) {
					yyv4822 = yyv4822[:yyrl4822]
				} else {
					yyv4822 = make([]Event, yyrl4822)
				}
			} else {
				yyv4822 = make([]Event, yyrl4822)
			}
			yyc4822 = true
			yyrr4822 = len(yyv4822)
			if yyrg4822 {
				copy(yyv4822, yyv24822)
			}
		} else if yyl4822 != len(yyv4822) {
			yyv4822 = yyv4822[:yyl4822]
			yyc4822 = true
		}
		yyj4822 := 0
		for ; yyj4822 < yyrr4822; yyj4822++ {
			yyh4822.ElemContainerState(yyj4822)
			if r.TryDecodeAsNil() {
				yyv4822[yyj4822] = Event{}
			} else {
				yyv4823 := &yyv4822[yyj4822]
				yyv4823.CodecDecodeSelf(d)
			}

		}
		if yyrt4822 {
			for ; yyj4822 < yyl4822; yyj4822++ {
				yyv4822 = append(yyv4822, Event{})
				yyh4822.ElemContainerState(yyj4822)
				if r.TryDecodeAsNil() {
					yyv4822[yyj4822] = Event{}
				} else {
					yyv4824 := &yyv4822[yyj4822]
					yyv4824.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4822 := 0
		for ; !r.CheckBreak(); yyj4822++ {

			if yyj4822 >= len(yyv4822) {
				yyv4822 = append(yyv4822, Event{}) // var yyz4822 Event
				yyc4822 = true
			}
			yyh4822.ElemContainerState(yyj4822)
			if yyj4822 < len(yyv4822) {
				if r.TryDecodeAsNil() {
					yyv4822[yyj4822] = Event{}
				} else {
					yyv4825 := &yyv4822[yyj4822]
					yyv4825.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4822 < len(yyv4822) {
			yyv4822 = yyv4822[:yyj4822]
			yyc4822 = true
		} else if yyj4822 == 0 && yyv4822 == nil {
			yyv4822 = []Event{}
			yyc4822 = true
		}
	}
	yyh4822.End()
	if yyc4822 {
		*v = yyv4822
	}
}

func (x codecSelfer1234) encSliceruntime_Object(v []pkg7_runtime.Object, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4826 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		if yyv4826 == nil {
			r.EncodeNil()
		} else {
			yym4827 := z.EncBinary()
			_ = yym4827
			if false {
			} else if z.HasExtensions() && z.EncExt(yyv4826) {
			} else {
				z.EncFallback(yyv4826)
			}
		}
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceruntime_Object(v *[]pkg7_runtime.Object, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4828 := *v
	yyh4828, yyl4828 := z.DecSliceHelperStart()
	var yyc4828 bool
	if yyl4828 == 0 {
		if yyv4828 == nil {
			yyv4828 = []pkg7_runtime.Object{}
			yyc4828 = true
		} else if len(yyv4828) != 0 {
			yyv4828 = yyv4828[:0]
			yyc4828 = true
		}
	} else if yyl4828 > 0 {
		var yyrr4828, yyrl4828 int
		var yyrt4828 bool
		if yyl4828 > cap(yyv4828) {

			yyrg4828 := len(yyv4828) > 0
			yyv24828 := yyv4828
			yyrl4828, yyrt4828 = z.DecInferLen(yyl4828, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt4828 {
				if yyrl4828 <= cap(yyv4828) {
					yyv4828 = yyv4828[:yyrl4828]
				} else {
					yyv4828 = make([]pkg7_runtime.Object, yyrl4828)
				}
			} else {
				yyv4828 = make([]pkg7_runtime.Object, yyrl4828)
			}
			yyc4828 = true
			yyrr4828 = len(yyv4828)
			if yyrg4828 {
				copy(yyv4828, yyv24828)
			}
		} else if yyl4828 != len(yyv4828) {
			yyv4828 = yyv4828[:yyl4828]
			yyc4828 = true
		}
		yyj4828 := 0
		for ; yyj4828 < yyrr4828; yyj4828++ {
			yyh4828.ElemContainerState(yyj4828)
			if r.TryDecodeAsNil() {
				yyv4828[yyj4828] = nil
			} else {
				yyv4829 := &yyv4828[yyj4828]
				yym4830 := z.DecBinary()
				_ = yym4830
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4829) {
				} else {
					z.DecFallback(yyv4829, true)
				}
			}

		}
		if yyrt4828 {
			for ; yyj4828 < yyl4828; yyj4828++ {
				yyv4828 = append(yyv4828, nil)
				yyh4828.ElemContainerState(yyj4828)
				if r.TryDecodeAsNil() {
					yyv4828[yyj4828] = nil
				} else {
					yyv4831 := &yyv4828[yyj4828]
					yym4832 := z.DecBinary()
					_ = yym4832
					if false {
					} else if z.HasExtensions() && z.DecExt(yyv4831) {
					} else {
						z.DecFallback(yyv4831, true)
					}
				}

			}
		}

	} else {
		yyj4828 := 0
		for ; !r.CheckBreak(); yyj4828++ {

			if yyj4828 >= len(yyv4828) {
				yyv4828 = append(yyv4828, nil) // var yyz4828 pkg7_runtime.Object
				yyc4828 = true
			}
			yyh4828.ElemContainerState(yyj4828)
			if yyj4828 < len(yyv4828) {
				if r.TryDecodeAsNil() {
					yyv4828[yyj4828] = nil
				} else {
					yyv4833 := &yyv4828[yyj4828]
					yym4834 := z.DecBinary()
					_ = yym4834
					if false {
					} else if z.HasExtensions() && z.DecExt(yyv4833) {
					} else {
						z.DecFallback(yyv4833, true)
					}
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4828 < len(yyv4828) {
			yyv4828 = yyv4828[:yyj4828]
			yyc4828 = true
		} else if yyj4828 == 0 && yyv4828 == nil {
			yyv4828 = []pkg7_runtime.Object{}
			yyc4828 = true
		}
	}
	yyh4828.End()
	if yyc4828 {
		*v = yyv4828
	}
}

func (x codecSelfer1234) encSliceLimitRangeItem(v []LimitRangeItem, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4835 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4836 := &yyv4835
		yy4836.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceLimitRangeItem(v *[]LimitRangeItem, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4837 := *v
	yyh4837, yyl4837 := z.DecSliceHelperStart()
	var yyc4837 bool
	if yyl4837 == 0 {
		if yyv4837 == nil {
			yyv4837 = []LimitRangeItem{}
			yyc4837 = true
		} else if len(yyv4837) != 0 {
			yyv4837 = yyv4837[:0]
			yyc4837 = true
		}
	} else if yyl4837 > 0 {
		var yyrr4837, yyrl4837 int
		var yyrt4837 bool
		if yyl4837 > cap(yyv4837) {

			yyrg4837 := len(yyv4837) > 0
			yyv24837 := yyv4837
			yyrl4837, yyrt4837 = z.DecInferLen(yyl4837, z.DecBasicHandle().MaxInitLen, 56)
			if yyrt4837 {
				if yyrl4837 <= cap(yyv4837) {
					yyv4837 = yyv4837[:yyrl4837]
				} else {
					yyv4837 = make([]LimitRangeItem, yyrl4837)
				}
			} else {
				yyv4837 = make([]LimitRangeItem, yyrl4837)
			}
			yyc4837 = true
			yyrr4837 = len(yyv4837)
			if yyrg4837 {
				copy(yyv4837, yyv24837)
			}
		} else if yyl4837 != len(yyv4837) {
			yyv4837 = yyv4837[:yyl4837]
			yyc4837 = true
		}
		yyj4837 := 0
		for ; yyj4837 < yyrr4837; yyj4837++ {
			yyh4837.ElemContainerState(yyj4837)
			if r.TryDecodeAsNil() {
				yyv4837[yyj4837] = LimitRangeItem{}
			} else {
				yyv4838 := &yyv4837[yyj4837]
				yyv4838.CodecDecodeSelf(d)
			}

		}
		if yyrt4837 {
			for ; yyj4837 < yyl4837; yyj4837++ {
				yyv4837 = append(yyv4837, LimitRangeItem{})
				yyh4837.ElemContainerState(yyj4837)
				if r.TryDecodeAsNil() {
					yyv4837[yyj4837] = LimitRangeItem{}
				} else {
					yyv4839 := &yyv4837[yyj4837]
					yyv4839.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4837 := 0
		for ; !r.CheckBreak(); yyj4837++ {

			if yyj4837 >= len(yyv4837) {
				yyv4837 = append(yyv4837, LimitRangeItem{}) // var yyz4837 LimitRangeItem
				yyc4837 = true
			}
			yyh4837.ElemContainerState(yyj4837)
			if yyj4837 < len(yyv4837) {
				if r.TryDecodeAsNil() {
					yyv4837[yyj4837] = LimitRangeItem{}
				} else {
					yyv4840 := &yyv4837[yyj4837]
					yyv4840.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4837 < len(yyv4837) {
			yyv4837 = yyv4837[:yyj4837]
			yyc4837 = true
		} else if yyj4837 == 0 && yyv4837 == nil {
			yyv4837 = []LimitRangeItem{}
			yyc4837 = true
		}
	}
	yyh4837.End()
	if yyc4837 {
		*v = yyv4837
	}
}

func (x codecSelfer1234) encSliceLimitRange(v []LimitRange, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4841 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4842 := &yyv4841
		yy4842.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceLimitRange(v *[]LimitRange, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4843 := *v
	yyh4843, yyl4843 := z.DecSliceHelperStart()
	var yyc4843 bool
	if yyl4843 == 0 {
		if yyv4843 == nil {
			yyv4843 = []LimitRange{}
			yyc4843 = true
		} else if len(yyv4843) != 0 {
			yyv4843 = yyv4843[:0]
			yyc4843 = true
		}
	} else if yyl4843 > 0 {
		var yyrr4843, yyrl4843 int
		var yyrt4843 bool
		if yyl4843 > cap(yyv4843) {

			yyrg4843 := len(yyv4843) > 0
			yyv24843 := yyv4843
			yyrl4843, yyrt4843 = z.DecInferLen(yyl4843, z.DecBasicHandle().MaxInitLen, 280)
			if yyrt4843 {
				if yyrl4843 <= cap(yyv4843) {
					yyv4843 = yyv4843[:yyrl4843]
				} else {
					yyv4843 = make([]LimitRange, yyrl4843)
				}
			} else {
				yyv4843 = make([]LimitRange, yyrl4843)
			}
			yyc4843 = true
			yyrr4843 = len(yyv4843)
			if yyrg4843 {
				copy(yyv4843, yyv24843)
			}
		} else if yyl4843 != len(yyv4843) {
			yyv4843 = yyv4843[:yyl4843]
			yyc4843 = true
		}
		yyj4843 := 0
		for ; yyj4843 < yyrr4843; yyj4843++ {
			yyh4843.ElemContainerState(yyj4843)
			if r.TryDecodeAsNil() {
				yyv4843[yyj4843] = LimitRange{}
			} else {
				yyv4844 := &yyv4843[yyj4843]
				yyv4844.CodecDecodeSelf(d)
			}

		}
		if yyrt4843 {
			for ; yyj4843 < yyl4843; yyj4843++ {
				yyv4843 = append(yyv4843, LimitRange{})
				yyh4843.ElemContainerState(yyj4843)
				if r.TryDecodeAsNil() {
					yyv4843[yyj4843] = LimitRange{}
				} else {
					yyv4845 := &yyv4843[yyj4843]
					yyv4845.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4843 := 0
		for ; !r.CheckBreak(); yyj4843++ {

			if yyj4843 >= len(yyv4843) {
				yyv4843 = append(yyv4843, LimitRange{}) // var yyz4843 LimitRange
				yyc4843 = true
			}
			yyh4843.ElemContainerState(yyj4843)
			if yyj4843 < len(yyv4843) {
				if r.TryDecodeAsNil() {
					yyv4843[yyj4843] = LimitRange{}
				} else {
					yyv4846 := &yyv4843[yyj4843]
					yyv4846.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4843 < len(yyv4843) {
			yyv4843 = yyv4843[:yyj4843]
			yyc4843 = true
		} else if yyj4843 == 0 && yyv4843 == nil {
			yyv4843 = []LimitRange{}
			yyc4843 = true
		}
	}
	yyh4843.End()
	if yyc4843 {
		*v = yyv4843
	}
}

func (x codecSelfer1234) encSliceResourceQuotaScope(v []ResourceQuotaScope, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4847 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yyv4847.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceResourceQuotaScope(v *[]ResourceQuotaScope, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4848 := *v
	yyh4848, yyl4848 := z.DecSliceHelperStart()
	var yyc4848 bool
	if yyl4848 == 0 {
		if yyv4848 == nil {
			yyv4848 = []ResourceQuotaScope{}
			yyc4848 = true
		} else if len(yyv4848) != 0 {
			yyv4848 = yyv4848[:0]
			yyc4848 = true
		}
	} else if yyl4848 > 0 {
		var yyrr4848, yyrl4848 int
		var yyrt4848 bool
		if yyl4848 > cap(yyv4848) {

			yyrl4848, yyrt4848 = z.DecInferLen(yyl4848, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt4848 {
				if yyrl4848 <= cap(yyv4848) {
					yyv4848 = yyv4848[:yyrl4848]
				} else {
					yyv4848 = make([]ResourceQuotaScope, yyrl4848)
				}
			} else {
				yyv4848 = make([]ResourceQuotaScope, yyrl4848)
			}
			yyc4848 = true
			yyrr4848 = len(yyv4848)
		} else if yyl4848 != len(yyv4848) {
			yyv4848 = yyv4848[:yyl4848]
			yyc4848 = true
		}
		yyj4848 := 0
		for ; yyj4848 < yyrr4848; yyj4848++ {
			yyh4848.ElemContainerState(yyj4848)
			if r.TryDecodeAsNil() {
				yyv4848[yyj4848] = ""
			} else {
				yyv4848[yyj4848] = ResourceQuotaScope(r.DecodeString())
			}

		}
		if yyrt4848 {
			for ; yyj4848 < yyl4848; yyj4848++ {
				yyv4848 = append(yyv4848, "")
				yyh4848.ElemContainerState(yyj4848)
				if r.TryDecodeAsNil() {
					yyv4848[yyj4848] = ""
				} else {
					yyv4848[yyj4848] = ResourceQuotaScope(r.DecodeString())
				}

			}
		}

	} else {
		yyj4848 := 0
		for ; !r.CheckBreak(); yyj4848++ {

			if yyj4848 >= len(yyv4848) {
				yyv4848 = append(yyv4848, "") // var yyz4848 ResourceQuotaScope
				yyc4848 = true
			}
			yyh4848.ElemContainerState(yyj4848)
			if yyj4848 < len(yyv4848) {
				if r.TryDecodeAsNil() {
					yyv4848[yyj4848] = ""
				} else {
					yyv4848[yyj4848] = ResourceQuotaScope(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4848 < len(yyv4848) {
			yyv4848 = yyv4848[:yyj4848]
			yyc4848 = true
		} else if yyj4848 == 0 && yyv4848 == nil {
			yyv4848 = []ResourceQuotaScope{}
			yyc4848 = true
		}
	}
	yyh4848.End()
	if yyc4848 {
		*v = yyv4848
	}
}

func (x codecSelfer1234) encSliceResourceQuota(v []ResourceQuota, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4852 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4853 := &yyv4852
		yy4853.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceResourceQuota(v *[]ResourceQuota, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4854 := *v
	yyh4854, yyl4854 := z.DecSliceHelperStart()
	var yyc4854 bool
	if yyl4854 == 0 {
		if yyv4854 == nil {
			yyv4854 = []ResourceQuota{}
			yyc4854 = true
		} else if len(yyv4854) != 0 {
			yyv4854 = yyv4854[:0]
			yyc4854 = true
		}
	} else if yyl4854 > 0 {
		var yyrr4854, yyrl4854 int
		var yyrt4854 bool
		if yyl4854 > cap(yyv4854) {

			yyrg4854 := len(yyv4854) > 0
			yyv24854 := yyv4854
			yyrl4854, yyrt4854 = z.DecInferLen(yyl4854, z.DecBasicHandle().MaxInitLen, 304)
			if yyrt4854 {
				if yyrl4854 <= cap(yyv4854) {
					yyv4854 = yyv4854[:yyrl4854]
				} else {
					yyv4854 = make([]ResourceQuota, yyrl4854)
				}
			} else {
				yyv4854 = make([]ResourceQuota, yyrl4854)
			}
			yyc4854 = true
			yyrr4854 = len(yyv4854)
			if yyrg4854 {
				copy(yyv4854, yyv24854)
			}
		} else if yyl4854 != len(yyv4854) {
			yyv4854 = yyv4854[:yyl4854]
			yyc4854 = true
		}
		yyj4854 := 0
		for ; yyj4854 < yyrr4854; yyj4854++ {
			yyh4854.ElemContainerState(yyj4854)
			if r.TryDecodeAsNil() {
				yyv4854[yyj4854] = ResourceQuota{}
			} else {
				yyv4855 := &yyv4854[yyj4854]
				yyv4855.CodecDecodeSelf(d)
			}

		}
		if yyrt4854 {
			for ; yyj4854 < yyl4854; yyj4854++ {
				yyv4854 = append(yyv4854, ResourceQuota{})
				yyh4854.ElemContainerState(yyj4854)
				if r.TryDecodeAsNil() {
					yyv4854[yyj4854] = ResourceQuota{}
				} else {
					yyv4856 := &yyv4854[yyj4854]
					yyv4856.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4854 := 0
		for ; !r.CheckBreak(); yyj4854++ {

			if yyj4854 >= len(yyv4854) {
				yyv4854 = append(yyv4854, ResourceQuota{}) // var yyz4854 ResourceQuota
				yyc4854 = true
			}
			yyh4854.ElemContainerState(yyj4854)
			if yyj4854 < len(yyv4854) {
				if r.TryDecodeAsNil() {
					yyv4854[yyj4854] = ResourceQuota{}
				} else {
					yyv4857 := &yyv4854[yyj4854]
					yyv4857.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4854 < len(yyv4854) {
			yyv4854 = yyv4854[:yyj4854]
			yyc4854 = true
		} else if yyj4854 == 0 && yyv4854 == nil {
			yyv4854 = []ResourceQuota{}
			yyc4854 = true
		}
	}
	yyh4854.End()
	if yyc4854 {
		*v = yyv4854
	}
}

func (x codecSelfer1234) encMapstringSliceuint8(v map[string][]uint8, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeMapStart(len(v))
	for yyk4858, yyv4858 := range v {
		z.EncSendContainerState(codecSelfer_containerMapKey1234)
		yym4859 := z.EncBinary()
		_ = yym4859
		if false {
		} else {
			r.EncodeString(codecSelferC_UTF81234, string(yyk4858))
		}
		z.EncSendContainerState(codecSelfer_containerMapValue1234)
		if yyv4858 == nil {
			r.EncodeNil()
		} else {
			yym4860 := z.EncBinary()
			_ = yym4860
			if false {
			} else {
				r.EncodeStringBytes(codecSelferC_RAW1234, []byte(yyv4858))
			}
		}
	}
	z.EncSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x codecSelfer1234) decMapstringSliceuint8(v *map[string][]uint8, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4861 := *v
	yyl4861 := r.ReadMapStart()
	yybh4861 := z.DecBasicHandle()
	if yyv4861 == nil {
		yyrl4861, _ := z.DecInferLen(yyl4861, yybh4861.MaxInitLen, 40)
		yyv4861 = make(map[string][]uint8, yyrl4861)
		*v = yyv4861
	}
	var yymk4861 string
	var yymv4861 []uint8
	var yymg4861 bool
	if yybh4861.MapValueReset {
		yymg4861 = true
	}
	if yyl4861 > 0 {
		for yyj4861 := 0; yyj4861 < yyl4861; yyj4861++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1234)
			if r.TryDecodeAsNil() {
				yymk4861 = ""
			} else {
				yymk4861 = string(r.DecodeString())
			}

			if yymg4861 {
				yymv4861 = yyv4861[yymk4861]
			} else {
				yymv4861 = nil
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1234)
			if r.TryDecodeAsNil() {
				yymv4861 = nil
			} else {
				yyv4863 := &yymv4861
				yym4864 := z.DecBinary()
				_ = yym4864
				if false {
				} else {
					*yyv4863 = r.DecodeBytes(*(*[]byte)(yyv4863), false, false)
				}
			}

			if yyv4861 != nil {
				yyv4861[yymk4861] = yymv4861
			}
		}
	} else if yyl4861 < 0 {
		for yyj4861 := 0; !r.CheckBreak(); yyj4861++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1234)
			if r.TryDecodeAsNil() {
				yymk4861 = ""
			} else {
				yymk4861 = string(r.DecodeString())
			}

			if yymg4861 {
				yymv4861 = yyv4861[yymk4861]
			} else {
				yymv4861 = nil
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1234)
			if r.TryDecodeAsNil() {
				yymv4861 = nil
			} else {
				yyv4866 := &yymv4861
				yym4867 := z.DecBinary()
				_ = yym4867
				if false {
				} else {
					*yyv4866 = r.DecodeBytes(*(*[]byte)(yyv4866), false, false)
				}
			}

			if yyv4861 != nil {
				yyv4861[yymk4861] = yymv4861
			}
		}
	} // else len==0: TODO: Should we clear map entries?
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x codecSelfer1234) encSliceSecret(v []Secret, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4868 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4869 := &yyv4868
		yy4869.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceSecret(v *[]Secret, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4870 := *v
	yyh4870, yyl4870 := z.DecSliceHelperStart()
	var yyc4870 bool
	if yyl4870 == 0 {
		if yyv4870 == nil {
			yyv4870 = []Secret{}
			yyc4870 = true
		} else if len(yyv4870) != 0 {
			yyv4870 = yyv4870[:0]
			yyc4870 = true
		}
	} else if yyl4870 > 0 {
		var yyrr4870, yyrl4870 int
		var yyrt4870 bool
		if yyl4870 > cap(yyv4870) {

			yyrg4870 := len(yyv4870) > 0
			yyv24870 := yyv4870
			yyrl4870, yyrt4870 = z.DecInferLen(yyl4870, z.DecBasicHandle().MaxInitLen, 280)
			if yyrt4870 {
				if yyrl4870 <= cap(yyv4870) {
					yyv4870 = yyv4870[:yyrl4870]
				} else {
					yyv4870 = make([]Secret, yyrl4870)
				}
			} else {
				yyv4870 = make([]Secret, yyrl4870)
			}
			yyc4870 = true
			yyrr4870 = len(yyv4870)
			if yyrg4870 {
				copy(yyv4870, yyv24870)
			}
		} else if yyl4870 != len(yyv4870) {
			yyv4870 = yyv4870[:yyl4870]
			yyc4870 = true
		}
		yyj4870 := 0
		for ; yyj4870 < yyrr4870; yyj4870++ {
			yyh4870.ElemContainerState(yyj4870)
			if r.TryDecodeAsNil() {
				yyv4870[yyj4870] = Secret{}
			} else {
				yyv4871 := &yyv4870[yyj4870]
				yyv4871.CodecDecodeSelf(d)
			}

		}
		if yyrt4870 {
			for ; yyj4870 < yyl4870; yyj4870++ {
				yyv4870 = append(yyv4870, Secret{})
				yyh4870.ElemContainerState(yyj4870)
				if r.TryDecodeAsNil() {
					yyv4870[yyj4870] = Secret{}
				} else {
					yyv4872 := &yyv4870[yyj4870]
					yyv4872.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4870 := 0
		for ; !r.CheckBreak(); yyj4870++ {

			if yyj4870 >= len(yyv4870) {
				yyv4870 = append(yyv4870, Secret{}) // var yyz4870 Secret
				yyc4870 = true
			}
			yyh4870.ElemContainerState(yyj4870)
			if yyj4870 < len(yyv4870) {
				if r.TryDecodeAsNil() {
					yyv4870[yyj4870] = Secret{}
				} else {
					yyv4873 := &yyv4870[yyj4870]
					yyv4873.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4870 < len(yyv4870) {
			yyv4870 = yyv4870[:yyj4870]
			yyc4870 = true
		} else if yyj4870 == 0 && yyv4870 == nil {
			yyv4870 = []Secret{}
			yyc4870 = true
		}
	}
	yyh4870.End()
	if yyc4870 {
		*v = yyv4870
	}
}

func (x codecSelfer1234) encSliceConfigMap(v []ConfigMap, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4874 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4875 := &yyv4874
		yy4875.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceConfigMap(v *[]ConfigMap, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4876 := *v
	yyh4876, yyl4876 := z.DecSliceHelperStart()
	var yyc4876 bool
	if yyl4876 == 0 {
		if yyv4876 == nil {
			yyv4876 = []ConfigMap{}
			yyc4876 = true
		} else if len(yyv4876) != 0 {
			yyv4876 = yyv4876[:0]
			yyc4876 = true
		}
	} else if yyl4876 > 0 {
		var yyrr4876, yyrl4876 int
		var yyrt4876 bool
		if yyl4876 > cap(yyv4876) {

			yyrg4876 := len(yyv4876) > 0
			yyv24876 := yyv4876
			yyrl4876, yyrt4876 = z.DecInferLen(yyl4876, z.DecBasicHandle().MaxInitLen, 264)
			if yyrt4876 {
				if yyrl4876 <= cap(yyv4876) {
					yyv4876 = yyv4876[:yyrl4876]
				} else {
					yyv4876 = make([]ConfigMap, yyrl4876)
				}
			} else {
				yyv4876 = make([]ConfigMap, yyrl4876)
			}
			yyc4876 = true
			yyrr4876 = len(yyv4876)
			if yyrg4876 {
				copy(yyv4876, yyv24876)
			}
		} else if yyl4876 != len(yyv4876) {
			yyv4876 = yyv4876[:yyl4876]
			yyc4876 = true
		}
		yyj4876 := 0
		for ; yyj4876 < yyrr4876; yyj4876++ {
			yyh4876.ElemContainerState(yyj4876)
			if r.TryDecodeAsNil() {
				yyv4876[yyj4876] = ConfigMap{}
			} else {
				yyv4877 := &yyv4876[yyj4876]
				yyv4877.CodecDecodeSelf(d)
			}

		}
		if yyrt4876 {
			for ; yyj4876 < yyl4876; yyj4876++ {
				yyv4876 = append(yyv4876, ConfigMap{})
				yyh4876.ElemContainerState(yyj4876)
				if r.TryDecodeAsNil() {
					yyv4876[yyj4876] = ConfigMap{}
				} else {
					yyv4878 := &yyv4876[yyj4876]
					yyv4878.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4876 := 0
		for ; !r.CheckBreak(); yyj4876++ {

			if yyj4876 >= len(yyv4876) {
				yyv4876 = append(yyv4876, ConfigMap{}) // var yyz4876 ConfigMap
				yyc4876 = true
			}
			yyh4876.ElemContainerState(yyj4876)
			if yyj4876 < len(yyv4876) {
				if r.TryDecodeAsNil() {
					yyv4876[yyj4876] = ConfigMap{}
				} else {
					yyv4879 := &yyv4876[yyj4876]
					yyv4879.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4876 < len(yyv4876) {
			yyv4876 = yyv4876[:yyj4876]
			yyc4876 = true
		} else if yyj4876 == 0 && yyv4876 == nil {
			yyv4876 = []ConfigMap{}
			yyc4876 = true
		}
	}
	yyh4876.End()
	if yyc4876 {
		*v = yyv4876
	}
}

func (x codecSelfer1234) encSliceComponentCondition(v []ComponentCondition, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4880 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4881 := &yyv4880
		yy4881.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceComponentCondition(v *[]ComponentCondition, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4882 := *v
	yyh4882, yyl4882 := z.DecSliceHelperStart()
	var yyc4882 bool
	if yyl4882 == 0 {
		if yyv4882 == nil {
			yyv4882 = []ComponentCondition{}
			yyc4882 = true
		} else if len(yyv4882) != 0 {
			yyv4882 = yyv4882[:0]
			yyc4882 = true
		}
	} else if yyl4882 > 0 {
		var yyrr4882, yyrl4882 int
		var yyrt4882 bool
		if yyl4882 > cap(yyv4882) {

			yyrg4882 := len(yyv4882) > 0
			yyv24882 := yyv4882
			yyrl4882, yyrt4882 = z.DecInferLen(yyl4882, z.DecBasicHandle().MaxInitLen, 64)
			if yyrt4882 {
				if yyrl4882 <= cap(yyv4882) {
					yyv4882 = yyv4882[:yyrl4882]
				} else {
					yyv4882 = make([]ComponentCondition, yyrl4882)
				}
			} else {
				yyv4882 = make([]ComponentCondition, yyrl4882)
			}
			yyc4882 = true
			yyrr4882 = len(yyv4882)
			if yyrg4882 {
				copy(yyv4882, yyv24882)
			}
		} else if yyl4882 != len(yyv4882) {
			yyv4882 = yyv4882[:yyl4882]
			yyc4882 = true
		}
		yyj4882 := 0
		for ; yyj4882 < yyrr4882; yyj4882++ {
			yyh4882.ElemContainerState(yyj4882)
			if r.TryDecodeAsNil() {
				yyv4882[yyj4882] = ComponentCondition{}
			} else {
				yyv4883 := &yyv4882[yyj4882]
				yyv4883.CodecDecodeSelf(d)
			}

		}
		if yyrt4882 {
			for ; yyj4882 < yyl4882; yyj4882++ {
				yyv4882 = append(yyv4882, ComponentCondition{})
				yyh4882.ElemContainerState(yyj4882)
				if r.TryDecodeAsNil() {
					yyv4882[yyj4882] = ComponentCondition{}
				} else {
					yyv4884 := &yyv4882[yyj4882]
					yyv4884.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4882 := 0
		for ; !r.CheckBreak(); yyj4882++ {

			if yyj4882 >= len(yyv4882) {
				yyv4882 = append(yyv4882, ComponentCondition{}) // var yyz4882 ComponentCondition
				yyc4882 = true
			}
			yyh4882.ElemContainerState(yyj4882)
			if yyj4882 < len(yyv4882) {
				if r.TryDecodeAsNil() {
					yyv4882[yyj4882] = ComponentCondition{}
				} else {
					yyv4885 := &yyv4882[yyj4882]
					yyv4885.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4882 < len(yyv4882) {
			yyv4882 = yyv4882[:yyj4882]
			yyc4882 = true
		} else if yyj4882 == 0 && yyv4882 == nil {
			yyv4882 = []ComponentCondition{}
			yyc4882 = true
		}
	}
	yyh4882.End()
	if yyc4882 {
		*v = yyv4882
	}
}

func (x codecSelfer1234) encSliceComponentStatus(v []ComponentStatus, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4886 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4887 := &yyv4886
		yy4887.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceComponentStatus(v *[]ComponentStatus, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4888 := *v
	yyh4888, yyl4888 := z.DecSliceHelperStart()
	var yyc4888 bool
	if yyl4888 == 0 {
		if yyv4888 == nil {
			yyv4888 = []ComponentStatus{}
			yyc4888 = true
		} else if len(yyv4888) != 0 {
			yyv4888 = yyv4888[:0]
			yyc4888 = true
		}
	} else if yyl4888 > 0 {
		var yyrr4888, yyrl4888 int
		var yyrt4888 bool
		if yyl4888 > cap(yyv4888) {

			yyrg4888 := len(yyv4888) > 0
			yyv24888 := yyv4888
			yyrl4888, yyrt4888 = z.DecInferLen(yyl4888, z.DecBasicHandle().MaxInitLen, 280)
			if yyrt4888 {
				if yyrl4888 <= cap(yyv4888) {
					yyv4888 = yyv4888[:yyrl4888]
				} else {
					yyv4888 = make([]ComponentStatus, yyrl4888)
				}
			} else {
				yyv4888 = make([]ComponentStatus, yyrl4888)
			}
			yyc4888 = true
			yyrr4888 = len(yyv4888)
			if yyrg4888 {
				copy(yyv4888, yyv24888)
			}
		} else if yyl4888 != len(yyv4888) {
			yyv4888 = yyv4888[:yyl4888]
			yyc4888 = true
		}
		yyj4888 := 0
		for ; yyj4888 < yyrr4888; yyj4888++ {
			yyh4888.ElemContainerState(yyj4888)
			if r.TryDecodeAsNil() {
				yyv4888[yyj4888] = ComponentStatus{}
			} else {
				yyv4889 := &yyv4888[yyj4888]
				yyv4889.CodecDecodeSelf(d)
			}

		}
		if yyrt4888 {
			for ; yyj4888 < yyl4888; yyj4888++ {
				yyv4888 = append(yyv4888, ComponentStatus{})
				yyh4888.ElemContainerState(yyj4888)
				if r.TryDecodeAsNil() {
					yyv4888[yyj4888] = ComponentStatus{}
				} else {
					yyv4890 := &yyv4888[yyj4888]
					yyv4890.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4888 := 0
		for ; !r.CheckBreak(); yyj4888++ {

			if yyj4888 >= len(yyv4888) {
				yyv4888 = append(yyv4888, ComponentStatus{}) // var yyz4888 ComponentStatus
				yyc4888 = true
			}
			yyh4888.ElemContainerState(yyj4888)
			if yyj4888 < len(yyv4888) {
				if r.TryDecodeAsNil() {
					yyv4888[yyj4888] = ComponentStatus{}
				} else {
					yyv4891 := &yyv4888[yyj4888]
					yyv4891.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4888 < len(yyv4888) {
			yyv4888 = yyv4888[:yyj4888]
			yyc4888 = true
		} else if yyj4888 == 0 && yyv4888 == nil {
			yyv4888 = []ComponentStatus{}
			yyc4888 = true
		}
	}
	yyh4888.End()
	if yyc4888 {
		*v = yyv4888
	}
}
