/*
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/kubernetes/pkg/api/resource"
	pkg2_unversioned "k8s.io/kubernetes/pkg/api/unversioned"
	pkg6_fields "k8s.io/kubernetes/pkg/fields"
	pkg5_labels "k8s.io/kubernetes/pkg/labels"
	pkg7_runtime "k8s.io/kubernetes/pkg/runtime"
	pkg1_types "k8s.io/kubernetes/pkg/types"
	pkg4_intstr "k8s.io/kubernetes/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_unversioned.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.encSliceOwnerReference(([]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.encSliceOwnerReference(([]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_unversioned.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_unversioned.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.decSliceOwnerReference((*[]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_unversioned.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_unversioned.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.decSliceOwnerReference((*[]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 [23]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
			var yynn101 int
			if yyr101 || yy2arr101 {
				r.EncodeArrayStart(23)
			} 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)
						}
					}
				}
			}
			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
	yym127 := z.DecBinary()
	_ = yym127
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct128 := r.ContainerType()
		if yyct128 == codecSelferValueTypeMap1234 {
			yyl128 := r.ReadMapStart()
			if yyl128 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl128, d)
			}
		} else if yyct128 == codecSelferValueTypeArray1234 {
			yyl128 := r.ReadArrayStart()
			if yyl128 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl128, 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 yys129Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys129Slc
	var yyhl129 bool = l >= 0
	for yyj129 := 0; ; yyj129++ {
		if yyhl129 {
			if yyj129 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys129Slc = r.DecodeBytes(yys129Slc, true, true)
		yys129 := string(yys129Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys129 {
		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)
			}
		default:
			z.DecStructFieldNotFound(-1, yys129)
		} // end switch yys129
	} // end for yyj129
	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 yyj153 int
	var yyb153 bool
	var yyhl153 bool = l >= 0
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		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)
	}
	for {
		yyj153++
		if yyhl153 {
			yyb153 = yyj153 > l
		} else {
			yyb153 = r.CheckBreak()
		}
		if yyb153 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj153-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 {
		yym177 := z.EncBinary()
		_ = yym177
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep178 := !z.EncBinary()
			yy2arr178 := z.EncBasicHandle().StructToArray
			var yyq178 [22]bool
			_, _, _ = yysep178, yyq178, yy2arr178
			const yyr178 bool = false
			yyq178[0] = x.HostPath != nil
			yyq178[1] = x.EmptyDir != nil
			yyq178[2] = x.GCEPersistentDisk != nil
			yyq178[3] = x.AWSElasticBlockStore != nil
			yyq178[4] = x.GitRepo != nil
			yyq178[5] = x.Secret != nil
			yyq178[6] = x.NFS != nil
			yyq178[7] = x.ISCSI != nil
			yyq178[8] = x.Glusterfs != nil
			yyq178[9] = x.PersistentVolumeClaim != nil
			yyq178[10] = x.RBD != nil
			yyq178[11] = x.Quobyte != nil
			yyq178[12] = x.FlexVolume != nil
			yyq178[13] = x.Cinder != nil
			yyq178[14] = x.CephFS != nil
			yyq178[15] = x.Flocker != nil
			yyq178[16] = x.DownwardAPI != nil
			yyq178[17] = x.FC != nil
			yyq178[18] = x.AzureFile != nil
			yyq178[19] = x.ConfigMap != nil
			yyq178[20] = x.VsphereVolume != nil
			yyq178[21] = x.AzureDisk != nil
			var yynn178 int
			if yyr178 || yy2arr178 {
				r.EncodeArrayStart(22)
			} else {
				yynn178 = 0
				for _, b := range yyq178 {
					if b {
						yynn178++
					}
				}
				r.EncodeMapStart(yynn178)
				yynn178 = 0
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[0] {
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[1] {
					if x.EmptyDir == nil {
						r.EncodeNil()
					} else {
						x.EmptyDir.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[2] {
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[3] {
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[4] {
					if x.GitRepo == nil {
						r.EncodeNil()
					} else {
						x.GitRepo.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[5] {
					if x.Secret == nil {
						r.EncodeNil()
					} else {
						x.Secret.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[6] {
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[7] {
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[8] {
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[9] {
					if x.PersistentVolumeClaim == nil {
						r.EncodeNil()
					} else {
						x.PersistentVolumeClaim.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[10] {
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[11] {
					if x.Quobyte == nil {
						r.EncodeNil()
					} else {
						x.Quobyte.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[12] {
					if x.FlexVolume == nil {
						r.EncodeNil()
					} else {
						x.FlexVolume.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[13] {
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[14] {
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[15] {
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[16] {
					if x.DownwardAPI == nil {
						r.EncodeNil()
					} else {
						x.DownwardAPI.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[17] {
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[18] {
					if x.AzureFile == nil {
						r.EncodeNil()
					} else {
						x.AzureFile.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[19] {
					if x.ConfigMap == nil {
						r.EncodeNil()
					} else {
						x.ConfigMap.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[20] {
					if x.VsphereVolume == nil {
						r.EncodeNil()
					} else {
						x.VsphereVolume.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[21] {
					if x.AzureDisk == nil {
						r.EncodeNil()
					} else {
						x.AzureDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[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 yyr178 || yy2arr178 {
				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
	yym201 := z.DecBinary()
	_ = yym201
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct202 := r.ContainerType()
		if yyct202 == codecSelferValueTypeMap1234 {
			yyl202 := r.ReadMapStart()
			if yyl202 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl202, d)
			}
		} else if yyct202 == codecSelferValueTypeArray1234 {
			yyl202 := r.ReadArrayStart()
			if yyl202 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl202, 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 yys203Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys203Slc
	var yyhl203 bool = l >= 0
	for yyj203 := 0; ; yyj203++ {
		if yyhl203 {
			if yyj203 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys203Slc = r.DecodeBytes(yys203Slc, true, true)
		yys203 := string(yys203Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys203 {
		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)
			}
		default:
			z.DecStructFieldNotFound(-1, yys203)
		} // end switch yys203
	} // end for yyj203
	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 yyj226 int
	var yyb226 bool
	var yyhl226 bool = l >= 0
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		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)
	}
	for {
		yyj226++
		if yyhl226 {
			yyb226 = yyj226 > l
		} else {
			yyb226 = r.CheckBreak()
		}
		if yyb226 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj226-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 {
		yym249 := z.EncBinary()
		_ = yym249
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep250 := !z.EncBinary()
			yy2arr250 := z.EncBasicHandle().StructToArray
			var yyq250 [16]bool
			_, _, _ = yysep250, yyq250, yy2arr250
			const yyr250 bool = false
			yyq250[0] = x.GCEPersistentDisk != nil
			yyq250[1] = x.AWSElasticBlockStore != nil
			yyq250[2] = x.HostPath != nil
			yyq250[3] = x.Glusterfs != nil
			yyq250[4] = x.NFS != nil
			yyq250[5] = x.RBD != nil
			yyq250[6] = x.Quobyte != nil
			yyq250[7] = x.ISCSI != nil
			yyq250[8] = x.FlexVolume != nil
			yyq250[9] = x.Cinder != nil
			yyq250[10] = x.CephFS != nil
			yyq250[11] = x.FC != nil
			yyq250[12] = x.Flocker != nil
			yyq250[13] = x.AzureFile != nil
			yyq250[14] = x.VsphereVolume != nil
			yyq250[15] = x.AzureDisk != nil
			var yynn250 int
			if yyr250 || yy2arr250 {
				r.EncodeArrayStart(16)
			} else {
				yynn250 = 0
				for _, b := range yyq250 {
					if b {
						yynn250++
					}
				}
				r.EncodeMapStart(yynn250)
				yynn250 = 0
			}
			if yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[0] {
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[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 yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[1] {
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[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 yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[2] {
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[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 yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[3] {
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[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 yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[4] {
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[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 yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[5] {
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[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 yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[6] {
					if x.Quobyte == nil {
						r.EncodeNil()
					} else {
						x.Quobyte.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[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 yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[7] {
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[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 yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[8] {
					if x.FlexVolume == nil {
						r.EncodeNil()
					} else {
						x.FlexVolume.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[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 yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[9] {
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[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 yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[10] {
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[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 yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[11] {
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[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 yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[12] {
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[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 yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[13] {
					if x.AzureFile == nil {
						r.EncodeNil()
					} else {
						x.AzureFile.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[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 yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[14] {
					if x.VsphereVolume == nil {
						r.EncodeNil()
					} else {
						x.VsphereVolume.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[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 yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[15] {
					if x.AzureDisk == nil {
						r.EncodeNil()
					} else {
						x.AzureDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[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 yyr250 || yy2arr250 {
				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
	yym267 := z.DecBinary()
	_ = yym267
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct268 := r.ContainerType()
		if yyct268 == codecSelferValueTypeMap1234 {
			yyl268 := r.ReadMapStart()
			if yyl268 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl268, d)
			}
		} else if yyct268 == codecSelferValueTypeArray1234 {
			yyl268 := r.ReadArrayStart()
			if yyl268 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl268, 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 yys269Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys269Slc
	var yyhl269 bool = l >= 0
	for yyj269 := 0; ; yyj269++ {
		if yyhl269 {
			if yyj269 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys269Slc = r.DecodeBytes(yys269Slc, true, true)
		yys269 := string(yys269Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys269 {
		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)
			}
		default:
			z.DecStructFieldNotFound(-1, yys269)
		} // end switch yys269
	} // end for yyj269
	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 yyj286 int
	var yyb286 bool
	var yyhl286 bool = l >= 0
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		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)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		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)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		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)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		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)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		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)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		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)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		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)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		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)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		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)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		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)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		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)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		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)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		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)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		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)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		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)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		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)
	}
	for {
		yyj286++
		if yyhl286 {
			yyb286 = yyj286 > l
		} else {
			yyb286 = r.CheckBreak()
		}
		if yyb286 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj286-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 {
		yym303 := z.EncBinary()
		_ = yym303
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep304 := !z.EncBinary()
			yy2arr304 := z.EncBasicHandle().StructToArray
			var yyq304 [2]bool
			_, _, _ = yysep304, yyq304, yy2arr304
			const yyr304 bool = false
			yyq304[1] = x.ReadOnly != false
			var yynn304 int
			if yyr304 || yy2arr304 {
				r.EncodeArrayStart(2)
			} else {
				yynn304 = 1
				for _, b := range yyq304 {
					if b {
						yynn304++
					}
				}
				r.EncodeMapStart(yynn304)
				yynn304 = 0
			}
			if yyr304 || yy2arr304 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym306 := z.EncBinary()
				_ = yym306
				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)
				yym307 := z.EncBinary()
				_ = yym307
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ClaimName))
				}
			}
			if yyr304 || yy2arr304 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq304[1] {
					yym309 := z.EncBinary()
					_ = yym309
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq304[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym310 := z.EncBinary()
					_ = yym310
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr304 || yy2arr304 {
				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
	yym311 := z.DecBinary()
	_ = yym311
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct312 := r.ContainerType()
		if yyct312 == codecSelferValueTypeMap1234 {
			yyl312 := r.ReadMapStart()
			if yyl312 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl312, d)
			}
		} else if yyct312 == codecSelferValueTypeArray1234 {
			yyl312 := r.ReadArrayStart()
			if yyl312 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl312, 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 yys313Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys313Slc
	var yyhl313 bool = l >= 0
	for yyj313 := 0; ; yyj313++ {
		if yyhl313 {
			if yyj313 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys313Slc = r.DecodeBytes(yys313Slc, true, true)
		yys313 := string(yys313Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys313 {
		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, yys313)
		} // end switch yys313
	} // end for yyj313
	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 yyj316 int
	var yyb316 bool
	var yyhl316 bool = l >= 0
	yyj316++
	if yyhl316 {
		yyb316 = yyj316 > l
	} else {
		yyb316 = r.CheckBreak()
	}
	if yyb316 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ClaimName = ""
	} else {
		x.ClaimName = string(r.DecodeString())
	}
	yyj316++
	if yyhl316 {
		yyb316 = yyj316 > l
	} else {
		yyb316 = r.CheckBreak()
	}
	if yyb316 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj316++
		if yyhl316 {
			yyb316 = yyj316 > l
		} else {
			yyb316 = r.CheckBreak()
		}
		if yyb316 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj316-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 {
		yym319 := z.EncBinary()
		_ = yym319
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep320 := !z.EncBinary()
			yy2arr320 := z.EncBasicHandle().StructToArray
			var yyq320 [5]bool
			_, _, _ = yysep320, yyq320, yy2arr320
			const yyr320 bool = false
			yyq320[0] = x.Kind != ""
			yyq320[1] = x.APIVersion != ""
			yyq320[2] = true
			yyq320[3] = true
			yyq320[4] = true
			var yynn320 int
			if yyr320 || yy2arr320 {
				r.EncodeArrayStart(5)
			} else {
				yynn320 = 0
				for _, b := range yyq320 {
					if b {
						yynn320++
					}
				}
				r.EncodeMapStart(yynn320)
				yynn320 = 0
			}
			if yyr320 || yy2arr320 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq320[0] {
					yym322 := z.EncBinary()
					_ = yym322
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq320[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym323 := z.EncBinary()
					_ = yym323
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr320 || yy2arr320 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq320[1] {
					yym325 := z.EncBinary()
					_ = yym325
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq320[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym326 := z.EncBinary()
					_ = yym326
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr320 || yy2arr320 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq320[2] {
					yy328 := &x.ObjectMeta
					yy328.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq320[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy329 := &x.ObjectMeta
					yy329.CodecEncodeSelf(e)
				}
			}
			if yyr320 || yy2arr320 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq320[3] {
					yy331 := &x.Spec
					yy331.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq320[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy332 := &x.Spec
					yy332.CodecEncodeSelf(e)
				}
			}
			if yyr320 || yy2arr320 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq320[4] {
					yy334 := &x.Status
					yy334.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq320[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy335 := &x.Status
					yy335.CodecEncodeSelf(e)
				}
			}
			if yyr320 || yy2arr320 {
				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
	yym336 := z.DecBinary()
	_ = yym336
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct337 := r.ContainerType()
		if yyct337 == codecSelferValueTypeMap1234 {
			yyl337 := r.ReadMapStart()
			if yyl337 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl337, d)
			}
		} else if yyct337 == codecSelferValueTypeArray1234 {
			yyl337 := r.ReadArrayStart()
			if yyl337 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl337, 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 yys338Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys338Slc
	var yyhl338 bool = l >= 0
	for yyj338 := 0; ; yyj338++ {
		if yyhl338 {
			if yyj338 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys338Slc = r.DecodeBytes(yys338Slc, true, true)
		yys338 := string(yys338Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys338 {
		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 {
				yyv341 := &x.ObjectMeta
				yyv341.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PersistentVolumeSpec{}
			} else {
				yyv342 := &x.Spec
				yyv342.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PersistentVolumeStatus{}
			} else {
				yyv343 := &x.Status
				yyv343.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys338)
		} // end switch yys338
	} // end for yyj338
	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 yyj344 int
	var yyb344 bool
	var yyhl344 bool = l >= 0
	yyj344++
	if yyhl344 {
		yyb344 = yyj344 > l
	} else {
		yyb344 = r.CheckBreak()
	}
	if yyb344 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj344++
	if yyhl344 {
		yyb344 = yyj344 > l
	} else {
		yyb344 = r.CheckBreak()
	}
	if yyb344 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj344++
	if yyhl344 {
		yyb344 = yyj344 > l
	} else {
		yyb344 = r.CheckBreak()
	}
	if yyb344 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv347 := &x.ObjectMeta
		yyv347.CodecDecodeSelf(d)
	}
	yyj344++
	if yyhl344 {
		yyb344 = yyj344 > l
	} else {
		yyb344 = r.CheckBreak()
	}
	if yyb344 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = PersistentVolumeSpec{}
	} else {
		yyv348 := &x.Spec
		yyv348.CodecDecodeSelf(d)
	}
	yyj344++
	if yyhl344 {
		yyb344 = yyj344 > l
	} else {
		yyb344 = r.CheckBreak()
	}
	if yyb344 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = PersistentVolumeStatus{}
	} else {
		yyv349 := &x.Status
		yyv349.CodecDecodeSelf(d)
	}
	for {
		yyj344++
		if yyhl344 {
			yyb344 = yyj344 > l
		} else {
			yyb344 = r.CheckBreak()
		}
		if yyb344 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj344-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 {
		yym350 := z.EncBinary()
		_ = yym350
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep351 := !z.EncBinary()
			yy2arr351 := z.EncBasicHandle().StructToArray
			var yyq351 [20]bool
			_, _, _ = yysep351, yyq351, yy2arr351
			const yyr351 bool = false
			yyq351[1] = x.PersistentVolumeSource.GCEPersistentDisk != nil && x.GCEPersistentDisk != nil
			yyq351[2] = x.PersistentVolumeSource.AWSElasticBlockStore != nil && x.AWSElasticBlockStore != nil
			yyq351[3] = x.PersistentVolumeSource.HostPath != nil && x.HostPath != nil
			yyq351[4] = x.PersistentVolumeSource.Glusterfs != nil && x.Glusterfs != nil
			yyq351[5] = x.PersistentVolumeSource.NFS != nil && x.NFS != nil
			yyq351[6] = x.PersistentVolumeSource.RBD != nil && x.RBD != nil
			yyq351[7] = x.PersistentVolumeSource.Quobyte != nil && x.Quobyte != nil
			yyq351[8] = x.PersistentVolumeSource.ISCSI != nil && x.ISCSI != nil
			yyq351[9] = x.PersistentVolumeSource.FlexVolume != nil && x.FlexVolume != nil
			yyq351[10] = x.PersistentVolumeSource.Cinder != nil && x.Cinder != nil
			yyq351[11] = x.PersistentVolumeSource.CephFS != nil && x.CephFS != nil
			yyq351[12] = x.PersistentVolumeSource.FC != nil && x.FC != nil
			yyq351[13] = x.PersistentVolumeSource.Flocker != nil && x.Flocker != nil
			yyq351[14] = x.PersistentVolumeSource.AzureFile != nil && x.AzureFile != nil
			yyq351[15] = x.PersistentVolumeSource.VsphereVolume != nil && x.VsphereVolume != nil
			yyq351[16] = x.PersistentVolumeSource.AzureDisk != nil && x.AzureDisk != nil
			yyq351[17] = len(x.AccessModes) != 0
			yyq351[18] = x.ClaimRef != nil
			yyq351[19] = x.PersistentVolumeReclaimPolicy != ""
			var yynn351 int
			if yyr351 || yy2arr351 {
				r.EncodeArrayStart(20)
			} else {
				yynn351 = 1
				for _, b := range yyq351 {
					if b {
						yynn351++
					}
				}
				r.EncodeMapStart(yynn351)
				yynn351 = 0
			}
			if yyr351 || yy2arr351 {
				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 yyn353 bool
			if x.PersistentVolumeSource.GCEPersistentDisk == nil {
				yyn353 = true
				goto LABEL353
			}
		LABEL353:
			if yyr351 || yy2arr351 {
				if yyn353 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[1] {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn353 {
						r.EncodeNil()
					} else {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn354 bool
			if x.PersistentVolumeSource.AWSElasticBlockStore == nil {
				yyn354 = true
				goto LABEL354
			}
		LABEL354:
			if yyr351 || yy2arr351 {
				if yyn354 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[2] {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn354 {
						r.EncodeNil()
					} else {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn355 bool
			if x.PersistentVolumeSource.HostPath == nil {
				yyn355 = true
				goto LABEL355
			}
		LABEL355:
			if yyr351 || yy2arr351 {
				if yyn355 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[3] {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn355 {
						r.EncodeNil()
					} else {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn356 bool
			if x.PersistentVolumeSource.Glusterfs == nil {
				yyn356 = true
				goto LABEL356
			}
		LABEL356:
			if yyr351 || yy2arr351 {
				if yyn356 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[4] {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn356 {
						r.EncodeNil()
					} else {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn357 bool
			if x.PersistentVolumeSource.NFS == nil {
				yyn357 = true
				goto LABEL357
			}
		LABEL357:
			if yyr351 || yy2arr351 {
				if yyn357 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[5] {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn357 {
						r.EncodeNil()
					} else {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn358 bool
			if x.PersistentVolumeSource.RBD == nil {
				yyn358 = true
				goto LABEL358
			}
		LABEL358:
			if yyr351 || yy2arr351 {
				if yyn358 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[6] {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn358 {
						r.EncodeNil()
					} else {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn359 bool
			if x.PersistentVolumeSource.Quobyte == nil {
				yyn359 = true
				goto LABEL359
			}
		LABEL359:
			if yyr351 || yy2arr351 {
				if yyn359 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[7] {
						if x.Quobyte == nil {
							r.EncodeNil()
						} else {
							x.Quobyte.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("quobyte"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn359 {
						r.EncodeNil()
					} else {
						if x.Quobyte == nil {
							r.EncodeNil()
						} else {
							x.Quobyte.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn360 bool
			if x.PersistentVolumeSource.ISCSI == nil {
				yyn360 = true
				goto LABEL360
			}
		LABEL360:
			if yyr351 || yy2arr351 {
				if yyn360 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[8] {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn360 {
						r.EncodeNil()
					} else {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn361 bool
			if x.PersistentVolumeSource.FlexVolume == nil {
				yyn361 = true
				goto LABEL361
			}
		LABEL361:
			if yyr351 || yy2arr351 {
				if yyn361 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[9] {
						if x.FlexVolume == nil {
							r.EncodeNil()
						} else {
							x.FlexVolume.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flexVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn361 {
						r.EncodeNil()
					} else {
						if x.FlexVolume == nil {
							r.EncodeNil()
						} else {
							x.FlexVolume.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn362 bool
			if x.PersistentVolumeSource.Cinder == nil {
				yyn362 = true
				goto LABEL362
			}
		LABEL362:
			if yyr351 || yy2arr351 {
				if yyn362 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[10] {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn362 {
						r.EncodeNil()
					} else {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn363 bool
			if x.PersistentVolumeSource.CephFS == nil {
				yyn363 = true
				goto LABEL363
			}
		LABEL363:
			if yyr351 || yy2arr351 {
				if yyn363 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[11] {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn363 {
						r.EncodeNil()
					} else {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn364 bool
			if x.PersistentVolumeSource.FC == nil {
				yyn364 = true
				goto LABEL364
			}
		LABEL364:
			if yyr351 || yy2arr351 {
				if yyn364 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[12] {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn364 {
						r.EncodeNil()
					} else {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn365 bool
			if x.PersistentVolumeSource.Flocker == nil {
				yyn365 = true
				goto LABEL365
			}
		LABEL365:
			if yyr351 || yy2arr351 {
				if yyn365 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[13] {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[13] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn365 {
						r.EncodeNil()
					} else {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn366 bool
			if x.PersistentVolumeSource.AzureFile == nil {
				yyn366 = true
				goto LABEL366
			}
		LABEL366:
			if yyr351 || yy2arr351 {
				if yyn366 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[14] {
						if x.AzureFile == nil {
							r.EncodeNil()
						} else {
							x.AzureFile.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[14] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("azureFile"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn366 {
						r.EncodeNil()
					} else {
						if x.AzureFile == nil {
							r.EncodeNil()
						} else {
							x.AzureFile.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn367 bool
			if x.PersistentVolumeSource.VsphereVolume == nil {
				yyn367 = true
				goto LABEL367
			}
		LABEL367:
			if yyr351 || yy2arr351 {
				if yyn367 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[15] {
						if x.VsphereVolume == nil {
							r.EncodeNil()
						} else {
							x.VsphereVolume.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[15] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("vsphereVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn367 {
						r.EncodeNil()
					} else {
						if x.VsphereVolume == nil {
							r.EncodeNil()
						} else {
							x.VsphereVolume.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn368 bool
			if x.PersistentVolumeSource.AzureDisk == nil {
				yyn368 = true
				goto LABEL368
			}
		LABEL368:
			if yyr351 || yy2arr351 {
				if yyn368 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[16] {
						if x.AzureDisk == nil {
							r.EncodeNil()
						} else {
							x.AzureDisk.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[16] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("azureDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn368 {
						r.EncodeNil()
					} else {
						if x.AzureDisk == nil {
							r.EncodeNil()
						} else {
							x.AzureDisk.CodecEncodeSelf(e)
						}
					}
				}
			}
			if yyr351 || yy2arr351 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq351[17] {
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym370 := z.EncBinary()
						_ = yym370
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq351[17] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("accessModes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym371 := z.EncBinary()
						_ = yym371
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				}
			}
			if yyr351 || yy2arr351 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq351[18] {
					if x.ClaimRef == nil {
						r.EncodeNil()
					} else {
						x.ClaimRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq351[18] {
					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 yyr351 || yy2arr351 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq351[19] {
					x.PersistentVolumeReclaimPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq351[19] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("persistentVolumeReclaimPolicy"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.PersistentVolumeReclaimPolicy.CodecEncodeSelf(e)
				}
			}
			if yyr351 || yy2arr351 {
				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
	yym374 := z.DecBinary()
	_ = yym374
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct375 := r.ContainerType()
		if yyct375 == codecSelferValueTypeMap1234 {
			yyl375 := r.ReadMapStart()
			if yyl375 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl375, d)
			}
		} else if yyct375 == codecSelferValueTypeArray1234 {
			yyl375 := r.ReadArrayStart()
			if yyl375 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl375, 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 yys376Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys376Slc
	var yyhl376 bool = l >= 0
	for yyj376 := 0; ; yyj376++ {
		if yyhl376 {
			if yyj376 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys376Slc = r.DecodeBytes(yys376Slc, true, true)
		yys376 := string(yys376Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys376 {
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv377 := &x.Capacity
				yyv377.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 "accessModes":
			if r.TryDecodeAsNil() {
				x.AccessModes = nil
			} else {
				yyv394 := &x.AccessModes
				yym395 := z.DecBinary()
				_ = yym395
				if false {
				} else {
					h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv394), 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, yys376)
		} // end switch yys376
	} // end for yyj376
	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 yyj398 int
	var yyb398 bool
	var yyhl398 bool = l >= 0
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv399 := &x.Capacity
		yyv399.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.GCEPersistentDisk == nil {
		x.PersistentVolumeSource.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		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)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		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)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		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)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		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)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		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)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		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)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		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)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		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)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		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)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		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)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		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)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		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)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		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)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		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)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		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)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		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)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.AccessModes = nil
	} else {
		yyv416 := &x.AccessModes
		yym417 := z.DecBinary()
		_ = yym417
		if false {
		} else {
			h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv416), d)
		}
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		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)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PersistentVolumeReclaimPolicy = ""
	} else {
		x.PersistentVolumeReclaimPolicy = PersistentVolumeReclaimPolicy(r.DecodeString())
	}
	for {
		yyj398++
		if yyhl398 {
			yyb398 = yyj398 > l
		} else {
			yyb398 = r.CheckBreak()
		}
		if yyb398 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj398-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PersistentVolumeReclaimPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym420 := z.EncBinary()
	_ = yym420
	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
	yym421 := z.DecBinary()
	_ = yym421
	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 {
		yym422 := z.EncBinary()
		_ = yym422
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep423 := !z.EncBinary()
			yy2arr423 := z.EncBasicHandle().StructToArray
			var yyq423 [3]bool
			_, _, _ = yysep423, yyq423, yy2arr423
			const yyr423 bool = false
			yyq423[0] = x.Phase != ""
			yyq423[1] = x.Message != ""
			yyq423[2] = x.Reason != ""
			var yynn423 int
			if yyr423 || yy2arr423 {
				r.EncodeArrayStart(3)
			} else {
				yynn423 = 0
				for _, b := range yyq423 {
					if b {
						yynn423++
					}
				}
				r.EncodeMapStart(yynn423)
				yynn423 = 0
			}
			if yyr423 || yy2arr423 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq423[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq423[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr423 || yy2arr423 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq423[1] {
					yym426 := z.EncBinary()
					_ = yym426
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq423[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym427 := z.EncBinary()
					_ = yym427
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr423 || yy2arr423 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq423[2] {
					yym429 := z.EncBinary()
					_ = yym429
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq423[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym430 := z.EncBinary()
					_ = yym430
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr423 || yy2arr423 {
				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
	yym431 := z.DecBinary()
	_ = yym431
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct432 := r.ContainerType()
		if yyct432 == codecSelferValueTypeMap1234 {
			yyl432 := r.ReadMapStart()
			if yyl432 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl432, d)
			}
		} else if yyct432 == codecSelferValueTypeArray1234 {
			yyl432 := r.ReadArrayStart()
			if yyl432 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl432, 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 yys433Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys433Slc
	var yyhl433 bool = l >= 0
	for yyj433 := 0; ; yyj433++ {
		if yyhl433 {
			if yyj433 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys433Slc = r.DecodeBytes(yys433Slc, true, true)
		yys433 := string(yys433Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys433 {
		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, yys433)
		} // end switch yys433
	} // end for yyj433
	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 yyj437 int
	var yyb437 bool
	var yyhl437 bool = l >= 0
	yyj437++
	if yyhl437 {
		yyb437 = yyj437 > l
	} else {
		yyb437 = r.CheckBreak()
	}
	if yyb437 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = PersistentVolumePhase(r.DecodeString())
	}
	yyj437++
	if yyhl437 {
		yyb437 = yyj437 > l
	} else {
		yyb437 = r.CheckBreak()
	}
	if yyb437 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj437++
	if yyhl437 {
		yyb437 = yyj437 > l
	} else {
		yyb437 = r.CheckBreak()
	}
	if yyb437 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	for {
		yyj437++
		if yyhl437 {
			yyb437 = yyj437 > l
		} else {
			yyb437 = r.CheckBreak()
		}
		if yyb437 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj437-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 {
		yym441 := z.EncBinary()
		_ = yym441
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep442 := !z.EncBinary()
			yy2arr442 := z.EncBasicHandle().StructToArray
			var yyq442 [4]bool
			_, _, _ = yysep442, yyq442, yy2arr442
			const yyr442 bool = false
			yyq442[0] = x.Kind != ""
			yyq442[1] = x.APIVersion != ""
			yyq442[2] = true
			var yynn442 int
			if yyr442 || yy2arr442 {
				r.EncodeArrayStart(4)
			} else {
				yynn442 = 1
				for _, b := range yyq442 {
					if b {
						yynn442++
					}
				}
				r.EncodeMapStart(yynn442)
				yynn442 = 0
			}
			if yyr442 || yy2arr442 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq442[0] {
					yym444 := z.EncBinary()
					_ = yym444
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq442[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym445 := z.EncBinary()
					_ = yym445
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr442 || yy2arr442 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq442[1] {
					yym447 := z.EncBinary()
					_ = yym447
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq442[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym448 := z.EncBinary()
					_ = yym448
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr442 || yy2arr442 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq442[2] {
					yy450 := &x.ListMeta
					yym451 := z.EncBinary()
					_ = yym451
					if false {
					} else if z.HasExtensions() && z.EncExt(yy450) {
					} else {
						z.EncFallback(yy450)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq442[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy452 := &x.ListMeta
					yym453 := z.EncBinary()
					_ = yym453
					if false {
					} else if z.HasExtensions() && z.EncExt(yy452) {
					} else {
						z.EncFallback(yy452)
					}
				}
			}
			if yyr442 || yy2arr442 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym455 := z.EncBinary()
					_ = yym455
					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 {
					yym456 := z.EncBinary()
					_ = yym456
					if false {
					} else {
						h.encSlicePersistentVolume(([]PersistentVolume)(x.Items), e)
					}
				}
			}
			if yyr442 || yy2arr442 {
				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
	yym457 := z.DecBinary()
	_ = yym457
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct458 := r.ContainerType()
		if yyct458 == codecSelferValueTypeMap1234 {
			yyl458 := r.ReadMapStart()
			if yyl458 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl458, d)
			}
		} else if yyct458 == codecSelferValueTypeArray1234 {
			yyl458 := r.ReadArrayStart()
			if yyl458 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl458, 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 yys459Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys459Slc
	var yyhl459 bool = l >= 0
	for yyj459 := 0; ; yyj459++ {
		if yyhl459 {
			if yyj459 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys459Slc = r.DecodeBytes(yys459Slc, true, true)
		yys459 := string(yys459Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys459 {
		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_unversioned.ListMeta{}
			} else {
				yyv462 := &x.ListMeta
				yym463 := z.DecBinary()
				_ = yym463
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv462) {
				} else {
					z.DecFallback(yyv462, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv464 := &x.Items
				yym465 := z.DecBinary()
				_ = yym465
				if false {
				} else {
					h.decSlicePersistentVolume((*[]PersistentVolume)(yyv464), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys459)
		} // end switch yys459
	} // end for yyj459
	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 yyj466 int
	var yyb466 bool
	var yyhl466 bool = l >= 0
	yyj466++
	if yyhl466 {
		yyb466 = yyj466 > l
	} else {
		yyb466 = r.CheckBreak()
	}
	if yyb466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj466++
	if yyhl466 {
		yyb466 = yyj466 > l
	} else {
		yyb466 = r.CheckBreak()
	}
	if yyb466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj466++
	if yyhl466 {
		yyb466 = yyj466 > l
	} else {
		yyb466 = r.CheckBreak()
	}
	if yyb466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv469 := &x.ListMeta
		yym470 := z.DecBinary()
		_ = yym470
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv469) {
		} else {
			z.DecFallback(yyv469, false)
		}
	}
	yyj466++
	if yyhl466 {
		yyb466 = yyj466 > l
	} else {
		yyb466 = r.CheckBreak()
	}
	if yyb466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv471 := &x.Items
		yym472 := z.DecBinary()
		_ = yym472
		if false {
		} else {
			h.decSlicePersistentVolume((*[]PersistentVolume)(yyv471), d)
		}
	}
	for {
		yyj466++
		if yyhl466 {
			yyb466 = yyj466 > l
		} else {
			yyb466 = r.CheckBreak()
		}
		if yyb466 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj466-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 {
		yym473 := z.EncBinary()
		_ = yym473
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep474 := !z.EncBinary()
			yy2arr474 := z.EncBasicHandle().StructToArray
			var yyq474 [5]bool
			_, _, _ = yysep474, yyq474, yy2arr474
			const yyr474 bool = false
			yyq474[0] = x.Kind != ""
			yyq474[1] = x.APIVersion != ""
			yyq474[2] = true
			yyq474[3] = true
			yyq474[4] = true
			var yynn474 int
			if yyr474 || yy2arr474 {
				r.EncodeArrayStart(5)
			} else {
				yynn474 = 0
				for _, b := range yyq474 {
					if b {
						yynn474++
					}
				}
				r.EncodeMapStart(yynn474)
				yynn474 = 0
			}
			if yyr474 || yy2arr474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq474[0] {
					yym476 := z.EncBinary()
					_ = yym476
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq474[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym477 := z.EncBinary()
					_ = yym477
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr474 || yy2arr474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq474[1] {
					yym479 := z.EncBinary()
					_ = yym479
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq474[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym480 := z.EncBinary()
					_ = yym480
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr474 || yy2arr474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq474[2] {
					yy482 := &x.ObjectMeta
					yy482.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq474[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy483 := &x.ObjectMeta
					yy483.CodecEncodeSelf(e)
				}
			}
			if yyr474 || yy2arr474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq474[3] {
					yy485 := &x.Spec
					yy485.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq474[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy486 := &x.Spec
					yy486.CodecEncodeSelf(e)
				}
			}
			if yyr474 || yy2arr474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq474[4] {
					yy488 := &x.Status
					yy488.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq474[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy489 := &x.Status
					yy489.CodecEncodeSelf(e)
				}
			}
			if yyr474 || yy2arr474 {
				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
	yym490 := z.DecBinary()
	_ = yym490
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct491 := r.ContainerType()
		if yyct491 == codecSelferValueTypeMap1234 {
			yyl491 := r.ReadMapStart()
			if yyl491 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl491, d)
			}
		} else if yyct491 == codecSelferValueTypeArray1234 {
			yyl491 := r.ReadArrayStart()
			if yyl491 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl491, 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 yys492Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys492Slc
	var yyhl492 bool = l >= 0
	for yyj492 := 0; ; yyj492++ {
		if yyhl492 {
			if yyj492 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys492Slc = r.DecodeBytes(yys492Slc, true, true)
		yys492 := string(yys492Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys492 {
		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 {
				yyv495 := &x.ObjectMeta
				yyv495.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PersistentVolumeClaimSpec{}
			} else {
				yyv496 := &x.Spec
				yyv496.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PersistentVolumeClaimStatus{}
			} else {
				yyv497 := &x.Status
				yyv497.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys492)
		} // end switch yys492
	} // end for yyj492
	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 yyj498 int
	var yyb498 bool
	var yyhl498 bool = l >= 0
	yyj498++
	if yyhl498 {
		yyb498 = yyj498 > l
	} else {
		yyb498 = r.CheckBreak()
	}
	if yyb498 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj498++
	if yyhl498 {
		yyb498 = yyj498 > l
	} else {
		yyb498 = r.CheckBreak()
	}
	if yyb498 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj498++
	if yyhl498 {
		yyb498 = yyj498 > l
	} else {
		yyb498 = r.CheckBreak()
	}
	if yyb498 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv501 := &x.ObjectMeta
		yyv501.CodecDecodeSelf(d)
	}
	yyj498++
	if yyhl498 {
		yyb498 = yyj498 > l
	} else {
		yyb498 = r.CheckBreak()
	}
	if yyb498 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = PersistentVolumeClaimSpec{}
	} else {
		yyv502 := &x.Spec
		yyv502.CodecDecodeSelf(d)
	}
	yyj498++
	if yyhl498 {
		yyb498 = yyj498 > l
	} else {
		yyb498 = r.CheckBreak()
	}
	if yyb498 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = PersistentVolumeClaimStatus{}
	} else {
		yyv503 := &x.Status
		yyv503.CodecDecodeSelf(d)
	}
	for {
		yyj498++
		if yyhl498 {
			yyb498 = yyj498 > l
		} else {
			yyb498 = r.CheckBreak()
		}
		if yyb498 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj498-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 {
		yym504 := z.EncBinary()
		_ = yym504
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep505 := !z.EncBinary()
			yy2arr505 := z.EncBasicHandle().StructToArray
			var yyq505 [4]bool
			_, _, _ = yysep505, yyq505, yy2arr505
			const yyr505 bool = false
			yyq505[0] = x.Kind != ""
			yyq505[1] = x.APIVersion != ""
			yyq505[2] = true
			var yynn505 int
			if yyr505 || yy2arr505 {
				r.EncodeArrayStart(4)
			} else {
				yynn505 = 1
				for _, b := range yyq505 {
					if b {
						yynn505++
					}
				}
				r.EncodeMapStart(yynn505)
				yynn505 = 0
			}
			if yyr505 || yy2arr505 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq505[0] {
					yym507 := z.EncBinary()
					_ = yym507
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq505[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym508 := z.EncBinary()
					_ = yym508
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr505 || yy2arr505 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq505[1] {
					yym510 := z.EncBinary()
					_ = yym510
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq505[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym511 := z.EncBinary()
					_ = yym511
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr505 || yy2arr505 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq505[2] {
					yy513 := &x.ListMeta
					yym514 := z.EncBinary()
					_ = yym514
					if false {
					} else if z.HasExtensions() && z.EncExt(yy513) {
					} else {
						z.EncFallback(yy513)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq505[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy515 := &x.ListMeta
					yym516 := z.EncBinary()
					_ = yym516
					if false {
					} else if z.HasExtensions() && z.EncExt(yy515) {
					} else {
						z.EncFallback(yy515)
					}
				}
			}
			if yyr505 || yy2arr505 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym518 := z.EncBinary()
					_ = yym518
					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 {
					yym519 := z.EncBinary()
					_ = yym519
					if false {
					} else {
						h.encSlicePersistentVolumeClaim(([]PersistentVolumeClaim)(x.Items), e)
					}
				}
			}
			if yyr505 || yy2arr505 {
				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
	yym520 := z.DecBinary()
	_ = yym520
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct521 := r.ContainerType()
		if yyct521 == codecSelferValueTypeMap1234 {
			yyl521 := r.ReadMapStart()
			if yyl521 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl521, d)
			}
		} else if yyct521 == codecSelferValueTypeArray1234 {
			yyl521 := r.ReadArrayStart()
			if yyl521 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl521, 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 yys522Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys522Slc
	var yyhl522 bool = l >= 0
	for yyj522 := 0; ; yyj522++ {
		if yyhl522 {
			if yyj522 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys522Slc = r.DecodeBytes(yys522Slc, true, true)
		yys522 := string(yys522Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys522 {
		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_unversioned.ListMeta{}
			} else {
				yyv525 := &x.ListMeta
				yym526 := z.DecBinary()
				_ = yym526
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv525) {
				} else {
					z.DecFallback(yyv525, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv527 := &x.Items
				yym528 := z.DecBinary()
				_ = yym528
				if false {
				} else {
					h.decSlicePersistentVolumeClaim((*[]PersistentVolumeClaim)(yyv527), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys522)
		} // end switch yys522
	} // end for yyj522
	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 yyj529 int
	var yyb529 bool
	var yyhl529 bool = l >= 0
	yyj529++
	if yyhl529 {
		yyb529 = yyj529 > l
	} else {
		yyb529 = r.CheckBreak()
	}
	if yyb529 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj529++
	if yyhl529 {
		yyb529 = yyj529 > l
	} else {
		yyb529 = r.CheckBreak()
	}
	if yyb529 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj529++
	if yyhl529 {
		yyb529 = yyj529 > l
	} else {
		yyb529 = r.CheckBreak()
	}
	if yyb529 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv532 := &x.ListMeta
		yym533 := z.DecBinary()
		_ = yym533
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv532) {
		} else {
			z.DecFallback(yyv532, false)
		}
	}
	yyj529++
	if yyhl529 {
		yyb529 = yyj529 > l
	} else {
		yyb529 = r.CheckBreak()
	}
	if yyb529 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv534 := &x.Items
		yym535 := z.DecBinary()
		_ = yym535
		if false {
		} else {
			h.decSlicePersistentVolumeClaim((*[]PersistentVolumeClaim)(yyv534), d)
		}
	}
	for {
		yyj529++
		if yyhl529 {
			yyb529 = yyj529 > l
		} else {
			yyb529 = r.CheckBreak()
		}
		if yyb529 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj529-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 {
		yym536 := z.EncBinary()
		_ = yym536
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep537 := !z.EncBinary()
			yy2arr537 := z.EncBasicHandle().StructToArray
			var yyq537 [4]bool
			_, _, _ = yysep537, yyq537, yy2arr537
			const yyr537 bool = false
			yyq537[0] = len(x.AccessModes) != 0
			yyq537[1] = x.Selector != nil
			yyq537[2] = true
			yyq537[3] = x.VolumeName != ""
			var yynn537 int
			if yyr537 || yy2arr537 {
				r.EncodeArrayStart(4)
			} else {
				yynn537 = 0
				for _, b := range yyq537 {
					if b {
						yynn537++
					}
				}
				r.EncodeMapStart(yynn537)
				yynn537 = 0
			}
			if yyr537 || yy2arr537 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq537[0] {
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym539 := z.EncBinary()
						_ = yym539
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq537[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("accessModes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym540 := z.EncBinary()
						_ = yym540
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				}
			}
			if yyr537 || yy2arr537 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq537[1] {
					if x.Selector == nil {
						r.EncodeNil()
					} else {
						yym542 := z.EncBinary()
						_ = yym542
						if false {
						} else if z.HasExtensions() && z.EncExt(x.Selector) {
						} else {
							z.EncFallback(x.Selector)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq537[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("selector"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Selector == nil {
						r.EncodeNil()
					} else {
						yym543 := z.EncBinary()
						_ = yym543
						if false {
						} else if z.HasExtensions() && z.EncExt(x.Selector) {
						} else {
							z.EncFallback(x.Selector)
						}
					}
				}
			}
			if yyr537 || yy2arr537 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq537[2] {
					yy545 := &x.Resources
					yy545.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq537[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resources"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy546 := &x.Resources
					yy546.CodecEncodeSelf(e)
				}
			}
			if yyr537 || yy2arr537 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq537[3] {
					yym548 := z.EncBinary()
					_ = yym548
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.VolumeName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq537[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("volumeName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym549 := z.EncBinary()
					_ = yym549
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.VolumeName))
					}
				}
			}
			if yyr537 || yy2arr537 {
				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
	yym550 := z.DecBinary()
	_ = yym550
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct551 := r.ContainerType()
		if yyct551 == codecSelferValueTypeMap1234 {
			yyl551 := r.ReadMapStart()
			if yyl551 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl551, d)
			}
		} else if yyct551 == codecSelferValueTypeArray1234 {
			yyl551 := r.ReadArrayStart()
			if yyl551 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl551, 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 yys552Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys552Slc
	var yyhl552 bool = l >= 0
	for yyj552 := 0; ; yyj552++ {
		if yyhl552 {
			if yyj552 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys552Slc = r.DecodeBytes(yys552Slc, true, true)
		yys552 := string(yys552Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys552 {
		case "accessModes":
			if r.TryDecodeAsNil() {
				x.AccessModes = nil
			} else {
				yyv553 := &x.AccessModes
				yym554 := z.DecBinary()
				_ = yym554
				if false {
				} else {
					h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv553), d)
				}
			}
		case "selector":
			if r.TryDecodeAsNil() {
				if x.Selector != nil {
					x.Selector = nil
				}
			} else {
				if x.Selector == nil {
					x.Selector = new(pkg2_unversioned.LabelSelector)
				}
				yym556 := z.DecBinary()
				_ = yym556
				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 {
				yyv557 := &x.Resources
				yyv557.CodecDecodeSelf(d)
			}
		case "volumeName":
			if r.TryDecodeAsNil() {
				x.VolumeName = ""
			} else {
				x.VolumeName = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys552)
		} // end switch yys552
	} // end for yyj552
	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 yyj559 int
	var yyb559 bool
	var yyhl559 bool = l >= 0
	yyj559++
	if yyhl559 {
		yyb559 = yyj559 > l
	} else {
		yyb559 = r.CheckBreak()
	}
	if yyb559 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.AccessModes = nil
	} else {
		yyv560 := &x.AccessModes
		yym561 := z.DecBinary()
		_ = yym561
		if false {
		} else {
			h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv560), d)
		}
	}
	yyj559++
	if yyhl559 {
		yyb559 = yyj559 > l
	} else {
		yyb559 = r.CheckBreak()
	}
	if yyb559 {
		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_unversioned.LabelSelector)
		}
		yym563 := z.DecBinary()
		_ = yym563
		if false {
		} else if z.HasExtensions() && z.DecExt(x.Selector) {
		} else {
			z.DecFallback(x.Selector, false)
		}
	}
	yyj559++
	if yyhl559 {
		yyb559 = yyj559 > l
	} else {
		yyb559 = r.CheckBreak()
	}
	if yyb559 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Resources = ResourceRequirements{}
	} else {
		yyv564 := &x.Resources
		yyv564.CodecDecodeSelf(d)
	}
	yyj559++
	if yyhl559 {
		yyb559 = yyj559 > l
	} else {
		yyb559 = r.CheckBreak()
	}
	if yyb559 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumeName = ""
	} else {
		x.VolumeName = string(r.DecodeString())
	}
	for {
		yyj559++
		if yyhl559 {
			yyb559 = yyj559 > l
		} else {
			yyb559 = r.CheckBreak()
		}
		if yyb559 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj559-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 {
		yym566 := z.EncBinary()
		_ = yym566
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep567 := !z.EncBinary()
			yy2arr567 := z.EncBasicHandle().StructToArray
			var yyq567 [3]bool
			_, _, _ = yysep567, yyq567, yy2arr567
			const yyr567 bool = false
			yyq567[0] = x.Phase != ""
			yyq567[1] = len(x.AccessModes) != 0
			yyq567[2] = len(x.Capacity) != 0
			var yynn567 int
			if yyr567 || yy2arr567 {
				r.EncodeArrayStart(3)
			} else {
				yynn567 = 0
				for _, b := range yyq567 {
					if b {
						yynn567++
					}
				}
				r.EncodeMapStart(yynn567)
				yynn567 = 0
			}
			if yyr567 || yy2arr567 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq567[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq567[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr567 || yy2arr567 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq567[1] {
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym570 := z.EncBinary()
						_ = yym570
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq567[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("accessModes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym571 := z.EncBinary()
						_ = yym571
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				}
			}
			if yyr567 || yy2arr567 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq567[2] {
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq567[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 yyr567 || yy2arr567 {
				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
	yym573 := z.DecBinary()
	_ = yym573
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct574 := r.ContainerType()
		if yyct574 == codecSelferValueTypeMap1234 {
			yyl574 := r.ReadMapStart()
			if yyl574 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl574, d)
			}
		} else if yyct574 == codecSelferValueTypeArray1234 {
			yyl574 := r.ReadArrayStart()
			if yyl574 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl574, 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 yys575Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys575Slc
	var yyhl575 bool = l >= 0
	for yyj575 := 0; ; yyj575++ {
		if yyhl575 {
			if yyj575 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys575Slc = r.DecodeBytes(yys575Slc, true, true)
		yys575 := string(yys575Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys575 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = PersistentVolumeClaimPhase(r.DecodeString())
			}
		case "accessModes":
			if r.TryDecodeAsNil() {
				x.AccessModes = nil
			} else {
				yyv577 := &x.AccessModes
				yym578 := z.DecBinary()
				_ = yym578
				if false {
				} else {
					h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv577), d)
				}
			}
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv579 := &x.Capacity
				yyv579.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys575)
		} // end switch yys575
	} // end for yyj575
	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 yyj580 int
	var yyb580 bool
	var yyhl580 bool = l >= 0
	yyj580++
	if yyhl580 {
		yyb580 = yyj580 > l
	} else {
		yyb580 = r.CheckBreak()
	}
	if yyb580 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = PersistentVolumeClaimPhase(r.DecodeString())
	}
	yyj580++
	if yyhl580 {
		yyb580 = yyj580 > l
	} else {
		yyb580 = r.CheckBreak()
	}
	if yyb580 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.AccessModes = nil
	} else {
		yyv582 := &x.AccessModes
		yym583 := z.DecBinary()
		_ = yym583
		if false {
		} else {
			h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv582), d)
		}
	}
	yyj580++
	if yyhl580 {
		yyb580 = yyj580 > l
	} else {
		yyb580 = r.CheckBreak()
	}
	if yyb580 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv584 := &x.Capacity
		yyv584.CodecDecodeSelf(d)
	}
	for {
		yyj580++
		if yyhl580 {
			yyb580 = yyj580 > l
		} else {
			yyb580 = r.CheckBreak()
		}
		if yyb580 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj580-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PersistentVolumeAccessMode) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym585 := z.EncBinary()
	_ = yym585
	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
	yym586 := z.DecBinary()
	_ = yym586
	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
	yym587 := z.EncBinary()
	_ = yym587
	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
	yym588 := z.DecBinary()
	_ = yym588
	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
	yym589 := z.EncBinary()
	_ = yym589
	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
	yym590 := z.DecBinary()
	_ = yym590
	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 {
		yym591 := z.EncBinary()
		_ = yym591
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep592 := !z.EncBinary()
			yy2arr592 := z.EncBasicHandle().StructToArray
			var yyq592 [1]bool
			_, _, _ = yysep592, yyq592, yy2arr592
			const yyr592 bool = false
			var yynn592 int
			if yyr592 || yy2arr592 {
				r.EncodeArrayStart(1)
			} else {
				yynn592 = 1
				for _, b := range yyq592 {
					if b {
						yynn592++
					}
				}
				r.EncodeMapStart(yynn592)
				yynn592 = 0
			}
			if yyr592 || yy2arr592 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym594 := z.EncBinary()
				_ = yym594
				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)
				yym595 := z.EncBinary()
				_ = yym595
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr592 || yy2arr592 {
				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
	yym596 := z.DecBinary()
	_ = yym596
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct597 := r.ContainerType()
		if yyct597 == codecSelferValueTypeMap1234 {
			yyl597 := r.ReadMapStart()
			if yyl597 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl597, d)
			}
		} else if yyct597 == codecSelferValueTypeArray1234 {
			yyl597 := r.ReadArrayStart()
			if yyl597 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl597, 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 yys598Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys598Slc
	var yyhl598 bool = l >= 0
	for yyj598 := 0; ; yyj598++ {
		if yyhl598 {
			if yyj598 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys598Slc = r.DecodeBytes(yys598Slc, true, true)
		yys598 := string(yys598Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys598 {
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys598)
		} // end switch yys598
	} // end for yyj598
	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 yyj600 int
	var yyb600 bool
	var yyhl600 bool = l >= 0
	yyj600++
	if yyhl600 {
		yyb600 = yyj600 > l
	} else {
		yyb600 = r.CheckBreak()
	}
	if yyb600 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	for {
		yyj600++
		if yyhl600 {
			yyb600 = yyj600 > l
		} else {
			yyb600 = r.CheckBreak()
		}
		if yyb600 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj600-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 {
		yym602 := z.EncBinary()
		_ = yym602
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep603 := !z.EncBinary()
			yy2arr603 := z.EncBasicHandle().StructToArray
			var yyq603 [1]bool
			_, _, _ = yysep603, yyq603, yy2arr603
			const yyr603 bool = false
			yyq603[0] = x.Medium != ""
			var yynn603 int
			if yyr603 || yy2arr603 {
				r.EncodeArrayStart(1)
			} else {
				yynn603 = 0
				for _, b := range yyq603 {
					if b {
						yynn603++
					}
				}
				r.EncodeMapStart(yynn603)
				yynn603 = 0
			}
			if yyr603 || yy2arr603 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq603[0] {
					x.Medium.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq603[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("medium"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Medium.CodecEncodeSelf(e)
				}
			}
			if yyr603 || yy2arr603 {
				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
	yym605 := z.DecBinary()
	_ = yym605
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct606 := r.ContainerType()
		if yyct606 == codecSelferValueTypeMap1234 {
			yyl606 := r.ReadMapStart()
			if yyl606 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl606, d)
			}
		} else if yyct606 == codecSelferValueTypeArray1234 {
			yyl606 := r.ReadArrayStart()
			if yyl606 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl606, 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 yys607Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys607Slc
	var yyhl607 bool = l >= 0
	for yyj607 := 0; ; yyj607++ {
		if yyhl607 {
			if yyj607 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys607Slc = r.DecodeBytes(yys607Slc, true, true)
		yys607 := string(yys607Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys607 {
		case "medium":
			if r.TryDecodeAsNil() {
				x.Medium = ""
			} else {
				x.Medium = StorageMedium(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys607)
		} // end switch yys607
	} // end for yyj607
	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 yyj609 int
	var yyb609 bool
	var yyhl609 bool = l >= 0
	yyj609++
	if yyhl609 {
		yyb609 = yyj609 > l
	} else {
		yyb609 = r.CheckBreak()
	}
	if yyb609 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Medium = ""
	} else {
		x.Medium = StorageMedium(r.DecodeString())
	}
	for {
		yyj609++
		if yyhl609 {
			yyb609 = yyj609 > l
		} else {
			yyb609 = r.CheckBreak()
		}
		if yyb609 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj609-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x StorageMedium) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym611 := z.EncBinary()
	_ = yym611
	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
	yym612 := z.DecBinary()
	_ = yym612
	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
	yym613 := z.EncBinary()
	_ = yym613
	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
	yym614 := z.DecBinary()
	_ = yym614
	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 {
		yym615 := z.EncBinary()
		_ = yym615
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep616 := !z.EncBinary()
			yy2arr616 := z.EncBasicHandle().StructToArray
			var yyq616 [4]bool
			_, _, _ = yysep616, yyq616, yy2arr616
			const yyr616 bool = false
			yyq616[1] = x.FSType != ""
			yyq616[2] = x.Partition != 0
			yyq616[3] = x.ReadOnly != false
			var yynn616 int
			if yyr616 || yy2arr616 {
				r.EncodeArrayStart(4)
			} else {
				yynn616 = 1
				for _, b := range yyq616 {
					if b {
						yynn616++
					}
				}
				r.EncodeMapStart(yynn616)
				yynn616 = 0
			}
			if yyr616 || yy2arr616 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym618 := z.EncBinary()
				_ = yym618
				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)
				yym619 := z.EncBinary()
				_ = yym619
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.PDName))
				}
			}
			if yyr616 || yy2arr616 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq616[1] {
					yym621 := z.EncBinary()
					_ = yym621
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq616[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym622 := z.EncBinary()
					_ = yym622
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr616 || yy2arr616 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq616[2] {
					yym624 := z.EncBinary()
					_ = yym624
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq616[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("partition"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym625 := z.EncBinary()
					_ = yym625
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				}
			}
			if yyr616 || yy2arr616 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq616[3] {
					yym627 := z.EncBinary()
					_ = yym627
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq616[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym628 := z.EncBinary()
					_ = yym628
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr616 || yy2arr616 {
				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
	yym629 := z.DecBinary()
	_ = yym629
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct630 := r.ContainerType()
		if yyct630 == codecSelferValueTypeMap1234 {
			yyl630 := r.ReadMapStart()
			if yyl630 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl630, d)
			}
		} else if yyct630 == codecSelferValueTypeArray1234 {
			yyl630 := r.ReadArrayStart()
			if yyl630 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl630, 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 yys631Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys631Slc
	var yyhl631 bool = l >= 0
	for yyj631 := 0; ; yyj631++ {
		if yyhl631 {
			if yyj631 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys631Slc = r.DecodeBytes(yys631Slc, true, true)
		yys631 := string(yys631Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys631 {
		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, yys631)
		} // end switch yys631
	} // end for yyj631
	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 yyj636 int
	var yyb636 bool
	var yyhl636 bool = l >= 0
	yyj636++
	if yyhl636 {
		yyb636 = yyj636 > l
	} else {
		yyb636 = r.CheckBreak()
	}
	if yyb636 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PDName = ""
	} else {
		x.PDName = string(r.DecodeString())
	}
	yyj636++
	if yyhl636 {
		yyb636 = yyj636 > l
	} else {
		yyb636 = r.CheckBreak()
	}
	if yyb636 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj636++
	if yyhl636 {
		yyb636 = yyj636 > l
	} else {
		yyb636 = r.CheckBreak()
	}
	if yyb636 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Partition = 0
	} else {
		x.Partition = int32(r.DecodeInt(32))
	}
	yyj636++
	if yyhl636 {
		yyb636 = yyj636 > l
	} else {
		yyb636 = r.CheckBreak()
	}
	if yyb636 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj636++
		if yyhl636 {
			yyb636 = yyj636 > l
		} else {
			yyb636 = r.CheckBreak()
		}
		if yyb636 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj636-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 {
		yym641 := z.EncBinary()
		_ = yym641
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep642 := !z.EncBinary()
			yy2arr642 := z.EncBasicHandle().StructToArray
			var yyq642 [6]bool
			_, _, _ = yysep642, yyq642, yy2arr642
			const yyr642 bool = false
			yyq642[0] = x.TargetPortal != ""
			yyq642[1] = x.IQN != ""
			yyq642[2] = x.Lun != 0
			yyq642[3] = x.ISCSIInterface != ""
			yyq642[4] = x.FSType != ""
			yyq642[5] = x.ReadOnly != false
			var yynn642 int
			if yyr642 || yy2arr642 {
				r.EncodeArrayStart(6)
			} else {
				yynn642 = 0
				for _, b := range yyq642 {
					if b {
						yynn642++
					}
				}
				r.EncodeMapStart(yynn642)
				yynn642 = 0
			}
			if yyr642 || yy2arr642 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq642[0] {
					yym644 := z.EncBinary()
					_ = yym644
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TargetPortal))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq642[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("targetPortal"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym645 := z.EncBinary()
					_ = yym645
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TargetPortal))
					}
				}
			}
			if yyr642 || yy2arr642 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq642[1] {
					yym647 := z.EncBinary()
					_ = yym647
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IQN))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq642[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iqn"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym648 := z.EncBinary()
					_ = yym648
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IQN))
					}
				}
			}
			if yyr642 || yy2arr642 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq642[2] {
					yym650 := z.EncBinary()
					_ = yym650
					if false {
					} else {
						r.EncodeInt(int64(x.Lun))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq642[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lun"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym651 := z.EncBinary()
					_ = yym651
					if false {
					} else {
						r.EncodeInt(int64(x.Lun))
					}
				}
			}
			if yyr642 || yy2arr642 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq642[3] {
					yym653 := z.EncBinary()
					_ = yym653
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ISCSIInterface))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq642[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iscsiInterface"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym654 := z.EncBinary()
					_ = yym654
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ISCSIInterface))
					}
				}
			}
			if yyr642 || yy2arr642 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq642[4] {
					yym656 := z.EncBinary()
					_ = yym656
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq642[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym657 := z.EncBinary()
					_ = yym657
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr642 || yy2arr642 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq642[5] {
					yym659 := z.EncBinary()
					_ = yym659
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq642[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym660 := z.EncBinary()
					_ = yym660
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr642 || yy2arr642 {
				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
	yym661 := z.DecBinary()
	_ = yym661
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct662 := r.ContainerType()
		if yyct662 == codecSelferValueTypeMap1234 {
			yyl662 := r.ReadMapStart()
			if yyl662 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl662, d)
			}
		} else if yyct662 == codecSelferValueTypeArray1234 {
			yyl662 := r.ReadArrayStart()
			if yyl662 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl662, 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 yys663Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys663Slc
	var yyhl663 bool = l >= 0
	for yyj663 := 0; ; yyj663++ {
		if yyhl663 {
			if yyj663 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys663Slc = r.DecodeBytes(yys663Slc, true, true)
		yys663 := string(yys663Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys663 {
		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, yys663)
		} // end switch yys663
	} // end for yyj663
	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 yyj670 int
	var yyb670 bool
	var yyhl670 bool = l >= 0
	yyj670++
	if yyhl670 {
		yyb670 = yyj670 > l
	} else {
		yyb670 = r.CheckBreak()
	}
	if yyb670 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TargetPortal = ""
	} else {
		x.TargetPortal = string(r.DecodeString())
	}
	yyj670++
	if yyhl670 {
		yyb670 = yyj670 > l
	} else {
		yyb670 = r.CheckBreak()
	}
	if yyb670 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.IQN = ""
	} else {
		x.IQN = string(r.DecodeString())
	}
	yyj670++
	if yyhl670 {
		yyb670 = yyj670 > l
	} else {
		yyb670 = r.CheckBreak()
	}
	if yyb670 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Lun = 0
	} else {
		x.Lun = int32(r.DecodeInt(32))
	}
	yyj670++
	if yyhl670 {
		yyb670 = yyj670 > l
	} else {
		yyb670 = r.CheckBreak()
	}
	if yyb670 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ISCSIInterface = ""
	} else {
		x.ISCSIInterface = string(r.DecodeString())
	}
	yyj670++
	if yyhl670 {
		yyb670 = yyj670 > l
	} else {
		yyb670 = r.CheckBreak()
	}
	if yyb670 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj670++
	if yyhl670 {
		yyb670 = yyj670 > l
	} else {
		yyb670 = r.CheckBreak()
	}
	if yyb670 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj670++
		if yyhl670 {
			yyb670 = yyj670 > l
		} else {
			yyb670 = r.CheckBreak()
		}
		if yyb670 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj670-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 {
		yym677 := z.EncBinary()
		_ = yym677
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep678 := !z.EncBinary()
			yy2arr678 := z.EncBasicHandle().StructToArray
			var yyq678 [4]bool
			_, _, _ = yysep678, yyq678, yy2arr678
			const yyr678 bool = false
			yyq678[2] = x.FSType != ""
			yyq678[3] = x.ReadOnly != false
			var yynn678 int
			if yyr678 || yy2arr678 {
				r.EncodeArrayStart(4)
			} else {
				yynn678 = 2
				for _, b := range yyq678 {
					if b {
						yynn678++
					}
				}
				r.EncodeMapStart(yynn678)
				yynn678 = 0
			}
			if yyr678 || yy2arr678 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.TargetWWNs == nil {
					r.EncodeNil()
				} else {
					yym680 := z.EncBinary()
					_ = yym680
					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 {
					yym681 := z.EncBinary()
					_ = yym681
					if false {
					} else {
						z.F.EncSliceStringV(x.TargetWWNs, false, e)
					}
				}
			}
			if yyr678 || yy2arr678 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Lun == nil {
					r.EncodeNil()
				} else {
					yy683 := *x.Lun
					yym684 := z.EncBinary()
					_ = yym684
					if false {
					} else {
						r.EncodeInt(int64(yy683))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("lun"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Lun == nil {
					r.EncodeNil()
				} else {
					yy685 := *x.Lun
					yym686 := z.EncBinary()
					_ = yym686
					if false {
					} else {
						r.EncodeInt(int64(yy685))
					}
				}
			}
			if yyr678 || yy2arr678 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq678[2] {
					yym688 := z.EncBinary()
					_ = yym688
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq678[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym689 := z.EncBinary()
					_ = yym689
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr678 || yy2arr678 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq678[3] {
					yym691 := z.EncBinary()
					_ = yym691
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq678[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym692 := z.EncBinary()
					_ = yym692
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr678 || yy2arr678 {
				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
	yym693 := z.DecBinary()
	_ = yym693
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct694 := r.ContainerType()
		if yyct694 == codecSelferValueTypeMap1234 {
			yyl694 := r.ReadMapStart()
			if yyl694 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl694, d)
			}
		} else if yyct694 == codecSelferValueTypeArray1234 {
			yyl694 := r.ReadArrayStart()
			if yyl694 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl694, 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 yys695Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys695Slc
	var yyhl695 bool = l >= 0
	for yyj695 := 0; ; yyj695++ {
		if yyhl695 {
			if yyj695 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys695Slc = r.DecodeBytes(yys695Slc, true, true)
		yys695 := string(yys695Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys695 {
		case "targetWWNs":
			if r.TryDecodeAsNil() {
				x.TargetWWNs = nil
			} else {
				yyv696 := &x.TargetWWNs
				yym697 := z.DecBinary()
				_ = yym697
				if false {
				} else {
					z.F.DecSliceStringX(yyv696, false, d)
				}
			}
		case "lun":
			if r.TryDecodeAsNil() {
				if x.Lun != nil {
					x.Lun = nil
				}
			} else {
				if x.Lun == nil {
					x.Lun = new(int32)
				}
				yym699 := z.DecBinary()
				_ = yym699
				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, yys695)
		} // end switch yys695
	} // end for yyj695
	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 yyj702 int
	var yyb702 bool
	var yyhl702 bool = l >= 0
	yyj702++
	if yyhl702 {
		yyb702 = yyj702 > l
	} else {
		yyb702 = r.CheckBreak()
	}
	if yyb702 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TargetWWNs = nil
	} else {
		yyv703 := &x.TargetWWNs
		yym704 := z.DecBinary()
		_ = yym704
		if false {
		} else {
			z.F.DecSliceStringX(yyv703, false, d)
		}
	}
	yyj702++
	if yyhl702 {
		yyb702 = yyj702 > l
	} else {
		yyb702 = r.CheckBreak()
	}
	if yyb702 {
		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)
		}
		yym706 := z.DecBinary()
		_ = yym706
		if false {
		} else {
			*((*int32)(x.Lun)) = int32(r.DecodeInt(32))
		}
	}
	yyj702++
	if yyhl702 {
		yyb702 = yyj702 > l
	} else {
		yyb702 = r.CheckBreak()
	}
	if yyb702 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj702++
	if yyhl702 {
		yyb702 = yyj702 > l
	} else {
		yyb702 = r.CheckBreak()
	}
	if yyb702 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj702++
		if yyhl702 {
			yyb702 = yyj702 > l
		} else {
			yyb702 = r.CheckBreak()
		}
		if yyb702 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj702-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 {
		yym709 := z.EncBinary()
		_ = yym709
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep710 := !z.EncBinary()
			yy2arr710 := z.EncBasicHandle().StructToArray
			var yyq710 [5]bool
			_, _, _ = yysep710, yyq710, yy2arr710
			const yyr710 bool = false
			yyq710[1] = x.FSType != ""
			yyq710[2] = x.SecretRef != nil
			yyq710[3] = x.ReadOnly != false
			yyq710[4] = len(x.Options) != 0
			var yynn710 int
			if yyr710 || yy2arr710 {
				r.EncodeArrayStart(5)
			} else {
				yynn710 = 1
				for _, b := range yyq710 {
					if b {
						yynn710++
					}
				}
				r.EncodeMapStart(yynn710)
				yynn710 = 0
			}
			if yyr710 || yy2arr710 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym712 := z.EncBinary()
				_ = yym712
				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)
				yym713 := z.EncBinary()
				_ = yym713
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Driver))
				}
			}
			if yyr710 || yy2arr710 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq710[1] {
					yym715 := z.EncBinary()
					_ = yym715
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq710[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym716 := z.EncBinary()
					_ = yym716
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr710 || yy2arr710 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq710[2] {
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq710[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 yyr710 || yy2arr710 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq710[3] {
					yym719 := z.EncBinary()
					_ = yym719
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq710[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym720 := z.EncBinary()
					_ = yym720
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr710 || yy2arr710 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq710[4] {
					if x.Options == nil {
						r.EncodeNil()
					} else {
						yym722 := z.EncBinary()
						_ = yym722
						if false {
						} else {
							z.F.EncMapStringStringV(x.Options, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq710[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("options"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Options == nil {
						r.EncodeNil()
					} else {
						yym723 := z.EncBinary()
						_ = yym723
						if false {
						} else {
							z.F.EncMapStringStringV(x.Options, false, e)
						}
					}
				}
			}
			if yyr710 || yy2arr710 {
				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
	yym724 := z.DecBinary()
	_ = yym724
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct725 := r.ContainerType()
		if yyct725 == codecSelferValueTypeMap1234 {
			yyl725 := r.ReadMapStart()
			if yyl725 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl725, d)
			}
		} else if yyct725 == codecSelferValueTypeArray1234 {
			yyl725 := r.ReadArrayStart()
			if yyl725 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl725, 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 yys726Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys726Slc
	var yyhl726 bool = l >= 0
	for yyj726 := 0; ; yyj726++ {
		if yyhl726 {
			if yyj726 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys726Slc = r.DecodeBytes(yys726Slc, true, true)
		yys726 := string(yys726Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys726 {
		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 {
				yyv731 := &x.Options
				yym732 := z.DecBinary()
				_ = yym732
				if false {
				} else {
					z.F.DecMapStringStringX(yyv731, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys726)
		} // end switch yys726
	} // end for yyj726
	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 yyj733 int
	var yyb733 bool
	var yyhl733 bool = l >= 0
	yyj733++
	if yyhl733 {
		yyb733 = yyj733 > l
	} else {
		yyb733 = r.CheckBreak()
	}
	if yyb733 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Driver = ""
	} else {
		x.Driver = string(r.DecodeString())
	}
	yyj733++
	if yyhl733 {
		yyb733 = yyj733 > l
	} else {
		yyb733 = r.CheckBreak()
	}
	if yyb733 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj733++
	if yyhl733 {
		yyb733 = yyj733 > l
	} else {
		yyb733 = r.CheckBreak()
	}
	if yyb733 {
		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)
	}
	yyj733++
	if yyhl733 {
		yyb733 = yyj733 > l
	} else {
		yyb733 = r.CheckBreak()
	}
	if yyb733 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	yyj733++
	if yyhl733 {
		yyb733 = yyj733 > l
	} else {
		yyb733 = r.CheckBreak()
	}
	if yyb733 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Options = nil
	} else {
		yyv738 := &x.Options
		yym739 := z.DecBinary()
		_ = yym739
		if false {
		} else {
			z.F.DecMapStringStringX(yyv738, false, d)
		}
	}
	for {
		yyj733++
		if yyhl733 {
			yyb733 = yyj733 > l
		} else {
			yyb733 = r.CheckBreak()
		}
		if yyb733 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj733-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 {
		yym740 := z.EncBinary()
		_ = yym740
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep741 := !z.EncBinary()
			yy2arr741 := z.EncBasicHandle().StructToArray
			var yyq741 [4]bool
			_, _, _ = yysep741, yyq741, yy2arr741
			const yyr741 bool = false
			yyq741[1] = x.FSType != ""
			yyq741[2] = x.Partition != 0
			yyq741[3] = x.ReadOnly != false
			var yynn741 int
			if yyr741 || yy2arr741 {
				r.EncodeArrayStart(4)
			} else {
				yynn741 = 1
				for _, b := range yyq741 {
					if b {
						yynn741++
					}
				}
				r.EncodeMapStart(yynn741)
				yynn741 = 0
			}
			if yyr741 || yy2arr741 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym743 := z.EncBinary()
				_ = yym743
				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)
				yym744 := z.EncBinary()
				_ = yym744
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			}
			if yyr741 || yy2arr741 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq741[1] {
					yym746 := z.EncBinary()
					_ = yym746
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq741[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym747 := z.EncBinary()
					_ = yym747
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr741 || yy2arr741 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq741[2] {
					yym749 := z.EncBinary()
					_ = yym749
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq741[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("partition"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym750 := z.EncBinary()
					_ = yym750
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				}
			}
			if yyr741 || yy2arr741 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq741[3] {
					yym752 := z.EncBinary()
					_ = yym752
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq741[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym753 := z.EncBinary()
					_ = yym753
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr741 || yy2arr741 {
				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
	yym754 := z.DecBinary()
	_ = yym754
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct755 := r.ContainerType()
		if yyct755 == codecSelferValueTypeMap1234 {
			yyl755 := r.ReadMapStart()
			if yyl755 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl755, d)
			}
		} else if yyct755 == codecSelferValueTypeArray1234 {
			yyl755 := r.ReadArrayStart()
			if yyl755 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl755, 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 yys756Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys756Slc
	var yyhl756 bool = l >= 0
	for yyj756 := 0; ; yyj756++ {
		if yyhl756 {
			if yyj756 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys756Slc = r.DecodeBytes(yys756Slc, true, true)
		yys756 := string(yys756Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys756 {
		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, yys756)
		} // end switch yys756
	} // end for yyj756
	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 yyj761 int
	var yyb761 bool
	var yyhl761 bool = l >= 0
	yyj761++
	if yyhl761 {
		yyb761 = yyj761 > l
	} else {
		yyb761 = r.CheckBreak()
	}
	if yyb761 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumeID = ""
	} else {
		x.VolumeID = string(r.DecodeString())
	}
	yyj761++
	if yyhl761 {
		yyb761 = yyj761 > l
	} else {
		yyb761 = r.CheckBreak()
	}
	if yyb761 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj761++
	if yyhl761 {
		yyb761 = yyj761 > l
	} else {
		yyb761 = r.CheckBreak()
	}
	if yyb761 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Partition = 0
	} else {
		x.Partition = int32(r.DecodeInt(32))
	}
	yyj761++
	if yyhl761 {
		yyb761 = yyj761 > l
	} else {
		yyb761 = r.CheckBreak()
	}
	if yyb761 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj761++
		if yyhl761 {
			yyb761 = yyj761 > l
		} else {
			yyb761 = r.CheckBreak()
		}
		if yyb761 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj761-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 {
		yym766 := z.EncBinary()
		_ = yym766
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep767 := !z.EncBinary()
			yy2arr767 := z.EncBasicHandle().StructToArray
			var yyq767 [3]bool
			_, _, _ = yysep767, yyq767, yy2arr767
			const yyr767 bool = false
			yyq767[1] = x.Revision != ""
			yyq767[2] = x.Directory != ""
			var yynn767 int
			if yyr767 || yy2arr767 {
				r.EncodeArrayStart(3)
			} else {
				yynn767 = 1
				for _, b := range yyq767 {
					if b {
						yynn767++
					}
				}
				r.EncodeMapStart(yynn767)
				yynn767 = 0
			}
			if yyr767 || yy2arr767 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym769 := z.EncBinary()
				_ = yym769
				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)
				yym770 := z.EncBinary()
				_ = yym770
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Repository))
				}
			}
			if yyr767 || yy2arr767 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq767[1] {
					yym772 := z.EncBinary()
					_ = yym772
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Revision))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq767[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("revision"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym773 := z.EncBinary()
					_ = yym773
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Revision))
					}
				}
			}
			if yyr767 || yy2arr767 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq767[2] {
					yym775 := z.EncBinary()
					_ = yym775
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Directory))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq767[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("directory"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym776 := z.EncBinary()
					_ = yym776
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Directory))
					}
				}
			}
			if yyr767 || yy2arr767 {
				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
	yym777 := z.DecBinary()
	_ = yym777
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct778 := r.ContainerType()
		if yyct778 == codecSelferValueTypeMap1234 {
			yyl778 := r.ReadMapStart()
			if yyl778 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl778, d)
			}
		} else if yyct778 == codecSelferValueTypeArray1234 {
			yyl778 := r.ReadArrayStart()
			if yyl778 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl778, 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 yys779Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys779Slc
	var yyhl779 bool = l >= 0
	for yyj779 := 0; ; yyj779++ {
		if yyhl779 {
			if yyj779 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys779Slc = r.DecodeBytes(yys779Slc, true, true)
		yys779 := string(yys779Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys779 {
		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, yys779)
		} // end switch yys779
	} // end for yyj779
	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 yyj783 int
	var yyb783 bool
	var yyhl783 bool = l >= 0
	yyj783++
	if yyhl783 {
		yyb783 = yyj783 > l
	} else {
		yyb783 = r.CheckBreak()
	}
	if yyb783 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Repository = ""
	} else {
		x.Repository = string(r.DecodeString())
	}
	yyj783++
	if yyhl783 {
		yyb783 = yyj783 > l
	} else {
		yyb783 = r.CheckBreak()
	}
	if yyb783 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Revision = ""
	} else {
		x.Revision = string(r.DecodeString())
	}
	yyj783++
	if yyhl783 {
		yyb783 = yyj783 > l
	} else {
		yyb783 = r.CheckBreak()
	}
	if yyb783 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Directory = ""
	} else {
		x.Directory = string(r.DecodeString())
	}
	for {
		yyj783++
		if yyhl783 {
			yyb783 = yyj783 > l
		} else {
			yyb783 = r.CheckBreak()
		}
		if yyb783 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj783-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 {
		yym787 := z.EncBinary()
		_ = yym787
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep788 := !z.EncBinary()
			yy2arr788 := z.EncBasicHandle().StructToArray
			var yyq788 [3]bool
			_, _, _ = yysep788, yyq788, yy2arr788
			const yyr788 bool = false
			yyq788[0] = x.SecretName != ""
			yyq788[1] = len(x.Items) != 0
			yyq788[2] = x.DefaultMode != nil
			var yynn788 int
			if yyr788 || yy2arr788 {
				r.EncodeArrayStart(3)
			} else {
				yynn788 = 0
				for _, b := range yyq788 {
					if b {
						yynn788++
					}
				}
				r.EncodeMapStart(yynn788)
				yynn788 = 0
			}
			if yyr788 || yy2arr788 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq788[0] {
					yym790 := z.EncBinary()
					_ = yym790
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq788[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secretName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym791 := z.EncBinary()
					_ = yym791
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretName))
					}
				}
			}
			if yyr788 || yy2arr788 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq788[1] {
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym793 := z.EncBinary()
						_ = yym793
						if false {
						} else {
							h.encSliceKeyToPath(([]KeyToPath)(x.Items), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq788[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("items"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym794 := z.EncBinary()
						_ = yym794
						if false {
						} else {
							h.encSliceKeyToPath(([]KeyToPath)(x.Items), e)
						}
					}
				}
			}
			if yyr788 || yy2arr788 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq788[2] {
					if x.DefaultMode == nil {
						r.EncodeNil()
					} else {
						yy796 := *x.DefaultMode
						yym797 := z.EncBinary()
						_ = yym797
						if false {
						} else {
							r.EncodeInt(int64(yy796))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq788[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("defaultMode"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DefaultMode == nil {
						r.EncodeNil()
					} else {
						yy798 := *x.DefaultMode
						yym799 := z.EncBinary()
						_ = yym799
						if false {
						} else {
							r.EncodeInt(int64(yy798))
						}
					}
				}
			}
			if yyr788 || yy2arr788 {
				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
	yym800 := z.DecBinary()
	_ = yym800
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct801 := r.ContainerType()
		if yyct801 == codecSelferValueTypeMap1234 {
			yyl801 := r.ReadMapStart()
			if yyl801 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl801, d)
			}
		} else if yyct801 == codecSelferValueTypeArray1234 {
			yyl801 := r.ReadArrayStart()
			if yyl801 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl801, 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 yys802Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys802Slc
	var yyhl802 bool = l >= 0
	for yyj802 := 0; ; yyj802++ {
		if yyhl802 {
			if yyj802 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys802Slc = r.DecodeBytes(yys802Slc, true, true)
		yys802 := string(yys802Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys802 {
		case "secretName":
			if r.TryDecodeAsNil() {
				x.SecretName = ""
			} else {
				x.SecretName = string(r.DecodeString())
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv804 := &x.Items
				yym805 := z.DecBinary()
				_ = yym805
				if false {
				} else {
					h.decSliceKeyToPath((*[]KeyToPath)(yyv804), d)
				}
			}
		case "defaultMode":
			if r.TryDecodeAsNil() {
				if x.DefaultMode != nil {
					x.DefaultMode = nil
				}
			} else {
				if x.DefaultMode == nil {
					x.DefaultMode = new(int32)
				}
				yym807 := z.DecBinary()
				_ = yym807
				if false {
				} else {
					*((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys802)
		} // end switch yys802
	} // end for yyj802
	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 yyj808 int
	var yyb808 bool
	var yyhl808 bool = l >= 0
	yyj808++
	if yyhl808 {
		yyb808 = yyj808 > l
	} else {
		yyb808 = r.CheckBreak()
	}
	if yyb808 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SecretName = ""
	} else {
		x.SecretName = string(r.DecodeString())
	}
	yyj808++
	if yyhl808 {
		yyb808 = yyj808 > l
	} else {
		yyb808 = r.CheckBreak()
	}
	if yyb808 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv810 := &x.Items
		yym811 := z.DecBinary()
		_ = yym811
		if false {
		} else {
			h.decSliceKeyToPath((*[]KeyToPath)(yyv810), d)
		}
	}
	yyj808++
	if yyhl808 {
		yyb808 = yyj808 > l
	} else {
		yyb808 = r.CheckBreak()
	}
	if yyb808 {
		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)
		}
		yym813 := z.DecBinary()
		_ = yym813
		if false {
		} else {
			*((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32))
		}
	}
	for {
		yyj808++
		if yyhl808 {
			yyb808 = yyj808 > l
		} else {
			yyb808 = r.CheckBreak()
		}
		if yyb808 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj808-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 {
		yym814 := z.EncBinary()
		_ = yym814
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep815 := !z.EncBinary()
			yy2arr815 := z.EncBasicHandle().StructToArray
			var yyq815 [3]bool
			_, _, _ = yysep815, yyq815, yy2arr815
			const yyr815 bool = false
			yyq815[2] = x.ReadOnly != false
			var yynn815 int
			if yyr815 || yy2arr815 {
				r.EncodeArrayStart(3)
			} else {
				yynn815 = 2
				for _, b := range yyq815 {
					if b {
						yynn815++
					}
				}
				r.EncodeMapStart(yynn815)
				yynn815 = 0
			}
			if yyr815 || yy2arr815 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym817 := z.EncBinary()
				_ = yym817
				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)
				yym818 := z.EncBinary()
				_ = yym818
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Server))
				}
			}
			if yyr815 || yy2arr815 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym820 := z.EncBinary()
				_ = yym820
				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)
				yym821 := z.EncBinary()
				_ = yym821
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr815 || yy2arr815 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq815[2] {
					yym823 := z.EncBinary()
					_ = yym823
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq815[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym824 := z.EncBinary()
					_ = yym824
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr815 || yy2arr815 {
				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
	yym825 := z.DecBinary()
	_ = yym825
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct826 := r.ContainerType()
		if yyct826 == codecSelferValueTypeMap1234 {
			yyl826 := r.ReadMapStart()
			if yyl826 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl826, d)
			}
		} else if yyct826 == codecSelferValueTypeArray1234 {
			yyl826 := r.ReadArrayStart()
			if yyl826 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl826, 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 yys827Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys827Slc
	var yyhl827 bool = l >= 0
	for yyj827 := 0; ; yyj827++ {
		if yyhl827 {
			if yyj827 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys827Slc = r.DecodeBytes(yys827Slc, true, true)
		yys827 := string(yys827Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys827 {
		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, yys827)
		} // end switch yys827
	} // end for yyj827
	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 yyj831 int
	var yyb831 bool
	var yyhl831 bool = l >= 0
	yyj831++
	if yyhl831 {
		yyb831 = yyj831 > l
	} else {
		yyb831 = r.CheckBreak()
	}
	if yyb831 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Server = ""
	} else {
		x.Server = string(r.DecodeString())
	}
	yyj831++
	if yyhl831 {
		yyb831 = yyj831 > l
	} else {
		yyb831 = r.CheckBreak()
	}
	if yyb831 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj831++
	if yyhl831 {
		yyb831 = yyj831 > l
	} else {
		yyb831 = r.CheckBreak()
	}
	if yyb831 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj831++
		if yyhl831 {
			yyb831 = yyj831 > l
		} else {
			yyb831 = r.CheckBreak()
		}
		if yyb831 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj831-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 {
		yym835 := z.EncBinary()
		_ = yym835
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep836 := !z.EncBinary()
			yy2arr836 := z.EncBasicHandle().StructToArray
			var yyq836 [5]bool
			_, _, _ = yysep836, yyq836, yy2arr836
			const yyr836 bool = false
			yyq836[2] = x.ReadOnly != false
			yyq836[3] = x.User != ""
			yyq836[4] = x.Group != ""
			var yynn836 int
			if yyr836 || yy2arr836 {
				r.EncodeArrayStart(5)
			} else {
				yynn836 = 2
				for _, b := range yyq836 {
					if b {
						yynn836++
					}
				}
				r.EncodeMapStart(yynn836)
				yynn836 = 0
			}
			if yyr836 || yy2arr836 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym838 := z.EncBinary()
				_ = yym838
				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)
				yym839 := z.EncBinary()
				_ = yym839
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Registry))
				}
			}
			if yyr836 || yy2arr836 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym841 := z.EncBinary()
				_ = yym841
				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)
				yym842 := z.EncBinary()
				_ = yym842
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Volume))
				}
			}
			if yyr836 || yy2arr836 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq836[2] {
					yym844 := z.EncBinary()
					_ = yym844
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq836[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym845 := z.EncBinary()
					_ = yym845
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr836 || yy2arr836 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq836[3] {
					yym847 := z.EncBinary()
					_ = yym847
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq836[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("user"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym848 := z.EncBinary()
					_ = yym848
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				}
			}
			if yyr836 || yy2arr836 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq836[4] {
					yym850 := z.EncBinary()
					_ = yym850
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Group))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq836[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("group"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym851 := z.EncBinary()
					_ = yym851
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Group))
					}
				}
			}
			if yyr836 || yy2arr836 {
				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
	yym852 := z.DecBinary()
	_ = yym852
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct853 := r.ContainerType()
		if yyct853 == codecSelferValueTypeMap1234 {
			yyl853 := r.ReadMapStart()
			if yyl853 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl853, d)
			}
		} else if yyct853 == codecSelferValueTypeArray1234 {
			yyl853 := r.ReadArrayStart()
			if yyl853 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl853, 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 yys854Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys854Slc
	var yyhl854 bool = l >= 0
	for yyj854 := 0; ; yyj854++ {
		if yyhl854 {
			if yyj854 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys854Slc = r.DecodeBytes(yys854Slc, true, true)
		yys854 := string(yys854Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys854 {
		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, yys854)
		} // end switch yys854
	} // end for yyj854
	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 yyj860 int
	var yyb860 bool
	var yyhl860 bool = l >= 0
	yyj860++
	if yyhl860 {
		yyb860 = yyj860 > l
	} else {
		yyb860 = r.CheckBreak()
	}
	if yyb860 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Registry = ""
	} else {
		x.Registry = string(r.DecodeString())
	}
	yyj860++
	if yyhl860 {
		yyb860 = yyj860 > l
	} else {
		yyb860 = r.CheckBreak()
	}
	if yyb860 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Volume = ""
	} else {
		x.Volume = string(r.DecodeString())
	}
	yyj860++
	if yyhl860 {
		yyb860 = yyj860 > l
	} else {
		yyb860 = r.CheckBreak()
	}
	if yyb860 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	yyj860++
	if yyhl860 {
		yyb860 = yyj860 > l
	} else {
		yyb860 = r.CheckBreak()
	}
	if yyb860 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.User = ""
	} else {
		x.User = string(r.DecodeString())
	}
	yyj860++
	if yyhl860 {
		yyb860 = yyj860 > l
	} else {
		yyb860 = r.CheckBreak()
	}
	if yyb860 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Group = ""
	} else {
		x.Group = string(r.DecodeString())
	}
	for {
		yyj860++
		if yyhl860 {
			yyb860 = yyj860 > l
		} else {
			yyb860 = r.CheckBreak()
		}
		if yyb860 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj860-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 {
		yym866 := z.EncBinary()
		_ = yym866
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep867 := !z.EncBinary()
			yy2arr867 := z.EncBasicHandle().StructToArray
			var yyq867 [3]bool
			_, _, _ = yysep867, yyq867, yy2arr867
			const yyr867 bool = false
			yyq867[2] = x.ReadOnly != false
			var yynn867 int
			if yyr867 || yy2arr867 {
				r.EncodeArrayStart(3)
			} else {
				yynn867 = 2
				for _, b := range yyq867 {
					if b {
						yynn867++
					}
				}
				r.EncodeMapStart(yynn867)
				yynn867 = 0
			}
			if yyr867 || yy2arr867 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym869 := z.EncBinary()
				_ = yym869
				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)
				yym870 := z.EncBinary()
				_ = yym870
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.EndpointsName))
				}
			}
			if yyr867 || yy2arr867 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym872 := z.EncBinary()
				_ = yym872
				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)
				yym873 := z.EncBinary()
				_ = yym873
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr867 || yy2arr867 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq867[2] {
					yym875 := z.EncBinary()
					_ = yym875
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq867[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym876 := z.EncBinary()
					_ = yym876
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr867 || yy2arr867 {
				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
	yym877 := z.DecBinary()
	_ = yym877
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct878 := r.ContainerType()
		if yyct878 == codecSelferValueTypeMap1234 {
			yyl878 := r.ReadMapStart()
			if yyl878 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl878, d)
			}
		} else if yyct878 == codecSelferValueTypeArray1234 {
			yyl878 := r.ReadArrayStart()
			if yyl878 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl878, 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 yys879Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys879Slc
	var yyhl879 bool = l >= 0
	for yyj879 := 0; ; yyj879++ {
		if yyhl879 {
			if yyj879 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys879Slc = r.DecodeBytes(yys879Slc, true, true)
		yys879 := string(yys879Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys879 {
		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, yys879)
		} // end switch yys879
	} // end for yyj879
	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 yyj883 int
	var yyb883 bool
	var yyhl883 bool = l >= 0
	yyj883++
	if yyhl883 {
		yyb883 = yyj883 > l
	} else {
		yyb883 = r.CheckBreak()
	}
	if yyb883 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.EndpointsName = ""
	} else {
		x.EndpointsName = string(r.DecodeString())
	}
	yyj883++
	if yyhl883 {
		yyb883 = yyj883 > l
	} else {
		yyb883 = r.CheckBreak()
	}
	if yyb883 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj883++
	if yyhl883 {
		yyb883 = yyj883 > l
	} else {
		yyb883 = r.CheckBreak()
	}
	if yyb883 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj883++
		if yyhl883 {
			yyb883 = yyj883 > l
		} else {
			yyb883 = r.CheckBreak()
		}
		if yyb883 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj883-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 {
		yym887 := z.EncBinary()
		_ = yym887
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep888 := !z.EncBinary()
			yy2arr888 := z.EncBasicHandle().StructToArray
			var yyq888 [8]bool
			_, _, _ = yysep888, yyq888, yy2arr888
			const yyr888 bool = false
			yyq888[2] = x.FSType != ""
			yyq888[3] = x.RBDPool != ""
			yyq888[4] = x.RadosUser != ""
			yyq888[5] = x.Keyring != ""
			yyq888[6] = x.SecretRef != nil
			yyq888[7] = x.ReadOnly != false
			var yynn888 int
			if yyr888 || yy2arr888 {
				r.EncodeArrayStart(8)
			} else {
				yynn888 = 2
				for _, b := range yyq888 {
					if b {
						yynn888++
					}
				}
				r.EncodeMapStart(yynn888)
				yynn888 = 0
			}
			if yyr888 || yy2arr888 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.CephMonitors == nil {
					r.EncodeNil()
				} else {
					yym890 := z.EncBinary()
					_ = yym890
					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 {
					yym891 := z.EncBinary()
					_ = yym891
					if false {
					} else {
						z.F.EncSliceStringV(x.CephMonitors, false, e)
					}
				}
			}
			if yyr888 || yy2arr888 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym893 := z.EncBinary()
				_ = yym893
				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)
				yym894 := z.EncBinary()
				_ = yym894
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RBDImage))
				}
			}
			if yyr888 || yy2arr888 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq888[2] {
					yym896 := z.EncBinary()
					_ = yym896
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq888[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym897 := z.EncBinary()
					_ = yym897
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr888 || yy2arr888 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq888[3] {
					yym899 := z.EncBinary()
					_ = yym899
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.RBDPool))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq888[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("pool"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym900 := z.EncBinary()
					_ = yym900
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.RBDPool))
					}
				}
			}
			if yyr888 || yy2arr888 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq888[4] {
					yym902 := z.EncBinary()
					_ = yym902
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.RadosUser))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq888[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("user"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym903 := z.EncBinary()
					_ = yym903
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.RadosUser))
					}
				}
			}
			if yyr888 || yy2arr888 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq888[5] {
					yym905 := z.EncBinary()
					_ = yym905
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Keyring))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq888[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("keyring"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym906 := z.EncBinary()
					_ = yym906
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Keyring))
					}
				}
			}
			if yyr888 || yy2arr888 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq888[6] {
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq888[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 yyr888 || yy2arr888 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq888[7] {
					yym909 := z.EncBinary()
					_ = yym909
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq888[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym910 := z.EncBinary()
					_ = yym910
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr888 || yy2arr888 {
				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
	yym911 := z.DecBinary()
	_ = yym911
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct912 := r.ContainerType()
		if yyct912 == codecSelferValueTypeMap1234 {
			yyl912 := r.ReadMapStart()
			if yyl912 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl912, d)
			}
		} else if yyct912 == codecSelferValueTypeArray1234 {
			yyl912 := r.ReadArrayStart()
			if yyl912 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl912, 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 yys913Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys913Slc
	var yyhl913 bool = l >= 0
	for yyj913 := 0; ; yyj913++ {
		if yyhl913 {
			if yyj913 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys913Slc = r.DecodeBytes(yys913Slc, true, true)
		yys913 := string(yys913Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys913 {
		case "monitors":
			if r.TryDecodeAsNil() {
				x.CephMonitors = nil
			} else {
				yyv914 := &x.CephMonitors
				yym915 := z.DecBinary()
				_ = yym915
				if false {
				} else {
					z.F.DecSliceStringX(yyv914, 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, yys913)
		} // end switch yys913
	} // end for yyj913
	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 yyj923 int
	var yyb923 bool
	var yyhl923 bool = l >= 0
	yyj923++
	if yyhl923 {
		yyb923 = yyj923 > l
	} else {
		yyb923 = r.CheckBreak()
	}
	if yyb923 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.CephMonitors = nil
	} else {
		yyv924 := &x.CephMonitors
		yym925 := z.DecBinary()
		_ = yym925
		if false {
		} else {
			z.F.DecSliceStringX(yyv924, false, d)
		}
	}
	yyj923++
	if yyhl923 {
		yyb923 = yyj923 > l
	} else {
		yyb923 = r.CheckBreak()
	}
	if yyb923 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RBDImage = ""
	} else {
		x.RBDImage = string(r.DecodeString())
	}
	yyj923++
	if yyhl923 {
		yyb923 = yyj923 > l
	} else {
		yyb923 = r.CheckBreak()
	}
	if yyb923 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj923++
	if yyhl923 {
		yyb923 = yyj923 > l
	} else {
		yyb923 = r.CheckBreak()
	}
	if yyb923 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RBDPool = ""
	} else {
		x.RBDPool = string(r.DecodeString())
	}
	yyj923++
	if yyhl923 {
		yyb923 = yyj923 > l
	} else {
		yyb923 = r.CheckBreak()
	}
	if yyb923 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RadosUser = ""
	} else {
		x.RadosUser = string(r.DecodeString())
	}
	yyj923++
	if yyhl923 {
		yyb923 = yyj923 > l
	} else {
		yyb923 = r.CheckBreak()
	}
	if yyb923 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Keyring = ""
	} else {
		x.Keyring = string(r.DecodeString())
	}
	yyj923++
	if yyhl923 {
		yyb923 = yyj923 > l
	} else {
		yyb923 = r.CheckBreak()
	}
	if yyb923 {
		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)
	}
	yyj923++
	if yyhl923 {
		yyb923 = yyj923 > l
	} else {
		yyb923 = r.CheckBreak()
	}
	if yyb923 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj923++
		if yyhl923 {
			yyb923 = yyj923 > l
		} else {
			yyb923 = r.CheckBreak()
		}
		if yyb923 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj923-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 {
		yym933 := z.EncBinary()
		_ = yym933
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep934 := !z.EncBinary()
			yy2arr934 := z.EncBasicHandle().StructToArray
			var yyq934 [3]bool
			_, _, _ = yysep934, yyq934, yy2arr934
			const yyr934 bool = false
			yyq934[1] = x.FSType != ""
			yyq934[2] = x.ReadOnly != false
			var yynn934 int
			if yyr934 || yy2arr934 {
				r.EncodeArrayStart(3)
			} else {
				yynn934 = 1
				for _, b := range yyq934 {
					if b {
						yynn934++
					}
				}
				r.EncodeMapStart(yynn934)
				yynn934 = 0
			}
			if yyr934 || yy2arr934 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym936 := z.EncBinary()
				_ = yym936
				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)
				yym937 := z.EncBinary()
				_ = yym937
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			}
			if yyr934 || yy2arr934 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq934[1] {
					yym939 := z.EncBinary()
					_ = yym939
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq934[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym940 := z.EncBinary()
					_ = yym940
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr934 || yy2arr934 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq934[2] {
					yym942 := z.EncBinary()
					_ = yym942
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq934[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym943 := z.EncBinary()
					_ = yym943
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr934 || yy2arr934 {
				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
	yym944 := z.DecBinary()
	_ = yym944
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct945 := r.ContainerType()
		if yyct945 == codecSelferValueTypeMap1234 {
			yyl945 := r.ReadMapStart()
			if yyl945 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl945, d)
			}
		} else if yyct945 == codecSelferValueTypeArray1234 {
			yyl945 := r.ReadArrayStart()
			if yyl945 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl945, 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 yys946Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys946Slc
	var yyhl946 bool = l >= 0
	for yyj946 := 0; ; yyj946++ {
		if yyhl946 {
			if yyj946 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys946Slc = r.DecodeBytes(yys946Slc, true, true)
		yys946 := string(yys946Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys946 {
		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, yys946)
		} // end switch yys946
	} // end for yyj946
	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 yyj950 int
	var yyb950 bool
	var yyhl950 bool = l >= 0
	yyj950++
	if yyhl950 {
		yyb950 = yyj950 > l
	} else {
		yyb950 = r.CheckBreak()
	}
	if yyb950 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumeID = ""
	} else {
		x.VolumeID = string(r.DecodeString())
	}
	yyj950++
	if yyhl950 {
		yyb950 = yyj950 > l
	} else {
		yyb950 = r.CheckBreak()
	}
	if yyb950 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj950++
	if yyhl950 {
		yyb950 = yyj950 > l
	} else {
		yyb950 = r.CheckBreak()
	}
	if yyb950 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj950++
		if yyhl950 {
			yyb950 = yyj950 > l
		} else {
			yyb950 = r.CheckBreak()
		}
		if yyb950 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj950-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 {
		yym954 := z.EncBinary()
		_ = yym954
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep955 := !z.EncBinary()
			yy2arr955 := z.EncBasicHandle().StructToArray
			var yyq955 [6]bool
			_, _, _ = yysep955, yyq955, yy2arr955
			const yyr955 bool = false
			yyq955[1] = x.Path != ""
			yyq955[2] = x.User != ""
			yyq955[3] = x.SecretFile != ""
			yyq955[4] = x.SecretRef != nil
			yyq955[5] = x.ReadOnly != false
			var yynn955 int
			if yyr955 || yy2arr955 {
				r.EncodeArrayStart(6)
			} else {
				yynn955 = 1
				for _, b := range yyq955 {
					if b {
						yynn955++
					}
				}
				r.EncodeMapStart(yynn955)
				yynn955 = 0
			}
			if yyr955 || yy2arr955 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Monitors == nil {
					r.EncodeNil()
				} else {
					yym957 := z.EncBinary()
					_ = yym957
					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 {
					yym958 := z.EncBinary()
					_ = yym958
					if false {
					} else {
						z.F.EncSliceStringV(x.Monitors, false, e)
					}
				}
			}
			if yyr955 || yy2arr955 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq955[1] {
					yym960 := z.EncBinary()
					_ = yym960
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq955[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("path"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym961 := z.EncBinary()
					_ = yym961
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				}
			}
			if yyr955 || yy2arr955 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq955[2] {
					yym963 := z.EncBinary()
					_ = yym963
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq955[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("user"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym964 := z.EncBinary()
					_ = yym964
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				}
			}
			if yyr955 || yy2arr955 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq955[3] {
					yym966 := z.EncBinary()
					_ = yym966
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretFile))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq955[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secretFile"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym967 := z.EncBinary()
					_ = yym967
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretFile))
					}
				}
			}
			if yyr955 || yy2arr955 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq955[4] {
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq955[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 yyr955 || yy2arr955 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq955[5] {
					yym970 := z.EncBinary()
					_ = yym970
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq955[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym971 := z.EncBinary()
					_ = yym971
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr955 || yy2arr955 {
				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
	yym972 := z.DecBinary()
	_ = yym972
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct973 := r.ContainerType()
		if yyct973 == codecSelferValueTypeMap1234 {
			yyl973 := r.ReadMapStart()
			if yyl973 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl973, d)
			}
		} else if yyct973 == codecSelferValueTypeArray1234 {
			yyl973 := r.ReadArrayStart()
			if yyl973 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl973, 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 yys974Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys974Slc
	var yyhl974 bool = l >= 0
	for yyj974 := 0; ; yyj974++ {
		if yyhl974 {
			if yyj974 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys974Slc = r.DecodeBytes(yys974Slc, true, true)
		yys974 := string(yys974Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys974 {
		case "monitors":
			if r.TryDecodeAsNil() {
				x.Monitors = nil
			} else {
				yyv975 := &x.Monitors
				yym976 := z.DecBinary()
				_ = yym976
				if false {
				} else {
					z.F.DecSliceStringX(yyv975, 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, yys974)
		} // end switch yys974
	} // end for yyj974
	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 yyj982 int
	var yyb982 bool
	var yyhl982 bool = l >= 0
	yyj982++
	if yyhl982 {
		yyb982 = yyj982 > l
	} else {
		yyb982 = r.CheckBreak()
	}
	if yyb982 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Monitors = nil
	} else {
		yyv983 := &x.Monitors
		yym984 := z.DecBinary()
		_ = yym984
		if false {
		} else {
			z.F.DecSliceStringX(yyv983, false, d)
		}
	}
	yyj982++
	if yyhl982 {
		yyb982 = yyj982 > l
	} else {
		yyb982 = r.CheckBreak()
	}
	if yyb982 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj982++
	if yyhl982 {
		yyb982 = yyj982 > l
	} else {
		yyb982 = r.CheckBreak()
	}
	if yyb982 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.User = ""
	} else {
		x.User = string(r.DecodeString())
	}
	yyj982++
	if yyhl982 {
		yyb982 = yyj982 > l
	} else {
		yyb982 = r.CheckBreak()
	}
	if yyb982 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SecretFile = ""
	} else {
		x.SecretFile = string(r.DecodeString())
	}
	yyj982++
	if yyhl982 {
		yyb982 = yyj982 > l
	} else {
		yyb982 = r.CheckBreak()
	}
	if yyb982 {
		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)
	}
	yyj982++
	if yyhl982 {
		yyb982 = yyj982 > l
	} else {
		yyb982 = r.CheckBreak()
	}
	if yyb982 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj982++
		if yyhl982 {
			yyb982 = yyj982 > l
		} else {
			yyb982 = r.CheckBreak()
		}
		if yyb982 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj982-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 {
		yym990 := z.EncBinary()
		_ = yym990
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep991 := !z.EncBinary()
			yy2arr991 := z.EncBasicHandle().StructToArray
			var yyq991 [2]bool
			_, _, _ = yysep991, yyq991, yy2arr991
			const yyr991 bool = false
			yyq991[0] = x.DatasetName != ""
			yyq991[1] = x.DatasetUUID != ""
			var yynn991 int
			if yyr991 || yy2arr991 {
				r.EncodeArrayStart(2)
			} else {
				yynn991 = 0
				for _, b := range yyq991 {
					if b {
						yynn991++
					}
				}
				r.EncodeMapStart(yynn991)
				yynn991 = 0
			}
			if yyr991 || yy2arr991 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq991[0] {
					yym993 := z.EncBinary()
					_ = yym993
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.DatasetName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq991[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("datasetName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym994 := z.EncBinary()
					_ = yym994
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.DatasetName))
					}
				}
			}
			if yyr991 || yy2arr991 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq991[1] {
					yym996 := z.EncBinary()
					_ = yym996
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.DatasetUUID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq991[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("datasetUUID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym997 := z.EncBinary()
					_ = yym997
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.DatasetUUID))
					}
				}
			}
			if yyr991 || yy2arr991 {
				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
	yym998 := z.DecBinary()
	_ = yym998
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct999 := r.ContainerType()
		if yyct999 == codecSelferValueTypeMap1234 {
			yyl999 := r.ReadMapStart()
			if yyl999 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl999, d)
			}
		} else if yyct999 == codecSelferValueTypeArray1234 {
			yyl999 := r.ReadArrayStart()
			if yyl999 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl999, 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 yys1000Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1000Slc
	var yyhl1000 bool = l >= 0
	for yyj1000 := 0; ; yyj1000++ {
		if yyhl1000 {
			if yyj1000 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1000Slc = r.DecodeBytes(yys1000Slc, true, true)
		yys1000 := string(yys1000Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1000 {
		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, yys1000)
		} // end switch yys1000
	} // end for yyj1000
	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 yyj1003 int
	var yyb1003 bool
	var yyhl1003 bool = l >= 0
	yyj1003++
	if yyhl1003 {
		yyb1003 = yyj1003 > l
	} else {
		yyb1003 = r.CheckBreak()
	}
	if yyb1003 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DatasetName = ""
	} else {
		x.DatasetName = string(r.DecodeString())
	}
	yyj1003++
	if yyhl1003 {
		yyb1003 = yyj1003 > l
	} else {
		yyb1003 = r.CheckBreak()
	}
	if yyb1003 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DatasetUUID = ""
	} else {
		x.DatasetUUID = string(r.DecodeString())
	}
	for {
		yyj1003++
		if yyhl1003 {
			yyb1003 = yyj1003 > l
		} else {
			yyb1003 = r.CheckBreak()
		}
		if yyb1003 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1003-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 {
		yym1006 := z.EncBinary()
		_ = yym1006
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1007 := !z.EncBinary()
			yy2arr1007 := z.EncBasicHandle().StructToArray
			var yyq1007 [2]bool
			_, _, _ = yysep1007, yyq1007, yy2arr1007
			const yyr1007 bool = false
			yyq1007[0] = len(x.Items) != 0
			yyq1007[1] = x.DefaultMode != nil
			var yynn1007 int
			if yyr1007 || yy2arr1007 {
				r.EncodeArrayStart(2)
			} else {
				yynn1007 = 0
				for _, b := range yyq1007 {
					if b {
						yynn1007++
					}
				}
				r.EncodeMapStart(yynn1007)
				yynn1007 = 0
			}
			if yyr1007 || yy2arr1007 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1007[0] {
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym1009 := z.EncBinary()
						_ = yym1009
						if false {
						} else {
							h.encSliceDownwardAPIVolumeFile(([]DownwardAPIVolumeFile)(x.Items), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1007[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("items"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym1010 := z.EncBinary()
						_ = yym1010
						if false {
						} else {
							h.encSliceDownwardAPIVolumeFile(([]DownwardAPIVolumeFile)(x.Items), e)
						}
					}
				}
			}
			if yyr1007 || yy2arr1007 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1007[1] {
					if x.DefaultMode == nil {
						r.EncodeNil()
					} else {
						yy1012 := *x.DefaultMode
						yym1013 := z.EncBinary()
						_ = yym1013
						if false {
						} else {
							r.EncodeInt(int64(yy1012))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1007[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("defaultMode"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DefaultMode == nil {
						r.EncodeNil()
					} else {
						yy1014 := *x.DefaultMode
						yym1015 := z.EncBinary()
						_ = yym1015
						if false {
						} else {
							r.EncodeInt(int64(yy1014))
						}
					}
				}
			}
			if yyr1007 || yy2arr1007 {
				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
	yym1016 := z.DecBinary()
	_ = yym1016
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1017 := r.ContainerType()
		if yyct1017 == codecSelferValueTypeMap1234 {
			yyl1017 := r.ReadMapStart()
			if yyl1017 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1017, d)
			}
		} else if yyct1017 == codecSelferValueTypeArray1234 {
			yyl1017 := r.ReadArrayStart()
			if yyl1017 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1017, 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 yys1018Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1018Slc
	var yyhl1018 bool = l >= 0
	for yyj1018 := 0; ; yyj1018++ {
		if yyhl1018 {
			if yyj1018 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1018Slc = r.DecodeBytes(yys1018Slc, true, true)
		yys1018 := string(yys1018Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1018 {
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1019 := &x.Items
				yym1020 := z.DecBinary()
				_ = yym1020
				if false {
				} else {
					h.decSliceDownwardAPIVolumeFile((*[]DownwardAPIVolumeFile)(yyv1019), d)
				}
			}
		case "defaultMode":
			if r.TryDecodeAsNil() {
				if x.DefaultMode != nil {
					x.DefaultMode = nil
				}
			} else {
				if x.DefaultMode == nil {
					x.DefaultMode = new(int32)
				}
				yym1022 := z.DecBinary()
				_ = yym1022
				if false {
				} else {
					*((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1018)
		} // end switch yys1018
	} // end for yyj1018
	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 yyj1023 int
	var yyb1023 bool
	var yyhl1023 bool = l >= 0
	yyj1023++
	if yyhl1023 {
		yyb1023 = yyj1023 > l
	} else {
		yyb1023 = r.CheckBreak()
	}
	if yyb1023 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1024 := &x.Items
		yym1025 := z.DecBinary()
		_ = yym1025
		if false {
		} else {
			h.decSliceDownwardAPIVolumeFile((*[]DownwardAPIVolumeFile)(yyv1024), d)
		}
	}
	yyj1023++
	if yyhl1023 {
		yyb1023 = yyj1023 > l
	} else {
		yyb1023 = r.CheckBreak()
	}
	if yyb1023 {
		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)
		}
		yym1027 := z.DecBinary()
		_ = yym1027
		if false {
		} else {
			*((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32))
		}
	}
	for {
		yyj1023++
		if yyhl1023 {
			yyb1023 = yyj1023 > l
		} else {
			yyb1023 = r.CheckBreak()
		}
		if yyb1023 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1023-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 {
		yym1028 := z.EncBinary()
		_ = yym1028
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1029 := !z.EncBinary()
			yy2arr1029 := z.EncBasicHandle().StructToArray
			var yyq1029 [4]bool
			_, _, _ = yysep1029, yyq1029, yy2arr1029
			const yyr1029 bool = false
			yyq1029[1] = x.FieldRef != nil
			yyq1029[2] = x.ResourceFieldRef != nil
			yyq1029[3] = x.Mode != nil
			var yynn1029 int
			if yyr1029 || yy2arr1029 {
				r.EncodeArrayStart(4)
			} else {
				yynn1029 = 1
				for _, b := range yyq1029 {
					if b {
						yynn1029++
					}
				}
				r.EncodeMapStart(yynn1029)
				yynn1029 = 0
			}
			if yyr1029 || yy2arr1029 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1031 := z.EncBinary()
				_ = yym1031
				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)
				yym1032 := z.EncBinary()
				_ = yym1032
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr1029 || yy2arr1029 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1029[1] {
					if x.FieldRef == nil {
						r.EncodeNil()
					} else {
						x.FieldRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1029[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 yyr1029 || yy2arr1029 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1029[2] {
					if x.ResourceFieldRef == nil {
						r.EncodeNil()
					} else {
						x.ResourceFieldRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1029[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 yyr1029 || yy2arr1029 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1029[3] {
					if x.Mode == nil {
						r.EncodeNil()
					} else {
						yy1036 := *x.Mode
						yym1037 := z.EncBinary()
						_ = yym1037
						if false {
						} else {
							r.EncodeInt(int64(yy1036))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1029[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("mode"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Mode == nil {
						r.EncodeNil()
					} else {
						yy1038 := *x.Mode
						yym1039 := z.EncBinary()
						_ = yym1039
						if false {
						} else {
							r.EncodeInt(int64(yy1038))
						}
					}
				}
			}
			if yyr1029 || yy2arr1029 {
				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
	yym1040 := z.DecBinary()
	_ = yym1040
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1041 := r.ContainerType()
		if yyct1041 == codecSelferValueTypeMap1234 {
			yyl1041 := r.ReadMapStart()
			if yyl1041 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1041, d)
			}
		} else if yyct1041 == codecSelferValueTypeArray1234 {
			yyl1041 := r.ReadArrayStart()
			if yyl1041 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1041, 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 yys1042Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1042Slc
	var yyhl1042 bool = l >= 0
	for yyj1042 := 0; ; yyj1042++ {
		if yyhl1042 {
			if yyj1042 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1042Slc = r.DecodeBytes(yys1042Slc, true, true)
		yys1042 := string(yys1042Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1042 {
		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)
				}
				yym1047 := z.DecBinary()
				_ = yym1047
				if false {
				} else {
					*((*int32)(x.Mode)) = int32(r.DecodeInt(32))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1042)
		} // end switch yys1042
	} // end for yyj1042
	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 yyj1048 int
	var yyb1048 bool
	var yyhl1048 bool = l >= 0
	yyj1048++
	if yyhl1048 {
		yyb1048 = yyj1048 > l
	} else {
		yyb1048 = r.CheckBreak()
	}
	if yyb1048 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj1048++
	if yyhl1048 {
		yyb1048 = yyj1048 > l
	} else {
		yyb1048 = r.CheckBreak()
	}
	if yyb1048 {
		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)
	}
	yyj1048++
	if yyhl1048 {
		yyb1048 = yyj1048 > l
	} else {
		yyb1048 = r.CheckBreak()
	}
	if yyb1048 {
		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)
	}
	yyj1048++
	if yyhl1048 {
		yyb1048 = yyj1048 > l
	} else {
		yyb1048 = r.CheckBreak()
	}
	if yyb1048 {
		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)
		}
		yym1053 := z.DecBinary()
		_ = yym1053
		if false {
		} else {
			*((*int32)(x.Mode)) = int32(r.DecodeInt(32))
		}
	}
	for {
		yyj1048++
		if yyhl1048 {
			yyb1048 = yyj1048 > l
		} else {
			yyb1048 = r.CheckBreak()
		}
		if yyb1048 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1048-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 {
		yym1054 := z.EncBinary()
		_ = yym1054
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1055 := !z.EncBinary()
			yy2arr1055 := z.EncBasicHandle().StructToArray
			var yyq1055 [3]bool
			_, _, _ = yysep1055, yyq1055, yy2arr1055
			const yyr1055 bool = false
			yyq1055[2] = x.ReadOnly != false
			var yynn1055 int
			if yyr1055 || yy2arr1055 {
				r.EncodeArrayStart(3)
			} else {
				yynn1055 = 2
				for _, b := range yyq1055 {
					if b {
						yynn1055++
					}
				}
				r.EncodeMapStart(yynn1055)
				yynn1055 = 0
			}
			if yyr1055 || yy2arr1055 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1057 := z.EncBinary()
				_ = yym1057
				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)
				yym1058 := z.EncBinary()
				_ = yym1058
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.SecretName))
				}
			}
			if yyr1055 || yy2arr1055 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1060 := z.EncBinary()
				_ = yym1060
				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)
				yym1061 := z.EncBinary()
				_ = yym1061
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ShareName))
				}
			}
			if yyr1055 || yy2arr1055 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1055[2] {
					yym1063 := z.EncBinary()
					_ = yym1063
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1055[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1064 := z.EncBinary()
					_ = yym1064
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr1055 || yy2arr1055 {
				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
	yym1065 := z.DecBinary()
	_ = yym1065
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1066 := r.ContainerType()
		if yyct1066 == codecSelferValueTypeMap1234 {
			yyl1066 := r.ReadMapStart()
			if yyl1066 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1066, d)
			}
		} else if yyct1066 == codecSelferValueTypeArray1234 {
			yyl1066 := r.ReadArrayStart()
			if yyl1066 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1066, 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 yys1067Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1067Slc
	var yyhl1067 bool = l >= 0
	for yyj1067 := 0; ; yyj1067++ {
		if yyhl1067 {
			if yyj1067 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1067Slc = r.DecodeBytes(yys1067Slc, true, true)
		yys1067 := string(yys1067Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1067 {
		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, yys1067)
		} // end switch yys1067
	} // end for yyj1067
	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 yyj1071 int
	var yyb1071 bool
	var yyhl1071 bool = l >= 0
	yyj1071++
	if yyhl1071 {
		yyb1071 = yyj1071 > l
	} else {
		yyb1071 = r.CheckBreak()
	}
	if yyb1071 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SecretName = ""
	} else {
		x.SecretName = string(r.DecodeString())
	}
	yyj1071++
	if yyhl1071 {
		yyb1071 = yyj1071 > l
	} else {
		yyb1071 = r.CheckBreak()
	}
	if yyb1071 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ShareName = ""
	} else {
		x.ShareName = string(r.DecodeString())
	}
	yyj1071++
	if yyhl1071 {
		yyb1071 = yyj1071 > l
	} else {
		yyb1071 = r.CheckBreak()
	}
	if yyb1071 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj1071++
		if yyhl1071 {
			yyb1071 = yyj1071 > l
		} else {
			yyb1071 = r.CheckBreak()
		}
		if yyb1071 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1071-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 {
		yym1075 := z.EncBinary()
		_ = yym1075
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1076 := !z.EncBinary()
			yy2arr1076 := z.EncBasicHandle().StructToArray
			var yyq1076 [2]bool
			_, _, _ = yysep1076, yyq1076, yy2arr1076
			const yyr1076 bool = false
			yyq1076[1] = x.FSType != ""
			var yynn1076 int
			if yyr1076 || yy2arr1076 {
				r.EncodeArrayStart(2)
			} else {
				yynn1076 = 1
				for _, b := range yyq1076 {
					if b {
						yynn1076++
					}
				}
				r.EncodeMapStart(yynn1076)
				yynn1076 = 0
			}
			if yyr1076 || yy2arr1076 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1078 := z.EncBinary()
				_ = yym1078
				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)
				yym1079 := z.EncBinary()
				_ = yym1079
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumePath))
				}
			}
			if yyr1076 || yy2arr1076 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1076[1] {
					yym1081 := z.EncBinary()
					_ = yym1081
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1076[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1082 := z.EncBinary()
					_ = yym1082
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr1076 || yy2arr1076 {
				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
	yym1083 := z.DecBinary()
	_ = yym1083
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1084 := r.ContainerType()
		if yyct1084 == codecSelferValueTypeMap1234 {
			yyl1084 := r.ReadMapStart()
			if yyl1084 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1084, d)
			}
		} else if yyct1084 == codecSelferValueTypeArray1234 {
			yyl1084 := r.ReadArrayStart()
			if yyl1084 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1084, 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 yys1085Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1085Slc
	var yyhl1085 bool = l >= 0
	for yyj1085 := 0; ; yyj1085++ {
		if yyhl1085 {
			if yyj1085 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1085Slc = r.DecodeBytes(yys1085Slc, true, true)
		yys1085 := string(yys1085Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1085 {
		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, yys1085)
		} // end switch yys1085
	} // end for yyj1085
	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 yyj1088 int
	var yyb1088 bool
	var yyhl1088 bool = l >= 0
	yyj1088++
	if yyhl1088 {
		yyb1088 = yyj1088 > l
	} else {
		yyb1088 = r.CheckBreak()
	}
	if yyb1088 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumePath = ""
	} else {
		x.VolumePath = string(r.DecodeString())
	}
	yyj1088++
	if yyhl1088 {
		yyb1088 = yyj1088 > l
	} else {
		yyb1088 = r.CheckBreak()
	}
	if yyb1088 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	for {
		yyj1088++
		if yyhl1088 {
			yyb1088 = yyj1088 > l
		} else {
			yyb1088 = r.CheckBreak()
		}
		if yyb1088 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1088-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x AzureDataDiskCachingMode) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1091 := z.EncBinary()
	_ = yym1091
	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
	yym1092 := z.DecBinary()
	_ = yym1092
	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 {
		yym1093 := z.EncBinary()
		_ = yym1093
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1094 := !z.EncBinary()
			yy2arr1094 := z.EncBasicHandle().StructToArray
			var yyq1094 [5]bool
			_, _, _ = yysep1094, yyq1094, yy2arr1094
			const yyr1094 bool = false
			yyq1094[2] = x.CachingMode != nil
			yyq1094[3] = x.FSType != nil
			yyq1094[4] = x.ReadOnly != nil
			var yynn1094 int
			if yyr1094 || yy2arr1094 {
				r.EncodeArrayStart(5)
			} else {
				yynn1094 = 2
				for _, b := range yyq1094 {
					if b {
						yynn1094++
					}
				}
				r.EncodeMapStart(yynn1094)
				yynn1094 = 0
			}
			if yyr1094 || yy2arr1094 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1096 := z.EncBinary()
				_ = yym1096
				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)
				yym1097 := z.EncBinary()
				_ = yym1097
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DiskName))
				}
			}
			if yyr1094 || yy2arr1094 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1099 := z.EncBinary()
				_ = yym1099
				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)
				yym1100 := z.EncBinary()
				_ = yym1100
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DataDiskURI))
				}
			}
			if yyr1094 || yy2arr1094 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1094[2] {
					if x.CachingMode == nil {
						r.EncodeNil()
					} else {
						yy1102 := *x.CachingMode
						yy1102.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1094[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cachingMode"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.CachingMode == nil {
						r.EncodeNil()
					} else {
						yy1103 := *x.CachingMode
						yy1103.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1094 || yy2arr1094 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1094[3] {
					if x.FSType == nil {
						r.EncodeNil()
					} else {
						yy1105 := *x.FSType
						yym1106 := z.EncBinary()
						_ = yym1106
						if false {
						} else {
							r.EncodeString(codecSelferC_UTF81234, string(yy1105))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1094[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FSType == nil {
						r.EncodeNil()
					} else {
						yy1107 := *x.FSType
						yym1108 := z.EncBinary()
						_ = yym1108
						if false {
						} else {
							r.EncodeString(codecSelferC_UTF81234, string(yy1107))
						}
					}
				}
			}
			if yyr1094 || yy2arr1094 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1094[4] {
					if x.ReadOnly == nil {
						r.EncodeNil()
					} else {
						yy1110 := *x.ReadOnly
						yym1111 := z.EncBinary()
						_ = yym1111
						if false {
						} else {
							r.EncodeBool(bool(yy1110))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1094[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ReadOnly == nil {
						r.EncodeNil()
					} else {
						yy1112 := *x.ReadOnly
						yym1113 := z.EncBinary()
						_ = yym1113
						if false {
						} else {
							r.EncodeBool(bool(yy1112))
						}
					}
				}
			}
			if yyr1094 || yy2arr1094 {
				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
	yym1114 := z.DecBinary()
	_ = yym1114
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1115 := r.ContainerType()
		if yyct1115 == codecSelferValueTypeMap1234 {
			yyl1115 := r.ReadMapStart()
			if yyl1115 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1115, d)
			}
		} else if yyct1115 == codecSelferValueTypeArray1234 {
			yyl1115 := r.ReadArrayStart()
			if yyl1115 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1115, 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 yys1116Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1116Slc
	var yyhl1116 bool = l >= 0
	for yyj1116 := 0; ; yyj1116++ {
		if yyhl1116 {
			if yyj1116 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1116Slc = r.DecodeBytes(yys1116Slc, true, true)
		yys1116 := string(yys1116Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1116 {
		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)
				}
				yym1121 := z.DecBinary()
				_ = yym1121
				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)
				}
				yym1123 := z.DecBinary()
				_ = yym1123
				if false {
				} else {
					*((*bool)(x.ReadOnly)) = r.DecodeBool()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1116)
		} // end switch yys1116
	} // end for yyj1116
	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 yyj1124 int
	var yyb1124 bool
	var yyhl1124 bool = l >= 0
	yyj1124++
	if yyhl1124 {
		yyb1124 = yyj1124 > l
	} else {
		yyb1124 = r.CheckBreak()
	}
	if yyb1124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DiskName = ""
	} else {
		x.DiskName = string(r.DecodeString())
	}
	yyj1124++
	if yyhl1124 {
		yyb1124 = yyj1124 > l
	} else {
		yyb1124 = r.CheckBreak()
	}
	if yyb1124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DataDiskURI = ""
	} else {
		x.DataDiskURI = string(r.DecodeString())
	}
	yyj1124++
	if yyhl1124 {
		yyb1124 = yyj1124 > l
	} else {
		yyb1124 = r.CheckBreak()
	}
	if yyb1124 {
		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)
	}
	yyj1124++
	if yyhl1124 {
		yyb1124 = yyj1124 > l
	} else {
		yyb1124 = r.CheckBreak()
	}
	if yyb1124 {
		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)
		}
		yym1129 := z.DecBinary()
		_ = yym1129
		if false {
		} else {
			*((*string)(x.FSType)) = r.DecodeString()
		}
	}
	yyj1124++
	if yyhl1124 {
		yyb1124 = yyj1124 > l
	} else {
		yyb1124 = r.CheckBreak()
	}
	if yyb1124 {
		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)
		}
		yym1131 := z.DecBinary()
		_ = yym1131
		if false {
		} else {
			*((*bool)(x.ReadOnly)) = r.DecodeBool()
		}
	}
	for {
		yyj1124++
		if yyhl1124 {
			yyb1124 = yyj1124 > l
		} else {
			yyb1124 = r.CheckBreak()
		}
		if yyb1124 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1124-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 {
		yym1132 := z.EncBinary()
		_ = yym1132
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1133 := !z.EncBinary()
			yy2arr1133 := z.EncBasicHandle().StructToArray
			var yyq1133 [3]bool
			_, _, _ = yysep1133, yyq1133, yy2arr1133
			const yyr1133 bool = false
			yyq1133[1] = len(x.Items) != 0
			yyq1133[2] = x.DefaultMode != nil
			var yynn1133 int
			if yyr1133 || yy2arr1133 {
				r.EncodeArrayStart(3)
			} else {
				yynn1133 = 1
				for _, b := range yyq1133 {
					if b {
						yynn1133++
					}
				}
				r.EncodeMapStart(yynn1133)
				yynn1133 = 0
			}
			if yyr1133 || yy2arr1133 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1135 := z.EncBinary()
				_ = yym1135
				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)
				yym1136 := z.EncBinary()
				_ = yym1136
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1133 || yy2arr1133 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1133[1] {
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym1138 := z.EncBinary()
						_ = yym1138
						if false {
						} else {
							h.encSliceKeyToPath(([]KeyToPath)(x.Items), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1133[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("items"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym1139 := z.EncBinary()
						_ = yym1139
						if false {
						} else {
							h.encSliceKeyToPath(([]KeyToPath)(x.Items), e)
						}
					}
				}
			}
			if yyr1133 || yy2arr1133 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1133[2] {
					if x.DefaultMode == nil {
						r.EncodeNil()
					} else {
						yy1141 := *x.DefaultMode
						yym1142 := z.EncBinary()
						_ = yym1142
						if false {
						} else {
							r.EncodeInt(int64(yy1141))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1133[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("defaultMode"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DefaultMode == nil {
						r.EncodeNil()
					} else {
						yy1143 := *x.DefaultMode
						yym1144 := z.EncBinary()
						_ = yym1144
						if false {
						} else {
							r.EncodeInt(int64(yy1143))
						}
					}
				}
			}
			if yyr1133 || yy2arr1133 {
				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
	yym1145 := z.DecBinary()
	_ = yym1145
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1146 := r.ContainerType()
		if yyct1146 == codecSelferValueTypeMap1234 {
			yyl1146 := r.ReadMapStart()
			if yyl1146 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1146, d)
			}
		} else if yyct1146 == codecSelferValueTypeArray1234 {
			yyl1146 := r.ReadArrayStart()
			if yyl1146 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1146, 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 yys1147Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1147Slc
	var yyhl1147 bool = l >= 0
	for yyj1147 := 0; ; yyj1147++ {
		if yyhl1147 {
			if yyj1147 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1147Slc = r.DecodeBytes(yys1147Slc, true, true)
		yys1147 := string(yys1147Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1147 {
		case "Name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1149 := &x.Items
				yym1150 := z.DecBinary()
				_ = yym1150
				if false {
				} else {
					h.decSliceKeyToPath((*[]KeyToPath)(yyv1149), d)
				}
			}
		case "defaultMode":
			if r.TryDecodeAsNil() {
				if x.DefaultMode != nil {
					x.DefaultMode = nil
				}
			} else {
				if x.DefaultMode == nil {
					x.DefaultMode = new(int32)
				}
				yym1152 := z.DecBinary()
				_ = yym1152
				if false {
				} else {
					*((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1147)
		} // end switch yys1147
	} // end for yyj1147
	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 yyj1153 int
	var yyb1153 bool
	var yyhl1153 bool = l >= 0
	yyj1153++
	if yyhl1153 {
		yyb1153 = yyj1153 > l
	} else {
		yyb1153 = r.CheckBreak()
	}
	if yyb1153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1153++
	if yyhl1153 {
		yyb1153 = yyj1153 > l
	} else {
		yyb1153 = r.CheckBreak()
	}
	if yyb1153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1155 := &x.Items
		yym1156 := z.DecBinary()
		_ = yym1156
		if false {
		} else {
			h.decSliceKeyToPath((*[]KeyToPath)(yyv1155), d)
		}
	}
	yyj1153++
	if yyhl1153 {
		yyb1153 = yyj1153 > l
	} else {
		yyb1153 = r.CheckBreak()
	}
	if yyb1153 {
		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)
		}
		yym1158 := z.DecBinary()
		_ = yym1158
		if false {
		} else {
			*((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32))
		}
	}
	for {
		yyj1153++
		if yyhl1153 {
			yyb1153 = yyj1153 > l
		} else {
			yyb1153 = r.CheckBreak()
		}
		if yyb1153 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1153-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 {
		yym1159 := z.EncBinary()
		_ = yym1159
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1160 := !z.EncBinary()
			yy2arr1160 := z.EncBasicHandle().StructToArray
			var yyq1160 [3]bool
			_, _, _ = yysep1160, yyq1160, yy2arr1160
			const yyr1160 bool = false
			yyq1160[2] = x.Mode != nil
			var yynn1160 int
			if yyr1160 || yy2arr1160 {
				r.EncodeArrayStart(3)
			} else {
				yynn1160 = 2
				for _, b := range yyq1160 {
					if b {
						yynn1160++
					}
				}
				r.EncodeMapStart(yynn1160)
				yynn1160 = 0
			}
			if yyr1160 || yy2arr1160 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1162 := z.EncBinary()
				_ = yym1162
				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)
				yym1163 := z.EncBinary()
				_ = yym1163
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			}
			if yyr1160 || yy2arr1160 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1165 := z.EncBinary()
				_ = yym1165
				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)
				yym1166 := z.EncBinary()
				_ = yym1166
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr1160 || yy2arr1160 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1160[2] {
					if x.Mode == nil {
						r.EncodeNil()
					} else {
						yy1168 := *x.Mode
						yym1169 := z.EncBinary()
						_ = yym1169
						if false {
						} else {
							r.EncodeInt(int64(yy1168))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1160[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("mode"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Mode == nil {
						r.EncodeNil()
					} else {
						yy1170 := *x.Mode
						yym1171 := z.EncBinary()
						_ = yym1171
						if false {
						} else {
							r.EncodeInt(int64(yy1170))
						}
					}
				}
			}
			if yyr1160 || yy2arr1160 {
				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
	yym1172 := z.DecBinary()
	_ = yym1172
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1173 := r.ContainerType()
		if yyct1173 == codecSelferValueTypeMap1234 {
			yyl1173 := r.ReadMapStart()
			if yyl1173 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1173, d)
			}
		} else if yyct1173 == codecSelferValueTypeArray1234 {
			yyl1173 := r.ReadArrayStart()
			if yyl1173 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1173, 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 yys1174Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1174Slc
	var yyhl1174 bool = l >= 0
	for yyj1174 := 0; ; yyj1174++ {
		if yyhl1174 {
			if yyj1174 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1174Slc = r.DecodeBytes(yys1174Slc, true, true)
		yys1174 := string(yys1174Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1174 {
		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)
				}
				yym1178 := z.DecBinary()
				_ = yym1178
				if false {
				} else {
					*((*int32)(x.Mode)) = int32(r.DecodeInt(32))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1174)
		} // end switch yys1174
	} // end for yyj1174
	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 yyj1179 int
	var yyb1179 bool
	var yyhl1179 bool = l >= 0
	yyj1179++
	if yyhl1179 {
		yyb1179 = yyj1179 > l
	} else {
		yyb1179 = r.CheckBreak()
	}
	if yyb1179 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	yyj1179++
	if yyhl1179 {
		yyb1179 = yyj1179 > l
	} else {
		yyb1179 = r.CheckBreak()
	}
	if yyb1179 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj1179++
	if yyhl1179 {
		yyb1179 = yyj1179 > l
	} else {
		yyb1179 = r.CheckBreak()
	}
	if yyb1179 {
		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)
		}
		yym1183 := z.DecBinary()
		_ = yym1183
		if false {
		} else {
			*((*int32)(x.Mode)) = int32(r.DecodeInt(32))
		}
	}
	for {
		yyj1179++
		if yyhl1179 {
			yyb1179 = yyj1179 > l
		} else {
			yyb1179 = r.CheckBreak()
		}
		if yyb1179 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1179-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 {
		yym1184 := z.EncBinary()
		_ = yym1184
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1185 := !z.EncBinary()
			yy2arr1185 := z.EncBasicHandle().StructToArray
			var yyq1185 [5]bool
			_, _, _ = yysep1185, yyq1185, yy2arr1185
			const yyr1185 bool = false
			yyq1185[0] = x.Name != ""
			yyq1185[1] = x.HostPort != 0
			yyq1185[3] = x.Protocol != ""
			yyq1185[4] = x.HostIP != ""
			var yynn1185 int
			if yyr1185 || yy2arr1185 {
				r.EncodeArrayStart(5)
			} else {
				yynn1185 = 1
				for _, b := range yyq1185 {
					if b {
						yynn1185++
					}
				}
				r.EncodeMapStart(yynn1185)
				yynn1185 = 0
			}
			if yyr1185 || yy2arr1185 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1185[0] {
					yym1187 := z.EncBinary()
					_ = yym1187
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1185[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1188 := z.EncBinary()
					_ = yym1188
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr1185 || yy2arr1185 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1185[1] {
					yym1190 := z.EncBinary()
					_ = yym1190
					if false {
					} else {
						r.EncodeInt(int64(x.HostPort))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1185[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPort"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1191 := z.EncBinary()
					_ = yym1191
					if false {
					} else {
						r.EncodeInt(int64(x.HostPort))
					}
				}
			}
			if yyr1185 || yy2arr1185 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1193 := z.EncBinary()
				_ = yym1193
				if false {
				} else {
					r.EncodeInt(int64(x.ContainerPort))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("containerPort"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1194 := z.EncBinary()
				_ = yym1194
				if false {
				} else {
					r.EncodeInt(int64(x.ContainerPort))
				}
			}
			if yyr1185 || yy2arr1185 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1185[3] {
					x.Protocol.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1185[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("protocol"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Protocol.CodecEncodeSelf(e)
				}
			}
			if yyr1185 || yy2arr1185 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1185[4] {
					yym1197 := z.EncBinary()
					_ = yym1197
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1185[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1198 := z.EncBinary()
					_ = yym1198
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				}
			}
			if yyr1185 || yy2arr1185 {
				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
	yym1199 := z.DecBinary()
	_ = yym1199
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1200 := r.ContainerType()
		if yyct1200 == codecSelferValueTypeMap1234 {
			yyl1200 := r.ReadMapStart()
			if yyl1200 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1200, d)
			}
		} else if yyct1200 == codecSelferValueTypeArray1234 {
			yyl1200 := r.ReadArrayStart()
			if yyl1200 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1200, 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 yys1201Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1201Slc
	var yyhl1201 bool = l >= 0
	for yyj1201 := 0; ; yyj1201++ {
		if yyhl1201 {
			if yyj1201 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1201Slc = r.DecodeBytes(yys1201Slc, true, true)
		yys1201 := string(yys1201Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1201 {
		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, yys1201)
		} // end switch yys1201
	} // end for yyj1201
	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 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.Name = ""
	} else {
		x.Name = 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.HostPort = 0
	} else {
		x.HostPort = int32(r.DecodeInt(32))
	}
	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.ContainerPort = 0
	} else {
		x.ContainerPort = int32(r.DecodeInt(32))
	}
	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.Protocol = ""
	} else {
		x.Protocol = Protocol(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.HostIP = ""
	} else {
		x.HostIP = string(r.DecodeString())
	}
	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 *VolumeMount) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1213 := z.EncBinary()
		_ = yym1213
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1214 := !z.EncBinary()
			yy2arr1214 := z.EncBasicHandle().StructToArray
			var yyq1214 [4]bool
			_, _, _ = yysep1214, yyq1214, yy2arr1214
			const yyr1214 bool = false
			yyq1214[1] = x.ReadOnly != false
			yyq1214[3] = x.SubPath != ""
			var yynn1214 int
			if yyr1214 || yy2arr1214 {
				r.EncodeArrayStart(4)
			} else {
				yynn1214 = 2
				for _, b := range yyq1214 {
					if b {
						yynn1214++
					}
				}
				r.EncodeMapStart(yynn1214)
				yynn1214 = 0
			}
			if yyr1214 || yy2arr1214 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1216 := z.EncBinary()
				_ = yym1216
				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)
				yym1217 := z.EncBinary()
				_ = yym1217
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1214 || yy2arr1214 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1214[1] {
					yym1219 := z.EncBinary()
					_ = yym1219
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1214[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1220 := z.EncBinary()
					_ = yym1220
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr1214 || yy2arr1214 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1222 := z.EncBinary()
				_ = yym1222
				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)
				yym1223 := z.EncBinary()
				_ = yym1223
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MountPath))
				}
			}
			if yyr1214 || yy2arr1214 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1214[3] {
					yym1225 := z.EncBinary()
					_ = yym1225
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SubPath))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1214[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("subPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1226 := z.EncBinary()
					_ = yym1226
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SubPath))
					}
				}
			}
			if yyr1214 || yy2arr1214 {
				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
	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 *VolumeMount) 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 "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, yys1229)
		} // end switch yys1229
	} // end for yyj1229
	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 yyj1234 int
	var yyb1234 bool
	var yyhl1234 bool = l >= 0
	yyj1234++
	if yyhl1234 {
		yyb1234 = yyj1234 > l
	} else {
		yyb1234 = r.CheckBreak()
	}
	if yyb1234 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1234++
	if yyhl1234 {
		yyb1234 = yyj1234 > l
	} else {
		yyb1234 = r.CheckBreak()
	}
	if yyb1234 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	yyj1234++
	if yyhl1234 {
		yyb1234 = yyj1234 > l
	} else {
		yyb1234 = r.CheckBreak()
	}
	if yyb1234 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.MountPath = ""
	} else {
		x.MountPath = string(r.DecodeString())
	}
	yyj1234++
	if yyhl1234 {
		yyb1234 = yyj1234 > l
	} else {
		yyb1234 = r.CheckBreak()
	}
	if yyb1234 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SubPath = ""
	} else {
		x.SubPath = string(r.DecodeString())
	}
	for {
		yyj1234++
		if yyhl1234 {
			yyb1234 = yyj1234 > l
		} else {
			yyb1234 = r.CheckBreak()
		}
		if yyb1234 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1234-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 {
		yym1239 := z.EncBinary()
		_ = yym1239
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1240 := !z.EncBinary()
			yy2arr1240 := z.EncBasicHandle().StructToArray
			var yyq1240 [3]bool
			_, _, _ = yysep1240, yyq1240, yy2arr1240
			const yyr1240 bool = false
			yyq1240[1] = x.Value != ""
			yyq1240[2] = x.ValueFrom != nil
			var yynn1240 int
			if yyr1240 || yy2arr1240 {
				r.EncodeArrayStart(3)
			} else {
				yynn1240 = 1
				for _, b := range yyq1240 {
					if b {
						yynn1240++
					}
				}
				r.EncodeMapStart(yynn1240)
				yynn1240 = 0
			}
			if yyr1240 || yy2arr1240 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1242 := z.EncBinary()
				_ = yym1242
				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)
				yym1243 := z.EncBinary()
				_ = yym1243
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1240 || yy2arr1240 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1240[1] {
					yym1245 := z.EncBinary()
					_ = yym1245
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1240[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("value"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1246 := z.EncBinary()
					_ = yym1246
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				}
			}
			if yyr1240 || yy2arr1240 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1240[2] {
					if x.ValueFrom == nil {
						r.EncodeNil()
					} else {
						x.ValueFrom.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1240[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 yyr1240 || yy2arr1240 {
				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
	yym1248 := z.DecBinary()
	_ = yym1248
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1249 := r.ContainerType()
		if yyct1249 == codecSelferValueTypeMap1234 {
			yyl1249 := r.ReadMapStart()
			if yyl1249 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1249, d)
			}
		} else if yyct1249 == codecSelferValueTypeArray1234 {
			yyl1249 := r.ReadArrayStart()
			if yyl1249 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1249, 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 yys1250Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1250Slc
	var yyhl1250 bool = l >= 0
	for yyj1250 := 0; ; yyj1250++ {
		if yyhl1250 {
			if yyj1250 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1250Slc = r.DecodeBytes(yys1250Slc, true, true)
		yys1250 := string(yys1250Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1250 {
		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, yys1250)
		} // end switch yys1250
	} // end for yyj1250
	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 yyj1254 int
	var yyb1254 bool
	var yyhl1254 bool = l >= 0
	yyj1254++
	if yyhl1254 {
		yyb1254 = yyj1254 > l
	} else {
		yyb1254 = r.CheckBreak()
	}
	if yyb1254 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1254++
	if yyhl1254 {
		yyb1254 = yyj1254 > l
	} else {
		yyb1254 = r.CheckBreak()
	}
	if yyb1254 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Value = ""
	} else {
		x.Value = string(r.DecodeString())
	}
	yyj1254++
	if yyhl1254 {
		yyb1254 = yyj1254 > l
	} else {
		yyb1254 = r.CheckBreak()
	}
	if yyb1254 {
		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 {
		yyj1254++
		if yyhl1254 {
			yyb1254 = yyj1254 > l
		} else {
			yyb1254 = r.CheckBreak()
		}
		if yyb1254 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1254-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 {
		yym1258 := z.EncBinary()
		_ = yym1258
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1259 := !z.EncBinary()
			yy2arr1259 := z.EncBasicHandle().StructToArray
			var yyq1259 [4]bool
			_, _, _ = yysep1259, yyq1259, yy2arr1259
			const yyr1259 bool = false
			yyq1259[0] = x.FieldRef != nil
			yyq1259[1] = x.ResourceFieldRef != nil
			yyq1259[2] = x.ConfigMapKeyRef != nil
			yyq1259[3] = x.SecretKeyRef != nil
			var yynn1259 int
			if yyr1259 || yy2arr1259 {
				r.EncodeArrayStart(4)
			} else {
				yynn1259 = 0
				for _, b := range yyq1259 {
					if b {
						yynn1259++
					}
				}
				r.EncodeMapStart(yynn1259)
				yynn1259 = 0
			}
			if yyr1259 || yy2arr1259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1259[0] {
					if x.FieldRef == nil {
						r.EncodeNil()
					} else {
						x.FieldRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1259[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 yyr1259 || yy2arr1259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1259[1] {
					if x.ResourceFieldRef == nil {
						r.EncodeNil()
					} else {
						x.ResourceFieldRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1259[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 yyr1259 || yy2arr1259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1259[2] {
					if x.ConfigMapKeyRef == nil {
						r.EncodeNil()
					} else {
						x.ConfigMapKeyRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1259[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 yyr1259 || yy2arr1259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1259[3] {
					if x.SecretKeyRef == nil {
						r.EncodeNil()
					} else {
						x.SecretKeyRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1259[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 yyr1259 || yy2arr1259 {
				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
	yym1264 := z.DecBinary()
	_ = yym1264
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1265 := r.ContainerType()
		if yyct1265 == codecSelferValueTypeMap1234 {
			yyl1265 := r.ReadMapStart()
			if yyl1265 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1265, d)
			}
		} else if yyct1265 == codecSelferValueTypeArray1234 {
			yyl1265 := r.ReadArrayStart()
			if yyl1265 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1265, 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 yys1266Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1266Slc
	var yyhl1266 bool = l >= 0
	for yyj1266 := 0; ; yyj1266++ {
		if yyhl1266 {
			if yyj1266 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1266Slc = r.DecodeBytes(yys1266Slc, true, true)
		yys1266 := string(yys1266Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1266 {
		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, yys1266)
		} // end switch yys1266
	} // end for yyj1266
	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 yyj1271 int
	var yyb1271 bool
	var yyhl1271 bool = l >= 0
	yyj1271++
	if yyhl1271 {
		yyb1271 = yyj1271 > l
	} else {
		yyb1271 = r.CheckBreak()
	}
	if yyb1271 {
		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)
	}
	yyj1271++
	if yyhl1271 {
		yyb1271 = yyj1271 > l
	} else {
		yyb1271 = r.CheckBreak()
	}
	if yyb1271 {
		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)
	}
	yyj1271++
	if yyhl1271 {
		yyb1271 = yyj1271 > l
	} else {
		yyb1271 = r.CheckBreak()
	}
	if yyb1271 {
		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)
	}
	yyj1271++
	if yyhl1271 {
		yyb1271 = yyj1271 > l
	} else {
		yyb1271 = r.CheckBreak()
	}
	if yyb1271 {
		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 {
		yyj1271++
		if yyhl1271 {
			yyb1271 = yyj1271 > l
		} else {
			yyb1271 = r.CheckBreak()
		}
		if yyb1271 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1271-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 {
		yym1276 := z.EncBinary()
		_ = yym1276
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1277 := !z.EncBinary()
			yy2arr1277 := z.EncBasicHandle().StructToArray
			var yyq1277 [2]bool
			_, _, _ = yysep1277, yyq1277, yy2arr1277
			const yyr1277 bool = false
			var yynn1277 int
			if yyr1277 || yy2arr1277 {
				r.EncodeArrayStart(2)
			} else {
				yynn1277 = 2
				for _, b := range yyq1277 {
					if b {
						yynn1277++
					}
				}
				r.EncodeMapStart(yynn1277)
				yynn1277 = 0
			}
			if yyr1277 || yy2arr1277 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1279 := z.EncBinary()
				_ = yym1279
				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)
				yym1280 := z.EncBinary()
				_ = yym1280
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
				}
			}
			if yyr1277 || yy2arr1277 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1282 := z.EncBinary()
				_ = yym1282
				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)
				yym1283 := z.EncBinary()
				_ = yym1283
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
				}
			}
			if yyr1277 || yy2arr1277 {
				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
	yym1284 := z.DecBinary()
	_ = yym1284
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1285 := r.ContainerType()
		if yyct1285 == codecSelferValueTypeMap1234 {
			yyl1285 := r.ReadMapStart()
			if yyl1285 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1285, d)
			}
		} else if yyct1285 == codecSelferValueTypeArray1234 {
			yyl1285 := r.ReadArrayStart()
			if yyl1285 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1285, 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 yys1286Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1286Slc
	var yyhl1286 bool = l >= 0
	for yyj1286 := 0; ; yyj1286++ {
		if yyhl1286 {
			if yyj1286 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1286Slc = r.DecodeBytes(yys1286Slc, true, true)
		yys1286 := string(yys1286Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1286 {
		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, yys1286)
		} // end switch yys1286
	} // end for yyj1286
	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 yyj1289 int
	var yyb1289 bool
	var yyhl1289 bool = l >= 0
	yyj1289++
	if yyhl1289 {
		yyb1289 = yyj1289 > l
	} else {
		yyb1289 = r.CheckBreak()
	}
	if yyb1289 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1289++
	if yyhl1289 {
		yyb1289 = yyj1289 > l
	} else {
		yyb1289 = r.CheckBreak()
	}
	if yyb1289 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FieldPath = ""
	} else {
		x.FieldPath = string(r.DecodeString())
	}
	for {
		yyj1289++
		if yyhl1289 {
			yyb1289 = yyj1289 > l
		} else {
			yyb1289 = r.CheckBreak()
		}
		if yyb1289 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1289-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 {
		yym1292 := z.EncBinary()
		_ = yym1292
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1293 := !z.EncBinary()
			yy2arr1293 := z.EncBasicHandle().StructToArray
			var yyq1293 [3]bool
			_, _, _ = yysep1293, yyq1293, yy2arr1293
			const yyr1293 bool = false
			yyq1293[0] = x.ContainerName != ""
			yyq1293[2] = true
			var yynn1293 int
			if yyr1293 || yy2arr1293 {
				r.EncodeArrayStart(3)
			} else {
				yynn1293 = 1
				for _, b := range yyq1293 {
					if b {
						yynn1293++
					}
				}
				r.EncodeMapStart(yynn1293)
				yynn1293 = 0
			}
			if yyr1293 || yy2arr1293 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1293[0] {
					yym1295 := z.EncBinary()
					_ = yym1295
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1293[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("containerName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1296 := z.EncBinary()
					_ = yym1296
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerName))
					}
				}
			}
			if yyr1293 || yy2arr1293 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1298 := z.EncBinary()
				_ = yym1298
				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)
				yym1299 := z.EncBinary()
				_ = yym1299
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Resource))
				}
			}
			if yyr1293 || yy2arr1293 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1293[2] {
					yy1301 := &x.Divisor
					yym1302 := z.EncBinary()
					_ = yym1302
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1301) {
					} else if !yym1302 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1301)
					} else {
						z.EncFallback(yy1301)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1293[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("divisor"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1303 := &x.Divisor
					yym1304 := z.EncBinary()
					_ = yym1304
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1303) {
					} else if !yym1304 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1303)
					} else {
						z.EncFallback(yy1303)
					}
				}
			}
			if yyr1293 || yy2arr1293 {
				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
	yym1305 := z.DecBinary()
	_ = yym1305
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1306 := r.ContainerType()
		if yyct1306 == codecSelferValueTypeMap1234 {
			yyl1306 := r.ReadMapStart()
			if yyl1306 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1306, d)
			}
		} else if yyct1306 == codecSelferValueTypeArray1234 {
			yyl1306 := r.ReadArrayStart()
			if yyl1306 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1306, 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 yys1307Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1307Slc
	var yyhl1307 bool = l >= 0
	for yyj1307 := 0; ; yyj1307++ {
		if yyhl1307 {
			if yyj1307 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1307Slc = r.DecodeBytes(yys1307Slc, true, true)
		yys1307 := string(yys1307Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1307 {
		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 {
				yyv1310 := &x.Divisor
				yym1311 := z.DecBinary()
				_ = yym1311
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1310) {
				} else if !yym1311 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1310)
				} else {
					z.DecFallback(yyv1310, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1307)
		} // end switch yys1307
	} // end for yyj1307
	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 yyj1312 int
	var yyb1312 bool
	var yyhl1312 bool = l >= 0
	yyj1312++
	if yyhl1312 {
		yyb1312 = yyj1312 > l
	} else {
		yyb1312 = r.CheckBreak()
	}
	if yyb1312 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerName = ""
	} else {
		x.ContainerName = string(r.DecodeString())
	}
	yyj1312++
	if yyhl1312 {
		yyb1312 = yyj1312 > l
	} else {
		yyb1312 = r.CheckBreak()
	}
	if yyb1312 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Resource = ""
	} else {
		x.Resource = string(r.DecodeString())
	}
	yyj1312++
	if yyhl1312 {
		yyb1312 = yyj1312 > l
	} else {
		yyb1312 = r.CheckBreak()
	}
	if yyb1312 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Divisor = pkg3_resource.Quantity{}
	} else {
		yyv1315 := &x.Divisor
		yym1316 := z.DecBinary()
		_ = yym1316
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1315) {
		} else if !yym1316 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1315)
		} else {
			z.DecFallback(yyv1315, false)
		}
	}
	for {
		yyj1312++
		if yyhl1312 {
			yyb1312 = yyj1312 > l
		} else {
			yyb1312 = r.CheckBreak()
		}
		if yyb1312 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1312-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 {
		yym1317 := z.EncBinary()
		_ = yym1317
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1318 := !z.EncBinary()
			yy2arr1318 := z.EncBasicHandle().StructToArray
			var yyq1318 [2]bool
			_, _, _ = yysep1318, yyq1318, yy2arr1318
			const yyr1318 bool = false
			var yynn1318 int
			if yyr1318 || yy2arr1318 {
				r.EncodeArrayStart(2)
			} else {
				yynn1318 = 2
				for _, b := range yyq1318 {
					if b {
						yynn1318++
					}
				}
				r.EncodeMapStart(yynn1318)
				yynn1318 = 0
			}
			if yyr1318 || yy2arr1318 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1320 := z.EncBinary()
				_ = yym1320
				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)
				yym1321 := z.EncBinary()
				_ = yym1321
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1318 || yy2arr1318 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1323 := z.EncBinary()
				_ = yym1323
				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)
				yym1324 := z.EncBinary()
				_ = yym1324
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			}
			if yyr1318 || yy2arr1318 {
				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
	yym1325 := z.DecBinary()
	_ = yym1325
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1326 := r.ContainerType()
		if yyct1326 == codecSelferValueTypeMap1234 {
			yyl1326 := r.ReadMapStart()
			if yyl1326 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1326, d)
			}
		} else if yyct1326 == codecSelferValueTypeArray1234 {
			yyl1326 := r.ReadArrayStart()
			if yyl1326 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1326, 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 yys1327Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1327Slc
	var yyhl1327 bool = l >= 0
	for yyj1327 := 0; ; yyj1327++ {
		if yyhl1327 {
			if yyj1327 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1327Slc = r.DecodeBytes(yys1327Slc, true, true)
		yys1327 := string(yys1327Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1327 {
		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, yys1327)
		} // end switch yys1327
	} // end for yyj1327
	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 yyj1330 int
	var yyb1330 bool
	var yyhl1330 bool = l >= 0
	yyj1330++
	if yyhl1330 {
		yyb1330 = yyj1330 > l
	} else {
		yyb1330 = r.CheckBreak()
	}
	if yyb1330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1330++
	if yyhl1330 {
		yyb1330 = yyj1330 > l
	} else {
		yyb1330 = r.CheckBreak()
	}
	if yyb1330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	for {
		yyj1330++
		if yyhl1330 {
			yyb1330 = yyj1330 > l
		} else {
			yyb1330 = r.CheckBreak()
		}
		if yyb1330 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1330-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 {
		yym1333 := z.EncBinary()
		_ = yym1333
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1334 := !z.EncBinary()
			yy2arr1334 := z.EncBasicHandle().StructToArray
			var yyq1334 [2]bool
			_, _, _ = yysep1334, yyq1334, yy2arr1334
			const yyr1334 bool = false
			var yynn1334 int
			if yyr1334 || yy2arr1334 {
				r.EncodeArrayStart(2)
			} else {
				yynn1334 = 2
				for _, b := range yyq1334 {
					if b {
						yynn1334++
					}
				}
				r.EncodeMapStart(yynn1334)
				yynn1334 = 0
			}
			if yyr1334 || yy2arr1334 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1336 := z.EncBinary()
				_ = yym1336
				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)
				yym1337 := z.EncBinary()
				_ = yym1337
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1334 || yy2arr1334 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1339 := z.EncBinary()
				_ = yym1339
				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)
				yym1340 := z.EncBinary()
				_ = yym1340
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			}
			if yyr1334 || yy2arr1334 {
				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
	yym1341 := z.DecBinary()
	_ = yym1341
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1342 := r.ContainerType()
		if yyct1342 == codecSelferValueTypeMap1234 {
			yyl1342 := r.ReadMapStart()
			if yyl1342 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1342, d)
			}
		} else if yyct1342 == codecSelferValueTypeArray1234 {
			yyl1342 := r.ReadArrayStart()
			if yyl1342 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1342, 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 yys1343Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1343Slc
	var yyhl1343 bool = l >= 0
	for yyj1343 := 0; ; yyj1343++ {
		if yyhl1343 {
			if yyj1343 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1343Slc = r.DecodeBytes(yys1343Slc, true, true)
		yys1343 := string(yys1343Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1343 {
		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, yys1343)
		} // end switch yys1343
	} // end for yyj1343
	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 yyj1346 int
	var yyb1346 bool
	var yyhl1346 bool = l >= 0
	yyj1346++
	if yyhl1346 {
		yyb1346 = yyj1346 > l
	} else {
		yyb1346 = r.CheckBreak()
	}
	if yyb1346 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1346++
	if yyhl1346 {
		yyb1346 = yyj1346 > l
	} else {
		yyb1346 = r.CheckBreak()
	}
	if yyb1346 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	for {
		yyj1346++
		if yyhl1346 {
			yyb1346 = yyj1346 > l
		} else {
			yyb1346 = r.CheckBreak()
		}
		if yyb1346 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1346-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 {
		yym1349 := z.EncBinary()
		_ = yym1349
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1350 := !z.EncBinary()
			yy2arr1350 := z.EncBasicHandle().StructToArray
			var yyq1350 [2]bool
			_, _, _ = yysep1350, yyq1350, yy2arr1350
			const yyr1350 bool = false
			var yynn1350 int
			if yyr1350 || yy2arr1350 {
				r.EncodeArrayStart(2)
			} else {
				yynn1350 = 2
				for _, b := range yyq1350 {
					if b {
						yynn1350++
					}
				}
				r.EncodeMapStart(yynn1350)
				yynn1350 = 0
			}
			if yyr1350 || yy2arr1350 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1352 := z.EncBinary()
				_ = yym1352
				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)
				yym1353 := z.EncBinary()
				_ = yym1353
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1350 || yy2arr1350 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1355 := z.EncBinary()
				_ = yym1355
				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)
				yym1356 := z.EncBinary()
				_ = yym1356
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Value))
				}
			}
			if yyr1350 || yy2arr1350 {
				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
	yym1357 := z.DecBinary()
	_ = yym1357
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1358 := r.ContainerType()
		if yyct1358 == codecSelferValueTypeMap1234 {
			yyl1358 := r.ReadMapStart()
			if yyl1358 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1358, d)
			}
		} else if yyct1358 == codecSelferValueTypeArray1234 {
			yyl1358 := r.ReadArrayStart()
			if yyl1358 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1358, 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 yys1359Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1359Slc
	var yyhl1359 bool = l >= 0
	for yyj1359 := 0; ; yyj1359++ {
		if yyhl1359 {
			if yyj1359 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1359Slc = r.DecodeBytes(yys1359Slc, true, true)
		yys1359 := string(yys1359Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1359 {
		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, yys1359)
		} // end switch yys1359
	} // end for yyj1359
	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 yyj1362 int
	var yyb1362 bool
	var yyhl1362 bool = l >= 0
	yyj1362++
	if yyhl1362 {
		yyb1362 = yyj1362 > l
	} else {
		yyb1362 = r.CheckBreak()
	}
	if yyb1362 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1362++
	if yyhl1362 {
		yyb1362 = yyj1362 > l
	} else {
		yyb1362 = r.CheckBreak()
	}
	if yyb1362 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Value = ""
	} else {
		x.Value = string(r.DecodeString())
	}
	for {
		yyj1362++
		if yyhl1362 {
			yyb1362 = yyj1362 > l
		} else {
			yyb1362 = r.CheckBreak()
		}
		if yyb1362 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1362-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 {
		yym1365 := z.EncBinary()
		_ = yym1365
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1366 := !z.EncBinary()
			yy2arr1366 := z.EncBasicHandle().StructToArray
			var yyq1366 [5]bool
			_, _, _ = yysep1366, yyq1366, yy2arr1366
			const yyr1366 bool = false
			yyq1366[0] = x.Path != ""
			yyq1366[1] = true
			yyq1366[2] = x.Host != ""
			yyq1366[3] = x.Scheme != ""
			yyq1366[4] = len(x.HTTPHeaders) != 0
			var yynn1366 int
			if yyr1366 || yy2arr1366 {
				r.EncodeArrayStart(5)
			} else {
				yynn1366 = 0
				for _, b := range yyq1366 {
					if b {
						yynn1366++
					}
				}
				r.EncodeMapStart(yynn1366)
				yynn1366 = 0
			}
			if yyr1366 || yy2arr1366 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1366[0] {
					yym1368 := z.EncBinary()
					_ = yym1368
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1366[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("path"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1369 := z.EncBinary()
					_ = yym1369
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				}
			}
			if yyr1366 || yy2arr1366 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1366[1] {
					yy1371 := &x.Port
					yym1372 := z.EncBinary()
					_ = yym1372
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1371) {
					} else if !yym1372 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1371)
					} else {
						z.EncFallback(yy1371)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1366[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("port"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1373 := &x.Port
					yym1374 := z.EncBinary()
					_ = yym1374
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1373) {
					} else if !yym1374 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1373)
					} else {
						z.EncFallback(yy1373)
					}
				}
			}
			if yyr1366 || yy2arr1366 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1366[2] {
					yym1376 := z.EncBinary()
					_ = yym1376
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1366[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("host"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1377 := z.EncBinary()
					_ = yym1377
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				}
			}
			if yyr1366 || yy2arr1366 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1366[3] {
					x.Scheme.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1366[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("scheme"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Scheme.CodecEncodeSelf(e)
				}
			}
			if yyr1366 || yy2arr1366 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1366[4] {
					if x.HTTPHeaders == nil {
						r.EncodeNil()
					} else {
						yym1380 := z.EncBinary()
						_ = yym1380
						if false {
						} else {
							h.encSliceHTTPHeader(([]HTTPHeader)(x.HTTPHeaders), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1366[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("httpHeaders"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.HTTPHeaders == nil {
						r.EncodeNil()
					} else {
						yym1381 := z.EncBinary()
						_ = yym1381
						if false {
						} else {
							h.encSliceHTTPHeader(([]HTTPHeader)(x.HTTPHeaders), e)
						}
					}
				}
			}
			if yyr1366 || yy2arr1366 {
				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
	yym1382 := z.DecBinary()
	_ = yym1382
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1383 := r.ContainerType()
		if yyct1383 == codecSelferValueTypeMap1234 {
			yyl1383 := r.ReadMapStart()
			if yyl1383 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1383, d)
			}
		} else if yyct1383 == codecSelferValueTypeArray1234 {
			yyl1383 := r.ReadArrayStart()
			if yyl1383 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1383, 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 yys1384Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1384Slc
	var yyhl1384 bool = l >= 0
	for yyj1384 := 0; ; yyj1384++ {
		if yyhl1384 {
			if yyj1384 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1384Slc = r.DecodeBytes(yys1384Slc, true, true)
		yys1384 := string(yys1384Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1384 {
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "port":
			if r.TryDecodeAsNil() {
				x.Port = pkg4_intstr.IntOrString{}
			} else {
				yyv1386 := &x.Port
				yym1387 := z.DecBinary()
				_ = yym1387
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1386) {
				} else if !yym1387 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1386)
				} else {
					z.DecFallback(yyv1386, 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 {
				yyv1390 := &x.HTTPHeaders
				yym1391 := z.DecBinary()
				_ = yym1391
				if false {
				} else {
					h.decSliceHTTPHeader((*[]HTTPHeader)(yyv1390), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1384)
		} // end switch yys1384
	} // end for yyj1384
	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 yyj1392 int
	var yyb1392 bool
	var yyhl1392 bool = l >= 0
	yyj1392++
	if yyhl1392 {
		yyb1392 = yyj1392 > l
	} else {
		yyb1392 = r.CheckBreak()
	}
	if yyb1392 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj1392++
	if yyhl1392 {
		yyb1392 = yyj1392 > l
	} else {
		yyb1392 = r.CheckBreak()
	}
	if yyb1392 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = pkg4_intstr.IntOrString{}
	} else {
		yyv1394 := &x.Port
		yym1395 := z.DecBinary()
		_ = yym1395
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1394) {
		} else if !yym1395 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1394)
		} else {
			z.DecFallback(yyv1394, false)
		}
	}
	yyj1392++
	if yyhl1392 {
		yyb1392 = yyj1392 > l
	} else {
		yyb1392 = r.CheckBreak()
	}
	if yyb1392 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Host = ""
	} else {
		x.Host = string(r.DecodeString())
	}
	yyj1392++
	if yyhl1392 {
		yyb1392 = yyj1392 > l
	} else {
		yyb1392 = r.CheckBreak()
	}
	if yyb1392 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Scheme = ""
	} else {
		x.Scheme = URIScheme(r.DecodeString())
	}
	yyj1392++
	if yyhl1392 {
		yyb1392 = yyj1392 > l
	} else {
		yyb1392 = r.CheckBreak()
	}
	if yyb1392 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HTTPHeaders = nil
	} else {
		yyv1398 := &x.HTTPHeaders
		yym1399 := z.DecBinary()
		_ = yym1399
		if false {
		} else {
			h.decSliceHTTPHeader((*[]HTTPHeader)(yyv1398), d)
		}
	}
	for {
		yyj1392++
		if yyhl1392 {
			yyb1392 = yyj1392 > l
		} else {
			yyb1392 = r.CheckBreak()
		}
		if yyb1392 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1392-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x URIScheme) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1400 := z.EncBinary()
	_ = yym1400
	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
	yym1401 := z.DecBinary()
	_ = yym1401
	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 {
		yym1402 := z.EncBinary()
		_ = yym1402
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1403 := !z.EncBinary()
			yy2arr1403 := z.EncBasicHandle().StructToArray
			var yyq1403 [1]bool
			_, _, _ = yysep1403, yyq1403, yy2arr1403
			const yyr1403 bool = false
			yyq1403[0] = true
			var yynn1403 int
			if yyr1403 || yy2arr1403 {
				r.EncodeArrayStart(1)
			} else {
				yynn1403 = 0
				for _, b := range yyq1403 {
					if b {
						yynn1403++
					}
				}
				r.EncodeMapStart(yynn1403)
				yynn1403 = 0
			}
			if yyr1403 || yy2arr1403 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1403[0] {
					yy1405 := &x.Port
					yym1406 := z.EncBinary()
					_ = yym1406
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1405) {
					} else if !yym1406 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1405)
					} else {
						z.EncFallback(yy1405)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1403[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("port"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1407 := &x.Port
					yym1408 := z.EncBinary()
					_ = yym1408
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1407) {
					} else if !yym1408 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1407)
					} else {
						z.EncFallback(yy1407)
					}
				}
			}
			if yyr1403 || yy2arr1403 {
				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
	yym1409 := z.DecBinary()
	_ = yym1409
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1410 := r.ContainerType()
		if yyct1410 == codecSelferValueTypeMap1234 {
			yyl1410 := r.ReadMapStart()
			if yyl1410 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1410, d)
			}
		} else if yyct1410 == codecSelferValueTypeArray1234 {
			yyl1410 := r.ReadArrayStart()
			if yyl1410 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1410, 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 yys1411Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1411Slc
	var yyhl1411 bool = l >= 0
	for yyj1411 := 0; ; yyj1411++ {
		if yyhl1411 {
			if yyj1411 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1411Slc = r.DecodeBytes(yys1411Slc, true, true)
		yys1411 := string(yys1411Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1411 {
		case "port":
			if r.TryDecodeAsNil() {
				x.Port = pkg4_intstr.IntOrString{}
			} else {
				yyv1412 := &x.Port
				yym1413 := z.DecBinary()
				_ = yym1413
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1412) {
				} else if !yym1413 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1412)
				} else {
					z.DecFallback(yyv1412, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1411)
		} // end switch yys1411
	} // end for yyj1411
	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 yyj1414 int
	var yyb1414 bool
	var yyhl1414 bool = l >= 0
	yyj1414++
	if yyhl1414 {
		yyb1414 = yyj1414 > l
	} else {
		yyb1414 = r.CheckBreak()
	}
	if yyb1414 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = pkg4_intstr.IntOrString{}
	} else {
		yyv1415 := &x.Port
		yym1416 := z.DecBinary()
		_ = yym1416
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1415) {
		} else if !yym1416 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1415)
		} else {
			z.DecFallback(yyv1415, false)
		}
	}
	for {
		yyj1414++
		if yyhl1414 {
			yyb1414 = yyj1414 > l
		} else {
			yyb1414 = r.CheckBreak()
		}
		if yyb1414 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1414-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 {
		yym1417 := z.EncBinary()
		_ = yym1417
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1418 := !z.EncBinary()
			yy2arr1418 := z.EncBasicHandle().StructToArray
			var yyq1418 [1]bool
			_, _, _ = yysep1418, yyq1418, yy2arr1418
			const yyr1418 bool = false
			yyq1418[0] = len(x.Command) != 0
			var yynn1418 int
			if yyr1418 || yy2arr1418 {
				r.EncodeArrayStart(1)
			} else {
				yynn1418 = 0
				for _, b := range yyq1418 {
					if b {
						yynn1418++
					}
				}
				r.EncodeMapStart(yynn1418)
				yynn1418 = 0
			}
			if yyr1418 || yy2arr1418 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1418[0] {
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1420 := z.EncBinary()
						_ = yym1420
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1418[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("command"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1421 := z.EncBinary()
						_ = yym1421
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				}
			}
			if yyr1418 || yy2arr1418 {
				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
	yym1422 := z.DecBinary()
	_ = yym1422
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1423 := r.ContainerType()
		if yyct1423 == codecSelferValueTypeMap1234 {
			yyl1423 := r.ReadMapStart()
			if yyl1423 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1423, d)
			}
		} else if yyct1423 == codecSelferValueTypeArray1234 {
			yyl1423 := r.ReadArrayStart()
			if yyl1423 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1423, 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 yys1424Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1424Slc
	var yyhl1424 bool = l >= 0
	for yyj1424 := 0; ; yyj1424++ {
		if yyhl1424 {
			if yyj1424 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1424Slc = r.DecodeBytes(yys1424Slc, true, true)
		yys1424 := string(yys1424Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1424 {
		case "command":
			if r.TryDecodeAsNil() {
				x.Command = nil
			} else {
				yyv1425 := &x.Command
				yym1426 := z.DecBinary()
				_ = yym1426
				if false {
				} else {
					z.F.DecSliceStringX(yyv1425, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1424)
		} // end switch yys1424
	} // end for yyj1424
	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 yyj1427 int
	var yyb1427 bool
	var yyhl1427 bool = l >= 0
	yyj1427++
	if yyhl1427 {
		yyb1427 = yyj1427 > l
	} else {
		yyb1427 = r.CheckBreak()
	}
	if yyb1427 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Command = nil
	} else {
		yyv1428 := &x.Command
		yym1429 := z.DecBinary()
		_ = yym1429
		if false {
		} else {
			z.F.DecSliceStringX(yyv1428, false, d)
		}
	}
	for {
		yyj1427++
		if yyhl1427 {
			yyb1427 = yyj1427 > l
		} else {
			yyb1427 = r.CheckBreak()
		}
		if yyb1427 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1427-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 {
		yym1430 := z.EncBinary()
		_ = yym1430
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1431 := !z.EncBinary()
			yy2arr1431 := z.EncBasicHandle().StructToArray
			var yyq1431 [8]bool
			_, _, _ = yysep1431, yyq1431, yy2arr1431
			const yyr1431 bool = false
			yyq1431[0] = x.Handler.Exec != nil && x.Exec != nil
			yyq1431[1] = x.Handler.HTTPGet != nil && x.HTTPGet != nil
			yyq1431[2] = x.Handler.TCPSocket != nil && x.TCPSocket != nil
			yyq1431[3] = x.InitialDelaySeconds != 0
			yyq1431[4] = x.TimeoutSeconds != 0
			yyq1431[5] = x.PeriodSeconds != 0
			yyq1431[6] = x.SuccessThreshold != 0
			yyq1431[7] = x.FailureThreshold != 0
			var yynn1431 int
			if yyr1431 || yy2arr1431 {
				r.EncodeArrayStart(8)
			} else {
				yynn1431 = 0
				for _, b := range yyq1431 {
					if b {
						yynn1431++
					}
				}
				r.EncodeMapStart(yynn1431)
				yynn1431 = 0
			}
			var yyn1432 bool
			if x.Handler.Exec == nil {
				yyn1432 = true
				goto LABEL1432
			}
		LABEL1432:
			if yyr1431 || yy2arr1431 {
				if yyn1432 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq1431[0] {
						if x.Exec == nil {
							r.EncodeNil()
						} else {
							x.Exec.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq1431[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("exec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn1432 {
						r.EncodeNil()
					} else {
						if x.Exec == nil {
							r.EncodeNil()
						} else {
							x.Exec.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn1433 bool
			if x.Handler.HTTPGet == nil {
				yyn1433 = true
				goto LABEL1433
			}
		LABEL1433:
			if yyr1431 || yy2arr1431 {
				if yyn1433 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq1431[1] {
						if x.HTTPGet == nil {
							r.EncodeNil()
						} else {
							x.HTTPGet.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq1431[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("httpGet"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn1433 {
						r.EncodeNil()
					} else {
						if x.HTTPGet == nil {
							r.EncodeNil()
						} else {
							x.HTTPGet.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn1434 bool
			if x.Handler.TCPSocket == nil {
				yyn1434 = true
				goto LABEL1434
			}
		LABEL1434:
			if yyr1431 || yy2arr1431 {
				if yyn1434 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq1431[2] {
						if x.TCPSocket == nil {
							r.EncodeNil()
						} else {
							x.TCPSocket.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq1431[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("tcpSocket"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn1434 {
						r.EncodeNil()
					} else {
						if x.TCPSocket == nil {
							r.EncodeNil()
						} else {
							x.TCPSocket.CodecEncodeSelf(e)
						}
					}
				}
			}
			if yyr1431 || yy2arr1431 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1431[3] {
					yym1436 := z.EncBinary()
					_ = yym1436
					if false {
					} else {
						r.EncodeInt(int64(x.InitialDelaySeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1431[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("initialDelaySeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1437 := z.EncBinary()
					_ = yym1437
					if false {
					} else {
						r.EncodeInt(int64(x.InitialDelaySeconds))
					}
				}
			}
			if yyr1431 || yy2arr1431 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1431[4] {
					yym1439 := z.EncBinary()
					_ = yym1439
					if false {
					} else {
						r.EncodeInt(int64(x.TimeoutSeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1431[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("timeoutSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1440 := z.EncBinary()
					_ = yym1440
					if false {
					} else {
						r.EncodeInt(int64(x.TimeoutSeconds))
					}
				}
			}
			if yyr1431 || yy2arr1431 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1431[5] {
					yym1442 := z.EncBinary()
					_ = yym1442
					if false {
					} else {
						r.EncodeInt(int64(x.PeriodSeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1431[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("periodSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1443 := z.EncBinary()
					_ = yym1443
					if false {
					} else {
						r.EncodeInt(int64(x.PeriodSeconds))
					}
				}
			}
			if yyr1431 || yy2arr1431 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1431[6] {
					yym1445 := z.EncBinary()
					_ = yym1445
					if false {
					} else {
						r.EncodeInt(int64(x.SuccessThreshold))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1431[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("successThreshold"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1446 := z.EncBinary()
					_ = yym1446
					if false {
					} else {
						r.EncodeInt(int64(x.SuccessThreshold))
					}
				}
			}
			if yyr1431 || yy2arr1431 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1431[7] {
					yym1448 := z.EncBinary()
					_ = yym1448
					if false {
					} else {
						r.EncodeInt(int64(x.FailureThreshold))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1431[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("failureThreshold"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1449 := z.EncBinary()
					_ = yym1449
					if false {
					} else {
						r.EncodeInt(int64(x.FailureThreshold))
					}
				}
			}
			if yyr1431 || yy2arr1431 {
				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
	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 *Probe) 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 "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, yys1452)
		} // end switch yys1452
	} // end for yyj1452
	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 yyj1461 int
	var yyb1461 bool
	var yyhl1461 bool = l >= 0
	if x.Handler.Exec == nil {
		x.Handler.Exec = new(ExecAction)
	}
	yyj1461++
	if yyhl1461 {
		yyb1461 = yyj1461 > l
	} else {
		yyb1461 = r.CheckBreak()
	}
	if yyb1461 {
		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)
	}
	yyj1461++
	if yyhl1461 {
		yyb1461 = yyj1461 > l
	} else {
		yyb1461 = r.CheckBreak()
	}
	if yyb1461 {
		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)
	}
	yyj1461++
	if yyhl1461 {
		yyb1461 = yyj1461 > l
	} else {
		yyb1461 = r.CheckBreak()
	}
	if yyb1461 {
		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)
	}
	yyj1461++
	if yyhl1461 {
		yyb1461 = yyj1461 > l
	} else {
		yyb1461 = r.CheckBreak()
	}
	if yyb1461 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.InitialDelaySeconds = 0
	} else {
		x.InitialDelaySeconds = int32(r.DecodeInt(32))
	}
	yyj1461++
	if yyhl1461 {
		yyb1461 = yyj1461 > l
	} else {
		yyb1461 = r.CheckBreak()
	}
	if yyb1461 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TimeoutSeconds = 0
	} else {
		x.TimeoutSeconds = int32(r.DecodeInt(32))
	}
	yyj1461++
	if yyhl1461 {
		yyb1461 = yyj1461 > l
	} else {
		yyb1461 = r.CheckBreak()
	}
	if yyb1461 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PeriodSeconds = 0
	} else {
		x.PeriodSeconds = int32(r.DecodeInt(32))
	}
	yyj1461++
	if yyhl1461 {
		yyb1461 = yyj1461 > l
	} else {
		yyb1461 = r.CheckBreak()
	}
	if yyb1461 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SuccessThreshold = 0
	} else {
		x.SuccessThreshold = int32(r.DecodeInt(32))
	}
	yyj1461++
	if yyhl1461 {
		yyb1461 = yyj1461 > l
	} else {
		yyb1461 = r.CheckBreak()
	}
	if yyb1461 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FailureThreshold = 0
	} else {
		x.FailureThreshold = int32(r.DecodeInt(32))
	}
	for {
		yyj1461++
		if yyhl1461 {
			yyb1461 = yyj1461 > l
		} else {
			yyb1461 = r.CheckBreak()
		}
		if yyb1461 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1461-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PullPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1470 := z.EncBinary()
	_ = yym1470
	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
	yym1471 := z.DecBinary()
	_ = yym1471
	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
	yym1472 := z.EncBinary()
	_ = yym1472
	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
	yym1473 := z.DecBinary()
	_ = yym1473
	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 {
		yym1474 := z.EncBinary()
		_ = yym1474
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1475 := !z.EncBinary()
			yy2arr1475 := z.EncBasicHandle().StructToArray
			var yyq1475 [2]bool
			_, _, _ = yysep1475, yyq1475, yy2arr1475
			const yyr1475 bool = false
			yyq1475[0] = len(x.Add) != 0
			yyq1475[1] = len(x.Drop) != 0
			var yynn1475 int
			if yyr1475 || yy2arr1475 {
				r.EncodeArrayStart(2)
			} else {
				yynn1475 = 0
				for _, b := range yyq1475 {
					if b {
						yynn1475++
					}
				}
				r.EncodeMapStart(yynn1475)
				yynn1475 = 0
			}
			if yyr1475 || yy2arr1475 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1475[0] {
					if x.Add == nil {
						r.EncodeNil()
					} else {
						yym1477 := z.EncBinary()
						_ = yym1477
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Add), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1475[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("add"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Add == nil {
						r.EncodeNil()
					} else {
						yym1478 := z.EncBinary()
						_ = yym1478
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Add), e)
						}
					}
				}
			}
			if yyr1475 || yy2arr1475 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1475[1] {
					if x.Drop == nil {
						r.EncodeNil()
					} else {
						yym1480 := z.EncBinary()
						_ = yym1480
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Drop), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1475[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("drop"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Drop == nil {
						r.EncodeNil()
					} else {
						yym1481 := z.EncBinary()
						_ = yym1481
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Drop), e)
						}
					}
				}
			}
			if yyr1475 || yy2arr1475 {
				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
	yym1482 := z.DecBinary()
	_ = yym1482
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1483 := r.ContainerType()
		if yyct1483 == codecSelferValueTypeMap1234 {
			yyl1483 := r.ReadMapStart()
			if yyl1483 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1483, d)
			}
		} else if yyct1483 == codecSelferValueTypeArray1234 {
			yyl1483 := r.ReadArrayStart()
			if yyl1483 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1483, 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 yys1484Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1484Slc
	var yyhl1484 bool = l >= 0
	for yyj1484 := 0; ; yyj1484++ {
		if yyhl1484 {
			if yyj1484 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1484Slc = r.DecodeBytes(yys1484Slc, true, true)
		yys1484 := string(yys1484Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1484 {
		case "add":
			if r.TryDecodeAsNil() {
				x.Add = nil
			} else {
				yyv1485 := &x.Add
				yym1486 := z.DecBinary()
				_ = yym1486
				if false {
				} else {
					h.decSliceCapability((*[]Capability)(yyv1485), d)
				}
			}
		case "drop":
			if r.TryDecodeAsNil() {
				x.Drop = nil
			} else {
				yyv1487 := &x.Drop
				yym1488 := z.DecBinary()
				_ = yym1488
				if false {
				} else {
					h.decSliceCapability((*[]Capability)(yyv1487), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1484)
		} // end switch yys1484
	} // end for yyj1484
	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 yyj1489 int
	var yyb1489 bool
	var yyhl1489 bool = l >= 0
	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.Add = nil
	} else {
		yyv1490 := &x.Add
		yym1491 := z.DecBinary()
		_ = yym1491
		if false {
		} else {
			h.decSliceCapability((*[]Capability)(yyv1490), 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.Drop = nil
	} else {
		yyv1492 := &x.Drop
		yym1493 := z.DecBinary()
		_ = yym1493
		if false {
		} else {
			h.decSliceCapability((*[]Capability)(yyv1492), d)
		}
	}
	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 *ResourceRequirements) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1494 := z.EncBinary()
		_ = yym1494
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1495 := !z.EncBinary()
			yy2arr1495 := z.EncBasicHandle().StructToArray
			var yyq1495 [2]bool
			_, _, _ = yysep1495, yyq1495, yy2arr1495
			const yyr1495 bool = false
			yyq1495[0] = len(x.Limits) != 0
			yyq1495[1] = len(x.Requests) != 0
			var yynn1495 int
			if yyr1495 || yy2arr1495 {
				r.EncodeArrayStart(2)
			} else {
				yynn1495 = 0
				for _, b := range yyq1495 {
					if b {
						yynn1495++
					}
				}
				r.EncodeMapStart(yynn1495)
				yynn1495 = 0
			}
			if yyr1495 || yy2arr1495 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1495[0] {
					if x.Limits == nil {
						r.EncodeNil()
					} else {
						x.Limits.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1495[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 yyr1495 || yy2arr1495 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1495[1] {
					if x.Requests == nil {
						r.EncodeNil()
					} else {
						x.Requests.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1495[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 yyr1495 || yy2arr1495 {
				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
	yym1498 := z.DecBinary()
	_ = yym1498
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1499 := r.ContainerType()
		if yyct1499 == codecSelferValueTypeMap1234 {
			yyl1499 := r.ReadMapStart()
			if yyl1499 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1499, d)
			}
		} else if yyct1499 == codecSelferValueTypeArray1234 {
			yyl1499 := r.ReadArrayStart()
			if yyl1499 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1499, 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 yys1500Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1500Slc
	var yyhl1500 bool = l >= 0
	for yyj1500 := 0; ; yyj1500++ {
		if yyhl1500 {
			if yyj1500 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1500Slc = r.DecodeBytes(yys1500Slc, true, true)
		yys1500 := string(yys1500Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1500 {
		case "limits":
			if r.TryDecodeAsNil() {
				x.Limits = nil
			} else {
				yyv1501 := &x.Limits
				yyv1501.CodecDecodeSelf(d)
			}
		case "requests":
			if r.TryDecodeAsNil() {
				x.Requests = nil
			} else {
				yyv1502 := &x.Requests
				yyv1502.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1500)
		} // end switch yys1500
	} // end for yyj1500
	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 yyj1503 int
	var yyb1503 bool
	var yyhl1503 bool = l >= 0
	yyj1503++
	if yyhl1503 {
		yyb1503 = yyj1503 > l
	} else {
		yyb1503 = r.CheckBreak()
	}
	if yyb1503 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Limits = nil
	} else {
		yyv1504 := &x.Limits
		yyv1504.CodecDecodeSelf(d)
	}
	yyj1503++
	if yyhl1503 {
		yyb1503 = yyj1503 > l
	} else {
		yyb1503 = r.CheckBreak()
	}
	if yyb1503 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Requests = nil
	} else {
		yyv1505 := &x.Requests
		yyv1505.CodecDecodeSelf(d)
	}
	for {
		yyj1503++
		if yyhl1503 {
			yyb1503 = yyj1503 > l
		} else {
			yyb1503 = r.CheckBreak()
		}
		if yyb1503 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1503-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 {
		yym1506 := z.EncBinary()
		_ = yym1506
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1507 := !z.EncBinary()
			yy2arr1507 := z.EncBasicHandle().StructToArray
			var yyq1507 [18]bool
			_, _, _ = yysep1507, yyq1507, yy2arr1507
			const yyr1507 bool = false
			yyq1507[2] = len(x.Command) != 0
			yyq1507[3] = len(x.Args) != 0
			yyq1507[4] = x.WorkingDir != ""
			yyq1507[5] = len(x.Ports) != 0
			yyq1507[6] = len(x.Env) != 0
			yyq1507[7] = true
			yyq1507[8] = len(x.VolumeMounts) != 0
			yyq1507[9] = x.LivenessProbe != nil
			yyq1507[10] = x.ReadinessProbe != nil
			yyq1507[11] = x.Lifecycle != nil
			yyq1507[12] = x.TerminationMessagePath != ""
			yyq1507[14] = x.SecurityContext != nil
			yyq1507[15] = x.Stdin != false
			yyq1507[16] = x.StdinOnce != false
			yyq1507[17] = x.TTY != false
			var yynn1507 int
			if yyr1507 || yy2arr1507 {
				r.EncodeArrayStart(18)
			} else {
				yynn1507 = 3
				for _, b := range yyq1507 {
					if b {
						yynn1507++
					}
				}
				r.EncodeMapStart(yynn1507)
				yynn1507 = 0
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1509 := z.EncBinary()
				_ = yym1509
				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)
				yym1510 := z.EncBinary()
				_ = yym1510
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1512 := z.EncBinary()
				_ = yym1512
				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)
				yym1513 := z.EncBinary()
				_ = yym1513
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Image))
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[2] {
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1515 := z.EncBinary()
						_ = yym1515
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1507[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("command"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1516 := z.EncBinary()
						_ = yym1516
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[3] {
					if x.Args == nil {
						r.EncodeNil()
					} else {
						yym1518 := z.EncBinary()
						_ = yym1518
						if false {
						} else {
							z.F.EncSliceStringV(x.Args, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1507[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("args"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Args == nil {
						r.EncodeNil()
					} else {
						yym1519 := z.EncBinary()
						_ = yym1519
						if false {
						} else {
							z.F.EncSliceStringV(x.Args, false, e)
						}
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[4] {
					yym1521 := z.EncBinary()
					_ = yym1521
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.WorkingDir))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1507[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("workingDir"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1522 := z.EncBinary()
					_ = yym1522
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.WorkingDir))
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[5] {
					if x.Ports == nil {
						r.EncodeNil()
					} else {
						yym1524 := z.EncBinary()
						_ = yym1524
						if false {
						} else {
							h.encSliceContainerPort(([]ContainerPort)(x.Ports), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1507[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("ports"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Ports == nil {
						r.EncodeNil()
					} else {
						yym1525 := z.EncBinary()
						_ = yym1525
						if false {
						} else {
							h.encSliceContainerPort(([]ContainerPort)(x.Ports), e)
						}
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[6] {
					if x.Env == nil {
						r.EncodeNil()
					} else {
						yym1527 := z.EncBinary()
						_ = yym1527
						if false {
						} else {
							h.encSliceEnvVar(([]EnvVar)(x.Env), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1507[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("env"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Env == nil {
						r.EncodeNil()
					} else {
						yym1528 := z.EncBinary()
						_ = yym1528
						if false {
						} else {
							h.encSliceEnvVar(([]EnvVar)(x.Env), e)
						}
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[7] {
					yy1530 := &x.Resources
					yy1530.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1507[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resources"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1531 := &x.Resources
					yy1531.CodecEncodeSelf(e)
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[8] {
					if x.VolumeMounts == nil {
						r.EncodeNil()
					} else {
						yym1533 := z.EncBinary()
						_ = yym1533
						if false {
						} else {
							h.encSliceVolumeMount(([]VolumeMount)(x.VolumeMounts), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1507[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("volumeMounts"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.VolumeMounts == nil {
						r.EncodeNil()
					} else {
						yym1534 := z.EncBinary()
						_ = yym1534
						if false {
						} else {
							h.encSliceVolumeMount(([]VolumeMount)(x.VolumeMounts), e)
						}
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[9] {
					if x.LivenessProbe == nil {
						r.EncodeNil()
					} else {
						x.LivenessProbe.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1507[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 yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[10] {
					if x.ReadinessProbe == nil {
						r.EncodeNil()
					} else {
						x.ReadinessProbe.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1507[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 yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[11] {
					if x.Lifecycle == nil {
						r.EncodeNil()
					} else {
						x.Lifecycle.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1507[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 yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[12] {
					yym1539 := z.EncBinary()
					_ = yym1539
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TerminationMessagePath))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1507[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("terminationMessagePath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1540 := z.EncBinary()
					_ = yym1540
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TerminationMessagePath))
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				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 yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[14] {
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1507[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 yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[15] {
					yym1544 := z.EncBinary()
					_ = yym1544
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1507[15] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdin"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1545 := z.EncBinary()
					_ = yym1545
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[16] {
					yym1547 := z.EncBinary()
					_ = yym1547
					if false {
					} else {
						r.EncodeBool(bool(x.StdinOnce))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1507[16] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdinOnce"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1548 := z.EncBinary()
					_ = yym1548
					if false {
					} else {
						r.EncodeBool(bool(x.StdinOnce))
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[17] {
					yym1550 := z.EncBinary()
					_ = yym1550
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1507[17] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("tty"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1551 := z.EncBinary()
					_ = yym1551
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				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
	yym1552 := z.DecBinary()
	_ = yym1552
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1553 := r.ContainerType()
		if yyct1553 == codecSelferValueTypeMap1234 {
			yyl1553 := r.ReadMapStart()
			if yyl1553 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1553, d)
			}
		} else if yyct1553 == codecSelferValueTypeArray1234 {
			yyl1553 := r.ReadArrayStart()
			if yyl1553 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1553, 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 yys1554Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1554Slc
	var yyhl1554 bool = l >= 0
	for yyj1554 := 0; ; yyj1554++ {
		if yyhl1554 {
			if yyj1554 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1554Slc = r.DecodeBytes(yys1554Slc, true, true)
		yys1554 := string(yys1554Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1554 {
		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 {
				yyv1557 := &x.Command
				yym1558 := z.DecBinary()
				_ = yym1558
				if false {
				} else {
					z.F.DecSliceStringX(yyv1557, false, d)
				}
			}
		case "args":
			if r.TryDecodeAsNil() {
				x.Args = nil
			} else {
				yyv1559 := &x.Args
				yym1560 := z.DecBinary()
				_ = yym1560
				if false {
				} else {
					z.F.DecSliceStringX(yyv1559, false, d)
				}
			}
		case "workingDir":
			if r.TryDecodeAsNil() {
				x.WorkingDir = ""
			} else {
				x.WorkingDir = string(r.DecodeString())
			}
		case "ports":
			if r.TryDecodeAsNil() {
				x.Ports = nil
			} else {
				yyv1562 := &x.Ports
				yym1563 := z.DecBinary()
				_ = yym1563
				if false {
				} else {
					h.decSliceContainerPort((*[]ContainerPort)(yyv1562), d)
				}
			}
		case "env":
			if r.TryDecodeAsNil() {
				x.Env = nil
			} else {
				yyv1564 := &x.Env
				yym1565 := z.DecBinary()
				_ = yym1565
				if false {
				} else {
					h.decSliceEnvVar((*[]EnvVar)(yyv1564), d)
				}
			}
		case "resources":
			if r.TryDecodeAsNil() {
				x.Resources = ResourceRequirements{}
			} else {
				yyv1566 := &x.Resources
				yyv1566.CodecDecodeSelf(d)
			}
		case "volumeMounts":
			if r.TryDecodeAsNil() {
				x.VolumeMounts = nil
			} else {
				yyv1567 := &x.VolumeMounts
				yym1568 := z.DecBinary()
				_ = yym1568
				if false {
				} else {
					h.decSliceVolumeMount((*[]VolumeMount)(yyv1567), 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, yys1554)
		} // end switch yys1554
	} // end for yyj1554
	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 yyj1578 int
	var yyb1578 bool
	var yyhl1578 bool = l >= 0
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Image = ""
	} else {
		x.Image = string(r.DecodeString())
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Command = nil
	} else {
		yyv1581 := &x.Command
		yym1582 := z.DecBinary()
		_ = yym1582
		if false {
		} else {
			z.F.DecSliceStringX(yyv1581, false, d)
		}
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Args = nil
	} else {
		yyv1583 := &x.Args
		yym1584 := z.DecBinary()
		_ = yym1584
		if false {
		} else {
			z.F.DecSliceStringX(yyv1583, false, d)
		}
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.WorkingDir = ""
	} else {
		x.WorkingDir = string(r.DecodeString())
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ports = nil
	} else {
		yyv1586 := &x.Ports
		yym1587 := z.DecBinary()
		_ = yym1587
		if false {
		} else {
			h.decSliceContainerPort((*[]ContainerPort)(yyv1586), d)
		}
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Env = nil
	} else {
		yyv1588 := &x.Env
		yym1589 := z.DecBinary()
		_ = yym1589
		if false {
		} else {
			h.decSliceEnvVar((*[]EnvVar)(yyv1588), d)
		}
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Resources = ResourceRequirements{}
	} else {
		yyv1590 := &x.Resources
		yyv1590.CodecDecodeSelf(d)
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumeMounts = nil
	} else {
		yyv1591 := &x.VolumeMounts
		yym1592 := z.DecBinary()
		_ = yym1592
		if false {
		} else {
			h.decSliceVolumeMount((*[]VolumeMount)(yyv1591), d)
		}
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		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)
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		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)
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		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)
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TerminationMessagePath = ""
	} else {
		x.TerminationMessagePath = string(r.DecodeString())
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ImagePullPolicy = ""
	} else {
		x.ImagePullPolicy = PullPolicy(r.DecodeString())
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		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)
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdin = false
	} else {
		x.Stdin = bool(r.DecodeBool())
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.StdinOnce = false
	} else {
		x.StdinOnce = bool(r.DecodeBool())
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TTY = false
	} else {
		x.TTY = bool(r.DecodeBool())
	}
	for {
		yyj1578++
		if yyhl1578 {
			yyb1578 = yyj1578 > l
		} else {
			yyb1578 = r.CheckBreak()
		}
		if yyb1578 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1578-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 {
		yym1602 := z.EncBinary()
		_ = yym1602
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1603 := !z.EncBinary()
			yy2arr1603 := z.EncBasicHandle().StructToArray
			var yyq1603 [3]bool
			_, _, _ = yysep1603, yyq1603, yy2arr1603
			const yyr1603 bool = false
			yyq1603[0] = x.Exec != nil
			yyq1603[1] = x.HTTPGet != nil
			yyq1603[2] = x.TCPSocket != nil
			var yynn1603 int
			if yyr1603 || yy2arr1603 {
				r.EncodeArrayStart(3)
			} else {
				yynn1603 = 0
				for _, b := range yyq1603 {
					if b {
						yynn1603++
					}
				}
				r.EncodeMapStart(yynn1603)
				yynn1603 = 0
			}
			if yyr1603 || yy2arr1603 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1603[0] {
					if x.Exec == nil {
						r.EncodeNil()
					} else {
						x.Exec.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1603[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 yyr1603 || yy2arr1603 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1603[1] {
					if x.HTTPGet == nil {
						r.EncodeNil()
					} else {
						x.HTTPGet.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1603[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 yyr1603 || yy2arr1603 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1603[2] {
					if x.TCPSocket == nil {
						r.EncodeNil()
					} else {
						x.TCPSocket.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1603[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 yyr1603 || yy2arr1603 {
				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
	yym1607 := z.DecBinary()
	_ = yym1607
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1608 := r.ContainerType()
		if yyct1608 == codecSelferValueTypeMap1234 {
			yyl1608 := r.ReadMapStart()
			if yyl1608 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1608, d)
			}
		} else if yyct1608 == codecSelferValueTypeArray1234 {
			yyl1608 := r.ReadArrayStart()
			if yyl1608 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1608, 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 yys1609Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1609Slc
	var yyhl1609 bool = l >= 0
	for yyj1609 := 0; ; yyj1609++ {
		if yyhl1609 {
			if yyj1609 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1609Slc = r.DecodeBytes(yys1609Slc, true, true)
		yys1609 := string(yys1609Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1609 {
		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, yys1609)
		} // end switch yys1609
	} // end for yyj1609
	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 yyj1613 int
	var yyb1613 bool
	var yyhl1613 bool = l >= 0
	yyj1613++
	if yyhl1613 {
		yyb1613 = yyj1613 > l
	} else {
		yyb1613 = r.CheckBreak()
	}
	if yyb1613 {
		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)
	}
	yyj1613++
	if yyhl1613 {
		yyb1613 = yyj1613 > l
	} else {
		yyb1613 = r.CheckBreak()
	}
	if yyb1613 {
		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)
	}
	yyj1613++
	if yyhl1613 {
		yyb1613 = yyj1613 > l
	} else {
		yyb1613 = r.CheckBreak()
	}
	if yyb1613 {
		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 {
		yyj1613++
		if yyhl1613 {
			yyb1613 = yyj1613 > l
		} else {
			yyb1613 = r.CheckBreak()
		}
		if yyb1613 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1613-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 {
		yym1617 := z.EncBinary()
		_ = yym1617
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1618 := !z.EncBinary()
			yy2arr1618 := z.EncBasicHandle().StructToArray
			var yyq1618 [2]bool
			_, _, _ = yysep1618, yyq1618, yy2arr1618
			const yyr1618 bool = false
			yyq1618[0] = x.PostStart != nil
			yyq1618[1] = x.PreStop != nil
			var yynn1618 int
			if yyr1618 || yy2arr1618 {
				r.EncodeArrayStart(2)
			} else {
				yynn1618 = 0
				for _, b := range yyq1618 {
					if b {
						yynn1618++
					}
				}
				r.EncodeMapStart(yynn1618)
				yynn1618 = 0
			}
			if yyr1618 || yy2arr1618 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1618[0] {
					if x.PostStart == nil {
						r.EncodeNil()
					} else {
						x.PostStart.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1618[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 yyr1618 || yy2arr1618 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1618[1] {
					if x.PreStop == nil {
						r.EncodeNil()
					} else {
						x.PreStop.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1618[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 yyr1618 || yy2arr1618 {
				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
	yym1621 := z.DecBinary()
	_ = yym1621
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1622 := r.ContainerType()
		if yyct1622 == codecSelferValueTypeMap1234 {
			yyl1622 := r.ReadMapStart()
			if yyl1622 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1622, d)
			}
		} else if yyct1622 == codecSelferValueTypeArray1234 {
			yyl1622 := r.ReadArrayStart()
			if yyl1622 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1622, 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 yys1623Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1623Slc
	var yyhl1623 bool = l >= 0
	for yyj1623 := 0; ; yyj1623++ {
		if yyhl1623 {
			if yyj1623 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1623Slc = r.DecodeBytes(yys1623Slc, true, true)
		yys1623 := string(yys1623Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1623 {
		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, yys1623)
		} // end switch yys1623
	} // end for yyj1623
	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 yyj1626 int
	var yyb1626 bool
	var yyhl1626 bool = l >= 0
	yyj1626++
	if yyhl1626 {
		yyb1626 = yyj1626 > l
	} else {
		yyb1626 = r.CheckBreak()
	}
	if yyb1626 {
		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)
	}
	yyj1626++
	if yyhl1626 {
		yyb1626 = yyj1626 > l
	} else {
		yyb1626 = r.CheckBreak()
	}
	if yyb1626 {
		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 {
		yyj1626++
		if yyhl1626 {
			yyb1626 = yyj1626 > l
		} else {
			yyb1626 = r.CheckBreak()
		}
		if yyb1626 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1626-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x ConditionStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1629 := z.EncBinary()
	_ = yym1629
	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
	yym1630 := z.DecBinary()
	_ = yym1630
	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 {
		yym1631 := z.EncBinary()
		_ = yym1631
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1632 := !z.EncBinary()
			yy2arr1632 := z.EncBasicHandle().StructToArray
			var yyq1632 [2]bool
			_, _, _ = yysep1632, yyq1632, yy2arr1632
			const yyr1632 bool = false
			yyq1632[0] = x.Reason != ""
			yyq1632[1] = x.Message != ""
			var yynn1632 int
			if yyr1632 || yy2arr1632 {
				r.EncodeArrayStart(2)
			} else {
				yynn1632 = 0
				for _, b := range yyq1632 {
					if b {
						yynn1632++
					}
				}
				r.EncodeMapStart(yynn1632)
				yynn1632 = 0
			}
			if yyr1632 || yy2arr1632 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1632[0] {
					yym1634 := z.EncBinary()
					_ = yym1634
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1632[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1635 := z.EncBinary()
					_ = yym1635
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1632 || yy2arr1632 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1632[1] {
					yym1637 := z.EncBinary()
					_ = yym1637
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1632[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1638 := z.EncBinary()
					_ = yym1638
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr1632 || yy2arr1632 {
				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
	yym1639 := z.DecBinary()
	_ = yym1639
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1640 := r.ContainerType()
		if yyct1640 == codecSelferValueTypeMap1234 {
			yyl1640 := r.ReadMapStart()
			if yyl1640 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1640, d)
			}
		} else if yyct1640 == codecSelferValueTypeArray1234 {
			yyl1640 := r.ReadArrayStart()
			if yyl1640 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1640, 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 yys1641Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1641Slc
	var yyhl1641 bool = l >= 0
	for yyj1641 := 0; ; yyj1641++ {
		if yyhl1641 {
			if yyj1641 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1641Slc = r.DecodeBytes(yys1641Slc, true, true)
		yys1641 := string(yys1641Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1641 {
		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, yys1641)
		} // end switch yys1641
	} // end for yyj1641
	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 yyj1644 int
	var yyb1644 bool
	var yyhl1644 bool = l >= 0
	yyj1644++
	if yyhl1644 {
		yyb1644 = yyj1644 > l
	} else {
		yyb1644 = r.CheckBreak()
	}
	if yyb1644 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1644++
	if yyhl1644 {
		yyb1644 = yyj1644 > l
	} else {
		yyb1644 = r.CheckBreak()
	}
	if yyb1644 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj1644++
		if yyhl1644 {
			yyb1644 = yyj1644 > l
		} else {
			yyb1644 = r.CheckBreak()
		}
		if yyb1644 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1644-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 {
		yym1647 := z.EncBinary()
		_ = yym1647
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1648 := !z.EncBinary()
			yy2arr1648 := z.EncBasicHandle().StructToArray
			var yyq1648 [1]bool
			_, _, _ = yysep1648, yyq1648, yy2arr1648
			const yyr1648 bool = false
			yyq1648[0] = true
			var yynn1648 int
			if yyr1648 || yy2arr1648 {
				r.EncodeArrayStart(1)
			} else {
				yynn1648 = 0
				for _, b := range yyq1648 {
					if b {
						yynn1648++
					}
				}
				r.EncodeMapStart(yynn1648)
				yynn1648 = 0
			}
			if yyr1648 || yy2arr1648 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1648[0] {
					yy1650 := &x.StartedAt
					yym1651 := z.EncBinary()
					_ = yym1651
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1650) {
					} else if yym1651 {
						z.EncBinaryMarshal(yy1650)
					} else if !yym1651 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1650)
					} else {
						z.EncFallback(yy1650)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1648[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("startedAt"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1652 := &x.StartedAt
					yym1653 := z.EncBinary()
					_ = yym1653
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1652) {
					} else if yym1653 {
						z.EncBinaryMarshal(yy1652)
					} else if !yym1653 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1652)
					} else {
						z.EncFallback(yy1652)
					}
				}
			}
			if yyr1648 || yy2arr1648 {
				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
	yym1654 := z.DecBinary()
	_ = yym1654
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1655 := r.ContainerType()
		if yyct1655 == codecSelferValueTypeMap1234 {
			yyl1655 := r.ReadMapStart()
			if yyl1655 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1655, d)
			}
		} else if yyct1655 == codecSelferValueTypeArray1234 {
			yyl1655 := r.ReadArrayStart()
			if yyl1655 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1655, 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 yys1656Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1656Slc
	var yyhl1656 bool = l >= 0
	for yyj1656 := 0; ; yyj1656++ {
		if yyhl1656 {
			if yyj1656 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1656Slc = r.DecodeBytes(yys1656Slc, true, true)
		yys1656 := string(yys1656Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1656 {
		case "startedAt":
			if r.TryDecodeAsNil() {
				x.StartedAt = pkg2_unversioned.Time{}
			} else {
				yyv1657 := &x.StartedAt
				yym1658 := z.DecBinary()
				_ = yym1658
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1657) {
				} else if yym1658 {
					z.DecBinaryUnmarshal(yyv1657)
				} else if !yym1658 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1657)
				} else {
					z.DecFallback(yyv1657, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1656)
		} // end switch yys1656
	} // end for yyj1656
	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 yyj1659 int
	var yyb1659 bool
	var yyhl1659 bool = l >= 0
	yyj1659++
	if yyhl1659 {
		yyb1659 = yyj1659 > l
	} else {
		yyb1659 = r.CheckBreak()
	}
	if yyb1659 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.StartedAt = pkg2_unversioned.Time{}
	} else {
		yyv1660 := &x.StartedAt
		yym1661 := z.DecBinary()
		_ = yym1661
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1660) {
		} else if yym1661 {
			z.DecBinaryUnmarshal(yyv1660)
		} else if !yym1661 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1660)
		} else {
			z.DecFallback(yyv1660, false)
		}
	}
	for {
		yyj1659++
		if yyhl1659 {
			yyb1659 = yyj1659 > l
		} else {
			yyb1659 = r.CheckBreak()
		}
		if yyb1659 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1659-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 {
		yym1662 := z.EncBinary()
		_ = yym1662
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1663 := !z.EncBinary()
			yy2arr1663 := z.EncBasicHandle().StructToArray
			var yyq1663 [7]bool
			_, _, _ = yysep1663, yyq1663, yy2arr1663
			const yyr1663 bool = false
			yyq1663[1] = x.Signal != 0
			yyq1663[2] = x.Reason != ""
			yyq1663[3] = x.Message != ""
			yyq1663[4] = true
			yyq1663[5] = true
			yyq1663[6] = x.ContainerID != ""
			var yynn1663 int
			if yyr1663 || yy2arr1663 {
				r.EncodeArrayStart(7)
			} else {
				yynn1663 = 1
				for _, b := range yyq1663 {
					if b {
						yynn1663++
					}
				}
				r.EncodeMapStart(yynn1663)
				yynn1663 = 0
			}
			if yyr1663 || yy2arr1663 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1665 := z.EncBinary()
				_ = yym1665
				if false {
				} else {
					r.EncodeInt(int64(x.ExitCode))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("exitCode"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1666 := z.EncBinary()
				_ = yym1666
				if false {
				} else {
					r.EncodeInt(int64(x.ExitCode))
				}
			}
			if yyr1663 || yy2arr1663 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1663[1] {
					yym1668 := z.EncBinary()
					_ = yym1668
					if false {
					} else {
						r.EncodeInt(int64(x.Signal))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1663[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("signal"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1669 := z.EncBinary()
					_ = yym1669
					if false {
					} else {
						r.EncodeInt(int64(x.Signal))
					}
				}
			}
			if yyr1663 || yy2arr1663 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1663[2] {
					yym1671 := z.EncBinary()
					_ = yym1671
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1663[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1672 := z.EncBinary()
					_ = yym1672
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1663 || yy2arr1663 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1663[3] {
					yym1674 := z.EncBinary()
					_ = yym1674
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1663[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1675 := z.EncBinary()
					_ = yym1675
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr1663 || yy2arr1663 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1663[4] {
					yy1677 := &x.StartedAt
					yym1678 := z.EncBinary()
					_ = yym1678
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1677) {
					} else if yym1678 {
						z.EncBinaryMarshal(yy1677)
					} else if !yym1678 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1677)
					} else {
						z.EncFallback(yy1677)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1663[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("startedAt"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1679 := &x.StartedAt
					yym1680 := z.EncBinary()
					_ = yym1680
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1679) {
					} else if yym1680 {
						z.EncBinaryMarshal(yy1679)
					} else if !yym1680 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1679)
					} else {
						z.EncFallback(yy1679)
					}
				}
			}
			if yyr1663 || yy2arr1663 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1663[5] {
					yy1682 := &x.FinishedAt
					yym1683 := z.EncBinary()
					_ = yym1683
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1682) {
					} else if yym1683 {
						z.EncBinaryMarshal(yy1682)
					} else if !yym1683 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1682)
					} else {
						z.EncFallback(yy1682)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1663[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("finishedAt"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1684 := &x.FinishedAt
					yym1685 := z.EncBinary()
					_ = yym1685
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1684) {
					} else if yym1685 {
						z.EncBinaryMarshal(yy1684)
					} else if !yym1685 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1684)
					} else {
						z.EncFallback(yy1684)
					}
				}
			}
			if yyr1663 || yy2arr1663 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1663[6] {
					yym1687 := z.EncBinary()
					_ = yym1687
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1663[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("containerID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1688 := z.EncBinary()
					_ = yym1688
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				}
			}
			if yyr1663 || yy2arr1663 {
				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
	yym1689 := z.DecBinary()
	_ = yym1689
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1690 := r.ContainerType()
		if yyct1690 == codecSelferValueTypeMap1234 {
			yyl1690 := r.ReadMapStart()
			if yyl1690 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1690, d)
			}
		} else if yyct1690 == codecSelferValueTypeArray1234 {
			yyl1690 := r.ReadArrayStart()
			if yyl1690 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1690, 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 yys1691Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1691Slc
	var yyhl1691 bool = l >= 0
	for yyj1691 := 0; ; yyj1691++ {
		if yyhl1691 {
			if yyj1691 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1691Slc = r.DecodeBytes(yys1691Slc, true, true)
		yys1691 := string(yys1691Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1691 {
		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_unversioned.Time{}
			} else {
				yyv1696 := &x.StartedAt
				yym1697 := z.DecBinary()
				_ = yym1697
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1696) {
				} else if yym1697 {
					z.DecBinaryUnmarshal(yyv1696)
				} else if !yym1697 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1696)
				} else {
					z.DecFallback(yyv1696, false)
				}
			}
		case "finishedAt":
			if r.TryDecodeAsNil() {
				x.FinishedAt = pkg2_unversioned.Time{}
			} else {
				yyv1698 := &x.FinishedAt
				yym1699 := z.DecBinary()
				_ = yym1699
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1698) {
				} else if yym1699 {
					z.DecBinaryUnmarshal(yyv1698)
				} else if !yym1699 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1698)
				} else {
					z.DecFallback(yyv1698, false)
				}
			}
		case "containerID":
			if r.TryDecodeAsNil() {
				x.ContainerID = ""
			} else {
				x.ContainerID = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1691)
		} // end switch yys1691
	} // end for yyj1691
	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 yyj1701 int
	var yyb1701 bool
	var yyhl1701 bool = l >= 0
	yyj1701++
	if yyhl1701 {
		yyb1701 = yyj1701 > l
	} else {
		yyb1701 = r.CheckBreak()
	}
	if yyb1701 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ExitCode = 0
	} else {
		x.ExitCode = int32(r.DecodeInt(32))
	}
	yyj1701++
	if yyhl1701 {
		yyb1701 = yyj1701 > l
	} else {
		yyb1701 = r.CheckBreak()
	}
	if yyb1701 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Signal = 0
	} else {
		x.Signal = int32(r.DecodeInt(32))
	}
	yyj1701++
	if yyhl1701 {
		yyb1701 = yyj1701 > l
	} else {
		yyb1701 = r.CheckBreak()
	}
	if yyb1701 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1701++
	if yyhl1701 {
		yyb1701 = yyj1701 > l
	} else {
		yyb1701 = r.CheckBreak()
	}
	if yyb1701 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj1701++
	if yyhl1701 {
		yyb1701 = yyj1701 > l
	} else {
		yyb1701 = r.CheckBreak()
	}
	if yyb1701 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.StartedAt = pkg2_unversioned.Time{}
	} else {
		yyv1706 := &x.StartedAt
		yym1707 := z.DecBinary()
		_ = yym1707
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1706) {
		} else if yym1707 {
			z.DecBinaryUnmarshal(yyv1706)
		} else if !yym1707 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1706)
		} else {
			z.DecFallback(yyv1706, false)
		}
	}
	yyj1701++
	if yyhl1701 {
		yyb1701 = yyj1701 > l
	} else {
		yyb1701 = r.CheckBreak()
	}
	if yyb1701 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FinishedAt = pkg2_unversioned.Time{}
	} else {
		yyv1708 := &x.FinishedAt
		yym1709 := z.DecBinary()
		_ = yym1709
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1708) {
		} else if yym1709 {
			z.DecBinaryUnmarshal(yyv1708)
		} else if !yym1709 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1708)
		} else {
			z.DecFallback(yyv1708, false)
		}
	}
	yyj1701++
	if yyhl1701 {
		yyb1701 = yyj1701 > l
	} else {
		yyb1701 = r.CheckBreak()
	}
	if yyb1701 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerID = ""
	} else {
		x.ContainerID = string(r.DecodeString())
	}
	for {
		yyj1701++
		if yyhl1701 {
			yyb1701 = yyj1701 > l
		} else {
			yyb1701 = r.CheckBreak()
		}
		if yyb1701 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1701-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 {
		yym1711 := z.EncBinary()
		_ = yym1711
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1712 := !z.EncBinary()
			yy2arr1712 := z.EncBasicHandle().StructToArray
			var yyq1712 [3]bool
			_, _, _ = yysep1712, yyq1712, yy2arr1712
			const yyr1712 bool = false
			yyq1712[0] = x.Waiting != nil
			yyq1712[1] = x.Running != nil
			yyq1712[2] = x.Terminated != nil
			var yynn1712 int
			if yyr1712 || yy2arr1712 {
				r.EncodeArrayStart(3)
			} else {
				yynn1712 = 0
				for _, b := range yyq1712 {
					if b {
						yynn1712++
					}
				}
				r.EncodeMapStart(yynn1712)
				yynn1712 = 0
			}
			if yyr1712 || yy2arr1712 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1712[0] {
					if x.Waiting == nil {
						r.EncodeNil()
					} else {
						x.Waiting.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1712[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 yyr1712 || yy2arr1712 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1712[1] {
					if x.Running == nil {
						r.EncodeNil()
					} else {
						x.Running.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1712[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 yyr1712 || yy2arr1712 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1712[2] {
					if x.Terminated == nil {
						r.EncodeNil()
					} else {
						x.Terminated.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1712[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 yyr1712 || yy2arr1712 {
				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
	yym1716 := z.DecBinary()
	_ = yym1716
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1717 := r.ContainerType()
		if yyct1717 == codecSelferValueTypeMap1234 {
			yyl1717 := r.ReadMapStart()
			if yyl1717 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1717, d)
			}
		} else if yyct1717 == codecSelferValueTypeArray1234 {
			yyl1717 := r.ReadArrayStart()
			if yyl1717 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1717, 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 yys1718Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1718Slc
	var yyhl1718 bool = l >= 0
	for yyj1718 := 0; ; yyj1718++ {
		if yyhl1718 {
			if yyj1718 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1718Slc = r.DecodeBytes(yys1718Slc, true, true)
		yys1718 := string(yys1718Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1718 {
		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, yys1718)
		} // end switch yys1718
	} // end for yyj1718
	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 yyj1722 int
	var yyb1722 bool
	var yyhl1722 bool = l >= 0
	yyj1722++
	if yyhl1722 {
		yyb1722 = yyj1722 > l
	} else {
		yyb1722 = r.CheckBreak()
	}
	if yyb1722 {
		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)
	}
	yyj1722++
	if yyhl1722 {
		yyb1722 = yyj1722 > l
	} else {
		yyb1722 = r.CheckBreak()
	}
	if yyb1722 {
		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)
	}
	yyj1722++
	if yyhl1722 {
		yyb1722 = yyj1722 > l
	} else {
		yyb1722 = r.CheckBreak()
	}
	if yyb1722 {
		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 {
		yyj1722++
		if yyhl1722 {
			yyb1722 = yyj1722 > l
		} else {
			yyb1722 = r.CheckBreak()
		}
		if yyb1722 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1722-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 {
		yym1726 := z.EncBinary()
		_ = yym1726
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1727 := !z.EncBinary()
			yy2arr1727 := z.EncBasicHandle().StructToArray
			var yyq1727 [8]bool
			_, _, _ = yysep1727, yyq1727, yy2arr1727
			const yyr1727 bool = false
			yyq1727[1] = true
			yyq1727[2] = true
			yyq1727[7] = x.ContainerID != ""
			var yynn1727 int
			if yyr1727 || yy2arr1727 {
				r.EncodeArrayStart(8)
			} else {
				yynn1727 = 5
				for _, b := range yyq1727 {
					if b {
						yynn1727++
					}
				}
				r.EncodeMapStart(yynn1727)
				yynn1727 = 0
			}
			if yyr1727 || yy2arr1727 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1729 := z.EncBinary()
				_ = yym1729
				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)
				yym1730 := z.EncBinary()
				_ = yym1730
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1727 || yy2arr1727 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1727[1] {
					yy1732 := &x.State
					yy1732.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1727[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("state"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1733 := &x.State
					yy1733.CodecEncodeSelf(e)
				}
			}
			if yyr1727 || yy2arr1727 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1727[2] {
					yy1735 := &x.LastTerminationState
					yy1735.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1727[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastState"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1736 := &x.LastTerminationState
					yy1736.CodecEncodeSelf(e)
				}
			}
			if yyr1727 || yy2arr1727 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1738 := z.EncBinary()
				_ = yym1738
				if false {
				} else {
					r.EncodeBool(bool(x.Ready))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("ready"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1739 := z.EncBinary()
				_ = yym1739
				if false {
				} else {
					r.EncodeBool(bool(x.Ready))
				}
			}
			if yyr1727 || yy2arr1727 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1741 := z.EncBinary()
				_ = yym1741
				if false {
				} else {
					r.EncodeInt(int64(x.RestartCount))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("restartCount"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1742 := z.EncBinary()
				_ = yym1742
				if false {
				} else {
					r.EncodeInt(int64(x.RestartCount))
				}
			}
			if yyr1727 || yy2arr1727 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1744 := z.EncBinary()
				_ = yym1744
				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)
				yym1745 := z.EncBinary()
				_ = yym1745
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Image))
				}
			}
			if yyr1727 || yy2arr1727 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1747 := z.EncBinary()
				_ = yym1747
				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)
				yym1748 := z.EncBinary()
				_ = yym1748
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ImageID))
				}
			}
			if yyr1727 || yy2arr1727 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1727[7] {
					yym1750 := z.EncBinary()
					_ = yym1750
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1727[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("containerID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1751 := z.EncBinary()
					_ = yym1751
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				}
			}
			if yyr1727 || yy2arr1727 {
				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
	yym1752 := z.DecBinary()
	_ = yym1752
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1753 := r.ContainerType()
		if yyct1753 == codecSelferValueTypeMap1234 {
			yyl1753 := r.ReadMapStart()
			if yyl1753 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1753, d)
			}
		} else if yyct1753 == codecSelferValueTypeArray1234 {
			yyl1753 := r.ReadArrayStart()
			if yyl1753 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1753, 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 yys1754Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1754Slc
	var yyhl1754 bool = l >= 0
	for yyj1754 := 0; ; yyj1754++ {
		if yyhl1754 {
			if yyj1754 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1754Slc = r.DecodeBytes(yys1754Slc, true, true)
		yys1754 := string(yys1754Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1754 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "state":
			if r.TryDecodeAsNil() {
				x.State = ContainerState{}
			} else {
				yyv1756 := &x.State
				yyv1756.CodecDecodeSelf(d)
			}
		case "lastState":
			if r.TryDecodeAsNil() {
				x.LastTerminationState = ContainerState{}
			} else {
				yyv1757 := &x.LastTerminationState
				yyv1757.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, yys1754)
		} // end switch yys1754
	} // end for yyj1754
	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 yyj1763 int
	var yyb1763 bool
	var yyhl1763 bool = l >= 0
	yyj1763++
	if yyhl1763 {
		yyb1763 = yyj1763 > l
	} else {
		yyb1763 = r.CheckBreak()
	}
	if yyb1763 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1763++
	if yyhl1763 {
		yyb1763 = yyj1763 > l
	} else {
		yyb1763 = r.CheckBreak()
	}
	if yyb1763 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.State = ContainerState{}
	} else {
		yyv1765 := &x.State
		yyv1765.CodecDecodeSelf(d)
	}
	yyj1763++
	if yyhl1763 {
		yyb1763 = yyj1763 > l
	} else {
		yyb1763 = r.CheckBreak()
	}
	if yyb1763 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTerminationState = ContainerState{}
	} else {
		yyv1766 := &x.LastTerminationState
		yyv1766.CodecDecodeSelf(d)
	}
	yyj1763++
	if yyhl1763 {
		yyb1763 = yyj1763 > l
	} else {
		yyb1763 = r.CheckBreak()
	}
	if yyb1763 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ready = false
	} else {
		x.Ready = bool(r.DecodeBool())
	}
	yyj1763++
	if yyhl1763 {
		yyb1763 = yyj1763 > l
	} else {
		yyb1763 = r.CheckBreak()
	}
	if yyb1763 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RestartCount = 0
	} else {
		x.RestartCount = int32(r.DecodeInt(32))
	}
	yyj1763++
	if yyhl1763 {
		yyb1763 = yyj1763 > l
	} else {
		yyb1763 = r.CheckBreak()
	}
	if yyb1763 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Image = ""
	} else {
		x.Image = string(r.DecodeString())
	}
	yyj1763++
	if yyhl1763 {
		yyb1763 = yyj1763 > l
	} else {
		yyb1763 = r.CheckBreak()
	}
	if yyb1763 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ImageID = ""
	} else {
		x.ImageID = string(r.DecodeString())
	}
	yyj1763++
	if yyhl1763 {
		yyb1763 = yyj1763 > l
	} else {
		yyb1763 = r.CheckBreak()
	}
	if yyb1763 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerID = ""
	} else {
		x.ContainerID = string(r.DecodeString())
	}
	for {
		yyj1763++
		if yyhl1763 {
			yyb1763 = yyj1763 > l
		} else {
			yyb1763 = r.CheckBreak()
		}
		if yyb1763 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1763-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PodPhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1772 := z.EncBinary()
	_ = yym1772
	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
	yym1773 := z.DecBinary()
	_ = yym1773
	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
	yym1774 := z.EncBinary()
	_ = yym1774
	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
	yym1775 := z.DecBinary()
	_ = yym1775
	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 {
		yym1776 := z.EncBinary()
		_ = yym1776
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1777 := !z.EncBinary()
			yy2arr1777 := z.EncBasicHandle().StructToArray
			var yyq1777 [6]bool
			_, _, _ = yysep1777, yyq1777, yy2arr1777
			const yyr1777 bool = false
			yyq1777[2] = true
			yyq1777[3] = true
			yyq1777[4] = x.Reason != ""
			yyq1777[5] = x.Message != ""
			var yynn1777 int
			if yyr1777 || yy2arr1777 {
				r.EncodeArrayStart(6)
			} else {
				yynn1777 = 2
				for _, b := range yyq1777 {
					if b {
						yynn1777++
					}
				}
				r.EncodeMapStart(yynn1777)
				yynn1777 = 0
			}
			if yyr1777 || yy2arr1777 {
				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 yyr1777 || yy2arr1777 {
				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 yyr1777 || yy2arr1777 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1777[2] {
					yy1781 := &x.LastProbeTime
					yym1782 := z.EncBinary()
					_ = yym1782
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1781) {
					} else if yym1782 {
						z.EncBinaryMarshal(yy1781)
					} else if !yym1782 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1781)
					} else {
						z.EncFallback(yy1781)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1777[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastProbeTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1783 := &x.LastProbeTime
					yym1784 := z.EncBinary()
					_ = yym1784
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1783) {
					} else if yym1784 {
						z.EncBinaryMarshal(yy1783)
					} else if !yym1784 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1783)
					} else {
						z.EncFallback(yy1783)
					}
				}
			}
			if yyr1777 || yy2arr1777 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1777[3] {
					yy1786 := &x.LastTransitionTime
					yym1787 := z.EncBinary()
					_ = yym1787
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1786) {
					} else if yym1787 {
						z.EncBinaryMarshal(yy1786)
					} else if !yym1787 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1786)
					} else {
						z.EncFallback(yy1786)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1777[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastTransitionTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1788 := &x.LastTransitionTime
					yym1789 := z.EncBinary()
					_ = yym1789
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1788) {
					} else if yym1789 {
						z.EncBinaryMarshal(yy1788)
					} else if !yym1789 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1788)
					} else {
						z.EncFallback(yy1788)
					}
				}
			}
			if yyr1777 || yy2arr1777 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1777[4] {
					yym1791 := z.EncBinary()
					_ = yym1791
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1777[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1792 := z.EncBinary()
					_ = yym1792
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1777 || yy2arr1777 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1777[5] {
					yym1794 := z.EncBinary()
					_ = yym1794
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1777[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1795 := z.EncBinary()
					_ = yym1795
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr1777 || yy2arr1777 {
				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
	yym1796 := z.DecBinary()
	_ = yym1796
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1797 := r.ContainerType()
		if yyct1797 == codecSelferValueTypeMap1234 {
			yyl1797 := r.ReadMapStart()
			if yyl1797 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1797, d)
			}
		} else if yyct1797 == codecSelferValueTypeArray1234 {
			yyl1797 := r.ReadArrayStart()
			if yyl1797 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1797, 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 yys1798Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1798Slc
	var yyhl1798 bool = l >= 0
	for yyj1798 := 0; ; yyj1798++ {
		if yyhl1798 {
			if yyj1798 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1798Slc = r.DecodeBytes(yys1798Slc, true, true)
		yys1798 := string(yys1798Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1798 {
		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_unversioned.Time{}
			} else {
				yyv1801 := &x.LastProbeTime
				yym1802 := z.DecBinary()
				_ = yym1802
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1801) {
				} else if yym1802 {
					z.DecBinaryUnmarshal(yyv1801)
				} else if !yym1802 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1801)
				} else {
					z.DecFallback(yyv1801, false)
				}
			}
		case "lastTransitionTime":
			if r.TryDecodeAsNil() {
				x.LastTransitionTime = pkg2_unversioned.Time{}
			} else {
				yyv1803 := &x.LastTransitionTime
				yym1804 := z.DecBinary()
				_ = yym1804
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1803) {
				} else if yym1804 {
					z.DecBinaryUnmarshal(yyv1803)
				} else if !yym1804 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1803)
				} else {
					z.DecFallback(yyv1803, 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, yys1798)
		} // end switch yys1798
	} // end for yyj1798
	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 yyj1807 int
	var yyb1807 bool
	var yyhl1807 bool = l >= 0
	yyj1807++
	if yyhl1807 {
		yyb1807 = yyj1807 > l
	} else {
		yyb1807 = r.CheckBreak()
	}
	if yyb1807 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = PodConditionType(r.DecodeString())
	}
	yyj1807++
	if yyhl1807 {
		yyb1807 = yyj1807 > l
	} else {
		yyb1807 = r.CheckBreak()
	}
	if yyb1807 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj1807++
	if yyhl1807 {
		yyb1807 = yyj1807 > l
	} else {
		yyb1807 = r.CheckBreak()
	}
	if yyb1807 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastProbeTime = pkg2_unversioned.Time{}
	} else {
		yyv1810 := &x.LastProbeTime
		yym1811 := z.DecBinary()
		_ = yym1811
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1810) {
		} else if yym1811 {
			z.DecBinaryUnmarshal(yyv1810)
		} else if !yym1811 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1810)
		} else {
			z.DecFallback(yyv1810, false)
		}
	}
	yyj1807++
	if yyhl1807 {
		yyb1807 = yyj1807 > l
	} else {
		yyb1807 = r.CheckBreak()
	}
	if yyb1807 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTransitionTime = pkg2_unversioned.Time{}
	} else {
		yyv1812 := &x.LastTransitionTime
		yym1813 := z.DecBinary()
		_ = yym1813
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1812) {
		} else if yym1813 {
			z.DecBinaryUnmarshal(yyv1812)
		} else if !yym1813 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1812)
		} else {
			z.DecFallback(yyv1812, false)
		}
	}
	yyj1807++
	if yyhl1807 {
		yyb1807 = yyj1807 > l
	} else {
		yyb1807 = r.CheckBreak()
	}
	if yyb1807 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1807++
	if yyhl1807 {
		yyb1807 = yyj1807 > l
	} else {
		yyb1807 = r.CheckBreak()
	}
	if yyb1807 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj1807++
		if yyhl1807 {
			yyb1807 = yyj1807 > l
		} else {
			yyb1807 = r.CheckBreak()
		}
		if yyb1807 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1807-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x RestartPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1816 := z.EncBinary()
	_ = yym1816
	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
	yym1817 := z.DecBinary()
	_ = yym1817
	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 {
		yym1818 := z.EncBinary()
		_ = yym1818
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1819 := !z.EncBinary()
			yy2arr1819 := z.EncBasicHandle().StructToArray
			var yyq1819 [4]bool
			_, _, _ = yysep1819, yyq1819, yy2arr1819
			const yyr1819 bool = false
			yyq1819[0] = x.Kind != ""
			yyq1819[1] = x.APIVersion != ""
			yyq1819[2] = true
			var yynn1819 int
			if yyr1819 || yy2arr1819 {
				r.EncodeArrayStart(4)
			} else {
				yynn1819 = 1
				for _, b := range yyq1819 {
					if b {
						yynn1819++
					}
				}
				r.EncodeMapStart(yynn1819)
				yynn1819 = 0
			}
			if yyr1819 || yy2arr1819 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1819[0] {
					yym1821 := z.EncBinary()
					_ = yym1821
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1819[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1822 := z.EncBinary()
					_ = yym1822
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1819 || yy2arr1819 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1819[1] {
					yym1824 := z.EncBinary()
					_ = yym1824
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1819[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1825 := z.EncBinary()
					_ = yym1825
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1819 || yy2arr1819 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1819[2] {
					yy1827 := &x.ListMeta
					yym1828 := z.EncBinary()
					_ = yym1828
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1827) {
					} else {
						z.EncFallback(yy1827)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1819[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1829 := &x.ListMeta
					yym1830 := z.EncBinary()
					_ = yym1830
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1829) {
					} else {
						z.EncFallback(yy1829)
					}
				}
			}
			if yyr1819 || yy2arr1819 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1832 := z.EncBinary()
					_ = yym1832
					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 {
					yym1833 := z.EncBinary()
					_ = yym1833
					if false {
					} else {
						h.encSlicePod(([]Pod)(x.Items), e)
					}
				}
			}
			if yyr1819 || yy2arr1819 {
				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
	yym1834 := z.DecBinary()
	_ = yym1834
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1835 := r.ContainerType()
		if yyct1835 == codecSelferValueTypeMap1234 {
			yyl1835 := r.ReadMapStart()
			if yyl1835 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1835, d)
			}
		} else if yyct1835 == codecSelferValueTypeArray1234 {
			yyl1835 := r.ReadArrayStart()
			if yyl1835 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1835, 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 yys1836Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1836Slc
	var yyhl1836 bool = l >= 0
	for yyj1836 := 0; ; yyj1836++ {
		if yyhl1836 {
			if yyj1836 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1836Slc = r.DecodeBytes(yys1836Slc, true, true)
		yys1836 := string(yys1836Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1836 {
		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_unversioned.ListMeta{}
			} else {
				yyv1839 := &x.ListMeta
				yym1840 := z.DecBinary()
				_ = yym1840
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1839) {
				} else {
					z.DecFallback(yyv1839, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1841 := &x.Items
				yym1842 := z.DecBinary()
				_ = yym1842
				if false {
				} else {
					h.decSlicePod((*[]Pod)(yyv1841), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1836)
		} // end switch yys1836
	} // end for yyj1836
	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 yyj1843 int
	var yyb1843 bool
	var yyhl1843 bool = l >= 0
	yyj1843++
	if yyhl1843 {
		yyb1843 = yyj1843 > l
	} else {
		yyb1843 = r.CheckBreak()
	}
	if yyb1843 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1843++
	if yyhl1843 {
		yyb1843 = yyj1843 > l
	} else {
		yyb1843 = r.CheckBreak()
	}
	if yyb1843 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1843++
	if yyhl1843 {
		yyb1843 = yyj1843 > l
	} else {
		yyb1843 = r.CheckBreak()
	}
	if yyb1843 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv1846 := &x.ListMeta
		yym1847 := z.DecBinary()
		_ = yym1847
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1846) {
		} else {
			z.DecFallback(yyv1846, false)
		}
	}
	yyj1843++
	if yyhl1843 {
		yyb1843 = yyj1843 > l
	} else {
		yyb1843 = r.CheckBreak()
	}
	if yyb1843 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1848 := &x.Items
		yym1849 := z.DecBinary()
		_ = yym1849
		if false {
		} else {
			h.decSlicePod((*[]Pod)(yyv1848), d)
		}
	}
	for {
		yyj1843++
		if yyhl1843 {
			yyb1843 = yyj1843 > l
		} else {
			yyb1843 = r.CheckBreak()
		}
		if yyb1843 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1843-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x DNSPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1850 := z.EncBinary()
	_ = yym1850
	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
	yym1851 := z.DecBinary()
	_ = yym1851
	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 {
		yym1852 := z.EncBinary()
		_ = yym1852
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1853 := !z.EncBinary()
			yy2arr1853 := z.EncBasicHandle().StructToArray
			var yyq1853 [1]bool
			_, _, _ = yysep1853, yyq1853, yy2arr1853
			const yyr1853 bool = false
			var yynn1853 int
			if yyr1853 || yy2arr1853 {
				r.EncodeArrayStart(1)
			} else {
				yynn1853 = 1
				for _, b := range yyq1853 {
					if b {
						yynn1853++
					}
				}
				r.EncodeMapStart(yynn1853)
				yynn1853 = 0
			}
			if yyr1853 || yy2arr1853 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.NodeSelectorTerms == nil {
					r.EncodeNil()
				} else {
					yym1855 := z.EncBinary()
					_ = yym1855
					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 {
					yym1856 := z.EncBinary()
					_ = yym1856
					if false {
					} else {
						h.encSliceNodeSelectorTerm(([]NodeSelectorTerm)(x.NodeSelectorTerms), e)
					}
				}
			}
			if yyr1853 || yy2arr1853 {
				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
	yym1857 := z.DecBinary()
	_ = yym1857
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1858 := r.ContainerType()
		if yyct1858 == codecSelferValueTypeMap1234 {
			yyl1858 := r.ReadMapStart()
			if yyl1858 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1858, d)
			}
		} else if yyct1858 == codecSelferValueTypeArray1234 {
			yyl1858 := r.ReadArrayStart()
			if yyl1858 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1858, 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 yys1859Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1859Slc
	var yyhl1859 bool = l >= 0
	for yyj1859 := 0; ; yyj1859++ {
		if yyhl1859 {
			if yyj1859 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1859Slc = r.DecodeBytes(yys1859Slc, true, true)
		yys1859 := string(yys1859Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1859 {
		case "nodeSelectorTerms":
			if r.TryDecodeAsNil() {
				x.NodeSelectorTerms = nil
			} else {
				yyv1860 := &x.NodeSelectorTerms
				yym1861 := z.DecBinary()
				_ = yym1861
				if false {
				} else {
					h.decSliceNodeSelectorTerm((*[]NodeSelectorTerm)(yyv1860), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1859)
		} // end switch yys1859
	} // end for yyj1859
	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 yyj1862 int
	var yyb1862 bool
	var yyhl1862 bool = l >= 0
	yyj1862++
	if yyhl1862 {
		yyb1862 = yyj1862 > l
	} else {
		yyb1862 = r.CheckBreak()
	}
	if yyb1862 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodeSelectorTerms = nil
	} else {
		yyv1863 := &x.NodeSelectorTerms
		yym1864 := z.DecBinary()
		_ = yym1864
		if false {
		} else {
			h.decSliceNodeSelectorTerm((*[]NodeSelectorTerm)(yyv1863), d)
		}
	}
	for {
		yyj1862++
		if yyhl1862 {
			yyb1862 = yyj1862 > l
		} else {
			yyb1862 = r.CheckBreak()
		}
		if yyb1862 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1862-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 {
		yym1865 := z.EncBinary()
		_ = yym1865
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1866 := !z.EncBinary()
			yy2arr1866 := z.EncBasicHandle().StructToArray
			var yyq1866 [1]bool
			_, _, _ = yysep1866, yyq1866, yy2arr1866
			const yyr1866 bool = false
			var yynn1866 int
			if yyr1866 || yy2arr1866 {
				r.EncodeArrayStart(1)
			} else {
				yynn1866 = 1
				for _, b := range yyq1866 {
					if b {
						yynn1866++
					}
				}
				r.EncodeMapStart(yynn1866)
				yynn1866 = 0
			}
			if yyr1866 || yy2arr1866 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.MatchExpressions == nil {
					r.EncodeNil()
				} else {
					yym1868 := z.EncBinary()
					_ = yym1868
					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 {
					yym1869 := z.EncBinary()
					_ = yym1869
					if false {
					} else {
						h.encSliceNodeSelectorRequirement(([]NodeSelectorRequirement)(x.MatchExpressions), e)
					}
				}
			}
			if yyr1866 || yy2arr1866 {
				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
	yym1870 := z.DecBinary()
	_ = yym1870
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1871 := r.ContainerType()
		if yyct1871 == codecSelferValueTypeMap1234 {
			yyl1871 := r.ReadMapStart()
			if yyl1871 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1871, d)
			}
		} else if yyct1871 == codecSelferValueTypeArray1234 {
			yyl1871 := r.ReadArrayStart()
			if yyl1871 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1871, 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 yys1872Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1872Slc
	var yyhl1872 bool = l >= 0
	for yyj1872 := 0; ; yyj1872++ {
		if yyhl1872 {
			if yyj1872 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1872Slc = r.DecodeBytes(yys1872Slc, true, true)
		yys1872 := string(yys1872Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1872 {
		case "matchExpressions":
			if r.TryDecodeAsNil() {
				x.MatchExpressions = nil
			} else {
				yyv1873 := &x.MatchExpressions
				yym1874 := z.DecBinary()
				_ = yym1874
				if false {
				} else {
					h.decSliceNodeSelectorRequirement((*[]NodeSelectorRequirement)(yyv1873), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1872)
		} // end switch yys1872
	} // end for yyj1872
	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 yyj1875 int
	var yyb1875 bool
	var yyhl1875 bool = l >= 0
	yyj1875++
	if yyhl1875 {
		yyb1875 = yyj1875 > l
	} else {
		yyb1875 = r.CheckBreak()
	}
	if yyb1875 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.MatchExpressions = nil
	} else {
		yyv1876 := &x.MatchExpressions
		yym1877 := z.DecBinary()
		_ = yym1877
		if false {
		} else {
			h.decSliceNodeSelectorRequirement((*[]NodeSelectorRequirement)(yyv1876), d)
		}
	}
	for {
		yyj1875++
		if yyhl1875 {
			yyb1875 = yyj1875 > l
		} else {
			yyb1875 = r.CheckBreak()
		}
		if yyb1875 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1875-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 {
		yym1878 := z.EncBinary()
		_ = yym1878
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1879 := !z.EncBinary()
			yy2arr1879 := z.EncBasicHandle().StructToArray
			var yyq1879 [3]bool
			_, _, _ = yysep1879, yyq1879, yy2arr1879
			const yyr1879 bool = false
			yyq1879[2] = len(x.Values) != 0
			var yynn1879 int
			if yyr1879 || yy2arr1879 {
				r.EncodeArrayStart(3)
			} else {
				yynn1879 = 2
				for _, b := range yyq1879 {
					if b {
						yynn1879++
					}
				}
				r.EncodeMapStart(yynn1879)
				yynn1879 = 0
			}
			if yyr1879 || yy2arr1879 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1881 := z.EncBinary()
				_ = yym1881
				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)
				yym1882 := z.EncBinary()
				_ = yym1882
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			}
			if yyr1879 || yy2arr1879 {
				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 yyr1879 || yy2arr1879 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1879[2] {
					if x.Values == nil {
						r.EncodeNil()
					} else {
						yym1885 := z.EncBinary()
						_ = yym1885
						if false {
						} else {
							z.F.EncSliceStringV(x.Values, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1879[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("values"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Values == nil {
						r.EncodeNil()
					} else {
						yym1886 := z.EncBinary()
						_ = yym1886
						if false {
						} else {
							z.F.EncSliceStringV(x.Values, false, e)
						}
					}
				}
			}
			if yyr1879 || yy2arr1879 {
				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
	yym1887 := z.DecBinary()
	_ = yym1887
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1888 := r.ContainerType()
		if yyct1888 == codecSelferValueTypeMap1234 {
			yyl1888 := r.ReadMapStart()
			if yyl1888 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1888, d)
			}
		} else if yyct1888 == codecSelferValueTypeArray1234 {
			yyl1888 := r.ReadArrayStart()
			if yyl1888 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1888, 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 yys1889Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1889Slc
	var yyhl1889 bool = l >= 0
	for yyj1889 := 0; ; yyj1889++ {
		if yyhl1889 {
			if yyj1889 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1889Slc = r.DecodeBytes(yys1889Slc, true, true)
		yys1889 := string(yys1889Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1889 {
		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 {
				yyv1892 := &x.Values
				yym1893 := z.DecBinary()
				_ = yym1893
				if false {
				} else {
					z.F.DecSliceStringX(yyv1892, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1889)
		} // end switch yys1889
	} // end for yyj1889
	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 yyj1894 int
	var yyb1894 bool
	var yyhl1894 bool = l >= 0
	yyj1894++
	if yyhl1894 {
		yyb1894 = yyj1894 > l
	} else {
		yyb1894 = r.CheckBreak()
	}
	if yyb1894 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	yyj1894++
	if yyhl1894 {
		yyb1894 = yyj1894 > l
	} else {
		yyb1894 = r.CheckBreak()
	}
	if yyb1894 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Operator = ""
	} else {
		x.Operator = NodeSelectorOperator(r.DecodeString())
	}
	yyj1894++
	if yyhl1894 {
		yyb1894 = yyj1894 > l
	} else {
		yyb1894 = r.CheckBreak()
	}
	if yyb1894 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Values = nil
	} else {
		yyv1897 := &x.Values
		yym1898 := z.DecBinary()
		_ = yym1898
		if false {
		} else {
			z.F.DecSliceStringX(yyv1897, false, d)
		}
	}
	for {
		yyj1894++
		if yyhl1894 {
			yyb1894 = yyj1894 > l
		} else {
			yyb1894 = r.CheckBreak()
		}
		if yyb1894 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1894-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x NodeSelectorOperator) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1899 := z.EncBinary()
	_ = yym1899
	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
	yym1900 := z.DecBinary()
	_ = yym1900
	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 {
		yym1901 := z.EncBinary()
		_ = yym1901
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1902 := !z.EncBinary()
			yy2arr1902 := z.EncBasicHandle().StructToArray
			var yyq1902 [3]bool
			_, _, _ = yysep1902, yyq1902, yy2arr1902
			const yyr1902 bool = false
			yyq1902[0] = x.NodeAffinity != nil
			yyq1902[1] = x.PodAffinity != nil
			yyq1902[2] = x.PodAntiAffinity != nil
			var yynn1902 int
			if yyr1902 || yy2arr1902 {
				r.EncodeArrayStart(3)
			} else {
				yynn1902 = 0
				for _, b := range yyq1902 {
					if b {
						yynn1902++
					}
				}
				r.EncodeMapStart(yynn1902)
				yynn1902 = 0
			}
			if yyr1902 || yy2arr1902 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1902[0] {
					if x.NodeAffinity == nil {
						r.EncodeNil()
					} else {
						x.NodeAffinity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1902[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 yyr1902 || yy2arr1902 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1902[1] {
					if x.PodAffinity == nil {
						r.EncodeNil()
					} else {
						x.PodAffinity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1902[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 yyr1902 || yy2arr1902 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1902[2] {
					if x.PodAntiAffinity == nil {
						r.EncodeNil()
					} else {
						x.PodAntiAffinity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1902[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 yyr1902 || yy2arr1902 {
				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
	yym1906 := z.DecBinary()
	_ = yym1906
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1907 := r.ContainerType()
		if yyct1907 == codecSelferValueTypeMap1234 {
			yyl1907 := r.ReadMapStart()
			if yyl1907 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1907, d)
			}
		} else if yyct1907 == codecSelferValueTypeArray1234 {
			yyl1907 := r.ReadArrayStart()
			if yyl1907 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1907, 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 yys1908Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1908Slc
	var yyhl1908 bool = l >= 0
	for yyj1908 := 0; ; yyj1908++ {
		if yyhl1908 {
			if yyj1908 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1908Slc = r.DecodeBytes(yys1908Slc, true, true)
		yys1908 := string(yys1908Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1908 {
		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, yys1908)
		} // end switch yys1908
	} // end for yyj1908
	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 yyj1912 int
	var yyb1912 bool
	var yyhl1912 bool = l >= 0
	yyj1912++
	if yyhl1912 {
		yyb1912 = yyj1912 > l
	} else {
		yyb1912 = r.CheckBreak()
	}
	if yyb1912 {
		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)
	}
	yyj1912++
	if yyhl1912 {
		yyb1912 = yyj1912 > l
	} else {
		yyb1912 = r.CheckBreak()
	}
	if yyb1912 {
		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)
	}
	yyj1912++
	if yyhl1912 {
		yyb1912 = yyj1912 > l
	} else {
		yyb1912 = r.CheckBreak()
	}
	if yyb1912 {
		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 {
		yyj1912++
		if yyhl1912 {
			yyb1912 = yyj1912 > l
		} else {
			yyb1912 = r.CheckBreak()
		}
		if yyb1912 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1912-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 {
		yym1916 := z.EncBinary()
		_ = yym1916
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1917 := !z.EncBinary()
			yy2arr1917 := z.EncBasicHandle().StructToArray
			var yyq1917 [2]bool
			_, _, _ = yysep1917, yyq1917, yy2arr1917
			const yyr1917 bool = false
			yyq1917[0] = len(x.RequiredDuringSchedulingIgnoredDuringExecution) != 0
			yyq1917[1] = len(x.PreferredDuringSchedulingIgnoredDuringExecution) != 0
			var yynn1917 int
			if yyr1917 || yy2arr1917 {
				r.EncodeArrayStart(2)
			} else {
				yynn1917 = 0
				for _, b := range yyq1917 {
					if b {
						yynn1917++
					}
				}
				r.EncodeMapStart(yynn1917)
				yynn1917 = 0
			}
			if yyr1917 || yy2arr1917 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1917[0] {
					if x.RequiredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1919 := z.EncBinary()
						_ = yym1919
						if false {
						} else {
							h.encSlicePodAffinityTerm(([]PodAffinityTerm)(x.RequiredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1917[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("requiredDuringSchedulingIgnoredDuringExecution"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RequiredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1920 := z.EncBinary()
						_ = yym1920
						if false {
						} else {
							h.encSlicePodAffinityTerm(([]PodAffinityTerm)(x.RequiredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				}
			}
			if yyr1917 || yy2arr1917 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1917[1] {
					if x.PreferredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1922 := z.EncBinary()
						_ = yym1922
						if false {
						} else {
							h.encSliceWeightedPodAffinityTerm(([]WeightedPodAffinityTerm)(x.PreferredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1917[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("preferredDuringSchedulingIgnoredDuringExecution"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PreferredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1923 := z.EncBinary()
						_ = yym1923
						if false {
						} else {
							h.encSliceWeightedPodAffinityTerm(([]WeightedPodAffinityTerm)(x.PreferredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				}
			}
			if yyr1917 || yy2arr1917 {
				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
	yym1924 := z.DecBinary()
	_ = yym1924
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1925 := r.ContainerType()
		if yyct1925 == codecSelferValueTypeMap1234 {
			yyl1925 := r.ReadMapStart()
			if yyl1925 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1925, d)
			}
		} else if yyct1925 == codecSelferValueTypeArray1234 {
			yyl1925 := r.ReadArrayStart()
			if yyl1925 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1925, 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 yys1926Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1926Slc
	var yyhl1926 bool = l >= 0
	for yyj1926 := 0; ; yyj1926++ {
		if yyhl1926 {
			if yyj1926 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1926Slc = r.DecodeBytes(yys1926Slc, true, true)
		yys1926 := string(yys1926Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1926 {
		case "requiredDuringSchedulingIgnoredDuringExecution":
			if r.TryDecodeAsNil() {
				x.RequiredDuringSchedulingIgnoredDuringExecution = nil
			} else {
				yyv1927 := &x.RequiredDuringSchedulingIgnoredDuringExecution
				yym1928 := z.DecBinary()
				_ = yym1928
				if false {
				} else {
					h.decSlicePodAffinityTerm((*[]PodAffinityTerm)(yyv1927), d)
				}
			}
		case "preferredDuringSchedulingIgnoredDuringExecution":
			if r.TryDecodeAsNil() {
				x.PreferredDuringSchedulingIgnoredDuringExecution = nil
			} else {
				yyv1929 := &x.PreferredDuringSchedulingIgnoredDuringExecution
				yym1930 := z.DecBinary()
				_ = yym1930
				if false {
				} else {
					h.decSliceWeightedPodAffinityTerm((*[]WeightedPodAffinityTerm)(yyv1929), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1926)
		} // end switch yys1926
	} // end for yyj1926
	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 yyj1931 int
	var yyb1931 bool
	var yyhl1931 bool = l >= 0
	yyj1931++
	if yyhl1931 {
		yyb1931 = yyj1931 > l
	} else {
		yyb1931 = r.CheckBreak()
	}
	if yyb1931 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RequiredDuringSchedulingIgnoredDuringExecution = nil
	} else {
		yyv1932 := &x.RequiredDuringSchedulingIgnoredDuringExecution
		yym1933 := z.DecBinary()
		_ = yym1933
		if false {
		} else {
			h.decSlicePodAffinityTerm((*[]PodAffinityTerm)(yyv1932), d)
		}
	}
	yyj1931++
	if yyhl1931 {
		yyb1931 = yyj1931 > l
	} else {
		yyb1931 = r.CheckBreak()
	}
	if yyb1931 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PreferredDuringSchedulingIgnoredDuringExecution = nil
	} else {
		yyv1934 := &x.PreferredDuringSchedulingIgnoredDuringExecution
		yym1935 := z.DecBinary()
		_ = yym1935
		if false {
		} else {
			h.decSliceWeightedPodAffinityTerm((*[]WeightedPodAffinityTerm)(yyv1934), d)
		}
	}
	for {
		yyj1931++
		if yyhl1931 {
			yyb1931 = yyj1931 > l
		} else {
			yyb1931 = r.CheckBreak()
		}
		if yyb1931 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1931-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 {
		yym1936 := z.EncBinary()
		_ = yym1936
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1937 := !z.EncBinary()
			yy2arr1937 := z.EncBasicHandle().StructToArray
			var yyq1937 [2]bool
			_, _, _ = yysep1937, yyq1937, yy2arr1937
			const yyr1937 bool = false
			yyq1937[0] = len(x.RequiredDuringSchedulingIgnoredDuringExecution) != 0
			yyq1937[1] = len(x.PreferredDuringSchedulingIgnoredDuringExecution) != 0
			var yynn1937 int
			if yyr1937 || yy2arr1937 {
				r.EncodeArrayStart(2)
			} else {
				yynn1937 = 0
				for _, b := range yyq1937 {
					if b {
						yynn1937++
					}
				}
				r.EncodeMapStart(yynn1937)
				yynn1937 = 0
			}
			if yyr1937 || yy2arr1937 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1937[0] {
					if x.RequiredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1939 := z.EncBinary()
						_ = yym1939
						if false {
						} else {
							h.encSlicePodAffinityTerm(([]PodAffinityTerm)(x.RequiredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1937[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("requiredDuringSchedulingIgnoredDuringExecution"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RequiredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1940 := z.EncBinary()
						_ = yym1940
						if false {
						} else {
							h.encSlicePodAffinityTerm(([]PodAffinityTerm)(x.RequiredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				}
			}
			if yyr1937 || yy2arr1937 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1937[1] {
					if x.PreferredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1942 := z.EncBinary()
						_ = yym1942
						if false {
						} else {
							h.encSliceWeightedPodAffinityTerm(([]WeightedPodAffinityTerm)(x.PreferredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1937[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("preferredDuringSchedulingIgnoredDuringExecution"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PreferredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1943 := z.EncBinary()
						_ = yym1943
						if false {
						} else {
							h.encSliceWeightedPodAffinityTerm(([]WeightedPodAffinityTerm)(x.PreferredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				}
			}
			if yyr1937 || yy2arr1937 {
				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
	yym1944 := z.DecBinary()
	_ = yym1944
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1945 := r.ContainerType()
		if yyct1945 == codecSelferValueTypeMap1234 {
			yyl1945 := r.ReadMapStart()
			if yyl1945 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1945, d)
			}
		} else if yyct1945 == codecSelferValueTypeArray1234 {
			yyl1945 := r.ReadArrayStart()
			if yyl1945 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1945, 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 yys1946Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1946Slc
	var yyhl1946 bool = l >= 0
	for yyj1946 := 0; ; yyj1946++ {
		if yyhl1946 {
			if yyj1946 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1946Slc = r.DecodeBytes(yys1946Slc, true, true)
		yys1946 := string(yys1946Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1946 {
		case "requiredDuringSchedulingIgnoredDuringExecution":
			if r.TryDecodeAsNil() {
				x.RequiredDuringSchedulingIgnoredDuringExecution = nil
			} else {
				yyv1947 := &x.RequiredDuringSchedulingIgnoredDuringExecution
				yym1948 := z.DecBinary()
				_ = yym1948
				if false {
				} else {
					h.decSlicePodAffinityTerm((*[]PodAffinityTerm)(yyv1947), d)
				}
			}
		case "preferredDuringSchedulingIgnoredDuringExecution":
			if r.TryDecodeAsNil() {
				x.PreferredDuringSchedulingIgnoredDuringExecution = nil
			} else {
				yyv1949 := &x.PreferredDuringSchedulingIgnoredDuringExecution
				yym1950 := z.DecBinary()
				_ = yym1950
				if false {
				} else {
					h.decSliceWeightedPodAffinityTerm((*[]WeightedPodAffinityTerm)(yyv1949), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1946)
		} // end switch yys1946
	} // end for yyj1946
	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 yyj1951 int
	var yyb1951 bool
	var yyhl1951 bool = l >= 0
	yyj1951++
	if yyhl1951 {
		yyb1951 = yyj1951 > l
	} else {
		yyb1951 = r.CheckBreak()
	}
	if yyb1951 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RequiredDuringSchedulingIgnoredDuringExecution = nil
	} else {
		yyv1952 := &x.RequiredDuringSchedulingIgnoredDuringExecution
		yym1953 := z.DecBinary()
		_ = yym1953
		if false {
		} else {
			h.decSlicePodAffinityTerm((*[]PodAffinityTerm)(yyv1952), d)
		}
	}
	yyj1951++
	if yyhl1951 {
		yyb1951 = yyj1951 > l
	} else {
		yyb1951 = r.CheckBreak()
	}
	if yyb1951 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PreferredDuringSchedulingIgnoredDuringExecution = nil
	} else {
		yyv1954 := &x.PreferredDuringSchedulingIgnoredDuringExecution
		yym1955 := z.DecBinary()
		_ = yym1955
		if false {
		} else {
			h.decSliceWeightedPodAffinityTerm((*[]WeightedPodAffinityTerm)(yyv1954), d)
		}
	}
	for {
		yyj1951++
		if yyhl1951 {
			yyb1951 = yyj1951 > l
		} else {
			yyb1951 = r.CheckBreak()
		}
		if yyb1951 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1951-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 {
		yym1956 := z.EncBinary()
		_ = yym1956
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1957 := !z.EncBinary()
			yy2arr1957 := z.EncBasicHandle().StructToArray
			var yyq1957 [2]bool
			_, _, _ = yysep1957, yyq1957, yy2arr1957
			const yyr1957 bool = false
			var yynn1957 int
			if yyr1957 || yy2arr1957 {
				r.EncodeArrayStart(2)
			} else {
				yynn1957 = 2
				for _, b := range yyq1957 {
					if b {
						yynn1957++
					}
				}
				r.EncodeMapStart(yynn1957)
				yynn1957 = 0
			}
			if yyr1957 || yy2arr1957 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1959 := z.EncBinary()
				_ = yym1959
				if false {
				} else {
					r.EncodeInt(int64(x.Weight))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("weight"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1960 := z.EncBinary()
				_ = yym1960
				if false {
				} else {
					r.EncodeInt(int64(x.Weight))
				}
			}
			if yyr1957 || yy2arr1957 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy1962 := &x.PodAffinityTerm
				yy1962.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("podAffinityTerm"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy1963 := &x.PodAffinityTerm
				yy1963.CodecEncodeSelf(e)
			}
			if yyr1957 || yy2arr1957 {
				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
	yym1964 := z.DecBinary()
	_ = yym1964
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1965 := r.ContainerType()
		if yyct1965 == codecSelferValueTypeMap1234 {
			yyl1965 := r.ReadMapStart()
			if yyl1965 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1965, d)
			}
		} else if yyct1965 == codecSelferValueTypeArray1234 {
			yyl1965 := r.ReadArrayStart()
			if yyl1965 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1965, 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 yys1966Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1966Slc
	var yyhl1966 bool = l >= 0
	for yyj1966 := 0; ; yyj1966++ {
		if yyhl1966 {
			if yyj1966 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1966Slc = r.DecodeBytes(yys1966Slc, true, true)
		yys1966 := string(yys1966Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1966 {
		case "weight":
			if r.TryDecodeAsNil() {
				x.Weight = 0
			} else {
				x.Weight = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "podAffinityTerm":
			if r.TryDecodeAsNil() {
				x.PodAffinityTerm = PodAffinityTerm{}
			} else {
				yyv1968 := &x.PodAffinityTerm
				yyv1968.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1966)
		} // end switch yys1966
	} // end for yyj1966
	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 yyj1969 int
	var yyb1969 bool
	var yyhl1969 bool = l >= 0
	yyj1969++
	if yyhl1969 {
		yyb1969 = yyj1969 > l
	} else {
		yyb1969 = r.CheckBreak()
	}
	if yyb1969 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Weight = 0
	} else {
		x.Weight = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1969++
	if yyhl1969 {
		yyb1969 = yyj1969 > l
	} else {
		yyb1969 = r.CheckBreak()
	}
	if yyb1969 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PodAffinityTerm = PodAffinityTerm{}
	} else {
		yyv1971 := &x.PodAffinityTerm
		yyv1971.CodecDecodeSelf(d)
	}
	for {
		yyj1969++
		if yyhl1969 {
			yyb1969 = yyj1969 > l
		} else {
			yyb1969 = r.CheckBreak()
		}
		if yyb1969 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1969-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 {
		yym1972 := z.EncBinary()
		_ = yym1972
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1973 := !z.EncBinary()
			yy2arr1973 := z.EncBasicHandle().StructToArray
			var yyq1973 [3]bool
			_, _, _ = yysep1973, yyq1973, yy2arr1973
			const yyr1973 bool = false
			yyq1973[0] = x.LabelSelector != nil
			yyq1973[2] = x.TopologyKey != ""
			var yynn1973 int
			if yyr1973 || yy2arr1973 {
				r.EncodeArrayStart(3)
			} else {
				yynn1973 = 1
				for _, b := range yyq1973 {
					if b {
						yynn1973++
					}
				}
				r.EncodeMapStart(yynn1973)
				yynn1973 = 0
			}
			if yyr1973 || yy2arr1973 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1973[0] {
					if x.LabelSelector == nil {
						r.EncodeNil()
					} else {
						yym1975 := z.EncBinary()
						_ = yym1975
						if false {
						} else if z.HasExtensions() && z.EncExt(x.LabelSelector) {
						} else {
							z.EncFallback(x.LabelSelector)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1973[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("labelSelector"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.LabelSelector == nil {
						r.EncodeNil()
					} else {
						yym1976 := z.EncBinary()
						_ = yym1976
						if false {
						} else if z.HasExtensions() && z.EncExt(x.LabelSelector) {
						} else {
							z.EncFallback(x.LabelSelector)
						}
					}
				}
			}
			if yyr1973 || yy2arr1973 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Namespaces == nil {
					r.EncodeNil()
				} else {
					yym1978 := z.EncBinary()
					_ = yym1978
					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 {
					yym1979 := z.EncBinary()
					_ = yym1979
					if false {
					} else {
						z.F.EncSliceStringV(x.Namespaces, false, e)
					}
				}
			}
			if yyr1973 || yy2arr1973 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1973[2] {
					yym1981 := z.EncBinary()
					_ = yym1981
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TopologyKey))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1973[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("topologyKey"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1982 := z.EncBinary()
					_ = yym1982
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TopologyKey))
					}
				}
			}
			if yyr1973 || yy2arr1973 {
				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
	yym1983 := z.DecBinary()
	_ = yym1983
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1984 := r.ContainerType()
		if yyct1984 == codecSelferValueTypeMap1234 {
			yyl1984 := r.ReadMapStart()
			if yyl1984 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1984, d)
			}
		} else if yyct1984 == codecSelferValueTypeArray1234 {
			yyl1984 := r.ReadArrayStart()
			if yyl1984 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1984, 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 yys1985Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1985Slc
	var yyhl1985 bool = l >= 0
	for yyj1985 := 0; ; yyj1985++ {
		if yyhl1985 {
			if yyj1985 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1985Slc = r.DecodeBytes(yys1985Slc, true, true)
		yys1985 := string(yys1985Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1985 {
		case "labelSelector":
			if r.TryDecodeAsNil() {
				if x.LabelSelector != nil {
					x.LabelSelector = nil
				}
			} else {
				if x.LabelSelector == nil {
					x.LabelSelector = new(pkg2_unversioned.LabelSelector)
				}
				yym1987 := z.DecBinary()
				_ = yym1987
				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 {
				yyv1988 := &x.Namespaces
				yym1989 := z.DecBinary()
				_ = yym1989
				if false {
				} else {
					z.F.DecSliceStringX(yyv1988, false, d)
				}
			}
		case "topologyKey":
			if r.TryDecodeAsNil() {
				x.TopologyKey = ""
			} else {
				x.TopologyKey = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1985)
		} // end switch yys1985
	} // end for yyj1985
	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 yyj1991 int
	var yyb1991 bool
	var yyhl1991 bool = l >= 0
	yyj1991++
	if yyhl1991 {
		yyb1991 = yyj1991 > l
	} else {
		yyb1991 = r.CheckBreak()
	}
	if yyb1991 {
		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_unversioned.LabelSelector)
		}
		yym1993 := z.DecBinary()
		_ = yym1993
		if false {
		} else if z.HasExtensions() && z.DecExt(x.LabelSelector) {
		} else {
			z.DecFallback(x.LabelSelector, false)
		}
	}
	yyj1991++
	if yyhl1991 {
		yyb1991 = yyj1991 > l
	} else {
		yyb1991 = r.CheckBreak()
	}
	if yyb1991 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Namespaces = nil
	} else {
		yyv1994 := &x.Namespaces
		yym1995 := z.DecBinary()
		_ = yym1995
		if false {
		} else {
			z.F.DecSliceStringX(yyv1994, false, d)
		}
	}
	yyj1991++
	if yyhl1991 {
		yyb1991 = yyj1991 > l
	} else {
		yyb1991 = r.CheckBreak()
	}
	if yyb1991 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TopologyKey = ""
	} else {
		x.TopologyKey = string(r.DecodeString())
	}
	for {
		yyj1991++
		if yyhl1991 {
			yyb1991 = yyj1991 > l
		} else {
			yyb1991 = r.CheckBreak()
		}
		if yyb1991 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1991-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 {
		yym1997 := z.EncBinary()
		_ = yym1997
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1998 := !z.EncBinary()
			yy2arr1998 := z.EncBasicHandle().StructToArray
			var yyq1998 [2]bool
			_, _, _ = yysep1998, yyq1998, yy2arr1998
			const yyr1998 bool = false
			yyq1998[0] = x.RequiredDuringSchedulingIgnoredDuringExecution != nil
			yyq1998[1] = len(x.PreferredDuringSchedulingIgnoredDuringExecution) != 0
			var yynn1998 int
			if yyr1998 || yy2arr1998 {
				r.EncodeArrayStart(2)
			} else {
				yynn1998 = 0
				for _, b := range yyq1998 {
					if b {
						yynn1998++
					}
				}
				r.EncodeMapStart(yynn1998)
				yynn1998 = 0
			}
			if yyr1998 || yy2arr1998 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1998[0] {
					if x.RequiredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						x.RequiredDuringSchedulingIgnoredDuringExecution.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1998[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 yyr1998 || yy2arr1998 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1998[1] {
					if x.PreferredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym2001 := z.EncBinary()
						_ = yym2001
						if false {
						} else {
							h.encSlicePreferredSchedulingTerm(([]PreferredSchedulingTerm)(x.PreferredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1998[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("preferredDuringSchedulingIgnoredDuringExecution"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PreferredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym2002 := z.EncBinary()
						_ = yym2002
						if false {
						} else {
							h.encSlicePreferredSchedulingTerm(([]PreferredSchedulingTerm)(x.PreferredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				}
			}
			if yyr1998 || yy2arr1998 {
				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
	yym2003 := z.DecBinary()
	_ = yym2003
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2004 := r.ContainerType()
		if yyct2004 == codecSelferValueTypeMap1234 {
			yyl2004 := r.ReadMapStart()
			if yyl2004 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2004, d)
			}
		} else if yyct2004 == codecSelferValueTypeArray1234 {
			yyl2004 := r.ReadArrayStart()
			if yyl2004 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2004, 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 yys2005Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2005Slc
	var yyhl2005 bool = l >= 0
	for yyj2005 := 0; ; yyj2005++ {
		if yyhl2005 {
			if yyj2005 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2005Slc = r.DecodeBytes(yys2005Slc, true, true)
		yys2005 := string(yys2005Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2005 {
		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 {
				yyv2007 := &x.PreferredDuringSchedulingIgnoredDuringExecution
				yym2008 := z.DecBinary()
				_ = yym2008
				if false {
				} else {
					h.decSlicePreferredSchedulingTerm((*[]PreferredSchedulingTerm)(yyv2007), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2005)
		} // end switch yys2005
	} // end for yyj2005
	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 yyj2009 int
	var yyb2009 bool
	var yyhl2009 bool = l >= 0
	yyj2009++
	if yyhl2009 {
		yyb2009 = yyj2009 > l
	} else {
		yyb2009 = r.CheckBreak()
	}
	if yyb2009 {
		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)
	}
	yyj2009++
	if yyhl2009 {
		yyb2009 = yyj2009 > l
	} else {
		yyb2009 = r.CheckBreak()
	}
	if yyb2009 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PreferredDuringSchedulingIgnoredDuringExecution = nil
	} else {
		yyv2011 := &x.PreferredDuringSchedulingIgnoredDuringExecution
		yym2012 := z.DecBinary()
		_ = yym2012
		if false {
		} else {
			h.decSlicePreferredSchedulingTerm((*[]PreferredSchedulingTerm)(yyv2011), d)
		}
	}
	for {
		yyj2009++
		if yyhl2009 {
			yyb2009 = yyj2009 > l
		} else {
			yyb2009 = r.CheckBreak()
		}
		if yyb2009 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2009-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 {
		yym2013 := z.EncBinary()
		_ = yym2013
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2014 := !z.EncBinary()
			yy2arr2014 := z.EncBasicHandle().StructToArray
			var yyq2014 [2]bool
			_, _, _ = yysep2014, yyq2014, yy2arr2014
			const yyr2014 bool = false
			var yynn2014 int
			if yyr2014 || yy2arr2014 {
				r.EncodeArrayStart(2)
			} else {
				yynn2014 = 2
				for _, b := range yyq2014 {
					if b {
						yynn2014++
					}
				}
				r.EncodeMapStart(yynn2014)
				yynn2014 = 0
			}
			if yyr2014 || yy2arr2014 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2016 := z.EncBinary()
				_ = yym2016
				if false {
				} else {
					r.EncodeInt(int64(x.Weight))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("weight"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2017 := z.EncBinary()
				_ = yym2017
				if false {
				} else {
					r.EncodeInt(int64(x.Weight))
				}
			}
			if yyr2014 || yy2arr2014 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy2019 := &x.Preference
				yy2019.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("preference"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy2020 := &x.Preference
				yy2020.CodecEncodeSelf(e)
			}
			if yyr2014 || yy2arr2014 {
				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
	yym2021 := z.DecBinary()
	_ = yym2021
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2022 := r.ContainerType()
		if yyct2022 == codecSelferValueTypeMap1234 {
			yyl2022 := r.ReadMapStart()
			if yyl2022 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2022, d)
			}
		} else if yyct2022 == codecSelferValueTypeArray1234 {
			yyl2022 := r.ReadArrayStart()
			if yyl2022 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2022, 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 yys2023Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2023Slc
	var yyhl2023 bool = l >= 0
	for yyj2023 := 0; ; yyj2023++ {
		if yyhl2023 {
			if yyj2023 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2023Slc = r.DecodeBytes(yys2023Slc, true, true)
		yys2023 := string(yys2023Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2023 {
		case "weight":
			if r.TryDecodeAsNil() {
				x.Weight = 0
			} else {
				x.Weight = int32(r.DecodeInt(32))
			}
		case "preference":
			if r.TryDecodeAsNil() {
				x.Preference = NodeSelectorTerm{}
			} else {
				yyv2025 := &x.Preference
				yyv2025.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2023)
		} // end switch yys2023
	} // end for yyj2023
	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 yyj2026 int
	var yyb2026 bool
	var yyhl2026 bool = l >= 0
	yyj2026++
	if yyhl2026 {
		yyb2026 = yyj2026 > l
	} else {
		yyb2026 = r.CheckBreak()
	}
	if yyb2026 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Weight = 0
	} else {
		x.Weight = int32(r.DecodeInt(32))
	}
	yyj2026++
	if yyhl2026 {
		yyb2026 = yyj2026 > l
	} else {
		yyb2026 = r.CheckBreak()
	}
	if yyb2026 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Preference = NodeSelectorTerm{}
	} else {
		yyv2028 := &x.Preference
		yyv2028.CodecDecodeSelf(d)
	}
	for {
		yyj2026++
		if yyhl2026 {
			yyb2026 = yyj2026 > l
		} else {
			yyb2026 = r.CheckBreak()
		}
		if yyb2026 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2026-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 {
		yym2029 := z.EncBinary()
		_ = yym2029
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2030 := !z.EncBinary()
			yy2arr2030 := z.EncBasicHandle().StructToArray
			var yyq2030 [3]bool
			_, _, _ = yysep2030, yyq2030, yy2arr2030
			const yyr2030 bool = false
			yyq2030[1] = x.Value != ""
			var yynn2030 int
			if yyr2030 || yy2arr2030 {
				r.EncodeArrayStart(3)
			} else {
				yynn2030 = 2
				for _, b := range yyq2030 {
					if b {
						yynn2030++
					}
				}
				r.EncodeMapStart(yynn2030)
				yynn2030 = 0
			}
			if yyr2030 || yy2arr2030 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2032 := z.EncBinary()
				_ = yym2032
				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)
				yym2033 := z.EncBinary()
				_ = yym2033
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			}
			if yyr2030 || yy2arr2030 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2030[1] {
					yym2035 := z.EncBinary()
					_ = yym2035
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2030[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("value"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2036 := z.EncBinary()
					_ = yym2036
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				}
			}
			if yyr2030 || yy2arr2030 {
				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 yyr2030 || yy2arr2030 {
				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
	yym2038 := z.DecBinary()
	_ = yym2038
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2039 := r.ContainerType()
		if yyct2039 == codecSelferValueTypeMap1234 {
			yyl2039 := r.ReadMapStart()
			if yyl2039 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2039, d)
			}
		} else if yyct2039 == codecSelferValueTypeArray1234 {
			yyl2039 := r.ReadArrayStart()
			if yyl2039 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2039, 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 yys2040Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2040Slc
	var yyhl2040 bool = l >= 0
	for yyj2040 := 0; ; yyj2040++ {
		if yyhl2040 {
			if yyj2040 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2040Slc = r.DecodeBytes(yys2040Slc, true, true)
		yys2040 := string(yys2040Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2040 {
		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, yys2040)
		} // end switch yys2040
	} // end for yyj2040
	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 yyj2044 int
	var yyb2044 bool
	var yyhl2044 bool = l >= 0
	yyj2044++
	if yyhl2044 {
		yyb2044 = yyj2044 > l
	} else {
		yyb2044 = r.CheckBreak()
	}
	if yyb2044 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	yyj2044++
	if yyhl2044 {
		yyb2044 = yyj2044 > l
	} else {
		yyb2044 = r.CheckBreak()
	}
	if yyb2044 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Value = ""
	} else {
		x.Value = string(r.DecodeString())
	}
	yyj2044++
	if yyhl2044 {
		yyb2044 = yyj2044 > l
	} else {
		yyb2044 = r.CheckBreak()
	}
	if yyb2044 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Effect = ""
	} else {
		x.Effect = TaintEffect(r.DecodeString())
	}
	for {
		yyj2044++
		if yyhl2044 {
			yyb2044 = yyj2044 > l
		} else {
			yyb2044 = r.CheckBreak()
		}
		if yyb2044 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2044-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x TaintEffect) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2048 := z.EncBinary()
	_ = yym2048
	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
	yym2049 := z.DecBinary()
	_ = yym2049
	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 {
		yym2050 := z.EncBinary()
		_ = yym2050
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2051 := !z.EncBinary()
			yy2arr2051 := z.EncBasicHandle().StructToArray
			var yyq2051 [4]bool
			_, _, _ = yysep2051, yyq2051, yy2arr2051
			const yyr2051 bool = false
			yyq2051[0] = x.Key != ""
			yyq2051[1] = x.Operator != ""
			yyq2051[2] = x.Value != ""
			yyq2051[3] = x.Effect != ""
			var yynn2051 int
			if yyr2051 || yy2arr2051 {
				r.EncodeArrayStart(4)
			} else {
				yynn2051 = 0
				for _, b := range yyq2051 {
					if b {
						yynn2051++
					}
				}
				r.EncodeMapStart(yynn2051)
				yynn2051 = 0
			}
			if yyr2051 || yy2arr2051 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2051[0] {
					yym2053 := z.EncBinary()
					_ = yym2053
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Key))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2051[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("key"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2054 := z.EncBinary()
					_ = yym2054
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Key))
					}
				}
			}
			if yyr2051 || yy2arr2051 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2051[1] {
					x.Operator.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2051[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("operator"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Operator.CodecEncodeSelf(e)
				}
			}
			if yyr2051 || yy2arr2051 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2051[2] {
					yym2057 := z.EncBinary()
					_ = yym2057
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2051[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("value"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2058 := z.EncBinary()
					_ = yym2058
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				}
			}
			if yyr2051 || yy2arr2051 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2051[3] {
					x.Effect.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2051[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("effect"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Effect.CodecEncodeSelf(e)
				}
			}
			if yyr2051 || yy2arr2051 {
				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
	yym2060 := z.DecBinary()
	_ = yym2060
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2061 := r.ContainerType()
		if yyct2061 == codecSelferValueTypeMap1234 {
			yyl2061 := r.ReadMapStart()
			if yyl2061 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2061, d)
			}
		} else if yyct2061 == codecSelferValueTypeArray1234 {
			yyl2061 := r.ReadArrayStart()
			if yyl2061 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2061, 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 yys2062Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2062Slc
	var yyhl2062 bool = l >= 0
	for yyj2062 := 0; ; yyj2062++ {
		if yyhl2062 {
			if yyj2062 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2062Slc = r.DecodeBytes(yys2062Slc, true, true)
		yys2062 := string(yys2062Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2062 {
		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, yys2062)
		} // end switch yys2062
	} // end for yyj2062
	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 yyj2067 int
	var yyb2067 bool
	var yyhl2067 bool = l >= 0
	yyj2067++
	if yyhl2067 {
		yyb2067 = yyj2067 > l
	} else {
		yyb2067 = r.CheckBreak()
	}
	if yyb2067 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	yyj2067++
	if yyhl2067 {
		yyb2067 = yyj2067 > l
	} else {
		yyb2067 = r.CheckBreak()
	}
	if yyb2067 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Operator = ""
	} else {
		x.Operator = TolerationOperator(r.DecodeString())
	}
	yyj2067++
	if yyhl2067 {
		yyb2067 = yyj2067 > l
	} else {
		yyb2067 = r.CheckBreak()
	}
	if yyb2067 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Value = ""
	} else {
		x.Value = string(r.DecodeString())
	}
	yyj2067++
	if yyhl2067 {
		yyb2067 = yyj2067 > l
	} else {
		yyb2067 = r.CheckBreak()
	}
	if yyb2067 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Effect = ""
	} else {
		x.Effect = TaintEffect(r.DecodeString())
	}
	for {
		yyj2067++
		if yyhl2067 {
			yyb2067 = yyj2067 > l
		} else {
			yyb2067 = r.CheckBreak()
		}
		if yyb2067 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2067-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x TolerationOperator) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2072 := z.EncBinary()
	_ = yym2072
	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
	yym2073 := z.DecBinary()
	_ = yym2073
	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 {
		yym2074 := z.EncBinary()
		_ = yym2074
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2075 := !z.EncBinary()
			yy2arr2075 := z.EncBasicHandle().StructToArray
			var yyq2075 [13]bool
			_, _, _ = yysep2075, yyq2075, yy2arr2075
			const yyr2075 bool = false
			yyq2075[2] = x.RestartPolicy != ""
			yyq2075[3] = x.TerminationGracePeriodSeconds != nil
			yyq2075[4] = x.ActiveDeadlineSeconds != nil
			yyq2075[5] = x.DNSPolicy != ""
			yyq2075[6] = len(x.NodeSelector) != 0
			yyq2075[8] = x.NodeName != ""
			yyq2075[9] = x.SecurityContext != nil
			yyq2075[10] = len(x.ImagePullSecrets) != 0
			yyq2075[11] = x.Hostname != ""
			yyq2075[12] = x.Subdomain != ""
			var yynn2075 int
			if yyr2075 || yy2arr2075 {
				r.EncodeArrayStart(13)
			} else {
				yynn2075 = 3
				for _, b := range yyq2075 {
					if b {
						yynn2075++
					}
				}
				r.EncodeMapStart(yynn2075)
				yynn2075 = 0
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Volumes == nil {
					r.EncodeNil()
				} else {
					yym2077 := z.EncBinary()
					_ = yym2077
					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 {
					yym2078 := z.EncBinary()
					_ = yym2078
					if false {
					} else {
						h.encSliceVolume(([]Volume)(x.Volumes), e)
					}
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Containers == nil {
					r.EncodeNil()
				} else {
					yym2080 := z.EncBinary()
					_ = yym2080
					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 {
					yym2081 := z.EncBinary()
					_ = yym2081
					if false {
					} else {
						h.encSliceContainer(([]Container)(x.Containers), e)
					}
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2075[2] {
					x.RestartPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2075[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("restartPolicy"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.RestartPolicy.CodecEncodeSelf(e)
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2075[3] {
					if x.TerminationGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy2084 := *x.TerminationGracePeriodSeconds
						yym2085 := z.EncBinary()
						_ = yym2085
						if false {
						} else {
							r.EncodeInt(int64(yy2084))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2075[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("terminationGracePeriodSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.TerminationGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy2086 := *x.TerminationGracePeriodSeconds
						yym2087 := z.EncBinary()
						_ = yym2087
						if false {
						} else {
							r.EncodeInt(int64(yy2086))
						}
					}
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2075[4] {
					if x.ActiveDeadlineSeconds == nil {
						r.EncodeNil()
					} else {
						yy2089 := *x.ActiveDeadlineSeconds
						yym2090 := z.EncBinary()
						_ = yym2090
						if false {
						} else {
							r.EncodeInt(int64(yy2089))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2075[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("activeDeadlineSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ActiveDeadlineSeconds == nil {
						r.EncodeNil()
					} else {
						yy2091 := *x.ActiveDeadlineSeconds
						yym2092 := z.EncBinary()
						_ = yym2092
						if false {
						} else {
							r.EncodeInt(int64(yy2091))
						}
					}
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2075[5] {
					x.DNSPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2075[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("dnsPolicy"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.DNSPolicy.CodecEncodeSelf(e)
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2075[6] {
					if x.NodeSelector == nil {
						r.EncodeNil()
					} else {
						yym2095 := z.EncBinary()
						_ = yym2095
						if false {
						} else {
							z.F.EncMapStringStringV(x.NodeSelector, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2075[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nodeSelector"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.NodeSelector == nil {
						r.EncodeNil()
					} else {
						yym2096 := z.EncBinary()
						_ = yym2096
						if false {
						} else {
							z.F.EncMapStringStringV(x.NodeSelector, false, e)
						}
					}
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2098 := z.EncBinary()
				_ = yym2098
				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)
				yym2099 := z.EncBinary()
				_ = yym2099
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ServiceAccountName))
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2075[8] {
					yym2101 := z.EncBinary()
					_ = yym2101
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.NodeName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2075[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nodeName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2102 := z.EncBinary()
					_ = yym2102
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.NodeName))
					}
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2075[9] {
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2075[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 yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2075[10] {
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym2105 := z.EncBinary()
						_ = yym2105
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2075[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("imagePullSecrets"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym2106 := z.EncBinary()
						_ = yym2106
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2075[11] {
					yym2108 := z.EncBinary()
					_ = yym2108
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2075[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostname"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2109 := z.EncBinary()
					_ = yym2109
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2075[12] {
					yym2111 := z.EncBinary()
					_ = yym2111
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Subdomain))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2075[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("subdomain"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2112 := z.EncBinary()
					_ = yym2112
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Subdomain))
					}
				}
			}
			if yyr2075 || yy2arr2075 {
				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
	yym2113 := z.DecBinary()
	_ = yym2113
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2114 := r.ContainerType()
		if yyct2114 == codecSelferValueTypeMap1234 {
			yyl2114 := r.ReadMapStart()
			if yyl2114 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2114, d)
			}
		} else if yyct2114 == codecSelferValueTypeArray1234 {
			yyl2114 := r.ReadArrayStart()
			if yyl2114 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2114, 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 yys2115Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2115Slc
	var yyhl2115 bool = l >= 0
	for yyj2115 := 0; ; yyj2115++ {
		if yyhl2115 {
			if yyj2115 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2115Slc = r.DecodeBytes(yys2115Slc, true, true)
		yys2115 := string(yys2115Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2115 {
		case "volumes":
			if r.TryDecodeAsNil() {
				x.Volumes = nil
			} else {
				yyv2116 := &x.Volumes
				yym2117 := z.DecBinary()
				_ = yym2117
				if false {
				} else {
					h.decSliceVolume((*[]Volume)(yyv2116), d)
				}
			}
		case "containers":
			if r.TryDecodeAsNil() {
				x.Containers = nil
			} else {
				yyv2118 := &x.Containers
				yym2119 := z.DecBinary()
				_ = yym2119
				if false {
				} else {
					h.decSliceContainer((*[]Container)(yyv2118), 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)
				}
				yym2122 := z.DecBinary()
				_ = yym2122
				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)
				}
				yym2124 := z.DecBinary()
				_ = yym2124
				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 {
				yyv2126 := &x.NodeSelector
				yym2127 := z.DecBinary()
				_ = yym2127
				if false {
				} else {
					z.F.DecMapStringStringX(yyv2126, 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 {
				yyv2131 := &x.ImagePullSecrets
				yym2132 := z.DecBinary()
				_ = yym2132
				if false {
				} else {
					h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv2131), 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, yys2115)
		} // end switch yys2115
	} // end for yyj2115
	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 yyj2135 int
	var yyb2135 bool
	var yyhl2135 bool = l >= 0
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Volumes = nil
	} else {
		yyv2136 := &x.Volumes
		yym2137 := z.DecBinary()
		_ = yym2137
		if false {
		} else {
			h.decSliceVolume((*[]Volume)(yyv2136), d)
		}
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Containers = nil
	} else {
		yyv2138 := &x.Containers
		yym2139 := z.DecBinary()
		_ = yym2139
		if false {
		} else {
			h.decSliceContainer((*[]Container)(yyv2138), d)
		}
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RestartPolicy = ""
	} else {
		x.RestartPolicy = RestartPolicy(r.DecodeString())
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		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)
		}
		yym2142 := z.DecBinary()
		_ = yym2142
		if false {
		} else {
			*((*int64)(x.TerminationGracePeriodSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		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)
		}
		yym2144 := z.DecBinary()
		_ = yym2144
		if false {
		} else {
			*((*int64)(x.ActiveDeadlineSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DNSPolicy = ""
	} else {
		x.DNSPolicy = DNSPolicy(r.DecodeString())
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodeSelector = nil
	} else {
		yyv2146 := &x.NodeSelector
		yym2147 := z.DecBinary()
		_ = yym2147
		if false {
		} else {
			z.F.DecMapStringStringX(yyv2146, false, d)
		}
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ServiceAccountName = ""
	} else {
		x.ServiceAccountName = string(r.DecodeString())
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodeName = ""
	} else {
		x.NodeName = string(r.DecodeString())
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		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)
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ImagePullSecrets = nil
	} else {
		yyv2151 := &x.ImagePullSecrets
		yym2152 := z.DecBinary()
		_ = yym2152
		if false {
		} else {
			h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv2151), d)
		}
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Hostname = ""
	} else {
		x.Hostname = string(r.DecodeString())
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Subdomain = ""
	} else {
		x.Subdomain = string(r.DecodeString())
	}
	for {
		yyj2135++
		if yyhl2135 {
			yyb2135 = yyj2135 > l
		} else {
			yyb2135 = r.CheckBreak()
		}
		if yyb2135 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2135-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 {
		yym2155 := z.EncBinary()
		_ = yym2155
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2156 := !z.EncBinary()
			yy2arr2156 := z.EncBasicHandle().StructToArray
			var yyq2156 [2]bool
			_, _, _ = yysep2156, yyq2156, yy2arr2156
			const yyr2156 bool = false
			var yynn2156 int
			if yyr2156 || yy2arr2156 {
				r.EncodeArrayStart(2)
			} else {
				yynn2156 = 2
				for _, b := range yyq2156 {
					if b {
						yynn2156++
					}
				}
				r.EncodeMapStart(yynn2156)
				yynn2156 = 0
			}
			if yyr2156 || yy2arr2156 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2158 := z.EncBinary()
				_ = yym2158
				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)
				yym2159 := z.EncBinary()
				_ = yym2159
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr2156 || yy2arr2156 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2161 := z.EncBinary()
				_ = yym2161
				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)
				yym2162 := z.EncBinary()
				_ = yym2162
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Value))
				}
			}
			if yyr2156 || yy2arr2156 {
				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
	yym2163 := z.DecBinary()
	_ = yym2163
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2164 := r.ContainerType()
		if yyct2164 == codecSelferValueTypeMap1234 {
			yyl2164 := r.ReadMapStart()
			if yyl2164 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2164, d)
			}
		} else if yyct2164 == codecSelferValueTypeArray1234 {
			yyl2164 := r.ReadArrayStart()
			if yyl2164 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2164, 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 yys2165Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2165Slc
	var yyhl2165 bool = l >= 0
	for yyj2165 := 0; ; yyj2165++ {
		if yyhl2165 {
			if yyj2165 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2165Slc = r.DecodeBytes(yys2165Slc, true, true)
		yys2165 := string(yys2165Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2165 {
		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, yys2165)
		} // end switch yys2165
	} // end for yyj2165
	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 yyj2168 int
	var yyb2168 bool
	var yyhl2168 bool = l >= 0
	yyj2168++
	if yyhl2168 {
		yyb2168 = yyj2168 > l
	} else {
		yyb2168 = r.CheckBreak()
	}
	if yyb2168 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj2168++
	if yyhl2168 {
		yyb2168 = yyj2168 > l
	} else {
		yyb2168 = r.CheckBreak()
	}
	if yyb2168 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Value = ""
	} else {
		x.Value = string(r.DecodeString())
	}
	for {
		yyj2168++
		if yyhl2168 {
			yyb2168 = yyj2168 > l
		} else {
			yyb2168 = r.CheckBreak()
		}
		if yyb2168 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2168-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 {
		yym2171 := z.EncBinary()
		_ = yym2171
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2172 := !z.EncBinary()
			yy2arr2172 := z.EncBasicHandle().StructToArray
			var yyq2172 [8]bool
			_, _, _ = yysep2172, yyq2172, yy2arr2172
			const yyr2172 bool = false
			yyq2172[0] = x.HostNetwork != false
			yyq2172[1] = x.HostPID != false
			yyq2172[2] = x.HostIPC != false
			yyq2172[3] = x.SELinuxOptions != nil
			yyq2172[4] = x.RunAsUser != nil
			yyq2172[5] = x.RunAsNonRoot != nil
			yyq2172[6] = len(x.SupplementalGroups) != 0
			yyq2172[7] = x.FSGroup != nil
			var yynn2172 int
			if yyr2172 || yy2arr2172 {
				r.EncodeArrayStart(8)
			} else {
				yynn2172 = 0
				for _, b := range yyq2172 {
					if b {
						yynn2172++
					}
				}
				r.EncodeMapStart(yynn2172)
				yynn2172 = 0
			}
			if yyr2172 || yy2arr2172 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2172[0] {
					yym2174 := z.EncBinary()
					_ = yym2174
					if false {
					} else {
						r.EncodeBool(bool(x.HostNetwork))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2172[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostNetwork"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2175 := z.EncBinary()
					_ = yym2175
					if false {
					} else {
						r.EncodeBool(bool(x.HostNetwork))
					}
				}
			}
			if yyr2172 || yy2arr2172 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2172[1] {
					yym2177 := z.EncBinary()
					_ = yym2177
					if false {
					} else {
						r.EncodeBool(bool(x.HostPID))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2172[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2178 := z.EncBinary()
					_ = yym2178
					if false {
					} else {
						r.EncodeBool(bool(x.HostPID))
					}
				}
			}
			if yyr2172 || yy2arr2172 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2172[2] {
					yym2180 := z.EncBinary()
					_ = yym2180
					if false {
					} else {
						r.EncodeBool(bool(x.HostIPC))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2172[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostIPC"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2181 := z.EncBinary()
					_ = yym2181
					if false {
					} else {
						r.EncodeBool(bool(x.HostIPC))
					}
				}
			}
			if yyr2172 || yy2arr2172 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2172[3] {
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2172[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 yyr2172 || yy2arr2172 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2172[4] {
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy2184 := *x.RunAsUser
						yym2185 := z.EncBinary()
						_ = yym2185
						if false {
						} else {
							r.EncodeInt(int64(yy2184))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2172[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("runAsUser"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy2186 := *x.RunAsUser
						yym2187 := z.EncBinary()
						_ = yym2187
						if false {
						} else {
							r.EncodeInt(int64(yy2186))
						}
					}
				}
			}
			if yyr2172 || yy2arr2172 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2172[5] {
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy2189 := *x.RunAsNonRoot
						yym2190 := z.EncBinary()
						_ = yym2190
						if false {
						} else {
							r.EncodeBool(bool(yy2189))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2172[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("runAsNonRoot"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy2191 := *x.RunAsNonRoot
						yym2192 := z.EncBinary()
						_ = yym2192
						if false {
						} else {
							r.EncodeBool(bool(yy2191))
						}
					}
				}
			}
			if yyr2172 || yy2arr2172 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2172[6] {
					if x.SupplementalGroups == nil {
						r.EncodeNil()
					} else {
						yym2194 := z.EncBinary()
						_ = yym2194
						if false {
						} else {
							z.F.EncSliceInt64V(x.SupplementalGroups, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2172[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("supplementalGroups"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SupplementalGroups == nil {
						r.EncodeNil()
					} else {
						yym2195 := z.EncBinary()
						_ = yym2195
						if false {
						} else {
							z.F.EncSliceInt64V(x.SupplementalGroups, false, e)
						}
					}
				}
			}
			if yyr2172 || yy2arr2172 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2172[7] {
					if x.FSGroup == nil {
						r.EncodeNil()
					} else {
						yy2197 := *x.FSGroup
						yym2198 := z.EncBinary()
						_ = yym2198
						if false {
						} else {
							r.EncodeInt(int64(yy2197))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2172[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsGroup"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FSGroup == nil {
						r.EncodeNil()
					} else {
						yy2199 := *x.FSGroup
						yym2200 := z.EncBinary()
						_ = yym2200
						if false {
						} else {
							r.EncodeInt(int64(yy2199))
						}
					}
				}
			}
			if yyr2172 || yy2arr2172 {
				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
	yym2201 := z.DecBinary()
	_ = yym2201
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2202 := r.ContainerType()
		if yyct2202 == codecSelferValueTypeMap1234 {
			yyl2202 := r.ReadMapStart()
			if yyl2202 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2202, d)
			}
		} else if yyct2202 == codecSelferValueTypeArray1234 {
			yyl2202 := r.ReadArrayStart()
			if yyl2202 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2202, 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 yys2203Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2203Slc
	var yyhl2203 bool = l >= 0
	for yyj2203 := 0; ; yyj2203++ {
		if yyhl2203 {
			if yyj2203 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2203Slc = r.DecodeBytes(yys2203Slc, true, true)
		yys2203 := string(yys2203Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2203 {
		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)
				}
				yym2209 := z.DecBinary()
				_ = yym2209
				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)
				}
				yym2211 := z.DecBinary()
				_ = yym2211
				if false {
				} else {
					*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
				}
			}
		case "supplementalGroups":
			if r.TryDecodeAsNil() {
				x.SupplementalGroups = nil
			} else {
				yyv2212 := &x.SupplementalGroups
				yym2213 := z.DecBinary()
				_ = yym2213
				if false {
				} else {
					z.F.DecSliceInt64X(yyv2212, false, d)
				}
			}
		case "fsGroup":
			if r.TryDecodeAsNil() {
				if x.FSGroup != nil {
					x.FSGroup = nil
				}
			} else {
				if x.FSGroup == nil {
					x.FSGroup = new(int64)
				}
				yym2215 := z.DecBinary()
				_ = yym2215
				if false {
				} else {
					*((*int64)(x.FSGroup)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2203)
		} // end switch yys2203
	} // end for yyj2203
	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 yyj2216 int
	var yyb2216 bool
	var yyhl2216 bool = l >= 0
	yyj2216++
	if yyhl2216 {
		yyb2216 = yyj2216 > l
	} else {
		yyb2216 = r.CheckBreak()
	}
	if yyb2216 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostNetwork = false
	} else {
		x.HostNetwork = bool(r.DecodeBool())
	}
	yyj2216++
	if yyhl2216 {
		yyb2216 = yyj2216 > l
	} else {
		yyb2216 = r.CheckBreak()
	}
	if yyb2216 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostPID = false
	} else {
		x.HostPID = bool(r.DecodeBool())
	}
	yyj2216++
	if yyhl2216 {
		yyb2216 = yyj2216 > l
	} else {
		yyb2216 = r.CheckBreak()
	}
	if yyb2216 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostIPC = false
	} else {
		x.HostIPC = bool(r.DecodeBool())
	}
	yyj2216++
	if yyhl2216 {
		yyb2216 = yyj2216 > l
	} else {
		yyb2216 = r.CheckBreak()
	}
	if yyb2216 {
		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)
	}
	yyj2216++
	if yyhl2216 {
		yyb2216 = yyj2216 > l
	} else {
		yyb2216 = r.CheckBreak()
	}
	if yyb2216 {
		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)
		}
		yym2222 := z.DecBinary()
		_ = yym2222
		if false {
		} else {
			*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
		}
	}
	yyj2216++
	if yyhl2216 {
		yyb2216 = yyj2216 > l
	} else {
		yyb2216 = r.CheckBreak()
	}
	if yyb2216 {
		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)
		}
		yym2224 := z.DecBinary()
		_ = yym2224
		if false {
		} else {
			*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
		}
	}
	yyj2216++
	if yyhl2216 {
		yyb2216 = yyj2216 > l
	} else {
		yyb2216 = r.CheckBreak()
	}
	if yyb2216 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SupplementalGroups = nil
	} else {
		yyv2225 := &x.SupplementalGroups
		yym2226 := z.DecBinary()
		_ = yym2226
		if false {
		} else {
			z.F.DecSliceInt64X(yyv2225, false, d)
		}
	}
	yyj2216++
	if yyhl2216 {
		yyb2216 = yyj2216 > l
	} else {
		yyb2216 = r.CheckBreak()
	}
	if yyb2216 {
		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)
		}
		yym2228 := z.DecBinary()
		_ = yym2228
		if false {
		} else {
			*((*int64)(x.FSGroup)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj2216++
		if yyhl2216 {
			yyb2216 = yyj2216 > l
		} else {
			yyb2216 = r.CheckBreak()
		}
		if yyb2216 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2216-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 {
		yym2229 := z.EncBinary()
		_ = yym2229
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2230 := !z.EncBinary()
			yy2arr2230 := z.EncBasicHandle().StructToArray
			var yyq2230 [8]bool
			_, _, _ = yysep2230, yyq2230, yy2arr2230
			const yyr2230 bool = false
			yyq2230[0] = x.Phase != ""
			yyq2230[1] = len(x.Conditions) != 0
			yyq2230[2] = x.Message != ""
			yyq2230[3] = x.Reason != ""
			yyq2230[4] = x.HostIP != ""
			yyq2230[5] = x.PodIP != ""
			yyq2230[6] = x.StartTime != nil
			yyq2230[7] = len(x.ContainerStatuses) != 0
			var yynn2230 int
			if yyr2230 || yy2arr2230 {
				r.EncodeArrayStart(8)
			} else {
				yynn2230 = 0
				for _, b := range yyq2230 {
					if b {
						yynn2230++
					}
				}
				r.EncodeMapStart(yynn2230)
				yynn2230 = 0
			}
			if yyr2230 || yy2arr2230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2230[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2230[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr2230 || yy2arr2230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2230[1] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym2233 := z.EncBinary()
						_ = yym2233
						if false {
						} else {
							h.encSlicePodCondition(([]PodCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2230[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym2234 := z.EncBinary()
						_ = yym2234
						if false {
						} else {
							h.encSlicePodCondition(([]PodCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr2230 || yy2arr2230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2230[2] {
					yym2236 := z.EncBinary()
					_ = yym2236
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2230[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2237 := z.EncBinary()
					_ = yym2237
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr2230 || yy2arr2230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2230[3] {
					yym2239 := z.EncBinary()
					_ = yym2239
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2230[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2240 := z.EncBinary()
					_ = yym2240
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr2230 || yy2arr2230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2230[4] {
					yym2242 := z.EncBinary()
					_ = yym2242
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2230[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2243 := z.EncBinary()
					_ = yym2243
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				}
			}
			if yyr2230 || yy2arr2230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2230[5] {
					yym2245 := z.EncBinary()
					_ = yym2245
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2230[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("podIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2246 := z.EncBinary()
					_ = yym2246
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodIP))
					}
				}
			}
			if yyr2230 || yy2arr2230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2230[6] {
					if x.StartTime == nil {
						r.EncodeNil()
					} else {
						yym2248 := z.EncBinary()
						_ = yym2248
						if false {
						} else if z.HasExtensions() && z.EncExt(x.StartTime) {
						} else if yym2248 {
							z.EncBinaryMarshal(x.StartTime)
						} else if !yym2248 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.StartTime)
						} else {
							z.EncFallback(x.StartTime)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2230[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("startTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.StartTime == nil {
						r.EncodeNil()
					} else {
						yym2249 := z.EncBinary()
						_ = yym2249
						if false {
						} else if z.HasExtensions() && z.EncExt(x.StartTime) {
						} else if yym2249 {
							z.EncBinaryMarshal(x.StartTime)
						} else if !yym2249 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.StartTime)
						} else {
							z.EncFallback(x.StartTime)
						}
					}
				}
			}
			if yyr2230 || yy2arr2230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2230[7] {
					if x.ContainerStatuses == nil {
						r.EncodeNil()
					} else {
						yym2251 := z.EncBinary()
						_ = yym2251
						if false {
						} else {
							h.encSliceContainerStatus(([]ContainerStatus)(x.ContainerStatuses), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2230[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("containerStatuses"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ContainerStatuses == nil {
						r.EncodeNil()
					} else {
						yym2252 := z.EncBinary()
						_ = yym2252
						if false {
						} else {
							h.encSliceContainerStatus(([]ContainerStatus)(x.ContainerStatuses), e)
						}
					}
				}
			}
			if yyr2230 || yy2arr2230 {
				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
	yym2253 := z.DecBinary()
	_ = yym2253
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2254 := r.ContainerType()
		if yyct2254 == codecSelferValueTypeMap1234 {
			yyl2254 := r.ReadMapStart()
			if yyl2254 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2254, d)
			}
		} else if yyct2254 == codecSelferValueTypeArray1234 {
			yyl2254 := r.ReadArrayStart()
			if yyl2254 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2254, 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 yys2255Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2255Slc
	var yyhl2255 bool = l >= 0
	for yyj2255 := 0; ; yyj2255++ {
		if yyhl2255 {
			if yyj2255 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2255Slc = r.DecodeBytes(yys2255Slc, true, true)
		yys2255 := string(yys2255Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2255 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = PodPhase(r.DecodeString())
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv2257 := &x.Conditions
				yym2258 := z.DecBinary()
				_ = yym2258
				if false {
				} else {
					h.decSlicePodCondition((*[]PodCondition)(yyv2257), 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_unversioned.Time)
				}
				yym2264 := z.DecBinary()
				_ = yym2264
				if false {
				} else if z.HasExtensions() && z.DecExt(x.StartTime) {
				} else if yym2264 {
					z.DecBinaryUnmarshal(x.StartTime)
				} else if !yym2264 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(x.StartTime)
				} else {
					z.DecFallback(x.StartTime, false)
				}
			}
		case "containerStatuses":
			if r.TryDecodeAsNil() {
				x.ContainerStatuses = nil
			} else {
				yyv2265 := &x.ContainerStatuses
				yym2266 := z.DecBinary()
				_ = yym2266
				if false {
				} else {
					h.decSliceContainerStatus((*[]ContainerStatus)(yyv2265), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2255)
		} // end switch yys2255
	} // end for yyj2255
	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 yyj2267 int
	var yyb2267 bool
	var yyhl2267 bool = l >= 0
	yyj2267++
	if yyhl2267 {
		yyb2267 = yyj2267 > l
	} else {
		yyb2267 = r.CheckBreak()
	}
	if yyb2267 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = PodPhase(r.DecodeString())
	}
	yyj2267++
	if yyhl2267 {
		yyb2267 = yyj2267 > l
	} else {
		yyb2267 = r.CheckBreak()
	}
	if yyb2267 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv2269 := &x.Conditions
		yym2270 := z.DecBinary()
		_ = yym2270
		if false {
		} else {
			h.decSlicePodCondition((*[]PodCondition)(yyv2269), d)
		}
	}
	yyj2267++
	if yyhl2267 {
		yyb2267 = yyj2267 > l
	} else {
		yyb2267 = r.CheckBreak()
	}
	if yyb2267 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj2267++
	if yyhl2267 {
		yyb2267 = yyj2267 > l
	} else {
		yyb2267 = r.CheckBreak()
	}
	if yyb2267 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj2267++
	if yyhl2267 {
		yyb2267 = yyj2267 > l
	} else {
		yyb2267 = r.CheckBreak()
	}
	if yyb2267 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostIP = ""
	} else {
		x.HostIP = string(r.DecodeString())
	}
	yyj2267++
	if yyhl2267 {
		yyb2267 = yyj2267 > l
	} else {
		yyb2267 = r.CheckBreak()
	}
	if yyb2267 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PodIP = ""
	} else {
		x.PodIP = string(r.DecodeString())
	}
	yyj2267++
	if yyhl2267 {
		yyb2267 = yyj2267 > l
	} else {
		yyb2267 = r.CheckBreak()
	}
	if yyb2267 {
		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_unversioned.Time)
		}
		yym2276 := z.DecBinary()
		_ = yym2276
		if false {
		} else if z.HasExtensions() && z.DecExt(x.StartTime) {
		} else if yym2276 {
			z.DecBinaryUnmarshal(x.StartTime)
		} else if !yym2276 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(x.StartTime)
		} else {
			z.DecFallback(x.StartTime, false)
		}
	}
	yyj2267++
	if yyhl2267 {
		yyb2267 = yyj2267 > l
	} else {
		yyb2267 = r.CheckBreak()
	}
	if yyb2267 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerStatuses = nil
	} else {
		yyv2277 := &x.ContainerStatuses
		yym2278 := z.DecBinary()
		_ = yym2278
		if false {
		} else {
			h.decSliceContainerStatus((*[]ContainerStatus)(yyv2277), d)
		}
	}
	for {
		yyj2267++
		if yyhl2267 {
			yyb2267 = yyj2267 > l
		} else {
			yyb2267 = r.CheckBreak()
		}
		if yyb2267 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2267-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 {
		yym2279 := z.EncBinary()
		_ = yym2279
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2280 := !z.EncBinary()
			yy2arr2280 := z.EncBasicHandle().StructToArray
			var yyq2280 [4]bool
			_, _, _ = yysep2280, yyq2280, yy2arr2280
			const yyr2280 bool = false
			yyq2280[0] = x.Kind != ""
			yyq2280[1] = x.APIVersion != ""
			yyq2280[2] = true
			yyq2280[3] = true
			var yynn2280 int
			if yyr2280 || yy2arr2280 {
				r.EncodeArrayStart(4)
			} else {
				yynn2280 = 0
				for _, b := range yyq2280 {
					if b {
						yynn2280++
					}
				}
				r.EncodeMapStart(yynn2280)
				yynn2280 = 0
			}
			if yyr2280 || yy2arr2280 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2280[0] {
					yym2282 := z.EncBinary()
					_ = yym2282
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2280[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2283 := z.EncBinary()
					_ = yym2283
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2280 || yy2arr2280 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2280[1] {
					yym2285 := z.EncBinary()
					_ = yym2285
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2280[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2286 := z.EncBinary()
					_ = yym2286
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2280 || yy2arr2280 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2280[2] {
					yy2288 := &x.ObjectMeta
					yy2288.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2280[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2289 := &x.ObjectMeta
					yy2289.CodecEncodeSelf(e)
				}
			}
			if yyr2280 || yy2arr2280 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2280[3] {
					yy2291 := &x.Status
					yy2291.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2280[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2292 := &x.Status
					yy2292.CodecEncodeSelf(e)
				}
			}
			if yyr2280 || yy2arr2280 {
				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
	yym2293 := z.DecBinary()
	_ = yym2293
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2294 := r.ContainerType()
		if yyct2294 == codecSelferValueTypeMap1234 {
			yyl2294 := r.ReadMapStart()
			if yyl2294 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2294, d)
			}
		} else if yyct2294 == codecSelferValueTypeArray1234 {
			yyl2294 := r.ReadArrayStart()
			if yyl2294 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2294, 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 yys2295Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2295Slc
	var yyhl2295 bool = l >= 0
	for yyj2295 := 0; ; yyj2295++ {
		if yyhl2295 {
			if yyj2295 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2295Slc = r.DecodeBytes(yys2295Slc, true, true)
		yys2295 := string(yys2295Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2295 {
		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 {
				yyv2298 := &x.ObjectMeta
				yyv2298.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PodStatus{}
			} else {
				yyv2299 := &x.Status
				yyv2299.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2295)
		} // end switch yys2295
	} // end for yyj2295
	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 yyj2300 int
	var yyb2300 bool
	var yyhl2300 bool = l >= 0
	yyj2300++
	if yyhl2300 {
		yyb2300 = yyj2300 > l
	} else {
		yyb2300 = r.CheckBreak()
	}
	if yyb2300 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2300++
	if yyhl2300 {
		yyb2300 = yyj2300 > l
	} else {
		yyb2300 = r.CheckBreak()
	}
	if yyb2300 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2300++
	if yyhl2300 {
		yyb2300 = yyj2300 > l
	} else {
		yyb2300 = r.CheckBreak()
	}
	if yyb2300 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2303 := &x.ObjectMeta
		yyv2303.CodecDecodeSelf(d)
	}
	yyj2300++
	if yyhl2300 {
		yyb2300 = yyj2300 > l
	} else {
		yyb2300 = r.CheckBreak()
	}
	if yyb2300 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = PodStatus{}
	} else {
		yyv2304 := &x.Status
		yyv2304.CodecDecodeSelf(d)
	}
	for {
		yyj2300++
		if yyhl2300 {
			yyb2300 = yyj2300 > l
		} else {
			yyb2300 = r.CheckBreak()
		}
		if yyb2300 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2300-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 {
		yym2305 := z.EncBinary()
		_ = yym2305
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2306 := !z.EncBinary()
			yy2arr2306 := z.EncBasicHandle().StructToArray
			var yyq2306 [5]bool
			_, _, _ = yysep2306, yyq2306, yy2arr2306
			const yyr2306 bool = false
			yyq2306[0] = x.Kind != ""
			yyq2306[1] = x.APIVersion != ""
			yyq2306[2] = true
			yyq2306[3] = true
			yyq2306[4] = true
			var yynn2306 int
			if yyr2306 || yy2arr2306 {
				r.EncodeArrayStart(5)
			} else {
				yynn2306 = 0
				for _, b := range yyq2306 {
					if b {
						yynn2306++
					}
				}
				r.EncodeMapStart(yynn2306)
				yynn2306 = 0
			}
			if yyr2306 || yy2arr2306 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2306[0] {
					yym2308 := z.EncBinary()
					_ = yym2308
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2306[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2309 := z.EncBinary()
					_ = yym2309
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2306 || yy2arr2306 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2306[1] {
					yym2311 := z.EncBinary()
					_ = yym2311
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2306[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2312 := z.EncBinary()
					_ = yym2312
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2306 || yy2arr2306 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2306[2] {
					yy2314 := &x.ObjectMeta
					yy2314.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2306[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2315 := &x.ObjectMeta
					yy2315.CodecEncodeSelf(e)
				}
			}
			if yyr2306 || yy2arr2306 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2306[3] {
					yy2317 := &x.Spec
					yy2317.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2306[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2318 := &x.Spec
					yy2318.CodecEncodeSelf(e)
				}
			}
			if yyr2306 || yy2arr2306 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2306[4] {
					yy2320 := &x.Status
					yy2320.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2306[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2321 := &x.Status
					yy2321.CodecEncodeSelf(e)
				}
			}
			if yyr2306 || yy2arr2306 {
				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
	yym2322 := z.DecBinary()
	_ = yym2322
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2323 := r.ContainerType()
		if yyct2323 == codecSelferValueTypeMap1234 {
			yyl2323 := r.ReadMapStart()
			if yyl2323 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2323, d)
			}
		} else if yyct2323 == codecSelferValueTypeArray1234 {
			yyl2323 := r.ReadArrayStart()
			if yyl2323 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2323, 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 yys2324Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2324Slc
	var yyhl2324 bool = l >= 0
	for yyj2324 := 0; ; yyj2324++ {
		if yyhl2324 {
			if yyj2324 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2324Slc = r.DecodeBytes(yys2324Slc, true, true)
		yys2324 := string(yys2324Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2324 {
		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 {
				yyv2327 := &x.ObjectMeta
				yyv2327.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PodSpec{}
			} else {
				yyv2328 := &x.Spec
				yyv2328.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PodStatus{}
			} else {
				yyv2329 := &x.Status
				yyv2329.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2324)
		} // end switch yys2324
	} // end for yyj2324
	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 yyj2330 int
	var yyb2330 bool
	var yyhl2330 bool = l >= 0
	yyj2330++
	if yyhl2330 {
		yyb2330 = yyj2330 > l
	} else {
		yyb2330 = r.CheckBreak()
	}
	if yyb2330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2330++
	if yyhl2330 {
		yyb2330 = yyj2330 > l
	} else {
		yyb2330 = r.CheckBreak()
	}
	if yyb2330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2330++
	if yyhl2330 {
		yyb2330 = yyj2330 > l
	} else {
		yyb2330 = r.CheckBreak()
	}
	if yyb2330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2333 := &x.ObjectMeta
		yyv2333.CodecDecodeSelf(d)
	}
	yyj2330++
	if yyhl2330 {
		yyb2330 = yyj2330 > l
	} else {
		yyb2330 = r.CheckBreak()
	}
	if yyb2330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = PodSpec{}
	} else {
		yyv2334 := &x.Spec
		yyv2334.CodecDecodeSelf(d)
	}
	yyj2330++
	if yyhl2330 {
		yyb2330 = yyj2330 > l
	} else {
		yyb2330 = r.CheckBreak()
	}
	if yyb2330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = PodStatus{}
	} else {
		yyv2335 := &x.Status
		yyv2335.CodecDecodeSelf(d)
	}
	for {
		yyj2330++
		if yyhl2330 {
			yyb2330 = yyj2330 > l
		} else {
			yyb2330 = r.CheckBreak()
		}
		if yyb2330 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2330-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 {
		yym2336 := z.EncBinary()
		_ = yym2336
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2337 := !z.EncBinary()
			yy2arr2337 := z.EncBasicHandle().StructToArray
			var yyq2337 [2]bool
			_, _, _ = yysep2337, yyq2337, yy2arr2337
			const yyr2337 bool = false
			yyq2337[0] = true
			yyq2337[1] = true
			var yynn2337 int
			if yyr2337 || yy2arr2337 {
				r.EncodeArrayStart(2)
			} else {
				yynn2337 = 0
				for _, b := range yyq2337 {
					if b {
						yynn2337++
					}
				}
				r.EncodeMapStart(yynn2337)
				yynn2337 = 0
			}
			if yyr2337 || yy2arr2337 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2337[0] {
					yy2339 := &x.ObjectMeta
					yy2339.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2337[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2340 := &x.ObjectMeta
					yy2340.CodecEncodeSelf(e)
				}
			}
			if yyr2337 || yy2arr2337 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2337[1] {
					yy2342 := &x.Spec
					yy2342.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2337[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2343 := &x.Spec
					yy2343.CodecEncodeSelf(e)
				}
			}
			if yyr2337 || yy2arr2337 {
				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
	yym2344 := z.DecBinary()
	_ = yym2344
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2345 := r.ContainerType()
		if yyct2345 == codecSelferValueTypeMap1234 {
			yyl2345 := r.ReadMapStart()
			if yyl2345 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2345, d)
			}
		} else if yyct2345 == codecSelferValueTypeArray1234 {
			yyl2345 := r.ReadArrayStart()
			if yyl2345 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2345, 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 yys2346Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2346Slc
	var yyhl2346 bool = l >= 0
	for yyj2346 := 0; ; yyj2346++ {
		if yyhl2346 {
			if yyj2346 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2346Slc = r.DecodeBytes(yys2346Slc, true, true)
		yys2346 := string(yys2346Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2346 {
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2347 := &x.ObjectMeta
				yyv2347.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PodSpec{}
			} else {
				yyv2348 := &x.Spec
				yyv2348.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2346)
		} // end switch yys2346
	} // end for yyj2346
	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 yyj2349 int
	var yyb2349 bool
	var yyhl2349 bool = l >= 0
	yyj2349++
	if yyhl2349 {
		yyb2349 = yyj2349 > l
	} else {
		yyb2349 = r.CheckBreak()
	}
	if yyb2349 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2350 := &x.ObjectMeta
		yyv2350.CodecDecodeSelf(d)
	}
	yyj2349++
	if yyhl2349 {
		yyb2349 = yyj2349 > l
	} else {
		yyb2349 = r.CheckBreak()
	}
	if yyb2349 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = PodSpec{}
	} else {
		yyv2351 := &x.Spec
		yyv2351.CodecDecodeSelf(d)
	}
	for {
		yyj2349++
		if yyhl2349 {
			yyb2349 = yyj2349 > l
		} else {
			yyb2349 = r.CheckBreak()
		}
		if yyb2349 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2349-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 {
		yym2352 := z.EncBinary()
		_ = yym2352
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2353 := !z.EncBinary()
			yy2arr2353 := z.EncBasicHandle().StructToArray
			var yyq2353 [4]bool
			_, _, _ = yysep2353, yyq2353, yy2arr2353
			const yyr2353 bool = false
			yyq2353[0] = x.Kind != ""
			yyq2353[1] = x.APIVersion != ""
			yyq2353[2] = true
			yyq2353[3] = true
			var yynn2353 int
			if yyr2353 || yy2arr2353 {
				r.EncodeArrayStart(4)
			} else {
				yynn2353 = 0
				for _, b := range yyq2353 {
					if b {
						yynn2353++
					}
				}
				r.EncodeMapStart(yynn2353)
				yynn2353 = 0
			}
			if yyr2353 || yy2arr2353 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2353[0] {
					yym2355 := z.EncBinary()
					_ = yym2355
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2353[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2356 := z.EncBinary()
					_ = yym2356
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2353 || yy2arr2353 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2353[1] {
					yym2358 := z.EncBinary()
					_ = yym2358
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2353[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2359 := z.EncBinary()
					_ = yym2359
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2353 || yy2arr2353 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2353[2] {
					yy2361 := &x.ObjectMeta
					yy2361.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2353[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2362 := &x.ObjectMeta
					yy2362.CodecEncodeSelf(e)
				}
			}
			if yyr2353 || yy2arr2353 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2353[3] {
					yy2364 := &x.Template
					yy2364.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2353[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("template"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2365 := &x.Template
					yy2365.CodecEncodeSelf(e)
				}
			}
			if yyr2353 || yy2arr2353 {
				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
	yym2366 := z.DecBinary()
	_ = yym2366
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2367 := r.ContainerType()
		if yyct2367 == codecSelferValueTypeMap1234 {
			yyl2367 := r.ReadMapStart()
			if yyl2367 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2367, d)
			}
		} else if yyct2367 == codecSelferValueTypeArray1234 {
			yyl2367 := r.ReadArrayStart()
			if yyl2367 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2367, 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 yys2368Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2368Slc
	var yyhl2368 bool = l >= 0
	for yyj2368 := 0; ; yyj2368++ {
		if yyhl2368 {
			if yyj2368 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2368Slc = r.DecodeBytes(yys2368Slc, true, true)
		yys2368 := string(yys2368Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2368 {
		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 {
				yyv2371 := &x.ObjectMeta
				yyv2371.CodecDecodeSelf(d)
			}
		case "template":
			if r.TryDecodeAsNil() {
				x.Template = PodTemplateSpec{}
			} else {
				yyv2372 := &x.Template
				yyv2372.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2368)
		} // end switch yys2368
	} // end for yyj2368
	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 yyj2373 int
	var yyb2373 bool
	var yyhl2373 bool = l >= 0
	yyj2373++
	if yyhl2373 {
		yyb2373 = yyj2373 > l
	} else {
		yyb2373 = r.CheckBreak()
	}
	if yyb2373 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2373++
	if yyhl2373 {
		yyb2373 = yyj2373 > l
	} else {
		yyb2373 = r.CheckBreak()
	}
	if yyb2373 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2373++
	if yyhl2373 {
		yyb2373 = yyj2373 > l
	} else {
		yyb2373 = r.CheckBreak()
	}
	if yyb2373 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2376 := &x.ObjectMeta
		yyv2376.CodecDecodeSelf(d)
	}
	yyj2373++
	if yyhl2373 {
		yyb2373 = yyj2373 > l
	} else {
		yyb2373 = r.CheckBreak()
	}
	if yyb2373 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Template = PodTemplateSpec{}
	} else {
		yyv2377 := &x.Template
		yyv2377.CodecDecodeSelf(d)
	}
	for {
		yyj2373++
		if yyhl2373 {
			yyb2373 = yyj2373 > l
		} else {
			yyb2373 = r.CheckBreak()
		}
		if yyb2373 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2373-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 {
		yym2378 := z.EncBinary()
		_ = yym2378
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2379 := !z.EncBinary()
			yy2arr2379 := z.EncBasicHandle().StructToArray
			var yyq2379 [4]bool
			_, _, _ = yysep2379, yyq2379, yy2arr2379
			const yyr2379 bool = false
			yyq2379[0] = x.Kind != ""
			yyq2379[1] = x.APIVersion != ""
			yyq2379[2] = true
			var yynn2379 int
			if yyr2379 || yy2arr2379 {
				r.EncodeArrayStart(4)
			} else {
				yynn2379 = 1
				for _, b := range yyq2379 {
					if b {
						yynn2379++
					}
				}
				r.EncodeMapStart(yynn2379)
				yynn2379 = 0
			}
			if yyr2379 || yy2arr2379 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2379[0] {
					yym2381 := z.EncBinary()
					_ = yym2381
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2379[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2382 := z.EncBinary()
					_ = yym2382
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2379 || yy2arr2379 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2379[1] {
					yym2384 := z.EncBinary()
					_ = yym2384
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2379[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2385 := z.EncBinary()
					_ = yym2385
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2379 || yy2arr2379 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2379[2] {
					yy2387 := &x.ListMeta
					yym2388 := z.EncBinary()
					_ = yym2388
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2387) {
					} else {
						z.EncFallback(yy2387)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2379[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2389 := &x.ListMeta
					yym2390 := z.EncBinary()
					_ = yym2390
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2389) {
					} else {
						z.EncFallback(yy2389)
					}
				}
			}
			if yyr2379 || yy2arr2379 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2392 := z.EncBinary()
					_ = yym2392
					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 {
					yym2393 := z.EncBinary()
					_ = yym2393
					if false {
					} else {
						h.encSlicePodTemplate(([]PodTemplate)(x.Items), e)
					}
				}
			}
			if yyr2379 || yy2arr2379 {
				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
	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 *PodTemplateList) 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.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv2399 := &x.ListMeta
				yym2400 := z.DecBinary()
				_ = yym2400
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2399) {
				} else {
					z.DecFallback(yyv2399, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2401 := &x.Items
				yym2402 := z.DecBinary()
				_ = yym2402
				if false {
				} else {
					h.decSlicePodTemplate((*[]PodTemplate)(yyv2401), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2396)
		} // end switch yys2396
	} // end for yyj2396
	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 yyj2403 int
	var yyb2403 bool
	var yyhl2403 bool = l >= 0
	yyj2403++
	if yyhl2403 {
		yyb2403 = yyj2403 > l
	} else {
		yyb2403 = r.CheckBreak()
	}
	if yyb2403 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2403++
	if yyhl2403 {
		yyb2403 = yyj2403 > l
	} else {
		yyb2403 = r.CheckBreak()
	}
	if yyb2403 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2403++
	if yyhl2403 {
		yyb2403 = yyj2403 > l
	} else {
		yyb2403 = r.CheckBreak()
	}
	if yyb2403 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2406 := &x.ListMeta
		yym2407 := z.DecBinary()
		_ = yym2407
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2406) {
		} else {
			z.DecFallback(yyv2406, false)
		}
	}
	yyj2403++
	if yyhl2403 {
		yyb2403 = yyj2403 > l
	} else {
		yyb2403 = r.CheckBreak()
	}
	if yyb2403 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2408 := &x.Items
		yym2409 := z.DecBinary()
		_ = yym2409
		if false {
		} else {
			h.decSlicePodTemplate((*[]PodTemplate)(yyv2408), d)
		}
	}
	for {
		yyj2403++
		if yyhl2403 {
			yyb2403 = yyj2403 > l
		} else {
			yyb2403 = r.CheckBreak()
		}
		if yyb2403 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2403-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 {
		yym2410 := z.EncBinary()
		_ = yym2410
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2411 := !z.EncBinary()
			yy2arr2411 := z.EncBasicHandle().StructToArray
			var yyq2411 [4]bool
			_, _, _ = yysep2411, yyq2411, yy2arr2411
			const yyr2411 bool = false
			yyq2411[1] = x.MinReadySeconds != 0
			yyq2411[3] = x.Template != nil
			var yynn2411 int
			if yyr2411 || yy2arr2411 {
				r.EncodeArrayStart(4)
			} else {
				yynn2411 = 2
				for _, b := range yyq2411 {
					if b {
						yynn2411++
					}
				}
				r.EncodeMapStart(yynn2411)
				yynn2411 = 0
			}
			if yyr2411 || yy2arr2411 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2413 := z.EncBinary()
				_ = yym2413
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("replicas"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2414 := z.EncBinary()
				_ = yym2414
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			}
			if yyr2411 || yy2arr2411 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2411[1] {
					yym2416 := z.EncBinary()
					_ = yym2416
					if false {
					} else {
						r.EncodeInt(int64(x.MinReadySeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2411[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("minReadySeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2417 := z.EncBinary()
					_ = yym2417
					if false {
					} else {
						r.EncodeInt(int64(x.MinReadySeconds))
					}
				}
			}
			if yyr2411 || yy2arr2411 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Selector == nil {
					r.EncodeNil()
				} else {
					yym2419 := z.EncBinary()
					_ = yym2419
					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 {
					yym2420 := z.EncBinary()
					_ = yym2420
					if false {
					} else {
						z.F.EncMapStringStringV(x.Selector, false, e)
					}
				}
			}
			if yyr2411 || yy2arr2411 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2411[3] {
					if x.Template == nil {
						r.EncodeNil()
					} else {
						x.Template.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2411[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 yyr2411 || yy2arr2411 {
				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
	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 *ReplicationControllerSpec) 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 "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 {
				yyv2427 := &x.Selector
				yym2428 := z.DecBinary()
				_ = yym2428
				if false {
				} else {
					z.F.DecMapStringStringX(yyv2427, 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, yys2424)
		} // end switch yys2424
	} // end for yyj2424
	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 yyj2430 int
	var yyb2430 bool
	var yyhl2430 bool = l >= 0
	yyj2430++
	if yyhl2430 {
		yyb2430 = yyj2430 > l
	} else {
		yyb2430 = r.CheckBreak()
	}
	if yyb2430 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Replicas = 0
	} else {
		x.Replicas = int32(r.DecodeInt(32))
	}
	yyj2430++
	if yyhl2430 {
		yyb2430 = yyj2430 > l
	} else {
		yyb2430 = r.CheckBreak()
	}
	if yyb2430 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.MinReadySeconds = 0
	} else {
		x.MinReadySeconds = int32(r.DecodeInt(32))
	}
	yyj2430++
	if yyhl2430 {
		yyb2430 = yyj2430 > l
	} else {
		yyb2430 = r.CheckBreak()
	}
	if yyb2430 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Selector = nil
	} else {
		yyv2433 := &x.Selector
		yym2434 := z.DecBinary()
		_ = yym2434
		if false {
		} else {
			z.F.DecMapStringStringX(yyv2433, false, d)
		}
	}
	yyj2430++
	if yyhl2430 {
		yyb2430 = yyj2430 > l
	} else {
		yyb2430 = r.CheckBreak()
	}
	if yyb2430 {
		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 {
		yyj2430++
		if yyhl2430 {
			yyb2430 = yyj2430 > l
		} else {
			yyb2430 = r.CheckBreak()
		}
		if yyb2430 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2430-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 {
		yym2436 := z.EncBinary()
		_ = yym2436
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2437 := !z.EncBinary()
			yy2arr2437 := z.EncBasicHandle().StructToArray
			var yyq2437 [6]bool
			_, _, _ = yysep2437, yyq2437, yy2arr2437
			const yyr2437 bool = false
			yyq2437[1] = x.FullyLabeledReplicas != 0
			yyq2437[2] = x.ReadyReplicas != 0
			yyq2437[3] = x.AvailableReplicas != 0
			yyq2437[4] = x.ObservedGeneration != 0
			yyq2437[5] = len(x.Conditions) != 0
			var yynn2437 int
			if yyr2437 || yy2arr2437 {
				r.EncodeArrayStart(6)
			} else {
				yynn2437 = 1
				for _, b := range yyq2437 {
					if b {
						yynn2437++
					}
				}
				r.EncodeMapStart(yynn2437)
				yynn2437 = 0
			}
			if yyr2437 || yy2arr2437 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2439 := z.EncBinary()
				_ = yym2439
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("replicas"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2440 := z.EncBinary()
				_ = yym2440
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			}
			if yyr2437 || yy2arr2437 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2437[1] {
					yym2442 := z.EncBinary()
					_ = yym2442
					if false {
					} else {
						r.EncodeInt(int64(x.FullyLabeledReplicas))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2437[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fullyLabeledReplicas"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2443 := z.EncBinary()
					_ = yym2443
					if false {
					} else {
						r.EncodeInt(int64(x.FullyLabeledReplicas))
					}
				}
			}
			if yyr2437 || yy2arr2437 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2437[2] {
					yym2445 := z.EncBinary()
					_ = yym2445
					if false {
					} else {
						r.EncodeInt(int64(x.ReadyReplicas))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2437[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readyReplicas"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2446 := z.EncBinary()
					_ = yym2446
					if false {
					} else {
						r.EncodeInt(int64(x.ReadyReplicas))
					}
				}
			}
			if yyr2437 || yy2arr2437 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2437[3] {
					yym2448 := z.EncBinary()
					_ = yym2448
					if false {
					} else {
						r.EncodeInt(int64(x.AvailableReplicas))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2437[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("availableReplicas"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2449 := z.EncBinary()
					_ = yym2449
					if false {
					} else {
						r.EncodeInt(int64(x.AvailableReplicas))
					}
				}
			}
			if yyr2437 || yy2arr2437 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2437[4] {
					yym2451 := z.EncBinary()
					_ = yym2451
					if false {
					} else {
						r.EncodeInt(int64(x.ObservedGeneration))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2437[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("observedGeneration"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2452 := z.EncBinary()
					_ = yym2452
					if false {
					} else {
						r.EncodeInt(int64(x.ObservedGeneration))
					}
				}
			}
			if yyr2437 || yy2arr2437 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2437[5] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym2454 := z.EncBinary()
						_ = yym2454
						if false {
						} else {
							h.encSliceReplicationControllerCondition(([]ReplicationControllerCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2437[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym2455 := z.EncBinary()
						_ = yym2455
						if false {
						} else {
							h.encSliceReplicationControllerCondition(([]ReplicationControllerCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr2437 || yy2arr2437 {
				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
	yym2456 := z.DecBinary()
	_ = yym2456
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2457 := r.ContainerType()
		if yyct2457 == codecSelferValueTypeMap1234 {
			yyl2457 := r.ReadMapStart()
			if yyl2457 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2457, d)
			}
		} else if yyct2457 == codecSelferValueTypeArray1234 {
			yyl2457 := r.ReadArrayStart()
			if yyl2457 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2457, 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 yys2458Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2458Slc
	var yyhl2458 bool = l >= 0
	for yyj2458 := 0; ; yyj2458++ {
		if yyhl2458 {
			if yyj2458 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2458Slc = r.DecodeBytes(yys2458Slc, true, true)
		yys2458 := string(yys2458Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2458 {
		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 {
				yyv2464 := &x.Conditions
				yym2465 := z.DecBinary()
				_ = yym2465
				if false {
				} else {
					h.decSliceReplicationControllerCondition((*[]ReplicationControllerCondition)(yyv2464), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2458)
		} // end switch yys2458
	} // end for yyj2458
	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 yyj2466 int
	var yyb2466 bool
	var yyhl2466 bool = l >= 0
	yyj2466++
	if yyhl2466 {
		yyb2466 = yyj2466 > l
	} else {
		yyb2466 = r.CheckBreak()
	}
	if yyb2466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Replicas = 0
	} else {
		x.Replicas = int32(r.DecodeInt(32))
	}
	yyj2466++
	if yyhl2466 {
		yyb2466 = yyj2466 > l
	} else {
		yyb2466 = r.CheckBreak()
	}
	if yyb2466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FullyLabeledReplicas = 0
	} else {
		x.FullyLabeledReplicas = int32(r.DecodeInt(32))
	}
	yyj2466++
	if yyhl2466 {
		yyb2466 = yyj2466 > l
	} else {
		yyb2466 = r.CheckBreak()
	}
	if yyb2466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadyReplicas = 0
	} else {
		x.ReadyReplicas = int32(r.DecodeInt(32))
	}
	yyj2466++
	if yyhl2466 {
		yyb2466 = yyj2466 > l
	} else {
		yyb2466 = r.CheckBreak()
	}
	if yyb2466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.AvailableReplicas = 0
	} else {
		x.AvailableReplicas = int32(r.DecodeInt(32))
	}
	yyj2466++
	if yyhl2466 {
		yyb2466 = yyj2466 > l
	} else {
		yyb2466 = r.CheckBreak()
	}
	if yyb2466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObservedGeneration = 0
	} else {
		x.ObservedGeneration = int64(r.DecodeInt(64))
	}
	yyj2466++
	if yyhl2466 {
		yyb2466 = yyj2466 > l
	} else {
		yyb2466 = r.CheckBreak()
	}
	if yyb2466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv2472 := &x.Conditions
		yym2473 := z.DecBinary()
		_ = yym2473
		if false {
		} else {
			h.decSliceReplicationControllerCondition((*[]ReplicationControllerCondition)(yyv2472), d)
		}
	}
	for {
		yyj2466++
		if yyhl2466 {
			yyb2466 = yyj2466 > l
		} else {
			yyb2466 = r.CheckBreak()
		}
		if yyb2466 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2466-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x ReplicationControllerConditionType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2474 := z.EncBinary()
	_ = yym2474
	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
	yym2475 := z.DecBinary()
	_ = yym2475
	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 {
		yym2476 := z.EncBinary()
		_ = yym2476
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2477 := !z.EncBinary()
			yy2arr2477 := z.EncBasicHandle().StructToArray
			var yyq2477 [5]bool
			_, _, _ = yysep2477, yyq2477, yy2arr2477
			const yyr2477 bool = false
			yyq2477[2] = true
			yyq2477[3] = x.Reason != ""
			yyq2477[4] = x.Message != ""
			var yynn2477 int
			if yyr2477 || yy2arr2477 {
				r.EncodeArrayStart(5)
			} else {
				yynn2477 = 2
				for _, b := range yyq2477 {
					if b {
						yynn2477++
					}
				}
				r.EncodeMapStart(yynn2477)
				yynn2477 = 0
			}
			if yyr2477 || yy2arr2477 {
				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 yyr2477 || yy2arr2477 {
				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 yyr2477 || yy2arr2477 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2477[2] {
					yy2481 := &x.LastTransitionTime
					yym2482 := z.EncBinary()
					_ = yym2482
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2481) {
					} else if yym2482 {
						z.EncBinaryMarshal(yy2481)
					} else if !yym2482 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2481)
					} else {
						z.EncFallback(yy2481)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2477[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastTransitionTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2483 := &x.LastTransitionTime
					yym2484 := z.EncBinary()
					_ = yym2484
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2483) {
					} else if yym2484 {
						z.EncBinaryMarshal(yy2483)
					} else if !yym2484 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2483)
					} else {
						z.EncFallback(yy2483)
					}
				}
			}
			if yyr2477 || yy2arr2477 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2477[3] {
					yym2486 := z.EncBinary()
					_ = yym2486
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2477[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2487 := z.EncBinary()
					_ = yym2487
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr2477 || yy2arr2477 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2477[4] {
					yym2489 := z.EncBinary()
					_ = yym2489
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2477[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2490 := z.EncBinary()
					_ = yym2490
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr2477 || yy2arr2477 {
				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
	yym2491 := z.DecBinary()
	_ = yym2491
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2492 := r.ContainerType()
		if yyct2492 == codecSelferValueTypeMap1234 {
			yyl2492 := r.ReadMapStart()
			if yyl2492 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2492, d)
			}
		} else if yyct2492 == codecSelferValueTypeArray1234 {
			yyl2492 := r.ReadArrayStart()
			if yyl2492 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2492, 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 yys2493Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2493Slc
	var yyhl2493 bool = l >= 0
	for yyj2493 := 0; ; yyj2493++ {
		if yyhl2493 {
			if yyj2493 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2493Slc = r.DecodeBytes(yys2493Slc, true, true)
		yys2493 := string(yys2493Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2493 {
		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_unversioned.Time{}
			} else {
				yyv2496 := &x.LastTransitionTime
				yym2497 := z.DecBinary()
				_ = yym2497
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2496) {
				} else if yym2497 {
					z.DecBinaryUnmarshal(yyv2496)
				} else if !yym2497 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv2496)
				} else {
					z.DecFallback(yyv2496, 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, yys2493)
		} // end switch yys2493
	} // end for yyj2493
	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 yyj2500 int
	var yyb2500 bool
	var yyhl2500 bool = l >= 0
	yyj2500++
	if yyhl2500 {
		yyb2500 = yyj2500 > l
	} else {
		yyb2500 = r.CheckBreak()
	}
	if yyb2500 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = ReplicationControllerConditionType(r.DecodeString())
	}
	yyj2500++
	if yyhl2500 {
		yyb2500 = yyj2500 > l
	} else {
		yyb2500 = r.CheckBreak()
	}
	if yyb2500 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj2500++
	if yyhl2500 {
		yyb2500 = yyj2500 > l
	} else {
		yyb2500 = r.CheckBreak()
	}
	if yyb2500 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTransitionTime = pkg2_unversioned.Time{}
	} else {
		yyv2503 := &x.LastTransitionTime
		yym2504 := z.DecBinary()
		_ = yym2504
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2503) {
		} else if yym2504 {
			z.DecBinaryUnmarshal(yyv2503)
		} else if !yym2504 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv2503)
		} else {
			z.DecFallback(yyv2503, false)
		}
	}
	yyj2500++
	if yyhl2500 {
		yyb2500 = yyj2500 > l
	} else {
		yyb2500 = r.CheckBreak()
	}
	if yyb2500 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj2500++
	if yyhl2500 {
		yyb2500 = yyj2500 > l
	} else {
		yyb2500 = r.CheckBreak()
	}
	if yyb2500 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj2500++
		if yyhl2500 {
			yyb2500 = yyj2500 > l
		} else {
			yyb2500 = r.CheckBreak()
		}
		if yyb2500 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2500-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 {
		yym2507 := z.EncBinary()
		_ = yym2507
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2508 := !z.EncBinary()
			yy2arr2508 := z.EncBasicHandle().StructToArray
			var yyq2508 [5]bool
			_, _, _ = yysep2508, yyq2508, yy2arr2508
			const yyr2508 bool = false
			yyq2508[0] = x.Kind != ""
			yyq2508[1] = x.APIVersion != ""
			yyq2508[2] = true
			yyq2508[3] = true
			yyq2508[4] = true
			var yynn2508 int
			if yyr2508 || yy2arr2508 {
				r.EncodeArrayStart(5)
			} else {
				yynn2508 = 0
				for _, b := range yyq2508 {
					if b {
						yynn2508++
					}
				}
				r.EncodeMapStart(yynn2508)
				yynn2508 = 0
			}
			if yyr2508 || yy2arr2508 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2508[0] {
					yym2510 := z.EncBinary()
					_ = yym2510
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2508[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2511 := z.EncBinary()
					_ = yym2511
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2508 || yy2arr2508 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2508[1] {
					yym2513 := z.EncBinary()
					_ = yym2513
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2508[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2514 := z.EncBinary()
					_ = yym2514
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2508 || yy2arr2508 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2508[2] {
					yy2516 := &x.ObjectMeta
					yy2516.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2508[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2517 := &x.ObjectMeta
					yy2517.CodecEncodeSelf(e)
				}
			}
			if yyr2508 || yy2arr2508 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2508[3] {
					yy2519 := &x.Spec
					yy2519.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2508[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2520 := &x.Spec
					yy2520.CodecEncodeSelf(e)
				}
			}
			if yyr2508 || yy2arr2508 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2508[4] {
					yy2522 := &x.Status
					yy2522.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2508[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2523 := &x.Status
					yy2523.CodecEncodeSelf(e)
				}
			}
			if yyr2508 || yy2arr2508 {
				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
	yym2524 := z.DecBinary()
	_ = yym2524
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2525 := r.ContainerType()
		if yyct2525 == codecSelferValueTypeMap1234 {
			yyl2525 := r.ReadMapStart()
			if yyl2525 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2525, d)
			}
		} else if yyct2525 == codecSelferValueTypeArray1234 {
			yyl2525 := r.ReadArrayStart()
			if yyl2525 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2525, 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 yys2526Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2526Slc
	var yyhl2526 bool = l >= 0
	for yyj2526 := 0; ; yyj2526++ {
		if yyhl2526 {
			if yyj2526 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2526Slc = r.DecodeBytes(yys2526Slc, true, true)
		yys2526 := string(yys2526Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2526 {
		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 {
				yyv2529 := &x.ObjectMeta
				yyv2529.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = ReplicationControllerSpec{}
			} else {
				yyv2530 := &x.Spec
				yyv2530.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ReplicationControllerStatus{}
			} else {
				yyv2531 := &x.Status
				yyv2531.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2526)
		} // end switch yys2526
	} // end for yyj2526
	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 yyj2532 int
	var yyb2532 bool
	var yyhl2532 bool = l >= 0
	yyj2532++
	if yyhl2532 {
		yyb2532 = yyj2532 > l
	} else {
		yyb2532 = r.CheckBreak()
	}
	if yyb2532 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2532++
	if yyhl2532 {
		yyb2532 = yyj2532 > l
	} else {
		yyb2532 = r.CheckBreak()
	}
	if yyb2532 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2532++
	if yyhl2532 {
		yyb2532 = yyj2532 > l
	} else {
		yyb2532 = r.CheckBreak()
	}
	if yyb2532 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2535 := &x.ObjectMeta
		yyv2535.CodecDecodeSelf(d)
	}
	yyj2532++
	if yyhl2532 {
		yyb2532 = yyj2532 > l
	} else {
		yyb2532 = r.CheckBreak()
	}
	if yyb2532 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = ReplicationControllerSpec{}
	} else {
		yyv2536 := &x.Spec
		yyv2536.CodecDecodeSelf(d)
	}
	yyj2532++
	if yyhl2532 {
		yyb2532 = yyj2532 > l
	} else {
		yyb2532 = r.CheckBreak()
	}
	if yyb2532 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ReplicationControllerStatus{}
	} else {
		yyv2537 := &x.Status
		yyv2537.CodecDecodeSelf(d)
	}
	for {
		yyj2532++
		if yyhl2532 {
			yyb2532 = yyj2532 > l
		} else {
			yyb2532 = r.CheckBreak()
		}
		if yyb2532 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2532-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 {
		yym2538 := z.EncBinary()
		_ = yym2538
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2539 := !z.EncBinary()
			yy2arr2539 := z.EncBasicHandle().StructToArray
			var yyq2539 [4]bool
			_, _, _ = yysep2539, yyq2539, yy2arr2539
			const yyr2539 bool = false
			yyq2539[0] = x.Kind != ""
			yyq2539[1] = x.APIVersion != ""
			yyq2539[2] = true
			var yynn2539 int
			if yyr2539 || yy2arr2539 {
				r.EncodeArrayStart(4)
			} else {
				yynn2539 = 1
				for _, b := range yyq2539 {
					if b {
						yynn2539++
					}
				}
				r.EncodeMapStart(yynn2539)
				yynn2539 = 0
			}
			if yyr2539 || yy2arr2539 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2539[0] {
					yym2541 := z.EncBinary()
					_ = yym2541
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2539[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2542 := z.EncBinary()
					_ = yym2542
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2539 || yy2arr2539 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2539[1] {
					yym2544 := z.EncBinary()
					_ = yym2544
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2539[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2545 := z.EncBinary()
					_ = yym2545
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2539 || yy2arr2539 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2539[2] {
					yy2547 := &x.ListMeta
					yym2548 := z.EncBinary()
					_ = yym2548
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2547) {
					} else {
						z.EncFallback(yy2547)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2539[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2549 := &x.ListMeta
					yym2550 := z.EncBinary()
					_ = yym2550
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2549) {
					} else {
						z.EncFallback(yy2549)
					}
				}
			}
			if yyr2539 || yy2arr2539 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2552 := z.EncBinary()
					_ = yym2552
					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 {
					yym2553 := z.EncBinary()
					_ = yym2553
					if false {
					} else {
						h.encSliceReplicationController(([]ReplicationController)(x.Items), e)
					}
				}
			}
			if yyr2539 || yy2arr2539 {
				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
	yym2554 := z.DecBinary()
	_ = yym2554
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2555 := r.ContainerType()
		if yyct2555 == codecSelferValueTypeMap1234 {
			yyl2555 := r.ReadMapStart()
			if yyl2555 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2555, d)
			}
		} else if yyct2555 == codecSelferValueTypeArray1234 {
			yyl2555 := r.ReadArrayStart()
			if yyl2555 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2555, 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 yys2556Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2556Slc
	var yyhl2556 bool = l >= 0
	for yyj2556 := 0; ; yyj2556++ {
		if yyhl2556 {
			if yyj2556 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2556Slc = r.DecodeBytes(yys2556Slc, true, true)
		yys2556 := string(yys2556Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2556 {
		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_unversioned.ListMeta{}
			} else {
				yyv2559 := &x.ListMeta
				yym2560 := z.DecBinary()
				_ = yym2560
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2559) {
				} else {
					z.DecFallback(yyv2559, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2561 := &x.Items
				yym2562 := z.DecBinary()
				_ = yym2562
				if false {
				} else {
					h.decSliceReplicationController((*[]ReplicationController)(yyv2561), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2556)
		} // end switch yys2556
	} // end for yyj2556
	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 yyj2563 int
	var yyb2563 bool
	var yyhl2563 bool = l >= 0
	yyj2563++
	if yyhl2563 {
		yyb2563 = yyj2563 > l
	} else {
		yyb2563 = r.CheckBreak()
	}
	if yyb2563 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2563++
	if yyhl2563 {
		yyb2563 = yyj2563 > l
	} else {
		yyb2563 = r.CheckBreak()
	}
	if yyb2563 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2563++
	if yyhl2563 {
		yyb2563 = yyj2563 > l
	} else {
		yyb2563 = r.CheckBreak()
	}
	if yyb2563 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2566 := &x.ListMeta
		yym2567 := z.DecBinary()
		_ = yym2567
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2566) {
		} else {
			z.DecFallback(yyv2566, false)
		}
	}
	yyj2563++
	if yyhl2563 {
		yyb2563 = yyj2563 > l
	} else {
		yyb2563 = r.CheckBreak()
	}
	if yyb2563 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2568 := &x.Items
		yym2569 := z.DecBinary()
		_ = yym2569
		if false {
		} else {
			h.decSliceReplicationController((*[]ReplicationController)(yyv2568), d)
		}
	}
	for {
		yyj2563++
		if yyhl2563 {
			yyb2563 = yyj2563 > l
		} else {
			yyb2563 = r.CheckBreak()
		}
		if yyb2563 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2563-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 {
		yym2570 := z.EncBinary()
		_ = yym2570
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2571 := !z.EncBinary()
			yy2arr2571 := z.EncBasicHandle().StructToArray
			var yyq2571 [4]bool
			_, _, _ = yysep2571, yyq2571, yy2arr2571
			const yyr2571 bool = false
			yyq2571[0] = x.Kind != ""
			yyq2571[1] = x.APIVersion != ""
			yyq2571[2] = true
			var yynn2571 int
			if yyr2571 || yy2arr2571 {
				r.EncodeArrayStart(4)
			} else {
				yynn2571 = 1
				for _, b := range yyq2571 {
					if b {
						yynn2571++
					}
				}
				r.EncodeMapStart(yynn2571)
				yynn2571 = 0
			}
			if yyr2571 || yy2arr2571 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2571[0] {
					yym2573 := z.EncBinary()
					_ = yym2573
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2571[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2574 := z.EncBinary()
					_ = yym2574
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2571 || yy2arr2571 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2571[1] {
					yym2576 := z.EncBinary()
					_ = yym2576
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2571[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2577 := z.EncBinary()
					_ = yym2577
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2571 || yy2arr2571 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2571[2] {
					yy2579 := &x.ListMeta
					yym2580 := z.EncBinary()
					_ = yym2580
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2579) {
					} else {
						z.EncFallback(yy2579)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2571[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2581 := &x.ListMeta
					yym2582 := z.EncBinary()
					_ = yym2582
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2581) {
					} else {
						z.EncFallback(yy2581)
					}
				}
			}
			if yyr2571 || yy2arr2571 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2584 := z.EncBinary()
					_ = yym2584
					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 {
					yym2585 := z.EncBinary()
					_ = yym2585
					if false {
					} else {
						h.encSliceService(([]Service)(x.Items), e)
					}
				}
			}
			if yyr2571 || yy2arr2571 {
				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
	yym2586 := z.DecBinary()
	_ = yym2586
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2587 := r.ContainerType()
		if yyct2587 == codecSelferValueTypeMap1234 {
			yyl2587 := r.ReadMapStart()
			if yyl2587 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2587, d)
			}
		} else if yyct2587 == codecSelferValueTypeArray1234 {
			yyl2587 := r.ReadArrayStart()
			if yyl2587 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2587, 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 yys2588Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2588Slc
	var yyhl2588 bool = l >= 0
	for yyj2588 := 0; ; yyj2588++ {
		if yyhl2588 {
			if yyj2588 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2588Slc = r.DecodeBytes(yys2588Slc, true, true)
		yys2588 := string(yys2588Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2588 {
		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_unversioned.ListMeta{}
			} else {
				yyv2591 := &x.ListMeta
				yym2592 := z.DecBinary()
				_ = yym2592
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2591) {
				} else {
					z.DecFallback(yyv2591, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2593 := &x.Items
				yym2594 := z.DecBinary()
				_ = yym2594
				if false {
				} else {
					h.decSliceService((*[]Service)(yyv2593), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2588)
		} // end switch yys2588
	} // end for yyj2588
	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 yyj2595 int
	var yyb2595 bool
	var yyhl2595 bool = l >= 0
	yyj2595++
	if yyhl2595 {
		yyb2595 = yyj2595 > l
	} else {
		yyb2595 = r.CheckBreak()
	}
	if yyb2595 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2595++
	if yyhl2595 {
		yyb2595 = yyj2595 > l
	} else {
		yyb2595 = r.CheckBreak()
	}
	if yyb2595 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2595++
	if yyhl2595 {
		yyb2595 = yyj2595 > l
	} else {
		yyb2595 = r.CheckBreak()
	}
	if yyb2595 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2598 := &x.ListMeta
		yym2599 := z.DecBinary()
		_ = yym2599
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2598) {
		} else {
			z.DecFallback(yyv2598, false)
		}
	}
	yyj2595++
	if yyhl2595 {
		yyb2595 = yyj2595 > l
	} else {
		yyb2595 = r.CheckBreak()
	}
	if yyb2595 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2600 := &x.Items
		yym2601 := z.DecBinary()
		_ = yym2601
		if false {
		} else {
			h.decSliceService((*[]Service)(yyv2600), d)
		}
	}
	for {
		yyj2595++
		if yyhl2595 {
			yyb2595 = yyj2595 > l
		} else {
			yyb2595 = r.CheckBreak()
		}
		if yyb2595 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2595-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x ServiceAffinity) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2602 := z.EncBinary()
	_ = yym2602
	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
	yym2603 := z.DecBinary()
	_ = yym2603
	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
	yym2604 := z.EncBinary()
	_ = yym2604
	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
	yym2605 := z.DecBinary()
	_ = yym2605
	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 {
		yym2606 := z.EncBinary()
		_ = yym2606
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2607 := !z.EncBinary()
			yy2arr2607 := z.EncBasicHandle().StructToArray
			var yyq2607 [1]bool
			_, _, _ = yysep2607, yyq2607, yy2arr2607
			const yyr2607 bool = false
			yyq2607[0] = true
			var yynn2607 int
			if yyr2607 || yy2arr2607 {
				r.EncodeArrayStart(1)
			} else {
				yynn2607 = 0
				for _, b := range yyq2607 {
					if b {
						yynn2607++
					}
				}
				r.EncodeMapStart(yynn2607)
				yynn2607 = 0
			}
			if yyr2607 || yy2arr2607 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2607[0] {
					yy2609 := &x.LoadBalancer
					yy2609.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2607[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("loadBalancer"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2610 := &x.LoadBalancer
					yy2610.CodecEncodeSelf(e)
				}
			}
			if yyr2607 || yy2arr2607 {
				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
	yym2611 := z.DecBinary()
	_ = yym2611
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2612 := r.ContainerType()
		if yyct2612 == codecSelferValueTypeMap1234 {
			yyl2612 := r.ReadMapStart()
			if yyl2612 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2612, d)
			}
		} else if yyct2612 == codecSelferValueTypeArray1234 {
			yyl2612 := r.ReadArrayStart()
			if yyl2612 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2612, 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 yys2613Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2613Slc
	var yyhl2613 bool = l >= 0
	for yyj2613 := 0; ; yyj2613++ {
		if yyhl2613 {
			if yyj2613 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2613Slc = r.DecodeBytes(yys2613Slc, true, true)
		yys2613 := string(yys2613Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2613 {
		case "loadBalancer":
			if r.TryDecodeAsNil() {
				x.LoadBalancer = LoadBalancerStatus{}
			} else {
				yyv2614 := &x.LoadBalancer
				yyv2614.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2613)
		} // end switch yys2613
	} // end for yyj2613
	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 yyj2615 int
	var yyb2615 bool
	var yyhl2615 bool = l >= 0
	yyj2615++
	if yyhl2615 {
		yyb2615 = yyj2615 > l
	} else {
		yyb2615 = r.CheckBreak()
	}
	if yyb2615 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LoadBalancer = LoadBalancerStatus{}
	} else {
		yyv2616 := &x.LoadBalancer
		yyv2616.CodecDecodeSelf(d)
	}
	for {
		yyj2615++
		if yyhl2615 {
			yyb2615 = yyj2615 > l
		} else {
			yyb2615 = r.CheckBreak()
		}
		if yyb2615 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2615-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 {
		yym2617 := z.EncBinary()
		_ = yym2617
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2618 := !z.EncBinary()
			yy2arr2618 := z.EncBasicHandle().StructToArray
			var yyq2618 [1]bool
			_, _, _ = yysep2618, yyq2618, yy2arr2618
			const yyr2618 bool = false
			yyq2618[0] = len(x.Ingress) != 0
			var yynn2618 int
			if yyr2618 || yy2arr2618 {
				r.EncodeArrayStart(1)
			} else {
				yynn2618 = 0
				for _, b := range yyq2618 {
					if b {
						yynn2618++
					}
				}
				r.EncodeMapStart(yynn2618)
				yynn2618 = 0
			}
			if yyr2618 || yy2arr2618 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2618[0] {
					if x.Ingress == nil {
						r.EncodeNil()
					} else {
						yym2620 := z.EncBinary()
						_ = yym2620
						if false {
						} else {
							h.encSliceLoadBalancerIngress(([]LoadBalancerIngress)(x.Ingress), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2618[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("ingress"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Ingress == nil {
						r.EncodeNil()
					} else {
						yym2621 := z.EncBinary()
						_ = yym2621
						if false {
						} else {
							h.encSliceLoadBalancerIngress(([]LoadBalancerIngress)(x.Ingress), e)
						}
					}
				}
			}
			if yyr2618 || yy2arr2618 {
				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
	yym2622 := z.DecBinary()
	_ = yym2622
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2623 := r.ContainerType()
		if yyct2623 == codecSelferValueTypeMap1234 {
			yyl2623 := r.ReadMapStart()
			if yyl2623 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2623, d)
			}
		} else if yyct2623 == codecSelferValueTypeArray1234 {
			yyl2623 := r.ReadArrayStart()
			if yyl2623 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2623, 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 yys2624Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2624Slc
	var yyhl2624 bool = l >= 0
	for yyj2624 := 0; ; yyj2624++ {
		if yyhl2624 {
			if yyj2624 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2624Slc = r.DecodeBytes(yys2624Slc, true, true)
		yys2624 := string(yys2624Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2624 {
		case "ingress":
			if r.TryDecodeAsNil() {
				x.Ingress = nil
			} else {
				yyv2625 := &x.Ingress
				yym2626 := z.DecBinary()
				_ = yym2626
				if false {
				} else {
					h.decSliceLoadBalancerIngress((*[]LoadBalancerIngress)(yyv2625), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2624)
		} // end switch yys2624
	} // end for yyj2624
	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 yyj2627 int
	var yyb2627 bool
	var yyhl2627 bool = l >= 0
	yyj2627++
	if yyhl2627 {
		yyb2627 = yyj2627 > l
	} else {
		yyb2627 = r.CheckBreak()
	}
	if yyb2627 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ingress = nil
	} else {
		yyv2628 := &x.Ingress
		yym2629 := z.DecBinary()
		_ = yym2629
		if false {
		} else {
			h.decSliceLoadBalancerIngress((*[]LoadBalancerIngress)(yyv2628), d)
		}
	}
	for {
		yyj2627++
		if yyhl2627 {
			yyb2627 = yyj2627 > l
		} else {
			yyb2627 = r.CheckBreak()
		}
		if yyb2627 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2627-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 {
		yym2630 := z.EncBinary()
		_ = yym2630
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2631 := !z.EncBinary()
			yy2arr2631 := z.EncBasicHandle().StructToArray
			var yyq2631 [2]bool
			_, _, _ = yysep2631, yyq2631, yy2arr2631
			const yyr2631 bool = false
			yyq2631[0] = x.IP != ""
			yyq2631[1] = x.Hostname != ""
			var yynn2631 int
			if yyr2631 || yy2arr2631 {
				r.EncodeArrayStart(2)
			} else {
				yynn2631 = 0
				for _, b := range yyq2631 {
					if b {
						yynn2631++
					}
				}
				r.EncodeMapStart(yynn2631)
				yynn2631 = 0
			}
			if yyr2631 || yy2arr2631 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2631[0] {
					yym2633 := z.EncBinary()
					_ = yym2633
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2631[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("ip"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2634 := z.EncBinary()
					_ = yym2634
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IP))
					}
				}
			}
			if yyr2631 || yy2arr2631 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2631[1] {
					yym2636 := z.EncBinary()
					_ = yym2636
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2631[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostname"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2637 := z.EncBinary()
					_ = yym2637
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				}
			}
			if yyr2631 || yy2arr2631 {
				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
	yym2638 := z.DecBinary()
	_ = yym2638
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2639 := r.ContainerType()
		if yyct2639 == codecSelferValueTypeMap1234 {
			yyl2639 := r.ReadMapStart()
			if yyl2639 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2639, d)
			}
		} else if yyct2639 == codecSelferValueTypeArray1234 {
			yyl2639 := r.ReadArrayStart()
			if yyl2639 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2639, 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 yys2640Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2640Slc
	var yyhl2640 bool = l >= 0
	for yyj2640 := 0; ; yyj2640++ {
		if yyhl2640 {
			if yyj2640 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2640Slc = r.DecodeBytes(yys2640Slc, true, true)
		yys2640 := string(yys2640Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2640 {
		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, yys2640)
		} // end switch yys2640
	} // end for yyj2640
	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 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.IP = ""
	} else {
		x.IP = string(r.DecodeString())
	}
	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.Hostname = ""
	} else {
		x.Hostname = string(r.DecodeString())
	}
	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 *ServiceSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2646 := z.EncBinary()
		_ = yym2646
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2647 := !z.EncBinary()
			yy2arr2647 := z.EncBasicHandle().StructToArray
			var yyq2647 [9]bool
			_, _, _ = yysep2647, yyq2647, yy2arr2647
			const yyr2647 bool = false
			yyq2647[0] = x.Type != ""
			yyq2647[3] = x.ClusterIP != ""
			yyq2647[5] = len(x.ExternalIPs) != 0
			yyq2647[6] = x.LoadBalancerIP != ""
			yyq2647[7] = x.SessionAffinity != ""
			yyq2647[8] = len(x.LoadBalancerSourceRanges) != 0
			var yynn2647 int
			if yyr2647 || yy2arr2647 {
				r.EncodeArrayStart(9)
			} else {
				yynn2647 = 3
				for _, b := range yyq2647 {
					if b {
						yynn2647++
					}
				}
				r.EncodeMapStart(yynn2647)
				yynn2647 = 0
			}
			if yyr2647 || yy2arr2647 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2647[0] {
					x.Type.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2647[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Type.CodecEncodeSelf(e)
				}
			}
			if yyr2647 || yy2arr2647 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Ports == nil {
					r.EncodeNil()
				} else {
					yym2650 := z.EncBinary()
					_ = yym2650
					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 {
					yym2651 := z.EncBinary()
					_ = yym2651
					if false {
					} else {
						h.encSliceServicePort(([]ServicePort)(x.Ports), e)
					}
				}
			}
			if yyr2647 || yy2arr2647 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Selector == nil {
					r.EncodeNil()
				} else {
					yym2653 := z.EncBinary()
					_ = yym2653
					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 {
					yym2654 := z.EncBinary()
					_ = yym2654
					if false {
					} else {
						z.F.EncMapStringStringV(x.Selector, false, e)
					}
				}
			}
			if yyr2647 || yy2arr2647 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2647[3] {
					yym2656 := z.EncBinary()
					_ = yym2656
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ClusterIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2647[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("clusterIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2657 := z.EncBinary()
					_ = yym2657
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ClusterIP))
					}
				}
			}
			if yyr2647 || yy2arr2647 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2659 := z.EncBinary()
				_ = yym2659
				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)
				yym2660 := z.EncBinary()
				_ = yym2660
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ExternalName))
				}
			}
			if yyr2647 || yy2arr2647 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2647[5] {
					if x.ExternalIPs == nil {
						r.EncodeNil()
					} else {
						yym2662 := z.EncBinary()
						_ = yym2662
						if false {
						} else {
							z.F.EncSliceStringV(x.ExternalIPs, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2647[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("externalIPs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ExternalIPs == nil {
						r.EncodeNil()
					} else {
						yym2663 := z.EncBinary()
						_ = yym2663
						if false {
						} else {
							z.F.EncSliceStringV(x.ExternalIPs, false, e)
						}
					}
				}
			}
			if yyr2647 || yy2arr2647 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2647[6] {
					yym2665 := z.EncBinary()
					_ = yym2665
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.LoadBalancerIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2647[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("loadBalancerIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2666 := z.EncBinary()
					_ = yym2666
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.LoadBalancerIP))
					}
				}
			}
			if yyr2647 || yy2arr2647 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2647[7] {
					x.SessionAffinity.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2647[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("sessionAffinity"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.SessionAffinity.CodecEncodeSelf(e)
				}
			}
			if yyr2647 || yy2arr2647 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2647[8] {
					if x.LoadBalancerSourceRanges == nil {
						r.EncodeNil()
					} else {
						yym2669 := z.EncBinary()
						_ = yym2669
						if false {
						} else {
							z.F.EncSliceStringV(x.LoadBalancerSourceRanges, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2647[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("loadBalancerSourceRanges"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.LoadBalancerSourceRanges == nil {
						r.EncodeNil()
					} else {
						yym2670 := z.EncBinary()
						_ = yym2670
						if false {
						} else {
							z.F.EncSliceStringV(x.LoadBalancerSourceRanges, false, e)
						}
					}
				}
			}
			if yyr2647 || yy2arr2647 {
				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
	yym2671 := z.DecBinary()
	_ = yym2671
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2672 := r.ContainerType()
		if yyct2672 == codecSelferValueTypeMap1234 {
			yyl2672 := r.ReadMapStart()
			if yyl2672 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2672, d)
			}
		} else if yyct2672 == codecSelferValueTypeArray1234 {
			yyl2672 := r.ReadArrayStart()
			if yyl2672 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2672, 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 yys2673Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2673Slc
	var yyhl2673 bool = l >= 0
	for yyj2673 := 0; ; yyj2673++ {
		if yyhl2673 {
			if yyj2673 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2673Slc = r.DecodeBytes(yys2673Slc, true, true)
		yys2673 := string(yys2673Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2673 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = ServiceType(r.DecodeString())
			}
		case "ports":
			if r.TryDecodeAsNil() {
				x.Ports = nil
			} else {
				yyv2675 := &x.Ports
				yym2676 := z.DecBinary()
				_ = yym2676
				if false {
				} else {
					h.decSliceServicePort((*[]ServicePort)(yyv2675), d)
				}
			}
		case "selector":
			if r.TryDecodeAsNil() {
				x.Selector = nil
			} else {
				yyv2677 := &x.Selector
				yym2678 := z.DecBinary()
				_ = yym2678
				if false {
				} else {
					z.F.DecMapStringStringX(yyv2677, 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 {
				yyv2681 := &x.ExternalIPs
				yym2682 := z.DecBinary()
				_ = yym2682
				if false {
				} else {
					z.F.DecSliceStringX(yyv2681, 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 {
				yyv2685 := &x.LoadBalancerSourceRanges
				yym2686 := z.DecBinary()
				_ = yym2686
				if false {
				} else {
					z.F.DecSliceStringX(yyv2685, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2673)
		} // end switch yys2673
	} // end for yyj2673
	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 yyj2687 int
	var yyb2687 bool
	var yyhl2687 bool = l >= 0
	yyj2687++
	if yyhl2687 {
		yyb2687 = yyj2687 > l
	} else {
		yyb2687 = r.CheckBreak()
	}
	if yyb2687 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = ServiceType(r.DecodeString())
	}
	yyj2687++
	if yyhl2687 {
		yyb2687 = yyj2687 > l
	} else {
		yyb2687 = r.CheckBreak()
	}
	if yyb2687 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ports = nil
	} else {
		yyv2689 := &x.Ports
		yym2690 := z.DecBinary()
		_ = yym2690
		if false {
		} else {
			h.decSliceServicePort((*[]ServicePort)(yyv2689), d)
		}
	}
	yyj2687++
	if yyhl2687 {
		yyb2687 = yyj2687 > l
	} else {
		yyb2687 = r.CheckBreak()
	}
	if yyb2687 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Selector = nil
	} else {
		yyv2691 := &x.Selector
		yym2692 := z.DecBinary()
		_ = yym2692
		if false {
		} else {
			z.F.DecMapStringStringX(yyv2691, false, d)
		}
	}
	yyj2687++
	if yyhl2687 {
		yyb2687 = yyj2687 > l
	} else {
		yyb2687 = r.CheckBreak()
	}
	if yyb2687 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ClusterIP = ""
	} else {
		x.ClusterIP = string(r.DecodeString())
	}
	yyj2687++
	if yyhl2687 {
		yyb2687 = yyj2687 > l
	} else {
		yyb2687 = r.CheckBreak()
	}
	if yyb2687 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ExternalName = ""
	} else {
		x.ExternalName = string(r.DecodeString())
	}
	yyj2687++
	if yyhl2687 {
		yyb2687 = yyj2687 > l
	} else {
		yyb2687 = r.CheckBreak()
	}
	if yyb2687 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ExternalIPs = nil
	} else {
		yyv2695 := &x.ExternalIPs
		yym2696 := z.DecBinary()
		_ = yym2696
		if false {
		} else {
			z.F.DecSliceStringX(yyv2695, false, d)
		}
	}
	yyj2687++
	if yyhl2687 {
		yyb2687 = yyj2687 > l
	} else {
		yyb2687 = r.CheckBreak()
	}
	if yyb2687 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LoadBalancerIP = ""
	} else {
		x.LoadBalancerIP = string(r.DecodeString())
	}
	yyj2687++
	if yyhl2687 {
		yyb2687 = yyj2687 > l
	} else {
		yyb2687 = r.CheckBreak()
	}
	if yyb2687 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SessionAffinity = ""
	} else {
		x.SessionAffinity = ServiceAffinity(r.DecodeString())
	}
	yyj2687++
	if yyhl2687 {
		yyb2687 = yyj2687 > l
	} else {
		yyb2687 = r.CheckBreak()
	}
	if yyb2687 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LoadBalancerSourceRanges = nil
	} else {
		yyv2699 := &x.LoadBalancerSourceRanges
		yym2700 := z.DecBinary()
		_ = yym2700
		if false {
		} else {
			z.F.DecSliceStringX(yyv2699, false, d)
		}
	}
	for {
		yyj2687++
		if yyhl2687 {
			yyb2687 = yyj2687 > l
		} else {
			yyb2687 = r.CheckBreak()
		}
		if yyb2687 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2687-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 {
		yym2701 := z.EncBinary()
		_ = yym2701
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2702 := !z.EncBinary()
			yy2arr2702 := z.EncBasicHandle().StructToArray
			var yyq2702 [5]bool
			_, _, _ = yysep2702, yyq2702, yy2arr2702
			const yyr2702 bool = false
			var yynn2702 int
			if yyr2702 || yy2arr2702 {
				r.EncodeArrayStart(5)
			} else {
				yynn2702 = 5
				for _, b := range yyq2702 {
					if b {
						yynn2702++
					}
				}
				r.EncodeMapStart(yynn2702)
				yynn2702 = 0
			}
			if yyr2702 || yy2arr2702 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2704 := z.EncBinary()
				_ = yym2704
				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)
				yym2705 := z.EncBinary()
				_ = yym2705
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr2702 || yy2arr2702 {
				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 yyr2702 || yy2arr2702 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2708 := z.EncBinary()
				_ = yym2708
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("port"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2709 := z.EncBinary()
				_ = yym2709
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			}
			if yyr2702 || yy2arr2702 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy2711 := &x.TargetPort
				yym2712 := z.EncBinary()
				_ = yym2712
				if false {
				} else if z.HasExtensions() && z.EncExt(yy2711) {
				} else if !yym2712 && z.IsJSONHandle() {
					z.EncJSONMarshal(yy2711)
				} else {
					z.EncFallback(yy2711)
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("targetPort"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy2713 := &x.TargetPort
				yym2714 := z.EncBinary()
				_ = yym2714
				if false {
				} else if z.HasExtensions() && z.EncExt(yy2713) {
				} else if !yym2714 && z.IsJSONHandle() {
					z.EncJSONMarshal(yy2713)
				} else {
					z.EncFallback(yy2713)
				}
			}
			if yyr2702 || yy2arr2702 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2716 := z.EncBinary()
				_ = yym2716
				if false {
				} else {
					r.EncodeInt(int64(x.NodePort))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("nodePort"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2717 := z.EncBinary()
				_ = yym2717
				if false {
				} else {
					r.EncodeInt(int64(x.NodePort))
				}
			}
			if yyr2702 || yy2arr2702 {
				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
	yym2718 := z.DecBinary()
	_ = yym2718
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2719 := r.ContainerType()
		if yyct2719 == codecSelferValueTypeMap1234 {
			yyl2719 := r.ReadMapStart()
			if yyl2719 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2719, d)
			}
		} else if yyct2719 == codecSelferValueTypeArray1234 {
			yyl2719 := r.ReadArrayStart()
			if yyl2719 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2719, 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 yys2720Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2720Slc
	var yyhl2720 bool = l >= 0
	for yyj2720 := 0; ; yyj2720++ {
		if yyhl2720 {
			if yyj2720 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2720Slc = r.DecodeBytes(yys2720Slc, true, true)
		yys2720 := string(yys2720Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2720 {
		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 {
				yyv2724 := &x.TargetPort
				yym2725 := z.DecBinary()
				_ = yym2725
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2724) {
				} else if !yym2725 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv2724)
				} else {
					z.DecFallback(yyv2724, false)
				}
			}
		case "nodePort":
			if r.TryDecodeAsNil() {
				x.NodePort = 0
			} else {
				x.NodePort = int32(r.DecodeInt(32))
			}
		default:
			z.DecStructFieldNotFound(-1, yys2720)
		} // end switch yys2720
	} // end for yyj2720
	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 yyj2727 int
	var yyb2727 bool
	var yyhl2727 bool = l >= 0
	yyj2727++
	if yyhl2727 {
		yyb2727 = yyj2727 > l
	} else {
		yyb2727 = r.CheckBreak()
	}
	if yyb2727 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj2727++
	if yyhl2727 {
		yyb2727 = yyj2727 > l
	} else {
		yyb2727 = r.CheckBreak()
	}
	if yyb2727 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Protocol = ""
	} else {
		x.Protocol = Protocol(r.DecodeString())
	}
	yyj2727++
	if yyhl2727 {
		yyb2727 = yyj2727 > l
	} else {
		yyb2727 = r.CheckBreak()
	}
	if yyb2727 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = 0
	} else {
		x.Port = int32(r.DecodeInt(32))
	}
	yyj2727++
	if yyhl2727 {
		yyb2727 = yyj2727 > l
	} else {
		yyb2727 = r.CheckBreak()
	}
	if yyb2727 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TargetPort = pkg4_intstr.IntOrString{}
	} else {
		yyv2731 := &x.TargetPort
		yym2732 := z.DecBinary()
		_ = yym2732
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2731) {
		} else if !yym2732 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv2731)
		} else {
			z.DecFallback(yyv2731, false)
		}
	}
	yyj2727++
	if yyhl2727 {
		yyb2727 = yyj2727 > l
	} else {
		yyb2727 = r.CheckBreak()
	}
	if yyb2727 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodePort = 0
	} else {
		x.NodePort = int32(r.DecodeInt(32))
	}
	for {
		yyj2727++
		if yyhl2727 {
			yyb2727 = yyj2727 > l
		} else {
			yyb2727 = r.CheckBreak()
		}
		if yyb2727 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2727-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 {
		yym2734 := z.EncBinary()
		_ = yym2734
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2735 := !z.EncBinary()
			yy2arr2735 := z.EncBasicHandle().StructToArray
			var yyq2735 [5]bool
			_, _, _ = yysep2735, yyq2735, yy2arr2735
			const yyr2735 bool = false
			yyq2735[0] = x.Kind != ""
			yyq2735[1] = x.APIVersion != ""
			yyq2735[2] = true
			yyq2735[3] = true
			yyq2735[4] = true
			var yynn2735 int
			if yyr2735 || yy2arr2735 {
				r.EncodeArrayStart(5)
			} else {
				yynn2735 = 0
				for _, b := range yyq2735 {
					if b {
						yynn2735++
					}
				}
				r.EncodeMapStart(yynn2735)
				yynn2735 = 0
			}
			if yyr2735 || yy2arr2735 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2735[0] {
					yym2737 := z.EncBinary()
					_ = yym2737
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2735[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2738 := z.EncBinary()
					_ = yym2738
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2735 || yy2arr2735 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2735[1] {
					yym2740 := z.EncBinary()
					_ = yym2740
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2735[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2741 := z.EncBinary()
					_ = yym2741
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2735 || yy2arr2735 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2735[2] {
					yy2743 := &x.ObjectMeta
					yy2743.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2735[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2744 := &x.ObjectMeta
					yy2744.CodecEncodeSelf(e)
				}
			}
			if yyr2735 || yy2arr2735 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2735[3] {
					yy2746 := &x.Spec
					yy2746.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2735[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2747 := &x.Spec
					yy2747.CodecEncodeSelf(e)
				}
			}
			if yyr2735 || yy2arr2735 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2735[4] {
					yy2749 := &x.Status
					yy2749.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2735[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2750 := &x.Status
					yy2750.CodecEncodeSelf(e)
				}
			}
			if yyr2735 || yy2arr2735 {
				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
	yym2751 := z.DecBinary()
	_ = yym2751
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2752 := r.ContainerType()
		if yyct2752 == codecSelferValueTypeMap1234 {
			yyl2752 := r.ReadMapStart()
			if yyl2752 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2752, d)
			}
		} else if yyct2752 == codecSelferValueTypeArray1234 {
			yyl2752 := r.ReadArrayStart()
			if yyl2752 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2752, 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 yys2753Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2753Slc
	var yyhl2753 bool = l >= 0
	for yyj2753 := 0; ; yyj2753++ {
		if yyhl2753 {
			if yyj2753 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2753Slc = r.DecodeBytes(yys2753Slc, true, true)
		yys2753 := string(yys2753Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2753 {
		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 {
				yyv2756 := &x.ObjectMeta
				yyv2756.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = ServiceSpec{}
			} else {
				yyv2757 := &x.Spec
				yyv2757.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ServiceStatus{}
			} else {
				yyv2758 := &x.Status
				yyv2758.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2753)
		} // end switch yys2753
	} // end for yyj2753
	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 yyj2759 int
	var yyb2759 bool
	var yyhl2759 bool = l >= 0
	yyj2759++
	if yyhl2759 {
		yyb2759 = yyj2759 > l
	} else {
		yyb2759 = r.CheckBreak()
	}
	if yyb2759 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2759++
	if yyhl2759 {
		yyb2759 = yyj2759 > l
	} else {
		yyb2759 = r.CheckBreak()
	}
	if yyb2759 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2759++
	if yyhl2759 {
		yyb2759 = yyj2759 > l
	} else {
		yyb2759 = r.CheckBreak()
	}
	if yyb2759 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2762 := &x.ObjectMeta
		yyv2762.CodecDecodeSelf(d)
	}
	yyj2759++
	if yyhl2759 {
		yyb2759 = yyj2759 > l
	} else {
		yyb2759 = r.CheckBreak()
	}
	if yyb2759 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = ServiceSpec{}
	} else {
		yyv2763 := &x.Spec
		yyv2763.CodecDecodeSelf(d)
	}
	yyj2759++
	if yyhl2759 {
		yyb2759 = yyj2759 > l
	} else {
		yyb2759 = r.CheckBreak()
	}
	if yyb2759 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ServiceStatus{}
	} else {
		yyv2764 := &x.Status
		yyv2764.CodecDecodeSelf(d)
	}
	for {
		yyj2759++
		if yyhl2759 {
			yyb2759 = yyj2759 > l
		} else {
			yyb2759 = r.CheckBreak()
		}
		if yyb2759 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2759-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 {
		yym2765 := z.EncBinary()
		_ = yym2765
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2766 := !z.EncBinary()
			yy2arr2766 := z.EncBasicHandle().StructToArray
			var yyq2766 [5]bool
			_, _, _ = yysep2766, yyq2766, yy2arr2766
			const yyr2766 bool = false
			yyq2766[0] = x.Kind != ""
			yyq2766[1] = x.APIVersion != ""
			yyq2766[2] = true
			yyq2766[4] = len(x.ImagePullSecrets) != 0
			var yynn2766 int
			if yyr2766 || yy2arr2766 {
				r.EncodeArrayStart(5)
			} else {
				yynn2766 = 1
				for _, b := range yyq2766 {
					if b {
						yynn2766++
					}
				}
				r.EncodeMapStart(yynn2766)
				yynn2766 = 0
			}
			if yyr2766 || yy2arr2766 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2766[0] {
					yym2768 := z.EncBinary()
					_ = yym2768
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2766[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2769 := z.EncBinary()
					_ = yym2769
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2766 || yy2arr2766 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2766[1] {
					yym2771 := z.EncBinary()
					_ = yym2771
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2766[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2772 := z.EncBinary()
					_ = yym2772
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2766 || yy2arr2766 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2766[2] {
					yy2774 := &x.ObjectMeta
					yy2774.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2766[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2775 := &x.ObjectMeta
					yy2775.CodecEncodeSelf(e)
				}
			}
			if yyr2766 || yy2arr2766 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Secrets == nil {
					r.EncodeNil()
				} else {
					yym2777 := z.EncBinary()
					_ = yym2777
					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 {
					yym2778 := z.EncBinary()
					_ = yym2778
					if false {
					} else {
						h.encSliceObjectReference(([]ObjectReference)(x.Secrets), e)
					}
				}
			}
			if yyr2766 || yy2arr2766 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2766[4] {
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym2780 := z.EncBinary()
						_ = yym2780
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2766[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("imagePullSecrets"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym2781 := z.EncBinary()
						_ = yym2781
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				}
			}
			if yyr2766 || yy2arr2766 {
				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
	yym2782 := z.DecBinary()
	_ = yym2782
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2783 := r.ContainerType()
		if yyct2783 == codecSelferValueTypeMap1234 {
			yyl2783 := r.ReadMapStart()
			if yyl2783 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2783, d)
			}
		} else if yyct2783 == codecSelferValueTypeArray1234 {
			yyl2783 := r.ReadArrayStart()
			if yyl2783 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2783, 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 yys2784Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2784Slc
	var yyhl2784 bool = l >= 0
	for yyj2784 := 0; ; yyj2784++ {
		if yyhl2784 {
			if yyj2784 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2784Slc = r.DecodeBytes(yys2784Slc, true, true)
		yys2784 := string(yys2784Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2784 {
		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 {
				yyv2787 := &x.ObjectMeta
				yyv2787.CodecDecodeSelf(d)
			}
		case "secrets":
			if r.TryDecodeAsNil() {
				x.Secrets = nil
			} else {
				yyv2788 := &x.Secrets
				yym2789 := z.DecBinary()
				_ = yym2789
				if false {
				} else {
					h.decSliceObjectReference((*[]ObjectReference)(yyv2788), d)
				}
			}
		case "imagePullSecrets":
			if r.TryDecodeAsNil() {
				x.ImagePullSecrets = nil
			} else {
				yyv2790 := &x.ImagePullSecrets
				yym2791 := z.DecBinary()
				_ = yym2791
				if false {
				} else {
					h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv2790), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2784)
		} // end switch yys2784
	} // end for yyj2784
	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 yyj2792 int
	var yyb2792 bool
	var yyhl2792 bool = l >= 0
	yyj2792++
	if yyhl2792 {
		yyb2792 = yyj2792 > l
	} else {
		yyb2792 = r.CheckBreak()
	}
	if yyb2792 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2792++
	if yyhl2792 {
		yyb2792 = yyj2792 > l
	} else {
		yyb2792 = r.CheckBreak()
	}
	if yyb2792 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2792++
	if yyhl2792 {
		yyb2792 = yyj2792 > l
	} else {
		yyb2792 = r.CheckBreak()
	}
	if yyb2792 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2795 := &x.ObjectMeta
		yyv2795.CodecDecodeSelf(d)
	}
	yyj2792++
	if yyhl2792 {
		yyb2792 = yyj2792 > l
	} else {
		yyb2792 = r.CheckBreak()
	}
	if yyb2792 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Secrets = nil
	} else {
		yyv2796 := &x.Secrets
		yym2797 := z.DecBinary()
		_ = yym2797
		if false {
		} else {
			h.decSliceObjectReference((*[]ObjectReference)(yyv2796), d)
		}
	}
	yyj2792++
	if yyhl2792 {
		yyb2792 = yyj2792 > l
	} else {
		yyb2792 = r.CheckBreak()
	}
	if yyb2792 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ImagePullSecrets = nil
	} else {
		yyv2798 := &x.ImagePullSecrets
		yym2799 := z.DecBinary()
		_ = yym2799
		if false {
		} else {
			h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv2798), d)
		}
	}
	for {
		yyj2792++
		if yyhl2792 {
			yyb2792 = yyj2792 > l
		} else {
			yyb2792 = r.CheckBreak()
		}
		if yyb2792 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2792-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 {
		yym2800 := z.EncBinary()
		_ = yym2800
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2801 := !z.EncBinary()
			yy2arr2801 := z.EncBasicHandle().StructToArray
			var yyq2801 [4]bool
			_, _, _ = yysep2801, yyq2801, yy2arr2801
			const yyr2801 bool = false
			yyq2801[0] = x.Kind != ""
			yyq2801[1] = x.APIVersion != ""
			yyq2801[2] = true
			var yynn2801 int
			if yyr2801 || yy2arr2801 {
				r.EncodeArrayStart(4)
			} else {
				yynn2801 = 1
				for _, b := range yyq2801 {
					if b {
						yynn2801++
					}
				}
				r.EncodeMapStart(yynn2801)
				yynn2801 = 0
			}
			if yyr2801 || yy2arr2801 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2801[0] {
					yym2803 := z.EncBinary()
					_ = yym2803
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2801[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2804 := z.EncBinary()
					_ = yym2804
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2801 || yy2arr2801 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2801[1] {
					yym2806 := z.EncBinary()
					_ = yym2806
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2801[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2807 := z.EncBinary()
					_ = yym2807
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2801 || yy2arr2801 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2801[2] {
					yy2809 := &x.ListMeta
					yym2810 := z.EncBinary()
					_ = yym2810
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2809) {
					} else {
						z.EncFallback(yy2809)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2801[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2811 := &x.ListMeta
					yym2812 := z.EncBinary()
					_ = yym2812
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2811) {
					} else {
						z.EncFallback(yy2811)
					}
				}
			}
			if yyr2801 || yy2arr2801 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2814 := z.EncBinary()
					_ = yym2814
					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 {
					yym2815 := z.EncBinary()
					_ = yym2815
					if false {
					} else {
						h.encSliceServiceAccount(([]ServiceAccount)(x.Items), e)
					}
				}
			}
			if yyr2801 || yy2arr2801 {
				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
	yym2816 := z.DecBinary()
	_ = yym2816
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2817 := r.ContainerType()
		if yyct2817 == codecSelferValueTypeMap1234 {
			yyl2817 := r.ReadMapStart()
			if yyl2817 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2817, d)
			}
		} else if yyct2817 == codecSelferValueTypeArray1234 {
			yyl2817 := r.ReadArrayStart()
			if yyl2817 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2817, 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 yys2818Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2818Slc
	var yyhl2818 bool = l >= 0
	for yyj2818 := 0; ; yyj2818++ {
		if yyhl2818 {
			if yyj2818 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2818Slc = r.DecodeBytes(yys2818Slc, true, true)
		yys2818 := string(yys2818Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2818 {
		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_unversioned.ListMeta{}
			} else {
				yyv2821 := &x.ListMeta
				yym2822 := z.DecBinary()
				_ = yym2822
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2821) {
				} else {
					z.DecFallback(yyv2821, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2823 := &x.Items
				yym2824 := z.DecBinary()
				_ = yym2824
				if false {
				} else {
					h.decSliceServiceAccount((*[]ServiceAccount)(yyv2823), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2818)
		} // end switch yys2818
	} // end for yyj2818
	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 yyj2825 int
	var yyb2825 bool
	var yyhl2825 bool = l >= 0
	yyj2825++
	if yyhl2825 {
		yyb2825 = yyj2825 > l
	} else {
		yyb2825 = r.CheckBreak()
	}
	if yyb2825 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2825++
	if yyhl2825 {
		yyb2825 = yyj2825 > l
	} else {
		yyb2825 = r.CheckBreak()
	}
	if yyb2825 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2825++
	if yyhl2825 {
		yyb2825 = yyj2825 > l
	} else {
		yyb2825 = r.CheckBreak()
	}
	if yyb2825 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2828 := &x.ListMeta
		yym2829 := z.DecBinary()
		_ = yym2829
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2828) {
		} else {
			z.DecFallback(yyv2828, false)
		}
	}
	yyj2825++
	if yyhl2825 {
		yyb2825 = yyj2825 > l
	} else {
		yyb2825 = r.CheckBreak()
	}
	if yyb2825 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2830 := &x.Items
		yym2831 := z.DecBinary()
		_ = yym2831
		if false {
		} else {
			h.decSliceServiceAccount((*[]ServiceAccount)(yyv2830), d)
		}
	}
	for {
		yyj2825++
		if yyhl2825 {
			yyb2825 = yyj2825 > l
		} else {
			yyb2825 = r.CheckBreak()
		}
		if yyb2825 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2825-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 {
		yym2832 := z.EncBinary()
		_ = yym2832
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2833 := !z.EncBinary()
			yy2arr2833 := z.EncBasicHandle().StructToArray
			var yyq2833 [4]bool
			_, _, _ = yysep2833, yyq2833, yy2arr2833
			const yyr2833 bool = false
			yyq2833[0] = x.Kind != ""
			yyq2833[1] = x.APIVersion != ""
			yyq2833[2] = true
			var yynn2833 int
			if yyr2833 || yy2arr2833 {
				r.EncodeArrayStart(4)
			} else {
				yynn2833 = 1
				for _, b := range yyq2833 {
					if b {
						yynn2833++
					}
				}
				r.EncodeMapStart(yynn2833)
				yynn2833 = 0
			}
			if yyr2833 || yy2arr2833 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2833[0] {
					yym2835 := z.EncBinary()
					_ = yym2835
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2833[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2836 := z.EncBinary()
					_ = yym2836
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2833 || yy2arr2833 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2833[1] {
					yym2838 := z.EncBinary()
					_ = yym2838
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2833[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2839 := z.EncBinary()
					_ = yym2839
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2833 || yy2arr2833 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2833[2] {
					yy2841 := &x.ObjectMeta
					yy2841.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2833[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2842 := &x.ObjectMeta
					yy2842.CodecEncodeSelf(e)
				}
			}
			if yyr2833 || yy2arr2833 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Subsets == nil {
					r.EncodeNil()
				} else {
					yym2844 := z.EncBinary()
					_ = yym2844
					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 {
					yym2845 := z.EncBinary()
					_ = yym2845
					if false {
					} else {
						h.encSliceEndpointSubset(([]EndpointSubset)(x.Subsets), e)
					}
				}
			}
			if yyr2833 || yy2arr2833 {
				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
	yym2846 := z.DecBinary()
	_ = yym2846
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2847 := r.ContainerType()
		if yyct2847 == codecSelferValueTypeMap1234 {
			yyl2847 := r.ReadMapStart()
			if yyl2847 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2847, d)
			}
		} else if yyct2847 == codecSelferValueTypeArray1234 {
			yyl2847 := r.ReadArrayStart()
			if yyl2847 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2847, 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 yys2848Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2848Slc
	var yyhl2848 bool = l >= 0
	for yyj2848 := 0; ; yyj2848++ {
		if yyhl2848 {
			if yyj2848 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2848Slc = r.DecodeBytes(yys2848Slc, true, true)
		yys2848 := string(yys2848Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2848 {
		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 {
				yyv2851 := &x.ObjectMeta
				yyv2851.CodecDecodeSelf(d)
			}
		case "Subsets":
			if r.TryDecodeAsNil() {
				x.Subsets = nil
			} else {
				yyv2852 := &x.Subsets
				yym2853 := z.DecBinary()
				_ = yym2853
				if false {
				} else {
					h.decSliceEndpointSubset((*[]EndpointSubset)(yyv2852), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2848)
		} // end switch yys2848
	} // end for yyj2848
	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 yyj2854 int
	var yyb2854 bool
	var yyhl2854 bool = l >= 0
	yyj2854++
	if yyhl2854 {
		yyb2854 = yyj2854 > l
	} else {
		yyb2854 = r.CheckBreak()
	}
	if yyb2854 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2854++
	if yyhl2854 {
		yyb2854 = yyj2854 > l
	} else {
		yyb2854 = r.CheckBreak()
	}
	if yyb2854 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2854++
	if yyhl2854 {
		yyb2854 = yyj2854 > l
	} else {
		yyb2854 = r.CheckBreak()
	}
	if yyb2854 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2857 := &x.ObjectMeta
		yyv2857.CodecDecodeSelf(d)
	}
	yyj2854++
	if yyhl2854 {
		yyb2854 = yyj2854 > l
	} else {
		yyb2854 = r.CheckBreak()
	}
	if yyb2854 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Subsets = nil
	} else {
		yyv2858 := &x.Subsets
		yym2859 := z.DecBinary()
		_ = yym2859
		if false {
		} else {
			h.decSliceEndpointSubset((*[]EndpointSubset)(yyv2858), d)
		}
	}
	for {
		yyj2854++
		if yyhl2854 {
			yyb2854 = yyj2854 > l
		} else {
			yyb2854 = r.CheckBreak()
		}
		if yyb2854 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2854-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 {
		yym2860 := z.EncBinary()
		_ = yym2860
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2861 := !z.EncBinary()
			yy2arr2861 := z.EncBasicHandle().StructToArray
			var yyq2861 [3]bool
			_, _, _ = yysep2861, yyq2861, yy2arr2861
			const yyr2861 bool = false
			var yynn2861 int
			if yyr2861 || yy2arr2861 {
				r.EncodeArrayStart(3)
			} else {
				yynn2861 = 3
				for _, b := range yyq2861 {
					if b {
						yynn2861++
					}
				}
				r.EncodeMapStart(yynn2861)
				yynn2861 = 0
			}
			if yyr2861 || yy2arr2861 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Addresses == nil {
					r.EncodeNil()
				} else {
					yym2863 := z.EncBinary()
					_ = yym2863
					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 {
					yym2864 := z.EncBinary()
					_ = yym2864
					if false {
					} else {
						h.encSliceEndpointAddress(([]EndpointAddress)(x.Addresses), e)
					}
				}
			}
			if yyr2861 || yy2arr2861 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.NotReadyAddresses == nil {
					r.EncodeNil()
				} else {
					yym2866 := z.EncBinary()
					_ = yym2866
					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 {
					yym2867 := z.EncBinary()
					_ = yym2867
					if false {
					} else {
						h.encSliceEndpointAddress(([]EndpointAddress)(x.NotReadyAddresses), e)
					}
				}
			}
			if yyr2861 || yy2arr2861 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Ports == nil {
					r.EncodeNil()
				} else {
					yym2869 := z.EncBinary()
					_ = yym2869
					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 {
					yym2870 := z.EncBinary()
					_ = yym2870
					if false {
					} else {
						h.encSliceEndpointPort(([]EndpointPort)(x.Ports), e)
					}
				}
			}
			if yyr2861 || yy2arr2861 {
				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
	yym2871 := z.DecBinary()
	_ = yym2871
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2872 := r.ContainerType()
		if yyct2872 == codecSelferValueTypeMap1234 {
			yyl2872 := r.ReadMapStart()
			if yyl2872 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2872, d)
			}
		} else if yyct2872 == codecSelferValueTypeArray1234 {
			yyl2872 := r.ReadArrayStart()
			if yyl2872 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2872, 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 yys2873Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2873Slc
	var yyhl2873 bool = l >= 0
	for yyj2873 := 0; ; yyj2873++ {
		if yyhl2873 {
			if yyj2873 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2873Slc = r.DecodeBytes(yys2873Slc, true, true)
		yys2873 := string(yys2873Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2873 {
		case "Addresses":
			if r.TryDecodeAsNil() {
				x.Addresses = nil
			} else {
				yyv2874 := &x.Addresses
				yym2875 := z.DecBinary()
				_ = yym2875
				if false {
				} else {
					h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2874), d)
				}
			}
		case "NotReadyAddresses":
			if r.TryDecodeAsNil() {
				x.NotReadyAddresses = nil
			} else {
				yyv2876 := &x.NotReadyAddresses
				yym2877 := z.DecBinary()
				_ = yym2877
				if false {
				} else {
					h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2876), d)
				}
			}
		case "Ports":
			if r.TryDecodeAsNil() {
				x.Ports = nil
			} else {
				yyv2878 := &x.Ports
				yym2879 := z.DecBinary()
				_ = yym2879
				if false {
				} else {
					h.decSliceEndpointPort((*[]EndpointPort)(yyv2878), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2873)
		} // end switch yys2873
	} // end for yyj2873
	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 yyj2880 int
	var yyb2880 bool
	var yyhl2880 bool = l >= 0
	yyj2880++
	if yyhl2880 {
		yyb2880 = yyj2880 > l
	} else {
		yyb2880 = r.CheckBreak()
	}
	if yyb2880 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Addresses = nil
	} else {
		yyv2881 := &x.Addresses
		yym2882 := z.DecBinary()
		_ = yym2882
		if false {
		} else {
			h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2881), d)
		}
	}
	yyj2880++
	if yyhl2880 {
		yyb2880 = yyj2880 > l
	} else {
		yyb2880 = r.CheckBreak()
	}
	if yyb2880 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NotReadyAddresses = nil
	} else {
		yyv2883 := &x.NotReadyAddresses
		yym2884 := z.DecBinary()
		_ = yym2884
		if false {
		} else {
			h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2883), d)
		}
	}
	yyj2880++
	if yyhl2880 {
		yyb2880 = yyj2880 > l
	} else {
		yyb2880 = r.CheckBreak()
	}
	if yyb2880 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ports = nil
	} else {
		yyv2885 := &x.Ports
		yym2886 := z.DecBinary()
		_ = yym2886
		if false {
		} else {
			h.decSliceEndpointPort((*[]EndpointPort)(yyv2885), d)
		}
	}
	for {
		yyj2880++
		if yyhl2880 {
			yyb2880 = yyj2880 > l
		} else {
			yyb2880 = r.CheckBreak()
		}
		if yyb2880 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2880-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 {
		yym2887 := z.EncBinary()
		_ = yym2887
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2888 := !z.EncBinary()
			yy2arr2888 := z.EncBasicHandle().StructToArray
			var yyq2888 [4]bool
			_, _, _ = yysep2888, yyq2888, yy2arr2888
			const yyr2888 bool = false
			yyq2888[1] = x.Hostname != ""
			yyq2888[2] = x.NodeName != nil
			var yynn2888 int
			if yyr2888 || yy2arr2888 {
				r.EncodeArrayStart(4)
			} else {
				yynn2888 = 2
				for _, b := range yyq2888 {
					if b {
						yynn2888++
					}
				}
				r.EncodeMapStart(yynn2888)
				yynn2888 = 0
			}
			if yyr2888 || yy2arr2888 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2890 := z.EncBinary()
				_ = yym2890
				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)
				yym2891 := z.EncBinary()
				_ = yym2891
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.IP))
				}
			}
			if yyr2888 || yy2arr2888 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2888[1] {
					yym2893 := z.EncBinary()
					_ = yym2893
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2888[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostname"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2894 := z.EncBinary()
					_ = yym2894
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				}
			}
			if yyr2888 || yy2arr2888 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2888[2] {
					if x.NodeName == nil {
						r.EncodeNil()
					} else {
						yy2896 := *x.NodeName
						yym2897 := z.EncBinary()
						_ = yym2897
						if false {
						} else {
							r.EncodeString(codecSelferC_UTF81234, string(yy2896))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2888[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nodeName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.NodeName == nil {
						r.EncodeNil()
					} else {
						yy2898 := *x.NodeName
						yym2899 := z.EncBinary()
						_ = yym2899
						if false {
						} else {
							r.EncodeString(codecSelferC_UTF81234, string(yy2898))
						}
					}
				}
			}
			if yyr2888 || yy2arr2888 {
				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 yyr2888 || yy2arr2888 {
				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
	yym2901 := z.DecBinary()
	_ = yym2901
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2902 := r.ContainerType()
		if yyct2902 == codecSelferValueTypeMap1234 {
			yyl2902 := r.ReadMapStart()
			if yyl2902 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2902, d)
			}
		} else if yyct2902 == codecSelferValueTypeArray1234 {
			yyl2902 := r.ReadArrayStart()
			if yyl2902 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2902, 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 yys2903Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2903Slc
	var yyhl2903 bool = l >= 0
	for yyj2903 := 0; ; yyj2903++ {
		if yyhl2903 {
			if yyj2903 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2903Slc = r.DecodeBytes(yys2903Slc, true, true)
		yys2903 := string(yys2903Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2903 {
		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)
				}
				yym2907 := z.DecBinary()
				_ = yym2907
				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, yys2903)
		} // end switch yys2903
	} // end for yyj2903
	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 yyj2909 int
	var yyb2909 bool
	var yyhl2909 bool = l >= 0
	yyj2909++
	if yyhl2909 {
		yyb2909 = yyj2909 > l
	} else {
		yyb2909 = r.CheckBreak()
	}
	if yyb2909 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.IP = ""
	} else {
		x.IP = string(r.DecodeString())
	}
	yyj2909++
	if yyhl2909 {
		yyb2909 = yyj2909 > l
	} else {
		yyb2909 = r.CheckBreak()
	}
	if yyb2909 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Hostname = ""
	} else {
		x.Hostname = string(r.DecodeString())
	}
	yyj2909++
	if yyhl2909 {
		yyb2909 = yyj2909 > l
	} else {
		yyb2909 = r.CheckBreak()
	}
	if yyb2909 {
		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)
		}
		yym2913 := z.DecBinary()
		_ = yym2913
		if false {
		} else {
			*((*string)(x.NodeName)) = r.DecodeString()
		}
	}
	yyj2909++
	if yyhl2909 {
		yyb2909 = yyj2909 > l
	} else {
		yyb2909 = r.CheckBreak()
	}
	if yyb2909 {
		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 {
		yyj2909++
		if yyhl2909 {
			yyb2909 = yyj2909 > l
		} else {
			yyb2909 = r.CheckBreak()
		}
		if yyb2909 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2909-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 {
		yym2915 := z.EncBinary()
		_ = yym2915
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2916 := !z.EncBinary()
			yy2arr2916 := z.EncBasicHandle().StructToArray
			var yyq2916 [3]bool
			_, _, _ = yysep2916, yyq2916, yy2arr2916
			const yyr2916 bool = false
			var yynn2916 int
			if yyr2916 || yy2arr2916 {
				r.EncodeArrayStart(3)
			} else {
				yynn2916 = 3
				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.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2919 := z.EncBinary()
				_ = yym2919
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr2916 || yy2arr2916 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2921 := z.EncBinary()
				_ = yym2921
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Port"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2922 := z.EncBinary()
				_ = yym2922
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			}
			if yyr2916 || yy2arr2916 {
				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 yyr2916 || yy2arr2916 {
				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
	yym2924 := z.DecBinary()
	_ = yym2924
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2925 := r.ContainerType()
		if yyct2925 == codecSelferValueTypeMap1234 {
			yyl2925 := r.ReadMapStart()
			if yyl2925 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2925, d)
			}
		} else if yyct2925 == codecSelferValueTypeArray1234 {
			yyl2925 := r.ReadArrayStart()
			if yyl2925 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2925, 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 yys2926Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2926Slc
	var yyhl2926 bool = l >= 0
	for yyj2926 := 0; ; yyj2926++ {
		if yyhl2926 {
			if yyj2926 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2926Slc = r.DecodeBytes(yys2926Slc, true, true)
		yys2926 := string(yys2926Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2926 {
		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, yys2926)
		} // end switch yys2926
	} // end for yyj2926
	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 yyj2930 int
	var yyb2930 bool
	var yyhl2930 bool = l >= 0
	yyj2930++
	if yyhl2930 {
		yyb2930 = yyj2930 > l
	} else {
		yyb2930 = r.CheckBreak()
	}
	if yyb2930 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj2930++
	if yyhl2930 {
		yyb2930 = yyj2930 > l
	} else {
		yyb2930 = r.CheckBreak()
	}
	if yyb2930 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = 0
	} else {
		x.Port = int32(r.DecodeInt(32))
	}
	yyj2930++
	if yyhl2930 {
		yyb2930 = yyj2930 > l
	} else {
		yyb2930 = r.CheckBreak()
	}
	if yyb2930 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Protocol = ""
	} else {
		x.Protocol = Protocol(r.DecodeString())
	}
	for {
		yyj2930++
		if yyhl2930 {
			yyb2930 = yyj2930 > l
		} else {
			yyb2930 = r.CheckBreak()
		}
		if yyb2930 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2930-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 {
		yym2934 := z.EncBinary()
		_ = yym2934
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2935 := !z.EncBinary()
			yy2arr2935 := z.EncBasicHandle().StructToArray
			var yyq2935 [4]bool
			_, _, _ = yysep2935, yyq2935, yy2arr2935
			const yyr2935 bool = false
			yyq2935[0] = x.Kind != ""
			yyq2935[1] = x.APIVersion != ""
			yyq2935[2] = true
			var yynn2935 int
			if yyr2935 || yy2arr2935 {
				r.EncodeArrayStart(4)
			} else {
				yynn2935 = 1
				for _, b := range yyq2935 {
					if b {
						yynn2935++
					}
				}
				r.EncodeMapStart(yynn2935)
				yynn2935 = 0
			}
			if yyr2935 || yy2arr2935 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2935[0] {
					yym2937 := z.EncBinary()
					_ = yym2937
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2935[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2938 := z.EncBinary()
					_ = yym2938
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2935 || yy2arr2935 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2935[1] {
					yym2940 := z.EncBinary()
					_ = yym2940
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2935[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2941 := z.EncBinary()
					_ = yym2941
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2935 || yy2arr2935 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2935[2] {
					yy2943 := &x.ListMeta
					yym2944 := z.EncBinary()
					_ = yym2944
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2943) {
					} else {
						z.EncFallback(yy2943)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2935[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2945 := &x.ListMeta
					yym2946 := z.EncBinary()
					_ = yym2946
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2945) {
					} else {
						z.EncFallback(yy2945)
					}
				}
			}
			if yyr2935 || yy2arr2935 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2948 := z.EncBinary()
					_ = yym2948
					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 {
					yym2949 := z.EncBinary()
					_ = yym2949
					if false {
					} else {
						h.encSliceEndpoints(([]Endpoints)(x.Items), e)
					}
				}
			}
			if yyr2935 || yy2arr2935 {
				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
	yym2950 := z.DecBinary()
	_ = yym2950
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2951 := r.ContainerType()
		if yyct2951 == codecSelferValueTypeMap1234 {
			yyl2951 := r.ReadMapStart()
			if yyl2951 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2951, d)
			}
		} else if yyct2951 == codecSelferValueTypeArray1234 {
			yyl2951 := r.ReadArrayStart()
			if yyl2951 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2951, 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 yys2952Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2952Slc
	var yyhl2952 bool = l >= 0
	for yyj2952 := 0; ; yyj2952++ {
		if yyhl2952 {
			if yyj2952 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2952Slc = r.DecodeBytes(yys2952Slc, true, true)
		yys2952 := string(yys2952Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2952 {
		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_unversioned.ListMeta{}
			} else {
				yyv2955 := &x.ListMeta
				yym2956 := z.DecBinary()
				_ = yym2956
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2955) {
				} else {
					z.DecFallback(yyv2955, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2957 := &x.Items
				yym2958 := z.DecBinary()
				_ = yym2958
				if false {
				} else {
					h.decSliceEndpoints((*[]Endpoints)(yyv2957), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2952)
		} // end switch yys2952
	} // end for yyj2952
	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 yyj2959 int
	var yyb2959 bool
	var yyhl2959 bool = l >= 0
	yyj2959++
	if yyhl2959 {
		yyb2959 = yyj2959 > l
	} else {
		yyb2959 = r.CheckBreak()
	}
	if yyb2959 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2959++
	if yyhl2959 {
		yyb2959 = yyj2959 > l
	} else {
		yyb2959 = r.CheckBreak()
	}
	if yyb2959 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2959++
	if yyhl2959 {
		yyb2959 = yyj2959 > l
	} else {
		yyb2959 = r.CheckBreak()
	}
	if yyb2959 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2962 := &x.ListMeta
		yym2963 := z.DecBinary()
		_ = yym2963
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2962) {
		} else {
			z.DecFallback(yyv2962, false)
		}
	}
	yyj2959++
	if yyhl2959 {
		yyb2959 = yyj2959 > l
	} else {
		yyb2959 = r.CheckBreak()
	}
	if yyb2959 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2964 := &x.Items
		yym2965 := z.DecBinary()
		_ = yym2965
		if false {
		} else {
			h.decSliceEndpoints((*[]Endpoints)(yyv2964), d)
		}
	}
	for {
		yyj2959++
		if yyhl2959 {
			yyb2959 = yyj2959 > l
		} else {
			yyb2959 = r.CheckBreak()
		}
		if yyb2959 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2959-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 {
		yym2966 := z.EncBinary()
		_ = yym2966
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2967 := !z.EncBinary()
			yy2arr2967 := z.EncBasicHandle().StructToArray
			var yyq2967 [4]bool
			_, _, _ = yysep2967, yyq2967, yy2arr2967
			const yyr2967 bool = false
			yyq2967[0] = x.PodCIDR != ""
			yyq2967[1] = x.ExternalID != ""
			yyq2967[2] = x.ProviderID != ""
			yyq2967[3] = x.Unschedulable != false
			var yynn2967 int
			if yyr2967 || yy2arr2967 {
				r.EncodeArrayStart(4)
			} else {
				yynn2967 = 0
				for _, b := range yyq2967 {
					if b {
						yynn2967++
					}
				}
				r.EncodeMapStart(yynn2967)
				yynn2967 = 0
			}
			if yyr2967 || yy2arr2967 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2967[0] {
					yym2969 := z.EncBinary()
					_ = yym2969
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodCIDR))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2967[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("podCIDR"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2970 := z.EncBinary()
					_ = yym2970
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodCIDR))
					}
				}
			}
			if yyr2967 || yy2arr2967 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2967[1] {
					yym2972 := z.EncBinary()
					_ = yym2972
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ExternalID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2967[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("externalID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2973 := z.EncBinary()
					_ = yym2973
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ExternalID))
					}
				}
			}
			if yyr2967 || yy2arr2967 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2967[2] {
					yym2975 := z.EncBinary()
					_ = yym2975
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ProviderID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2967[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("providerID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2976 := z.EncBinary()
					_ = yym2976
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ProviderID))
					}
				}
			}
			if yyr2967 || yy2arr2967 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2967[3] {
					yym2978 := z.EncBinary()
					_ = yym2978
					if false {
					} else {
						r.EncodeBool(bool(x.Unschedulable))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2967[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("unschedulable"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2979 := z.EncBinary()
					_ = yym2979
					if false {
					} else {
						r.EncodeBool(bool(x.Unschedulable))
					}
				}
			}
			if yyr2967 || yy2arr2967 {
				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
	yym2980 := z.DecBinary()
	_ = yym2980
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2981 := r.ContainerType()
		if yyct2981 == codecSelferValueTypeMap1234 {
			yyl2981 := r.ReadMapStart()
			if yyl2981 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2981, d)
			}
		} else if yyct2981 == codecSelferValueTypeArray1234 {
			yyl2981 := r.ReadArrayStart()
			if yyl2981 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2981, 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 yys2982Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2982Slc
	var yyhl2982 bool = l >= 0
	for yyj2982 := 0; ; yyj2982++ {
		if yyhl2982 {
			if yyj2982 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2982Slc = r.DecodeBytes(yys2982Slc, true, true)
		yys2982 := string(yys2982Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2982 {
		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, yys2982)
		} // end switch yys2982
	} // end for yyj2982
	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 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.PodCIDR = ""
	} else {
		x.PodCIDR = 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.ExternalID = ""
	} else {
		x.ExternalID = 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.ProviderID = ""
	} else {
		x.ProviderID = 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.Unschedulable = false
	} else {
		x.Unschedulable = bool(r.DecodeBool())
	}
	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 *DaemonEndpoint) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2992 := z.EncBinary()
		_ = yym2992
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2993 := !z.EncBinary()
			yy2arr2993 := z.EncBasicHandle().StructToArray
			var yyq2993 [1]bool
			_, _, _ = yysep2993, yyq2993, yy2arr2993
			const yyr2993 bool = false
			var yynn2993 int
			if yyr2993 || yy2arr2993 {
				r.EncodeArrayStart(1)
			} else {
				yynn2993 = 1
				for _, b := range yyq2993 {
					if b {
						yynn2993++
					}
				}
				r.EncodeMapStart(yynn2993)
				yynn2993 = 0
			}
			if yyr2993 || yy2arr2993 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2995 := z.EncBinary()
				_ = yym2995
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Port"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2996 := z.EncBinary()
				_ = yym2996
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			}
			if yyr2993 || yy2arr2993 {
				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
	yym2997 := z.DecBinary()
	_ = yym2997
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2998 := r.ContainerType()
		if yyct2998 == codecSelferValueTypeMap1234 {
			yyl2998 := r.ReadMapStart()
			if yyl2998 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2998, d)
			}
		} else if yyct2998 == codecSelferValueTypeArray1234 {
			yyl2998 := r.ReadArrayStart()
			if yyl2998 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2998, 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 yys2999Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2999Slc
	var yyhl2999 bool = l >= 0
	for yyj2999 := 0; ; yyj2999++ {
		if yyhl2999 {
			if yyj2999 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2999Slc = r.DecodeBytes(yys2999Slc, true, true)
		yys2999 := string(yys2999Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2999 {
		case "Port":
			if r.TryDecodeAsNil() {
				x.Port = 0
			} else {
				x.Port = int32(r.DecodeInt(32))
			}
		default:
			z.DecStructFieldNotFound(-1, yys2999)
		} // end switch yys2999
	} // end for yyj2999
	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 yyj3001 int
	var yyb3001 bool
	var yyhl3001 bool = l >= 0
	yyj3001++
	if yyhl3001 {
		yyb3001 = yyj3001 > l
	} else {
		yyb3001 = r.CheckBreak()
	}
	if yyb3001 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = 0
	} else {
		x.Port = int32(r.DecodeInt(32))
	}
	for {
		yyj3001++
		if yyhl3001 {
			yyb3001 = yyj3001 > l
		} else {
			yyb3001 = r.CheckBreak()
		}
		if yyb3001 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3001-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 {
		yym3003 := z.EncBinary()
		_ = yym3003
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3004 := !z.EncBinary()
			yy2arr3004 := z.EncBasicHandle().StructToArray
			var yyq3004 [1]bool
			_, _, _ = yysep3004, yyq3004, yy2arr3004
			const yyr3004 bool = false
			yyq3004[0] = true
			var yynn3004 int
			if yyr3004 || yy2arr3004 {
				r.EncodeArrayStart(1)
			} else {
				yynn3004 = 0
				for _, b := range yyq3004 {
					if b {
						yynn3004++
					}
				}
				r.EncodeMapStart(yynn3004)
				yynn3004 = 0
			}
			if yyr3004 || yy2arr3004 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3004[0] {
					yy3006 := &x.KubeletEndpoint
					yy3006.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3004[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kubeletEndpoint"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3007 := &x.KubeletEndpoint
					yy3007.CodecEncodeSelf(e)
				}
			}
			if yyr3004 || yy2arr3004 {
				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
	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 *NodeDaemonEndpoints) 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 "kubeletEndpoint":
			if r.TryDecodeAsNil() {
				x.KubeletEndpoint = DaemonEndpoint{}
			} else {
				yyv3011 := &x.KubeletEndpoint
				yyv3011.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3010)
		} // end switch yys3010
	} // end for yyj3010
	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 yyj3012 int
	var yyb3012 bool
	var yyhl3012 bool = l >= 0
	yyj3012++
	if yyhl3012 {
		yyb3012 = yyj3012 > l
	} else {
		yyb3012 = r.CheckBreak()
	}
	if yyb3012 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.KubeletEndpoint = DaemonEndpoint{}
	} else {
		yyv3013 := &x.KubeletEndpoint
		yyv3013.CodecDecodeSelf(d)
	}
	for {
		yyj3012++
		if yyhl3012 {
			yyb3012 = yyj3012 > l
		} else {
			yyb3012 = r.CheckBreak()
		}
		if yyb3012 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3012-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 {
		yym3014 := z.EncBinary()
		_ = yym3014
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3015 := !z.EncBinary()
			yy2arr3015 := z.EncBasicHandle().StructToArray
			var yyq3015 [10]bool
			_, _, _ = yysep3015, yyq3015, yy2arr3015
			const yyr3015 bool = false
			var yynn3015 int
			if yyr3015 || yy2arr3015 {
				r.EncodeArrayStart(10)
			} else {
				yynn3015 = 10
				for _, b := range yyq3015 {
					if b {
						yynn3015++
					}
				}
				r.EncodeMapStart(yynn3015)
				yynn3015 = 0
			}
			if yyr3015 || yy2arr3015 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3017 := z.EncBinary()
				_ = yym3017
				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)
				yym3018 := z.EncBinary()
				_ = yym3018
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MachineID))
				}
			}
			if yyr3015 || yy2arr3015 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3020 := z.EncBinary()
				_ = yym3020
				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)
				yym3021 := z.EncBinary()
				_ = yym3021
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.SystemUUID))
				}
			}
			if yyr3015 || yy2arr3015 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3023 := z.EncBinary()
				_ = yym3023
				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)
				yym3024 := z.EncBinary()
				_ = yym3024
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.BootID))
				}
			}
			if yyr3015 || yy2arr3015 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3026 := z.EncBinary()
				_ = yym3026
				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)
				yym3027 := z.EncBinary()
				_ = yym3027
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KernelVersion))
				}
			}
			if yyr3015 || yy2arr3015 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3029 := z.EncBinary()
				_ = yym3029
				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)
				yym3030 := z.EncBinary()
				_ = yym3030
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.OSImage))
				}
			}
			if yyr3015 || yy2arr3015 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3032 := z.EncBinary()
				_ = yym3032
				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)
				yym3033 := z.EncBinary()
				_ = yym3033
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ContainerRuntimeVersion))
				}
			}
			if yyr3015 || yy2arr3015 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3035 := z.EncBinary()
				_ = yym3035
				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)
				yym3036 := z.EncBinary()
				_ = yym3036
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeletVersion))
				}
			}
			if yyr3015 || yy2arr3015 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3038 := z.EncBinary()
				_ = yym3038
				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)
				yym3039 := z.EncBinary()
				_ = yym3039
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeProxyVersion))
				}
			}
			if yyr3015 || yy2arr3015 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3041 := z.EncBinary()
				_ = yym3041
				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)
				yym3042 := z.EncBinary()
				_ = yym3042
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.OperatingSystem))
				}
			}
			if yyr3015 || yy2arr3015 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3044 := z.EncBinary()
				_ = yym3044
				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)
				yym3045 := z.EncBinary()
				_ = yym3045
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Architecture))
				}
			}
			if yyr3015 || yy2arr3015 {
				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
	yym3046 := z.DecBinary()
	_ = yym3046
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3047 := r.ContainerType()
		if yyct3047 == codecSelferValueTypeMap1234 {
			yyl3047 := r.ReadMapStart()
			if yyl3047 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3047, d)
			}
		} else if yyct3047 == codecSelferValueTypeArray1234 {
			yyl3047 := r.ReadArrayStart()
			if yyl3047 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3047, 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 yys3048Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3048Slc
	var yyhl3048 bool = l >= 0
	for yyj3048 := 0; ; yyj3048++ {
		if yyhl3048 {
			if yyj3048 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3048Slc = r.DecodeBytes(yys3048Slc, true, true)
		yys3048 := string(yys3048Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3048 {
		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, yys3048)
		} // end switch yys3048
	} // end for yyj3048
	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 yyj3059 int
	var yyb3059 bool
	var yyhl3059 bool = l >= 0
	yyj3059++
	if yyhl3059 {
		yyb3059 = yyj3059 > l
	} else {
		yyb3059 = r.CheckBreak()
	}
	if yyb3059 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.MachineID = ""
	} else {
		x.MachineID = string(r.DecodeString())
	}
	yyj3059++
	if yyhl3059 {
		yyb3059 = yyj3059 > l
	} else {
		yyb3059 = r.CheckBreak()
	}
	if yyb3059 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SystemUUID = ""
	} else {
		x.SystemUUID = string(r.DecodeString())
	}
	yyj3059++
	if yyhl3059 {
		yyb3059 = yyj3059 > l
	} else {
		yyb3059 = r.CheckBreak()
	}
	if yyb3059 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.BootID = ""
	} else {
		x.BootID = string(r.DecodeString())
	}
	yyj3059++
	if yyhl3059 {
		yyb3059 = yyj3059 > l
	} else {
		yyb3059 = r.CheckBreak()
	}
	if yyb3059 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.KernelVersion = ""
	} else {
		x.KernelVersion = string(r.DecodeString())
	}
	yyj3059++
	if yyhl3059 {
		yyb3059 = yyj3059 > l
	} else {
		yyb3059 = r.CheckBreak()
	}
	if yyb3059 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.OSImage = ""
	} else {
		x.OSImage = string(r.DecodeString())
	}
	yyj3059++
	if yyhl3059 {
		yyb3059 = yyj3059 > l
	} else {
		yyb3059 = r.CheckBreak()
	}
	if yyb3059 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerRuntimeVersion = ""
	} else {
		x.ContainerRuntimeVersion = string(r.DecodeString())
	}
	yyj3059++
	if yyhl3059 {
		yyb3059 = yyj3059 > l
	} else {
		yyb3059 = r.CheckBreak()
	}
	if yyb3059 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.KubeletVersion = ""
	} else {
		x.KubeletVersion = string(r.DecodeString())
	}
	yyj3059++
	if yyhl3059 {
		yyb3059 = yyj3059 > l
	} else {
		yyb3059 = r.CheckBreak()
	}
	if yyb3059 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.KubeProxyVersion = ""
	} else {
		x.KubeProxyVersion = string(r.DecodeString())
	}
	yyj3059++
	if yyhl3059 {
		yyb3059 = yyj3059 > l
	} else {
		yyb3059 = r.CheckBreak()
	}
	if yyb3059 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.OperatingSystem = ""
	} else {
		x.OperatingSystem = string(r.DecodeString())
	}
	yyj3059++
	if yyhl3059 {
		yyb3059 = yyj3059 > l
	} else {
		yyb3059 = r.CheckBreak()
	}
	if yyb3059 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Architecture = ""
	} else {
		x.Architecture = string(r.DecodeString())
	}
	for {
		yyj3059++
		if yyhl3059 {
			yyb3059 = yyj3059 > l
		} else {
			yyb3059 = r.CheckBreak()
		}
		if yyb3059 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3059-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 {
		yym3070 := z.EncBinary()
		_ = yym3070
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3071 := !z.EncBinary()
			yy2arr3071 := z.EncBasicHandle().StructToArray
			var yyq3071 [10]bool
			_, _, _ = yysep3071, yyq3071, yy2arr3071
			const yyr3071 bool = false
			yyq3071[0] = len(x.Capacity) != 0
			yyq3071[1] = len(x.Allocatable) != 0
			yyq3071[2] = x.Phase != ""
			yyq3071[3] = len(x.Conditions) != 0
			yyq3071[4] = len(x.Addresses) != 0
			yyq3071[5] = true
			yyq3071[6] = true
			yyq3071[7] = len(x.Images) != 0
			yyq3071[8] = len(x.VolumesInUse) != 0
			yyq3071[9] = len(x.VolumesAttached) != 0
			var yynn3071 int
			if yyr3071 || yy2arr3071 {
				r.EncodeArrayStart(10)
			} else {
				yynn3071 = 0
				for _, b := range yyq3071 {
					if b {
						yynn3071++
					}
				}
				r.EncodeMapStart(yynn3071)
				yynn3071 = 0
			}
			if yyr3071 || yy2arr3071 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3071[0] {
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3071[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 yyr3071 || yy2arr3071 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3071[1] {
					if x.Allocatable == nil {
						r.EncodeNil()
					} else {
						x.Allocatable.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3071[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 yyr3071 || yy2arr3071 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3071[2] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3071[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr3071 || yy2arr3071 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3071[3] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym3076 := z.EncBinary()
						_ = yym3076
						if false {
						} else {
							h.encSliceNodeCondition(([]NodeCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3071[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym3077 := z.EncBinary()
						_ = yym3077
						if false {
						} else {
							h.encSliceNodeCondition(([]NodeCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr3071 || yy2arr3071 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3071[4] {
					if x.Addresses == nil {
						r.EncodeNil()
					} else {
						yym3079 := z.EncBinary()
						_ = yym3079
						if false {
						} else {
							h.encSliceNodeAddress(([]NodeAddress)(x.Addresses), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3071[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("addresses"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Addresses == nil {
						r.EncodeNil()
					} else {
						yym3080 := z.EncBinary()
						_ = yym3080
						if false {
						} else {
							h.encSliceNodeAddress(([]NodeAddress)(x.Addresses), e)
						}
					}
				}
			}
			if yyr3071 || yy2arr3071 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3071[5] {
					yy3082 := &x.DaemonEndpoints
					yy3082.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3071[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("daemonEndpoints"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3083 := &x.DaemonEndpoints
					yy3083.CodecEncodeSelf(e)
				}
			}
			if yyr3071 || yy2arr3071 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3071[6] {
					yy3085 := &x.NodeInfo
					yy3085.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3071[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nodeInfo"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3086 := &x.NodeInfo
					yy3086.CodecEncodeSelf(e)
				}
			}
			if yyr3071 || yy2arr3071 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3071[7] {
					if x.Images == nil {
						r.EncodeNil()
					} else {
						yym3088 := z.EncBinary()
						_ = yym3088
						if false {
						} else {
							h.encSliceContainerImage(([]ContainerImage)(x.Images), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3071[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("images"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Images == nil {
						r.EncodeNil()
					} else {
						yym3089 := z.EncBinary()
						_ = yym3089
						if false {
						} else {
							h.encSliceContainerImage(([]ContainerImage)(x.Images), e)
						}
					}
				}
			}
			if yyr3071 || yy2arr3071 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3071[8] {
					if x.VolumesInUse == nil {
						r.EncodeNil()
					} else {
						yym3091 := z.EncBinary()
						_ = yym3091
						if false {
						} else {
							h.encSliceUniqueVolumeName(([]UniqueVolumeName)(x.VolumesInUse), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3071[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("volumesInUse"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.VolumesInUse == nil {
						r.EncodeNil()
					} else {
						yym3092 := z.EncBinary()
						_ = yym3092
						if false {
						} else {
							h.encSliceUniqueVolumeName(([]UniqueVolumeName)(x.VolumesInUse), e)
						}
					}
				}
			}
			if yyr3071 || yy2arr3071 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3071[9] {
					if x.VolumesAttached == nil {
						r.EncodeNil()
					} else {
						yym3094 := z.EncBinary()
						_ = yym3094
						if false {
						} else {
							h.encSliceAttachedVolume(([]AttachedVolume)(x.VolumesAttached), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3071[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("volumesAttached"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.VolumesAttached == nil {
						r.EncodeNil()
					} else {
						yym3095 := z.EncBinary()
						_ = yym3095
						if false {
						} else {
							h.encSliceAttachedVolume(([]AttachedVolume)(x.VolumesAttached), e)
						}
					}
				}
			}
			if yyr3071 || yy2arr3071 {
				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
	yym3096 := z.DecBinary()
	_ = yym3096
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3097 := r.ContainerType()
		if yyct3097 == codecSelferValueTypeMap1234 {
			yyl3097 := r.ReadMapStart()
			if yyl3097 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3097, d)
			}
		} else if yyct3097 == codecSelferValueTypeArray1234 {
			yyl3097 := r.ReadArrayStart()
			if yyl3097 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3097, 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 yys3098Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3098Slc
	var yyhl3098 bool = l >= 0
	for yyj3098 := 0; ; yyj3098++ {
		if yyhl3098 {
			if yyj3098 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3098Slc = r.DecodeBytes(yys3098Slc, true, true)
		yys3098 := string(yys3098Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3098 {
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv3099 := &x.Capacity
				yyv3099.CodecDecodeSelf(d)
			}
		case "allocatable":
			if r.TryDecodeAsNil() {
				x.Allocatable = nil
			} else {
				yyv3100 := &x.Allocatable
				yyv3100.CodecDecodeSelf(d)
			}
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = NodePhase(r.DecodeString())
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv3102 := &x.Conditions
				yym3103 := z.DecBinary()
				_ = yym3103
				if false {
				} else {
					h.decSliceNodeCondition((*[]NodeCondition)(yyv3102), d)
				}
			}
		case "addresses":
			if r.TryDecodeAsNil() {
				x.Addresses = nil
			} else {
				yyv3104 := &x.Addresses
				yym3105 := z.DecBinary()
				_ = yym3105
				if false {
				} else {
					h.decSliceNodeAddress((*[]NodeAddress)(yyv3104), d)
				}
			}
		case "daemonEndpoints":
			if r.TryDecodeAsNil() {
				x.DaemonEndpoints = NodeDaemonEndpoints{}
			} else {
				yyv3106 := &x.DaemonEndpoints
				yyv3106.CodecDecodeSelf(d)
			}
		case "nodeInfo":
			if r.TryDecodeAsNil() {
				x.NodeInfo = NodeSystemInfo{}
			} else {
				yyv3107 := &x.NodeInfo
				yyv3107.CodecDecodeSelf(d)
			}
		case "images":
			if r.TryDecodeAsNil() {
				x.Images = nil
			} else {
				yyv3108 := &x.Images
				yym3109 := z.DecBinary()
				_ = yym3109
				if false {
				} else {
					h.decSliceContainerImage((*[]ContainerImage)(yyv3108), d)
				}
			}
		case "volumesInUse":
			if r.TryDecodeAsNil() {
				x.VolumesInUse = nil
			} else {
				yyv3110 := &x.VolumesInUse
				yym3111 := z.DecBinary()
				_ = yym3111
				if false {
				} else {
					h.decSliceUniqueVolumeName((*[]UniqueVolumeName)(yyv3110), d)
				}
			}
		case "volumesAttached":
			if r.TryDecodeAsNil() {
				x.VolumesAttached = nil
			} else {
				yyv3112 := &x.VolumesAttached
				yym3113 := z.DecBinary()
				_ = yym3113
				if false {
				} else {
					h.decSliceAttachedVolume((*[]AttachedVolume)(yyv3112), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3098)
		} // end switch yys3098
	} // end for yyj3098
	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 yyj3114 int
	var yyb3114 bool
	var yyhl3114 bool = l >= 0
	yyj3114++
	if yyhl3114 {
		yyb3114 = yyj3114 > l
	} else {
		yyb3114 = r.CheckBreak()
	}
	if yyb3114 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv3115 := &x.Capacity
		yyv3115.CodecDecodeSelf(d)
	}
	yyj3114++
	if yyhl3114 {
		yyb3114 = yyj3114 > l
	} else {
		yyb3114 = r.CheckBreak()
	}
	if yyb3114 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Allocatable = nil
	} else {
		yyv3116 := &x.Allocatable
		yyv3116.CodecDecodeSelf(d)
	}
	yyj3114++
	if yyhl3114 {
		yyb3114 = yyj3114 > l
	} else {
		yyb3114 = r.CheckBreak()
	}
	if yyb3114 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = NodePhase(r.DecodeString())
	}
	yyj3114++
	if yyhl3114 {
		yyb3114 = yyj3114 > l
	} else {
		yyb3114 = r.CheckBreak()
	}
	if yyb3114 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv3118 := &x.Conditions
		yym3119 := z.DecBinary()
		_ = yym3119
		if false {
		} else {
			h.decSliceNodeCondition((*[]NodeCondition)(yyv3118), d)
		}
	}
	yyj3114++
	if yyhl3114 {
		yyb3114 = yyj3114 > l
	} else {
		yyb3114 = r.CheckBreak()
	}
	if yyb3114 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Addresses = nil
	} else {
		yyv3120 := &x.Addresses
		yym3121 := z.DecBinary()
		_ = yym3121
		if false {
		} else {
			h.decSliceNodeAddress((*[]NodeAddress)(yyv3120), d)
		}
	}
	yyj3114++
	if yyhl3114 {
		yyb3114 = yyj3114 > l
	} else {
		yyb3114 = r.CheckBreak()
	}
	if yyb3114 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DaemonEndpoints = NodeDaemonEndpoints{}
	} else {
		yyv3122 := &x.DaemonEndpoints
		yyv3122.CodecDecodeSelf(d)
	}
	yyj3114++
	if yyhl3114 {
		yyb3114 = yyj3114 > l
	} else {
		yyb3114 = r.CheckBreak()
	}
	if yyb3114 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodeInfo = NodeSystemInfo{}
	} else {
		yyv3123 := &x.NodeInfo
		yyv3123.CodecDecodeSelf(d)
	}
	yyj3114++
	if yyhl3114 {
		yyb3114 = yyj3114 > l
	} else {
		yyb3114 = r.CheckBreak()
	}
	if yyb3114 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Images = nil
	} else {
		yyv3124 := &x.Images
		yym3125 := z.DecBinary()
		_ = yym3125
		if false {
		} else {
			h.decSliceContainerImage((*[]ContainerImage)(yyv3124), d)
		}
	}
	yyj3114++
	if yyhl3114 {
		yyb3114 = yyj3114 > l
	} else {
		yyb3114 = r.CheckBreak()
	}
	if yyb3114 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumesInUse = nil
	} else {
		yyv3126 := &x.VolumesInUse
		yym3127 := z.DecBinary()
		_ = yym3127
		if false {
		} else {
			h.decSliceUniqueVolumeName((*[]UniqueVolumeName)(yyv3126), d)
		}
	}
	yyj3114++
	if yyhl3114 {
		yyb3114 = yyj3114 > l
	} else {
		yyb3114 = r.CheckBreak()
	}
	if yyb3114 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumesAttached = nil
	} else {
		yyv3128 := &x.VolumesAttached
		yym3129 := z.DecBinary()
		_ = yym3129
		if false {
		} else {
			h.decSliceAttachedVolume((*[]AttachedVolume)(yyv3128), d)
		}
	}
	for {
		yyj3114++
		if yyhl3114 {
			yyb3114 = yyj3114 > l
		} else {
			yyb3114 = r.CheckBreak()
		}
		if yyb3114 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3114-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x UniqueVolumeName) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3130 := z.EncBinary()
	_ = yym3130
	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
	yym3131 := z.DecBinary()
	_ = yym3131
	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 {
		yym3132 := z.EncBinary()
		_ = yym3132
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3133 := !z.EncBinary()
			yy2arr3133 := z.EncBasicHandle().StructToArray
			var yyq3133 [2]bool
			_, _, _ = yysep3133, yyq3133, yy2arr3133
			const yyr3133 bool = false
			var yynn3133 int
			if yyr3133 || yy2arr3133 {
				r.EncodeArrayStart(2)
			} else {
				yynn3133 = 2
				for _, b := range yyq3133 {
					if b {
						yynn3133++
					}
				}
				r.EncodeMapStart(yynn3133)
				yynn3133 = 0
			}
			if yyr3133 || yy2arr3133 {
				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 yyr3133 || yy2arr3133 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3136 := z.EncBinary()
				_ = yym3136
				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)
				yym3137 := z.EncBinary()
				_ = yym3137
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DevicePath))
				}
			}
			if yyr3133 || yy2arr3133 {
				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
	yym3138 := z.DecBinary()
	_ = yym3138
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3139 := r.ContainerType()
		if yyct3139 == codecSelferValueTypeMap1234 {
			yyl3139 := r.ReadMapStart()
			if yyl3139 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3139, d)
			}
		} else if yyct3139 == codecSelferValueTypeArray1234 {
			yyl3139 := r.ReadArrayStart()
			if yyl3139 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3139, 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 yys3140Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3140Slc
	var yyhl3140 bool = l >= 0
	for yyj3140 := 0; ; yyj3140++ {
		if yyhl3140 {
			if yyj3140 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3140Slc = r.DecodeBytes(yys3140Slc, true, true)
		yys3140 := string(yys3140Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3140 {
		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, yys3140)
		} // end switch yys3140
	} // end for yyj3140
	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 yyj3143 int
	var yyb3143 bool
	var yyhl3143 bool = l >= 0
	yyj3143++
	if yyhl3143 {
		yyb3143 = yyj3143 > l
	} else {
		yyb3143 = r.CheckBreak()
	}
	if yyb3143 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = UniqueVolumeName(r.DecodeString())
	}
	yyj3143++
	if yyhl3143 {
		yyb3143 = yyj3143 > l
	} else {
		yyb3143 = r.CheckBreak()
	}
	if yyb3143 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DevicePath = ""
	} else {
		x.DevicePath = string(r.DecodeString())
	}
	for {
		yyj3143++
		if yyhl3143 {
			yyb3143 = yyj3143 > l
		} else {
			yyb3143 = r.CheckBreak()
		}
		if yyb3143 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3143-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 {
		yym3146 := z.EncBinary()
		_ = yym3146
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3147 := !z.EncBinary()
			yy2arr3147 := z.EncBasicHandle().StructToArray
			var yyq3147 [1]bool
			_, _, _ = yysep3147, yyq3147, yy2arr3147
			const yyr3147 bool = false
			yyq3147[0] = len(x.PreferAvoidPods) != 0
			var yynn3147 int
			if yyr3147 || yy2arr3147 {
				r.EncodeArrayStart(1)
			} else {
				yynn3147 = 0
				for _, b := range yyq3147 {
					if b {
						yynn3147++
					}
				}
				r.EncodeMapStart(yynn3147)
				yynn3147 = 0
			}
			if yyr3147 || yy2arr3147 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3147[0] {
					if x.PreferAvoidPods == nil {
						r.EncodeNil()
					} else {
						yym3149 := z.EncBinary()
						_ = yym3149
						if false {
						} else {
							h.encSlicePreferAvoidPodsEntry(([]PreferAvoidPodsEntry)(x.PreferAvoidPods), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3147[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("preferAvoidPods"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PreferAvoidPods == nil {
						r.EncodeNil()
					} else {
						yym3150 := z.EncBinary()
						_ = yym3150
						if false {
						} else {
							h.encSlicePreferAvoidPodsEntry(([]PreferAvoidPodsEntry)(x.PreferAvoidPods), e)
						}
					}
				}
			}
			if yyr3147 || yy2arr3147 {
				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
	yym3151 := z.DecBinary()
	_ = yym3151
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3152 := r.ContainerType()
		if yyct3152 == codecSelferValueTypeMap1234 {
			yyl3152 := r.ReadMapStart()
			if yyl3152 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3152, d)
			}
		} else if yyct3152 == codecSelferValueTypeArray1234 {
			yyl3152 := r.ReadArrayStart()
			if yyl3152 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3152, 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 yys3153Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3153Slc
	var yyhl3153 bool = l >= 0
	for yyj3153 := 0; ; yyj3153++ {
		if yyhl3153 {
			if yyj3153 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3153Slc = r.DecodeBytes(yys3153Slc, true, true)
		yys3153 := string(yys3153Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3153 {
		case "preferAvoidPods":
			if r.TryDecodeAsNil() {
				x.PreferAvoidPods = nil
			} else {
				yyv3154 := &x.PreferAvoidPods
				yym3155 := z.DecBinary()
				_ = yym3155
				if false {
				} else {
					h.decSlicePreferAvoidPodsEntry((*[]PreferAvoidPodsEntry)(yyv3154), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3153)
		} // end switch yys3153
	} // end for yyj3153
	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 yyj3156 int
	var yyb3156 bool
	var yyhl3156 bool = l >= 0
	yyj3156++
	if yyhl3156 {
		yyb3156 = yyj3156 > l
	} else {
		yyb3156 = r.CheckBreak()
	}
	if yyb3156 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PreferAvoidPods = nil
	} else {
		yyv3157 := &x.PreferAvoidPods
		yym3158 := z.DecBinary()
		_ = yym3158
		if false {
		} else {
			h.decSlicePreferAvoidPodsEntry((*[]PreferAvoidPodsEntry)(yyv3157), d)
		}
	}
	for {
		yyj3156++
		if yyhl3156 {
			yyb3156 = yyj3156 > l
		} else {
			yyb3156 = r.CheckBreak()
		}
		if yyb3156 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3156-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 {
		yym3159 := z.EncBinary()
		_ = yym3159
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3160 := !z.EncBinary()
			yy2arr3160 := z.EncBasicHandle().StructToArray
			var yyq3160 [4]bool
			_, _, _ = yysep3160, yyq3160, yy2arr3160
			const yyr3160 bool = false
			yyq3160[1] = true
			yyq3160[2] = x.Reason != ""
			yyq3160[3] = x.Message != ""
			var yynn3160 int
			if yyr3160 || yy2arr3160 {
				r.EncodeArrayStart(4)
			} else {
				yynn3160 = 1
				for _, b := range yyq3160 {
					if b {
						yynn3160++
					}
				}
				r.EncodeMapStart(yynn3160)
				yynn3160 = 0
			}
			if yyr3160 || yy2arr3160 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy3162 := &x.PodSignature
				yy3162.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("podSignature"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy3163 := &x.PodSignature
				yy3163.CodecEncodeSelf(e)
			}
			if yyr3160 || yy2arr3160 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3160[1] {
					yy3165 := &x.EvictionTime
					yym3166 := z.EncBinary()
					_ = yym3166
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3165) {
					} else if yym3166 {
						z.EncBinaryMarshal(yy3165)
					} else if !yym3166 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3165)
					} else {
						z.EncFallback(yy3165)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3160[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("evictionTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3167 := &x.EvictionTime
					yym3168 := z.EncBinary()
					_ = yym3168
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3167) {
					} else if yym3168 {
						z.EncBinaryMarshal(yy3167)
					} else if !yym3168 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3167)
					} else {
						z.EncFallback(yy3167)
					}
				}
			}
			if yyr3160 || yy2arr3160 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3160[2] {
					yym3170 := z.EncBinary()
					_ = yym3170
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3160[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3171 := z.EncBinary()
					_ = yym3171
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr3160 || yy2arr3160 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3160[3] {
					yym3173 := z.EncBinary()
					_ = yym3173
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3160[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3174 := z.EncBinary()
					_ = yym3174
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr3160 || yy2arr3160 {
				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
	yym3175 := z.DecBinary()
	_ = yym3175
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3176 := r.ContainerType()
		if yyct3176 == codecSelferValueTypeMap1234 {
			yyl3176 := r.ReadMapStart()
			if yyl3176 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3176, d)
			}
		} else if yyct3176 == codecSelferValueTypeArray1234 {
			yyl3176 := r.ReadArrayStart()
			if yyl3176 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3176, 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 yys3177Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3177Slc
	var yyhl3177 bool = l >= 0
	for yyj3177 := 0; ; yyj3177++ {
		if yyhl3177 {
			if yyj3177 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3177Slc = r.DecodeBytes(yys3177Slc, true, true)
		yys3177 := string(yys3177Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3177 {
		case "podSignature":
			if r.TryDecodeAsNil() {
				x.PodSignature = PodSignature{}
			} else {
				yyv3178 := &x.PodSignature
				yyv3178.CodecDecodeSelf(d)
			}
		case "evictionTime":
			if r.TryDecodeAsNil() {
				x.EvictionTime = pkg2_unversioned.Time{}
			} else {
				yyv3179 := &x.EvictionTime
				yym3180 := z.DecBinary()
				_ = yym3180
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3179) {
				} else if yym3180 {
					z.DecBinaryUnmarshal(yyv3179)
				} else if !yym3180 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3179)
				} else {
					z.DecFallback(yyv3179, 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, yys3177)
		} // end switch yys3177
	} // end for yyj3177
	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 yyj3183 int
	var yyb3183 bool
	var yyhl3183 bool = l >= 0
	yyj3183++
	if yyhl3183 {
		yyb3183 = yyj3183 > l
	} else {
		yyb3183 = r.CheckBreak()
	}
	if yyb3183 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PodSignature = PodSignature{}
	} else {
		yyv3184 := &x.PodSignature
		yyv3184.CodecDecodeSelf(d)
	}
	yyj3183++
	if yyhl3183 {
		yyb3183 = yyj3183 > l
	} else {
		yyb3183 = r.CheckBreak()
	}
	if yyb3183 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.EvictionTime = pkg2_unversioned.Time{}
	} else {
		yyv3185 := &x.EvictionTime
		yym3186 := z.DecBinary()
		_ = yym3186
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3185) {
		} else if yym3186 {
			z.DecBinaryUnmarshal(yyv3185)
		} else if !yym3186 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv3185)
		} else {
			z.DecFallback(yyv3185, false)
		}
	}
	yyj3183++
	if yyhl3183 {
		yyb3183 = yyj3183 > l
	} else {
		yyb3183 = r.CheckBreak()
	}
	if yyb3183 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj3183++
	if yyhl3183 {
		yyb3183 = yyj3183 > l
	} else {
		yyb3183 = r.CheckBreak()
	}
	if yyb3183 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj3183++
		if yyhl3183 {
			yyb3183 = yyj3183 > l
		} else {
			yyb3183 = r.CheckBreak()
		}
		if yyb3183 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3183-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 {
		yym3189 := z.EncBinary()
		_ = yym3189
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3190 := !z.EncBinary()
			yy2arr3190 := z.EncBasicHandle().StructToArray
			var yyq3190 [1]bool
			_, _, _ = yysep3190, yyq3190, yy2arr3190
			const yyr3190 bool = false
			yyq3190[0] = x.PodController != nil
			var yynn3190 int
			if yyr3190 || yy2arr3190 {
				r.EncodeArrayStart(1)
			} else {
				yynn3190 = 0
				for _, b := range yyq3190 {
					if b {
						yynn3190++
					}
				}
				r.EncodeMapStart(yynn3190)
				yynn3190 = 0
			}
			if yyr3190 || yy2arr3190 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3190[0] {
					if x.PodController == nil {
						r.EncodeNil()
					} else {
						x.PodController.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3190[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("podController"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PodController == nil {
						r.EncodeNil()
					} else {
						x.PodController.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3190 || yy2arr3190 {
				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
	yym3192 := z.DecBinary()
	_ = yym3192
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3193 := r.ContainerType()
		if yyct3193 == codecSelferValueTypeMap1234 {
			yyl3193 := r.ReadMapStart()
			if yyl3193 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3193, d)
			}
		} else if yyct3193 == codecSelferValueTypeArray1234 {
			yyl3193 := r.ReadArrayStart()
			if yyl3193 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3193, 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 yys3194Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3194Slc
	var yyhl3194 bool = l >= 0
	for yyj3194 := 0; ; yyj3194++ {
		if yyhl3194 {
			if yyj3194 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3194Slc = r.DecodeBytes(yys3194Slc, true, true)
		yys3194 := string(yys3194Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3194 {
		case "podController":
			if r.TryDecodeAsNil() {
				if x.PodController != nil {
					x.PodController = nil
				}
			} else {
				if x.PodController == nil {
					x.PodController = new(OwnerReference)
				}
				x.PodController.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3194)
		} // end switch yys3194
	} // end for yyj3194
	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 yyj3196 int
	var yyb3196 bool
	var yyhl3196 bool = l >= 0
	yyj3196++
	if yyhl3196 {
		yyb3196 = yyj3196 > l
	} else {
		yyb3196 = r.CheckBreak()
	}
	if yyb3196 {
		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(OwnerReference)
		}
		x.PodController.CodecDecodeSelf(d)
	}
	for {
		yyj3196++
		if yyhl3196 {
			yyb3196 = yyj3196 > l
		} else {
			yyb3196 = r.CheckBreak()
		}
		if yyb3196 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3196-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 {
		yym3198 := z.EncBinary()
		_ = yym3198
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3199 := !z.EncBinary()
			yy2arr3199 := z.EncBasicHandle().StructToArray
			var yyq3199 [2]bool
			_, _, _ = yysep3199, yyq3199, yy2arr3199
			const yyr3199 bool = false
			yyq3199[1] = x.SizeBytes != 0
			var yynn3199 int
			if yyr3199 || yy2arr3199 {
				r.EncodeArrayStart(2)
			} else {
				yynn3199 = 1
				for _, b := range yyq3199 {
					if b {
						yynn3199++
					}
				}
				r.EncodeMapStart(yynn3199)
				yynn3199 = 0
			}
			if yyr3199 || yy2arr3199 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Names == nil {
					r.EncodeNil()
				} else {
					yym3201 := z.EncBinary()
					_ = yym3201
					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 {
					yym3202 := z.EncBinary()
					_ = yym3202
					if false {
					} else {
						z.F.EncSliceStringV(x.Names, false, e)
					}
				}
			}
			if yyr3199 || yy2arr3199 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3199[1] {
					yym3204 := z.EncBinary()
					_ = yym3204
					if false {
					} else {
						r.EncodeInt(int64(x.SizeBytes))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq3199[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("sizeBytes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3205 := z.EncBinary()
					_ = yym3205
					if false {
					} else {
						r.EncodeInt(int64(x.SizeBytes))
					}
				}
			}
			if yyr3199 || yy2arr3199 {
				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
	yym3206 := z.DecBinary()
	_ = yym3206
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3207 := r.ContainerType()
		if yyct3207 == codecSelferValueTypeMap1234 {
			yyl3207 := r.ReadMapStart()
			if yyl3207 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3207, d)
			}
		} else if yyct3207 == codecSelferValueTypeArray1234 {
			yyl3207 := r.ReadArrayStart()
			if yyl3207 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3207, 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 yys3208Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3208Slc
	var yyhl3208 bool = l >= 0
	for yyj3208 := 0; ; yyj3208++ {
		if yyhl3208 {
			if yyj3208 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3208Slc = r.DecodeBytes(yys3208Slc, true, true)
		yys3208 := string(yys3208Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3208 {
		case "names":
			if r.TryDecodeAsNil() {
				x.Names = nil
			} else {
				yyv3209 := &x.Names
				yym3210 := z.DecBinary()
				_ = yym3210
				if false {
				} else {
					z.F.DecSliceStringX(yyv3209, false, d)
				}
			}
		case "sizeBytes":
			if r.TryDecodeAsNil() {
				x.SizeBytes = 0
			} else {
				x.SizeBytes = int64(r.DecodeInt(64))
			}
		default:
			z.DecStructFieldNotFound(-1, yys3208)
		} // end switch yys3208
	} // end for yyj3208
	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 yyj3212 int
	var yyb3212 bool
	var yyhl3212 bool = l >= 0
	yyj3212++
	if yyhl3212 {
		yyb3212 = yyj3212 > l
	} else {
		yyb3212 = r.CheckBreak()
	}
	if yyb3212 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Names = nil
	} else {
		yyv3213 := &x.Names
		yym3214 := z.DecBinary()
		_ = yym3214
		if false {
		} else {
			z.F.DecSliceStringX(yyv3213, false, d)
		}
	}
	yyj3212++
	if yyhl3212 {
		yyb3212 = yyj3212 > l
	} else {
		yyb3212 = r.CheckBreak()
	}
	if yyb3212 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SizeBytes = 0
	} else {
		x.SizeBytes = int64(r.DecodeInt(64))
	}
	for {
		yyj3212++
		if yyhl3212 {
			yyb3212 = yyj3212 > l
		} else {
			yyb3212 = r.CheckBreak()
		}
		if yyb3212 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3212-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x NodePhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3216 := z.EncBinary()
	_ = yym3216
	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
	yym3217 := z.DecBinary()
	_ = yym3217
	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
	yym3218 := z.EncBinary()
	_ = yym3218
	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
	yym3219 := z.DecBinary()
	_ = yym3219
	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 {
		yym3220 := z.EncBinary()
		_ = yym3220
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3221 := !z.EncBinary()
			yy2arr3221 := z.EncBasicHandle().StructToArray
			var yyq3221 [6]bool
			_, _, _ = yysep3221, yyq3221, yy2arr3221
			const yyr3221 bool = false
			yyq3221[2] = true
			yyq3221[3] = true
			yyq3221[4] = x.Reason != ""
			yyq3221[5] = x.Message != ""
			var yynn3221 int
			if yyr3221 || yy2arr3221 {
				r.EncodeArrayStart(6)
			} else {
				yynn3221 = 2
				for _, b := range yyq3221 {
					if b {
						yynn3221++
					}
				}
				r.EncodeMapStart(yynn3221)
				yynn3221 = 0
			}
			if yyr3221 || yy2arr3221 {
				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 yyr3221 || yy2arr3221 {
				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 yyr3221 || yy2arr3221 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3221[2] {
					yy3225 := &x.LastHeartbeatTime
					yym3226 := z.EncBinary()
					_ = yym3226
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3225) {
					} else if yym3226 {
						z.EncBinaryMarshal(yy3225)
					} else if !yym3226 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3225)
					} else {
						z.EncFallback(yy3225)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3221[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastHeartbeatTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3227 := &x.LastHeartbeatTime
					yym3228 := z.EncBinary()
					_ = yym3228
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3227) {
					} else if yym3228 {
						z.EncBinaryMarshal(yy3227)
					} else if !yym3228 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3227)
					} else {
						z.EncFallback(yy3227)
					}
				}
			}
			if yyr3221 || yy2arr3221 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3221[3] {
					yy3230 := &x.LastTransitionTime
					yym3231 := z.EncBinary()
					_ = yym3231
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3230) {
					} else if yym3231 {
						z.EncBinaryMarshal(yy3230)
					} else if !yym3231 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3230)
					} else {
						z.EncFallback(yy3230)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3221[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastTransitionTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3232 := &x.LastTransitionTime
					yym3233 := z.EncBinary()
					_ = yym3233
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3232) {
					} else if yym3233 {
						z.EncBinaryMarshal(yy3232)
					} else if !yym3233 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3232)
					} else {
						z.EncFallback(yy3232)
					}
				}
			}
			if yyr3221 || yy2arr3221 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3221[4] {
					yym3235 := z.EncBinary()
					_ = yym3235
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3221[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3236 := z.EncBinary()
					_ = yym3236
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr3221 || yy2arr3221 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3221[5] {
					yym3238 := z.EncBinary()
					_ = yym3238
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3221[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3239 := z.EncBinary()
					_ = yym3239
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr3221 || yy2arr3221 {
				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
	yym3240 := z.DecBinary()
	_ = yym3240
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3241 := r.ContainerType()
		if yyct3241 == codecSelferValueTypeMap1234 {
			yyl3241 := r.ReadMapStart()
			if yyl3241 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3241, d)
			}
		} else if yyct3241 == codecSelferValueTypeArray1234 {
			yyl3241 := r.ReadArrayStart()
			if yyl3241 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3241, 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 yys3242Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3242Slc
	var yyhl3242 bool = l >= 0
	for yyj3242 := 0; ; yyj3242++ {
		if yyhl3242 {
			if yyj3242 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3242Slc = r.DecodeBytes(yys3242Slc, true, true)
		yys3242 := string(yys3242Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3242 {
		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_unversioned.Time{}
			} else {
				yyv3245 := &x.LastHeartbeatTime
				yym3246 := z.DecBinary()
				_ = yym3246
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3245) {
				} else if yym3246 {
					z.DecBinaryUnmarshal(yyv3245)
				} else if !yym3246 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3245)
				} else {
					z.DecFallback(yyv3245, false)
				}
			}
		case "lastTransitionTime":
			if r.TryDecodeAsNil() {
				x.LastTransitionTime = pkg2_unversioned.Time{}
			} else {
				yyv3247 := &x.LastTransitionTime
				yym3248 := z.DecBinary()
				_ = yym3248
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3247) {
				} else if yym3248 {
					z.DecBinaryUnmarshal(yyv3247)
				} else if !yym3248 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3247)
				} else {
					z.DecFallback(yyv3247, 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, yys3242)
		} // end switch yys3242
	} // end for yyj3242
	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 yyj3251 int
	var yyb3251 bool
	var yyhl3251 bool = l >= 0
	yyj3251++
	if yyhl3251 {
		yyb3251 = yyj3251 > l
	} else {
		yyb3251 = r.CheckBreak()
	}
	if yyb3251 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = NodeConditionType(r.DecodeString())
	}
	yyj3251++
	if yyhl3251 {
		yyb3251 = yyj3251 > l
	} else {
		yyb3251 = r.CheckBreak()
	}
	if yyb3251 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj3251++
	if yyhl3251 {
		yyb3251 = yyj3251 > l
	} else {
		yyb3251 = r.CheckBreak()
	}
	if yyb3251 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastHeartbeatTime = pkg2_unversioned.Time{}
	} else {
		yyv3254 := &x.LastHeartbeatTime
		yym3255 := z.DecBinary()
		_ = yym3255
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3254) {
		} else if yym3255 {
			z.DecBinaryUnmarshal(yyv3254)
		} else if !yym3255 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv3254)
		} else {
			z.DecFallback(yyv3254, false)
		}
	}
	yyj3251++
	if yyhl3251 {
		yyb3251 = yyj3251 > l
	} else {
		yyb3251 = r.CheckBreak()
	}
	if yyb3251 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTransitionTime = pkg2_unversioned.Time{}
	} else {
		yyv3256 := &x.LastTransitionTime
		yym3257 := z.DecBinary()
		_ = yym3257
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3256) {
		} else if yym3257 {
			z.DecBinaryUnmarshal(yyv3256)
		} else if !yym3257 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv3256)
		} else {
			z.DecFallback(yyv3256, false)
		}
	}
	yyj3251++
	if yyhl3251 {
		yyb3251 = yyj3251 > l
	} else {
		yyb3251 = r.CheckBreak()
	}
	if yyb3251 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj3251++
	if yyhl3251 {
		yyb3251 = yyj3251 > l
	} else {
		yyb3251 = r.CheckBreak()
	}
	if yyb3251 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj3251++
		if yyhl3251 {
			yyb3251 = yyj3251 > l
		} else {
			yyb3251 = r.CheckBreak()
		}
		if yyb3251 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3251-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x NodeAddressType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3260 := z.EncBinary()
	_ = yym3260
	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
	yym3261 := z.DecBinary()
	_ = yym3261
	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 {
		yym3262 := z.EncBinary()
		_ = yym3262
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3263 := !z.EncBinary()
			yy2arr3263 := z.EncBasicHandle().StructToArray
			var yyq3263 [2]bool
			_, _, _ = yysep3263, yyq3263, yy2arr3263
			const yyr3263 bool = false
			var yynn3263 int
			if yyr3263 || yy2arr3263 {
				r.EncodeArrayStart(2)
			} else {
				yynn3263 = 2
				for _, b := range yyq3263 {
					if b {
						yynn3263++
					}
				}
				r.EncodeMapStart(yynn3263)
				yynn3263 = 0
			}
			if yyr3263 || yy2arr3263 {
				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 yyr3263 || yy2arr3263 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3266 := z.EncBinary()
				_ = yym3266
				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)
				yym3267 := z.EncBinary()
				_ = yym3267
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Address))
				}
			}
			if yyr3263 || yy2arr3263 {
				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
	yym3268 := z.DecBinary()
	_ = yym3268
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3269 := r.ContainerType()
		if yyct3269 == codecSelferValueTypeMap1234 {
			yyl3269 := r.ReadMapStart()
			if yyl3269 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3269, d)
			}
		} else if yyct3269 == codecSelferValueTypeArray1234 {
			yyl3269 := r.ReadArrayStart()
			if yyl3269 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3269, 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 yys3270Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3270Slc
	var yyhl3270 bool = l >= 0
	for yyj3270 := 0; ; yyj3270++ {
		if yyhl3270 {
			if yyj3270 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3270Slc = r.DecodeBytes(yys3270Slc, true, true)
		yys3270 := string(yys3270Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3270 {
		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, yys3270)
		} // end switch yys3270
	} // end for yyj3270
	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 yyj3273 int
	var yyb3273 bool
	var yyhl3273 bool = l >= 0
	yyj3273++
	if yyhl3273 {
		yyb3273 = yyj3273 > l
	} else {
		yyb3273 = r.CheckBreak()
	}
	if yyb3273 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = NodeAddressType(r.DecodeString())
	}
	yyj3273++
	if yyhl3273 {
		yyb3273 = yyj3273 > l
	} else {
		yyb3273 = r.CheckBreak()
	}
	if yyb3273 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Address = ""
	} else {
		x.Address = string(r.DecodeString())
	}
	for {
		yyj3273++
		if yyhl3273 {
			yyb3273 = yyj3273 > l
		} else {
			yyb3273 = r.CheckBreak()
		}
		if yyb3273 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3273-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 {
		yym3276 := z.EncBinary()
		_ = yym3276
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3277 := !z.EncBinary()
			yy2arr3277 := z.EncBasicHandle().StructToArray
			var yyq3277 [1]bool
			_, _, _ = yysep3277, yyq3277, yy2arr3277
			const yyr3277 bool = false
			yyq3277[0] = len(x.Capacity) != 0
			var yynn3277 int
			if yyr3277 || yy2arr3277 {
				r.EncodeArrayStart(1)
			} else {
				yynn3277 = 0
				for _, b := range yyq3277 {
					if b {
						yynn3277++
					}
				}
				r.EncodeMapStart(yynn3277)
				yynn3277 = 0
			}
			if yyr3277 || yy2arr3277 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3277[0] {
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3277[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 yyr3277 || yy2arr3277 {
				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
	yym3279 := z.DecBinary()
	_ = yym3279
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3280 := r.ContainerType()
		if yyct3280 == codecSelferValueTypeMap1234 {
			yyl3280 := r.ReadMapStart()
			if yyl3280 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3280, d)
			}
		} else if yyct3280 == codecSelferValueTypeArray1234 {
			yyl3280 := r.ReadArrayStart()
			if yyl3280 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3280, 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 yys3281Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3281Slc
	var yyhl3281 bool = l >= 0
	for yyj3281 := 0; ; yyj3281++ {
		if yyhl3281 {
			if yyj3281 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3281Slc = r.DecodeBytes(yys3281Slc, true, true)
		yys3281 := string(yys3281Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3281 {
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv3282 := &x.Capacity
				yyv3282.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3281)
		} // end switch yys3281
	} // end for yyj3281
	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 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.Capacity = nil
	} else {
		yyv3284 := &x.Capacity
		yyv3284.CodecDecodeSelf(d)
	}
	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 ResourceName) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3285 := z.EncBinary()
	_ = yym3285
	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
	yym3286 := z.DecBinary()
	_ = yym3286
	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 {
		yym3287 := z.EncBinary()
		_ = yym3287
		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
	yym3288 := z.DecBinary()
	_ = yym3288
	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 {
		yym3289 := z.EncBinary()
		_ = yym3289
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3290 := !z.EncBinary()
			yy2arr3290 := z.EncBasicHandle().StructToArray
			var yyq3290 [5]bool
			_, _, _ = yysep3290, yyq3290, yy2arr3290
			const yyr3290 bool = false
			yyq3290[0] = x.Kind != ""
			yyq3290[1] = x.APIVersion != ""
			yyq3290[2] = true
			yyq3290[3] = true
			yyq3290[4] = true
			var yynn3290 int
			if yyr3290 || yy2arr3290 {
				r.EncodeArrayStart(5)
			} else {
				yynn3290 = 0
				for _, b := range yyq3290 {
					if b {
						yynn3290++
					}
				}
				r.EncodeMapStart(yynn3290)
				yynn3290 = 0
			}
			if yyr3290 || yy2arr3290 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3290[0] {
					yym3292 := z.EncBinary()
					_ = yym3292
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3290[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3293 := z.EncBinary()
					_ = yym3293
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3290 || yy2arr3290 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3290[1] {
					yym3295 := z.EncBinary()
					_ = yym3295
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3290[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3296 := z.EncBinary()
					_ = yym3296
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3290 || yy2arr3290 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3290[2] {
					yy3298 := &x.ObjectMeta
					yy3298.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3290[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3299 := &x.ObjectMeta
					yy3299.CodecEncodeSelf(e)
				}
			}
			if yyr3290 || yy2arr3290 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3290[3] {
					yy3301 := &x.Spec
					yy3301.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3290[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3302 := &x.Spec
					yy3302.CodecEncodeSelf(e)
				}
			}
			if yyr3290 || yy2arr3290 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3290[4] {
					yy3304 := &x.Status
					yy3304.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3290[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3305 := &x.Status
					yy3305.CodecEncodeSelf(e)
				}
			}
			if yyr3290 || yy2arr3290 {
				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
	yym3306 := z.DecBinary()
	_ = yym3306
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3307 := r.ContainerType()
		if yyct3307 == codecSelferValueTypeMap1234 {
			yyl3307 := r.ReadMapStart()
			if yyl3307 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3307, d)
			}
		} else if yyct3307 == codecSelferValueTypeArray1234 {
			yyl3307 := r.ReadArrayStart()
			if yyl3307 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3307, 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 yys3308Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3308Slc
	var yyhl3308 bool = l >= 0
	for yyj3308 := 0; ; yyj3308++ {
		if yyhl3308 {
			if yyj3308 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3308Slc = r.DecodeBytes(yys3308Slc, true, true)
		yys3308 := string(yys3308Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3308 {
		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 {
				yyv3311 := &x.ObjectMeta
				yyv3311.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = NodeSpec{}
			} else {
				yyv3312 := &x.Spec
				yyv3312.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = NodeStatus{}
			} else {
				yyv3313 := &x.Status
				yyv3313.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3308)
		} // end switch yys3308
	} // end for yyj3308
	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 yyj3314 int
	var yyb3314 bool
	var yyhl3314 bool = l >= 0
	yyj3314++
	if yyhl3314 {
		yyb3314 = yyj3314 > l
	} else {
		yyb3314 = r.CheckBreak()
	}
	if yyb3314 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3314++
	if yyhl3314 {
		yyb3314 = yyj3314 > l
	} else {
		yyb3314 = r.CheckBreak()
	}
	if yyb3314 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3314++
	if yyhl3314 {
		yyb3314 = yyj3314 > l
	} else {
		yyb3314 = r.CheckBreak()
	}
	if yyb3314 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3317 := &x.ObjectMeta
		yyv3317.CodecDecodeSelf(d)
	}
	yyj3314++
	if yyhl3314 {
		yyb3314 = yyj3314 > l
	} else {
		yyb3314 = r.CheckBreak()
	}
	if yyb3314 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = NodeSpec{}
	} else {
		yyv3318 := &x.Spec
		yyv3318.CodecDecodeSelf(d)
	}
	yyj3314++
	if yyhl3314 {
		yyb3314 = yyj3314 > l
	} else {
		yyb3314 = r.CheckBreak()
	}
	if yyb3314 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = NodeStatus{}
	} else {
		yyv3319 := &x.Status
		yyv3319.CodecDecodeSelf(d)
	}
	for {
		yyj3314++
		if yyhl3314 {
			yyb3314 = yyj3314 > l
		} else {
			yyb3314 = r.CheckBreak()
		}
		if yyb3314 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3314-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 {
		yym3320 := z.EncBinary()
		_ = yym3320
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3321 := !z.EncBinary()
			yy2arr3321 := z.EncBasicHandle().StructToArray
			var yyq3321 [4]bool
			_, _, _ = yysep3321, yyq3321, yy2arr3321
			const yyr3321 bool = false
			yyq3321[0] = x.Kind != ""
			yyq3321[1] = x.APIVersion != ""
			yyq3321[2] = true
			var yynn3321 int
			if yyr3321 || yy2arr3321 {
				r.EncodeArrayStart(4)
			} else {
				yynn3321 = 1
				for _, b := range yyq3321 {
					if b {
						yynn3321++
					}
				}
				r.EncodeMapStart(yynn3321)
				yynn3321 = 0
			}
			if yyr3321 || yy2arr3321 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3321[0] {
					yym3323 := z.EncBinary()
					_ = yym3323
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3321[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3324 := z.EncBinary()
					_ = yym3324
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3321 || yy2arr3321 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3321[1] {
					yym3326 := z.EncBinary()
					_ = yym3326
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3321[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3327 := z.EncBinary()
					_ = yym3327
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3321 || yy2arr3321 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3321[2] {
					yy3329 := &x.ListMeta
					yym3330 := z.EncBinary()
					_ = yym3330
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3329) {
					} else {
						z.EncFallback(yy3329)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3321[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3331 := &x.ListMeta
					yym3332 := z.EncBinary()
					_ = yym3332
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3331) {
					} else {
						z.EncFallback(yy3331)
					}
				}
			}
			if yyr3321 || yy2arr3321 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3334 := z.EncBinary()
					_ = yym3334
					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 {
					yym3335 := z.EncBinary()
					_ = yym3335
					if false {
					} else {
						h.encSliceNode(([]Node)(x.Items), e)
					}
				}
			}
			if yyr3321 || yy2arr3321 {
				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
	yym3336 := z.DecBinary()
	_ = yym3336
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3337 := r.ContainerType()
		if yyct3337 == codecSelferValueTypeMap1234 {
			yyl3337 := r.ReadMapStart()
			if yyl3337 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3337, d)
			}
		} else if yyct3337 == codecSelferValueTypeArray1234 {
			yyl3337 := r.ReadArrayStart()
			if yyl3337 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3337, 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 yys3338Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3338Slc
	var yyhl3338 bool = l >= 0
	for yyj3338 := 0; ; yyj3338++ {
		if yyhl3338 {
			if yyj3338 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3338Slc = r.DecodeBytes(yys3338Slc, true, true)
		yys3338 := string(yys3338Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3338 {
		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_unversioned.ListMeta{}
			} else {
				yyv3341 := &x.ListMeta
				yym3342 := z.DecBinary()
				_ = yym3342
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3341) {
				} else {
					z.DecFallback(yyv3341, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3343 := &x.Items
				yym3344 := z.DecBinary()
				_ = yym3344
				if false {
				} else {
					h.decSliceNode((*[]Node)(yyv3343), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3338)
		} // end switch yys3338
	} // end for yyj3338
	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 yyj3345 int
	var yyb3345 bool
	var yyhl3345 bool = l >= 0
	yyj3345++
	if yyhl3345 {
		yyb3345 = yyj3345 > l
	} else {
		yyb3345 = r.CheckBreak()
	}
	if yyb3345 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3345++
	if yyhl3345 {
		yyb3345 = yyj3345 > l
	} else {
		yyb3345 = r.CheckBreak()
	}
	if yyb3345 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3345++
	if yyhl3345 {
		yyb3345 = yyj3345 > l
	} else {
		yyb3345 = r.CheckBreak()
	}
	if yyb3345 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3348 := &x.ListMeta
		yym3349 := z.DecBinary()
		_ = yym3349
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3348) {
		} else {
			z.DecFallback(yyv3348, false)
		}
	}
	yyj3345++
	if yyhl3345 {
		yyb3345 = yyj3345 > l
	} else {
		yyb3345 = r.CheckBreak()
	}
	if yyb3345 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3350 := &x.Items
		yym3351 := z.DecBinary()
		_ = yym3351
		if false {
		} else {
			h.decSliceNode((*[]Node)(yyv3350), d)
		}
	}
	for {
		yyj3345++
		if yyhl3345 {
			yyb3345 = yyj3345 > l
		} else {
			yyb3345 = r.CheckBreak()
		}
		if yyb3345 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3345-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 {
		yym3352 := z.EncBinary()
		_ = yym3352
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3353 := !z.EncBinary()
			yy2arr3353 := z.EncBasicHandle().StructToArray
			var yyq3353 [1]bool
			_, _, _ = yysep3353, yyq3353, yy2arr3353
			const yyr3353 bool = false
			var yynn3353 int
			if yyr3353 || yy2arr3353 {
				r.EncodeArrayStart(1)
			} else {
				yynn3353 = 1
				for _, b := range yyq3353 {
					if b {
						yynn3353++
					}
				}
				r.EncodeMapStart(yynn3353)
				yynn3353 = 0
			}
			if yyr3353 || yy2arr3353 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Finalizers == nil {
					r.EncodeNil()
				} else {
					yym3355 := z.EncBinary()
					_ = yym3355
					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 {
					yym3356 := z.EncBinary()
					_ = yym3356
					if false {
					} else {
						h.encSliceFinalizerName(([]FinalizerName)(x.Finalizers), e)
					}
				}
			}
			if yyr3353 || yy2arr3353 {
				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
	yym3357 := z.DecBinary()
	_ = yym3357
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3358 := r.ContainerType()
		if yyct3358 == codecSelferValueTypeMap1234 {
			yyl3358 := r.ReadMapStart()
			if yyl3358 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3358, d)
			}
		} else if yyct3358 == codecSelferValueTypeArray1234 {
			yyl3358 := r.ReadArrayStart()
			if yyl3358 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3358, 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 yys3359Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3359Slc
	var yyhl3359 bool = l >= 0
	for yyj3359 := 0; ; yyj3359++ {
		if yyhl3359 {
			if yyj3359 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3359Slc = r.DecodeBytes(yys3359Slc, true, true)
		yys3359 := string(yys3359Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3359 {
		case "Finalizers":
			if r.TryDecodeAsNil() {
				x.Finalizers = nil
			} else {
				yyv3360 := &x.Finalizers
				yym3361 := z.DecBinary()
				_ = yym3361
				if false {
				} else {
					h.decSliceFinalizerName((*[]FinalizerName)(yyv3360), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3359)
		} // end switch yys3359
	} // end for yyj3359
	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 yyj3362 int
	var yyb3362 bool
	var yyhl3362 bool = l >= 0
	yyj3362++
	if yyhl3362 {
		yyb3362 = yyj3362 > l
	} else {
		yyb3362 = r.CheckBreak()
	}
	if yyb3362 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Finalizers = nil
	} else {
		yyv3363 := &x.Finalizers
		yym3364 := z.DecBinary()
		_ = yym3364
		if false {
		} else {
			h.decSliceFinalizerName((*[]FinalizerName)(yyv3363), d)
		}
	}
	for {
		yyj3362++
		if yyhl3362 {
			yyb3362 = yyj3362 > l
		} else {
			yyb3362 = r.CheckBreak()
		}
		if yyb3362 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3362-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x FinalizerName) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3365 := z.EncBinary()
	_ = yym3365
	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
	yym3366 := z.DecBinary()
	_ = yym3366
	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 {
		yym3367 := z.EncBinary()
		_ = yym3367
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3368 := !z.EncBinary()
			yy2arr3368 := z.EncBasicHandle().StructToArray
			var yyq3368 [1]bool
			_, _, _ = yysep3368, yyq3368, yy2arr3368
			const yyr3368 bool = false
			yyq3368[0] = x.Phase != ""
			var yynn3368 int
			if yyr3368 || yy2arr3368 {
				r.EncodeArrayStart(1)
			} else {
				yynn3368 = 0
				for _, b := range yyq3368 {
					if b {
						yynn3368++
					}
				}
				r.EncodeMapStart(yynn3368)
				yynn3368 = 0
			}
			if yyr3368 || yy2arr3368 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3368[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3368[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr3368 || yy2arr3368 {
				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
	yym3370 := z.DecBinary()
	_ = yym3370
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3371 := r.ContainerType()
		if yyct3371 == codecSelferValueTypeMap1234 {
			yyl3371 := r.ReadMapStart()
			if yyl3371 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3371, d)
			}
		} else if yyct3371 == codecSelferValueTypeArray1234 {
			yyl3371 := r.ReadArrayStart()
			if yyl3371 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3371, 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 yys3372Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3372Slc
	var yyhl3372 bool = l >= 0
	for yyj3372 := 0; ; yyj3372++ {
		if yyhl3372 {
			if yyj3372 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3372Slc = r.DecodeBytes(yys3372Slc, true, true)
		yys3372 := string(yys3372Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3372 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = NamespacePhase(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3372)
		} // end switch yys3372
	} // end for yyj3372
	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 yyj3374 int
	var yyb3374 bool
	var yyhl3374 bool = l >= 0
	yyj3374++
	if yyhl3374 {
		yyb3374 = yyj3374 > l
	} else {
		yyb3374 = r.CheckBreak()
	}
	if yyb3374 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = NamespacePhase(r.DecodeString())
	}
	for {
		yyj3374++
		if yyhl3374 {
			yyb3374 = yyj3374 > l
		} else {
			yyb3374 = r.CheckBreak()
		}
		if yyb3374 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3374-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x NamespacePhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3376 := z.EncBinary()
	_ = yym3376
	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
	yym3377 := z.DecBinary()
	_ = yym3377
	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 {
		yym3378 := z.EncBinary()
		_ = yym3378
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3379 := !z.EncBinary()
			yy2arr3379 := z.EncBasicHandle().StructToArray
			var yyq3379 [5]bool
			_, _, _ = yysep3379, yyq3379, yy2arr3379
			const yyr3379 bool = false
			yyq3379[0] = x.Kind != ""
			yyq3379[1] = x.APIVersion != ""
			yyq3379[2] = true
			yyq3379[3] = true
			yyq3379[4] = true
			var yynn3379 int
			if yyr3379 || yy2arr3379 {
				r.EncodeArrayStart(5)
			} else {
				yynn3379 = 0
				for _, b := range yyq3379 {
					if b {
						yynn3379++
					}
				}
				r.EncodeMapStart(yynn3379)
				yynn3379 = 0
			}
			if yyr3379 || yy2arr3379 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3379[0] {
					yym3381 := z.EncBinary()
					_ = yym3381
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3379[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3382 := z.EncBinary()
					_ = yym3382
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3379 || yy2arr3379 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3379[1] {
					yym3384 := z.EncBinary()
					_ = yym3384
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3379[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3385 := z.EncBinary()
					_ = yym3385
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3379 || yy2arr3379 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3379[2] {
					yy3387 := &x.ObjectMeta
					yy3387.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3379[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3388 := &x.ObjectMeta
					yy3388.CodecEncodeSelf(e)
				}
			}
			if yyr3379 || yy2arr3379 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3379[3] {
					yy3390 := &x.Spec
					yy3390.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3379[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3391 := &x.Spec
					yy3391.CodecEncodeSelf(e)
				}
			}
			if yyr3379 || yy2arr3379 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3379[4] {
					yy3393 := &x.Status
					yy3393.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3379[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3394 := &x.Status
					yy3394.CodecEncodeSelf(e)
				}
			}
			if yyr3379 || yy2arr3379 {
				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
	yym3395 := z.DecBinary()
	_ = yym3395
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3396 := r.ContainerType()
		if yyct3396 == codecSelferValueTypeMap1234 {
			yyl3396 := r.ReadMapStart()
			if yyl3396 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3396, d)
			}
		} else if yyct3396 == codecSelferValueTypeArray1234 {
			yyl3396 := r.ReadArrayStart()
			if yyl3396 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3396, 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 yys3397Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3397Slc
	var yyhl3397 bool = l >= 0
	for yyj3397 := 0; ; yyj3397++ {
		if yyhl3397 {
			if yyj3397 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3397Slc = r.DecodeBytes(yys3397Slc, true, true)
		yys3397 := string(yys3397Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3397 {
		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 {
				yyv3400 := &x.ObjectMeta
				yyv3400.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = NamespaceSpec{}
			} else {
				yyv3401 := &x.Spec
				yyv3401.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = NamespaceStatus{}
			} else {
				yyv3402 := &x.Status
				yyv3402.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3397)
		} // end switch yys3397
	} // end for yyj3397
	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 yyj3403 int
	var yyb3403 bool
	var yyhl3403 bool = l >= 0
	yyj3403++
	if yyhl3403 {
		yyb3403 = yyj3403 > l
	} else {
		yyb3403 = r.CheckBreak()
	}
	if yyb3403 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3403++
	if yyhl3403 {
		yyb3403 = yyj3403 > l
	} else {
		yyb3403 = r.CheckBreak()
	}
	if yyb3403 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3403++
	if yyhl3403 {
		yyb3403 = yyj3403 > l
	} else {
		yyb3403 = r.CheckBreak()
	}
	if yyb3403 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3406 := &x.ObjectMeta
		yyv3406.CodecDecodeSelf(d)
	}
	yyj3403++
	if yyhl3403 {
		yyb3403 = yyj3403 > l
	} else {
		yyb3403 = r.CheckBreak()
	}
	if yyb3403 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = NamespaceSpec{}
	} else {
		yyv3407 := &x.Spec
		yyv3407.CodecDecodeSelf(d)
	}
	yyj3403++
	if yyhl3403 {
		yyb3403 = yyj3403 > l
	} else {
		yyb3403 = r.CheckBreak()
	}
	if yyb3403 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = NamespaceStatus{}
	} else {
		yyv3408 := &x.Status
		yyv3408.CodecDecodeSelf(d)
	}
	for {
		yyj3403++
		if yyhl3403 {
			yyb3403 = yyj3403 > l
		} else {
			yyb3403 = r.CheckBreak()
		}
		if yyb3403 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3403-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 {
		yym3409 := z.EncBinary()
		_ = yym3409
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3410 := !z.EncBinary()
			yy2arr3410 := z.EncBasicHandle().StructToArray
			var yyq3410 [4]bool
			_, _, _ = yysep3410, yyq3410, yy2arr3410
			const yyr3410 bool = false
			yyq3410[0] = x.Kind != ""
			yyq3410[1] = x.APIVersion != ""
			yyq3410[2] = true
			var yynn3410 int
			if yyr3410 || yy2arr3410 {
				r.EncodeArrayStart(4)
			} else {
				yynn3410 = 1
				for _, b := range yyq3410 {
					if b {
						yynn3410++
					}
				}
				r.EncodeMapStart(yynn3410)
				yynn3410 = 0
			}
			if yyr3410 || yy2arr3410 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3410[0] {
					yym3412 := z.EncBinary()
					_ = yym3412
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3410[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3413 := z.EncBinary()
					_ = yym3413
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3410 || yy2arr3410 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3410[1] {
					yym3415 := z.EncBinary()
					_ = yym3415
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3410[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3416 := z.EncBinary()
					_ = yym3416
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3410 || yy2arr3410 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3410[2] {
					yy3418 := &x.ListMeta
					yym3419 := z.EncBinary()
					_ = yym3419
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3418) {
					} else {
						z.EncFallback(yy3418)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3410[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3420 := &x.ListMeta
					yym3421 := z.EncBinary()
					_ = yym3421
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3420) {
					} else {
						z.EncFallback(yy3420)
					}
				}
			}
			if yyr3410 || yy2arr3410 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3423 := z.EncBinary()
					_ = yym3423
					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 {
					yym3424 := z.EncBinary()
					_ = yym3424
					if false {
					} else {
						h.encSliceNamespace(([]Namespace)(x.Items), e)
					}
				}
			}
			if yyr3410 || yy2arr3410 {
				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
	yym3425 := z.DecBinary()
	_ = yym3425
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3426 := r.ContainerType()
		if yyct3426 == codecSelferValueTypeMap1234 {
			yyl3426 := r.ReadMapStart()
			if yyl3426 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3426, d)
			}
		} else if yyct3426 == codecSelferValueTypeArray1234 {
			yyl3426 := r.ReadArrayStart()
			if yyl3426 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3426, 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 yys3427Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3427Slc
	var yyhl3427 bool = l >= 0
	for yyj3427 := 0; ; yyj3427++ {
		if yyhl3427 {
			if yyj3427 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3427Slc = r.DecodeBytes(yys3427Slc, true, true)
		yys3427 := string(yys3427Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3427 {
		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_unversioned.ListMeta{}
			} else {
				yyv3430 := &x.ListMeta
				yym3431 := z.DecBinary()
				_ = yym3431
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3430) {
				} else {
					z.DecFallback(yyv3430, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3432 := &x.Items
				yym3433 := z.DecBinary()
				_ = yym3433
				if false {
				} else {
					h.decSliceNamespace((*[]Namespace)(yyv3432), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3427)
		} // end switch yys3427
	} // end for yyj3427
	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 yyj3434 int
	var yyb3434 bool
	var yyhl3434 bool = l >= 0
	yyj3434++
	if yyhl3434 {
		yyb3434 = yyj3434 > l
	} else {
		yyb3434 = r.CheckBreak()
	}
	if yyb3434 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3434++
	if yyhl3434 {
		yyb3434 = yyj3434 > l
	} else {
		yyb3434 = r.CheckBreak()
	}
	if yyb3434 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3434++
	if yyhl3434 {
		yyb3434 = yyj3434 > l
	} else {
		yyb3434 = r.CheckBreak()
	}
	if yyb3434 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3437 := &x.ListMeta
		yym3438 := z.DecBinary()
		_ = yym3438
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3437) {
		} else {
			z.DecFallback(yyv3437, false)
		}
	}
	yyj3434++
	if yyhl3434 {
		yyb3434 = yyj3434 > l
	} else {
		yyb3434 = r.CheckBreak()
	}
	if yyb3434 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3439 := &x.Items
		yym3440 := z.DecBinary()
		_ = yym3440
		if false {
		} else {
			h.decSliceNamespace((*[]Namespace)(yyv3439), d)
		}
	}
	for {
		yyj3434++
		if yyhl3434 {
			yyb3434 = yyj3434 > l
		} else {
			yyb3434 = r.CheckBreak()
		}
		if yyb3434 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3434-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 {
		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.ObjectMeta
					yy3450.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3442[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3451 := &x.ObjectMeta
					yy3451.CodecEncodeSelf(e)
				}
			}
			if yyr3442 || yy2arr3442 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy3453 := &x.Target
				yy3453.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("target"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy3454 := &x.Target
				yy3454.CodecEncodeSelf(e)
			}
			if yyr3442 || yy2arr3442 {
				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
	yym3455 := z.DecBinary()
	_ = yym3455
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3456 := r.ContainerType()
		if yyct3456 == codecSelferValueTypeMap1234 {
			yyl3456 := r.ReadMapStart()
			if yyl3456 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3456, d)
			}
		} else if yyct3456 == codecSelferValueTypeArray1234 {
			yyl3456 := r.ReadArrayStart()
			if yyl3456 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3456, 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 yys3457Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3457Slc
	var yyhl3457 bool = l >= 0
	for yyj3457 := 0; ; yyj3457++ {
		if yyhl3457 {
			if yyj3457 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3457Slc = r.DecodeBytes(yys3457Slc, true, true)
		yys3457 := string(yys3457Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3457 {
		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 {
				yyv3460 := &x.ObjectMeta
				yyv3460.CodecDecodeSelf(d)
			}
		case "target":
			if r.TryDecodeAsNil() {
				x.Target = ObjectReference{}
			} else {
				yyv3461 := &x.Target
				yyv3461.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3457)
		} // end switch yys3457
	} // end for yyj3457
	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 yyj3462 int
	var yyb3462 bool
	var yyhl3462 bool = l >= 0
	yyj3462++
	if yyhl3462 {
		yyb3462 = yyj3462 > l
	} else {
		yyb3462 = r.CheckBreak()
	}
	if yyb3462 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3462++
	if yyhl3462 {
		yyb3462 = yyj3462 > l
	} else {
		yyb3462 = r.CheckBreak()
	}
	if yyb3462 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3462++
	if yyhl3462 {
		yyb3462 = yyj3462 > l
	} else {
		yyb3462 = r.CheckBreak()
	}
	if yyb3462 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3465 := &x.ObjectMeta
		yyv3465.CodecDecodeSelf(d)
	}
	yyj3462++
	if yyhl3462 {
		yyb3462 = yyj3462 > l
	} else {
		yyb3462 = r.CheckBreak()
	}
	if yyb3462 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Target = ObjectReference{}
	} else {
		yyv3466 := &x.Target
		yyv3466.CodecDecodeSelf(d)
	}
	for {
		yyj3462++
		if yyhl3462 {
			yyb3462 = yyj3462 > l
		} else {
			yyb3462 = r.CheckBreak()
		}
		if yyb3462 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3462-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 {
		yym3467 := z.EncBinary()
		_ = yym3467
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3468 := !z.EncBinary()
			yy2arr3468 := z.EncBasicHandle().StructToArray
			var yyq3468 [1]bool
			_, _, _ = yysep3468, yyq3468, yy2arr3468
			const yyr3468 bool = false
			yyq3468[0] = x.UID != nil
			var yynn3468 int
			if yyr3468 || yy2arr3468 {
				r.EncodeArrayStart(1)
			} else {
				yynn3468 = 0
				for _, b := range yyq3468 {
					if b {
						yynn3468++
					}
				}
				r.EncodeMapStart(yynn3468)
				yynn3468 = 0
			}
			if yyr3468 || yy2arr3468 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3468[0] {
					if x.UID == nil {
						r.EncodeNil()
					} else {
						yy3470 := *x.UID
						yym3471 := z.EncBinary()
						_ = yym3471
						if false {
						} else if z.HasExtensions() && z.EncExt(yy3470) {
						} else {
							r.EncodeString(codecSelferC_UTF81234, string(yy3470))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3468[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("uid"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.UID == nil {
						r.EncodeNil()
					} else {
						yy3472 := *x.UID
						yym3473 := z.EncBinary()
						_ = yym3473
						if false {
						} else if z.HasExtensions() && z.EncExt(yy3472) {
						} else {
							r.EncodeString(codecSelferC_UTF81234, string(yy3472))
						}
					}
				}
			}
			if yyr3468 || yy2arr3468 {
				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
	yym3474 := z.DecBinary()
	_ = yym3474
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3475 := r.ContainerType()
		if yyct3475 == codecSelferValueTypeMap1234 {
			yyl3475 := r.ReadMapStart()
			if yyl3475 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3475, d)
			}
		} else if yyct3475 == codecSelferValueTypeArray1234 {
			yyl3475 := r.ReadArrayStart()
			if yyl3475 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3475, 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 yys3476Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3476Slc
	var yyhl3476 bool = l >= 0
	for yyj3476 := 0; ; yyj3476++ {
		if yyhl3476 {
			if yyj3476 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3476Slc = r.DecodeBytes(yys3476Slc, true, true)
		yys3476 := string(yys3476Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3476 {
		case "uid":
			if r.TryDecodeAsNil() {
				if x.UID != nil {
					x.UID = nil
				}
			} else {
				if x.UID == nil {
					x.UID = new(pkg1_types.UID)
				}
				yym3478 := z.DecBinary()
				_ = yym3478
				if false {
				} else if z.HasExtensions() && z.DecExt(x.UID) {
				} else {
					*((*string)(x.UID)) = r.DecodeString()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3476)
		} // end switch yys3476
	} // end for yyj3476
	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 yyj3479 int
	var yyb3479 bool
	var yyhl3479 bool = l >= 0
	yyj3479++
	if yyhl3479 {
		yyb3479 = yyj3479 > l
	} else {
		yyb3479 = r.CheckBreak()
	}
	if yyb3479 {
		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)
		}
		yym3481 := z.DecBinary()
		_ = yym3481
		if false {
		} else if z.HasExtensions() && z.DecExt(x.UID) {
		} else {
			*((*string)(x.UID)) = r.DecodeString()
		}
	}
	for {
		yyj3479++
		if yyhl3479 {
			yyb3479 = yyj3479 > l
		} else {
			yyb3479 = r.CheckBreak()
		}
		if yyb3479 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3479-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 {
		yym3482 := z.EncBinary()
		_ = yym3482
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3483 := !z.EncBinary()
			yy2arr3483 := z.EncBasicHandle().StructToArray
			var yyq3483 [5]bool
			_, _, _ = yysep3483, yyq3483, yy2arr3483
			const yyr3483 bool = false
			yyq3483[0] = x.Kind != ""
			yyq3483[1] = x.APIVersion != ""
			yyq3483[2] = x.GracePeriodSeconds != nil
			yyq3483[3] = x.Preconditions != nil
			yyq3483[4] = x.OrphanDependents != nil
			var yynn3483 int
			if yyr3483 || yy2arr3483 {
				r.EncodeArrayStart(5)
			} else {
				yynn3483 = 0
				for _, b := range yyq3483 {
					if b {
						yynn3483++
					}
				}
				r.EncodeMapStart(yynn3483)
				yynn3483 = 0
			}
			if yyr3483 || yy2arr3483 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3483[0] {
					yym3485 := z.EncBinary()
					_ = yym3485
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3483[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3486 := z.EncBinary()
					_ = yym3486
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3483 || yy2arr3483 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3483[1] {
					yym3488 := z.EncBinary()
					_ = yym3488
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3483[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3489 := z.EncBinary()
					_ = yym3489
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3483 || yy2arr3483 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3483[2] {
					if x.GracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy3491 := *x.GracePeriodSeconds
						yym3492 := z.EncBinary()
						_ = yym3492
						if false {
						} else {
							r.EncodeInt(int64(yy3491))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3483[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gracePeriodSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.GracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy3493 := *x.GracePeriodSeconds
						yym3494 := z.EncBinary()
						_ = yym3494
						if false {
						} else {
							r.EncodeInt(int64(yy3493))
						}
					}
				}
			}
			if yyr3483 || yy2arr3483 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3483[3] {
					if x.Preconditions == nil {
						r.EncodeNil()
					} else {
						x.Preconditions.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3483[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 yyr3483 || yy2arr3483 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3483[4] {
					if x.OrphanDependents == nil {
						r.EncodeNil()
					} else {
						yy3497 := *x.OrphanDependents
						yym3498 := z.EncBinary()
						_ = yym3498
						if false {
						} else {
							r.EncodeBool(bool(yy3497))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3483[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("orphanDependents"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.OrphanDependents == nil {
						r.EncodeNil()
					} else {
						yy3499 := *x.OrphanDependents
						yym3500 := z.EncBinary()
						_ = yym3500
						if false {
						} else {
							r.EncodeBool(bool(yy3499))
						}
					}
				}
			}
			if yyr3483 || yy2arr3483 {
				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
	yym3501 := z.DecBinary()
	_ = yym3501
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3502 := r.ContainerType()
		if yyct3502 == codecSelferValueTypeMap1234 {
			yyl3502 := r.ReadMapStart()
			if yyl3502 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3502, d)
			}
		} else if yyct3502 == codecSelferValueTypeArray1234 {
			yyl3502 := r.ReadArrayStart()
			if yyl3502 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3502, 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 yys3503Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3503Slc
	var yyhl3503 bool = l >= 0
	for yyj3503 := 0; ; yyj3503++ {
		if yyhl3503 {
			if yyj3503 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3503Slc = r.DecodeBytes(yys3503Slc, true, true)
		yys3503 := string(yys3503Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3503 {
		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)
				}
				yym3507 := z.DecBinary()
				_ = yym3507
				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)
				}
				yym3510 := z.DecBinary()
				_ = yym3510
				if false {
				} else {
					*((*bool)(x.OrphanDependents)) = r.DecodeBool()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3503)
		} // end switch yys3503
	} // end for yyj3503
	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 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() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3511++
	if yyhl3511 {
		yyb3511 = yyj3511 > l
	} else {
		yyb3511 = r.CheckBreak()
	}
	if yyb3511 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	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.GracePeriodSeconds != nil {
			x.GracePeriodSeconds = nil
		}
	} else {
		if x.GracePeriodSeconds == nil {
			x.GracePeriodSeconds = new(int64)
		}
		yym3515 := z.DecBinary()
		_ = yym3515
		if false {
		} else {
			*((*int64)(x.GracePeriodSeconds)) = int64(r.DecodeInt(64))
		}
	}
	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.Preconditions != nil {
			x.Preconditions = nil
		}
	} else {
		if x.Preconditions == nil {
			x.Preconditions = new(Preconditions)
		}
		x.Preconditions.CodecDecodeSelf(d)
	}
	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.OrphanDependents != nil {
			x.OrphanDependents = nil
		}
	} else {
		if x.OrphanDependents == nil {
			x.OrphanDependents = new(bool)
		}
		yym3518 := z.DecBinary()
		_ = yym3518
		if false {
		} else {
			*((*bool)(x.OrphanDependents)) = r.DecodeBool()
		}
	}
	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 *ExportOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3519 := z.EncBinary()
		_ = yym3519
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3520 := !z.EncBinary()
			yy2arr3520 := z.EncBasicHandle().StructToArray
			var yyq3520 [4]bool
			_, _, _ = yysep3520, yyq3520, yy2arr3520
			const yyr3520 bool = false
			yyq3520[0] = x.Kind != ""
			yyq3520[1] = x.APIVersion != ""
			var yynn3520 int
			if yyr3520 || yy2arr3520 {
				r.EncodeArrayStart(4)
			} else {
				yynn3520 = 2
				for _, b := range yyq3520 {
					if b {
						yynn3520++
					}
				}
				r.EncodeMapStart(yynn3520)
				yynn3520 = 0
			}
			if yyr3520 || yy2arr3520 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3520[0] {
					yym3522 := z.EncBinary()
					_ = yym3522
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3520[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3523 := z.EncBinary()
					_ = yym3523
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3520 || yy2arr3520 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3520[1] {
					yym3525 := z.EncBinary()
					_ = yym3525
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3520[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3526 := z.EncBinary()
					_ = yym3526
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3520 || yy2arr3520 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3528 := z.EncBinary()
				_ = yym3528
				if false {
				} else {
					r.EncodeBool(bool(x.Export))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("export"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3529 := z.EncBinary()
				_ = yym3529
				if false {
				} else {
					r.EncodeBool(bool(x.Export))
				}
			}
			if yyr3520 || yy2arr3520 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3531 := z.EncBinary()
				_ = yym3531
				if false {
				} else {
					r.EncodeBool(bool(x.Exact))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("exact"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3532 := z.EncBinary()
				_ = yym3532
				if false {
				} else {
					r.EncodeBool(bool(x.Exact))
				}
			}
			if yyr3520 || yy2arr3520 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ExportOptions) 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 *ExportOptions) 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 "export":
			if r.TryDecodeAsNil() {
				x.Export = false
			} else {
				x.Export = bool(r.DecodeBool())
			}
		case "exact":
			if r.TryDecodeAsNil() {
				x.Exact = false
			} else {
				x.Exact = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3535)
		} // end switch yys3535
	} // end for yyj3535
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ExportOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3540 int
	var yyb3540 bool
	var yyhl3540 bool = l >= 0
	yyj3540++
	if yyhl3540 {
		yyb3540 = yyj3540 > l
	} else {
		yyb3540 = r.CheckBreak()
	}
	if yyb3540 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3540++
	if yyhl3540 {
		yyb3540 = yyj3540 > l
	} else {
		yyb3540 = r.CheckBreak()
	}
	if yyb3540 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3540++
	if yyhl3540 {
		yyb3540 = yyj3540 > l
	} else {
		yyb3540 = r.CheckBreak()
	}
	if yyb3540 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Export = false
	} else {
		x.Export = bool(r.DecodeBool())
	}
	yyj3540++
	if yyhl3540 {
		yyb3540 = yyj3540 > l
	} else {
		yyb3540 = r.CheckBreak()
	}
	if yyb3540 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Exact = false
	} else {
		x.Exact = bool(r.DecodeBool())
	}
	for {
		yyj3540++
		if yyhl3540 {
			yyb3540 = yyj3540 > l
		} else {
			yyb3540 = r.CheckBreak()
		}
		if yyb3540 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3540-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 {
		yym3545 := z.EncBinary()
		_ = yym3545
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3546 := !z.EncBinary()
			yy2arr3546 := z.EncBasicHandle().StructToArray
			var yyq3546 [7]bool
			_, _, _ = yysep3546, yyq3546, yy2arr3546
			const yyr3546 bool = false
			yyq3546[0] = x.Kind != ""
			yyq3546[1] = x.APIVersion != ""
			var yynn3546 int
			if yyr3546 || yy2arr3546 {
				r.EncodeArrayStart(7)
			} else {
				yynn3546 = 5
				for _, b := range yyq3546 {
					if b {
						yynn3546++
					}
				}
				r.EncodeMapStart(yynn3546)
				yynn3546 = 0
			}
			if yyr3546 || yy2arr3546 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3546[0] {
					yym3548 := z.EncBinary()
					_ = yym3548
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3546[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3549 := z.EncBinary()
					_ = yym3549
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3546 || yy2arr3546 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3546[1] {
					yym3551 := z.EncBinary()
					_ = yym3551
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3546[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3552 := z.EncBinary()
					_ = yym3552
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3546 || yy2arr3546 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.LabelSelector == nil {
					r.EncodeNil()
				} else {
					yym3554 := z.EncBinary()
					_ = yym3554
					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 {
					yym3555 := z.EncBinary()
					_ = yym3555
					if false {
					} else if z.HasExtensions() && z.EncExt(x.LabelSelector) {
					} else {
						z.EncFallback(x.LabelSelector)
					}
				}
			}
			if yyr3546 || yy2arr3546 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.FieldSelector == nil {
					r.EncodeNil()
				} else {
					yym3557 := z.EncBinary()
					_ = yym3557
					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 {
					yym3558 := z.EncBinary()
					_ = yym3558
					if false {
					} else if z.HasExtensions() && z.EncExt(x.FieldSelector) {
					} else {
						z.EncFallback(x.FieldSelector)
					}
				}
			}
			if yyr3546 || yy2arr3546 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3560 := z.EncBinary()
				_ = yym3560
				if false {
				} else {
					r.EncodeBool(bool(x.Watch))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Watch"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3561 := z.EncBinary()
				_ = yym3561
				if false {
				} else {
					r.EncodeBool(bool(x.Watch))
				}
			}
			if yyr3546 || yy2arr3546 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3563 := z.EncBinary()
				_ = yym3563
				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)
				yym3564 := z.EncBinary()
				_ = yym3564
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
				}
			}
			if yyr3546 || yy2arr3546 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.TimeoutSeconds == nil {
					r.EncodeNil()
				} else {
					yy3566 := *x.TimeoutSeconds
					yym3567 := z.EncBinary()
					_ = yym3567
					if false {
					} else {
						r.EncodeInt(int64(yy3566))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("TimeoutSeconds"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.TimeoutSeconds == nil {
					r.EncodeNil()
				} else {
					yy3568 := *x.TimeoutSeconds
					yym3569 := z.EncBinary()
					_ = yym3569
					if false {
					} else {
						r.EncodeInt(int64(yy3568))
					}
				}
			}
			if yyr3546 || yy2arr3546 {
				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
	yym3570 := z.DecBinary()
	_ = yym3570
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3571 := r.ContainerType()
		if yyct3571 == codecSelferValueTypeMap1234 {
			yyl3571 := r.ReadMapStart()
			if yyl3571 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3571, d)
			}
		} else if yyct3571 == codecSelferValueTypeArray1234 {
			yyl3571 := r.ReadArrayStart()
			if yyl3571 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3571, 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 yys3572Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3572Slc
	var yyhl3572 bool = l >= 0
	for yyj3572 := 0; ; yyj3572++ {
		if yyhl3572 {
			if yyj3572 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3572Slc = r.DecodeBytes(yys3572Slc, true, true)
		yys3572 := string(yys3572Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3572 {
		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 {
				yyv3575 := &x.LabelSelector
				yym3576 := z.DecBinary()
				_ = yym3576
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3575) {
				} else {
					z.DecFallback(yyv3575, true)
				}
			}
		case "FieldSelector":
			if r.TryDecodeAsNil() {
				x.FieldSelector = nil
			} else {
				yyv3577 := &x.FieldSelector
				yym3578 := z.DecBinary()
				_ = yym3578
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3577) {
				} else {
					z.DecFallback(yyv3577, 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)
				}
				yym3582 := z.DecBinary()
				_ = yym3582
				if false {
				} else {
					*((*int64)(x.TimeoutSeconds)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3572)
		} // end switch yys3572
	} // end for yyj3572
	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 yyj3583 int
	var yyb3583 bool
	var yyhl3583 bool = l >= 0
	yyj3583++
	if yyhl3583 {
		yyb3583 = yyj3583 > l
	} else {
		yyb3583 = r.CheckBreak()
	}
	if yyb3583 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3583++
	if yyhl3583 {
		yyb3583 = yyj3583 > l
	} else {
		yyb3583 = r.CheckBreak()
	}
	if yyb3583 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3583++
	if yyhl3583 {
		yyb3583 = yyj3583 > l
	} else {
		yyb3583 = r.CheckBreak()
	}
	if yyb3583 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LabelSelector = nil
	} else {
		yyv3586 := &x.LabelSelector
		yym3587 := z.DecBinary()
		_ = yym3587
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3586) {
		} else {
			z.DecFallback(yyv3586, true)
		}
	}
	yyj3583++
	if yyhl3583 {
		yyb3583 = yyj3583 > l
	} else {
		yyb3583 = r.CheckBreak()
	}
	if yyb3583 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FieldSelector = nil
	} else {
		yyv3588 := &x.FieldSelector
		yym3589 := z.DecBinary()
		_ = yym3589
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3588) {
		} else {
			z.DecFallback(yyv3588, true)
		}
	}
	yyj3583++
	if yyhl3583 {
		yyb3583 = yyj3583 > l
	} else {
		yyb3583 = r.CheckBreak()
	}
	if yyb3583 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Watch = false
	} else {
		x.Watch = bool(r.DecodeBool())
	}
	yyj3583++
	if yyhl3583 {
		yyb3583 = yyj3583 > l
	} else {
		yyb3583 = r.CheckBreak()
	}
	if yyb3583 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ResourceVersion = ""
	} else {
		x.ResourceVersion = string(r.DecodeString())
	}
	yyj3583++
	if yyhl3583 {
		yyb3583 = yyj3583 > l
	} else {
		yyb3583 = r.CheckBreak()
	}
	if yyb3583 {
		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)
		}
		yym3593 := z.DecBinary()
		_ = yym3593
		if false {
		} else {
			*((*int64)(x.TimeoutSeconds)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj3583++
		if yyhl3583 {
			yyb3583 = yyj3583 > l
		} else {
			yyb3583 = r.CheckBreak()
		}
		if yyb3583 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3583-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 {
		yym3594 := z.EncBinary()
		_ = yym3594
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3595 := !z.EncBinary()
			yy2arr3595 := z.EncBasicHandle().StructToArray
			var yyq3595 [10]bool
			_, _, _ = yysep3595, yyq3595, yy2arr3595
			const yyr3595 bool = false
			yyq3595[0] = x.Kind != ""
			yyq3595[1] = x.APIVersion != ""
			var yynn3595 int
			if yyr3595 || yy2arr3595 {
				r.EncodeArrayStart(10)
			} else {
				yynn3595 = 8
				for _, b := range yyq3595 {
					if b {
						yynn3595++
					}
				}
				r.EncodeMapStart(yynn3595)
				yynn3595 = 0
			}
			if yyr3595 || yy2arr3595 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3595[0] {
					yym3597 := z.EncBinary()
					_ = yym3597
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3595[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3598 := z.EncBinary()
					_ = yym3598
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3595 || yy2arr3595 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3595[1] {
					yym3600 := z.EncBinary()
					_ = yym3600
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3595[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3601 := z.EncBinary()
					_ = yym3601
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3595 || yy2arr3595 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3603 := z.EncBinary()
				_ = yym3603
				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)
				yym3604 := z.EncBinary()
				_ = yym3604
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Container))
				}
			}
			if yyr3595 || yy2arr3595 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3606 := z.EncBinary()
				_ = yym3606
				if false {
				} else {
					r.EncodeBool(bool(x.Follow))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Follow"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3607 := z.EncBinary()
				_ = yym3607
				if false {
				} else {
					r.EncodeBool(bool(x.Follow))
				}
			}
			if yyr3595 || yy2arr3595 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3609 := z.EncBinary()
				_ = yym3609
				if false {
				} else {
					r.EncodeBool(bool(x.Previous))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Previous"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3610 := z.EncBinary()
				_ = yym3610
				if false {
				} else {
					r.EncodeBool(bool(x.Previous))
				}
			}
			if yyr3595 || yy2arr3595 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.SinceSeconds == nil {
					r.EncodeNil()
				} else {
					yy3612 := *x.SinceSeconds
					yym3613 := z.EncBinary()
					_ = yym3613
					if false {
					} else {
						r.EncodeInt(int64(yy3612))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("SinceSeconds"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.SinceSeconds == nil {
					r.EncodeNil()
				} else {
					yy3614 := *x.SinceSeconds
					yym3615 := z.EncBinary()
					_ = yym3615
					if false {
					} else {
						r.EncodeInt(int64(yy3614))
					}
				}
			}
			if yyr3595 || yy2arr3595 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.SinceTime == nil {
					r.EncodeNil()
				} else {
					yym3617 := z.EncBinary()
					_ = yym3617
					if false {
					} else if z.HasExtensions() && z.EncExt(x.SinceTime) {
					} else if yym3617 {
						z.EncBinaryMarshal(x.SinceTime)
					} else if !yym3617 && 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 {
					yym3618 := z.EncBinary()
					_ = yym3618
					if false {
					} else if z.HasExtensions() && z.EncExt(x.SinceTime) {
					} else if yym3618 {
						z.EncBinaryMarshal(x.SinceTime)
					} else if !yym3618 && z.IsJSONHandle() {
						z.EncJSONMarshal(x.SinceTime)
					} else {
						z.EncFallback(x.SinceTime)
					}
				}
			}
			if yyr3595 || yy2arr3595 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3620 := z.EncBinary()
				_ = yym3620
				if false {
				} else {
					r.EncodeBool(bool(x.Timestamps))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Timestamps"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3621 := z.EncBinary()
				_ = yym3621
				if false {
				} else {
					r.EncodeBool(bool(x.Timestamps))
				}
			}
			if yyr3595 || yy2arr3595 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.TailLines == nil {
					r.EncodeNil()
				} else {
					yy3623 := *x.TailLines
					yym3624 := z.EncBinary()
					_ = yym3624
					if false {
					} else {
						r.EncodeInt(int64(yy3623))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("TailLines"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.TailLines == nil {
					r.EncodeNil()
				} else {
					yy3625 := *x.TailLines
					yym3626 := z.EncBinary()
					_ = yym3626
					if false {
					} else {
						r.EncodeInt(int64(yy3625))
					}
				}
			}
			if yyr3595 || yy2arr3595 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.LimitBytes == nil {
					r.EncodeNil()
				} else {
					yy3628 := *x.LimitBytes
					yym3629 := z.EncBinary()
					_ = yym3629
					if false {
					} else {
						r.EncodeInt(int64(yy3628))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("LimitBytes"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.LimitBytes == nil {
					r.EncodeNil()
				} else {
					yy3630 := *x.LimitBytes
					yym3631 := z.EncBinary()
					_ = yym3631
					if false {
					} else {
						r.EncodeInt(int64(yy3630))
					}
				}
			}
			if yyr3595 || yy2arr3595 {
				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
	yym3632 := z.DecBinary()
	_ = yym3632
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3633 := r.ContainerType()
		if yyct3633 == codecSelferValueTypeMap1234 {
			yyl3633 := r.ReadMapStart()
			if yyl3633 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3633, d)
			}
		} else if yyct3633 == codecSelferValueTypeArray1234 {
			yyl3633 := r.ReadArrayStart()
			if yyl3633 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3633, 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 yys3634Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3634Slc
	var yyhl3634 bool = l >= 0
	for yyj3634 := 0; ; yyj3634++ {
		if yyhl3634 {
			if yyj3634 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3634Slc = r.DecodeBytes(yys3634Slc, true, true)
		yys3634 := string(yys3634Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3634 {
		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)
				}
				yym3641 := z.DecBinary()
				_ = yym3641
				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_unversioned.Time)
				}
				yym3643 := z.DecBinary()
				_ = yym3643
				if false {
				} else if z.HasExtensions() && z.DecExt(x.SinceTime) {
				} else if yym3643 {
					z.DecBinaryUnmarshal(x.SinceTime)
				} else if !yym3643 && 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)
				}
				yym3646 := z.DecBinary()
				_ = yym3646
				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)
				}
				yym3648 := z.DecBinary()
				_ = yym3648
				if false {
				} else {
					*((*int64)(x.LimitBytes)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3634)
		} // end switch yys3634
	} // end for yyj3634
	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 yyj3649 int
	var yyb3649 bool
	var yyhl3649 bool = l >= 0
	yyj3649++
	if yyhl3649 {
		yyb3649 = yyj3649 > l
	} else {
		yyb3649 = r.CheckBreak()
	}
	if yyb3649 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3649++
	if yyhl3649 {
		yyb3649 = yyj3649 > l
	} else {
		yyb3649 = r.CheckBreak()
	}
	if yyb3649 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3649++
	if yyhl3649 {
		yyb3649 = yyj3649 > l
	} else {
		yyb3649 = r.CheckBreak()
	}
	if yyb3649 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Container = ""
	} else {
		x.Container = string(r.DecodeString())
	}
	yyj3649++
	if yyhl3649 {
		yyb3649 = yyj3649 > l
	} else {
		yyb3649 = r.CheckBreak()
	}
	if yyb3649 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Follow = false
	} else {
		x.Follow = bool(r.DecodeBool())
	}
	yyj3649++
	if yyhl3649 {
		yyb3649 = yyj3649 > l
	} else {
		yyb3649 = r.CheckBreak()
	}
	if yyb3649 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Previous = false
	} else {
		x.Previous = bool(r.DecodeBool())
	}
	yyj3649++
	if yyhl3649 {
		yyb3649 = yyj3649 > l
	} else {
		yyb3649 = r.CheckBreak()
	}
	if yyb3649 {
		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)
		}
		yym3656 := z.DecBinary()
		_ = yym3656
		if false {
		} else {
			*((*int64)(x.SinceSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj3649++
	if yyhl3649 {
		yyb3649 = yyj3649 > l
	} else {
		yyb3649 = r.CheckBreak()
	}
	if yyb3649 {
		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_unversioned.Time)
		}
		yym3658 := z.DecBinary()
		_ = yym3658
		if false {
		} else if z.HasExtensions() && z.DecExt(x.SinceTime) {
		} else if yym3658 {
			z.DecBinaryUnmarshal(x.SinceTime)
		} else if !yym3658 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(x.SinceTime)
		} else {
			z.DecFallback(x.SinceTime, false)
		}
	}
	yyj3649++
	if yyhl3649 {
		yyb3649 = yyj3649 > l
	} else {
		yyb3649 = r.CheckBreak()
	}
	if yyb3649 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Timestamps = false
	} else {
		x.Timestamps = bool(r.DecodeBool())
	}
	yyj3649++
	if yyhl3649 {
		yyb3649 = yyj3649 > l
	} else {
		yyb3649 = r.CheckBreak()
	}
	if yyb3649 {
		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)
		}
		yym3661 := z.DecBinary()
		_ = yym3661
		if false {
		} else {
			*((*int64)(x.TailLines)) = int64(r.DecodeInt(64))
		}
	}
	yyj3649++
	if yyhl3649 {
		yyb3649 = yyj3649 > l
	} else {
		yyb3649 = r.CheckBreak()
	}
	if yyb3649 {
		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)
		}
		yym3663 := z.DecBinary()
		_ = yym3663
		if false {
		} else {
			*((*int64)(x.LimitBytes)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj3649++
		if yyhl3649 {
			yyb3649 = yyj3649 > l
		} else {
			yyb3649 = r.CheckBreak()
		}
		if yyb3649 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3649-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 {
		yym3664 := z.EncBinary()
		_ = yym3664
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3665 := !z.EncBinary()
			yy2arr3665 := z.EncBasicHandle().StructToArray
			var yyq3665 [7]bool
			_, _, _ = yysep3665, yyq3665, yy2arr3665
			const yyr3665 bool = false
			yyq3665[0] = x.Kind != ""
			yyq3665[1] = x.APIVersion != ""
			yyq3665[2] = x.Stdin != false
			yyq3665[3] = x.Stdout != false
			yyq3665[4] = x.Stderr != false
			yyq3665[5] = x.TTY != false
			yyq3665[6] = x.Container != ""
			var yynn3665 int
			if yyr3665 || yy2arr3665 {
				r.EncodeArrayStart(7)
			} else {
				yynn3665 = 0
				for _, b := range yyq3665 {
					if b {
						yynn3665++
					}
				}
				r.EncodeMapStart(yynn3665)
				yynn3665 = 0
			}
			if yyr3665 || yy2arr3665 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3665[0] {
					yym3667 := z.EncBinary()
					_ = yym3667
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3665[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3668 := z.EncBinary()
					_ = yym3668
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3665 || yy2arr3665 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3665[1] {
					yym3670 := z.EncBinary()
					_ = yym3670
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3665[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3671 := z.EncBinary()
					_ = yym3671
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3665 || yy2arr3665 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3665[2] {
					yym3673 := z.EncBinary()
					_ = yym3673
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq3665[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdin"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3674 := z.EncBinary()
					_ = yym3674
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				}
			}
			if yyr3665 || yy2arr3665 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3665[3] {
					yym3676 := z.EncBinary()
					_ = yym3676
					if false {
					} else {
						r.EncodeBool(bool(x.Stdout))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq3665[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdout"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3677 := z.EncBinary()
					_ = yym3677
					if false {
					} else {
						r.EncodeBool(bool(x.Stdout))
					}
				}
			}
			if yyr3665 || yy2arr3665 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3665[4] {
					yym3679 := z.EncBinary()
					_ = yym3679
					if false {
					} else {
						r.EncodeBool(bool(x.Stderr))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq3665[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stderr"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3680 := z.EncBinary()
					_ = yym3680
					if false {
					} else {
						r.EncodeBool(bool(x.Stderr))
					}
				}
			}
			if yyr3665 || yy2arr3665 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3665[5] {
					yym3682 := z.EncBinary()
					_ = yym3682
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq3665[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("tty"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3683 := z.EncBinary()
					_ = yym3683
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				}
			}
			if yyr3665 || yy2arr3665 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3665[6] {
					yym3685 := z.EncBinary()
					_ = yym3685
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3665[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("container"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3686 := z.EncBinary()
					_ = yym3686
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				}
			}
			if yyr3665 || yy2arr3665 {
				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
	yym3687 := z.DecBinary()
	_ = yym3687
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3688 := r.ContainerType()
		if yyct3688 == codecSelferValueTypeMap1234 {
			yyl3688 := r.ReadMapStart()
			if yyl3688 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3688, d)
			}
		} else if yyct3688 == codecSelferValueTypeArray1234 {
			yyl3688 := r.ReadArrayStart()
			if yyl3688 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3688, 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 yys3689Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3689Slc
	var yyhl3689 bool = l >= 0
	for yyj3689 := 0; ; yyj3689++ {
		if yyhl3689 {
			if yyj3689 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3689Slc = r.DecodeBytes(yys3689Slc, true, true)
		yys3689 := string(yys3689Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3689 {
		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, yys3689)
		} // end switch yys3689
	} // end for yyj3689
	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 yyj3697 int
	var yyb3697 bool
	var yyhl3697 bool = l >= 0
	yyj3697++
	if yyhl3697 {
		yyb3697 = yyj3697 > l
	} else {
		yyb3697 = r.CheckBreak()
	}
	if yyb3697 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3697++
	if yyhl3697 {
		yyb3697 = yyj3697 > l
	} else {
		yyb3697 = r.CheckBreak()
	}
	if yyb3697 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3697++
	if yyhl3697 {
		yyb3697 = yyj3697 > l
	} else {
		yyb3697 = r.CheckBreak()
	}
	if yyb3697 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdin = false
	} else {
		x.Stdin = bool(r.DecodeBool())
	}
	yyj3697++
	if yyhl3697 {
		yyb3697 = yyj3697 > l
	} else {
		yyb3697 = r.CheckBreak()
	}
	if yyb3697 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdout = false
	} else {
		x.Stdout = bool(r.DecodeBool())
	}
	yyj3697++
	if yyhl3697 {
		yyb3697 = yyj3697 > l
	} else {
		yyb3697 = r.CheckBreak()
	}
	if yyb3697 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stderr = false
	} else {
		x.Stderr = bool(r.DecodeBool())
	}
	yyj3697++
	if yyhl3697 {
		yyb3697 = yyj3697 > l
	} else {
		yyb3697 = r.CheckBreak()
	}
	if yyb3697 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TTY = false
	} else {
		x.TTY = bool(r.DecodeBool())
	}
	yyj3697++
	if yyhl3697 {
		yyb3697 = yyj3697 > l
	} else {
		yyb3697 = r.CheckBreak()
	}
	if yyb3697 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Container = ""
	} else {
		x.Container = string(r.DecodeString())
	}
	for {
		yyj3697++
		if yyhl3697 {
			yyb3697 = yyj3697 > l
		} else {
			yyb3697 = r.CheckBreak()
		}
		if yyb3697 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3697-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 {
		yym3705 := z.EncBinary()
		_ = yym3705
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3706 := !z.EncBinary()
			yy2arr3706 := z.EncBasicHandle().StructToArray
			var yyq3706 [8]bool
			_, _, _ = yysep3706, yyq3706, yy2arr3706
			const yyr3706 bool = false
			yyq3706[0] = x.Kind != ""
			yyq3706[1] = x.APIVersion != ""
			var yynn3706 int
			if yyr3706 || yy2arr3706 {
				r.EncodeArrayStart(8)
			} else {
				yynn3706 = 6
				for _, b := range yyq3706 {
					if b {
						yynn3706++
					}
				}
				r.EncodeMapStart(yynn3706)
				yynn3706 = 0
			}
			if yyr3706 || yy2arr3706 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3706[0] {
					yym3708 := z.EncBinary()
					_ = yym3708
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3706[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3709 := z.EncBinary()
					_ = yym3709
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3706 || yy2arr3706 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3706[1] {
					yym3711 := z.EncBinary()
					_ = yym3711
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3706[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3712 := z.EncBinary()
					_ = yym3712
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3706 || yy2arr3706 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3714 := z.EncBinary()
				_ = yym3714
				if false {
				} else {
					r.EncodeBool(bool(x.Stdin))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Stdin"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3715 := z.EncBinary()
				_ = yym3715
				if false {
				} else {
					r.EncodeBool(bool(x.Stdin))
				}
			}
			if yyr3706 || yy2arr3706 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3717 := z.EncBinary()
				_ = yym3717
				if false {
				} else {
					r.EncodeBool(bool(x.Stdout))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Stdout"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3718 := z.EncBinary()
				_ = yym3718
				if false {
				} else {
					r.EncodeBool(bool(x.Stdout))
				}
			}
			if yyr3706 || yy2arr3706 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3720 := z.EncBinary()
				_ = yym3720
				if false {
				} else {
					r.EncodeBool(bool(x.Stderr))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Stderr"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3721 := z.EncBinary()
				_ = yym3721
				if false {
				} else {
					r.EncodeBool(bool(x.Stderr))
				}
			}
			if yyr3706 || yy2arr3706 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3723 := z.EncBinary()
				_ = yym3723
				if false {
				} else {
					r.EncodeBool(bool(x.TTY))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("TTY"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3724 := z.EncBinary()
				_ = yym3724
				if false {
				} else {
					r.EncodeBool(bool(x.TTY))
				}
			}
			if yyr3706 || yy2arr3706 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3726 := z.EncBinary()
				_ = yym3726
				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)
				yym3727 := z.EncBinary()
				_ = yym3727
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Container))
				}
			}
			if yyr3706 || yy2arr3706 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Command == nil {
					r.EncodeNil()
				} else {
					yym3729 := z.EncBinary()
					_ = yym3729
					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 {
					yym3730 := z.EncBinary()
					_ = yym3730
					if false {
					} else {
						z.F.EncSliceStringV(x.Command, false, e)
					}
				}
			}
			if yyr3706 || yy2arr3706 {
				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
	yym3731 := z.DecBinary()
	_ = yym3731
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3732 := r.ContainerType()
		if yyct3732 == codecSelferValueTypeMap1234 {
			yyl3732 := r.ReadMapStart()
			if yyl3732 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3732, d)
			}
		} else if yyct3732 == codecSelferValueTypeArray1234 {
			yyl3732 := r.ReadArrayStart()
			if yyl3732 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3732, 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 yys3733Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3733Slc
	var yyhl3733 bool = l >= 0
	for yyj3733 := 0; ; yyj3733++ {
		if yyhl3733 {
			if yyj3733 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3733Slc = r.DecodeBytes(yys3733Slc, true, true)
		yys3733 := string(yys3733Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3733 {
		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 {
				yyv3741 := &x.Command
				yym3742 := z.DecBinary()
				_ = yym3742
				if false {
				} else {
					z.F.DecSliceStringX(yyv3741, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3733)
		} // end switch yys3733
	} // end for yyj3733
	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 yyj3743 int
	var yyb3743 bool
	var yyhl3743 bool = l >= 0
	yyj3743++
	if yyhl3743 {
		yyb3743 = yyj3743 > l
	} else {
		yyb3743 = r.CheckBreak()
	}
	if yyb3743 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3743++
	if yyhl3743 {
		yyb3743 = yyj3743 > l
	} else {
		yyb3743 = r.CheckBreak()
	}
	if yyb3743 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3743++
	if yyhl3743 {
		yyb3743 = yyj3743 > l
	} else {
		yyb3743 = r.CheckBreak()
	}
	if yyb3743 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdin = false
	} else {
		x.Stdin = bool(r.DecodeBool())
	}
	yyj3743++
	if yyhl3743 {
		yyb3743 = yyj3743 > l
	} else {
		yyb3743 = r.CheckBreak()
	}
	if yyb3743 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdout = false
	} else {
		x.Stdout = bool(r.DecodeBool())
	}
	yyj3743++
	if yyhl3743 {
		yyb3743 = yyj3743 > l
	} else {
		yyb3743 = r.CheckBreak()
	}
	if yyb3743 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stderr = false
	} else {
		x.Stderr = bool(r.DecodeBool())
	}
	yyj3743++
	if yyhl3743 {
		yyb3743 = yyj3743 > l
	} else {
		yyb3743 = r.CheckBreak()
	}
	if yyb3743 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TTY = false
	} else {
		x.TTY = bool(r.DecodeBool())
	}
	yyj3743++
	if yyhl3743 {
		yyb3743 = yyj3743 > l
	} else {
		yyb3743 = r.CheckBreak()
	}
	if yyb3743 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Container = ""
	} else {
		x.Container = string(r.DecodeString())
	}
	yyj3743++
	if yyhl3743 {
		yyb3743 = yyj3743 > l
	} else {
		yyb3743 = r.CheckBreak()
	}
	if yyb3743 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Command = nil
	} else {
		yyv3751 := &x.Command
		yym3752 := z.DecBinary()
		_ = yym3752
		if false {
		} else {
			z.F.DecSliceStringX(yyv3751, false, d)
		}
	}
	for {
		yyj3743++
		if yyhl3743 {
			yyb3743 = yyj3743 > l
		} else {
			yyb3743 = r.CheckBreak()
		}
		if yyb3743 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3743-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 {
		yym3753 := z.EncBinary()
		_ = yym3753
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3754 := !z.EncBinary()
			yy2arr3754 := z.EncBasicHandle().StructToArray
			var yyq3754 [3]bool
			_, _, _ = yysep3754, yyq3754, yy2arr3754
			const yyr3754 bool = false
			yyq3754[0] = x.Kind != ""
			yyq3754[1] = x.APIVersion != ""
			var yynn3754 int
			if yyr3754 || yy2arr3754 {
				r.EncodeArrayStart(3)
			} else {
				yynn3754 = 1
				for _, b := range yyq3754 {
					if b {
						yynn3754++
					}
				}
				r.EncodeMapStart(yynn3754)
				yynn3754 = 0
			}
			if yyr3754 || yy2arr3754 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3754[0] {
					yym3756 := z.EncBinary()
					_ = yym3756
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3754[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3757 := z.EncBinary()
					_ = yym3757
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3754 || yy2arr3754 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3754[1] {
					yym3759 := z.EncBinary()
					_ = yym3759
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3754[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3760 := z.EncBinary()
					_ = yym3760
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3754 || yy2arr3754 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3762 := z.EncBinary()
				_ = yym3762
				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)
				yym3763 := z.EncBinary()
				_ = yym3763
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr3754 || yy2arr3754 {
				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
	yym3764 := z.DecBinary()
	_ = yym3764
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3765 := r.ContainerType()
		if yyct3765 == codecSelferValueTypeMap1234 {
			yyl3765 := r.ReadMapStart()
			if yyl3765 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3765, d)
			}
		} else if yyct3765 == codecSelferValueTypeArray1234 {
			yyl3765 := r.ReadArrayStart()
			if yyl3765 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3765, 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 yys3766Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3766Slc
	var yyhl3766 bool = l >= 0
	for yyj3766 := 0; ; yyj3766++ {
		if yyhl3766 {
			if yyj3766 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3766Slc = r.DecodeBytes(yys3766Slc, true, true)
		yys3766 := string(yys3766Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3766 {
		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, yys3766)
		} // end switch yys3766
	} // end for yyj3766
	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 yyj3770 int
	var yyb3770 bool
	var yyhl3770 bool = l >= 0
	yyj3770++
	if yyhl3770 {
		yyb3770 = yyj3770 > l
	} else {
		yyb3770 = r.CheckBreak()
	}
	if yyb3770 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3770++
	if yyhl3770 {
		yyb3770 = yyj3770 > l
	} else {
		yyb3770 = r.CheckBreak()
	}
	if yyb3770 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3770++
	if yyhl3770 {
		yyb3770 = yyj3770 > l
	} else {
		yyb3770 = r.CheckBreak()
	}
	if yyb3770 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	for {
		yyj3770++
		if yyhl3770 {
			yyb3770 = yyj3770 > l
		} else {
			yyb3770 = r.CheckBreak()
		}
		if yyb3770 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3770-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 {
		yym3774 := z.EncBinary()
		_ = yym3774
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3775 := !z.EncBinary()
			yy2arr3775 := z.EncBasicHandle().StructToArray
			var yyq3775 [3]bool
			_, _, _ = yysep3775, yyq3775, yy2arr3775
			const yyr3775 bool = false
			yyq3775[0] = x.Kind != ""
			yyq3775[1] = x.APIVersion != ""
			var yynn3775 int
			if yyr3775 || yy2arr3775 {
				r.EncodeArrayStart(3)
			} else {
				yynn3775 = 1
				for _, b := range yyq3775 {
					if b {
						yynn3775++
					}
				}
				r.EncodeMapStart(yynn3775)
				yynn3775 = 0
			}
			if yyr3775 || yy2arr3775 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3775[0] {
					yym3777 := z.EncBinary()
					_ = yym3777
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3775[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3778 := z.EncBinary()
					_ = yym3778
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3775 || yy2arr3775 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3775[1] {
					yym3780 := z.EncBinary()
					_ = yym3780
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3775[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3781 := z.EncBinary()
					_ = yym3781
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3775 || yy2arr3775 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3783 := z.EncBinary()
				_ = yym3783
				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)
				yym3784 := z.EncBinary()
				_ = yym3784
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr3775 || yy2arr3775 {
				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
	yym3785 := z.DecBinary()
	_ = yym3785
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3786 := r.ContainerType()
		if yyct3786 == codecSelferValueTypeMap1234 {
			yyl3786 := r.ReadMapStart()
			if yyl3786 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3786, d)
			}
		} else if yyct3786 == codecSelferValueTypeArray1234 {
			yyl3786 := r.ReadArrayStart()
			if yyl3786 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3786, 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 yys3787Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3787Slc
	var yyhl3787 bool = l >= 0
	for yyj3787 := 0; ; yyj3787++ {
		if yyhl3787 {
			if yyj3787 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3787Slc = r.DecodeBytes(yys3787Slc, true, true)
		yys3787 := string(yys3787Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3787 {
		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, yys3787)
		} // end switch yys3787
	} // end for yyj3787
	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 yyj3791 int
	var yyb3791 bool
	var yyhl3791 bool = l >= 0
	yyj3791++
	if yyhl3791 {
		yyb3791 = yyj3791 > l
	} else {
		yyb3791 = r.CheckBreak()
	}
	if yyb3791 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3791++
	if yyhl3791 {
		yyb3791 = yyj3791 > l
	} else {
		yyb3791 = r.CheckBreak()
	}
	if yyb3791 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3791++
	if yyhl3791 {
		yyb3791 = yyj3791 > l
	} else {
		yyb3791 = r.CheckBreak()
	}
	if yyb3791 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	for {
		yyj3791++
		if yyhl3791 {
			yyb3791 = yyj3791 > l
		} else {
			yyb3791 = r.CheckBreak()
		}
		if yyb3791 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3791-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 {
		yym3795 := z.EncBinary()
		_ = yym3795
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3796 := !z.EncBinary()
			yy2arr3796 := z.EncBasicHandle().StructToArray
			var yyq3796 [3]bool
			_, _, _ = yysep3796, yyq3796, yy2arr3796
			const yyr3796 bool = false
			yyq3796[0] = x.Kind != ""
			yyq3796[1] = x.APIVersion != ""
			var yynn3796 int
			if yyr3796 || yy2arr3796 {
				r.EncodeArrayStart(3)
			} else {
				yynn3796 = 1
				for _, b := range yyq3796 {
					if b {
						yynn3796++
					}
				}
				r.EncodeMapStart(yynn3796)
				yynn3796 = 0
			}
			if yyr3796 || yy2arr3796 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3796[0] {
					yym3798 := z.EncBinary()
					_ = yym3798
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3796[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3799 := z.EncBinary()
					_ = yym3799
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3796 || yy2arr3796 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3796[1] {
					yym3801 := z.EncBinary()
					_ = yym3801
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3796[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3802 := z.EncBinary()
					_ = yym3802
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3796 || yy2arr3796 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3804 := z.EncBinary()
				_ = yym3804
				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)
				yym3805 := z.EncBinary()
				_ = yym3805
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr3796 || yy2arr3796 {
				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
	yym3806 := z.DecBinary()
	_ = yym3806
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3807 := r.ContainerType()
		if yyct3807 == codecSelferValueTypeMap1234 {
			yyl3807 := r.ReadMapStart()
			if yyl3807 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3807, d)
			}
		} else if yyct3807 == codecSelferValueTypeArray1234 {
			yyl3807 := r.ReadArrayStart()
			if yyl3807 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3807, 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 yys3808Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3808Slc
	var yyhl3808 bool = l >= 0
	for yyj3808 := 0; ; yyj3808++ {
		if yyhl3808 {
			if yyj3808 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3808Slc = r.DecodeBytes(yys3808Slc, true, true)
		yys3808 := string(yys3808Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3808 {
		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, yys3808)
		} // end switch yys3808
	} // end for yyj3808
	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 yyj3812 int
	var yyb3812 bool
	var yyhl3812 bool = l >= 0
	yyj3812++
	if yyhl3812 {
		yyb3812 = yyj3812 > l
	} else {
		yyb3812 = r.CheckBreak()
	}
	if yyb3812 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3812++
	if yyhl3812 {
		yyb3812 = yyj3812 > l
	} else {
		yyb3812 = r.CheckBreak()
	}
	if yyb3812 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3812++
	if yyhl3812 {
		yyb3812 = yyj3812 > l
	} else {
		yyb3812 = r.CheckBreak()
	}
	if yyb3812 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	for {
		yyj3812++
		if yyhl3812 {
			yyb3812 = yyj3812 > l
		} else {
			yyb3812 = r.CheckBreak()
		}
		if yyb3812 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3812-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *OwnerReference) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3816 := z.EncBinary()
		_ = yym3816
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3817 := !z.EncBinary()
			yy2arr3817 := z.EncBasicHandle().StructToArray
			var yyq3817 [5]bool
			_, _, _ = yysep3817, yyq3817, yy2arr3817
			const yyr3817 bool = false
			yyq3817[4] = x.Controller != nil
			var yynn3817 int
			if yyr3817 || yy2arr3817 {
				r.EncodeArrayStart(5)
			} else {
				yynn3817 = 4
				for _, b := range yyq3817 {
					if b {
						yynn3817++
					}
				}
				r.EncodeMapStart(yynn3817)
				yynn3817 = 0
			}
			if yyr3817 || yy2arr3817 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3819 := z.EncBinary()
				_ = yym3819
				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)
				yym3820 := z.EncBinary()
				_ = yym3820
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
				}
			}
			if yyr3817 || yy2arr3817 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3822 := z.EncBinary()
				_ = yym3822
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("kind"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3823 := z.EncBinary()
				_ = yym3823
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
				}
			}
			if yyr3817 || yy2arr3817 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3825 := z.EncBinary()
				_ = yym3825
				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)
				yym3826 := z.EncBinary()
				_ = yym3826
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr3817 || yy2arr3817 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3828 := z.EncBinary()
				_ = yym3828
				if false {
				} else if z.HasExtensions() && z.EncExt(x.UID) {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.UID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("uid"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3829 := z.EncBinary()
				_ = yym3829
				if false {
				} else if z.HasExtensions() && z.EncExt(x.UID) {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.UID))
				}
			}
			if yyr3817 || yy2arr3817 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3817[4] {
					if x.Controller == nil {
						r.EncodeNil()
					} else {
						yy3831 := *x.Controller
						yym3832 := z.EncBinary()
						_ = yym3832
						if false {
						} else {
							r.EncodeBool(bool(yy3831))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3817[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("controller"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Controller == nil {
						r.EncodeNil()
					} else {
						yy3833 := *x.Controller
						yym3834 := z.EncBinary()
						_ = yym3834
						if false {
						} else {
							r.EncodeBool(bool(yy3833))
						}
					}
				}
			}
			if yyr3817 || yy2arr3817 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

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

func (x *OwnerReference) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3837Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3837Slc
	var yyhl3837 bool = l >= 0
	for yyj3837 := 0; ; yyj3837++ {
		if yyhl3837 {
			if yyj3837 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3837Slc = r.DecodeBytes(yys3837Slc, true, true)
		yys3837 := string(yys3837Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3837 {
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = 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 "controller":
			if r.TryDecodeAsNil() {
				if x.Controller != nil {
					x.Controller = nil
				}
			} else {
				if x.Controller == nil {
					x.Controller = new(bool)
				}
				yym3843 := z.DecBinary()
				_ = yym3843
				if false {
				} else {
					*((*bool)(x.Controller)) = r.DecodeBool()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3837)
		} // end switch yys3837
	} // end for yyj3837
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *OwnerReference) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3844 int
	var yyb3844 bool
	var yyhl3844 bool = l >= 0
	yyj3844++
	if yyhl3844 {
		yyb3844 = yyj3844 > l
	} else {
		yyb3844 = r.CheckBreak()
	}
	if yyb3844 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3844++
	if yyhl3844 {
		yyb3844 = yyj3844 > l
	} else {
		yyb3844 = r.CheckBreak()
	}
	if yyb3844 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3844++
	if yyhl3844 {
		yyb3844 = yyj3844 > l
	} else {
		yyb3844 = r.CheckBreak()
	}
	if yyb3844 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj3844++
	if yyhl3844 {
		yyb3844 = yyj3844 > l
	} else {
		yyb3844 = r.CheckBreak()
	}
	if yyb3844 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.UID = ""
	} else {
		x.UID = pkg1_types.UID(r.DecodeString())
	}
	yyj3844++
	if yyhl3844 {
		yyb3844 = yyj3844 > l
	} else {
		yyb3844 = r.CheckBreak()
	}
	if yyb3844 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Controller != nil {
			x.Controller = nil
		}
	} else {
		if x.Controller == nil {
			x.Controller = new(bool)
		}
		yym3850 := z.DecBinary()
		_ = yym3850
		if false {
		} else {
			*((*bool)(x.Controller)) = r.DecodeBool()
		}
	}
	for {
		yyj3844++
		if yyhl3844 {
			yyb3844 = yyj3844 > l
		} else {
			yyb3844 = r.CheckBreak()
		}
		if yyb3844 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3844-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 {
		yym3851 := z.EncBinary()
		_ = yym3851
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3852 := !z.EncBinary()
			yy2arr3852 := z.EncBasicHandle().StructToArray
			var yyq3852 [7]bool
			_, _, _ = yysep3852, yyq3852, yy2arr3852
			const yyr3852 bool = false
			yyq3852[0] = x.Kind != ""
			yyq3852[1] = x.Namespace != ""
			yyq3852[2] = x.Name != ""
			yyq3852[3] = x.UID != ""
			yyq3852[4] = x.APIVersion != ""
			yyq3852[5] = x.ResourceVersion != ""
			yyq3852[6] = x.FieldPath != ""
			var yynn3852 int
			if yyr3852 || yy2arr3852 {
				r.EncodeArrayStart(7)
			} else {
				yynn3852 = 0
				for _, b := range yyq3852 {
					if b {
						yynn3852++
					}
				}
				r.EncodeMapStart(yynn3852)
				yynn3852 = 0
			}
			if yyr3852 || yy2arr3852 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3852[0] {
					yym3854 := z.EncBinary()
					_ = yym3854
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3852[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3855 := z.EncBinary()
					_ = yym3855
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3852 || yy2arr3852 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3852[1] {
					yym3857 := z.EncBinary()
					_ = yym3857
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3852[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("namespace"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3858 := z.EncBinary()
					_ = yym3858
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				}
			}
			if yyr3852 || yy2arr3852 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3852[2] {
					yym3860 := z.EncBinary()
					_ = yym3860
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3852[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3861 := z.EncBinary()
					_ = yym3861
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr3852 || yy2arr3852 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3852[3] {
					yym3863 := z.EncBinary()
					_ = yym3863
					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 yyq3852[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("uid"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3864 := z.EncBinary()
					_ = yym3864
					if false {
					} else if z.HasExtensions() && z.EncExt(x.UID) {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.UID))
					}
				}
			}
			if yyr3852 || yy2arr3852 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3852[4] {
					yym3866 := z.EncBinary()
					_ = yym3866
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3852[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3867 := z.EncBinary()
					_ = yym3867
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3852 || yy2arr3852 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3852[5] {
					yym3869 := z.EncBinary()
					_ = yym3869
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3852[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resourceVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3870 := z.EncBinary()
					_ = yym3870
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				}
			}
			if yyr3852 || yy2arr3852 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3852[6] {
					yym3872 := z.EncBinary()
					_ = yym3872
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3852[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fieldPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3873 := z.EncBinary()
					_ = yym3873
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
					}
				}
			}
			if yyr3852 || yy2arr3852 {
				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
	yym3874 := z.DecBinary()
	_ = yym3874
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3875 := r.ContainerType()
		if yyct3875 == codecSelferValueTypeMap1234 {
			yyl3875 := r.ReadMapStart()
			if yyl3875 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3875, d)
			}
		} else if yyct3875 == codecSelferValueTypeArray1234 {
			yyl3875 := r.ReadArrayStart()
			if yyl3875 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3875, 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 yys3876Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3876Slc
	var yyhl3876 bool = l >= 0
	for yyj3876 := 0; ; yyj3876++ {
		if yyhl3876 {
			if yyj3876 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3876Slc = r.DecodeBytes(yys3876Slc, true, true)
		yys3876 := string(yys3876Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3876 {
		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, yys3876)
		} // end switch yys3876
	} // end for yyj3876
	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 yyj3884 int
	var yyb3884 bool
	var yyhl3884 bool = l >= 0
	yyj3884++
	if yyhl3884 {
		yyb3884 = yyj3884 > l
	} else {
		yyb3884 = r.CheckBreak()
	}
	if yyb3884 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3884++
	if yyhl3884 {
		yyb3884 = yyj3884 > l
	} else {
		yyb3884 = r.CheckBreak()
	}
	if yyb3884 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Namespace = ""
	} else {
		x.Namespace = string(r.DecodeString())
	}
	yyj3884++
	if yyhl3884 {
		yyb3884 = yyj3884 > l
	} else {
		yyb3884 = r.CheckBreak()
	}
	if yyb3884 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj3884++
	if yyhl3884 {
		yyb3884 = yyj3884 > l
	} else {
		yyb3884 = r.CheckBreak()
	}
	if yyb3884 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.UID = ""
	} else {
		x.UID = pkg1_types.UID(r.DecodeString())
	}
	yyj3884++
	if yyhl3884 {
		yyb3884 = yyj3884 > l
	} else {
		yyb3884 = r.CheckBreak()
	}
	if yyb3884 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3884++
	if yyhl3884 {
		yyb3884 = yyj3884 > l
	} else {
		yyb3884 = r.CheckBreak()
	}
	if yyb3884 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ResourceVersion = ""
	} else {
		x.ResourceVersion = string(r.DecodeString())
	}
	yyj3884++
	if yyhl3884 {
		yyb3884 = yyj3884 > l
	} else {
		yyb3884 = r.CheckBreak()
	}
	if yyb3884 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FieldPath = ""
	} else {
		x.FieldPath = string(r.DecodeString())
	}
	for {
		yyj3884++
		if yyhl3884 {
			yyb3884 = yyj3884 > l
		} else {
			yyb3884 = r.CheckBreak()
		}
		if yyb3884 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3884-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 {
		yym3892 := z.EncBinary()
		_ = yym3892
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3893 := !z.EncBinary()
			yy2arr3893 := z.EncBasicHandle().StructToArray
			var yyq3893 [1]bool
			_, _, _ = yysep3893, yyq3893, yy2arr3893
			const yyr3893 bool = false
			var yynn3893 int
			if yyr3893 || yy2arr3893 {
				r.EncodeArrayStart(1)
			} else {
				yynn3893 = 1
				for _, b := range yyq3893 {
					if b {
						yynn3893++
					}
				}
				r.EncodeMapStart(yynn3893)
				yynn3893 = 0
			}
			if yyr3893 || yy2arr3893 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3895 := z.EncBinary()
				_ = yym3895
				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)
				yym3896 := z.EncBinary()
				_ = yym3896
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr3893 || yy2arr3893 {
				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
	yym3897 := z.DecBinary()
	_ = yym3897
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3898 := r.ContainerType()
		if yyct3898 == codecSelferValueTypeMap1234 {
			yyl3898 := r.ReadMapStart()
			if yyl3898 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3898, d)
			}
		} else if yyct3898 == codecSelferValueTypeArray1234 {
			yyl3898 := r.ReadArrayStart()
			if yyl3898 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3898, 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 yys3899Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3899Slc
	var yyhl3899 bool = l >= 0
	for yyj3899 := 0; ; yyj3899++ {
		if yyhl3899 {
			if yyj3899 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3899Slc = r.DecodeBytes(yys3899Slc, true, true)
		yys3899 := string(yys3899Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3899 {
		case "Name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3899)
		} // end switch yys3899
	} // end for yyj3899
	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 yyj3901 int
	var yyb3901 bool
	var yyhl3901 bool = l >= 0
	yyj3901++
	if yyhl3901 {
		yyb3901 = yyj3901 > l
	} else {
		yyb3901 = r.CheckBreak()
	}
	if yyb3901 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	for {
		yyj3901++
		if yyhl3901 {
			yyb3901 = yyj3901 > l
		} else {
			yyb3901 = r.CheckBreak()
		}
		if yyb3901 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3901-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 {
		yym3903 := z.EncBinary()
		_ = yym3903
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3904 := !z.EncBinary()
			yy2arr3904 := z.EncBasicHandle().StructToArray
			var yyq3904 [3]bool
			_, _, _ = yysep3904, yyq3904, yy2arr3904
			const yyr3904 bool = false
			yyq3904[0] = x.Kind != ""
			yyq3904[1] = x.APIVersion != ""
			yyq3904[2] = true
			var yynn3904 int
			if yyr3904 || yy2arr3904 {
				r.EncodeArrayStart(3)
			} else {
				yynn3904 = 0
				for _, b := range yyq3904 {
					if b {
						yynn3904++
					}
				}
				r.EncodeMapStart(yynn3904)
				yynn3904 = 0
			}
			if yyr3904 || yy2arr3904 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3904[0] {
					yym3906 := z.EncBinary()
					_ = yym3906
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3904[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3907 := z.EncBinary()
					_ = yym3907
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3904 || yy2arr3904 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3904[1] {
					yym3909 := z.EncBinary()
					_ = yym3909
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3904[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3910 := z.EncBinary()
					_ = yym3910
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3904 || yy2arr3904 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3904[2] {
					yy3912 := &x.Reference
					yy3912.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3904[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reference"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3913 := &x.Reference
					yy3913.CodecEncodeSelf(e)
				}
			}
			if yyr3904 || yy2arr3904 {
				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
	yym3914 := z.DecBinary()
	_ = yym3914
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3915 := r.ContainerType()
		if yyct3915 == codecSelferValueTypeMap1234 {
			yyl3915 := r.ReadMapStart()
			if yyl3915 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3915, d)
			}
		} else if yyct3915 == codecSelferValueTypeArray1234 {
			yyl3915 := r.ReadArrayStart()
			if yyl3915 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3915, 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 yys3916Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3916Slc
	var yyhl3916 bool = l >= 0
	for yyj3916 := 0; ; yyj3916++ {
		if yyhl3916 {
			if yyj3916 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3916Slc = r.DecodeBytes(yys3916Slc, true, true)
		yys3916 := string(yys3916Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3916 {
		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 {
				yyv3919 := &x.Reference
				yyv3919.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3916)
		} // end switch yys3916
	} // end for yyj3916
	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 yyj3920 int
	var yyb3920 bool
	var yyhl3920 bool = l >= 0
	yyj3920++
	if yyhl3920 {
		yyb3920 = yyj3920 > l
	} else {
		yyb3920 = r.CheckBreak()
	}
	if yyb3920 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3920++
	if yyhl3920 {
		yyb3920 = yyj3920 > l
	} else {
		yyb3920 = r.CheckBreak()
	}
	if yyb3920 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3920++
	if yyhl3920 {
		yyb3920 = yyj3920 > l
	} else {
		yyb3920 = r.CheckBreak()
	}
	if yyb3920 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reference = ObjectReference{}
	} else {
		yyv3923 := &x.Reference
		yyv3923.CodecDecodeSelf(d)
	}
	for {
		yyj3920++
		if yyhl3920 {
			yyb3920 = yyj3920 > l
		} else {
			yyb3920 = r.CheckBreak()
		}
		if yyb3920 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3920-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 {
		yym3924 := z.EncBinary()
		_ = yym3924
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3925 := !z.EncBinary()
			yy2arr3925 := z.EncBasicHandle().StructToArray
			var yyq3925 [2]bool
			_, _, _ = yysep3925, yyq3925, yy2arr3925
			const yyr3925 bool = false
			yyq3925[0] = x.Component != ""
			yyq3925[1] = x.Host != ""
			var yynn3925 int
			if yyr3925 || yy2arr3925 {
				r.EncodeArrayStart(2)
			} else {
				yynn3925 = 0
				for _, b := range yyq3925 {
					if b {
						yynn3925++
					}
				}
				r.EncodeMapStart(yynn3925)
				yynn3925 = 0
			}
			if yyr3925 || yy2arr3925 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3925[0] {
					yym3927 := z.EncBinary()
					_ = yym3927
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Component))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3925[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("component"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3928 := z.EncBinary()
					_ = yym3928
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Component))
					}
				}
			}
			if yyr3925 || yy2arr3925 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3925[1] {
					yym3930 := z.EncBinary()
					_ = yym3930
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3925[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("host"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3931 := z.EncBinary()
					_ = yym3931
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				}
			}
			if yyr3925 || yy2arr3925 {
				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
	yym3932 := z.DecBinary()
	_ = yym3932
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3933 := r.ContainerType()
		if yyct3933 == codecSelferValueTypeMap1234 {
			yyl3933 := r.ReadMapStart()
			if yyl3933 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3933, d)
			}
		} else if yyct3933 == codecSelferValueTypeArray1234 {
			yyl3933 := r.ReadArrayStart()
			if yyl3933 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3933, 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 yys3934Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3934Slc
	var yyhl3934 bool = l >= 0
	for yyj3934 := 0; ; yyj3934++ {
		if yyhl3934 {
			if yyj3934 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3934Slc = r.DecodeBytes(yys3934Slc, true, true)
		yys3934 := string(yys3934Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3934 {
		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, yys3934)
		} // end switch yys3934
	} // end for yyj3934
	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 yyj3937 int
	var yyb3937 bool
	var yyhl3937 bool = l >= 0
	yyj3937++
	if yyhl3937 {
		yyb3937 = yyj3937 > l
	} else {
		yyb3937 = r.CheckBreak()
	}
	if yyb3937 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Component = ""
	} else {
		x.Component = string(r.DecodeString())
	}
	yyj3937++
	if yyhl3937 {
		yyb3937 = yyj3937 > l
	} else {
		yyb3937 = r.CheckBreak()
	}
	if yyb3937 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Host = ""
	} else {
		x.Host = string(r.DecodeString())
	}
	for {
		yyj3937++
		if yyhl3937 {
			yyb3937 = yyj3937 > l
		} else {
			yyb3937 = r.CheckBreak()
		}
		if yyb3937 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3937-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 {
		yym3940 := z.EncBinary()
		_ = yym3940
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3941 := !z.EncBinary()
			yy2arr3941 := z.EncBasicHandle().StructToArray
			var yyq3941 [11]bool
			_, _, _ = yysep3941, yyq3941, yy2arr3941
			const yyr3941 bool = false
			yyq3941[0] = x.Kind != ""
			yyq3941[1] = x.APIVersion != ""
			yyq3941[2] = true
			yyq3941[3] = true
			yyq3941[4] = x.Reason != ""
			yyq3941[5] = x.Message != ""
			yyq3941[6] = true
			yyq3941[7] = true
			yyq3941[8] = true
			yyq3941[9] = x.Count != 0
			yyq3941[10] = x.Type != ""
			var yynn3941 int
			if yyr3941 || yy2arr3941 {
				r.EncodeArrayStart(11)
			} else {
				yynn3941 = 0
				for _, b := range yyq3941 {
					if b {
						yynn3941++
					}
				}
				r.EncodeMapStart(yynn3941)
				yynn3941 = 0
			}
			if yyr3941 || yy2arr3941 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3941[0] {
					yym3943 := z.EncBinary()
					_ = yym3943
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3941[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3944 := z.EncBinary()
					_ = yym3944
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3941 || yy2arr3941 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3941[1] {
					yym3946 := z.EncBinary()
					_ = yym3946
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3941[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3947 := z.EncBinary()
					_ = yym3947
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3941 || yy2arr3941 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3941[2] {
					yy3949 := &x.ObjectMeta
					yy3949.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3941[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3950 := &x.ObjectMeta
					yy3950.CodecEncodeSelf(e)
				}
			}
			if yyr3941 || yy2arr3941 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3941[3] {
					yy3952 := &x.InvolvedObject
					yy3952.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3941[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("involvedObject"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3953 := &x.InvolvedObject
					yy3953.CodecEncodeSelf(e)
				}
			}
			if yyr3941 || yy2arr3941 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3941[4] {
					yym3955 := z.EncBinary()
					_ = yym3955
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3941[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3956 := z.EncBinary()
					_ = yym3956
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr3941 || yy2arr3941 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3941[5] {
					yym3958 := z.EncBinary()
					_ = yym3958
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3941[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3959 := z.EncBinary()
					_ = yym3959
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr3941 || yy2arr3941 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3941[6] {
					yy3961 := &x.Source
					yy3961.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3941[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("source"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3962 := &x.Source
					yy3962.CodecEncodeSelf(e)
				}
			}
			if yyr3941 || yy2arr3941 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3941[7] {
					yy3964 := &x.FirstTimestamp
					yym3965 := z.EncBinary()
					_ = yym3965
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3964) {
					} else if yym3965 {
						z.EncBinaryMarshal(yy3964)
					} else if !yym3965 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3964)
					} else {
						z.EncFallback(yy3964)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3941[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("firstTimestamp"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3966 := &x.FirstTimestamp
					yym3967 := z.EncBinary()
					_ = yym3967
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3966) {
					} else if yym3967 {
						z.EncBinaryMarshal(yy3966)
					} else if !yym3967 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3966)
					} else {
						z.EncFallback(yy3966)
					}
				}
			}
			if yyr3941 || yy2arr3941 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3941[8] {
					yy3969 := &x.LastTimestamp
					yym3970 := z.EncBinary()
					_ = yym3970
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3969) {
					} else if yym3970 {
						z.EncBinaryMarshal(yy3969)
					} else if !yym3970 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3969)
					} else {
						z.EncFallback(yy3969)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3941[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastTimestamp"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3971 := &x.LastTimestamp
					yym3972 := z.EncBinary()
					_ = yym3972
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3971) {
					} else if yym3972 {
						z.EncBinaryMarshal(yy3971)
					} else if !yym3972 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3971)
					} else {
						z.EncFallback(yy3971)
					}
				}
			}
			if yyr3941 || yy2arr3941 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3941[9] {
					yym3974 := z.EncBinary()
					_ = yym3974
					if false {
					} else {
						r.EncodeInt(int64(x.Count))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq3941[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("count"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3975 := z.EncBinary()
					_ = yym3975
					if false {
					} else {
						r.EncodeInt(int64(x.Count))
					}
				}
			}
			if yyr3941 || yy2arr3941 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3941[10] {
					yym3977 := z.EncBinary()
					_ = yym3977
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3941[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3978 := z.EncBinary()
					_ = yym3978
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				}
			}
			if yyr3941 || yy2arr3941 {
				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
	yym3979 := z.DecBinary()
	_ = yym3979
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3980 := r.ContainerType()
		if yyct3980 == codecSelferValueTypeMap1234 {
			yyl3980 := r.ReadMapStart()
			if yyl3980 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3980, d)
			}
		} else if yyct3980 == codecSelferValueTypeArray1234 {
			yyl3980 := r.ReadArrayStart()
			if yyl3980 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3980, 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 yys3981Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3981Slc
	var yyhl3981 bool = l >= 0
	for yyj3981 := 0; ; yyj3981++ {
		if yyhl3981 {
			if yyj3981 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3981Slc = r.DecodeBytes(yys3981Slc, true, true)
		yys3981 := string(yys3981Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3981 {
		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 {
				yyv3984 := &x.ObjectMeta
				yyv3984.CodecDecodeSelf(d)
			}
		case "involvedObject":
			if r.TryDecodeAsNil() {
				x.InvolvedObject = ObjectReference{}
			} else {
				yyv3985 := &x.InvolvedObject
				yyv3985.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 {
				yyv3988 := &x.Source
				yyv3988.CodecDecodeSelf(d)
			}
		case "firstTimestamp":
			if r.TryDecodeAsNil() {
				x.FirstTimestamp = pkg2_unversioned.Time{}
			} else {
				yyv3989 := &x.FirstTimestamp
				yym3990 := z.DecBinary()
				_ = yym3990
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3989) {
				} else if yym3990 {
					z.DecBinaryUnmarshal(yyv3989)
				} else if !yym3990 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3989)
				} else {
					z.DecFallback(yyv3989, false)
				}
			}
		case "lastTimestamp":
			if r.TryDecodeAsNil() {
				x.LastTimestamp = pkg2_unversioned.Time{}
			} else {
				yyv3991 := &x.LastTimestamp
				yym3992 := z.DecBinary()
				_ = yym3992
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3991) {
				} else if yym3992 {
					z.DecBinaryUnmarshal(yyv3991)
				} else if !yym3992 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3991)
				} else {
					z.DecFallback(yyv3991, 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, yys3981)
		} // end switch yys3981
	} // end for yyj3981
	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 yyj3995 int
	var yyb3995 bool
	var yyhl3995 bool = l >= 0
	yyj3995++
	if yyhl3995 {
		yyb3995 = yyj3995 > l
	} else {
		yyb3995 = r.CheckBreak()
	}
	if yyb3995 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3995++
	if yyhl3995 {
		yyb3995 = yyj3995 > l
	} else {
		yyb3995 = r.CheckBreak()
	}
	if yyb3995 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3995++
	if yyhl3995 {
		yyb3995 = yyj3995 > l
	} else {
		yyb3995 = r.CheckBreak()
	}
	if yyb3995 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3998 := &x.ObjectMeta
		yyv3998.CodecDecodeSelf(d)
	}
	yyj3995++
	if yyhl3995 {
		yyb3995 = yyj3995 > l
	} else {
		yyb3995 = r.CheckBreak()
	}
	if yyb3995 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.InvolvedObject = ObjectReference{}
	} else {
		yyv3999 := &x.InvolvedObject
		yyv3999.CodecDecodeSelf(d)
	}
	yyj3995++
	if yyhl3995 {
		yyb3995 = yyj3995 > l
	} else {
		yyb3995 = r.CheckBreak()
	}
	if yyb3995 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj3995++
	if yyhl3995 {
		yyb3995 = yyj3995 > l
	} else {
		yyb3995 = r.CheckBreak()
	}
	if yyb3995 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj3995++
	if yyhl3995 {
		yyb3995 = yyj3995 > l
	} else {
		yyb3995 = r.CheckBreak()
	}
	if yyb3995 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Source = EventSource{}
	} else {
		yyv4002 := &x.Source
		yyv4002.CodecDecodeSelf(d)
	}
	yyj3995++
	if yyhl3995 {
		yyb3995 = yyj3995 > l
	} else {
		yyb3995 = r.CheckBreak()
	}
	if yyb3995 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FirstTimestamp = pkg2_unversioned.Time{}
	} else {
		yyv4003 := &x.FirstTimestamp
		yym4004 := z.DecBinary()
		_ = yym4004
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4003) {
		} else if yym4004 {
			z.DecBinaryUnmarshal(yyv4003)
		} else if !yym4004 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv4003)
		} else {
			z.DecFallback(yyv4003, false)
		}
	}
	yyj3995++
	if yyhl3995 {
		yyb3995 = yyj3995 > l
	} else {
		yyb3995 = r.CheckBreak()
	}
	if yyb3995 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTimestamp = pkg2_unversioned.Time{}
	} else {
		yyv4005 := &x.LastTimestamp
		yym4006 := z.DecBinary()
		_ = yym4006
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4005) {
		} else if yym4006 {
			z.DecBinaryUnmarshal(yyv4005)
		} else if !yym4006 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv4005)
		} else {
			z.DecFallback(yyv4005, false)
		}
	}
	yyj3995++
	if yyhl3995 {
		yyb3995 = yyj3995 > l
	} else {
		yyb3995 = r.CheckBreak()
	}
	if yyb3995 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Count = 0
	} else {
		x.Count = int32(r.DecodeInt(32))
	}
	yyj3995++
	if yyhl3995 {
		yyb3995 = yyj3995 > l
	} else {
		yyb3995 = r.CheckBreak()
	}
	if yyb3995 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = string(r.DecodeString())
	}
	for {
		yyj3995++
		if yyhl3995 {
			yyb3995 = yyj3995 > l
		} else {
			yyb3995 = r.CheckBreak()
		}
		if yyb3995 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3995-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 {
		yym4009 := z.EncBinary()
		_ = yym4009
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4010 := !z.EncBinary()
			yy2arr4010 := z.EncBasicHandle().StructToArray
			var yyq4010 [4]bool
			_, _, _ = yysep4010, yyq4010, yy2arr4010
			const yyr4010 bool = false
			yyq4010[0] = x.Kind != ""
			yyq4010[1] = x.APIVersion != ""
			yyq4010[2] = true
			var yynn4010 int
			if yyr4010 || yy2arr4010 {
				r.EncodeArrayStart(4)
			} else {
				yynn4010 = 1
				for _, b := range yyq4010 {
					if b {
						yynn4010++
					}
				}
				r.EncodeMapStart(yynn4010)
				yynn4010 = 0
			}
			if yyr4010 || yy2arr4010 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4010[0] {
					yym4012 := z.EncBinary()
					_ = yym4012
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4010[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4013 := z.EncBinary()
					_ = yym4013
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4010 || yy2arr4010 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4010[1] {
					yym4015 := z.EncBinary()
					_ = yym4015
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4010[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4016 := z.EncBinary()
					_ = yym4016
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4010 || yy2arr4010 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4010[2] {
					yy4018 := &x.ListMeta
					yym4019 := z.EncBinary()
					_ = yym4019
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4018) {
					} else {
						z.EncFallback(yy4018)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4010[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4020 := &x.ListMeta
					yym4021 := z.EncBinary()
					_ = yym4021
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4020) {
					} else {
						z.EncFallback(yy4020)
					}
				}
			}
			if yyr4010 || yy2arr4010 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4023 := z.EncBinary()
					_ = yym4023
					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 {
					yym4024 := z.EncBinary()
					_ = yym4024
					if false {
					} else {
						h.encSliceEvent(([]Event)(x.Items), e)
					}
				}
			}
			if yyr4010 || yy2arr4010 {
				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
	yym4025 := z.DecBinary()
	_ = yym4025
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4026 := r.ContainerType()
		if yyct4026 == codecSelferValueTypeMap1234 {
			yyl4026 := r.ReadMapStart()
			if yyl4026 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4026, d)
			}
		} else if yyct4026 == codecSelferValueTypeArray1234 {
			yyl4026 := r.ReadArrayStart()
			if yyl4026 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4026, 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 yys4027Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4027Slc
	var yyhl4027 bool = l >= 0
	for yyj4027 := 0; ; yyj4027++ {
		if yyhl4027 {
			if yyj4027 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4027Slc = r.DecodeBytes(yys4027Slc, true, true)
		yys4027 := string(yys4027Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4027 {
		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_unversioned.ListMeta{}
			} else {
				yyv4030 := &x.ListMeta
				yym4031 := z.DecBinary()
				_ = yym4031
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4030) {
				} else {
					z.DecFallback(yyv4030, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv4032 := &x.Items
				yym4033 := z.DecBinary()
				_ = yym4033
				if false {
				} else {
					h.decSliceEvent((*[]Event)(yyv4032), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4027)
		} // end switch yys4027
	} // end for yyj4027
	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 yyj4034 int
	var yyb4034 bool
	var yyhl4034 bool = l >= 0
	yyj4034++
	if yyhl4034 {
		yyb4034 = yyj4034 > l
	} else {
		yyb4034 = r.CheckBreak()
	}
	if yyb4034 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4034++
	if yyhl4034 {
		yyb4034 = yyj4034 > l
	} else {
		yyb4034 = r.CheckBreak()
	}
	if yyb4034 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4034++
	if yyhl4034 {
		yyb4034 = yyj4034 > l
	} else {
		yyb4034 = r.CheckBreak()
	}
	if yyb4034 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv4037 := &x.ListMeta
		yym4038 := z.DecBinary()
		_ = yym4038
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4037) {
		} else {
			z.DecFallback(yyv4037, false)
		}
	}
	yyj4034++
	if yyhl4034 {
		yyb4034 = yyj4034 > l
	} else {
		yyb4034 = r.CheckBreak()
	}
	if yyb4034 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv4039 := &x.Items
		yym4040 := z.DecBinary()
		_ = yym4040
		if false {
		} else {
			h.decSliceEvent((*[]Event)(yyv4039), d)
		}
	}
	for {
		yyj4034++
		if yyhl4034 {
			yyb4034 = yyj4034 > l
		} else {
			yyb4034 = r.CheckBreak()
		}
		if yyb4034 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4034-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 {
		yym4041 := z.EncBinary()
		_ = yym4041
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4042 := !z.EncBinary()
			yy2arr4042 := z.EncBasicHandle().StructToArray
			var yyq4042 [4]bool
			_, _, _ = yysep4042, yyq4042, yy2arr4042
			const yyr4042 bool = false
			yyq4042[0] = x.Kind != ""
			yyq4042[1] = x.APIVersion != ""
			yyq4042[2] = true
			var yynn4042 int
			if yyr4042 || yy2arr4042 {
				r.EncodeArrayStart(4)
			} else {
				yynn4042 = 1
				for _, b := range yyq4042 {
					if b {
						yynn4042++
					}
				}
				r.EncodeMapStart(yynn4042)
				yynn4042 = 0
			}
			if yyr4042 || yy2arr4042 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4042[0] {
					yym4044 := z.EncBinary()
					_ = yym4044
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4042[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4045 := z.EncBinary()
					_ = yym4045
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4042 || yy2arr4042 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4042[1] {
					yym4047 := z.EncBinary()
					_ = yym4047
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4042[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4048 := z.EncBinary()
					_ = yym4048
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4042 || yy2arr4042 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4042[2] {
					yy4050 := &x.ListMeta
					yym4051 := z.EncBinary()
					_ = yym4051
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4050) {
					} else {
						z.EncFallback(yy4050)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4042[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4052 := &x.ListMeta
					yym4053 := z.EncBinary()
					_ = yym4053
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4052) {
					} else {
						z.EncFallback(yy4052)
					}
				}
			}
			if yyr4042 || yy2arr4042 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4055 := z.EncBinary()
					_ = yym4055
					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 {
					yym4056 := z.EncBinary()
					_ = yym4056
					if false {
					} else {
						h.encSliceruntime_Object(([]pkg7_runtime.Object)(x.Items), e)
					}
				}
			}
			if yyr4042 || yy2arr4042 {
				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
	yym4057 := z.DecBinary()
	_ = yym4057
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4058 := r.ContainerType()
		if yyct4058 == codecSelferValueTypeMap1234 {
			yyl4058 := r.ReadMapStart()
			if yyl4058 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4058, d)
			}
		} else if yyct4058 == codecSelferValueTypeArray1234 {
			yyl4058 := r.ReadArrayStart()
			if yyl4058 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4058, 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 yys4059Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4059Slc
	var yyhl4059 bool = l >= 0
	for yyj4059 := 0; ; yyj4059++ {
		if yyhl4059 {
			if yyj4059 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4059Slc = r.DecodeBytes(yys4059Slc, true, true)
		yys4059 := string(yys4059Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4059 {
		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_unversioned.ListMeta{}
			} else {
				yyv4062 := &x.ListMeta
				yym4063 := z.DecBinary()
				_ = yym4063
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4062) {
				} else {
					z.DecFallback(yyv4062, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv4064 := &x.Items
				yym4065 := z.DecBinary()
				_ = yym4065
				if false {
				} else {
					h.decSliceruntime_Object((*[]pkg7_runtime.Object)(yyv4064), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4059)
		} // end switch yys4059
	} // end for yyj4059
	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 yyj4066 int
	var yyb4066 bool
	var yyhl4066 bool = l >= 0
	yyj4066++
	if yyhl4066 {
		yyb4066 = yyj4066 > l
	} else {
		yyb4066 = r.CheckBreak()
	}
	if yyb4066 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4066++
	if yyhl4066 {
		yyb4066 = yyj4066 > l
	} else {
		yyb4066 = r.CheckBreak()
	}
	if yyb4066 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4066++
	if yyhl4066 {
		yyb4066 = yyj4066 > l
	} else {
		yyb4066 = r.CheckBreak()
	}
	if yyb4066 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv4069 := &x.ListMeta
		yym4070 := z.DecBinary()
		_ = yym4070
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4069) {
		} else {
			z.DecFallback(yyv4069, false)
		}
	}
	yyj4066++
	if yyhl4066 {
		yyb4066 = yyj4066 > l
	} else {
		yyb4066 = r.CheckBreak()
	}
	if yyb4066 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv4071 := &x.Items
		yym4072 := z.DecBinary()
		_ = yym4072
		if false {
		} else {
			h.decSliceruntime_Object((*[]pkg7_runtime.Object)(yyv4071), d)
		}
	}
	for {
		yyj4066++
		if yyhl4066 {
			yyb4066 = yyj4066 > l
		} else {
			yyb4066 = r.CheckBreak()
		}
		if yyb4066 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4066-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x LimitType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym4073 := z.EncBinary()
	_ = yym4073
	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
	yym4074 := z.DecBinary()
	_ = yym4074
	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 {
		yym4075 := z.EncBinary()
		_ = yym4075
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4076 := !z.EncBinary()
			yy2arr4076 := z.EncBasicHandle().StructToArray
			var yyq4076 [6]bool
			_, _, _ = yysep4076, yyq4076, yy2arr4076
			const yyr4076 bool = false
			yyq4076[0] = x.Type != ""
			yyq4076[1] = len(x.Max) != 0
			yyq4076[2] = len(x.Min) != 0
			yyq4076[3] = len(x.Default) != 0
			yyq4076[4] = len(x.DefaultRequest) != 0
			yyq4076[5] = len(x.MaxLimitRequestRatio) != 0
			var yynn4076 int
			if yyr4076 || yy2arr4076 {
				r.EncodeArrayStart(6)
			} else {
				yynn4076 = 0
				for _, b := range yyq4076 {
					if b {
						yynn4076++
					}
				}
				r.EncodeMapStart(yynn4076)
				yynn4076 = 0
			}
			if yyr4076 || yy2arr4076 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4076[0] {
					x.Type.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4076[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Type.CodecEncodeSelf(e)
				}
			}
			if yyr4076 || yy2arr4076 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4076[1] {
					if x.Max == nil {
						r.EncodeNil()
					} else {
						x.Max.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4076[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 yyr4076 || yy2arr4076 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4076[2] {
					if x.Min == nil {
						r.EncodeNil()
					} else {
						x.Min.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4076[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 yyr4076 || yy2arr4076 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4076[3] {
					if x.Default == nil {
						r.EncodeNil()
					} else {
						x.Default.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4076[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 yyr4076 || yy2arr4076 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4076[4] {
					if x.DefaultRequest == nil {
						r.EncodeNil()
					} else {
						x.DefaultRequest.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4076[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 yyr4076 || yy2arr4076 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4076[5] {
					if x.MaxLimitRequestRatio == nil {
						r.EncodeNil()
					} else {
						x.MaxLimitRequestRatio.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4076[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 yyr4076 || yy2arr4076 {
				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
	yym4083 := z.DecBinary()
	_ = yym4083
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4084 := r.ContainerType()
		if yyct4084 == codecSelferValueTypeMap1234 {
			yyl4084 := r.ReadMapStart()
			if yyl4084 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4084, d)
			}
		} else if yyct4084 == codecSelferValueTypeArray1234 {
			yyl4084 := r.ReadArrayStart()
			if yyl4084 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4084, 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 yys4085Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4085Slc
	var yyhl4085 bool = l >= 0
	for yyj4085 := 0; ; yyj4085++ {
		if yyhl4085 {
			if yyj4085 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4085Slc = r.DecodeBytes(yys4085Slc, true, true)
		yys4085 := string(yys4085Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4085 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = LimitType(r.DecodeString())
			}
		case "max":
			if r.TryDecodeAsNil() {
				x.Max = nil
			} else {
				yyv4087 := &x.Max
				yyv4087.CodecDecodeSelf(d)
			}
		case "min":
			if r.TryDecodeAsNil() {
				x.Min = nil
			} else {
				yyv4088 := &x.Min
				yyv4088.CodecDecodeSelf(d)
			}
		case "default":
			if r.TryDecodeAsNil() {
				x.Default = nil
			} else {
				yyv4089 := &x.Default
				yyv4089.CodecDecodeSelf(d)
			}
		case "defaultRequest":
			if r.TryDecodeAsNil() {
				x.DefaultRequest = nil
			} else {
				yyv4090 := &x.DefaultRequest
				yyv4090.CodecDecodeSelf(d)
			}
		case "maxLimitRequestRatio":
			if r.TryDecodeAsNil() {
				x.MaxLimitRequestRatio = nil
			} else {
				yyv4091 := &x.MaxLimitRequestRatio
				yyv4091.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys4085)
		} // end switch yys4085
	} // end for yyj4085
	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 yyj4092 int
	var yyb4092 bool
	var yyhl4092 bool = l >= 0
	yyj4092++
	if yyhl4092 {
		yyb4092 = yyj4092 > l
	} else {
		yyb4092 = r.CheckBreak()
	}
	if yyb4092 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = LimitType(r.DecodeString())
	}
	yyj4092++
	if yyhl4092 {
		yyb4092 = yyj4092 > l
	} else {
		yyb4092 = r.CheckBreak()
	}
	if yyb4092 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Max = nil
	} else {
		yyv4094 := &x.Max
		yyv4094.CodecDecodeSelf(d)
	}
	yyj4092++
	if yyhl4092 {
		yyb4092 = yyj4092 > l
	} else {
		yyb4092 = r.CheckBreak()
	}
	if yyb4092 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Min = nil
	} else {
		yyv4095 := &x.Min
		yyv4095.CodecDecodeSelf(d)
	}
	yyj4092++
	if yyhl4092 {
		yyb4092 = yyj4092 > l
	} else {
		yyb4092 = r.CheckBreak()
	}
	if yyb4092 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Default = nil
	} else {
		yyv4096 := &x.Default
		yyv4096.CodecDecodeSelf(d)
	}
	yyj4092++
	if yyhl4092 {
		yyb4092 = yyj4092 > l
	} else {
		yyb4092 = r.CheckBreak()
	}
	if yyb4092 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DefaultRequest = nil
	} else {
		yyv4097 := &x.DefaultRequest
		yyv4097.CodecDecodeSelf(d)
	}
	yyj4092++
	if yyhl4092 {
		yyb4092 = yyj4092 > l
	} else {
		yyb4092 = r.CheckBreak()
	}
	if yyb4092 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.MaxLimitRequestRatio = nil
	} else {
		yyv4098 := &x.MaxLimitRequestRatio
		yyv4098.CodecDecodeSelf(d)
	}
	for {
		yyj4092++
		if yyhl4092 {
			yyb4092 = yyj4092 > l
		} else {
			yyb4092 = r.CheckBreak()
		}
		if yyb4092 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4092-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 {
		yym4099 := z.EncBinary()
		_ = yym4099
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4100 := !z.EncBinary()
			yy2arr4100 := z.EncBasicHandle().StructToArray
			var yyq4100 [1]bool
			_, _, _ = yysep4100, yyq4100, yy2arr4100
			const yyr4100 bool = false
			var yynn4100 int
			if yyr4100 || yy2arr4100 {
				r.EncodeArrayStart(1)
			} else {
				yynn4100 = 1
				for _, b := range yyq4100 {
					if b {
						yynn4100++
					}
				}
				r.EncodeMapStart(yynn4100)
				yynn4100 = 0
			}
			if yyr4100 || yy2arr4100 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Limits == nil {
					r.EncodeNil()
				} else {
					yym4102 := z.EncBinary()
					_ = yym4102
					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 {
					yym4103 := z.EncBinary()
					_ = yym4103
					if false {
					} else {
						h.encSliceLimitRangeItem(([]LimitRangeItem)(x.Limits), e)
					}
				}
			}
			if yyr4100 || yy2arr4100 {
				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
	yym4104 := z.DecBinary()
	_ = yym4104
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4105 := r.ContainerType()
		if yyct4105 == codecSelferValueTypeMap1234 {
			yyl4105 := r.ReadMapStart()
			if yyl4105 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4105, d)
			}
		} else if yyct4105 == codecSelferValueTypeArray1234 {
			yyl4105 := r.ReadArrayStart()
			if yyl4105 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4105, 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 yys4106Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4106Slc
	var yyhl4106 bool = l >= 0
	for yyj4106 := 0; ; yyj4106++ {
		if yyhl4106 {
			if yyj4106 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4106Slc = r.DecodeBytes(yys4106Slc, true, true)
		yys4106 := string(yys4106Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4106 {
		case "limits":
			if r.TryDecodeAsNil() {
				x.Limits = nil
			} else {
				yyv4107 := &x.Limits
				yym4108 := z.DecBinary()
				_ = yym4108
				if false {
				} else {
					h.decSliceLimitRangeItem((*[]LimitRangeItem)(yyv4107), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4106)
		} // end switch yys4106
	} // end for yyj4106
	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 yyj4109 int
	var yyb4109 bool
	var yyhl4109 bool = l >= 0
	yyj4109++
	if yyhl4109 {
		yyb4109 = yyj4109 > l
	} else {
		yyb4109 = r.CheckBreak()
	}
	if yyb4109 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Limits = nil
	} else {
		yyv4110 := &x.Limits
		yym4111 := z.DecBinary()
		_ = yym4111
		if false {
		} else {
			h.decSliceLimitRangeItem((*[]LimitRangeItem)(yyv4110), d)
		}
	}
	for {
		yyj4109++
		if yyhl4109 {
			yyb4109 = yyj4109 > l
		} else {
			yyb4109 = r.CheckBreak()
		}
		if yyb4109 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4109-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 {
		yym4112 := z.EncBinary()
		_ = yym4112
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4113 := !z.EncBinary()
			yy2arr4113 := z.EncBasicHandle().StructToArray
			var yyq4113 [4]bool
			_, _, _ = yysep4113, yyq4113, yy2arr4113
			const yyr4113 bool = false
			yyq4113[0] = x.Kind != ""
			yyq4113[1] = x.APIVersion != ""
			yyq4113[2] = true
			yyq4113[3] = true
			var yynn4113 int
			if yyr4113 || yy2arr4113 {
				r.EncodeArrayStart(4)
			} else {
				yynn4113 = 0
				for _, b := range yyq4113 {
					if b {
						yynn4113++
					}
				}
				r.EncodeMapStart(yynn4113)
				yynn4113 = 0
			}
			if yyr4113 || yy2arr4113 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4113[0] {
					yym4115 := z.EncBinary()
					_ = yym4115
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4113[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4116 := z.EncBinary()
					_ = yym4116
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4113 || yy2arr4113 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4113[1] {
					yym4118 := z.EncBinary()
					_ = yym4118
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4113[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4119 := z.EncBinary()
					_ = yym4119
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4113 || yy2arr4113 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4113[2] {
					yy4121 := &x.ObjectMeta
					yy4121.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4113[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4122 := &x.ObjectMeta
					yy4122.CodecEncodeSelf(e)
				}
			}
			if yyr4113 || yy2arr4113 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4113[3] {
					yy4124 := &x.Spec
					yy4124.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4113[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4125 := &x.Spec
					yy4125.CodecEncodeSelf(e)
				}
			}
			if yyr4113 || yy2arr4113 {
				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
	yym4126 := z.DecBinary()
	_ = yym4126
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4127 := r.ContainerType()
		if yyct4127 == codecSelferValueTypeMap1234 {
			yyl4127 := r.ReadMapStart()
			if yyl4127 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4127, d)
			}
		} else if yyct4127 == codecSelferValueTypeArray1234 {
			yyl4127 := r.ReadArrayStart()
			if yyl4127 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4127, 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 yys4128Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4128Slc
	var yyhl4128 bool = l >= 0
	for yyj4128 := 0; ; yyj4128++ {
		if yyhl4128 {
			if yyj4128 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4128Slc = r.DecodeBytes(yys4128Slc, true, true)
		yys4128 := string(yys4128Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4128 {
		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 {
				yyv4131 := &x.ObjectMeta
				yyv4131.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = LimitRangeSpec{}
			} else {
				yyv4132 := &x.Spec
				yyv4132.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys4128)
		} // end switch yys4128
	} // end for yyj4128
	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 yyj4133 int
	var yyb4133 bool
	var yyhl4133 bool = l >= 0
	yyj4133++
	if yyhl4133 {
		yyb4133 = yyj4133 > l
	} else {
		yyb4133 = r.CheckBreak()
	}
	if yyb4133 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4133++
	if yyhl4133 {
		yyb4133 = yyj4133 > l
	} else {
		yyb4133 = r.CheckBreak()
	}
	if yyb4133 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4133++
	if yyhl4133 {
		yyb4133 = yyj4133 > l
	} else {
		yyb4133 = r.CheckBreak()
	}
	if yyb4133 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv4136 := &x.ObjectMeta
		yyv4136.CodecDecodeSelf(d)
	}
	yyj4133++
	if yyhl4133 {
		yyb4133 = yyj4133 > l
	} else {
		yyb4133 = r.CheckBreak()
	}
	if yyb4133 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = LimitRangeSpec{}
	} else {
		yyv4137 := &x.Spec
		yyv4137.CodecDecodeSelf(d)
	}
	for {
		yyj4133++
		if yyhl4133 {
			yyb4133 = yyj4133 > l
		} else {
			yyb4133 = r.CheckBreak()
		}
		if yyb4133 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4133-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 {
		yym4138 := z.EncBinary()
		_ = yym4138
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4139 := !z.EncBinary()
			yy2arr4139 := z.EncBasicHandle().StructToArray
			var yyq4139 [4]bool
			_, _, _ = yysep4139, yyq4139, yy2arr4139
			const yyr4139 bool = false
			yyq4139[0] = x.Kind != ""
			yyq4139[1] = x.APIVersion != ""
			yyq4139[2] = true
			var yynn4139 int
			if yyr4139 || yy2arr4139 {
				r.EncodeArrayStart(4)
			} else {
				yynn4139 = 1
				for _, b := range yyq4139 {
					if b {
						yynn4139++
					}
				}
				r.EncodeMapStart(yynn4139)
				yynn4139 = 0
			}
			if yyr4139 || yy2arr4139 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4139[0] {
					yym4141 := z.EncBinary()
					_ = yym4141
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4139[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4142 := z.EncBinary()
					_ = yym4142
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4139 || yy2arr4139 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4139[1] {
					yym4144 := z.EncBinary()
					_ = yym4144
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4139[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4145 := z.EncBinary()
					_ = yym4145
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4139 || yy2arr4139 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4139[2] {
					yy4147 := &x.ListMeta
					yym4148 := z.EncBinary()
					_ = yym4148
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4147) {
					} else {
						z.EncFallback(yy4147)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4139[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4149 := &x.ListMeta
					yym4150 := z.EncBinary()
					_ = yym4150
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4149) {
					} else {
						z.EncFallback(yy4149)
					}
				}
			}
			if yyr4139 || yy2arr4139 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4152 := z.EncBinary()
					_ = yym4152
					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 {
					yym4153 := z.EncBinary()
					_ = yym4153
					if false {
					} else {
						h.encSliceLimitRange(([]LimitRange)(x.Items), e)
					}
				}
			}
			if yyr4139 || yy2arr4139 {
				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
	yym4154 := z.DecBinary()
	_ = yym4154
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4155 := r.ContainerType()
		if yyct4155 == codecSelferValueTypeMap1234 {
			yyl4155 := r.ReadMapStart()
			if yyl4155 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4155, d)
			}
		} else if yyct4155 == codecSelferValueTypeArray1234 {
			yyl4155 := r.ReadArrayStart()
			if yyl4155 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4155, 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 yys4156Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4156Slc
	var yyhl4156 bool = l >= 0
	for yyj4156 := 0; ; yyj4156++ {
		if yyhl4156 {
			if yyj4156 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4156Slc = r.DecodeBytes(yys4156Slc, true, true)
		yys4156 := string(yys4156Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4156 {
		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_unversioned.ListMeta{}
			} else {
				yyv4159 := &x.ListMeta
				yym4160 := z.DecBinary()
				_ = yym4160
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4159) {
				} else {
					z.DecFallback(yyv4159, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv4161 := &x.Items
				yym4162 := z.DecBinary()
				_ = yym4162
				if false {
				} else {
					h.decSliceLimitRange((*[]LimitRange)(yyv4161), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4156)
		} // end switch yys4156
	} // end for yyj4156
	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 yyj4163 int
	var yyb4163 bool
	var yyhl4163 bool = l >= 0
	yyj4163++
	if yyhl4163 {
		yyb4163 = yyj4163 > l
	} else {
		yyb4163 = r.CheckBreak()
	}
	if yyb4163 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4163++
	if yyhl4163 {
		yyb4163 = yyj4163 > l
	} else {
		yyb4163 = r.CheckBreak()
	}
	if yyb4163 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4163++
	if yyhl4163 {
		yyb4163 = yyj4163 > l
	} else {
		yyb4163 = r.CheckBreak()
	}
	if yyb4163 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv4166 := &x.ListMeta
		yym4167 := z.DecBinary()
		_ = yym4167
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4166) {
		} else {
			z.DecFallback(yyv4166, false)
		}
	}
	yyj4163++
	if yyhl4163 {
		yyb4163 = yyj4163 > l
	} else {
		yyb4163 = r.CheckBreak()
	}
	if yyb4163 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv4168 := &x.Items
		yym4169 := z.DecBinary()
		_ = yym4169
		if false {
		} else {
			h.decSliceLimitRange((*[]LimitRange)(yyv4168), d)
		}
	}
	for {
		yyj4163++
		if yyhl4163 {
			yyb4163 = yyj4163 > l
		} else {
			yyb4163 = r.CheckBreak()
		}
		if yyb4163 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4163-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x ResourceQuotaScope) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym4170 := z.EncBinary()
	_ = yym4170
	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
	yym4171 := z.DecBinary()
	_ = yym4171
	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 {
		yym4172 := z.EncBinary()
		_ = yym4172
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4173 := !z.EncBinary()
			yy2arr4173 := z.EncBasicHandle().StructToArray
			var yyq4173 [2]bool
			_, _, _ = yysep4173, yyq4173, yy2arr4173
			const yyr4173 bool = false
			yyq4173[0] = len(x.Hard) != 0
			yyq4173[1] = len(x.Scopes) != 0
			var yynn4173 int
			if yyr4173 || yy2arr4173 {
				r.EncodeArrayStart(2)
			} else {
				yynn4173 = 0
				for _, b := range yyq4173 {
					if b {
						yynn4173++
					}
				}
				r.EncodeMapStart(yynn4173)
				yynn4173 = 0
			}
			if yyr4173 || yy2arr4173 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4173[0] {
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4173[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 yyr4173 || yy2arr4173 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4173[1] {
					if x.Scopes == nil {
						r.EncodeNil()
					} else {
						yym4176 := z.EncBinary()
						_ = yym4176
						if false {
						} else {
							h.encSliceResourceQuotaScope(([]ResourceQuotaScope)(x.Scopes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4173[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("scopes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Scopes == nil {
						r.EncodeNil()
					} else {
						yym4177 := z.EncBinary()
						_ = yym4177
						if false {
						} else {
							h.encSliceResourceQuotaScope(([]ResourceQuotaScope)(x.Scopes), e)
						}
					}
				}
			}
			if yyr4173 || yy2arr4173 {
				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
	yym4178 := z.DecBinary()
	_ = yym4178
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4179 := r.ContainerType()
		if yyct4179 == codecSelferValueTypeMap1234 {
			yyl4179 := r.ReadMapStart()
			if yyl4179 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4179, d)
			}
		} else if yyct4179 == codecSelferValueTypeArray1234 {
			yyl4179 := r.ReadArrayStart()
			if yyl4179 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4179, 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 yys4180Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4180Slc
	var yyhl4180 bool = l >= 0
	for yyj4180 := 0; ; yyj4180++ {
		if yyhl4180 {
			if yyj4180 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4180Slc = r.DecodeBytes(yys4180Slc, true, true)
		yys4180 := string(yys4180Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4180 {
		case "hard":
			if r.TryDecodeAsNil() {
				x.Hard = nil
			} else {
				yyv4181 := &x.Hard
				yyv4181.CodecDecodeSelf(d)
			}
		case "scopes":
			if r.TryDecodeAsNil() {
				x.Scopes = nil
			} else {
				yyv4182 := &x.Scopes
				yym4183 := z.DecBinary()
				_ = yym4183
				if false {
				} else {
					h.decSliceResourceQuotaScope((*[]ResourceQuotaScope)(yyv4182), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4180)
		} // end switch yys4180
	} // end for yyj4180
	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 yyj4184 int
	var yyb4184 bool
	var yyhl4184 bool = l >= 0
	yyj4184++
	if yyhl4184 {
		yyb4184 = yyj4184 > l
	} else {
		yyb4184 = r.CheckBreak()
	}
	if yyb4184 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Hard = nil
	} else {
		yyv4185 := &x.Hard
		yyv4185.CodecDecodeSelf(d)
	}
	yyj4184++
	if yyhl4184 {
		yyb4184 = yyj4184 > l
	} else {
		yyb4184 = r.CheckBreak()
	}
	if yyb4184 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Scopes = nil
	} else {
		yyv4186 := &x.Scopes
		yym4187 := z.DecBinary()
		_ = yym4187
		if false {
		} else {
			h.decSliceResourceQuotaScope((*[]ResourceQuotaScope)(yyv4186), d)
		}
	}
	for {
		yyj4184++
		if yyhl4184 {
			yyb4184 = yyj4184 > l
		} else {
			yyb4184 = r.CheckBreak()
		}
		if yyb4184 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4184-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 {
		yym4188 := z.EncBinary()
		_ = yym4188
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4189 := !z.EncBinary()
			yy2arr4189 := z.EncBasicHandle().StructToArray
			var yyq4189 [2]bool
			_, _, _ = yysep4189, yyq4189, yy2arr4189
			const yyr4189 bool = false
			yyq4189[0] = len(x.Hard) != 0
			yyq4189[1] = len(x.Used) != 0
			var yynn4189 int
			if yyr4189 || yy2arr4189 {
				r.EncodeArrayStart(2)
			} else {
				yynn4189 = 0
				for _, b := range yyq4189 {
					if b {
						yynn4189++
					}
				}
				r.EncodeMapStart(yynn4189)
				yynn4189 = 0
			}
			if yyr4189 || yy2arr4189 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4189[0] {
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4189[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 yyr4189 || yy2arr4189 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4189[1] {
					if x.Used == nil {
						r.EncodeNil()
					} else {
						x.Used.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4189[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 yyr4189 || yy2arr4189 {
				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
	yym4192 := z.DecBinary()
	_ = yym4192
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4193 := r.ContainerType()
		if yyct4193 == codecSelferValueTypeMap1234 {
			yyl4193 := r.ReadMapStart()
			if yyl4193 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4193, d)
			}
		} else if yyct4193 == codecSelferValueTypeArray1234 {
			yyl4193 := r.ReadArrayStart()
			if yyl4193 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4193, 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 yys4194Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4194Slc
	var yyhl4194 bool = l >= 0
	for yyj4194 := 0; ; yyj4194++ {
		if yyhl4194 {
			if yyj4194 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4194Slc = r.DecodeBytes(yys4194Slc, true, true)
		yys4194 := string(yys4194Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4194 {
		case "hard":
			if r.TryDecodeAsNil() {
				x.Hard = nil
			} else {
				yyv4195 := &x.Hard
				yyv4195.CodecDecodeSelf(d)
			}
		case "used":
			if r.TryDecodeAsNil() {
				x.Used = nil
			} else {
				yyv4196 := &x.Used
				yyv4196.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys4194)
		} // end switch yys4194
	} // end for yyj4194
	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 yyj4197 int
	var yyb4197 bool
	var yyhl4197 bool = l >= 0
	yyj4197++
	if yyhl4197 {
		yyb4197 = yyj4197 > l
	} else {
		yyb4197 = r.CheckBreak()
	}
	if yyb4197 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Hard = nil
	} else {
		yyv4198 := &x.Hard
		yyv4198.CodecDecodeSelf(d)
	}
	yyj4197++
	if yyhl4197 {
		yyb4197 = yyj4197 > l
	} else {
		yyb4197 = r.CheckBreak()
	}
	if yyb4197 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Used = nil
	} else {
		yyv4199 := &x.Used
		yyv4199.CodecDecodeSelf(d)
	}
	for {
		yyj4197++
		if yyhl4197 {
			yyb4197 = yyj4197 > l
		} else {
			yyb4197 = r.CheckBreak()
		}
		if yyb4197 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4197-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 {
		yym4200 := z.EncBinary()
		_ = yym4200
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4201 := !z.EncBinary()
			yy2arr4201 := z.EncBasicHandle().StructToArray
			var yyq4201 [5]bool
			_, _, _ = yysep4201, yyq4201, yy2arr4201
			const yyr4201 bool = false
			yyq4201[0] = x.Kind != ""
			yyq4201[1] = x.APIVersion != ""
			yyq4201[2] = true
			yyq4201[3] = true
			yyq4201[4] = true
			var yynn4201 int
			if yyr4201 || yy2arr4201 {
				r.EncodeArrayStart(5)
			} else {
				yynn4201 = 0
				for _, b := range yyq4201 {
					if b {
						yynn4201++
					}
				}
				r.EncodeMapStart(yynn4201)
				yynn4201 = 0
			}
			if yyr4201 || yy2arr4201 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4201[0] {
					yym4203 := z.EncBinary()
					_ = yym4203
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4201[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4204 := z.EncBinary()
					_ = yym4204
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4201 || yy2arr4201 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4201[1] {
					yym4206 := z.EncBinary()
					_ = yym4206
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4201[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4207 := z.EncBinary()
					_ = yym4207
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4201 || yy2arr4201 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4201[2] {
					yy4209 := &x.ObjectMeta
					yy4209.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4201[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4210 := &x.ObjectMeta
					yy4210.CodecEncodeSelf(e)
				}
			}
			if yyr4201 || yy2arr4201 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4201[3] {
					yy4212 := &x.Spec
					yy4212.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4201[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4213 := &x.Spec
					yy4213.CodecEncodeSelf(e)
				}
			}
			if yyr4201 || yy2arr4201 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4201[4] {
					yy4215 := &x.Status
					yy4215.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4201[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4216 := &x.Status
					yy4216.CodecEncodeSelf(e)
				}
			}
			if yyr4201 || yy2arr4201 {
				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
	yym4217 := z.DecBinary()
	_ = yym4217
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4218 := r.ContainerType()
		if yyct4218 == codecSelferValueTypeMap1234 {
			yyl4218 := r.ReadMapStart()
			if yyl4218 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4218, d)
			}
		} else if yyct4218 == codecSelferValueTypeArray1234 {
			yyl4218 := r.ReadArrayStart()
			if yyl4218 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4218, 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 yys4219Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4219Slc
	var yyhl4219 bool = l >= 0
	for yyj4219 := 0; ; yyj4219++ {
		if yyhl4219 {
			if yyj4219 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4219Slc = r.DecodeBytes(yys4219Slc, true, true)
		yys4219 := string(yys4219Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4219 {
		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 {
				yyv4222 := &x.ObjectMeta
				yyv4222.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = ResourceQuotaSpec{}
			} else {
				yyv4223 := &x.Spec
				yyv4223.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ResourceQuotaStatus{}
			} else {
				yyv4224 := &x.Status
				yyv4224.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys4219)
		} // end switch yys4219
	} // end for yyj4219
	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 yyj4225 int
	var yyb4225 bool
	var yyhl4225 bool = l >= 0
	yyj4225++
	if yyhl4225 {
		yyb4225 = yyj4225 > l
	} else {
		yyb4225 = r.CheckBreak()
	}
	if yyb4225 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4225++
	if yyhl4225 {
		yyb4225 = yyj4225 > l
	} else {
		yyb4225 = r.CheckBreak()
	}
	if yyb4225 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4225++
	if yyhl4225 {
		yyb4225 = yyj4225 > l
	} else {
		yyb4225 = r.CheckBreak()
	}
	if yyb4225 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv4228 := &x.ObjectMeta
		yyv4228.CodecDecodeSelf(d)
	}
	yyj4225++
	if yyhl4225 {
		yyb4225 = yyj4225 > l
	} else {
		yyb4225 = r.CheckBreak()
	}
	if yyb4225 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = ResourceQuotaSpec{}
	} else {
		yyv4229 := &x.Spec
		yyv4229.CodecDecodeSelf(d)
	}
	yyj4225++
	if yyhl4225 {
		yyb4225 = yyj4225 > l
	} else {
		yyb4225 = r.CheckBreak()
	}
	if yyb4225 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ResourceQuotaStatus{}
	} else {
		yyv4230 := &x.Status
		yyv4230.CodecDecodeSelf(d)
	}
	for {
		yyj4225++
		if yyhl4225 {
			yyb4225 = yyj4225 > l
		} else {
			yyb4225 = r.CheckBreak()
		}
		if yyb4225 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4225-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 {
		yym4231 := z.EncBinary()
		_ = yym4231
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4232 := !z.EncBinary()
			yy2arr4232 := z.EncBasicHandle().StructToArray
			var yyq4232 [4]bool
			_, _, _ = yysep4232, yyq4232, yy2arr4232
			const yyr4232 bool = false
			yyq4232[0] = x.Kind != ""
			yyq4232[1] = x.APIVersion != ""
			yyq4232[2] = true
			var yynn4232 int
			if yyr4232 || yy2arr4232 {
				r.EncodeArrayStart(4)
			} else {
				yynn4232 = 1
				for _, b := range yyq4232 {
					if b {
						yynn4232++
					}
				}
				r.EncodeMapStart(yynn4232)
				yynn4232 = 0
			}
			if yyr4232 || yy2arr4232 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4232[0] {
					yym4234 := z.EncBinary()
					_ = yym4234
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4232[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4235 := z.EncBinary()
					_ = yym4235
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4232 || yy2arr4232 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4232[1] {
					yym4237 := z.EncBinary()
					_ = yym4237
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4232[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4238 := z.EncBinary()
					_ = yym4238
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4232 || yy2arr4232 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4232[2] {
					yy4240 := &x.ListMeta
					yym4241 := z.EncBinary()
					_ = yym4241
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4240) {
					} else {
						z.EncFallback(yy4240)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4232[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4242 := &x.ListMeta
					yym4243 := z.EncBinary()
					_ = yym4243
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4242) {
					} else {
						z.EncFallback(yy4242)
					}
				}
			}
			if yyr4232 || yy2arr4232 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4245 := z.EncBinary()
					_ = yym4245
					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 {
					yym4246 := z.EncBinary()
					_ = yym4246
					if false {
					} else {
						h.encSliceResourceQuota(([]ResourceQuota)(x.Items), e)
					}
				}
			}
			if yyr4232 || yy2arr4232 {
				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
	yym4247 := z.DecBinary()
	_ = yym4247
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4248 := r.ContainerType()
		if yyct4248 == codecSelferValueTypeMap1234 {
			yyl4248 := r.ReadMapStart()
			if yyl4248 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4248, d)
			}
		} else if yyct4248 == codecSelferValueTypeArray1234 {
			yyl4248 := r.ReadArrayStart()
			if yyl4248 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4248, 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 yys4249Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4249Slc
	var yyhl4249 bool = l >= 0
	for yyj4249 := 0; ; yyj4249++ {
		if yyhl4249 {
			if yyj4249 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4249Slc = r.DecodeBytes(yys4249Slc, true, true)
		yys4249 := string(yys4249Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4249 {
		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_unversioned.ListMeta{}
			} else {
				yyv4252 := &x.ListMeta
				yym4253 := z.DecBinary()
				_ = yym4253
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4252) {
				} else {
					z.DecFallback(yyv4252, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv4254 := &x.Items
				yym4255 := z.DecBinary()
				_ = yym4255
				if false {
				} else {
					h.decSliceResourceQuota((*[]ResourceQuota)(yyv4254), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4249)
		} // end switch yys4249
	} // end for yyj4249
	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 yyj4256 int
	var yyb4256 bool
	var yyhl4256 bool = l >= 0
	yyj4256++
	if yyhl4256 {
		yyb4256 = yyj4256 > l
	} else {
		yyb4256 = r.CheckBreak()
	}
	if yyb4256 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4256++
	if yyhl4256 {
		yyb4256 = yyj4256 > l
	} else {
		yyb4256 = r.CheckBreak()
	}
	if yyb4256 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4256++
	if yyhl4256 {
		yyb4256 = yyj4256 > l
	} else {
		yyb4256 = r.CheckBreak()
	}
	if yyb4256 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv4259 := &x.ListMeta
		yym4260 := z.DecBinary()
		_ = yym4260
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4259) {
		} else {
			z.DecFallback(yyv4259, false)
		}
	}
	yyj4256++
	if yyhl4256 {
		yyb4256 = yyj4256 > l
	} else {
		yyb4256 = r.CheckBreak()
	}
	if yyb4256 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv4261 := &x.Items
		yym4262 := z.DecBinary()
		_ = yym4262
		if false {
		} else {
			h.decSliceResourceQuota((*[]ResourceQuota)(yyv4261), d)
		}
	}
	for {
		yyj4256++
		if yyhl4256 {
			yyb4256 = yyj4256 > l
		} else {
			yyb4256 = r.CheckBreak()
		}
		if yyb4256 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4256-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 {
		yym4263 := z.EncBinary()
		_ = yym4263
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4264 := !z.EncBinary()
			yy2arr4264 := z.EncBasicHandle().StructToArray
			var yyq4264 [5]bool
			_, _, _ = yysep4264, yyq4264, yy2arr4264
			const yyr4264 bool = false
			yyq4264[0] = x.Kind != ""
			yyq4264[1] = x.APIVersion != ""
			yyq4264[2] = true
			yyq4264[3] = len(x.Data) != 0
			yyq4264[4] = x.Type != ""
			var yynn4264 int
			if yyr4264 || yy2arr4264 {
				r.EncodeArrayStart(5)
			} else {
				yynn4264 = 0
				for _, b := range yyq4264 {
					if b {
						yynn4264++
					}
				}
				r.EncodeMapStart(yynn4264)
				yynn4264 = 0
			}
			if yyr4264 || yy2arr4264 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4264[0] {
					yym4266 := z.EncBinary()
					_ = yym4266
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4264[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4267 := z.EncBinary()
					_ = yym4267
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4264 || yy2arr4264 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4264[1] {
					yym4269 := z.EncBinary()
					_ = yym4269
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4264[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4270 := z.EncBinary()
					_ = yym4270
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4264 || yy2arr4264 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4264[2] {
					yy4272 := &x.ObjectMeta
					yy4272.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4264[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4273 := &x.ObjectMeta
					yy4273.CodecEncodeSelf(e)
				}
			}
			if yyr4264 || yy2arr4264 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4264[3] {
					if x.Data == nil {
						r.EncodeNil()
					} else {
						yym4275 := z.EncBinary()
						_ = yym4275
						if false {
						} else {
							h.encMapstringSliceuint8((map[string][]uint8)(x.Data), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4264[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("data"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Data == nil {
						r.EncodeNil()
					} else {
						yym4276 := z.EncBinary()
						_ = yym4276
						if false {
						} else {
							h.encMapstringSliceuint8((map[string][]uint8)(x.Data), e)
						}
					}
				}
			}
			if yyr4264 || yy2arr4264 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4264[4] {
					x.Type.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4264[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Type.CodecEncodeSelf(e)
				}
			}
			if yyr4264 || yy2arr4264 {
				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
	yym4278 := z.DecBinary()
	_ = yym4278
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4279 := r.ContainerType()
		if yyct4279 == codecSelferValueTypeMap1234 {
			yyl4279 := r.ReadMapStart()
			if yyl4279 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4279, d)
			}
		} else if yyct4279 == codecSelferValueTypeArray1234 {
			yyl4279 := r.ReadArrayStart()
			if yyl4279 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4279, 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 yys4280Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4280Slc
	var yyhl4280 bool = l >= 0
	for yyj4280 := 0; ; yyj4280++ {
		if yyhl4280 {
			if yyj4280 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4280Slc = r.DecodeBytes(yys4280Slc, true, true)
		yys4280 := string(yys4280Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4280 {
		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 {
				yyv4283 := &x.ObjectMeta
				yyv4283.CodecDecodeSelf(d)
			}
		case "data":
			if r.TryDecodeAsNil() {
				x.Data = nil
			} else {
				yyv4284 := &x.Data
				yym4285 := z.DecBinary()
				_ = yym4285
				if false {
				} else {
					h.decMapstringSliceuint8((*map[string][]uint8)(yyv4284), d)
				}
			}
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = SecretType(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys4280)
		} // end switch yys4280
	} // end for yyj4280
	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 yyj4287 int
	var yyb4287 bool
	var yyhl4287 bool = l >= 0
	yyj4287++
	if yyhl4287 {
		yyb4287 = yyj4287 > l
	} else {
		yyb4287 = r.CheckBreak()
	}
	if yyb4287 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4287++
	if yyhl4287 {
		yyb4287 = yyj4287 > l
	} else {
		yyb4287 = r.CheckBreak()
	}
	if yyb4287 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4287++
	if yyhl4287 {
		yyb4287 = yyj4287 > l
	} else {
		yyb4287 = r.CheckBreak()
	}
	if yyb4287 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv4290 := &x.ObjectMeta
		yyv4290.CodecDecodeSelf(d)
	}
	yyj4287++
	if yyhl4287 {
		yyb4287 = yyj4287 > l
	} else {
		yyb4287 = r.CheckBreak()
	}
	if yyb4287 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Data = nil
	} else {
		yyv4291 := &x.Data
		yym4292 := z.DecBinary()
		_ = yym4292
		if false {
		} else {
			h.decMapstringSliceuint8((*map[string][]uint8)(yyv4291), d)
		}
	}
	yyj4287++
	if yyhl4287 {
		yyb4287 = yyj4287 > l
	} else {
		yyb4287 = r.CheckBreak()
	}
	if yyb4287 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = SecretType(r.DecodeString())
	}
	for {
		yyj4287++
		if yyhl4287 {
			yyb4287 = yyj4287 > l
		} else {
			yyb4287 = r.CheckBreak()
		}
		if yyb4287 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4287-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x SecretType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym4294 := z.EncBinary()
	_ = yym4294
	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
	yym4295 := z.DecBinary()
	_ = yym4295
	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 {
		yym4296 := z.EncBinary()
		_ = yym4296
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4297 := !z.EncBinary()
			yy2arr4297 := z.EncBasicHandle().StructToArray
			var yyq4297 [4]bool
			_, _, _ = yysep4297, yyq4297, yy2arr4297
			const yyr4297 bool = false
			yyq4297[0] = x.Kind != ""
			yyq4297[1] = x.APIVersion != ""
			yyq4297[2] = true
			var yynn4297 int
			if yyr4297 || yy2arr4297 {
				r.EncodeArrayStart(4)
			} else {
				yynn4297 = 1
				for _, b := range yyq4297 {
					if b {
						yynn4297++
					}
				}
				r.EncodeMapStart(yynn4297)
				yynn4297 = 0
			}
			if yyr4297 || yy2arr4297 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4297[0] {
					yym4299 := z.EncBinary()
					_ = yym4299
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4297[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4300 := z.EncBinary()
					_ = yym4300
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4297 || yy2arr4297 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4297[1] {
					yym4302 := z.EncBinary()
					_ = yym4302
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4297[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4303 := z.EncBinary()
					_ = yym4303
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4297 || yy2arr4297 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4297[2] {
					yy4305 := &x.ListMeta
					yym4306 := z.EncBinary()
					_ = yym4306
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4305) {
					} else {
						z.EncFallback(yy4305)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4297[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4307 := &x.ListMeta
					yym4308 := z.EncBinary()
					_ = yym4308
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4307) {
					} else {
						z.EncFallback(yy4307)
					}
				}
			}
			if yyr4297 || yy2arr4297 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4310 := z.EncBinary()
					_ = yym4310
					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 {
					yym4311 := z.EncBinary()
					_ = yym4311
					if false {
					} else {
						h.encSliceSecret(([]Secret)(x.Items), e)
					}
				}
			}
			if yyr4297 || yy2arr4297 {
				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
	yym4312 := z.DecBinary()
	_ = yym4312
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4313 := r.ContainerType()
		if yyct4313 == codecSelferValueTypeMap1234 {
			yyl4313 := r.ReadMapStart()
			if yyl4313 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4313, d)
			}
		} else if yyct4313 == codecSelferValueTypeArray1234 {
			yyl4313 := r.ReadArrayStart()
			if yyl4313 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4313, 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 yys4314Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4314Slc
	var yyhl4314 bool = l >= 0
	for yyj4314 := 0; ; yyj4314++ {
		if yyhl4314 {
			if yyj4314 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4314Slc = r.DecodeBytes(yys4314Slc, true, true)
		yys4314 := string(yys4314Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4314 {
		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_unversioned.ListMeta{}
			} else {
				yyv4317 := &x.ListMeta
				yym4318 := z.DecBinary()
				_ = yym4318
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4317) {
				} else {
					z.DecFallback(yyv4317, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv4319 := &x.Items
				yym4320 := z.DecBinary()
				_ = yym4320
				if false {
				} else {
					h.decSliceSecret((*[]Secret)(yyv4319), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4314)
		} // end switch yys4314
	} // end for yyj4314
	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 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.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv4324 := &x.ListMeta
		yym4325 := z.DecBinary()
		_ = yym4325
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4324) {
		} else {
			z.DecFallback(yyv4324, false)
		}
	}
	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.Items = nil
	} else {
		yyv4326 := &x.Items
		yym4327 := z.DecBinary()
		_ = yym4327
		if false {
		} else {
			h.decSliceSecret((*[]Secret)(yyv4326), 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 *ConfigMap) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4328 := z.EncBinary()
		_ = yym4328
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4329 := !z.EncBinary()
			yy2arr4329 := z.EncBasicHandle().StructToArray
			var yyq4329 [4]bool
			_, _, _ = yysep4329, yyq4329, yy2arr4329
			const yyr4329 bool = false
			yyq4329[0] = x.Kind != ""
			yyq4329[1] = x.APIVersion != ""
			yyq4329[2] = true
			yyq4329[3] = len(x.Data) != 0
			var yynn4329 int
			if yyr4329 || yy2arr4329 {
				r.EncodeArrayStart(4)
			} else {
				yynn4329 = 0
				for _, b := range yyq4329 {
					if b {
						yynn4329++
					}
				}
				r.EncodeMapStart(yynn4329)
				yynn4329 = 0
			}
			if yyr4329 || yy2arr4329 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4329[0] {
					yym4331 := z.EncBinary()
					_ = yym4331
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4329[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4332 := z.EncBinary()
					_ = yym4332
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4329 || yy2arr4329 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4329[1] {
					yym4334 := z.EncBinary()
					_ = yym4334
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4329[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4335 := z.EncBinary()
					_ = yym4335
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4329 || yy2arr4329 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4329[2] {
					yy4337 := &x.ObjectMeta
					yy4337.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4329[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4338 := &x.ObjectMeta
					yy4338.CodecEncodeSelf(e)
				}
			}
			if yyr4329 || yy2arr4329 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4329[3] {
					if x.Data == nil {
						r.EncodeNil()
					} else {
						yym4340 := z.EncBinary()
						_ = yym4340
						if false {
						} else {
							z.F.EncMapStringStringV(x.Data, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4329[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("data"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Data == nil {
						r.EncodeNil()
					} else {
						yym4341 := z.EncBinary()
						_ = yym4341
						if false {
						} else {
							z.F.EncMapStringStringV(x.Data, false, e)
						}
					}
				}
			}
			if yyr4329 || yy2arr4329 {
				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
	yym4342 := z.DecBinary()
	_ = yym4342
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4343 := r.ContainerType()
		if yyct4343 == codecSelferValueTypeMap1234 {
			yyl4343 := r.ReadMapStart()
			if yyl4343 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4343, d)
			}
		} else if yyct4343 == codecSelferValueTypeArray1234 {
			yyl4343 := r.ReadArrayStart()
			if yyl4343 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4343, 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 yys4344Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4344Slc
	var yyhl4344 bool = l >= 0
	for yyj4344 := 0; ; yyj4344++ {
		if yyhl4344 {
			if yyj4344 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4344Slc = r.DecodeBytes(yys4344Slc, true, true)
		yys4344 := string(yys4344Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4344 {
		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 {
				yyv4347 := &x.ObjectMeta
				yyv4347.CodecDecodeSelf(d)
			}
		case "data":
			if r.TryDecodeAsNil() {
				x.Data = nil
			} else {
				yyv4348 := &x.Data
				yym4349 := z.DecBinary()
				_ = yym4349
				if false {
				} else {
					z.F.DecMapStringStringX(yyv4348, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4344)
		} // end switch yys4344
	} // end for yyj4344
	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 yyj4350 int
	var yyb4350 bool
	var yyhl4350 bool = l >= 0
	yyj4350++
	if yyhl4350 {
		yyb4350 = yyj4350 > l
	} else {
		yyb4350 = r.CheckBreak()
	}
	if yyb4350 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4350++
	if yyhl4350 {
		yyb4350 = yyj4350 > l
	} else {
		yyb4350 = r.CheckBreak()
	}
	if yyb4350 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4350++
	if yyhl4350 {
		yyb4350 = yyj4350 > l
	} else {
		yyb4350 = r.CheckBreak()
	}
	if yyb4350 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv4353 := &x.ObjectMeta
		yyv4353.CodecDecodeSelf(d)
	}
	yyj4350++
	if yyhl4350 {
		yyb4350 = yyj4350 > l
	} else {
		yyb4350 = r.CheckBreak()
	}
	if yyb4350 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Data = nil
	} else {
		yyv4354 := &x.Data
		yym4355 := z.DecBinary()
		_ = yym4355
		if false {
		} else {
			z.F.DecMapStringStringX(yyv4354, false, d)
		}
	}
	for {
		yyj4350++
		if yyhl4350 {
			yyb4350 = yyj4350 > l
		} else {
			yyb4350 = r.CheckBreak()
		}
		if yyb4350 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4350-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 {
		yym4356 := z.EncBinary()
		_ = yym4356
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4357 := !z.EncBinary()
			yy2arr4357 := z.EncBasicHandle().StructToArray
			var yyq4357 [4]bool
			_, _, _ = yysep4357, yyq4357, yy2arr4357
			const yyr4357 bool = false
			yyq4357[0] = x.Kind != ""
			yyq4357[1] = x.APIVersion != ""
			yyq4357[2] = true
			var yynn4357 int
			if yyr4357 || yy2arr4357 {
				r.EncodeArrayStart(4)
			} else {
				yynn4357 = 1
				for _, b := range yyq4357 {
					if b {
						yynn4357++
					}
				}
				r.EncodeMapStart(yynn4357)
				yynn4357 = 0
			}
			if yyr4357 || yy2arr4357 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4357[0] {
					yym4359 := z.EncBinary()
					_ = yym4359
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4357[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4360 := z.EncBinary()
					_ = yym4360
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4357 || yy2arr4357 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4357[1] {
					yym4362 := z.EncBinary()
					_ = yym4362
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4357[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4363 := z.EncBinary()
					_ = yym4363
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4357 || yy2arr4357 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4357[2] {
					yy4365 := &x.ListMeta
					yym4366 := z.EncBinary()
					_ = yym4366
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4365) {
					} else {
						z.EncFallback(yy4365)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4357[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4367 := &x.ListMeta
					yym4368 := z.EncBinary()
					_ = yym4368
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4367) {
					} else {
						z.EncFallback(yy4367)
					}
				}
			}
			if yyr4357 || yy2arr4357 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4370 := z.EncBinary()
					_ = yym4370
					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 {
					yym4371 := z.EncBinary()
					_ = yym4371
					if false {
					} else {
						h.encSliceConfigMap(([]ConfigMap)(x.Items), e)
					}
				}
			}
			if yyr4357 || yy2arr4357 {
				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
	yym4372 := z.DecBinary()
	_ = yym4372
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4373 := r.ContainerType()
		if yyct4373 == codecSelferValueTypeMap1234 {
			yyl4373 := r.ReadMapStart()
			if yyl4373 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4373, d)
			}
		} else if yyct4373 == codecSelferValueTypeArray1234 {
			yyl4373 := r.ReadArrayStart()
			if yyl4373 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4373, 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 yys4374Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4374Slc
	var yyhl4374 bool = l >= 0
	for yyj4374 := 0; ; yyj4374++ {
		if yyhl4374 {
			if yyj4374 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4374Slc = r.DecodeBytes(yys4374Slc, true, true)
		yys4374 := string(yys4374Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4374 {
		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_unversioned.ListMeta{}
			} else {
				yyv4377 := &x.ListMeta
				yym4378 := z.DecBinary()
				_ = yym4378
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4377) {
				} else {
					z.DecFallback(yyv4377, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv4379 := &x.Items
				yym4380 := z.DecBinary()
				_ = yym4380
				if false {
				} else {
					h.decSliceConfigMap((*[]ConfigMap)(yyv4379), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4374)
		} // end switch yys4374
	} // end for yyj4374
	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 yyj4381 int
	var yyb4381 bool
	var yyhl4381 bool = l >= 0
	yyj4381++
	if yyhl4381 {
		yyb4381 = yyj4381 > l
	} else {
		yyb4381 = r.CheckBreak()
	}
	if yyb4381 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4381++
	if yyhl4381 {
		yyb4381 = yyj4381 > l
	} else {
		yyb4381 = r.CheckBreak()
	}
	if yyb4381 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4381++
	if yyhl4381 {
		yyb4381 = yyj4381 > l
	} else {
		yyb4381 = r.CheckBreak()
	}
	if yyb4381 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv4384 := &x.ListMeta
		yym4385 := z.DecBinary()
		_ = yym4385
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4384) {
		} else {
			z.DecFallback(yyv4384, false)
		}
	}
	yyj4381++
	if yyhl4381 {
		yyb4381 = yyj4381 > l
	} else {
		yyb4381 = r.CheckBreak()
	}
	if yyb4381 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv4386 := &x.Items
		yym4387 := z.DecBinary()
		_ = yym4387
		if false {
		} else {
			h.decSliceConfigMap((*[]ConfigMap)(yyv4386), d)
		}
	}
	for {
		yyj4381++
		if yyhl4381 {
			yyb4381 = yyj4381 > l
		} else {
			yyb4381 = r.CheckBreak()
		}
		if yyb4381 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4381-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PatchType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym4388 := z.EncBinary()
	_ = yym4388
	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
	yym4389 := z.DecBinary()
	_ = yym4389
	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
	yym4390 := z.EncBinary()
	_ = yym4390
	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
	yym4391 := z.DecBinary()
	_ = yym4391
	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 {
		yym4392 := z.EncBinary()
		_ = yym4392
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4393 := !z.EncBinary()
			yy2arr4393 := z.EncBasicHandle().StructToArray
			var yyq4393 [4]bool
			_, _, _ = yysep4393, yyq4393, yy2arr4393
			const yyr4393 bool = false
			yyq4393[2] = x.Message != ""
			yyq4393[3] = x.Error != ""
			var yynn4393 int
			if yyr4393 || yy2arr4393 {
				r.EncodeArrayStart(4)
			} else {
				yynn4393 = 2
				for _, b := range yyq4393 {
					if b {
						yynn4393++
					}
				}
				r.EncodeMapStart(yynn4393)
				yynn4393 = 0
			}
			if yyr4393 || yy2arr4393 {
				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 yyr4393 || yy2arr4393 {
				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 yyr4393 || yy2arr4393 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4393[2] {
					yym4397 := z.EncBinary()
					_ = yym4397
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4393[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4398 := z.EncBinary()
					_ = yym4398
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr4393 || yy2arr4393 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4393[3] {
					yym4400 := z.EncBinary()
					_ = yym4400
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Error))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4393[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("error"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4401 := z.EncBinary()
					_ = yym4401
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Error))
					}
				}
			}
			if yyr4393 || yy2arr4393 {
				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
	yym4402 := z.DecBinary()
	_ = yym4402
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4403 := r.ContainerType()
		if yyct4403 == codecSelferValueTypeMap1234 {
			yyl4403 := r.ReadMapStart()
			if yyl4403 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4403, d)
			}
		} else if yyct4403 == codecSelferValueTypeArray1234 {
			yyl4403 := r.ReadArrayStart()
			if yyl4403 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4403, 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 yys4404Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4404Slc
	var yyhl4404 bool = l >= 0
	for yyj4404 := 0; ; yyj4404++ {
		if yyhl4404 {
			if yyj4404 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4404Slc = r.DecodeBytes(yys4404Slc, true, true)
		yys4404 := string(yys4404Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4404 {
		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, yys4404)
		} // end switch yys4404
	} // end for yyj4404
	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 yyj4409 int
	var yyb4409 bool
	var yyhl4409 bool = l >= 0
	yyj4409++
	if yyhl4409 {
		yyb4409 = yyj4409 > l
	} else {
		yyb4409 = r.CheckBreak()
	}
	if yyb4409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = ComponentConditionType(r.DecodeString())
	}
	yyj4409++
	if yyhl4409 {
		yyb4409 = yyj4409 > l
	} else {
		yyb4409 = r.CheckBreak()
	}
	if yyb4409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj4409++
	if yyhl4409 {
		yyb4409 = yyj4409 > l
	} else {
		yyb4409 = r.CheckBreak()
	}
	if yyb4409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj4409++
	if yyhl4409 {
		yyb4409 = yyj4409 > l
	} else {
		yyb4409 = r.CheckBreak()
	}
	if yyb4409 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Error = ""
	} else {
		x.Error = string(r.DecodeString())
	}
	for {
		yyj4409++
		if yyhl4409 {
			yyb4409 = yyj4409 > l
		} else {
			yyb4409 = r.CheckBreak()
		}
		if yyb4409 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4409-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 {
		yym4414 := z.EncBinary()
		_ = yym4414
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4415 := !z.EncBinary()
			yy2arr4415 := z.EncBasicHandle().StructToArray
			var yyq4415 [4]bool
			_, _, _ = yysep4415, yyq4415, yy2arr4415
			const yyr4415 bool = false
			yyq4415[0] = x.Kind != ""
			yyq4415[1] = x.APIVersion != ""
			yyq4415[2] = true
			yyq4415[3] = len(x.Conditions) != 0
			var yynn4415 int
			if yyr4415 || yy2arr4415 {
				r.EncodeArrayStart(4)
			} else {
				yynn4415 = 0
				for _, b := range yyq4415 {
					if b {
						yynn4415++
					}
				}
				r.EncodeMapStart(yynn4415)
				yynn4415 = 0
			}
			if yyr4415 || yy2arr4415 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4415[0] {
					yym4417 := z.EncBinary()
					_ = yym4417
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4415[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4418 := z.EncBinary()
					_ = yym4418
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4415 || yy2arr4415 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4415[1] {
					yym4420 := z.EncBinary()
					_ = yym4420
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4415[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4421 := z.EncBinary()
					_ = yym4421
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4415 || yy2arr4415 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4415[2] {
					yy4423 := &x.ObjectMeta
					yy4423.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4415[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4424 := &x.ObjectMeta
					yy4424.CodecEncodeSelf(e)
				}
			}
			if yyr4415 || yy2arr4415 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4415[3] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym4426 := z.EncBinary()
						_ = yym4426
						if false {
						} else {
							h.encSliceComponentCondition(([]ComponentCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4415[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym4427 := z.EncBinary()
						_ = yym4427
						if false {
						} else {
							h.encSliceComponentCondition(([]ComponentCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr4415 || yy2arr4415 {
				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
	yym4428 := z.DecBinary()
	_ = yym4428
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4429 := r.ContainerType()
		if yyct4429 == codecSelferValueTypeMap1234 {
			yyl4429 := r.ReadMapStart()
			if yyl4429 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4429, d)
			}
		} else if yyct4429 == codecSelferValueTypeArray1234 {
			yyl4429 := r.ReadArrayStart()
			if yyl4429 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4429, 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 yys4430Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4430Slc
	var yyhl4430 bool = l >= 0
	for yyj4430 := 0; ; yyj4430++ {
		if yyhl4430 {
			if yyj4430 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4430Slc = r.DecodeBytes(yys4430Slc, true, true)
		yys4430 := string(yys4430Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4430 {
		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 {
				yyv4433 := &x.ObjectMeta
				yyv4433.CodecDecodeSelf(d)
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv4434 := &x.Conditions
				yym4435 := z.DecBinary()
				_ = yym4435
				if false {
				} else {
					h.decSliceComponentCondition((*[]ComponentCondition)(yyv4434), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4430)
		} // end switch yys4430
	} // end for yyj4430
	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 yyj4436 int
	var yyb4436 bool
	var yyhl4436 bool = l >= 0
	yyj4436++
	if yyhl4436 {
		yyb4436 = yyj4436 > l
	} else {
		yyb4436 = r.CheckBreak()
	}
	if yyb4436 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4436++
	if yyhl4436 {
		yyb4436 = yyj4436 > l
	} else {
		yyb4436 = r.CheckBreak()
	}
	if yyb4436 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4436++
	if yyhl4436 {
		yyb4436 = yyj4436 > l
	} else {
		yyb4436 = r.CheckBreak()
	}
	if yyb4436 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv4439 := &x.ObjectMeta
		yyv4439.CodecDecodeSelf(d)
	}
	yyj4436++
	if yyhl4436 {
		yyb4436 = yyj4436 > l
	} else {
		yyb4436 = r.CheckBreak()
	}
	if yyb4436 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv4440 := &x.Conditions
		yym4441 := z.DecBinary()
		_ = yym4441
		if false {
		} else {
			h.decSliceComponentCondition((*[]ComponentCondition)(yyv4440), d)
		}
	}
	for {
		yyj4436++
		if yyhl4436 {
			yyb4436 = yyj4436 > l
		} else {
			yyb4436 = r.CheckBreak()
		}
		if yyb4436 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4436-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 {
		yym4442 := z.EncBinary()
		_ = yym4442
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4443 := !z.EncBinary()
			yy2arr4443 := z.EncBasicHandle().StructToArray
			var yyq4443 [4]bool
			_, _, _ = yysep4443, yyq4443, yy2arr4443
			const yyr4443 bool = false
			yyq4443[0] = x.Kind != ""
			yyq4443[1] = x.APIVersion != ""
			yyq4443[2] = true
			var yynn4443 int
			if yyr4443 || yy2arr4443 {
				r.EncodeArrayStart(4)
			} else {
				yynn4443 = 1
				for _, b := range yyq4443 {
					if b {
						yynn4443++
					}
				}
				r.EncodeMapStart(yynn4443)
				yynn4443 = 0
			}
			if yyr4443 || yy2arr4443 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4443[0] {
					yym4445 := z.EncBinary()
					_ = yym4445
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4443[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4446 := z.EncBinary()
					_ = yym4446
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4443 || yy2arr4443 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4443[1] {
					yym4448 := z.EncBinary()
					_ = yym4448
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4443[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4449 := z.EncBinary()
					_ = yym4449
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4443 || yy2arr4443 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4443[2] {
					yy4451 := &x.ListMeta
					yym4452 := z.EncBinary()
					_ = yym4452
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4451) {
					} else {
						z.EncFallback(yy4451)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4443[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4453 := &x.ListMeta
					yym4454 := z.EncBinary()
					_ = yym4454
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4453) {
					} else {
						z.EncFallback(yy4453)
					}
				}
			}
			if yyr4443 || yy2arr4443 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4456 := z.EncBinary()
					_ = yym4456
					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 {
					yym4457 := z.EncBinary()
					_ = yym4457
					if false {
					} else {
						h.encSliceComponentStatus(([]ComponentStatus)(x.Items), e)
					}
				}
			}
			if yyr4443 || yy2arr4443 {
				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
	yym4458 := z.DecBinary()
	_ = yym4458
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4459 := r.ContainerType()
		if yyct4459 == codecSelferValueTypeMap1234 {
			yyl4459 := r.ReadMapStart()
			if yyl4459 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4459, d)
			}
		} else if yyct4459 == codecSelferValueTypeArray1234 {
			yyl4459 := r.ReadArrayStart()
			if yyl4459 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4459, 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 yys4460Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4460Slc
	var yyhl4460 bool = l >= 0
	for yyj4460 := 0; ; yyj4460++ {
		if yyhl4460 {
			if yyj4460 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4460Slc = r.DecodeBytes(yys4460Slc, true, true)
		yys4460 := string(yys4460Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4460 {
		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_unversioned.ListMeta{}
			} else {
				yyv4463 := &x.ListMeta
				yym4464 := z.DecBinary()
				_ = yym4464
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4463) {
				} else {
					z.DecFallback(yyv4463, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv4465 := &x.Items
				yym4466 := z.DecBinary()
				_ = yym4466
				if false {
				} else {
					h.decSliceComponentStatus((*[]ComponentStatus)(yyv4465), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4460)
		} // end switch yys4460
	} // end for yyj4460
	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 yyj4467 int
	var yyb4467 bool
	var yyhl4467 bool = l >= 0
	yyj4467++
	if yyhl4467 {
		yyb4467 = yyj4467 > l
	} else {
		yyb4467 = r.CheckBreak()
	}
	if yyb4467 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4467++
	if yyhl4467 {
		yyb4467 = yyj4467 > l
	} else {
		yyb4467 = r.CheckBreak()
	}
	if yyb4467 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4467++
	if yyhl4467 {
		yyb4467 = yyj4467 > l
	} else {
		yyb4467 = r.CheckBreak()
	}
	if yyb4467 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv4470 := &x.ListMeta
		yym4471 := z.DecBinary()
		_ = yym4471
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4470) {
		} else {
			z.DecFallback(yyv4470, false)
		}
	}
	yyj4467++
	if yyhl4467 {
		yyb4467 = yyj4467 > l
	} else {
		yyb4467 = r.CheckBreak()
	}
	if yyb4467 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv4472 := &x.Items
		yym4473 := z.DecBinary()
		_ = yym4473
		if false {
		} else {
			h.decSliceComponentStatus((*[]ComponentStatus)(yyv4472), d)
		}
	}
	for {
		yyj4467++
		if yyhl4467 {
			yyb4467 = yyj4467 > l
		} else {
			yyb4467 = r.CheckBreak()
		}
		if yyb4467 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4467-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 {
		yym4474 := z.EncBinary()
		_ = yym4474
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4475 := !z.EncBinary()
			yy2arr4475 := z.EncBasicHandle().StructToArray
			var yyq4475 [6]bool
			_, _, _ = yysep4475, yyq4475, yy2arr4475
			const yyr4475 bool = false
			yyq4475[0] = x.Capabilities != nil
			yyq4475[1] = x.Privileged != nil
			yyq4475[2] = x.SELinuxOptions != nil
			yyq4475[3] = x.RunAsUser != nil
			yyq4475[4] = x.RunAsNonRoot != nil
			yyq4475[5] = x.ReadOnlyRootFilesystem != nil
			var yynn4475 int
			if yyr4475 || yy2arr4475 {
				r.EncodeArrayStart(6)
			} else {
				yynn4475 = 0
				for _, b := range yyq4475 {
					if b {
						yynn4475++
					}
				}
				r.EncodeMapStart(yynn4475)
				yynn4475 = 0
			}
			if yyr4475 || yy2arr4475 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4475[0] {
					if x.Capabilities == nil {
						r.EncodeNil()
					} else {
						x.Capabilities.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4475[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 yyr4475 || yy2arr4475 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4475[1] {
					if x.Privileged == nil {
						r.EncodeNil()
					} else {
						yy4478 := *x.Privileged
						yym4479 := z.EncBinary()
						_ = yym4479
						if false {
						} else {
							r.EncodeBool(bool(yy4478))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4475[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("privileged"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Privileged == nil {
						r.EncodeNil()
					} else {
						yy4480 := *x.Privileged
						yym4481 := z.EncBinary()
						_ = yym4481
						if false {
						} else {
							r.EncodeBool(bool(yy4480))
						}
					}
				}
			}
			if yyr4475 || yy2arr4475 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4475[2] {
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4475[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 yyr4475 || yy2arr4475 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4475[3] {
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy4484 := *x.RunAsUser
						yym4485 := z.EncBinary()
						_ = yym4485
						if false {
						} else {
							r.EncodeInt(int64(yy4484))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4475[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("runAsUser"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy4486 := *x.RunAsUser
						yym4487 := z.EncBinary()
						_ = yym4487
						if false {
						} else {
							r.EncodeInt(int64(yy4486))
						}
					}
				}
			}
			if yyr4475 || yy2arr4475 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4475[4] {
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy4489 := *x.RunAsNonRoot
						yym4490 := z.EncBinary()
						_ = yym4490
						if false {
						} else {
							r.EncodeBool(bool(yy4489))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4475[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("runAsNonRoot"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy4491 := *x.RunAsNonRoot
						yym4492 := z.EncBinary()
						_ = yym4492
						if false {
						} else {
							r.EncodeBool(bool(yy4491))
						}
					}
				}
			}
			if yyr4475 || yy2arr4475 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4475[5] {
					if x.ReadOnlyRootFilesystem == nil {
						r.EncodeNil()
					} else {
						yy4494 := *x.ReadOnlyRootFilesystem
						yym4495 := z.EncBinary()
						_ = yym4495
						if false {
						} else {
							r.EncodeBool(bool(yy4494))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4475[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnlyRootFilesystem"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ReadOnlyRootFilesystem == nil {
						r.EncodeNil()
					} else {
						yy4496 := *x.ReadOnlyRootFilesystem
						yym4497 := z.EncBinary()
						_ = yym4497
						if false {
						} else {
							r.EncodeBool(bool(yy4496))
						}
					}
				}
			}
			if yyr4475 || yy2arr4475 {
				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
	yym4498 := z.DecBinary()
	_ = yym4498
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4499 := r.ContainerType()
		if yyct4499 == codecSelferValueTypeMap1234 {
			yyl4499 := r.ReadMapStart()
			if yyl4499 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4499, d)
			}
		} else if yyct4499 == codecSelferValueTypeArray1234 {
			yyl4499 := r.ReadArrayStart()
			if yyl4499 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4499, 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 yys4500Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4500Slc
	var yyhl4500 bool = l >= 0
	for yyj4500 := 0; ; yyj4500++ {
		if yyhl4500 {
			if yyj4500 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4500Slc = r.DecodeBytes(yys4500Slc, true, true)
		yys4500 := string(yys4500Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4500 {
		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)
				}
				yym4503 := z.DecBinary()
				_ = yym4503
				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)
				}
				yym4506 := z.DecBinary()
				_ = yym4506
				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)
				}
				yym4508 := z.DecBinary()
				_ = yym4508
				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)
				}
				yym4510 := z.DecBinary()
				_ = yym4510
				if false {
				} else {
					*((*bool)(x.ReadOnlyRootFilesystem)) = r.DecodeBool()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4500)
		} // end switch yys4500
	} // end for yyj4500
	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 yyj4511 int
	var yyb4511 bool
	var yyhl4511 bool = l >= 0
	yyj4511++
	if yyhl4511 {
		yyb4511 = yyj4511 > l
	} else {
		yyb4511 = r.CheckBreak()
	}
	if yyb4511 {
		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)
	}
	yyj4511++
	if yyhl4511 {
		yyb4511 = yyj4511 > l
	} else {
		yyb4511 = r.CheckBreak()
	}
	if yyb4511 {
		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)
		}
		yym4514 := z.DecBinary()
		_ = yym4514
		if false {
		} else {
			*((*bool)(x.Privileged)) = r.DecodeBool()
		}
	}
	yyj4511++
	if yyhl4511 {
		yyb4511 = yyj4511 > l
	} else {
		yyb4511 = r.CheckBreak()
	}
	if yyb4511 {
		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)
	}
	yyj4511++
	if yyhl4511 {
		yyb4511 = yyj4511 > l
	} else {
		yyb4511 = r.CheckBreak()
	}
	if yyb4511 {
		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)
		}
		yym4517 := z.DecBinary()
		_ = yym4517
		if false {
		} else {
			*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
		}
	}
	yyj4511++
	if yyhl4511 {
		yyb4511 = yyj4511 > l
	} else {
		yyb4511 = r.CheckBreak()
	}
	if yyb4511 {
		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)
		}
		yym4519 := z.DecBinary()
		_ = yym4519
		if false {
		} else {
			*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
		}
	}
	yyj4511++
	if yyhl4511 {
		yyb4511 = yyj4511 > l
	} else {
		yyb4511 = r.CheckBreak()
	}
	if yyb4511 {
		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)
		}
		yym4521 := z.DecBinary()
		_ = yym4521
		if false {
		} else {
			*((*bool)(x.ReadOnlyRootFilesystem)) = r.DecodeBool()
		}
	}
	for {
		yyj4511++
		if yyhl4511 {
			yyb4511 = yyj4511 > l
		} else {
			yyb4511 = r.CheckBreak()
		}
		if yyb4511 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4511-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 {
		yym4522 := z.EncBinary()
		_ = yym4522
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4523 := !z.EncBinary()
			yy2arr4523 := z.EncBasicHandle().StructToArray
			var yyq4523 [4]bool
			_, _, _ = yysep4523, yyq4523, yy2arr4523
			const yyr4523 bool = false
			yyq4523[0] = x.User != ""
			yyq4523[1] = x.Role != ""
			yyq4523[2] = x.Type != ""
			yyq4523[3] = x.Level != ""
			var yynn4523 int
			if yyr4523 || yy2arr4523 {
				r.EncodeArrayStart(4)
			} else {
				yynn4523 = 0
				for _, b := range yyq4523 {
					if b {
						yynn4523++
					}
				}
				r.EncodeMapStart(yynn4523)
				yynn4523 = 0
			}
			if yyr4523 || yy2arr4523 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4523[0] {
					yym4525 := z.EncBinary()
					_ = yym4525
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4523[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("user"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4526 := z.EncBinary()
					_ = yym4526
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				}
			}
			if yyr4523 || yy2arr4523 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4523[1] {
					yym4528 := z.EncBinary()
					_ = yym4528
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Role))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4523[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("role"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4529 := z.EncBinary()
					_ = yym4529
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Role))
					}
				}
			}
			if yyr4523 || yy2arr4523 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4523[2] {
					yym4531 := z.EncBinary()
					_ = yym4531
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4523[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4532 := z.EncBinary()
					_ = yym4532
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				}
			}
			if yyr4523 || yy2arr4523 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4523[3] {
					yym4534 := z.EncBinary()
					_ = yym4534
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Level))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4523[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("level"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4535 := z.EncBinary()
					_ = yym4535
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Level))
					}
				}
			}
			if yyr4523 || yy2arr4523 {
				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
	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 *SELinuxOptions) 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 "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, yys4538)
		} // end switch yys4538
	} // end for yyj4538
	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 yyj4543 int
	var yyb4543 bool
	var yyhl4543 bool = l >= 0
	yyj4543++
	if yyhl4543 {
		yyb4543 = yyj4543 > l
	} else {
		yyb4543 = r.CheckBreak()
	}
	if yyb4543 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.User = ""
	} else {
		x.User = string(r.DecodeString())
	}
	yyj4543++
	if yyhl4543 {
		yyb4543 = yyj4543 > l
	} else {
		yyb4543 = r.CheckBreak()
	}
	if yyb4543 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Role = ""
	} else {
		x.Role = string(r.DecodeString())
	}
	yyj4543++
	if yyhl4543 {
		yyb4543 = yyj4543 > l
	} else {
		yyb4543 = r.CheckBreak()
	}
	if yyb4543 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = string(r.DecodeString())
	}
	yyj4543++
	if yyhl4543 {
		yyb4543 = yyj4543 > l
	} else {
		yyb4543 = r.CheckBreak()
	}
	if yyb4543 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Level = ""
	} else {
		x.Level = string(r.DecodeString())
	}
	for {
		yyj4543++
		if yyhl4543 {
			yyb4543 = yyj4543 > l
		} else {
			yyb4543 = r.CheckBreak()
		}
		if yyb4543 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4543-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 {
		yym4548 := z.EncBinary()
		_ = yym4548
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4549 := !z.EncBinary()
			yy2arr4549 := z.EncBasicHandle().StructToArray
			var yyq4549 [5]bool
			_, _, _ = yysep4549, yyq4549, yy2arr4549
			const yyr4549 bool = false
			yyq4549[0] = x.Kind != ""
			yyq4549[1] = x.APIVersion != ""
			yyq4549[2] = true
			var yynn4549 int
			if yyr4549 || yy2arr4549 {
				r.EncodeArrayStart(5)
			} else {
				yynn4549 = 2
				for _, b := range yyq4549 {
					if b {
						yynn4549++
					}
				}
				r.EncodeMapStart(yynn4549)
				yynn4549 = 0
			}
			if yyr4549 || yy2arr4549 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4549[0] {
					yym4551 := z.EncBinary()
					_ = yym4551
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4549[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4552 := z.EncBinary()
					_ = yym4552
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4549 || yy2arr4549 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4549[1] {
					yym4554 := z.EncBinary()
					_ = yym4554
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4549[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4555 := z.EncBinary()
					_ = yym4555
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4549 || yy2arr4549 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4549[2] {
					yy4557 := &x.ObjectMeta
					yy4557.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4549[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4558 := &x.ObjectMeta
					yy4558.CodecEncodeSelf(e)
				}
			}
			if yyr4549 || yy2arr4549 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym4560 := z.EncBinary()
				_ = yym4560
				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)
				yym4561 := z.EncBinary()
				_ = yym4561
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Range))
				}
			}
			if yyr4549 || yy2arr4549 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Data == nil {
					r.EncodeNil()
				} else {
					yym4563 := z.EncBinary()
					_ = yym4563
					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 {
					yym4564 := z.EncBinary()
					_ = yym4564
					if false {
					} else {
						r.EncodeStringBytes(codecSelferC_RAW1234, []byte(x.Data))
					}
				}
			}
			if yyr4549 || yy2arr4549 {
				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
	yym4565 := z.DecBinary()
	_ = yym4565
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4566 := r.ContainerType()
		if yyct4566 == codecSelferValueTypeMap1234 {
			yyl4566 := r.ReadMapStart()
			if yyl4566 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4566, d)
			}
		} else if yyct4566 == codecSelferValueTypeArray1234 {
			yyl4566 := r.ReadArrayStart()
			if yyl4566 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4566, 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 yys4567Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4567Slc
	var yyhl4567 bool = l >= 0
	for yyj4567 := 0; ; yyj4567++ {
		if yyhl4567 {
			if yyj4567 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4567Slc = r.DecodeBytes(yys4567Slc, true, true)
		yys4567 := string(yys4567Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4567 {
		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 {
				yyv4570 := &x.ObjectMeta
				yyv4570.CodecDecodeSelf(d)
			}
		case "range":
			if r.TryDecodeAsNil() {
				x.Range = ""
			} else {
				x.Range = string(r.DecodeString())
			}
		case "data":
			if r.TryDecodeAsNil() {
				x.Data = nil
			} else {
				yyv4572 := &x.Data
				yym4573 := z.DecBinary()
				_ = yym4573
				if false {
				} else {
					*yyv4572 = r.DecodeBytes(*(*[]byte)(yyv4572), false, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4567)
		} // end switch yys4567
	} // end for yyj4567
	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 yyj4574 int
	var yyb4574 bool
	var yyhl4574 bool = l >= 0
	yyj4574++
	if yyhl4574 {
		yyb4574 = yyj4574 > l
	} else {
		yyb4574 = r.CheckBreak()
	}
	if yyb4574 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4574++
	if yyhl4574 {
		yyb4574 = yyj4574 > l
	} else {
		yyb4574 = r.CheckBreak()
	}
	if yyb4574 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4574++
	if yyhl4574 {
		yyb4574 = yyj4574 > l
	} else {
		yyb4574 = r.CheckBreak()
	}
	if yyb4574 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv4577 := &x.ObjectMeta
		yyv4577.CodecDecodeSelf(d)
	}
	yyj4574++
	if yyhl4574 {
		yyb4574 = yyj4574 > l
	} else {
		yyb4574 = r.CheckBreak()
	}
	if yyb4574 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Range = ""
	} else {
		x.Range = string(r.DecodeString())
	}
	yyj4574++
	if yyhl4574 {
		yyb4574 = yyj4574 > l
	} else {
		yyb4574 = r.CheckBreak()
	}
	if yyb4574 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Data = nil
	} else {
		yyv4579 := &x.Data
		yym4580 := z.DecBinary()
		_ = yym4580
		if false {
		} else {
			*yyv4579 = r.DecodeBytes(*(*[]byte)(yyv4579), false, false)
		}
	}
	for {
		yyj4574++
		if yyhl4574 {
			yyb4574 = yyj4574 > l
		} else {
			yyb4574 = r.CheckBreak()
		}
		if yyb4574 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4574-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

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

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

	yyv4583 := *v
	yyh4583, yyl4583 := z.DecSliceHelperStart()
	var yyc4583 bool
	if yyl4583 == 0 {
		if yyv4583 == nil {
			yyv4583 = []OwnerReference{}
			yyc4583 = true
		} else if len(yyv4583) != 0 {
			yyv4583 = yyv4583[:0]
			yyc4583 = true
		}
	} else if yyl4583 > 0 {
		var yyrr4583, yyrl4583 int
		var yyrt4583 bool
		if yyl4583 > cap(yyv4583) {

			yyrg4583 := len(yyv4583) > 0
			yyv24583 := yyv4583
			yyrl4583, yyrt4583 = z.DecInferLen(yyl4583, z.DecBasicHandle().MaxInitLen, 72)
			if yyrt4583 {
				if yyrl4583 <= cap(yyv4583) {
					yyv4583 = yyv4583[:yyrl4583]
				} else {
					yyv4583 = make([]OwnerReference, yyrl4583)
				}
			} else {
				yyv4583 = make([]OwnerReference, yyrl4583)
			}
			yyc4583 = true
			yyrr4583 = len(yyv4583)
			if yyrg4583 {
				copy(yyv4583, yyv24583)
			}
		} else if yyl4583 != len(yyv4583) {
			yyv4583 = yyv4583[:yyl4583]
			yyc4583 = true
		}
		yyj4583 := 0
		for ; yyj4583 < yyrr4583; yyj4583++ {
			yyh4583.ElemContainerState(yyj4583)
			if r.TryDecodeAsNil() {
				yyv4583[yyj4583] = OwnerReference{}
			} else {
				yyv4584 := &yyv4583[yyj4583]
				yyv4584.CodecDecodeSelf(d)
			}

		}
		if yyrt4583 {
			for ; yyj4583 < yyl4583; yyj4583++ {
				yyv4583 = append(yyv4583, OwnerReference{})
				yyh4583.ElemContainerState(yyj4583)
				if r.TryDecodeAsNil() {
					yyv4583[yyj4583] = OwnerReference{}
				} else {
					yyv4585 := &yyv4583[yyj4583]
					yyv4585.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4583 >= len(yyv4583) {
				yyv4583 = append(yyv4583, OwnerReference{}) // var yyz4583 OwnerReference
				yyc4583 = true
			}
			yyh4583.ElemContainerState(yyj4583)
			if yyj4583 < len(yyv4583) {
				if r.TryDecodeAsNil() {
					yyv4583[yyj4583] = OwnerReference{}
				} else {
					yyv4586 := &yyv4583[yyj4583]
					yyv4586.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4583 < len(yyv4583) {
			yyv4583 = yyv4583[:yyj4583]
			yyc4583 = true
		} else if yyj4583 == 0 && yyv4583 == nil {
			yyv4583 = []OwnerReference{}
			yyc4583 = true
		}
	}
	yyh4583.End()
	if yyc4583 {
		*v = yyv4583
	}
}

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 _, yyv4587 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yyv4587.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

	yyv4588 := *v
	yyh4588, yyl4588 := z.DecSliceHelperStart()
	var yyc4588 bool
	if yyl4588 == 0 {
		if yyv4588 == nil {
			yyv4588 = []PersistentVolumeAccessMode{}
			yyc4588 = true
		} else if len(yyv4588) != 0 {
			yyv4588 = yyv4588[:0]
			yyc4588 = true
		}
	} else if yyl4588 > 0 {
		var yyrr4588, yyrl4588 int
		var yyrt4588 bool
		if yyl4588 > cap(yyv4588) {

			yyrl4588, yyrt4588 = z.DecInferLen(yyl4588, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt4588 {
				if yyrl4588 <= cap(yyv4588) {
					yyv4588 = yyv4588[:yyrl4588]
				} else {
					yyv4588 = make([]PersistentVolumeAccessMode, yyrl4588)
				}
			} else {
				yyv4588 = make([]PersistentVolumeAccessMode, yyrl4588)
			}
			yyc4588 = true
			yyrr4588 = len(yyv4588)
		} else if yyl4588 != len(yyv4588) {
			yyv4588 = yyv4588[:yyl4588]
			yyc4588 = true
		}
		yyj4588 := 0
		for ; yyj4588 < yyrr4588; yyj4588++ {
			yyh4588.ElemContainerState(yyj4588)
			if r.TryDecodeAsNil() {
				yyv4588[yyj4588] = ""
			} else {
				yyv4588[yyj4588] = PersistentVolumeAccessMode(r.DecodeString())
			}

		}
		if yyrt4588 {
			for ; yyj4588 < yyl4588; yyj4588++ {
				yyv4588 = append(yyv4588, "")
				yyh4588.ElemContainerState(yyj4588)
				if r.TryDecodeAsNil() {
					yyv4588[yyj4588] = ""
				} else {
					yyv4588[yyj4588] = PersistentVolumeAccessMode(r.DecodeString())
				}

			}
		}

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

			if yyj4588 >= len(yyv4588) {
				yyv4588 = append(yyv4588, "") // var yyz4588 PersistentVolumeAccessMode
				yyc4588 = true
			}
			yyh4588.ElemContainerState(yyj4588)
			if yyj4588 < len(yyv4588) {
				if r.TryDecodeAsNil() {
					yyv4588[yyj4588] = ""
				} else {
					yyv4588[yyj4588] = PersistentVolumeAccessMode(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4588 < len(yyv4588) {
			yyv4588 = yyv4588[:yyj4588]
			yyc4588 = true
		} else if yyj4588 == 0 && yyv4588 == nil {
			yyv4588 = []PersistentVolumeAccessMode{}
			yyc4588 = true
		}
	}
	yyh4588.End()
	if yyc4588 {
		*v = yyv4588
	}
}

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 _, yyv4592 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4593 := &yyv4592
		yy4593.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

	yyv4594 := *v
	yyh4594, yyl4594 := z.DecSliceHelperStart()
	var yyc4594 bool
	if yyl4594 == 0 {
		if yyv4594 == nil {
			yyv4594 = []PersistentVolume{}
			yyc4594 = true
		} else if len(yyv4594) != 0 {
			yyv4594 = yyv4594[:0]
			yyc4594 = true
		}
	} else if yyl4594 > 0 {
		var yyrr4594, yyrl4594 int
		var yyrt4594 bool
		if yyl4594 > cap(yyv4594) {

			yyrg4594 := len(yyv4594) > 0
			yyv24594 := yyv4594
			yyrl4594, yyrt4594 = z.DecInferLen(yyl4594, z.DecBasicHandle().MaxInitLen, 488)
			if yyrt4594 {
				if yyrl4594 <= cap(yyv4594) {
					yyv4594 = yyv4594[:yyrl4594]
				} else {
					yyv4594 = make([]PersistentVolume, yyrl4594)
				}
			} else {
				yyv4594 = make([]PersistentVolume, yyrl4594)
			}
			yyc4594 = true
			yyrr4594 = len(yyv4594)
			if yyrg4594 {
				copy(yyv4594, yyv24594)
			}
		} else if yyl4594 != len(yyv4594) {
			yyv4594 = yyv4594[:yyl4594]
			yyc4594 = true
		}
		yyj4594 := 0
		for ; yyj4594 < yyrr4594; yyj4594++ {
			yyh4594.ElemContainerState(yyj4594)
			if r.TryDecodeAsNil() {
				yyv4594[yyj4594] = PersistentVolume{}
			} else {
				yyv4595 := &yyv4594[yyj4594]
				yyv4595.CodecDecodeSelf(d)
			}

		}
		if yyrt4594 {
			for ; yyj4594 < yyl4594; yyj4594++ {
				yyv4594 = append(yyv4594, PersistentVolume{})
				yyh4594.ElemContainerState(yyj4594)
				if r.TryDecodeAsNil() {
					yyv4594[yyj4594] = PersistentVolume{}
				} else {
					yyv4596 := &yyv4594[yyj4594]
					yyv4596.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4594 >= len(yyv4594) {
				yyv4594 = append(yyv4594, PersistentVolume{}) // var yyz4594 PersistentVolume
				yyc4594 = true
			}
			yyh4594.ElemContainerState(yyj4594)
			if yyj4594 < len(yyv4594) {
				if r.TryDecodeAsNil() {
					yyv4594[yyj4594] = PersistentVolume{}
				} else {
					yyv4597 := &yyv4594[yyj4594]
					yyv4597.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4594 < len(yyv4594) {
			yyv4594 = yyv4594[:yyj4594]
			yyc4594 = true
		} else if yyj4594 == 0 && yyv4594 == nil {
			yyv4594 = []PersistentVolume{}
			yyc4594 = true
		}
	}
	yyh4594.End()
	if yyc4594 {
		*v = yyv4594
	}
}

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 _, yyv4598 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4599 := &yyv4598
		yy4599.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

	yyv4600 := *v
	yyh4600, yyl4600 := z.DecSliceHelperStart()
	var yyc4600 bool
	if yyl4600 == 0 {
		if yyv4600 == nil {
			yyv4600 = []PersistentVolumeClaim{}
			yyc4600 = true
		} else if len(yyv4600) != 0 {
			yyv4600 = yyv4600[:0]
			yyc4600 = true
		}
	} else if yyl4600 > 0 {
		var yyrr4600, yyrl4600 int
		var yyrt4600 bool
		if yyl4600 > cap(yyv4600) {

			yyrg4600 := len(yyv4600) > 0
			yyv24600 := yyv4600
			yyrl4600, yyrt4600 = z.DecInferLen(yyl4600, z.DecBasicHandle().MaxInitLen, 368)
			if yyrt4600 {
				if yyrl4600 <= cap(yyv4600) {
					yyv4600 = yyv4600[:yyrl4600]
				} else {
					yyv4600 = make([]PersistentVolumeClaim, yyrl4600)
				}
			} else {
				yyv4600 = make([]PersistentVolumeClaim, yyrl4600)
			}
			yyc4600 = true
			yyrr4600 = len(yyv4600)
			if yyrg4600 {
				copy(yyv4600, yyv24600)
			}
		} else if yyl4600 != len(yyv4600) {
			yyv4600 = yyv4600[:yyl4600]
			yyc4600 = true
		}
		yyj4600 := 0
		for ; yyj4600 < yyrr4600; yyj4600++ {
			yyh4600.ElemContainerState(yyj4600)
			if r.TryDecodeAsNil() {
				yyv4600[yyj4600] = PersistentVolumeClaim{}
			} else {
				yyv4601 := &yyv4600[yyj4600]
				yyv4601.CodecDecodeSelf(d)
			}

		}
		if yyrt4600 {
			for ; yyj4600 < yyl4600; yyj4600++ {
				yyv4600 = append(yyv4600, PersistentVolumeClaim{})
				yyh4600.ElemContainerState(yyj4600)
				if r.TryDecodeAsNil() {
					yyv4600[yyj4600] = PersistentVolumeClaim{}
				} else {
					yyv4602 := &yyv4600[yyj4600]
					yyv4602.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4600 >= len(yyv4600) {
				yyv4600 = append(yyv4600, PersistentVolumeClaim{}) // var yyz4600 PersistentVolumeClaim
				yyc4600 = true
			}
			yyh4600.ElemContainerState(yyj4600)
			if yyj4600 < len(yyv4600) {
				if r.TryDecodeAsNil() {
					yyv4600[yyj4600] = PersistentVolumeClaim{}
				} else {
					yyv4603 := &yyv4600[yyj4600]
					yyv4603.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4600 < len(yyv4600) {
			yyv4600 = yyv4600[:yyj4600]
			yyc4600 = true
		} else if yyj4600 == 0 && yyv4600 == nil {
			yyv4600 = []PersistentVolumeClaim{}
			yyc4600 = true
		}
	}
	yyh4600.End()
	if yyc4600 {
		*v = yyv4600
	}
}

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 _, yyv4604 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4605 := &yyv4604
		yy4605.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

	yyv4606 := *v
	yyh4606, yyl4606 := z.DecSliceHelperStart()
	var yyc4606 bool
	if yyl4606 == 0 {
		if yyv4606 == nil {
			yyv4606 = []KeyToPath{}
			yyc4606 = true
		} else if len(yyv4606) != 0 {
			yyv4606 = yyv4606[:0]
			yyc4606 = true
		}
	} else if yyl4606 > 0 {
		var yyrr4606, yyrl4606 int
		var yyrt4606 bool
		if yyl4606 > cap(yyv4606) {

			yyrg4606 := len(yyv4606) > 0
			yyv24606 := yyv4606
			yyrl4606, yyrt4606 = z.DecInferLen(yyl4606, z.DecBasicHandle().MaxInitLen, 40)
			if yyrt4606 {
				if yyrl4606 <= cap(yyv4606) {
					yyv4606 = yyv4606[:yyrl4606]
				} else {
					yyv4606 = make([]KeyToPath, yyrl4606)
				}
			} else {
				yyv4606 = make([]KeyToPath, yyrl4606)
			}
			yyc4606 = true
			yyrr4606 = len(yyv4606)
			if yyrg4606 {
				copy(yyv4606, yyv24606)
			}
		} else if yyl4606 != len(yyv4606) {
			yyv4606 = yyv4606[:yyl4606]
			yyc4606 = true
		}
		yyj4606 := 0
		for ; yyj4606 < yyrr4606; yyj4606++ {
			yyh4606.ElemContainerState(yyj4606)
			if r.TryDecodeAsNil() {
				yyv4606[yyj4606] = KeyToPath{}
			} else {
				yyv4607 := &yyv4606[yyj4606]
				yyv4607.CodecDecodeSelf(d)
			}

		}
		if yyrt4606 {
			for ; yyj4606 < yyl4606; yyj4606++ {
				yyv4606 = append(yyv4606, KeyToPath{})
				yyh4606.ElemContainerState(yyj4606)
				if r.TryDecodeAsNil() {
					yyv4606[yyj4606] = KeyToPath{}
				} else {
					yyv4608 := &yyv4606[yyj4606]
					yyv4608.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4606 >= len(yyv4606) {
				yyv4606 = append(yyv4606, KeyToPath{}) // var yyz4606 KeyToPath
				yyc4606 = true
			}
			yyh4606.ElemContainerState(yyj4606)
			if yyj4606 < len(yyv4606) {
				if r.TryDecodeAsNil() {
					yyv4606[yyj4606] = KeyToPath{}
				} else {
					yyv4609 := &yyv4606[yyj4606]
					yyv4609.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4606 < len(yyv4606) {
			yyv4606 = yyv4606[:yyj4606]
			yyc4606 = true
		} else if yyj4606 == 0 && yyv4606 == nil {
			yyv4606 = []KeyToPath{}
			yyc4606 = true
		}
	}
	yyh4606.End()
	if yyc4606 {
		*v = yyv4606
	}
}

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 _, yyv4610 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4611 := &yyv4610
		yy4611.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

	yyv4612 := *v
	yyh4612, yyl4612 := z.DecSliceHelperStart()
	var yyc4612 bool
	if yyl4612 == 0 {
		if yyv4612 == nil {
			yyv4612 = []DownwardAPIVolumeFile{}
			yyc4612 = true
		} else if len(yyv4612) != 0 {
			yyv4612 = yyv4612[:0]
			yyc4612 = true
		}
	} else if yyl4612 > 0 {
		var yyrr4612, yyrl4612 int
		var yyrt4612 bool
		if yyl4612 > cap(yyv4612) {

			yyrg4612 := len(yyv4612) > 0
			yyv24612 := yyv4612
			yyrl4612, yyrt4612 = z.DecInferLen(yyl4612, z.DecBasicHandle().MaxInitLen, 40)
			if yyrt4612 {
				if yyrl4612 <= cap(yyv4612) {
					yyv4612 = yyv4612[:yyrl4612]
				} else {
					yyv4612 = make([]DownwardAPIVolumeFile, yyrl4612)
				}
			} else {
				yyv4612 = make([]DownwardAPIVolumeFile, yyrl4612)
			}
			yyc4612 = true
			yyrr4612 = len(yyv4612)
			if yyrg4612 {
				copy(yyv4612, yyv24612)
			}
		} else if yyl4612 != len(yyv4612) {
			yyv4612 = yyv4612[:yyl4612]
			yyc4612 = true
		}
		yyj4612 := 0
		for ; yyj4612 < yyrr4612; yyj4612++ {
			yyh4612.ElemContainerState(yyj4612)
			if r.TryDecodeAsNil() {
				yyv4612[yyj4612] = DownwardAPIVolumeFile{}
			} else {
				yyv4613 := &yyv4612[yyj4612]
				yyv4613.CodecDecodeSelf(d)
			}

		}
		if yyrt4612 {
			for ; yyj4612 < yyl4612; yyj4612++ {
				yyv4612 = append(yyv4612, DownwardAPIVolumeFile{})
				yyh4612.ElemContainerState(yyj4612)
				if r.TryDecodeAsNil() {
					yyv4612[yyj4612] = DownwardAPIVolumeFile{}
				} else {
					yyv4614 := &yyv4612[yyj4612]
					yyv4614.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4612 >= len(yyv4612) {
				yyv4612 = append(yyv4612, DownwardAPIVolumeFile{}) // var yyz4612 DownwardAPIVolumeFile
				yyc4612 = true
			}
			yyh4612.ElemContainerState(yyj4612)
			if yyj4612 < len(yyv4612) {
				if r.TryDecodeAsNil() {
					yyv4612[yyj4612] = DownwardAPIVolumeFile{}
				} else {
					yyv4615 := &yyv4612[yyj4612]
					yyv4615.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4612 < len(yyv4612) {
			yyv4612 = yyv4612[:yyj4612]
			yyc4612 = true
		} else if yyj4612 == 0 && yyv4612 == nil {
			yyv4612 = []DownwardAPIVolumeFile{}
			yyc4612 = true
		}
	}
	yyh4612.End()
	if yyc4612 {
		*v = yyv4612
	}
}

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 _, yyv4616 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4617 := &yyv4616
		yy4617.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

	yyv4618 := *v
	yyh4618, yyl4618 := z.DecSliceHelperStart()
	var yyc4618 bool
	if yyl4618 == 0 {
		if yyv4618 == nil {
			yyv4618 = []HTTPHeader{}
			yyc4618 = true
		} else if len(yyv4618) != 0 {
			yyv4618 = yyv4618[:0]
			yyc4618 = true
		}
	} else if yyl4618 > 0 {
		var yyrr4618, yyrl4618 int
		var yyrt4618 bool
		if yyl4618 > cap(yyv4618) {

			yyrg4618 := len(yyv4618) > 0
			yyv24618 := yyv4618
			yyrl4618, yyrt4618 = z.DecInferLen(yyl4618, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt4618 {
				if yyrl4618 <= cap(yyv4618) {
					yyv4618 = yyv4618[:yyrl4618]
				} else {
					yyv4618 = make([]HTTPHeader, yyrl4618)
				}
			} else {
				yyv4618 = make([]HTTPHeader, yyrl4618)
			}
			yyc4618 = true
			yyrr4618 = len(yyv4618)
			if yyrg4618 {
				copy(yyv4618, yyv24618)
			}
		} else if yyl4618 != len(yyv4618) {
			yyv4618 = yyv4618[:yyl4618]
			yyc4618 = true
		}
		yyj4618 := 0
		for ; yyj4618 < yyrr4618; yyj4618++ {
			yyh4618.ElemContainerState(yyj4618)
			if r.TryDecodeAsNil() {
				yyv4618[yyj4618] = HTTPHeader{}
			} else {
				yyv4619 := &yyv4618[yyj4618]
				yyv4619.CodecDecodeSelf(d)
			}

		}
		if yyrt4618 {
			for ; yyj4618 < yyl4618; yyj4618++ {
				yyv4618 = append(yyv4618, HTTPHeader{})
				yyh4618.ElemContainerState(yyj4618)
				if r.TryDecodeAsNil() {
					yyv4618[yyj4618] = HTTPHeader{}
				} else {
					yyv4620 := &yyv4618[yyj4618]
					yyv4620.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4618 >= len(yyv4618) {
				yyv4618 = append(yyv4618, HTTPHeader{}) // var yyz4618 HTTPHeader
				yyc4618 = true
			}
			yyh4618.ElemContainerState(yyj4618)
			if yyj4618 < len(yyv4618) {
				if r.TryDecodeAsNil() {
					yyv4618[yyj4618] = HTTPHeader{}
				} else {
					yyv4621 := &yyv4618[yyj4618]
					yyv4621.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4618 < len(yyv4618) {
			yyv4618 = yyv4618[:yyj4618]
			yyc4618 = true
		} else if yyj4618 == 0 && yyv4618 == nil {
			yyv4618 = []HTTPHeader{}
			yyc4618 = true
		}
	}
	yyh4618.End()
	if yyc4618 {
		*v = yyv4618
	}
}

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 _, yyv4622 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yyv4622.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

	yyv4623 := *v
	yyh4623, yyl4623 := z.DecSliceHelperStart()
	var yyc4623 bool
	if yyl4623 == 0 {
		if yyv4623 == nil {
			yyv4623 = []Capability{}
			yyc4623 = true
		} else if len(yyv4623) != 0 {
			yyv4623 = yyv4623[:0]
			yyc4623 = true
		}
	} else if yyl4623 > 0 {
		var yyrr4623, yyrl4623 int
		var yyrt4623 bool
		if yyl4623 > cap(yyv4623) {

			yyrl4623, yyrt4623 = z.DecInferLen(yyl4623, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt4623 {
				if yyrl4623 <= cap(yyv4623) {
					yyv4623 = yyv4623[:yyrl4623]
				} else {
					yyv4623 = make([]Capability, yyrl4623)
				}
			} else {
				yyv4623 = make([]Capability, yyrl4623)
			}
			yyc4623 = true
			yyrr4623 = len(yyv4623)
		} else if yyl4623 != len(yyv4623) {
			yyv4623 = yyv4623[:yyl4623]
			yyc4623 = true
		}
		yyj4623 := 0
		for ; yyj4623 < yyrr4623; yyj4623++ {
			yyh4623.ElemContainerState(yyj4623)
			if r.TryDecodeAsNil() {
				yyv4623[yyj4623] = ""
			} else {
				yyv4623[yyj4623] = Capability(r.DecodeString())
			}

		}
		if yyrt4623 {
			for ; yyj4623 < yyl4623; yyj4623++ {
				yyv4623 = append(yyv4623, "")
				yyh4623.ElemContainerState(yyj4623)
				if r.TryDecodeAsNil() {
					yyv4623[yyj4623] = ""
				} else {
					yyv4623[yyj4623] = Capability(r.DecodeString())
				}

			}
		}

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

			if yyj4623 >= len(yyv4623) {
				yyv4623 = append(yyv4623, "") // var yyz4623 Capability
				yyc4623 = true
			}
			yyh4623.ElemContainerState(yyj4623)
			if yyj4623 < len(yyv4623) {
				if r.TryDecodeAsNil() {
					yyv4623[yyj4623] = ""
				} else {
					yyv4623[yyj4623] = Capability(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4623 < len(yyv4623) {
			yyv4623 = yyv4623[:yyj4623]
			yyc4623 = true
		} else if yyj4623 == 0 && yyv4623 == nil {
			yyv4623 = []Capability{}
			yyc4623 = true
		}
	}
	yyh4623.End()
	if yyc4623 {
		*v = yyv4623
	}
}

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 _, yyv4627 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4628 := &yyv4627
		yy4628.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

	yyv4629 := *v
	yyh4629, yyl4629 := z.DecSliceHelperStart()
	var yyc4629 bool
	if yyl4629 == 0 {
		if yyv4629 == nil {
			yyv4629 = []ContainerPort{}
			yyc4629 = true
		} else if len(yyv4629) != 0 {
			yyv4629 = yyv4629[:0]
			yyc4629 = true
		}
	} else if yyl4629 > 0 {
		var yyrr4629, yyrl4629 int
		var yyrt4629 bool
		if yyl4629 > cap(yyv4629) {

			yyrg4629 := len(yyv4629) > 0
			yyv24629 := yyv4629
			yyrl4629, yyrt4629 = z.DecInferLen(yyl4629, z.DecBasicHandle().MaxInitLen, 56)
			if yyrt4629 {
				if yyrl4629 <= cap(yyv4629) {
					yyv4629 = yyv4629[:yyrl4629]
				} else {
					yyv4629 = make([]ContainerPort, yyrl4629)
				}
			} else {
				yyv4629 = make([]ContainerPort, yyrl4629)
			}
			yyc4629 = true
			yyrr4629 = len(yyv4629)
			if yyrg4629 {
				copy(yyv4629, yyv24629)
			}
		} else if yyl4629 != len(yyv4629) {
			yyv4629 = yyv4629[:yyl4629]
			yyc4629 = true
		}
		yyj4629 := 0
		for ; yyj4629 < yyrr4629; yyj4629++ {
			yyh4629.ElemContainerState(yyj4629)
			if r.TryDecodeAsNil() {
				yyv4629[yyj4629] = ContainerPort{}
			} else {
				yyv4630 := &yyv4629[yyj4629]
				yyv4630.CodecDecodeSelf(d)
			}

		}
		if yyrt4629 {
			for ; yyj4629 < yyl4629; yyj4629++ {
				yyv4629 = append(yyv4629, ContainerPort{})
				yyh4629.ElemContainerState(yyj4629)
				if r.TryDecodeAsNil() {
					yyv4629[yyj4629] = ContainerPort{}
				} else {
					yyv4631 := &yyv4629[yyj4629]
					yyv4631.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4629 >= len(yyv4629) {
				yyv4629 = append(yyv4629, ContainerPort{}) // var yyz4629 ContainerPort
				yyc4629 = true
			}
			yyh4629.ElemContainerState(yyj4629)
			if yyj4629 < len(yyv4629) {
				if r.TryDecodeAsNil() {
					yyv4629[yyj4629] = ContainerPort{}
				} else {
					yyv4632 := &yyv4629[yyj4629]
					yyv4632.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4629 < len(yyv4629) {
			yyv4629 = yyv4629[:yyj4629]
			yyc4629 = true
		} else if yyj4629 == 0 && yyv4629 == nil {
			yyv4629 = []ContainerPort{}
			yyc4629 = true
		}
	}
	yyh4629.End()
	if yyc4629 {
		*v = yyv4629
	}
}

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 _, yyv4633 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4634 := &yyv4633
		yy4634.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

	yyv4635 := *v
	yyh4635, yyl4635 := z.DecSliceHelperStart()
	var yyc4635 bool
	if yyl4635 == 0 {
		if yyv4635 == nil {
			yyv4635 = []EnvVar{}
			yyc4635 = true
		} else if len(yyv4635) != 0 {
			yyv4635 = yyv4635[:0]
			yyc4635 = true
		}
	} else if yyl4635 > 0 {
		var yyrr4635, yyrl4635 int
		var yyrt4635 bool
		if yyl4635 > cap(yyv4635) {

			yyrg4635 := len(yyv4635) > 0
			yyv24635 := yyv4635
			yyrl4635, yyrt4635 = z.DecInferLen(yyl4635, z.DecBasicHandle().MaxInitLen, 40)
			if yyrt4635 {
				if yyrl4635 <= cap(yyv4635) {
					yyv4635 = yyv4635[:yyrl4635]
				} else {
					yyv4635 = make([]EnvVar, yyrl4635)
				}
			} else {
				yyv4635 = make([]EnvVar, yyrl4635)
			}
			yyc4635 = true
			yyrr4635 = len(yyv4635)
			if yyrg4635 {
				copy(yyv4635, yyv24635)
			}
		} else if yyl4635 != len(yyv4635) {
			yyv4635 = yyv4635[:yyl4635]
			yyc4635 = true
		}
		yyj4635 := 0
		for ; yyj4635 < yyrr4635; yyj4635++ {
			yyh4635.ElemContainerState(yyj4635)
			if r.TryDecodeAsNil() {
				yyv4635[yyj4635] = EnvVar{}
			} else {
				yyv4636 := &yyv4635[yyj4635]
				yyv4636.CodecDecodeSelf(d)
			}

		}
		if yyrt4635 {
			for ; yyj4635 < yyl4635; yyj4635++ {
				yyv4635 = append(yyv4635, EnvVar{})
				yyh4635.ElemContainerState(yyj4635)
				if r.TryDecodeAsNil() {
					yyv4635[yyj4635] = EnvVar{}
				} else {
					yyv4637 := &yyv4635[yyj4635]
					yyv4637.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4635 >= len(yyv4635) {
				yyv4635 = append(yyv4635, EnvVar{}) // var yyz4635 EnvVar
				yyc4635 = true
			}
			yyh4635.ElemContainerState(yyj4635)
			if yyj4635 < len(yyv4635) {
				if r.TryDecodeAsNil() {
					yyv4635[yyj4635] = EnvVar{}
				} else {
					yyv4638 := &yyv4635[yyj4635]
					yyv4638.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4635 < len(yyv4635) {
			yyv4635 = yyv4635[:yyj4635]
			yyc4635 = true
		} else if yyj4635 == 0 && yyv4635 == nil {
			yyv4635 = []EnvVar{}
			yyc4635 = true
		}
	}
	yyh4635.End()
	if yyc4635 {
		*v = yyv4635
	}
}

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 _, yyv4639 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4640 := &yyv4639
		yy4640.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

	yyv4641 := *v
	yyh4641, yyl4641 := z.DecSliceHelperStart()
	var yyc4641 bool
	if yyl4641 == 0 {
		if yyv4641 == nil {
			yyv4641 = []VolumeMount{}
			yyc4641 = true
		} else if len(yyv4641) != 0 {
			yyv4641 = yyv4641[:0]
			yyc4641 = true
		}
	} else if yyl4641 > 0 {
		var yyrr4641, yyrl4641 int
		var yyrt4641 bool
		if yyl4641 > cap(yyv4641) {

			yyrg4641 := len(yyv4641) > 0
			yyv24641 := yyv4641
			yyrl4641, yyrt4641 = z.DecInferLen(yyl4641, z.DecBasicHandle().MaxInitLen, 56)
			if yyrt4641 {
				if yyrl4641 <= cap(yyv4641) {
					yyv4641 = yyv4641[:yyrl4641]
				} else {
					yyv4641 = make([]VolumeMount, yyrl4641)
				}
			} else {
				yyv4641 = make([]VolumeMount, yyrl4641)
			}
			yyc4641 = true
			yyrr4641 = len(yyv4641)
			if yyrg4641 {
				copy(yyv4641, yyv24641)
			}
		} else if yyl4641 != len(yyv4641) {
			yyv4641 = yyv4641[:yyl4641]
			yyc4641 = true
		}
		yyj4641 := 0
		for ; yyj4641 < yyrr4641; yyj4641++ {
			yyh4641.ElemContainerState(yyj4641)
			if r.TryDecodeAsNil() {
				yyv4641[yyj4641] = VolumeMount{}
			} else {
				yyv4642 := &yyv4641[yyj4641]
				yyv4642.CodecDecodeSelf(d)
			}

		}
		if yyrt4641 {
			for ; yyj4641 < yyl4641; yyj4641++ {
				yyv4641 = append(yyv4641, VolumeMount{})
				yyh4641.ElemContainerState(yyj4641)
				if r.TryDecodeAsNil() {
					yyv4641[yyj4641] = VolumeMount{}
				} else {
					yyv4643 := &yyv4641[yyj4641]
					yyv4643.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4641 >= len(yyv4641) {
				yyv4641 = append(yyv4641, VolumeMount{}) // var yyz4641 VolumeMount
				yyc4641 = true
			}
			yyh4641.ElemContainerState(yyj4641)
			if yyj4641 < len(yyv4641) {
				if r.TryDecodeAsNil() {
					yyv4641[yyj4641] = VolumeMount{}
				} else {
					yyv4644 := &yyv4641[yyj4641]
					yyv4644.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4641 < len(yyv4641) {
			yyv4641 = yyv4641[:yyj4641]
			yyc4641 = true
		} else if yyj4641 == 0 && yyv4641 == nil {
			yyv4641 = []VolumeMount{}
			yyc4641 = true
		}
	}
	yyh4641.End()
	if yyc4641 {
		*v = yyv4641
	}
}

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 _, yyv4645 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4646 := &yyv4645
		yy4646.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

	yyv4647 := *v
	yyh4647, yyl4647 := z.DecSliceHelperStart()
	var yyc4647 bool
	if yyl4647 == 0 {
		if yyv4647 == nil {
			yyv4647 = []Pod{}
			yyc4647 = true
		} else if len(yyv4647) != 0 {
			yyv4647 = yyv4647[:0]
			yyc4647 = true
		}
	} else if yyl4647 > 0 {
		var yyrr4647, yyrl4647 int
		var yyrt4647 bool
		if yyl4647 > cap(yyv4647) {

			yyrg4647 := len(yyv4647) > 0
			yyv24647 := yyv4647
			yyrl4647, yyrt4647 = z.DecInferLen(yyl4647, z.DecBasicHandle().MaxInitLen, 640)
			if yyrt4647 {
				if yyrl4647 <= cap(yyv4647) {
					yyv4647 = yyv4647[:yyrl4647]
				} else {
					yyv4647 = make([]Pod, yyrl4647)
				}
			} else {
				yyv4647 = make([]Pod, yyrl4647)
			}
			yyc4647 = true
			yyrr4647 = len(yyv4647)
			if yyrg4647 {
				copy(yyv4647, yyv24647)
			}
		} else if yyl4647 != len(yyv4647) {
			yyv4647 = yyv4647[:yyl4647]
			yyc4647 = true
		}
		yyj4647 := 0
		for ; yyj4647 < yyrr4647; yyj4647++ {
			yyh4647.ElemContainerState(yyj4647)
			if r.TryDecodeAsNil() {
				yyv4647[yyj4647] = Pod{}
			} else {
				yyv4648 := &yyv4647[yyj4647]
				yyv4648.CodecDecodeSelf(d)
			}

		}
		if yyrt4647 {
			for ; yyj4647 < yyl4647; yyj4647++ {
				yyv4647 = append(yyv4647, Pod{})
				yyh4647.ElemContainerState(yyj4647)
				if r.TryDecodeAsNil() {
					yyv4647[yyj4647] = Pod{}
				} else {
					yyv4649 := &yyv4647[yyj4647]
					yyv4649.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4647 >= len(yyv4647) {
				yyv4647 = append(yyv4647, Pod{}) // var yyz4647 Pod
				yyc4647 = true
			}
			yyh4647.ElemContainerState(yyj4647)
			if yyj4647 < len(yyv4647) {
				if r.TryDecodeAsNil() {
					yyv4647[yyj4647] = Pod{}
				} else {
					yyv4650 := &yyv4647[yyj4647]
					yyv4650.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4647 < len(yyv4647) {
			yyv4647 = yyv4647[:yyj4647]
			yyc4647 = true
		} else if yyj4647 == 0 && yyv4647 == nil {
			yyv4647 = []Pod{}
			yyc4647 = true
		}
	}
	yyh4647.End()
	if yyc4647 {
		*v = yyv4647
	}
}

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 _, yyv4651 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4652 := &yyv4651
		yy4652.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

	yyv4653 := *v
	yyh4653, yyl4653 := z.DecSliceHelperStart()
	var yyc4653 bool
	if yyl4653 == 0 {
		if yyv4653 == nil {
			yyv4653 = []NodeSelectorTerm{}
			yyc4653 = true
		} else if len(yyv4653) != 0 {
			yyv4653 = yyv4653[:0]
			yyc4653 = true
		}
	} else if yyl4653 > 0 {
		var yyrr4653, yyrl4653 int
		var yyrt4653 bool
		if yyl4653 > cap(yyv4653) {

			yyrg4653 := len(yyv4653) > 0
			yyv24653 := yyv4653
			yyrl4653, yyrt4653 = z.DecInferLen(yyl4653, z.DecBasicHandle().MaxInitLen, 24)
			if yyrt4653 {
				if yyrl4653 <= cap(yyv4653) {
					yyv4653 = yyv4653[:yyrl4653]
				} else {
					yyv4653 = make([]NodeSelectorTerm, yyrl4653)
				}
			} else {
				yyv4653 = make([]NodeSelectorTerm, yyrl4653)
			}
			yyc4653 = true
			yyrr4653 = len(yyv4653)
			if yyrg4653 {
				copy(yyv4653, yyv24653)
			}
		} else if yyl4653 != len(yyv4653) {
			yyv4653 = yyv4653[:yyl4653]
			yyc4653 = true
		}
		yyj4653 := 0
		for ; yyj4653 < yyrr4653; yyj4653++ {
			yyh4653.ElemContainerState(yyj4653)
			if r.TryDecodeAsNil() {
				yyv4653[yyj4653] = NodeSelectorTerm{}
			} else {
				yyv4654 := &yyv4653[yyj4653]
				yyv4654.CodecDecodeSelf(d)
			}

		}
		if yyrt4653 {
			for ; yyj4653 < yyl4653; yyj4653++ {
				yyv4653 = append(yyv4653, NodeSelectorTerm{})
				yyh4653.ElemContainerState(yyj4653)
				if r.TryDecodeAsNil() {
					yyv4653[yyj4653] = NodeSelectorTerm{}
				} else {
					yyv4655 := &yyv4653[yyj4653]
					yyv4655.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4653 >= len(yyv4653) {
				yyv4653 = append(yyv4653, NodeSelectorTerm{}) // var yyz4653 NodeSelectorTerm
				yyc4653 = true
			}
			yyh4653.ElemContainerState(yyj4653)
			if yyj4653 < len(yyv4653) {
				if r.TryDecodeAsNil() {
					yyv4653[yyj4653] = NodeSelectorTerm{}
				} else {
					yyv4656 := &yyv4653[yyj4653]
					yyv4656.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4653 < len(yyv4653) {
			yyv4653 = yyv4653[:yyj4653]
			yyc4653 = true
		} else if yyj4653 == 0 && yyv4653 == nil {
			yyv4653 = []NodeSelectorTerm{}
			yyc4653 = true
		}
	}
	yyh4653.End()
	if yyc4653 {
		*v = yyv4653
	}
}

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 _, yyv4657 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4658 := &yyv4657
		yy4658.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

	yyv4659 := *v
	yyh4659, yyl4659 := z.DecSliceHelperStart()
	var yyc4659 bool
	if yyl4659 == 0 {
		if yyv4659 == nil {
			yyv4659 = []NodeSelectorRequirement{}
			yyc4659 = true
		} else if len(yyv4659) != 0 {
			yyv4659 = yyv4659[:0]
			yyc4659 = true
		}
	} else if yyl4659 > 0 {
		var yyrr4659, yyrl4659 int
		var yyrt4659 bool
		if yyl4659 > cap(yyv4659) {

			yyrg4659 := len(yyv4659) > 0
			yyv24659 := yyv4659
			yyrl4659, yyrt4659 = z.DecInferLen(yyl4659, z.DecBasicHandle().MaxInitLen, 56)
			if yyrt4659 {
				if yyrl4659 <= cap(yyv4659) {
					yyv4659 = yyv4659[:yyrl4659]
				} else {
					yyv4659 = make([]NodeSelectorRequirement, yyrl4659)
				}
			} else {
				yyv4659 = make([]NodeSelectorRequirement, yyrl4659)
			}
			yyc4659 = true
			yyrr4659 = len(yyv4659)
			if yyrg4659 {
				copy(yyv4659, yyv24659)
			}
		} else if yyl4659 != len(yyv4659) {
			yyv4659 = yyv4659[:yyl4659]
			yyc4659 = true
		}
		yyj4659 := 0
		for ; yyj4659 < yyrr4659; yyj4659++ {
			yyh4659.ElemContainerState(yyj4659)
			if r.TryDecodeAsNil() {
				yyv4659[yyj4659] = NodeSelectorRequirement{}
			} else {
				yyv4660 := &yyv4659[yyj4659]
				yyv4660.CodecDecodeSelf(d)
			}

		}
		if yyrt4659 {
			for ; yyj4659 < yyl4659; yyj4659++ {
				yyv4659 = append(yyv4659, NodeSelectorRequirement{})
				yyh4659.ElemContainerState(yyj4659)
				if r.TryDecodeAsNil() {
					yyv4659[yyj4659] = NodeSelectorRequirement{}
				} else {
					yyv4661 := &yyv4659[yyj4659]
					yyv4661.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4659 >= len(yyv4659) {
				yyv4659 = append(yyv4659, NodeSelectorRequirement{}) // var yyz4659 NodeSelectorRequirement
				yyc4659 = true
			}
			yyh4659.ElemContainerState(yyj4659)
			if yyj4659 < len(yyv4659) {
				if r.TryDecodeAsNil() {
					yyv4659[yyj4659] = NodeSelectorRequirement{}
				} else {
					yyv4662 := &yyv4659[yyj4659]
					yyv4662.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4659 < len(yyv4659) {
			yyv4659 = yyv4659[:yyj4659]
			yyc4659 = true
		} else if yyj4659 == 0 && yyv4659 == nil {
			yyv4659 = []NodeSelectorRequirement{}
			yyc4659 = true
		}
	}
	yyh4659.End()
	if yyc4659 {
		*v = yyv4659
	}
}

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 _, yyv4663 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4664 := &yyv4663
		yy4664.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

	yyv4665 := *v
	yyh4665, yyl4665 := z.DecSliceHelperStart()
	var yyc4665 bool
	if yyl4665 == 0 {
		if yyv4665 == nil {
			yyv4665 = []PodAffinityTerm{}
			yyc4665 = true
		} else if len(yyv4665) != 0 {
			yyv4665 = yyv4665[:0]
			yyc4665 = true
		}
	} else if yyl4665 > 0 {
		var yyrr4665, yyrl4665 int
		var yyrt4665 bool
		if yyl4665 > cap(yyv4665) {

			yyrg4665 := len(yyv4665) > 0
			yyv24665 := yyv4665
			yyrl4665, yyrt4665 = z.DecInferLen(yyl4665, z.DecBasicHandle().MaxInitLen, 48)
			if yyrt4665 {
				if yyrl4665 <= cap(yyv4665) {
					yyv4665 = yyv4665[:yyrl4665]
				} else {
					yyv4665 = make([]PodAffinityTerm, yyrl4665)
				}
			} else {
				yyv4665 = make([]PodAffinityTerm, yyrl4665)
			}
			yyc4665 = true
			yyrr4665 = len(yyv4665)
			if yyrg4665 {
				copy(yyv4665, yyv24665)
			}
		} else if yyl4665 != len(yyv4665) {
			yyv4665 = yyv4665[:yyl4665]
			yyc4665 = true
		}
		yyj4665 := 0
		for ; yyj4665 < yyrr4665; yyj4665++ {
			yyh4665.ElemContainerState(yyj4665)
			if r.TryDecodeAsNil() {
				yyv4665[yyj4665] = PodAffinityTerm{}
			} else {
				yyv4666 := &yyv4665[yyj4665]
				yyv4666.CodecDecodeSelf(d)
			}

		}
		if yyrt4665 {
			for ; yyj4665 < yyl4665; yyj4665++ {
				yyv4665 = append(yyv4665, PodAffinityTerm{})
				yyh4665.ElemContainerState(yyj4665)
				if r.TryDecodeAsNil() {
					yyv4665[yyj4665] = PodAffinityTerm{}
				} else {
					yyv4667 := &yyv4665[yyj4665]
					yyv4667.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4665 >= len(yyv4665) {
				yyv4665 = append(yyv4665, PodAffinityTerm{}) // var yyz4665 PodAffinityTerm
				yyc4665 = true
			}
			yyh4665.ElemContainerState(yyj4665)
			if yyj4665 < len(yyv4665) {
				if r.TryDecodeAsNil() {
					yyv4665[yyj4665] = PodAffinityTerm{}
				} else {
					yyv4668 := &yyv4665[yyj4665]
					yyv4668.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4665 < len(yyv4665) {
			yyv4665 = yyv4665[:yyj4665]
			yyc4665 = true
		} else if yyj4665 == 0 && yyv4665 == nil {
			yyv4665 = []PodAffinityTerm{}
			yyc4665 = true
		}
	}
	yyh4665.End()
	if yyc4665 {
		*v = yyv4665
	}
}

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 _, yyv4669 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4670 := &yyv4669
		yy4670.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

	yyv4671 := *v
	yyh4671, yyl4671 := z.DecSliceHelperStart()
	var yyc4671 bool
	if yyl4671 == 0 {
		if yyv4671 == nil {
			yyv4671 = []WeightedPodAffinityTerm{}
			yyc4671 = true
		} else if len(yyv4671) != 0 {
			yyv4671 = yyv4671[:0]
			yyc4671 = true
		}
	} else if yyl4671 > 0 {
		var yyrr4671, yyrl4671 int
		var yyrt4671 bool
		if yyl4671 > cap(yyv4671) {

			yyrg4671 := len(yyv4671) > 0
			yyv24671 := yyv4671
			yyrl4671, yyrt4671 = z.DecInferLen(yyl4671, z.DecBasicHandle().MaxInitLen, 56)
			if yyrt4671 {
				if yyrl4671 <= cap(yyv4671) {
					yyv4671 = yyv4671[:yyrl4671]
				} else {
					yyv4671 = make([]WeightedPodAffinityTerm, yyrl4671)
				}
			} else {
				yyv4671 = make([]WeightedPodAffinityTerm, yyrl4671)
			}
			yyc4671 = true
			yyrr4671 = len(yyv4671)
			if yyrg4671 {
				copy(yyv4671, yyv24671)
			}
		} else if yyl4671 != len(yyv4671) {
			yyv4671 = yyv4671[:yyl4671]
			yyc4671 = true
		}
		yyj4671 := 0
		for ; yyj4671 < yyrr4671; yyj4671++ {
			yyh4671.ElemContainerState(yyj4671)
			if r.TryDecodeAsNil() {
				yyv4671[yyj4671] = WeightedPodAffinityTerm{}
			} else {
				yyv4672 := &yyv4671[yyj4671]
				yyv4672.CodecDecodeSelf(d)
			}

		}
		if yyrt4671 {
			for ; yyj4671 < yyl4671; yyj4671++ {
				yyv4671 = append(yyv4671, WeightedPodAffinityTerm{})
				yyh4671.ElemContainerState(yyj4671)
				if r.TryDecodeAsNil() {
					yyv4671[yyj4671] = WeightedPodAffinityTerm{}
				} else {
					yyv4673 := &yyv4671[yyj4671]
					yyv4673.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4671 >= len(yyv4671) {
				yyv4671 = append(yyv4671, WeightedPodAffinityTerm{}) // var yyz4671 WeightedPodAffinityTerm
				yyc4671 = true
			}
			yyh4671.ElemContainerState(yyj4671)
			if yyj4671 < len(yyv4671) {
				if r.TryDecodeAsNil() {
					yyv4671[yyj4671] = WeightedPodAffinityTerm{}
				} else {
					yyv4674 := &yyv4671[yyj4671]
					yyv4674.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4671 < len(yyv4671) {
			yyv4671 = yyv4671[:yyj4671]
			yyc4671 = true
		} else if yyj4671 == 0 && yyv4671 == nil {
			yyv4671 = []WeightedPodAffinityTerm{}
			yyc4671 = true
		}
	}
	yyh4671.End()
	if yyc4671 {
		*v = yyv4671
	}
}

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 _, yyv4675 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4676 := &yyv4675
		yy4676.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

	yyv4677 := *v
	yyh4677, yyl4677 := z.DecSliceHelperStart()
	var yyc4677 bool
	if yyl4677 == 0 {
		if yyv4677 == nil {
			yyv4677 = []PreferredSchedulingTerm{}
			yyc4677 = true
		} else if len(yyv4677) != 0 {
			yyv4677 = yyv4677[:0]
			yyc4677 = true
		}
	} else if yyl4677 > 0 {
		var yyrr4677, yyrl4677 int
		var yyrt4677 bool
		if yyl4677 > cap(yyv4677) {

			yyrg4677 := len(yyv4677) > 0
			yyv24677 := yyv4677
			yyrl4677, yyrt4677 = z.DecInferLen(yyl4677, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt4677 {
				if yyrl4677 <= cap(yyv4677) {
					yyv4677 = yyv4677[:yyrl4677]
				} else {
					yyv4677 = make([]PreferredSchedulingTerm, yyrl4677)
				}
			} else {
				yyv4677 = make([]PreferredSchedulingTerm, yyrl4677)
			}
			yyc4677 = true
			yyrr4677 = len(yyv4677)
			if yyrg4677 {
				copy(yyv4677, yyv24677)
			}
		} else if yyl4677 != len(yyv4677) {
			yyv4677 = yyv4677[:yyl4677]
			yyc4677 = true
		}
		yyj4677 := 0
		for ; yyj4677 < yyrr4677; yyj4677++ {
			yyh4677.ElemContainerState(yyj4677)
			if r.TryDecodeAsNil() {
				yyv4677[yyj4677] = PreferredSchedulingTerm{}
			} else {
				yyv4678 := &yyv4677[yyj4677]
				yyv4678.CodecDecodeSelf(d)
			}

		}
		if yyrt4677 {
			for ; yyj4677 < yyl4677; yyj4677++ {
				yyv4677 = append(yyv4677, PreferredSchedulingTerm{})
				yyh4677.ElemContainerState(yyj4677)
				if r.TryDecodeAsNil() {
					yyv4677[yyj4677] = PreferredSchedulingTerm{}
				} else {
					yyv4679 := &yyv4677[yyj4677]
					yyv4679.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4677 >= len(yyv4677) {
				yyv4677 = append(yyv4677, PreferredSchedulingTerm{}) // var yyz4677 PreferredSchedulingTerm
				yyc4677 = true
			}
			yyh4677.ElemContainerState(yyj4677)
			if yyj4677 < len(yyv4677) {
				if r.TryDecodeAsNil() {
					yyv4677[yyj4677] = PreferredSchedulingTerm{}
				} else {
					yyv4680 := &yyv4677[yyj4677]
					yyv4680.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4677 < len(yyv4677) {
			yyv4677 = yyv4677[:yyj4677]
			yyc4677 = true
		} else if yyj4677 == 0 && yyv4677 == nil {
			yyv4677 = []PreferredSchedulingTerm{}
			yyc4677 = true
		}
	}
	yyh4677.End()
	if yyc4677 {
		*v = yyv4677
	}
}

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 _, yyv4681 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4682 := &yyv4681
		yy4682.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

	yyv4683 := *v
	yyh4683, yyl4683 := z.DecSliceHelperStart()
	var yyc4683 bool
	if yyl4683 == 0 {
		if yyv4683 == nil {
			yyv4683 = []Volume{}
			yyc4683 = true
		} else if len(yyv4683) != 0 {
			yyv4683 = yyv4683[:0]
			yyc4683 = true
		}
	} else if yyl4683 > 0 {
		var yyrr4683, yyrl4683 int
		var yyrt4683 bool
		if yyl4683 > cap(yyv4683) {

			yyrg4683 := len(yyv4683) > 0
			yyv24683 := yyv4683
			yyrl4683, yyrt4683 = z.DecInferLen(yyl4683, z.DecBasicHandle().MaxInitLen, 192)
			if yyrt4683 {
				if yyrl4683 <= cap(yyv4683) {
					yyv4683 = yyv4683[:yyrl4683]
				} else {
					yyv4683 = make([]Volume, yyrl4683)
				}
			} else {
				yyv4683 = make([]Volume, yyrl4683)
			}
			yyc4683 = true
			yyrr4683 = len(yyv4683)
			if yyrg4683 {
				copy(yyv4683, yyv24683)
			}
		} else if yyl4683 != len(yyv4683) {
			yyv4683 = yyv4683[:yyl4683]
			yyc4683 = true
		}
		yyj4683 := 0
		for ; yyj4683 < yyrr4683; yyj4683++ {
			yyh4683.ElemContainerState(yyj4683)
			if r.TryDecodeAsNil() {
				yyv4683[yyj4683] = Volume{}
			} else {
				yyv4684 := &yyv4683[yyj4683]
				yyv4684.CodecDecodeSelf(d)
			}

		}
		if yyrt4683 {
			for ; yyj4683 < yyl4683; yyj4683++ {
				yyv4683 = append(yyv4683, Volume{})
				yyh4683.ElemContainerState(yyj4683)
				if r.TryDecodeAsNil() {
					yyv4683[yyj4683] = Volume{}
				} else {
					yyv4685 := &yyv4683[yyj4683]
					yyv4685.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4683 >= len(yyv4683) {
				yyv4683 = append(yyv4683, Volume{}) // var yyz4683 Volume
				yyc4683 = true
			}
			yyh4683.ElemContainerState(yyj4683)
			if yyj4683 < len(yyv4683) {
				if r.TryDecodeAsNil() {
					yyv4683[yyj4683] = Volume{}
				} else {
					yyv4686 := &yyv4683[yyj4683]
					yyv4686.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4683 < len(yyv4683) {
			yyv4683 = yyv4683[:yyj4683]
			yyc4683 = true
		} else if yyj4683 == 0 && yyv4683 == nil {
			yyv4683 = []Volume{}
			yyc4683 = true
		}
	}
	yyh4683.End()
	if yyc4683 {
		*v = yyv4683
	}
}

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 _, yyv4687 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4688 := &yyv4687
		yy4688.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

	yyv4689 := *v
	yyh4689, yyl4689 := z.DecSliceHelperStart()
	var yyc4689 bool
	if yyl4689 == 0 {
		if yyv4689 == nil {
			yyv4689 = []Container{}
			yyc4689 = true
		} else if len(yyv4689) != 0 {
			yyv4689 = yyv4689[:0]
			yyc4689 = true
		}
	} else if yyl4689 > 0 {
		var yyrr4689, yyrl4689 int
		var yyrt4689 bool
		if yyl4689 > cap(yyv4689) {

			yyrg4689 := len(yyv4689) > 0
			yyv24689 := yyv4689
			yyrl4689, yyrt4689 = z.DecInferLen(yyl4689, z.DecBasicHandle().MaxInitLen, 256)
			if yyrt4689 {
				if yyrl4689 <= cap(yyv4689) {
					yyv4689 = yyv4689[:yyrl4689]
				} else {
					yyv4689 = make([]Container, yyrl4689)
				}
			} else {
				yyv4689 = make([]Container, yyrl4689)
			}
			yyc4689 = true
			yyrr4689 = len(yyv4689)
			if yyrg4689 {
				copy(yyv4689, yyv24689)
			}
		} else if yyl4689 != len(yyv4689) {
			yyv4689 = yyv4689[:yyl4689]
			yyc4689 = true
		}
		yyj4689 := 0
		for ; yyj4689 < yyrr4689; yyj4689++ {
			yyh4689.ElemContainerState(yyj4689)
			if r.TryDecodeAsNil() {
				yyv4689[yyj4689] = Container{}
			} else {
				yyv4690 := &yyv4689[yyj4689]
				yyv4690.CodecDecodeSelf(d)
			}

		}
		if yyrt4689 {
			for ; yyj4689 < yyl4689; yyj4689++ {
				yyv4689 = append(yyv4689, Container{})
				yyh4689.ElemContainerState(yyj4689)
				if r.TryDecodeAsNil() {
					yyv4689[yyj4689] = Container{}
				} else {
					yyv4691 := &yyv4689[yyj4689]
					yyv4691.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4689 >= len(yyv4689) {
				yyv4689 = append(yyv4689, Container{}) // var yyz4689 Container
				yyc4689 = true
			}
			yyh4689.ElemContainerState(yyj4689)
			if yyj4689 < len(yyv4689) {
				if r.TryDecodeAsNil() {
					yyv4689[yyj4689] = Container{}
				} else {
					yyv4692 := &yyv4689[yyj4689]
					yyv4692.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4689 < len(yyv4689) {
			yyv4689 = yyv4689[:yyj4689]
			yyc4689 = true
		} else if yyj4689 == 0 && yyv4689 == nil {
			yyv4689 = []Container{}
			yyc4689 = true
		}
	}
	yyh4689.End()
	if yyc4689 {
		*v = yyv4689
	}
}

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 _, yyv4693 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4694 := &yyv4693
		yy4694.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

	yyv4695 := *v
	yyh4695, yyl4695 := z.DecSliceHelperStart()
	var yyc4695 bool
	if yyl4695 == 0 {
		if yyv4695 == nil {
			yyv4695 = []LocalObjectReference{}
			yyc4695 = true
		} else if len(yyv4695) != 0 {
			yyv4695 = yyv4695[:0]
			yyc4695 = true
		}
	} else if yyl4695 > 0 {
		var yyrr4695, yyrl4695 int
		var yyrt4695 bool
		if yyl4695 > cap(yyv4695) {

			yyrg4695 := len(yyv4695) > 0
			yyv24695 := yyv4695
			yyrl4695, yyrt4695 = z.DecInferLen(yyl4695, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt4695 {
				if yyrl4695 <= cap(yyv4695) {
					yyv4695 = yyv4695[:yyrl4695]
				} else {
					yyv4695 = make([]LocalObjectReference, yyrl4695)
				}
			} else {
				yyv4695 = make([]LocalObjectReference, yyrl4695)
			}
			yyc4695 = true
			yyrr4695 = len(yyv4695)
			if yyrg4695 {
				copy(yyv4695, yyv24695)
			}
		} else if yyl4695 != len(yyv4695) {
			yyv4695 = yyv4695[:yyl4695]
			yyc4695 = true
		}
		yyj4695 := 0
		for ; yyj4695 < yyrr4695; yyj4695++ {
			yyh4695.ElemContainerState(yyj4695)
			if r.TryDecodeAsNil() {
				yyv4695[yyj4695] = LocalObjectReference{}
			} else {
				yyv4696 := &yyv4695[yyj4695]
				yyv4696.CodecDecodeSelf(d)
			}

		}
		if yyrt4695 {
			for ; yyj4695 < yyl4695; yyj4695++ {
				yyv4695 = append(yyv4695, LocalObjectReference{})
				yyh4695.ElemContainerState(yyj4695)
				if r.TryDecodeAsNil() {
					yyv4695[yyj4695] = LocalObjectReference{}
				} else {
					yyv4697 := &yyv4695[yyj4695]
					yyv4697.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4695 >= len(yyv4695) {
				yyv4695 = append(yyv4695, LocalObjectReference{}) // var yyz4695 LocalObjectReference
				yyc4695 = true
			}
			yyh4695.ElemContainerState(yyj4695)
			if yyj4695 < len(yyv4695) {
				if r.TryDecodeAsNil() {
					yyv4695[yyj4695] = LocalObjectReference{}
				} else {
					yyv4698 := &yyv4695[yyj4695]
					yyv4698.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4695 < len(yyv4695) {
			yyv4695 = yyv4695[:yyj4695]
			yyc4695 = true
		} else if yyj4695 == 0 && yyv4695 == nil {
			yyv4695 = []LocalObjectReference{}
			yyc4695 = true
		}
	}
	yyh4695.End()
	if yyc4695 {
		*v = yyv4695
	}
}

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 _, yyv4699 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4700 := &yyv4699
		yy4700.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

	yyv4701 := *v
	yyh4701, yyl4701 := z.DecSliceHelperStart()
	var yyc4701 bool
	if yyl4701 == 0 {
		if yyv4701 == nil {
			yyv4701 = []PodCondition{}
			yyc4701 = true
		} else if len(yyv4701) != 0 {
			yyv4701 = yyv4701[:0]
			yyc4701 = true
		}
	} else if yyl4701 > 0 {
		var yyrr4701, yyrl4701 int
		var yyrt4701 bool
		if yyl4701 > cap(yyv4701) {

			yyrg4701 := len(yyv4701) > 0
			yyv24701 := yyv4701
			yyrl4701, yyrt4701 = z.DecInferLen(yyl4701, z.DecBasicHandle().MaxInitLen, 112)
			if yyrt4701 {
				if yyrl4701 <= cap(yyv4701) {
					yyv4701 = yyv4701[:yyrl4701]
				} else {
					yyv4701 = make([]PodCondition, yyrl4701)
				}
			} else {
				yyv4701 = make([]PodCondition, yyrl4701)
			}
			yyc4701 = true
			yyrr4701 = len(yyv4701)
			if yyrg4701 {
				copy(yyv4701, yyv24701)
			}
		} else if yyl4701 != len(yyv4701) {
			yyv4701 = yyv4701[:yyl4701]
			yyc4701 = true
		}
		yyj4701 := 0
		for ; yyj4701 < yyrr4701; yyj4701++ {
			yyh4701.ElemContainerState(yyj4701)
			if r.TryDecodeAsNil() {
				yyv4701[yyj4701] = PodCondition{}
			} else {
				yyv4702 := &yyv4701[yyj4701]
				yyv4702.CodecDecodeSelf(d)
			}

		}
		if yyrt4701 {
			for ; yyj4701 < yyl4701; yyj4701++ {
				yyv4701 = append(yyv4701, PodCondition{})
				yyh4701.ElemContainerState(yyj4701)
				if r.TryDecodeAsNil() {
					yyv4701[yyj4701] = PodCondition{}
				} else {
					yyv4703 := &yyv4701[yyj4701]
					yyv4703.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4701 >= len(yyv4701) {
				yyv4701 = append(yyv4701, PodCondition{}) // var yyz4701 PodCondition
				yyc4701 = true
			}
			yyh4701.ElemContainerState(yyj4701)
			if yyj4701 < len(yyv4701) {
				if r.TryDecodeAsNil() {
					yyv4701[yyj4701] = PodCondition{}
				} else {
					yyv4704 := &yyv4701[yyj4701]
					yyv4704.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4701 < len(yyv4701) {
			yyv4701 = yyv4701[:yyj4701]
			yyc4701 = true
		} else if yyj4701 == 0 && yyv4701 == nil {
			yyv4701 = []PodCondition{}
			yyc4701 = true
		}
	}
	yyh4701.End()
	if yyc4701 {
		*v = yyv4701
	}
}

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 _, yyv4705 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4706 := &yyv4705
		yy4706.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

	yyv4707 := *v
	yyh4707, yyl4707 := z.DecSliceHelperStart()
	var yyc4707 bool
	if yyl4707 == 0 {
		if yyv4707 == nil {
			yyv4707 = []ContainerStatus{}
			yyc4707 = true
		} else if len(yyv4707) != 0 {
			yyv4707 = yyv4707[:0]
			yyc4707 = true
		}
	} else if yyl4707 > 0 {
		var yyrr4707, yyrl4707 int
		var yyrt4707 bool
		if yyl4707 > cap(yyv4707) {

			yyrg4707 := len(yyv4707) > 0
			yyv24707 := yyv4707
			yyrl4707, yyrt4707 = z.DecInferLen(yyl4707, z.DecBasicHandle().MaxInitLen, 120)
			if yyrt4707 {
				if yyrl4707 <= cap(yyv4707) {
					yyv4707 = yyv4707[:yyrl4707]
				} else {
					yyv4707 = make([]ContainerStatus, yyrl4707)
				}
			} else {
				yyv4707 = make([]ContainerStatus, yyrl4707)
			}
			yyc4707 = true
			yyrr4707 = len(yyv4707)
			if yyrg4707 {
				copy(yyv4707, yyv24707)
			}
		} else if yyl4707 != len(yyv4707) {
			yyv4707 = yyv4707[:yyl4707]
			yyc4707 = true
		}
		yyj4707 := 0
		for ; yyj4707 < yyrr4707; yyj4707++ {
			yyh4707.ElemContainerState(yyj4707)
			if r.TryDecodeAsNil() {
				yyv4707[yyj4707] = ContainerStatus{}
			} else {
				yyv4708 := &yyv4707[yyj4707]
				yyv4708.CodecDecodeSelf(d)
			}

		}
		if yyrt4707 {
			for ; yyj4707 < yyl4707; yyj4707++ {
				yyv4707 = append(yyv4707, ContainerStatus{})
				yyh4707.ElemContainerState(yyj4707)
				if r.TryDecodeAsNil() {
					yyv4707[yyj4707] = ContainerStatus{}
				} else {
					yyv4709 := &yyv4707[yyj4707]
					yyv4709.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4707 >= len(yyv4707) {
				yyv4707 = append(yyv4707, ContainerStatus{}) // var yyz4707 ContainerStatus
				yyc4707 = true
			}
			yyh4707.ElemContainerState(yyj4707)
			if yyj4707 < len(yyv4707) {
				if r.TryDecodeAsNil() {
					yyv4707[yyj4707] = ContainerStatus{}
				} else {
					yyv4710 := &yyv4707[yyj4707]
					yyv4710.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4707 < len(yyv4707) {
			yyv4707 = yyv4707[:yyj4707]
			yyc4707 = true
		} else if yyj4707 == 0 && yyv4707 == nil {
			yyv4707 = []ContainerStatus{}
			yyc4707 = true
		}
	}
	yyh4707.End()
	if yyc4707 {
		*v = yyv4707
	}
}

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 _, yyv4711 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4712 := &yyv4711
		yy4712.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

	yyv4713 := *v
	yyh4713, yyl4713 := z.DecSliceHelperStart()
	var yyc4713 bool
	if yyl4713 == 0 {
		if yyv4713 == nil {
			yyv4713 = []PodTemplate{}
			yyc4713 = true
		} else if len(yyv4713) != 0 {
			yyv4713 = yyv4713[:0]
			yyc4713 = true
		}
	} else if yyl4713 > 0 {
		var yyrr4713, yyrl4713 int
		var yyrt4713 bool
		if yyl4713 > cap(yyv4713) {

			yyrg4713 := len(yyv4713) > 0
			yyv24713 := yyv4713
			yyrl4713, yyrt4713 = z.DecInferLen(yyl4713, z.DecBasicHandle().MaxInitLen, 704)
			if yyrt4713 {
				if yyrl4713 <= cap(yyv4713) {
					yyv4713 = yyv4713[:yyrl4713]
				} else {
					yyv4713 = make([]PodTemplate, yyrl4713)
				}
			} else {
				yyv4713 = make([]PodTemplate, yyrl4713)
			}
			yyc4713 = true
			yyrr4713 = len(yyv4713)
			if yyrg4713 {
				copy(yyv4713, yyv24713)
			}
		} else if yyl4713 != len(yyv4713) {
			yyv4713 = yyv4713[:yyl4713]
			yyc4713 = true
		}
		yyj4713 := 0
		for ; yyj4713 < yyrr4713; yyj4713++ {
			yyh4713.ElemContainerState(yyj4713)
			if r.TryDecodeAsNil() {
				yyv4713[yyj4713] = PodTemplate{}
			} else {
				yyv4714 := &yyv4713[yyj4713]
				yyv4714.CodecDecodeSelf(d)
			}

		}
		if yyrt4713 {
			for ; yyj4713 < yyl4713; yyj4713++ {
				yyv4713 = append(yyv4713, PodTemplate{})
				yyh4713.ElemContainerState(yyj4713)
				if r.TryDecodeAsNil() {
					yyv4713[yyj4713] = PodTemplate{}
				} else {
					yyv4715 := &yyv4713[yyj4713]
					yyv4715.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4713 >= len(yyv4713) {
				yyv4713 = append(yyv4713, PodTemplate{}) // var yyz4713 PodTemplate
				yyc4713 = true
			}
			yyh4713.ElemContainerState(yyj4713)
			if yyj4713 < len(yyv4713) {
				if r.TryDecodeAsNil() {
					yyv4713[yyj4713] = PodTemplate{}
				} else {
					yyv4716 := &yyv4713[yyj4713]
					yyv4716.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4713 < len(yyv4713) {
			yyv4713 = yyv4713[:yyj4713]
			yyc4713 = true
		} else if yyj4713 == 0 && yyv4713 == nil {
			yyv4713 = []PodTemplate{}
			yyc4713 = true
		}
	}
	yyh4713.End()
	if yyc4713 {
		*v = yyv4713
	}
}

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 _, yyv4717 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4718 := &yyv4717
		yy4718.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

	yyv4719 := *v
	yyh4719, yyl4719 := z.DecSliceHelperStart()
	var yyc4719 bool
	if yyl4719 == 0 {
		if yyv4719 == nil {
			yyv4719 = []ReplicationControllerCondition{}
			yyc4719 = true
		} else if len(yyv4719) != 0 {
			yyv4719 = yyv4719[:0]
			yyc4719 = true
		}
	} else if yyl4719 > 0 {
		var yyrr4719, yyrl4719 int
		var yyrt4719 bool
		if yyl4719 > cap(yyv4719) {

			yyrg4719 := len(yyv4719) > 0
			yyv24719 := yyv4719
			yyrl4719, yyrt4719 = z.DecInferLen(yyl4719, z.DecBasicHandle().MaxInitLen, 88)
			if yyrt4719 {
				if yyrl4719 <= cap(yyv4719) {
					yyv4719 = yyv4719[:yyrl4719]
				} else {
					yyv4719 = make([]ReplicationControllerCondition, yyrl4719)
				}
			} else {
				yyv4719 = make([]ReplicationControllerCondition, yyrl4719)
			}
			yyc4719 = true
			yyrr4719 = len(yyv4719)
			if yyrg4719 {
				copy(yyv4719, yyv24719)
			}
		} else if yyl4719 != len(yyv4719) {
			yyv4719 = yyv4719[:yyl4719]
			yyc4719 = true
		}
		yyj4719 := 0
		for ; yyj4719 < yyrr4719; yyj4719++ {
			yyh4719.ElemContainerState(yyj4719)
			if r.TryDecodeAsNil() {
				yyv4719[yyj4719] = ReplicationControllerCondition{}
			} else {
				yyv4720 := &yyv4719[yyj4719]
				yyv4720.CodecDecodeSelf(d)
			}

		}
		if yyrt4719 {
			for ; yyj4719 < yyl4719; yyj4719++ {
				yyv4719 = append(yyv4719, ReplicationControllerCondition{})
				yyh4719.ElemContainerState(yyj4719)
				if r.TryDecodeAsNil() {
					yyv4719[yyj4719] = ReplicationControllerCondition{}
				} else {
					yyv4721 := &yyv4719[yyj4719]
					yyv4721.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4719 >= len(yyv4719) {
				yyv4719 = append(yyv4719, ReplicationControllerCondition{}) // var yyz4719 ReplicationControllerCondition
				yyc4719 = true
			}
			yyh4719.ElemContainerState(yyj4719)
			if yyj4719 < len(yyv4719) {
				if r.TryDecodeAsNil() {
					yyv4719[yyj4719] = ReplicationControllerCondition{}
				} else {
					yyv4722 := &yyv4719[yyj4719]
					yyv4722.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4719 < len(yyv4719) {
			yyv4719 = yyv4719[:yyj4719]
			yyc4719 = true
		} else if yyj4719 == 0 && yyv4719 == nil {
			yyv4719 = []ReplicationControllerCondition{}
			yyc4719 = true
		}
	}
	yyh4719.End()
	if yyc4719 {
		*v = yyv4719
	}
}

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 _, yyv4723 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4724 := &yyv4723
		yy4724.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

	yyv4725 := *v
	yyh4725, yyl4725 := z.DecSliceHelperStart()
	var yyc4725 bool
	if yyl4725 == 0 {
		if yyv4725 == nil {
			yyv4725 = []ReplicationController{}
			yyc4725 = true
		} else if len(yyv4725) != 0 {
			yyv4725 = yyv4725[:0]
			yyc4725 = true
		}
	} else if yyl4725 > 0 {
		var yyrr4725, yyrl4725 int
		var yyrt4725 bool
		if yyl4725 > cap(yyv4725) {

			yyrg4725 := len(yyv4725) > 0
			yyv24725 := yyv4725
			yyrl4725, yyrt4725 = z.DecInferLen(yyl4725, z.DecBasicHandle().MaxInitLen, 328)
			if yyrt4725 {
				if yyrl4725 <= cap(yyv4725) {
					yyv4725 = yyv4725[:yyrl4725]
				} else {
					yyv4725 = make([]ReplicationController, yyrl4725)
				}
			} else {
				yyv4725 = make([]ReplicationController, yyrl4725)
			}
			yyc4725 = true
			yyrr4725 = len(yyv4725)
			if yyrg4725 {
				copy(yyv4725, yyv24725)
			}
		} else if yyl4725 != len(yyv4725) {
			yyv4725 = yyv4725[:yyl4725]
			yyc4725 = true
		}
		yyj4725 := 0
		for ; yyj4725 < yyrr4725; yyj4725++ {
			yyh4725.ElemContainerState(yyj4725)
			if r.TryDecodeAsNil() {
				yyv4725[yyj4725] = ReplicationController{}
			} else {
				yyv4726 := &yyv4725[yyj4725]
				yyv4726.CodecDecodeSelf(d)
			}

		}
		if yyrt4725 {
			for ; yyj4725 < yyl4725; yyj4725++ {
				yyv4725 = append(yyv4725, ReplicationController{})
				yyh4725.ElemContainerState(yyj4725)
				if r.TryDecodeAsNil() {
					yyv4725[yyj4725] = ReplicationController{}
				} else {
					yyv4727 := &yyv4725[yyj4725]
					yyv4727.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4725 >= len(yyv4725) {
				yyv4725 = append(yyv4725, ReplicationController{}) // var yyz4725 ReplicationController
				yyc4725 = true
			}
			yyh4725.ElemContainerState(yyj4725)
			if yyj4725 < len(yyv4725) {
				if r.TryDecodeAsNil() {
					yyv4725[yyj4725] = ReplicationController{}
				} else {
					yyv4728 := &yyv4725[yyj4725]
					yyv4728.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4725 < len(yyv4725) {
			yyv4725 = yyv4725[:yyj4725]
			yyc4725 = true
		} else if yyj4725 == 0 && yyv4725 == nil {
			yyv4725 = []ReplicationController{}
			yyc4725 = true
		}
	}
	yyh4725.End()
	if yyc4725 {
		*v = yyv4725
	}
}

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 _, yyv4729 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4730 := &yyv4729
		yy4730.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

	yyv4731 := *v
	yyh4731, yyl4731 := z.DecSliceHelperStart()
	var yyc4731 bool
	if yyl4731 == 0 {
		if yyv4731 == nil {
			yyv4731 = []Service{}
			yyc4731 = true
		} else if len(yyv4731) != 0 {
			yyv4731 = yyv4731[:0]
			yyc4731 = true
		}
	} else if yyl4731 > 0 {
		var yyrr4731, yyrl4731 int
		var yyrt4731 bool
		if yyl4731 > cap(yyv4731) {

			yyrg4731 := len(yyv4731) > 0
			yyv24731 := yyv4731
			yyrl4731, yyrt4731 = z.DecInferLen(yyl4731, z.DecBasicHandle().MaxInitLen, 440)
			if yyrt4731 {
				if yyrl4731 <= cap(yyv4731) {
					yyv4731 = yyv4731[:yyrl4731]
				} else {
					yyv4731 = make([]Service, yyrl4731)
				}
			} else {
				yyv4731 = make([]Service, yyrl4731)
			}
			yyc4731 = true
			yyrr4731 = len(yyv4731)
			if yyrg4731 {
				copy(yyv4731, yyv24731)
			}
		} else if yyl4731 != len(yyv4731) {
			yyv4731 = yyv4731[:yyl4731]
			yyc4731 = true
		}
		yyj4731 := 0
		for ; yyj4731 < yyrr4731; yyj4731++ {
			yyh4731.ElemContainerState(yyj4731)
			if r.TryDecodeAsNil() {
				yyv4731[yyj4731] = Service{}
			} else {
				yyv4732 := &yyv4731[yyj4731]
				yyv4732.CodecDecodeSelf(d)
			}

		}
		if yyrt4731 {
			for ; yyj4731 < yyl4731; yyj4731++ {
				yyv4731 = append(yyv4731, Service{})
				yyh4731.ElemContainerState(yyj4731)
				if r.TryDecodeAsNil() {
					yyv4731[yyj4731] = Service{}
				} else {
					yyv4733 := &yyv4731[yyj4731]
					yyv4733.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4731 >= len(yyv4731) {
				yyv4731 = append(yyv4731, Service{}) // var yyz4731 Service
				yyc4731 = true
			}
			yyh4731.ElemContainerState(yyj4731)
			if yyj4731 < len(yyv4731) {
				if r.TryDecodeAsNil() {
					yyv4731[yyj4731] = Service{}
				} else {
					yyv4734 := &yyv4731[yyj4731]
					yyv4734.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4731 < len(yyv4731) {
			yyv4731 = yyv4731[:yyj4731]
			yyc4731 = true
		} else if yyj4731 == 0 && yyv4731 == nil {
			yyv4731 = []Service{}
			yyc4731 = true
		}
	}
	yyh4731.End()
	if yyc4731 {
		*v = yyv4731
	}
}

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 _, yyv4735 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4736 := &yyv4735
		yy4736.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

	yyv4737 := *v
	yyh4737, yyl4737 := z.DecSliceHelperStart()
	var yyc4737 bool
	if yyl4737 == 0 {
		if yyv4737 == nil {
			yyv4737 = []LoadBalancerIngress{}
			yyc4737 = true
		} else if len(yyv4737) != 0 {
			yyv4737 = yyv4737[:0]
			yyc4737 = true
		}
	} else if yyl4737 > 0 {
		var yyrr4737, yyrl4737 int
		var yyrt4737 bool
		if yyl4737 > cap(yyv4737) {

			yyrg4737 := len(yyv4737) > 0
			yyv24737 := yyv4737
			yyrl4737, yyrt4737 = z.DecInferLen(yyl4737, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt4737 {
				if yyrl4737 <= cap(yyv4737) {
					yyv4737 = yyv4737[:yyrl4737]
				} else {
					yyv4737 = make([]LoadBalancerIngress, yyrl4737)
				}
			} else {
				yyv4737 = make([]LoadBalancerIngress, yyrl4737)
			}
			yyc4737 = true
			yyrr4737 = len(yyv4737)
			if yyrg4737 {
				copy(yyv4737, yyv24737)
			}
		} else if yyl4737 != len(yyv4737) {
			yyv4737 = yyv4737[:yyl4737]
			yyc4737 = true
		}
		yyj4737 := 0
		for ; yyj4737 < yyrr4737; yyj4737++ {
			yyh4737.ElemContainerState(yyj4737)
			if r.TryDecodeAsNil() {
				yyv4737[yyj4737] = LoadBalancerIngress{}
			} else {
				yyv4738 := &yyv4737[yyj4737]
				yyv4738.CodecDecodeSelf(d)
			}

		}
		if yyrt4737 {
			for ; yyj4737 < yyl4737; yyj4737++ {
				yyv4737 = append(yyv4737, LoadBalancerIngress{})
				yyh4737.ElemContainerState(yyj4737)
				if r.TryDecodeAsNil() {
					yyv4737[yyj4737] = LoadBalancerIngress{}
				} else {
					yyv4739 := &yyv4737[yyj4737]
					yyv4739.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4737 >= len(yyv4737) {
				yyv4737 = append(yyv4737, LoadBalancerIngress{}) // var yyz4737 LoadBalancerIngress
				yyc4737 = true
			}
			yyh4737.ElemContainerState(yyj4737)
			if yyj4737 < len(yyv4737) {
				if r.TryDecodeAsNil() {
					yyv4737[yyj4737] = LoadBalancerIngress{}
				} else {
					yyv4740 := &yyv4737[yyj4737]
					yyv4740.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4737 < len(yyv4737) {
			yyv4737 = yyv4737[:yyj4737]
			yyc4737 = true
		} else if yyj4737 == 0 && yyv4737 == nil {
			yyv4737 = []LoadBalancerIngress{}
			yyc4737 = true
		}
	}
	yyh4737.End()
	if yyc4737 {
		*v = yyv4737
	}
}

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 _, yyv4741 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4742 := &yyv4741
		yy4742.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

	yyv4743 := *v
	yyh4743, yyl4743 := z.DecSliceHelperStart()
	var yyc4743 bool
	if yyl4743 == 0 {
		if yyv4743 == nil {
			yyv4743 = []ServicePort{}
			yyc4743 = true
		} else if len(yyv4743) != 0 {
			yyv4743 = yyv4743[:0]
			yyc4743 = true
		}
	} else if yyl4743 > 0 {
		var yyrr4743, yyrl4743 int
		var yyrt4743 bool
		if yyl4743 > cap(yyv4743) {

			yyrg4743 := len(yyv4743) > 0
			yyv24743 := yyv4743
			yyrl4743, yyrt4743 = z.DecInferLen(yyl4743, z.DecBasicHandle().MaxInitLen, 80)
			if yyrt4743 {
				if yyrl4743 <= cap(yyv4743) {
					yyv4743 = yyv4743[:yyrl4743]
				} else {
					yyv4743 = make([]ServicePort, yyrl4743)
				}
			} else {
				yyv4743 = make([]ServicePort, yyrl4743)
			}
			yyc4743 = true
			yyrr4743 = len(yyv4743)
			if yyrg4743 {
				copy(yyv4743, yyv24743)
			}
		} else if yyl4743 != len(yyv4743) {
			yyv4743 = yyv4743[:yyl4743]
			yyc4743 = true
		}
		yyj4743 := 0
		for ; yyj4743 < yyrr4743; yyj4743++ {
			yyh4743.ElemContainerState(yyj4743)
			if r.TryDecodeAsNil() {
				yyv4743[yyj4743] = ServicePort{}
			} else {
				yyv4744 := &yyv4743[yyj4743]
				yyv4744.CodecDecodeSelf(d)
			}

		}
		if yyrt4743 {
			for ; yyj4743 < yyl4743; yyj4743++ {
				yyv4743 = append(yyv4743, ServicePort{})
				yyh4743.ElemContainerState(yyj4743)
				if r.TryDecodeAsNil() {
					yyv4743[yyj4743] = ServicePort{}
				} else {
					yyv4745 := &yyv4743[yyj4743]
					yyv4745.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4743 >= len(yyv4743) {
				yyv4743 = append(yyv4743, ServicePort{}) // var yyz4743 ServicePort
				yyc4743 = true
			}
			yyh4743.ElemContainerState(yyj4743)
			if yyj4743 < len(yyv4743) {
				if r.TryDecodeAsNil() {
					yyv4743[yyj4743] = ServicePort{}
				} else {
					yyv4746 := &yyv4743[yyj4743]
					yyv4746.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4743 < len(yyv4743) {
			yyv4743 = yyv4743[:yyj4743]
			yyc4743 = true
		} else if yyj4743 == 0 && yyv4743 == nil {
			yyv4743 = []ServicePort{}
			yyc4743 = true
		}
	}
	yyh4743.End()
	if yyc4743 {
		*v = yyv4743
	}
}

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 _, yyv4747 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4748 := &yyv4747
		yy4748.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

	yyv4749 := *v
	yyh4749, yyl4749 := z.DecSliceHelperStart()
	var yyc4749 bool
	if yyl4749 == 0 {
		if yyv4749 == nil {
			yyv4749 = []ObjectReference{}
			yyc4749 = true
		} else if len(yyv4749) != 0 {
			yyv4749 = yyv4749[:0]
			yyc4749 = true
		}
	} else if yyl4749 > 0 {
		var yyrr4749, yyrl4749 int
		var yyrt4749 bool
		if yyl4749 > cap(yyv4749) {

			yyrg4749 := len(yyv4749) > 0
			yyv24749 := yyv4749
			yyrl4749, yyrt4749 = z.DecInferLen(yyl4749, z.DecBasicHandle().MaxInitLen, 112)
			if yyrt4749 {
				if yyrl4749 <= cap(yyv4749) {
					yyv4749 = yyv4749[:yyrl4749]
				} else {
					yyv4749 = make([]ObjectReference, yyrl4749)
				}
			} else {
				yyv4749 = make([]ObjectReference, yyrl4749)
			}
			yyc4749 = true
			yyrr4749 = len(yyv4749)
			if yyrg4749 {
				copy(yyv4749, yyv24749)
			}
		} else if yyl4749 != len(yyv4749) {
			yyv4749 = yyv4749[:yyl4749]
			yyc4749 = true
		}
		yyj4749 := 0
		for ; yyj4749 < yyrr4749; yyj4749++ {
			yyh4749.ElemContainerState(yyj4749)
			if r.TryDecodeAsNil() {
				yyv4749[yyj4749] = ObjectReference{}
			} else {
				yyv4750 := &yyv4749[yyj4749]
				yyv4750.CodecDecodeSelf(d)
			}

		}
		if yyrt4749 {
			for ; yyj4749 < yyl4749; yyj4749++ {
				yyv4749 = append(yyv4749, ObjectReference{})
				yyh4749.ElemContainerState(yyj4749)
				if r.TryDecodeAsNil() {
					yyv4749[yyj4749] = ObjectReference{}
				} else {
					yyv4751 := &yyv4749[yyj4749]
					yyv4751.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4749 >= len(yyv4749) {
				yyv4749 = append(yyv4749, ObjectReference{}) // var yyz4749 ObjectReference
				yyc4749 = true
			}
			yyh4749.ElemContainerState(yyj4749)
			if yyj4749 < len(yyv4749) {
				if r.TryDecodeAsNil() {
					yyv4749[yyj4749] = ObjectReference{}
				} else {
					yyv4752 := &yyv4749[yyj4749]
					yyv4752.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4749 < len(yyv4749) {
			yyv4749 = yyv4749[:yyj4749]
			yyc4749 = true
		} else if yyj4749 == 0 && yyv4749 == nil {
			yyv4749 = []ObjectReference{}
			yyc4749 = true
		}
	}
	yyh4749.End()
	if yyc4749 {
		*v = yyv4749
	}
}

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 _, yyv4753 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4754 := &yyv4753
		yy4754.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

	yyv4755 := *v
	yyh4755, yyl4755 := z.DecSliceHelperStart()
	var yyc4755 bool
	if yyl4755 == 0 {
		if yyv4755 == nil {
			yyv4755 = []ServiceAccount{}
			yyc4755 = true
		} else if len(yyv4755) != 0 {
			yyv4755 = yyv4755[:0]
			yyc4755 = true
		}
	} else if yyl4755 > 0 {
		var yyrr4755, yyrl4755 int
		var yyrt4755 bool
		if yyl4755 > cap(yyv4755) {

			yyrg4755 := len(yyv4755) > 0
			yyv24755 := yyv4755
			yyrl4755, yyrt4755 = z.DecInferLen(yyl4755, z.DecBasicHandle().MaxInitLen, 304)
			if yyrt4755 {
				if yyrl4755 <= cap(yyv4755) {
					yyv4755 = yyv4755[:yyrl4755]
				} else {
					yyv4755 = make([]ServiceAccount, yyrl4755)
				}
			} else {
				yyv4755 = make([]ServiceAccount, yyrl4755)
			}
			yyc4755 = true
			yyrr4755 = len(yyv4755)
			if yyrg4755 {
				copy(yyv4755, yyv24755)
			}
		} else if yyl4755 != len(yyv4755) {
			yyv4755 = yyv4755[:yyl4755]
			yyc4755 = true
		}
		yyj4755 := 0
		for ; yyj4755 < yyrr4755; yyj4755++ {
			yyh4755.ElemContainerState(yyj4755)
			if r.TryDecodeAsNil() {
				yyv4755[yyj4755] = ServiceAccount{}
			} else {
				yyv4756 := &yyv4755[yyj4755]
				yyv4756.CodecDecodeSelf(d)
			}

		}
		if yyrt4755 {
			for ; yyj4755 < yyl4755; yyj4755++ {
				yyv4755 = append(yyv4755, ServiceAccount{})
				yyh4755.ElemContainerState(yyj4755)
				if r.TryDecodeAsNil() {
					yyv4755[yyj4755] = ServiceAccount{}
				} else {
					yyv4757 := &yyv4755[yyj4755]
					yyv4757.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4755 >= len(yyv4755) {
				yyv4755 = append(yyv4755, ServiceAccount{}) // var yyz4755 ServiceAccount
				yyc4755 = true
			}
			yyh4755.ElemContainerState(yyj4755)
			if yyj4755 < len(yyv4755) {
				if r.TryDecodeAsNil() {
					yyv4755[yyj4755] = ServiceAccount{}
				} else {
					yyv4758 := &yyv4755[yyj4755]
					yyv4758.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4755 < len(yyv4755) {
			yyv4755 = yyv4755[:yyj4755]
			yyc4755 = true
		} else if yyj4755 == 0 && yyv4755 == nil {
			yyv4755 = []ServiceAccount{}
			yyc4755 = true
		}
	}
	yyh4755.End()
	if yyc4755 {
		*v = yyv4755
	}
}

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 _, yyv4759 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4760 := &yyv4759
		yy4760.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

	yyv4761 := *v
	yyh4761, yyl4761 := z.DecSliceHelperStart()
	var yyc4761 bool
	if yyl4761 == 0 {
		if yyv4761 == nil {
			yyv4761 = []EndpointSubset{}
			yyc4761 = true
		} else if len(yyv4761) != 0 {
			yyv4761 = yyv4761[:0]
			yyc4761 = true
		}
	} else if yyl4761 > 0 {
		var yyrr4761, yyrl4761 int
		var yyrt4761 bool
		if yyl4761 > cap(yyv4761) {

			yyrg4761 := len(yyv4761) > 0
			yyv24761 := yyv4761
			yyrl4761, yyrt4761 = z.DecInferLen(yyl4761, z.DecBasicHandle().MaxInitLen, 72)
			if yyrt4761 {
				if yyrl4761 <= cap(yyv4761) {
					yyv4761 = yyv4761[:yyrl4761]
				} else {
					yyv4761 = make([]EndpointSubset, yyrl4761)
				}
			} else {
				yyv4761 = make([]EndpointSubset, yyrl4761)
			}
			yyc4761 = true
			yyrr4761 = len(yyv4761)
			if yyrg4761 {
				copy(yyv4761, yyv24761)
			}
		} else if yyl4761 != len(yyv4761) {
			yyv4761 = yyv4761[:yyl4761]
			yyc4761 = true
		}
		yyj4761 := 0
		for ; yyj4761 < yyrr4761; yyj4761++ {
			yyh4761.ElemContainerState(yyj4761)
			if r.TryDecodeAsNil() {
				yyv4761[yyj4761] = EndpointSubset{}
			} else {
				yyv4762 := &yyv4761[yyj4761]
				yyv4762.CodecDecodeSelf(d)
			}

		}
		if yyrt4761 {
			for ; yyj4761 < yyl4761; yyj4761++ {
				yyv4761 = append(yyv4761, EndpointSubset{})
				yyh4761.ElemContainerState(yyj4761)
				if r.TryDecodeAsNil() {
					yyv4761[yyj4761] = EndpointSubset{}
				} else {
					yyv4763 := &yyv4761[yyj4761]
					yyv4763.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4761 >= len(yyv4761) {
				yyv4761 = append(yyv4761, EndpointSubset{}) // var yyz4761 EndpointSubset
				yyc4761 = true
			}
			yyh4761.ElemContainerState(yyj4761)
			if yyj4761 < len(yyv4761) {
				if r.TryDecodeAsNil() {
					yyv4761[yyj4761] = EndpointSubset{}
				} else {
					yyv4764 := &yyv4761[yyj4761]
					yyv4764.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4761 < len(yyv4761) {
			yyv4761 = yyv4761[:yyj4761]
			yyc4761 = true
		} else if yyj4761 == 0 && yyv4761 == nil {
			yyv4761 = []EndpointSubset{}
			yyc4761 = true
		}
	}
	yyh4761.End()
	if yyc4761 {
		*v = yyv4761
	}
}

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 _, yyv4765 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4766 := &yyv4765
		yy4766.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

	yyv4767 := *v
	yyh4767, yyl4767 := z.DecSliceHelperStart()
	var yyc4767 bool
	if yyl4767 == 0 {
		if yyv4767 == nil {
			yyv4767 = []EndpointAddress{}
			yyc4767 = true
		} else if len(yyv4767) != 0 {
			yyv4767 = yyv4767[:0]
			yyc4767 = true
		}
	} else if yyl4767 > 0 {
		var yyrr4767, yyrl4767 int
		var yyrt4767 bool
		if yyl4767 > cap(yyv4767) {

			yyrg4767 := len(yyv4767) > 0
			yyv24767 := yyv4767
			yyrl4767, yyrt4767 = z.DecInferLen(yyl4767, z.DecBasicHandle().MaxInitLen, 48)
			if yyrt4767 {
				if yyrl4767 <= cap(yyv4767) {
					yyv4767 = yyv4767[:yyrl4767]
				} else {
					yyv4767 = make([]EndpointAddress, yyrl4767)
				}
			} else {
				yyv4767 = make([]EndpointAddress, yyrl4767)
			}
			yyc4767 = true
			yyrr4767 = len(yyv4767)
			if yyrg4767 {
				copy(yyv4767, yyv24767)
			}
		} else if yyl4767 != len(yyv4767) {
			yyv4767 = yyv4767[:yyl4767]
			yyc4767 = true
		}
		yyj4767 := 0
		for ; yyj4767 < yyrr4767; yyj4767++ {
			yyh4767.ElemContainerState(yyj4767)
			if r.TryDecodeAsNil() {
				yyv4767[yyj4767] = EndpointAddress{}
			} else {
				yyv4768 := &yyv4767[yyj4767]
				yyv4768.CodecDecodeSelf(d)
			}

		}
		if yyrt4767 {
			for ; yyj4767 < yyl4767; yyj4767++ {
				yyv4767 = append(yyv4767, EndpointAddress{})
				yyh4767.ElemContainerState(yyj4767)
				if r.TryDecodeAsNil() {
					yyv4767[yyj4767] = EndpointAddress{}
				} else {
					yyv4769 := &yyv4767[yyj4767]
					yyv4769.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4767 >= len(yyv4767) {
				yyv4767 = append(yyv4767, EndpointAddress{}) // var yyz4767 EndpointAddress
				yyc4767 = true
			}
			yyh4767.ElemContainerState(yyj4767)
			if yyj4767 < len(yyv4767) {
				if r.TryDecodeAsNil() {
					yyv4767[yyj4767] = EndpointAddress{}
				} else {
					yyv4770 := &yyv4767[yyj4767]
					yyv4770.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4767 < len(yyv4767) {
			yyv4767 = yyv4767[:yyj4767]
			yyc4767 = true
		} else if yyj4767 == 0 && yyv4767 == nil {
			yyv4767 = []EndpointAddress{}
			yyc4767 = true
		}
	}
	yyh4767.End()
	if yyc4767 {
		*v = yyv4767
	}
}

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 _, yyv4771 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4772 := &yyv4771
		yy4772.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

	yyv4773 := *v
	yyh4773, yyl4773 := z.DecSliceHelperStart()
	var yyc4773 bool
	if yyl4773 == 0 {
		if yyv4773 == nil {
			yyv4773 = []EndpointPort{}
			yyc4773 = true
		} else if len(yyv4773) != 0 {
			yyv4773 = yyv4773[:0]
			yyc4773 = true
		}
	} else if yyl4773 > 0 {
		var yyrr4773, yyrl4773 int
		var yyrt4773 bool
		if yyl4773 > cap(yyv4773) {

			yyrg4773 := len(yyv4773) > 0
			yyv24773 := yyv4773
			yyrl4773, yyrt4773 = z.DecInferLen(yyl4773, z.DecBasicHandle().MaxInitLen, 40)
			if yyrt4773 {
				if yyrl4773 <= cap(yyv4773) {
					yyv4773 = yyv4773[:yyrl4773]
				} else {
					yyv4773 = make([]EndpointPort, yyrl4773)
				}
			} else {
				yyv4773 = make([]EndpointPort, yyrl4773)
			}
			yyc4773 = true
			yyrr4773 = len(yyv4773)
			if yyrg4773 {
				copy(yyv4773, yyv24773)
			}
		} else if yyl4773 != len(yyv4773) {
			yyv4773 = yyv4773[:yyl4773]
			yyc4773 = true
		}
		yyj4773 := 0
		for ; yyj4773 < yyrr4773; yyj4773++ {
			yyh4773.ElemContainerState(yyj4773)
			if r.TryDecodeAsNil() {
				yyv4773[yyj4773] = EndpointPort{}
			} else {
				yyv4774 := &yyv4773[yyj4773]
				yyv4774.CodecDecodeSelf(d)
			}

		}
		if yyrt4773 {
			for ; yyj4773 < yyl4773; yyj4773++ {
				yyv4773 = append(yyv4773, EndpointPort{})
				yyh4773.ElemContainerState(yyj4773)
				if r.TryDecodeAsNil() {
					yyv4773[yyj4773] = EndpointPort{}
				} else {
					yyv4775 := &yyv4773[yyj4773]
					yyv4775.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4773 >= len(yyv4773) {
				yyv4773 = append(yyv4773, EndpointPort{}) // var yyz4773 EndpointPort
				yyc4773 = true
			}
			yyh4773.ElemContainerState(yyj4773)
			if yyj4773 < len(yyv4773) {
				if r.TryDecodeAsNil() {
					yyv4773[yyj4773] = EndpointPort{}
				} else {
					yyv4776 := &yyv4773[yyj4773]
					yyv4776.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4773 < len(yyv4773) {
			yyv4773 = yyv4773[:yyj4773]
			yyc4773 = true
		} else if yyj4773 == 0 && yyv4773 == nil {
			yyv4773 = []EndpointPort{}
			yyc4773 = true
		}
	}
	yyh4773.End()
	if yyc4773 {
		*v = yyv4773
	}
}

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 _, yyv4777 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4778 := &yyv4777
		yy4778.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

	yyv4779 := *v
	yyh4779, yyl4779 := z.DecSliceHelperStart()
	var yyc4779 bool
	if yyl4779 == 0 {
		if yyv4779 == nil {
			yyv4779 = []Endpoints{}
			yyc4779 = true
		} else if len(yyv4779) != 0 {
			yyv4779 = yyv4779[:0]
			yyc4779 = true
		}
	} else if yyl4779 > 0 {
		var yyrr4779, yyrl4779 int
		var yyrt4779 bool
		if yyl4779 > cap(yyv4779) {

			yyrg4779 := len(yyv4779) > 0
			yyv24779 := yyv4779
			yyrl4779, yyrt4779 = z.DecInferLen(yyl4779, z.DecBasicHandle().MaxInitLen, 280)
			if yyrt4779 {
				if yyrl4779 <= cap(yyv4779) {
					yyv4779 = yyv4779[:yyrl4779]
				} else {
					yyv4779 = make([]Endpoints, yyrl4779)
				}
			} else {
				yyv4779 = make([]Endpoints, yyrl4779)
			}
			yyc4779 = true
			yyrr4779 = len(yyv4779)
			if yyrg4779 {
				copy(yyv4779, yyv24779)
			}
		} else if yyl4779 != len(yyv4779) {
			yyv4779 = yyv4779[:yyl4779]
			yyc4779 = true
		}
		yyj4779 := 0
		for ; yyj4779 < yyrr4779; yyj4779++ {
			yyh4779.ElemContainerState(yyj4779)
			if r.TryDecodeAsNil() {
				yyv4779[yyj4779] = Endpoints{}
			} else {
				yyv4780 := &yyv4779[yyj4779]
				yyv4780.CodecDecodeSelf(d)
			}

		}
		if yyrt4779 {
			for ; yyj4779 < yyl4779; yyj4779++ {
				yyv4779 = append(yyv4779, Endpoints{})
				yyh4779.ElemContainerState(yyj4779)
				if r.TryDecodeAsNil() {
					yyv4779[yyj4779] = Endpoints{}
				} else {
					yyv4781 := &yyv4779[yyj4779]
					yyv4781.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4779 >= len(yyv4779) {
				yyv4779 = append(yyv4779, Endpoints{}) // var yyz4779 Endpoints
				yyc4779 = true
			}
			yyh4779.ElemContainerState(yyj4779)
			if yyj4779 < len(yyv4779) {
				if r.TryDecodeAsNil() {
					yyv4779[yyj4779] = Endpoints{}
				} else {
					yyv4782 := &yyv4779[yyj4779]
					yyv4782.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4779 < len(yyv4779) {
			yyv4779 = yyv4779[:yyj4779]
			yyc4779 = true
		} else if yyj4779 == 0 && yyv4779 == nil {
			yyv4779 = []Endpoints{}
			yyc4779 = true
		}
	}
	yyh4779.End()
	if yyc4779 {
		*v = yyv4779
	}
}

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 _, yyv4783 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4784 := &yyv4783
		yy4784.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

	yyv4785 := *v
	yyh4785, yyl4785 := z.DecSliceHelperStart()
	var yyc4785 bool
	if yyl4785 == 0 {
		if yyv4785 == nil {
			yyv4785 = []NodeCondition{}
			yyc4785 = true
		} else if len(yyv4785) != 0 {
			yyv4785 = yyv4785[:0]
			yyc4785 = true
		}
	} else if yyl4785 > 0 {
		var yyrr4785, yyrl4785 int
		var yyrt4785 bool
		if yyl4785 > cap(yyv4785) {

			yyrg4785 := len(yyv4785) > 0
			yyv24785 := yyv4785
			yyrl4785, yyrt4785 = z.DecInferLen(yyl4785, z.DecBasicHandle().MaxInitLen, 112)
			if yyrt4785 {
				if yyrl4785 <= cap(yyv4785) {
					yyv4785 = yyv4785[:yyrl4785]
				} else {
					yyv4785 = make([]NodeCondition, yyrl4785)
				}
			} else {
				yyv4785 = make([]NodeCondition, yyrl4785)
			}
			yyc4785 = true
			yyrr4785 = len(yyv4785)
			if yyrg4785 {
				copy(yyv4785, yyv24785)
			}
		} else if yyl4785 != len(yyv4785) {
			yyv4785 = yyv4785[:yyl4785]
			yyc4785 = true
		}
		yyj4785 := 0
		for ; yyj4785 < yyrr4785; yyj4785++ {
			yyh4785.ElemContainerState(yyj4785)
			if r.TryDecodeAsNil() {
				yyv4785[yyj4785] = NodeCondition{}
			} else {
				yyv4786 := &yyv4785[yyj4785]
				yyv4786.CodecDecodeSelf(d)
			}

		}
		if yyrt4785 {
			for ; yyj4785 < yyl4785; yyj4785++ {
				yyv4785 = append(yyv4785, NodeCondition{})
				yyh4785.ElemContainerState(yyj4785)
				if r.TryDecodeAsNil() {
					yyv4785[yyj4785] = NodeCondition{}
				} else {
					yyv4787 := &yyv4785[yyj4785]
					yyv4787.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4785 >= len(yyv4785) {
				yyv4785 = append(yyv4785, NodeCondition{}) // var yyz4785 NodeCondition
				yyc4785 = true
			}
			yyh4785.ElemContainerState(yyj4785)
			if yyj4785 < len(yyv4785) {
				if r.TryDecodeAsNil() {
					yyv4785[yyj4785] = NodeCondition{}
				} else {
					yyv4788 := &yyv4785[yyj4785]
					yyv4788.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4785 < len(yyv4785) {
			yyv4785 = yyv4785[:yyj4785]
			yyc4785 = true
		} else if yyj4785 == 0 && yyv4785 == nil {
			yyv4785 = []NodeCondition{}
			yyc4785 = true
		}
	}
	yyh4785.End()
	if yyc4785 {
		*v = yyv4785
	}
}

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 _, yyv4789 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4790 := &yyv4789
		yy4790.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

	yyv4791 := *v
	yyh4791, yyl4791 := z.DecSliceHelperStart()
	var yyc4791 bool
	if yyl4791 == 0 {
		if yyv4791 == nil {
			yyv4791 = []NodeAddress{}
			yyc4791 = true
		} else if len(yyv4791) != 0 {
			yyv4791 = yyv4791[:0]
			yyc4791 = true
		}
	} else if yyl4791 > 0 {
		var yyrr4791, yyrl4791 int
		var yyrt4791 bool
		if yyl4791 > cap(yyv4791) {

			yyrg4791 := len(yyv4791) > 0
			yyv24791 := yyv4791
			yyrl4791, yyrt4791 = z.DecInferLen(yyl4791, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt4791 {
				if yyrl4791 <= cap(yyv4791) {
					yyv4791 = yyv4791[:yyrl4791]
				} else {
					yyv4791 = make([]NodeAddress, yyrl4791)
				}
			} else {
				yyv4791 = make([]NodeAddress, yyrl4791)
			}
			yyc4791 = true
			yyrr4791 = len(yyv4791)
			if yyrg4791 {
				copy(yyv4791, yyv24791)
			}
		} else if yyl4791 != len(yyv4791) {
			yyv4791 = yyv4791[:yyl4791]
			yyc4791 = true
		}
		yyj4791 := 0
		for ; yyj4791 < yyrr4791; yyj4791++ {
			yyh4791.ElemContainerState(yyj4791)
			if r.TryDecodeAsNil() {
				yyv4791[yyj4791] = NodeAddress{}
			} else {
				yyv4792 := &yyv4791[yyj4791]
				yyv4792.CodecDecodeSelf(d)
			}

		}
		if yyrt4791 {
			for ; yyj4791 < yyl4791; yyj4791++ {
				yyv4791 = append(yyv4791, NodeAddress{})
				yyh4791.ElemContainerState(yyj4791)
				if r.TryDecodeAsNil() {
					yyv4791[yyj4791] = NodeAddress{}
				} else {
					yyv4793 := &yyv4791[yyj4791]
					yyv4793.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4791 >= len(yyv4791) {
				yyv4791 = append(yyv4791, NodeAddress{}) // var yyz4791 NodeAddress
				yyc4791 = true
			}
			yyh4791.ElemContainerState(yyj4791)
			if yyj4791 < len(yyv4791) {
				if r.TryDecodeAsNil() {
					yyv4791[yyj4791] = NodeAddress{}
				} else {
					yyv4794 := &yyv4791[yyj4791]
					yyv4794.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4791 < len(yyv4791) {
			yyv4791 = yyv4791[:yyj4791]
			yyc4791 = true
		} else if yyj4791 == 0 && yyv4791 == nil {
			yyv4791 = []NodeAddress{}
			yyc4791 = true
		}
	}
	yyh4791.End()
	if yyc4791 {
		*v = yyv4791
	}
}

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 _, yyv4795 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4796 := &yyv4795
		yy4796.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

	yyv4797 := *v
	yyh4797, yyl4797 := z.DecSliceHelperStart()
	var yyc4797 bool
	if yyl4797 == 0 {
		if yyv4797 == nil {
			yyv4797 = []ContainerImage{}
			yyc4797 = true
		} else if len(yyv4797) != 0 {
			yyv4797 = yyv4797[:0]
			yyc4797 = true
		}
	} else if yyl4797 > 0 {
		var yyrr4797, yyrl4797 int
		var yyrt4797 bool
		if yyl4797 > cap(yyv4797) {

			yyrg4797 := len(yyv4797) > 0
			yyv24797 := yyv4797
			yyrl4797, yyrt4797 = z.DecInferLen(yyl4797, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt4797 {
				if yyrl4797 <= cap(yyv4797) {
					yyv4797 = yyv4797[:yyrl4797]
				} else {
					yyv4797 = make([]ContainerImage, yyrl4797)
				}
			} else {
				yyv4797 = make([]ContainerImage, yyrl4797)
			}
			yyc4797 = true
			yyrr4797 = len(yyv4797)
			if yyrg4797 {
				copy(yyv4797, yyv24797)
			}
		} else if yyl4797 != len(yyv4797) {
			yyv4797 = yyv4797[:yyl4797]
			yyc4797 = true
		}
		yyj4797 := 0
		for ; yyj4797 < yyrr4797; yyj4797++ {
			yyh4797.ElemContainerState(yyj4797)
			if r.TryDecodeAsNil() {
				yyv4797[yyj4797] = ContainerImage{}
			} else {
				yyv4798 := &yyv4797[yyj4797]
				yyv4798.CodecDecodeSelf(d)
			}

		}
		if yyrt4797 {
			for ; yyj4797 < yyl4797; yyj4797++ {
				yyv4797 = append(yyv4797, ContainerImage{})
				yyh4797.ElemContainerState(yyj4797)
				if r.TryDecodeAsNil() {
					yyv4797[yyj4797] = ContainerImage{}
				} else {
					yyv4799 := &yyv4797[yyj4797]
					yyv4799.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4797 >= len(yyv4797) {
				yyv4797 = append(yyv4797, ContainerImage{}) // var yyz4797 ContainerImage
				yyc4797 = true
			}
			yyh4797.ElemContainerState(yyj4797)
			if yyj4797 < len(yyv4797) {
				if r.TryDecodeAsNil() {
					yyv4797[yyj4797] = ContainerImage{}
				} else {
					yyv4800 := &yyv4797[yyj4797]
					yyv4800.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4797 < len(yyv4797) {
			yyv4797 = yyv4797[:yyj4797]
			yyc4797 = true
		} else if yyj4797 == 0 && yyv4797 == nil {
			yyv4797 = []ContainerImage{}
			yyc4797 = true
		}
	}
	yyh4797.End()
	if yyc4797 {
		*v = yyv4797
	}
}

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 _, yyv4801 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yyv4801.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

	yyv4802 := *v
	yyh4802, yyl4802 := z.DecSliceHelperStart()
	var yyc4802 bool
	if yyl4802 == 0 {
		if yyv4802 == nil {
			yyv4802 = []UniqueVolumeName{}
			yyc4802 = true
		} else if len(yyv4802) != 0 {
			yyv4802 = yyv4802[:0]
			yyc4802 = true
		}
	} else if yyl4802 > 0 {
		var yyrr4802, yyrl4802 int
		var yyrt4802 bool
		if yyl4802 > cap(yyv4802) {

			yyrl4802, yyrt4802 = z.DecInferLen(yyl4802, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt4802 {
				if yyrl4802 <= cap(yyv4802) {
					yyv4802 = yyv4802[:yyrl4802]
				} else {
					yyv4802 = make([]UniqueVolumeName, yyrl4802)
				}
			} else {
				yyv4802 = make([]UniqueVolumeName, yyrl4802)
			}
			yyc4802 = true
			yyrr4802 = len(yyv4802)
		} else if yyl4802 != len(yyv4802) {
			yyv4802 = yyv4802[:yyl4802]
			yyc4802 = true
		}
		yyj4802 := 0
		for ; yyj4802 < yyrr4802; yyj4802++ {
			yyh4802.ElemContainerState(yyj4802)
			if r.TryDecodeAsNil() {
				yyv4802[yyj4802] = ""
			} else {
				yyv4802[yyj4802] = UniqueVolumeName(r.DecodeString())
			}

		}
		if yyrt4802 {
			for ; yyj4802 < yyl4802; yyj4802++ {
				yyv4802 = append(yyv4802, "")
				yyh4802.ElemContainerState(yyj4802)
				if r.TryDecodeAsNil() {
					yyv4802[yyj4802] = ""
				} else {
					yyv4802[yyj4802] = UniqueVolumeName(r.DecodeString())
				}

			}
		}

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

			if yyj4802 >= len(yyv4802) {
				yyv4802 = append(yyv4802, "") // var yyz4802 UniqueVolumeName
				yyc4802 = true
			}
			yyh4802.ElemContainerState(yyj4802)
			if yyj4802 < len(yyv4802) {
				if r.TryDecodeAsNil() {
					yyv4802[yyj4802] = ""
				} else {
					yyv4802[yyj4802] = UniqueVolumeName(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4802 < len(yyv4802) {
			yyv4802 = yyv4802[:yyj4802]
			yyc4802 = true
		} else if yyj4802 == 0 && yyv4802 == nil {
			yyv4802 = []UniqueVolumeName{}
			yyc4802 = true
		}
	}
	yyh4802.End()
	if yyc4802 {
		*v = yyv4802
	}
}

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 _, yyv4806 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4807 := &yyv4806
		yy4807.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

	yyv4808 := *v
	yyh4808, yyl4808 := z.DecSliceHelperStart()
	var yyc4808 bool
	if yyl4808 == 0 {
		if yyv4808 == nil {
			yyv4808 = []AttachedVolume{}
			yyc4808 = true
		} else if len(yyv4808) != 0 {
			yyv4808 = yyv4808[:0]
			yyc4808 = true
		}
	} else if yyl4808 > 0 {
		var yyrr4808, yyrl4808 int
		var yyrt4808 bool
		if yyl4808 > cap(yyv4808) {

			yyrg4808 := len(yyv4808) > 0
			yyv24808 := yyv4808
			yyrl4808, yyrt4808 = z.DecInferLen(yyl4808, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt4808 {
				if yyrl4808 <= cap(yyv4808) {
					yyv4808 = yyv4808[:yyrl4808]
				} else {
					yyv4808 = make([]AttachedVolume, yyrl4808)
				}
			} else {
				yyv4808 = make([]AttachedVolume, yyrl4808)
			}
			yyc4808 = true
			yyrr4808 = len(yyv4808)
			if yyrg4808 {
				copy(yyv4808, yyv24808)
			}
		} else if yyl4808 != len(yyv4808) {
			yyv4808 = yyv4808[:yyl4808]
			yyc4808 = true
		}
		yyj4808 := 0
		for ; yyj4808 < yyrr4808; yyj4808++ {
			yyh4808.ElemContainerState(yyj4808)
			if r.TryDecodeAsNil() {
				yyv4808[yyj4808] = AttachedVolume{}
			} else {
				yyv4809 := &yyv4808[yyj4808]
				yyv4809.CodecDecodeSelf(d)
			}

		}
		if yyrt4808 {
			for ; yyj4808 < yyl4808; yyj4808++ {
				yyv4808 = append(yyv4808, AttachedVolume{})
				yyh4808.ElemContainerState(yyj4808)
				if r.TryDecodeAsNil() {
					yyv4808[yyj4808] = AttachedVolume{}
				} else {
					yyv4810 := &yyv4808[yyj4808]
					yyv4810.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4808 >= len(yyv4808) {
				yyv4808 = append(yyv4808, AttachedVolume{}) // var yyz4808 AttachedVolume
				yyc4808 = true
			}
			yyh4808.ElemContainerState(yyj4808)
			if yyj4808 < len(yyv4808) {
				if r.TryDecodeAsNil() {
					yyv4808[yyj4808] = AttachedVolume{}
				} else {
					yyv4811 := &yyv4808[yyj4808]
					yyv4811.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4808 < len(yyv4808) {
			yyv4808 = yyv4808[:yyj4808]
			yyc4808 = true
		} else if yyj4808 == 0 && yyv4808 == nil {
			yyv4808 = []AttachedVolume{}
			yyc4808 = true
		}
	}
	yyh4808.End()
	if yyc4808 {
		*v = yyv4808
	}
}

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 _, yyv4812 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4813 := &yyv4812
		yy4813.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

	yyv4814 := *v
	yyh4814, yyl4814 := z.DecSliceHelperStart()
	var yyc4814 bool
	if yyl4814 == 0 {
		if yyv4814 == nil {
			yyv4814 = []PreferAvoidPodsEntry{}
			yyc4814 = true
		} else if len(yyv4814) != 0 {
			yyv4814 = yyv4814[:0]
			yyc4814 = true
		}
	} else if yyl4814 > 0 {
		var yyrr4814, yyrl4814 int
		var yyrt4814 bool
		if yyl4814 > cap(yyv4814) {

			yyrg4814 := len(yyv4814) > 0
			yyv24814 := yyv4814
			yyrl4814, yyrt4814 = z.DecInferLen(yyl4814, z.DecBasicHandle().MaxInitLen, 64)
			if yyrt4814 {
				if yyrl4814 <= cap(yyv4814) {
					yyv4814 = yyv4814[:yyrl4814]
				} else {
					yyv4814 = make([]PreferAvoidPodsEntry, yyrl4814)
				}
			} else {
				yyv4814 = make([]PreferAvoidPodsEntry, yyrl4814)
			}
			yyc4814 = true
			yyrr4814 = len(yyv4814)
			if yyrg4814 {
				copy(yyv4814, yyv24814)
			}
		} else if yyl4814 != len(yyv4814) {
			yyv4814 = yyv4814[:yyl4814]
			yyc4814 = true
		}
		yyj4814 := 0
		for ; yyj4814 < yyrr4814; yyj4814++ {
			yyh4814.ElemContainerState(yyj4814)
			if r.TryDecodeAsNil() {
				yyv4814[yyj4814] = PreferAvoidPodsEntry{}
			} else {
				yyv4815 := &yyv4814[yyj4814]
				yyv4815.CodecDecodeSelf(d)
			}

		}
		if yyrt4814 {
			for ; yyj4814 < yyl4814; yyj4814++ {
				yyv4814 = append(yyv4814, PreferAvoidPodsEntry{})
				yyh4814.ElemContainerState(yyj4814)
				if r.TryDecodeAsNil() {
					yyv4814[yyj4814] = PreferAvoidPodsEntry{}
				} else {
					yyv4816 := &yyv4814[yyj4814]
					yyv4816.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4814 >= len(yyv4814) {
				yyv4814 = append(yyv4814, PreferAvoidPodsEntry{}) // var yyz4814 PreferAvoidPodsEntry
				yyc4814 = true
			}
			yyh4814.ElemContainerState(yyj4814)
			if yyj4814 < len(yyv4814) {
				if r.TryDecodeAsNil() {
					yyv4814[yyj4814] = PreferAvoidPodsEntry{}
				} else {
					yyv4817 := &yyv4814[yyj4814]
					yyv4817.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4814 < len(yyv4814) {
			yyv4814 = yyv4814[:yyj4814]
			yyc4814 = true
		} else if yyj4814 == 0 && yyv4814 == nil {
			yyv4814 = []PreferAvoidPodsEntry{}
			yyc4814 = true
		}
	}
	yyh4814.End()
	if yyc4814 {
		*v = yyv4814
	}
}

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 yyk4818, yyv4818 := range v {
		z.EncSendContainerState(codecSelfer_containerMapKey1234)
		yyk4818.CodecEncodeSelf(e)
		z.EncSendContainerState(codecSelfer_containerMapValue1234)
		yy4819 := &yyv4818
		yym4820 := z.EncBinary()
		_ = yym4820
		if false {
		} else if z.HasExtensions() && z.EncExt(yy4819) {
		} else if !yym4820 && z.IsJSONHandle() {
			z.EncJSONMarshal(yy4819)
		} else {
			z.EncFallback(yy4819)
		}
	}
	z.EncSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x codecSelfer1234) decResourceList(v *ResourceList, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4821 := *v
	yyl4821 := r.ReadMapStart()
	yybh4821 := z.DecBasicHandle()
	if yyv4821 == nil {
		yyrl4821, _ := z.DecInferLen(yyl4821, yybh4821.MaxInitLen, 72)
		yyv4821 = make(map[ResourceName]pkg3_resource.Quantity, yyrl4821)
		*v = yyv4821
	}
	var yymk4821 ResourceName
	var yymv4821 pkg3_resource.Quantity
	var yymg4821 bool
	if yybh4821.MapValueReset {
		yymg4821 = true
	}
	if yyl4821 > 0 {
		for yyj4821 := 0; yyj4821 < yyl4821; yyj4821++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1234)
			if r.TryDecodeAsNil() {
				yymk4821 = ""
			} else {
				yymk4821 = ResourceName(r.DecodeString())
			}

			if yymg4821 {
				yymv4821 = yyv4821[yymk4821]
			} else {
				yymv4821 = pkg3_resource.Quantity{}
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1234)
			if r.TryDecodeAsNil() {
				yymv4821 = pkg3_resource.Quantity{}
			} else {
				yyv4823 := &yymv4821
				yym4824 := z.DecBinary()
				_ = yym4824
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4823) {
				} else if !yym4824 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv4823)
				} else {
					z.DecFallback(yyv4823, false)
				}
			}

			if yyv4821 != nil {
				yyv4821[yymk4821] = yymv4821
			}
		}
	} else if yyl4821 < 0 {
		for yyj4821 := 0; !r.CheckBreak(); yyj4821++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1234)
			if r.TryDecodeAsNil() {
				yymk4821 = ""
			} else {
				yymk4821 = ResourceName(r.DecodeString())
			}

			if yymg4821 {
				yymv4821 = yyv4821[yymk4821]
			} else {
				yymv4821 = pkg3_resource.Quantity{}
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1234)
			if r.TryDecodeAsNil() {
				yymv4821 = pkg3_resource.Quantity{}
			} else {
				yyv4826 := &yymv4821
				yym4827 := z.DecBinary()
				_ = yym4827
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4826) {
				} else if !yym4827 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv4826)
				} else {
					z.DecFallback(yyv4826, false)
				}
			}

			if yyv4821 != nil {
				yyv4821[yymk4821] = yymv4821
			}
		}
	} // 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 _, yyv4828 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4829 := &yyv4828
		yy4829.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

	yyv4830 := *v
	yyh4830, yyl4830 := z.DecSliceHelperStart()
	var yyc4830 bool
	if yyl4830 == 0 {
		if yyv4830 == nil {
			yyv4830 = []Node{}
			yyc4830 = true
		} else if len(yyv4830) != 0 {
			yyv4830 = yyv4830[:0]
			yyc4830 = true
		}
	} else if yyl4830 > 0 {
		var yyrr4830, yyrl4830 int
		var yyrt4830 bool
		if yyl4830 > cap(yyv4830) {

			yyrg4830 := len(yyv4830) > 0
			yyv24830 := yyv4830
			yyrl4830, yyrt4830 = z.DecInferLen(yyl4830, z.DecBasicHandle().MaxInitLen, 632)
			if yyrt4830 {
				if yyrl4830 <= cap(yyv4830) {
					yyv4830 = yyv4830[:yyrl4830]
				} else {
					yyv4830 = make([]Node, yyrl4830)
				}
			} else {
				yyv4830 = make([]Node, yyrl4830)
			}
			yyc4830 = true
			yyrr4830 = len(yyv4830)
			if yyrg4830 {
				copy(yyv4830, yyv24830)
			}
		} else if yyl4830 != len(yyv4830) {
			yyv4830 = yyv4830[:yyl4830]
			yyc4830 = true
		}
		yyj4830 := 0
		for ; yyj4830 < yyrr4830; yyj4830++ {
			yyh4830.ElemContainerState(yyj4830)
			if r.TryDecodeAsNil() {
				yyv4830[yyj4830] = Node{}
			} else {
				yyv4831 := &yyv4830[yyj4830]
				yyv4831.CodecDecodeSelf(d)
			}

		}
		if yyrt4830 {
			for ; yyj4830 < yyl4830; yyj4830++ {
				yyv4830 = append(yyv4830, Node{})
				yyh4830.ElemContainerState(yyj4830)
				if r.TryDecodeAsNil() {
					yyv4830[yyj4830] = Node{}
				} else {
					yyv4832 := &yyv4830[yyj4830]
					yyv4832.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4830 >= len(yyv4830) {
				yyv4830 = append(yyv4830, Node{}) // var yyz4830 Node
				yyc4830 = true
			}
			yyh4830.ElemContainerState(yyj4830)
			if yyj4830 < len(yyv4830) {
				if r.TryDecodeAsNil() {
					yyv4830[yyj4830] = Node{}
				} else {
					yyv4833 := &yyv4830[yyj4830]
					yyv4833.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4830 < len(yyv4830) {
			yyv4830 = yyv4830[:yyj4830]
			yyc4830 = true
		} else if yyj4830 == 0 && yyv4830 == nil {
			yyv4830 = []Node{}
			yyc4830 = true
		}
	}
	yyh4830.End()
	if yyc4830 {
		*v = yyv4830
	}
}

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 _, yyv4834 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yyv4834.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

	yyv4835 := *v
	yyh4835, yyl4835 := z.DecSliceHelperStart()
	var yyc4835 bool
	if yyl4835 == 0 {
		if yyv4835 == nil {
			yyv4835 = []FinalizerName{}
			yyc4835 = true
		} else if len(yyv4835) != 0 {
			yyv4835 = yyv4835[:0]
			yyc4835 = true
		}
	} else if yyl4835 > 0 {
		var yyrr4835, yyrl4835 int
		var yyrt4835 bool
		if yyl4835 > cap(yyv4835) {

			yyrl4835, yyrt4835 = z.DecInferLen(yyl4835, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt4835 {
				if yyrl4835 <= cap(yyv4835) {
					yyv4835 = yyv4835[:yyrl4835]
				} else {
					yyv4835 = make([]FinalizerName, yyrl4835)
				}
			} else {
				yyv4835 = make([]FinalizerName, yyrl4835)
			}
			yyc4835 = true
			yyrr4835 = len(yyv4835)
		} else if yyl4835 != len(yyv4835) {
			yyv4835 = yyv4835[:yyl4835]
			yyc4835 = true
		}
		yyj4835 := 0
		for ; yyj4835 < yyrr4835; yyj4835++ {
			yyh4835.ElemContainerState(yyj4835)
			if r.TryDecodeAsNil() {
				yyv4835[yyj4835] = ""
			} else {
				yyv4835[yyj4835] = FinalizerName(r.DecodeString())
			}

		}
		if yyrt4835 {
			for ; yyj4835 < yyl4835; yyj4835++ {
				yyv4835 = append(yyv4835, "")
				yyh4835.ElemContainerState(yyj4835)
				if r.TryDecodeAsNil() {
					yyv4835[yyj4835] = ""
				} else {
					yyv4835[yyj4835] = FinalizerName(r.DecodeString())
				}

			}
		}

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

			if yyj4835 >= len(yyv4835) {
				yyv4835 = append(yyv4835, "") // var yyz4835 FinalizerName
				yyc4835 = true
			}
			yyh4835.ElemContainerState(yyj4835)
			if yyj4835 < len(yyv4835) {
				if r.TryDecodeAsNil() {
					yyv4835[yyj4835] = ""
				} else {
					yyv4835[yyj4835] = FinalizerName(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4835 < len(yyv4835) {
			yyv4835 = yyv4835[:yyj4835]
			yyc4835 = true
		} else if yyj4835 == 0 && yyv4835 == nil {
			yyv4835 = []FinalizerName{}
			yyc4835 = true
		}
	}
	yyh4835.End()
	if yyc4835 {
		*v = yyv4835
	}
}

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 _, yyv4839 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4840 := &yyv4839
		yy4840.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

	yyv4841 := *v
	yyh4841, yyl4841 := z.DecSliceHelperStart()
	var yyc4841 bool
	if yyl4841 == 0 {
		if yyv4841 == nil {
			yyv4841 = []Namespace{}
			yyc4841 = true
		} else if len(yyv4841) != 0 {
			yyv4841 = yyv4841[:0]
			yyc4841 = true
		}
	} else if yyl4841 > 0 {
		var yyrr4841, yyrl4841 int
		var yyrt4841 bool
		if yyl4841 > cap(yyv4841) {

			yyrg4841 := len(yyv4841) > 0
			yyv24841 := yyv4841
			yyrl4841, yyrt4841 = z.DecInferLen(yyl4841, z.DecBasicHandle().MaxInitLen, 296)
			if yyrt4841 {
				if yyrl4841 <= cap(yyv4841) {
					yyv4841 = yyv4841[:yyrl4841]
				} else {
					yyv4841 = make([]Namespace, yyrl4841)
				}
			} else {
				yyv4841 = make([]Namespace, yyrl4841)
			}
			yyc4841 = true
			yyrr4841 = len(yyv4841)
			if yyrg4841 {
				copy(yyv4841, yyv24841)
			}
		} else if yyl4841 != len(yyv4841) {
			yyv4841 = yyv4841[:yyl4841]
			yyc4841 = true
		}
		yyj4841 := 0
		for ; yyj4841 < yyrr4841; yyj4841++ {
			yyh4841.ElemContainerState(yyj4841)
			if r.TryDecodeAsNil() {
				yyv4841[yyj4841] = Namespace{}
			} else {
				yyv4842 := &yyv4841[yyj4841]
				yyv4842.CodecDecodeSelf(d)
			}

		}
		if yyrt4841 {
			for ; yyj4841 < yyl4841; yyj4841++ {
				yyv4841 = append(yyv4841, Namespace{})
				yyh4841.ElemContainerState(yyj4841)
				if r.TryDecodeAsNil() {
					yyv4841[yyj4841] = Namespace{}
				} else {
					yyv4843 := &yyv4841[yyj4841]
					yyv4843.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4841 >= len(yyv4841) {
				yyv4841 = append(yyv4841, Namespace{}) // var yyz4841 Namespace
				yyc4841 = true
			}
			yyh4841.ElemContainerState(yyj4841)
			if yyj4841 < len(yyv4841) {
				if r.TryDecodeAsNil() {
					yyv4841[yyj4841] = Namespace{}
				} else {
					yyv4844 := &yyv4841[yyj4841]
					yyv4844.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4841 < len(yyv4841) {
			yyv4841 = yyv4841[:yyj4841]
			yyc4841 = true
		} else if yyj4841 == 0 && yyv4841 == nil {
			yyv4841 = []Namespace{}
			yyc4841 = true
		}
	}
	yyh4841.End()
	if yyc4841 {
		*v = yyv4841
	}
}

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 _, yyv4845 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4846 := &yyv4845
		yy4846.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

	yyv4847 := *v
	yyh4847, yyl4847 := z.DecSliceHelperStart()
	var yyc4847 bool
	if yyl4847 == 0 {
		if yyv4847 == nil {
			yyv4847 = []Event{}
			yyc4847 = true
		} else if len(yyv4847) != 0 {
			yyv4847 = yyv4847[:0]
			yyc4847 = true
		}
	} else if yyl4847 > 0 {
		var yyrr4847, yyrl4847 int
		var yyrt4847 bool
		if yyl4847 > cap(yyv4847) {

			yyrg4847 := len(yyv4847) > 0
			yyv24847 := yyv4847
			yyrl4847, yyrt4847 = z.DecInferLen(yyl4847, z.DecBasicHandle().MaxInitLen, 504)
			if yyrt4847 {
				if yyrl4847 <= cap(yyv4847) {
					yyv4847 = yyv4847[:yyrl4847]
				} else {
					yyv4847 = make([]Event, yyrl4847)
				}
			} else {
				yyv4847 = make([]Event, yyrl4847)
			}
			yyc4847 = true
			yyrr4847 = len(yyv4847)
			if yyrg4847 {
				copy(yyv4847, yyv24847)
			}
		} else if yyl4847 != len(yyv4847) {
			yyv4847 = yyv4847[:yyl4847]
			yyc4847 = true
		}
		yyj4847 := 0
		for ; yyj4847 < yyrr4847; yyj4847++ {
			yyh4847.ElemContainerState(yyj4847)
			if r.TryDecodeAsNil() {
				yyv4847[yyj4847] = Event{}
			} else {
				yyv4848 := &yyv4847[yyj4847]
				yyv4848.CodecDecodeSelf(d)
			}

		}
		if yyrt4847 {
			for ; yyj4847 < yyl4847; yyj4847++ {
				yyv4847 = append(yyv4847, Event{})
				yyh4847.ElemContainerState(yyj4847)
				if r.TryDecodeAsNil() {
					yyv4847[yyj4847] = Event{}
				} else {
					yyv4849 := &yyv4847[yyj4847]
					yyv4849.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4847 >= len(yyv4847) {
				yyv4847 = append(yyv4847, Event{}) // var yyz4847 Event
				yyc4847 = true
			}
			yyh4847.ElemContainerState(yyj4847)
			if yyj4847 < len(yyv4847) {
				if r.TryDecodeAsNil() {
					yyv4847[yyj4847] = Event{}
				} else {
					yyv4850 := &yyv4847[yyj4847]
					yyv4850.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4847 < len(yyv4847) {
			yyv4847 = yyv4847[:yyj4847]
			yyc4847 = true
		} else if yyj4847 == 0 && yyv4847 == nil {
			yyv4847 = []Event{}
			yyc4847 = true
		}
	}
	yyh4847.End()
	if yyc4847 {
		*v = yyv4847
	}
}

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 _, yyv4851 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		if yyv4851 == nil {
			r.EncodeNil()
		} else {
			yym4852 := z.EncBinary()
			_ = yym4852
			if false {
			} else if z.HasExtensions() && z.EncExt(yyv4851) {
			} else {
				z.EncFallback(yyv4851)
			}
		}
	}
	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

	yyv4853 := *v
	yyh4853, yyl4853 := z.DecSliceHelperStart()
	var yyc4853 bool
	if yyl4853 == 0 {
		if yyv4853 == nil {
			yyv4853 = []pkg7_runtime.Object{}
			yyc4853 = true
		} else if len(yyv4853) != 0 {
			yyv4853 = yyv4853[:0]
			yyc4853 = true
		}
	} else if yyl4853 > 0 {
		var yyrr4853, yyrl4853 int
		var yyrt4853 bool
		if yyl4853 > cap(yyv4853) {

			yyrg4853 := len(yyv4853) > 0
			yyv24853 := yyv4853
			yyrl4853, yyrt4853 = z.DecInferLen(yyl4853, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt4853 {
				if yyrl4853 <= cap(yyv4853) {
					yyv4853 = yyv4853[:yyrl4853]
				} else {
					yyv4853 = make([]pkg7_runtime.Object, yyrl4853)
				}
			} else {
				yyv4853 = make([]pkg7_runtime.Object, yyrl4853)
			}
			yyc4853 = true
			yyrr4853 = len(yyv4853)
			if yyrg4853 {
				copy(yyv4853, yyv24853)
			}
		} else if yyl4853 != len(yyv4853) {
			yyv4853 = yyv4853[:yyl4853]
			yyc4853 = true
		}
		yyj4853 := 0
		for ; yyj4853 < yyrr4853; yyj4853++ {
			yyh4853.ElemContainerState(yyj4853)
			if r.TryDecodeAsNil() {
				yyv4853[yyj4853] = nil
			} else {
				yyv4854 := &yyv4853[yyj4853]
				yym4855 := z.DecBinary()
				_ = yym4855
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4854) {
				} else {
					z.DecFallback(yyv4854, true)
				}
			}

		}
		if yyrt4853 {
			for ; yyj4853 < yyl4853; yyj4853++ {
				yyv4853 = append(yyv4853, nil)
				yyh4853.ElemContainerState(yyj4853)
				if r.TryDecodeAsNil() {
					yyv4853[yyj4853] = nil
				} else {
					yyv4856 := &yyv4853[yyj4853]
					yym4857 := z.DecBinary()
					_ = yym4857
					if false {
					} else if z.HasExtensions() && z.DecExt(yyv4856) {
					} else {
						z.DecFallback(yyv4856, true)
					}
				}

			}
		}

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

			if yyj4853 >= len(yyv4853) {
				yyv4853 = append(yyv4853, nil) // var yyz4853 pkg7_runtime.Object
				yyc4853 = true
			}
			yyh4853.ElemContainerState(yyj4853)
			if yyj4853 < len(yyv4853) {
				if r.TryDecodeAsNil() {
					yyv4853[yyj4853] = nil
				} else {
					yyv4858 := &yyv4853[yyj4853]
					yym4859 := z.DecBinary()
					_ = yym4859
					if false {
					} else if z.HasExtensions() && z.DecExt(yyv4858) {
					} else {
						z.DecFallback(yyv4858, true)
					}
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4853 < len(yyv4853) {
			yyv4853 = yyv4853[:yyj4853]
			yyc4853 = true
		} else if yyj4853 == 0 && yyv4853 == nil {
			yyv4853 = []pkg7_runtime.Object{}
			yyc4853 = true
		}
	}
	yyh4853.End()
	if yyc4853 {
		*v = yyv4853
	}
}

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 _, yyv4860 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4861 := &yyv4860
		yy4861.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

	yyv4862 := *v
	yyh4862, yyl4862 := z.DecSliceHelperStart()
	var yyc4862 bool
	if yyl4862 == 0 {
		if yyv4862 == nil {
			yyv4862 = []LimitRangeItem{}
			yyc4862 = true
		} else if len(yyv4862) != 0 {
			yyv4862 = yyv4862[:0]
			yyc4862 = true
		}
	} else if yyl4862 > 0 {
		var yyrr4862, yyrl4862 int
		var yyrt4862 bool
		if yyl4862 > cap(yyv4862) {

			yyrg4862 := len(yyv4862) > 0
			yyv24862 := yyv4862
			yyrl4862, yyrt4862 = z.DecInferLen(yyl4862, z.DecBasicHandle().MaxInitLen, 56)
			if yyrt4862 {
				if yyrl4862 <= cap(yyv4862) {
					yyv4862 = yyv4862[:yyrl4862]
				} else {
					yyv4862 = make([]LimitRangeItem, yyrl4862)
				}
			} else {
				yyv4862 = make([]LimitRangeItem, yyrl4862)
			}
			yyc4862 = true
			yyrr4862 = len(yyv4862)
			if yyrg4862 {
				copy(yyv4862, yyv24862)
			}
		} else if yyl4862 != len(yyv4862) {
			yyv4862 = yyv4862[:yyl4862]
			yyc4862 = true
		}
		yyj4862 := 0
		for ; yyj4862 < yyrr4862; yyj4862++ {
			yyh4862.ElemContainerState(yyj4862)
			if r.TryDecodeAsNil() {
				yyv4862[yyj4862] = LimitRangeItem{}
			} else {
				yyv4863 := &yyv4862[yyj4862]
				yyv4863.CodecDecodeSelf(d)
			}

		}
		if yyrt4862 {
			for ; yyj4862 < yyl4862; yyj4862++ {
				yyv4862 = append(yyv4862, LimitRangeItem{})
				yyh4862.ElemContainerState(yyj4862)
				if r.TryDecodeAsNil() {
					yyv4862[yyj4862] = LimitRangeItem{}
				} else {
					yyv4864 := &yyv4862[yyj4862]
					yyv4864.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4862 >= len(yyv4862) {
				yyv4862 = append(yyv4862, LimitRangeItem{}) // var yyz4862 LimitRangeItem
				yyc4862 = true
			}
			yyh4862.ElemContainerState(yyj4862)
			if yyj4862 < len(yyv4862) {
				if r.TryDecodeAsNil() {
					yyv4862[yyj4862] = LimitRangeItem{}
				} else {
					yyv4865 := &yyv4862[yyj4862]
					yyv4865.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4862 < len(yyv4862) {
			yyv4862 = yyv4862[:yyj4862]
			yyc4862 = true
		} else if yyj4862 == 0 && yyv4862 == nil {
			yyv4862 = []LimitRangeItem{}
			yyc4862 = true
		}
	}
	yyh4862.End()
	if yyc4862 {
		*v = yyv4862
	}
}

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 _, yyv4866 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4867 := &yyv4866
		yy4867.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

	yyv4868 := *v
	yyh4868, yyl4868 := z.DecSliceHelperStart()
	var yyc4868 bool
	if yyl4868 == 0 {
		if yyv4868 == nil {
			yyv4868 = []LimitRange{}
			yyc4868 = true
		} else if len(yyv4868) != 0 {
			yyv4868 = yyv4868[:0]
			yyc4868 = true
		}
	} else if yyl4868 > 0 {
		var yyrr4868, yyrl4868 int
		var yyrt4868 bool
		if yyl4868 > cap(yyv4868) {

			yyrg4868 := len(yyv4868) > 0
			yyv24868 := yyv4868
			yyrl4868, yyrt4868 = z.DecInferLen(yyl4868, z.DecBasicHandle().MaxInitLen, 280)
			if yyrt4868 {
				if yyrl4868 <= cap(yyv4868) {
					yyv4868 = yyv4868[:yyrl4868]
				} else {
					yyv4868 = make([]LimitRange, yyrl4868)
				}
			} else {
				yyv4868 = make([]LimitRange, yyrl4868)
			}
			yyc4868 = true
			yyrr4868 = len(yyv4868)
			if yyrg4868 {
				copy(yyv4868, yyv24868)
			}
		} else if yyl4868 != len(yyv4868) {
			yyv4868 = yyv4868[:yyl4868]
			yyc4868 = true
		}
		yyj4868 := 0
		for ; yyj4868 < yyrr4868; yyj4868++ {
			yyh4868.ElemContainerState(yyj4868)
			if r.TryDecodeAsNil() {
				yyv4868[yyj4868] = LimitRange{}
			} else {
				yyv4869 := &yyv4868[yyj4868]
				yyv4869.CodecDecodeSelf(d)
			}

		}
		if yyrt4868 {
			for ; yyj4868 < yyl4868; yyj4868++ {
				yyv4868 = append(yyv4868, LimitRange{})
				yyh4868.ElemContainerState(yyj4868)
				if r.TryDecodeAsNil() {
					yyv4868[yyj4868] = LimitRange{}
				} else {
					yyv4870 := &yyv4868[yyj4868]
					yyv4870.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4868 >= len(yyv4868) {
				yyv4868 = append(yyv4868, LimitRange{}) // var yyz4868 LimitRange
				yyc4868 = true
			}
			yyh4868.ElemContainerState(yyj4868)
			if yyj4868 < len(yyv4868) {
				if r.TryDecodeAsNil() {
					yyv4868[yyj4868] = LimitRange{}
				} else {
					yyv4871 := &yyv4868[yyj4868]
					yyv4871.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4868 < len(yyv4868) {
			yyv4868 = yyv4868[:yyj4868]
			yyc4868 = true
		} else if yyj4868 == 0 && yyv4868 == nil {
			yyv4868 = []LimitRange{}
			yyc4868 = true
		}
	}
	yyh4868.End()
	if yyc4868 {
		*v = yyv4868
	}
}

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 _, yyv4872 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yyv4872.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

	yyv4873 := *v
	yyh4873, yyl4873 := z.DecSliceHelperStart()
	var yyc4873 bool
	if yyl4873 == 0 {
		if yyv4873 == nil {
			yyv4873 = []ResourceQuotaScope{}
			yyc4873 = true
		} else if len(yyv4873) != 0 {
			yyv4873 = yyv4873[:0]
			yyc4873 = true
		}
	} else if yyl4873 > 0 {
		var yyrr4873, yyrl4873 int
		var yyrt4873 bool
		if yyl4873 > cap(yyv4873) {

			yyrl4873, yyrt4873 = z.DecInferLen(yyl4873, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt4873 {
				if yyrl4873 <= cap(yyv4873) {
					yyv4873 = yyv4873[:yyrl4873]
				} else {
					yyv4873 = make([]ResourceQuotaScope, yyrl4873)
				}
			} else {
				yyv4873 = make([]ResourceQuotaScope, yyrl4873)
			}
			yyc4873 = true
			yyrr4873 = len(yyv4873)
		} else if yyl4873 != len(yyv4873) {
			yyv4873 = yyv4873[:yyl4873]
			yyc4873 = true
		}
		yyj4873 := 0
		for ; yyj4873 < yyrr4873; yyj4873++ {
			yyh4873.ElemContainerState(yyj4873)
			if r.TryDecodeAsNil() {
				yyv4873[yyj4873] = ""
			} else {
				yyv4873[yyj4873] = ResourceQuotaScope(r.DecodeString())
			}

		}
		if yyrt4873 {
			for ; yyj4873 < yyl4873; yyj4873++ {
				yyv4873 = append(yyv4873, "")
				yyh4873.ElemContainerState(yyj4873)
				if r.TryDecodeAsNil() {
					yyv4873[yyj4873] = ""
				} else {
					yyv4873[yyj4873] = ResourceQuotaScope(r.DecodeString())
				}

			}
		}

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

			if yyj4873 >= len(yyv4873) {
				yyv4873 = append(yyv4873, "") // var yyz4873 ResourceQuotaScope
				yyc4873 = true
			}
			yyh4873.ElemContainerState(yyj4873)
			if yyj4873 < len(yyv4873) {
				if r.TryDecodeAsNil() {
					yyv4873[yyj4873] = ""
				} else {
					yyv4873[yyj4873] = ResourceQuotaScope(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4873 < len(yyv4873) {
			yyv4873 = yyv4873[:yyj4873]
			yyc4873 = true
		} else if yyj4873 == 0 && yyv4873 == nil {
			yyv4873 = []ResourceQuotaScope{}
			yyc4873 = true
		}
	}
	yyh4873.End()
	if yyc4873 {
		*v = yyv4873
	}
}

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 _, yyv4877 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4878 := &yyv4877
		yy4878.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

	yyv4879 := *v
	yyh4879, yyl4879 := z.DecSliceHelperStart()
	var yyc4879 bool
	if yyl4879 == 0 {
		if yyv4879 == nil {
			yyv4879 = []ResourceQuota{}
			yyc4879 = true
		} else if len(yyv4879) != 0 {
			yyv4879 = yyv4879[:0]
			yyc4879 = true
		}
	} else if yyl4879 > 0 {
		var yyrr4879, yyrl4879 int
		var yyrt4879 bool
		if yyl4879 > cap(yyv4879) {

			yyrg4879 := len(yyv4879) > 0
			yyv24879 := yyv4879
			yyrl4879, yyrt4879 = z.DecInferLen(yyl4879, z.DecBasicHandle().MaxInitLen, 304)
			if yyrt4879 {
				if yyrl4879 <= cap(yyv4879) {
					yyv4879 = yyv4879[:yyrl4879]
				} else {
					yyv4879 = make([]ResourceQuota, yyrl4879)
				}
			} else {
				yyv4879 = make([]ResourceQuota, yyrl4879)
			}
			yyc4879 = true
			yyrr4879 = len(yyv4879)
			if yyrg4879 {
				copy(yyv4879, yyv24879)
			}
		} else if yyl4879 != len(yyv4879) {
			yyv4879 = yyv4879[:yyl4879]
			yyc4879 = true
		}
		yyj4879 := 0
		for ; yyj4879 < yyrr4879; yyj4879++ {
			yyh4879.ElemContainerState(yyj4879)
			if r.TryDecodeAsNil() {
				yyv4879[yyj4879] = ResourceQuota{}
			} else {
				yyv4880 := &yyv4879[yyj4879]
				yyv4880.CodecDecodeSelf(d)
			}

		}
		if yyrt4879 {
			for ; yyj4879 < yyl4879; yyj4879++ {
				yyv4879 = append(yyv4879, ResourceQuota{})
				yyh4879.ElemContainerState(yyj4879)
				if r.TryDecodeAsNil() {
					yyv4879[yyj4879] = ResourceQuota{}
				} else {
					yyv4881 := &yyv4879[yyj4879]
					yyv4881.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4879 >= len(yyv4879) {
				yyv4879 = append(yyv4879, ResourceQuota{}) // var yyz4879 ResourceQuota
				yyc4879 = true
			}
			yyh4879.ElemContainerState(yyj4879)
			if yyj4879 < len(yyv4879) {
				if r.TryDecodeAsNil() {
					yyv4879[yyj4879] = ResourceQuota{}
				} else {
					yyv4882 := &yyv4879[yyj4879]
					yyv4882.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4879 < len(yyv4879) {
			yyv4879 = yyv4879[:yyj4879]
			yyc4879 = true
		} else if yyj4879 == 0 && yyv4879 == nil {
			yyv4879 = []ResourceQuota{}
			yyc4879 = true
		}
	}
	yyh4879.End()
	if yyc4879 {
		*v = yyv4879
	}
}

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 yyk4883, yyv4883 := range v {
		z.EncSendContainerState(codecSelfer_containerMapKey1234)
		yym4884 := z.EncBinary()
		_ = yym4884
		if false {
		} else {
			r.EncodeString(codecSelferC_UTF81234, string(yyk4883))
		}
		z.EncSendContainerState(codecSelfer_containerMapValue1234)
		if yyv4883 == nil {
			r.EncodeNil()
		} else {
			yym4885 := z.EncBinary()
			_ = yym4885
			if false {
			} else {
				r.EncodeStringBytes(codecSelferC_RAW1234, []byte(yyv4883))
			}
		}
	}
	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

	yyv4886 := *v
	yyl4886 := r.ReadMapStart()
	yybh4886 := z.DecBasicHandle()
	if yyv4886 == nil {
		yyrl4886, _ := z.DecInferLen(yyl4886, yybh4886.MaxInitLen, 40)
		yyv4886 = make(map[string][]uint8, yyrl4886)
		*v = yyv4886
	}
	var yymk4886 string
	var yymv4886 []uint8
	var yymg4886 bool
	if yybh4886.MapValueReset {
		yymg4886 = true
	}
	if yyl4886 > 0 {
		for yyj4886 := 0; yyj4886 < yyl4886; yyj4886++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1234)
			if r.TryDecodeAsNil() {
				yymk4886 = ""
			} else {
				yymk4886 = string(r.DecodeString())
			}

			if yymg4886 {
				yymv4886 = yyv4886[yymk4886]
			} else {
				yymv4886 = nil
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1234)
			if r.TryDecodeAsNil() {
				yymv4886 = nil
			} else {
				yyv4888 := &yymv4886
				yym4889 := z.DecBinary()
				_ = yym4889
				if false {
				} else {
					*yyv4888 = r.DecodeBytes(*(*[]byte)(yyv4888), false, false)
				}
			}

			if yyv4886 != nil {
				yyv4886[yymk4886] = yymv4886
			}
		}
	} else if yyl4886 < 0 {
		for yyj4886 := 0; !r.CheckBreak(); yyj4886++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1234)
			if r.TryDecodeAsNil() {
				yymk4886 = ""
			} else {
				yymk4886 = string(r.DecodeString())
			}

			if yymg4886 {
				yymv4886 = yyv4886[yymk4886]
			} else {
				yymv4886 = nil
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1234)
			if r.TryDecodeAsNil() {
				yymv4886 = nil
			} else {
				yyv4891 := &yymv4886
				yym4892 := z.DecBinary()
				_ = yym4892
				if false {
				} else {
					*yyv4891 = r.DecodeBytes(*(*[]byte)(yyv4891), false, false)
				}
			}

			if yyv4886 != nil {
				yyv4886[yymk4886] = yymv4886
			}
		}
	} // 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 _, yyv4893 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4894 := &yyv4893
		yy4894.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

	yyv4895 := *v
	yyh4895, yyl4895 := z.DecSliceHelperStart()
	var yyc4895 bool
	if yyl4895 == 0 {
		if yyv4895 == nil {
			yyv4895 = []Secret{}
			yyc4895 = true
		} else if len(yyv4895) != 0 {
			yyv4895 = yyv4895[:0]
			yyc4895 = true
		}
	} else if yyl4895 > 0 {
		var yyrr4895, yyrl4895 int
		var yyrt4895 bool
		if yyl4895 > cap(yyv4895) {

			yyrg4895 := len(yyv4895) > 0
			yyv24895 := yyv4895
			yyrl4895, yyrt4895 = z.DecInferLen(yyl4895, z.DecBasicHandle().MaxInitLen, 280)
			if yyrt4895 {
				if yyrl4895 <= cap(yyv4895) {
					yyv4895 = yyv4895[:yyrl4895]
				} else {
					yyv4895 = make([]Secret, yyrl4895)
				}
			} else {
				yyv4895 = make([]Secret, yyrl4895)
			}
			yyc4895 = true
			yyrr4895 = len(yyv4895)
			if yyrg4895 {
				copy(yyv4895, yyv24895)
			}
		} else if yyl4895 != len(yyv4895) {
			yyv4895 = yyv4895[:yyl4895]
			yyc4895 = true
		}
		yyj4895 := 0
		for ; yyj4895 < yyrr4895; yyj4895++ {
			yyh4895.ElemContainerState(yyj4895)
			if r.TryDecodeAsNil() {
				yyv4895[yyj4895] = Secret{}
			} else {
				yyv4896 := &yyv4895[yyj4895]
				yyv4896.CodecDecodeSelf(d)
			}

		}
		if yyrt4895 {
			for ; yyj4895 < yyl4895; yyj4895++ {
				yyv4895 = append(yyv4895, Secret{})
				yyh4895.ElemContainerState(yyj4895)
				if r.TryDecodeAsNil() {
					yyv4895[yyj4895] = Secret{}
				} else {
					yyv4897 := &yyv4895[yyj4895]
					yyv4897.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4895 >= len(yyv4895) {
				yyv4895 = append(yyv4895, Secret{}) // var yyz4895 Secret
				yyc4895 = true
			}
			yyh4895.ElemContainerState(yyj4895)
			if yyj4895 < len(yyv4895) {
				if r.TryDecodeAsNil() {
					yyv4895[yyj4895] = Secret{}
				} else {
					yyv4898 := &yyv4895[yyj4895]
					yyv4898.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4895 < len(yyv4895) {
			yyv4895 = yyv4895[:yyj4895]
			yyc4895 = true
		} else if yyj4895 == 0 && yyv4895 == nil {
			yyv4895 = []Secret{}
			yyc4895 = true
		}
	}
	yyh4895.End()
	if yyc4895 {
		*v = yyv4895
	}
}

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 _, yyv4899 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4900 := &yyv4899
		yy4900.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

	yyv4901 := *v
	yyh4901, yyl4901 := z.DecSliceHelperStart()
	var yyc4901 bool
	if yyl4901 == 0 {
		if yyv4901 == nil {
			yyv4901 = []ConfigMap{}
			yyc4901 = true
		} else if len(yyv4901) != 0 {
			yyv4901 = yyv4901[:0]
			yyc4901 = true
		}
	} else if yyl4901 > 0 {
		var yyrr4901, yyrl4901 int
		var yyrt4901 bool
		if yyl4901 > cap(yyv4901) {

			yyrg4901 := len(yyv4901) > 0
			yyv24901 := yyv4901
			yyrl4901, yyrt4901 = z.DecInferLen(yyl4901, z.DecBasicHandle().MaxInitLen, 264)
			if yyrt4901 {
				if yyrl4901 <= cap(yyv4901) {
					yyv4901 = yyv4901[:yyrl4901]
				} else {
					yyv4901 = make([]ConfigMap, yyrl4901)
				}
			} else {
				yyv4901 = make([]ConfigMap, yyrl4901)
			}
			yyc4901 = true
			yyrr4901 = len(yyv4901)
			if yyrg4901 {
				copy(yyv4901, yyv24901)
			}
		} else if yyl4901 != len(yyv4901) {
			yyv4901 = yyv4901[:yyl4901]
			yyc4901 = true
		}
		yyj4901 := 0
		for ; yyj4901 < yyrr4901; yyj4901++ {
			yyh4901.ElemContainerState(yyj4901)
			if r.TryDecodeAsNil() {
				yyv4901[yyj4901] = ConfigMap{}
			} else {
				yyv4902 := &yyv4901[yyj4901]
				yyv4902.CodecDecodeSelf(d)
			}

		}
		if yyrt4901 {
			for ; yyj4901 < yyl4901; yyj4901++ {
				yyv4901 = append(yyv4901, ConfigMap{})
				yyh4901.ElemContainerState(yyj4901)
				if r.TryDecodeAsNil() {
					yyv4901[yyj4901] = ConfigMap{}
				} else {
					yyv4903 := &yyv4901[yyj4901]
					yyv4903.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4901 >= len(yyv4901) {
				yyv4901 = append(yyv4901, ConfigMap{}) // var yyz4901 ConfigMap
				yyc4901 = true
			}
			yyh4901.ElemContainerState(yyj4901)
			if yyj4901 < len(yyv4901) {
				if r.TryDecodeAsNil() {
					yyv4901[yyj4901] = ConfigMap{}
				} else {
					yyv4904 := &yyv4901[yyj4901]
					yyv4904.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4901 < len(yyv4901) {
			yyv4901 = yyv4901[:yyj4901]
			yyc4901 = true
		} else if yyj4901 == 0 && yyv4901 == nil {
			yyv4901 = []ConfigMap{}
			yyc4901 = true
		}
	}
	yyh4901.End()
	if yyc4901 {
		*v = yyv4901
	}
}

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 _, yyv4905 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4906 := &yyv4905
		yy4906.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

	yyv4907 := *v
	yyh4907, yyl4907 := z.DecSliceHelperStart()
	var yyc4907 bool
	if yyl4907 == 0 {
		if yyv4907 == nil {
			yyv4907 = []ComponentCondition{}
			yyc4907 = true
		} else if len(yyv4907) != 0 {
			yyv4907 = yyv4907[:0]
			yyc4907 = true
		}
	} else if yyl4907 > 0 {
		var yyrr4907, yyrl4907 int
		var yyrt4907 bool
		if yyl4907 > cap(yyv4907) {

			yyrg4907 := len(yyv4907) > 0
			yyv24907 := yyv4907
			yyrl4907, yyrt4907 = z.DecInferLen(yyl4907, z.DecBasicHandle().MaxInitLen, 64)
			if yyrt4907 {
				if yyrl4907 <= cap(yyv4907) {
					yyv4907 = yyv4907[:yyrl4907]
				} else {
					yyv4907 = make([]ComponentCondition, yyrl4907)
				}
			} else {
				yyv4907 = make([]ComponentCondition, yyrl4907)
			}
			yyc4907 = true
			yyrr4907 = len(yyv4907)
			if yyrg4907 {
				copy(yyv4907, yyv24907)
			}
		} else if yyl4907 != len(yyv4907) {
			yyv4907 = yyv4907[:yyl4907]
			yyc4907 = true
		}
		yyj4907 := 0
		for ; yyj4907 < yyrr4907; yyj4907++ {
			yyh4907.ElemContainerState(yyj4907)
			if r.TryDecodeAsNil() {
				yyv4907[yyj4907] = ComponentCondition{}
			} else {
				yyv4908 := &yyv4907[yyj4907]
				yyv4908.CodecDecodeSelf(d)
			}

		}
		if yyrt4907 {
			for ; yyj4907 < yyl4907; yyj4907++ {
				yyv4907 = append(yyv4907, ComponentCondition{})
				yyh4907.ElemContainerState(yyj4907)
				if r.TryDecodeAsNil() {
					yyv4907[yyj4907] = ComponentCondition{}
				} else {
					yyv4909 := &yyv4907[yyj4907]
					yyv4909.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4907 >= len(yyv4907) {
				yyv4907 = append(yyv4907, ComponentCondition{}) // var yyz4907 ComponentCondition
				yyc4907 = true
			}
			yyh4907.ElemContainerState(yyj4907)
			if yyj4907 < len(yyv4907) {
				if r.TryDecodeAsNil() {
					yyv4907[yyj4907] = ComponentCondition{}
				} else {
					yyv4910 := &yyv4907[yyj4907]
					yyv4910.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4907 < len(yyv4907) {
			yyv4907 = yyv4907[:yyj4907]
			yyc4907 = true
		} else if yyj4907 == 0 && yyv4907 == nil {
			yyv4907 = []ComponentCondition{}
			yyc4907 = true
		}
	}
	yyh4907.End()
	if yyc4907 {
		*v = yyv4907
	}
}

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 _, yyv4911 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4912 := &yyv4911
		yy4912.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

	yyv4913 := *v
	yyh4913, yyl4913 := z.DecSliceHelperStart()
	var yyc4913 bool
	if yyl4913 == 0 {
		if yyv4913 == nil {
			yyv4913 = []ComponentStatus{}
			yyc4913 = true
		} else if len(yyv4913) != 0 {
			yyv4913 = yyv4913[:0]
			yyc4913 = true
		}
	} else if yyl4913 > 0 {
		var yyrr4913, yyrl4913 int
		var yyrt4913 bool
		if yyl4913 > cap(yyv4913) {

			yyrg4913 := len(yyv4913) > 0
			yyv24913 := yyv4913
			yyrl4913, yyrt4913 = z.DecInferLen(yyl4913, z.DecBasicHandle().MaxInitLen, 280)
			if yyrt4913 {
				if yyrl4913 <= cap(yyv4913) {
					yyv4913 = yyv4913[:yyrl4913]
				} else {
					yyv4913 = make([]ComponentStatus, yyrl4913)
				}
			} else {
				yyv4913 = make([]ComponentStatus, yyrl4913)
			}
			yyc4913 = true
			yyrr4913 = len(yyv4913)
			if yyrg4913 {
				copy(yyv4913, yyv24913)
			}
		} else if yyl4913 != len(yyv4913) {
			yyv4913 = yyv4913[:yyl4913]
			yyc4913 = true
		}
		yyj4913 := 0
		for ; yyj4913 < yyrr4913; yyj4913++ {
			yyh4913.ElemContainerState(yyj4913)
			if r.TryDecodeAsNil() {
				yyv4913[yyj4913] = ComponentStatus{}
			} else {
				yyv4914 := &yyv4913[yyj4913]
				yyv4914.CodecDecodeSelf(d)
			}

		}
		if yyrt4913 {
			for ; yyj4913 < yyl4913; yyj4913++ {
				yyv4913 = append(yyv4913, ComponentStatus{})
				yyh4913.ElemContainerState(yyj4913)
				if r.TryDecodeAsNil() {
					yyv4913[yyj4913] = ComponentStatus{}
				} else {
					yyv4915 := &yyv4913[yyj4913]
					yyv4915.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj4913 >= len(yyv4913) {
				yyv4913 = append(yyv4913, ComponentStatus{}) // var yyz4913 ComponentStatus
				yyc4913 = true
			}
			yyh4913.ElemContainerState(yyj4913)
			if yyj4913 < len(yyv4913) {
				if r.TryDecodeAsNil() {
					yyv4913[yyj4913] = ComponentStatus{}
				} else {
					yyv4916 := &yyv4913[yyj4913]
					yyv4916.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4913 < len(yyv4913) {
			yyv4913 = yyv4913[:yyj4913]
			yyc4913 = true
		} else if yyj4913 == 0 && yyv4913 == nil {
			yyv4913 = []ComponentStatus{}
			yyc4913 = true
		}
	}
	yyh4913.End()
	if yyc4913 {
		*v = yyv4913
	}
}
